| Age | Commit message (Collapse) | Author |
|
Converts lingering panic alert calls over to the fmt-capable ones.
|
|
Migrates the vulkan backend over to the fmt-capable logger.
|
|
|
|
VK_LAYER_LUNARG_standard_validation is deprecated.
|
|
It's broken and causes spectacular artifacts and crashes.
|
|
Since we are calling this off the UI thread, we can't use anything which
accesses the underlying NSView object. We create and set the Metal layer
on the UI thread before the video backend is initialized. This extension
is both compatible with MoltenVK and gfx-portability for accepting a
layer at surface creation.
|
|
Previously the logging was a in a little bit of a disarray. Some things
were in namespaces, and other things were not.
Given this code will feature a bit of restructuring during the
transition over to fmt, this is a good time to unify it under a single
namespace and also remove functions and types from the global namespace.
Now, all functions and types are under the Common::Log namespace. The
only outliers being, of course, the preprocessor macros.
|
|
|
|
This was missing from the subgroup PR way back.
|
|
|
|
Using the cached memory type appears to be slower on Mali drivers, with
~10-15% CPU spent in the __pi___inval_cache_range kernel function.
|
|
|
|
VideoCommon: Remove unused MathUtil.h include from VideoCommon.h
|
|
Also adds a DriverDetails bug to disable on drivers where this is still
broken.
|
|
This header doesn't actually make use of MathUtil.h within itself, so
this can be removed. Many other source files used VideoCommon.h as an
indirect include to include MathUtil.h, so these includes can also be
adjusted.
While we're at it, we can also migrate valid inclusions of VideoCommon.h
into cpp files where it can feasibly be done to minimize propagating it
via other headers.
|
|
"Cache data" can be used to assist a driver with creating pipelines by
using previously-compiled shader ISA.
|
|
|
|
|
|
D3D11 doesn't support partial copies of depth buffers via
CopySubResource(), so we need to use a different path for the EFB cache.
|
|
|
|
|
|
|
|
The path to the MoltenVK library can be specified by the
LIBMOLTENVK_PATH environment variable, otherwise it assumes it is
located in the application bundle's Contents/MacOS directory.
|
|
It's not providing a large performance improvement anymore, after the
more recent drivers introduced a new shader compiler.
|
|
|
|
Enforces the termination of GENERIC_LOGs with semicolons.
|
|
|
|
Macros should be all upper-cased. This is also kind of a wart that's
been sticking out for quite a while now (we avoid prefixing
underscores).
|
|
This is needed to differentiate between the open-source Mesa drivers and
their binary counterparts for Intel and AMD.
|
|
|
|
It's the inverse of supports-copy-to-vram.
|
|
For some GLES drivers that don't support dual-source blending, but do
support GL_EXT_shader_framebuffer_fetch, this might be useful.
|
|
Field is unused as of Hybrid XFB.
|
|
|
|
|
|
|
|
|
|
Ideally Common.h wouldn't be a header in the Common library, and instead be renamed to something else, like PlatformCompatibility.h or something, but even then, there's still some things in the header that don't really fall under that label
This moves the version strings out to their own version header that doesn't dump a bunch of other unrelated things into scope, like what Common.h was doing.
This also places them into the Common namespace, as opposed to letting them sit in the global namespace.
|
|
Vulkan: Drop VK_NV_glsl extension support
|
|
Before this change, we simply fail if the device does not expose one
queue family that supports both graphics and present. Currently this is
fine, since devices tend to lay out their queues in this way. NV, for
instance, tends to have one queue family for all graphics operations and
one more for transfer only. However, it's not a hard requirement, and it
is cheap to use a separate queue, so we might as well.
|
|
This reverts commit d23fd17e1a2c7c617731d619020af021a7658e93.
Dynamic sampler indexing is broken in VK_NV_glsl as of 385.41. The
performance gap doesn't seem to be as wide with the updated driver, so
to save maintaining two code paths, it's easier to just drop the
extension support completely.
|
|
|
|
|
|
Seems to produce faster ubershaders, at least.
|
|
|
|
This leaves DDS textures using DXT1/3/5 compressed in-memory, which can
be passed directly to the backend.
|
|
The backends don't use this list at all, and since more than one
backend supports post-processing now, it's duplicate code.
|
|
No new features, just parity with OpenGL.
|
|
|
|
|