summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/UberShaderPixel.cpp
diff options
context:
space:
mode:
authoriwubcode <iwubcode@users.noreply.github.com>2022-05-19 21:37:34 -0500
committeriwubcode <iwubcode@users.noreply.github.com>2022-06-24 18:09:53 -0500
commit993fa3bf945b0effdf8d3ae841d1adb4b147ef1e (patch)
treeaa4a8aeea30eb975a1bc30479b8f4b96c7b8e9b7 /Source/Core/VideoCommon/UberShaderPixel.cpp
parent5dd2704416385946fbdd80b38c01b0f9d7735648 (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.cpp10
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");
}
}