Browse Source
shader_decompiler: Remove FragCoord.w hack and change IPA implementation
shader_decompiler: Remove FragCoord.w hack and change IPA implementation
Credits go to gdkchan and Ryujinx. The pull request used for this can be found here: https://github.com/Ryujinx/Ryujinx/pull/1082 yuzu was already using the header for interpolation, but it was missing the FragCoord.w multiplication described in the linked pull request. This commit finally removes the FragCoord.w == 1.0f hack from the shader decompiler. While we are at it, this commit renames some enumerations to match Nvidia's documentation (linked below) and fixes component declaration order in the shader program header (z and w were swapped). https://github.com/NVIDIA/open-gpu-doc/blob/master/Shader-Program-Header/Shader-Program-Header.htmlnce_cpp
4 changed files with 74 additions and 68 deletions
-
55src/video_core/engines/shader_header.h
-
34src/video_core/renderer_opengl/gl_shader_decompiler.cpp
-
17src/video_core/renderer_vulkan/vk_shader_decompiler.cpp
-
36src/video_core/shader/decode/other.cpp
Write
Preview
Loading…
Cancel
Save
Reference in new issue