gdkchan
gdkchan
This implements an HLE macro for the `DrawElementsIndirect` NVN macro, improving performance on games that uses this type of draw. This is mostly extracted from #3306. **Affected games:** Nier Automata:...
Currently, shaders with transform feedback use individual, per-component outputs. That's because each component might potentially have a different, non-sequential offset, and in those cases we might need to specify different...
APIs have a limit on the number of uniform buffers one can use on the shader. On NVIDIA OpenGL that is 14. The Switch GPU supports up to 18, but...
## Feature Request ### What feature are you suggesting? #### Overview: This is a short list of improvements that have been enabled by .NET 6 or .NET 7, with the...
This replaces the use of those two extensions with equivalent functionality that is supported on "base" SPIR-V and does not require any extension. This is more widely supported and required...
Some games will have vertex attributes with a invalid buffer index (the vertex buffer doesn't exist). This is invalid and may cause crashes on both on OpenGL and Vulkan depending...
This changes allows the number of texture operations to be greatly reduced in most shaders that accesses textures. Before we would generate one texture operation per component that is accessed,...
For some reason, OpenGL does not allow SNorm formats to be used with buffer textures (at least on NVIDIA), so this workaround was added where it uses a signed integer...
This implements the non-multisample to multisample copies using draws on Vulkan. This is required because the Apple Silicon GPU does not support image load or store to multisample images. The...
Right now, when the match for storage buffer fails, we generate code to check the current address against the address for all possible 16 storage buffers until we find a...