- Mar 14, 2020
- Mar 13, 2020
-
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
Use INSERT_UNION_PADDING_WORDS instead of alignas to ensure a size requirement.
-
ReinUsesLisp authored
-
Rodrigo Locatti authored
Co-Authored-By:
Mat M. <mathew1800@gmail.com>
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
We sometimes have to slice attributes in different parts. This is needed for example in instances where the game feedbacks 3 components but writes 4 from the shader (something that is possible with GL_NV_transform_feedback).
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
- Mar 12, 2020
-
-
ReinUsesLisp authored
Some games bind incompatible texture types to certain types. For example Astral Chain binds a 2D texture with 1 layer (non-array) to a cubemap slot (that's how it's used in the shader). After testing this in hardware, the expected "undefined behavior" is to report all pixels as black. We already have a path for reporting black textures in the texture cache. When textures types are incompatible, this commit binds these kind of textures. This is done on the API agnostic texture cache so no extra code has to be inserted on OpenGL or Vulkan. As a side effect, this fixes invalidations of ASTC textures on Astral Chain. This happened because yuzu detected a cube texture and forced 6 faces, generating a texture larger than what the TIC reported.
-
ReinUsesLisp authored
Sometimes games will sample a 2D array TIC with a 2D access in the shader. This causes bad interactions with the rest of the texture cache. To emulate what the game wants to do, force a depth=1 on 2D textures (not 2D arrays) and let the texture cache handle the rest.
-
Fernando Sahmkow authored
-
ReinUsesLisp authored
A previous commit introduced a way to declare as few render targets as possible. Turns out this introduced a regression in some games.
-
- Mar 11, 2020
-
-
Vitor Kiguchi authored
+clang format
-
ReinUsesLisp authored
After a compute shader was set to the pipeline, no graphics shader was invoked again. To address this use glUseProgram to bind compute shaders (without state tracking) and call glUseProgram(0) when transitioning out of it back to the graphics pipeline.
-
- Mar 09, 2020
-
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
RenderDoc won't build shaders if we use GLSL compatibility.
-
ReinUsesLisp authored
This is required for Vulkan. Sampling integer textures with float handles is illegal.
-
ReinUsesLisp authored
-
ReinUsesLisp authored
Registry consistency is something that practically can't happen and it has a measurable runtime cost. Reduce it to a DEBUG_ASSERT.
-
ReinUsesLisp authored
-
ReinUsesLisp authored
Store information GLSL forces us to provide but it's dynamic state in hardware (workgroup sizes, primitive topology, shared memory size).
-
ReinUsesLisp authored
-
ReinUsesLisp authored
Instead of pre-specializing shaders and then post-specializing them, drop the later and only "specialize" the shader while decoding it.
-
- Mar 08, 2020
-
-
ReinUsesLisp authored
Previous code could generate an anisotropy value way higher than x16.
-
FearlessTobi authored
Previously, when performing downmixing, we would discard all channels except the left and right one. This implementation respects them when mixing down to Stereo. It is taken from this document: http://www.atsc.org/wp-content/uploads/2015/03/A52-201212-17.pdf. Fixes Luigis Mansion 3 cutscene and Bayonetta audio.
-
Nguyen Dac Nam authored
This should use Maxwell3D engine. Fixed some GPU error on Kirby and maybe other games.
-
- Mar 06, 2020
-
-
ReinUsesLisp authored
-