diff options
| author | iwubcode <iwubcode@users.noreply.github.com> | 2022-05-19 21:37:34 -0500 |
|---|---|---|
| committer | iwubcode <iwubcode@users.noreply.github.com> | 2022-06-24 18:09:53 -0500 |
| commit | 993fa3bf945b0effdf8d3ae841d1adb4b147ef1e (patch) | |
| tree | aa4a8aeea30eb975a1bc30479b8f4b96c7b8e9b7 /Source/Core/VideoCommon/UberShaderPixel.cpp | |
| parent | 5dd2704416385946fbdd80b38c01b0f9d7735648 (diff) | |
VideoCommon: update UberShaderPixel to properly support logic ops, matching the specialized shader
Diffstat (limited to 'Source/Core/VideoCommon/UberShaderPixel.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/UberShaderPixel.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Source/Core/VideoCommon/UberShaderPixel.cpp b/Source/Core/VideoCommon/UberShaderPixel.cpp index bfbe1a08f2..eff6bfae44 100644 --- a/Source/Core/VideoCommon/UberShaderPixel.cpp +++ b/Source/Core/VideoCommon/UberShaderPixel.cpp @@ -103,17 +103,19 @@ ShaderCode GenPixelShader(APIType api_type, const ShaderHostConfig& host_config, bool has_broken_decoration = DriverDetails::HasBug(DriverDetails::BUG_BROKEN_FRAGMENT_SHADER_INDEX_DECORATION); - out.Write("{} {} vec4 {};\n", + out.Write("{} {} {} {};\n", has_broken_decoration ? "FRAGMENT_OUTPUT_LOCATION(0)" : "FRAGMENT_OUTPUT_LOCATION_INDEXED(0, 0)", use_framebuffer_fetch ? "FRAGMENT_INOUT" : "out", + uid_data->uint_output ? "uvec4" : "vec4", use_framebuffer_fetch ? "real_ocol0" : "ocol0"); if (use_dual_source) { - out.Write("{} out vec4 ocol1;\n", has_broken_decoration ? - "FRAGMENT_OUTPUT_LOCATION(1)" : - "FRAGMENT_OUTPUT_LOCATION_INDEXED(0, 1)"); + out.Write("{} out {} ocol1;\n", + has_broken_decoration ? "FRAGMENT_OUTPUT_LOCATION(1)" : + "FRAGMENT_OUTPUT_LOCATION_INDEXED(0, 1)", + uid_data->uint_output ? "uvec4" : "vec4"); } } |
