diff options
| author | Pokechu22 <Pokechu022@gmail.com> | 2021-12-26 19:21:15 -0800 |
|---|---|---|
| committer | Pokechu22 <Pokechu022@gmail.com> | 2022-08-29 11:10:05 -0700 |
| commit | 5ef8a7973e7b229de77c63d1d7ec4d8eb97a9041 (patch) | |
| tree | b1f43d765d3d2d41bc68546abd63eef279ef2c71 /Source/Core/VideoCommon/UberShaderPixel.cpp | |
| parent | f21798b9b6680aa79e0a2eec322cba93dde497b2 (diff) | |
BPMemory: Make TevKSel more clear
It stores both the konst selection value for alpha and color channels (for two tev stages per ksel), and half of a swap table row (there are 4 total swap tables, which can be used for swizzling the rasterized color and the texture color, and indices selecting which tables to use are stored per tev stage in the alpha combiner). Since these are indexed very differently, the old code was hard to follow.
Diffstat (limited to 'Source/Core/VideoCommon/UberShaderPixel.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/UberShaderPixel.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/Source/Core/VideoCommon/UberShaderPixel.cpp b/Source/Core/VideoCommon/UberShaderPixel.cpp index 2561e801bc..4db8f40ea4 100644 --- a/Source/Core/VideoCommon/UberShaderPixel.cpp +++ b/Source/Core/VideoCommon/UberShaderPixel.cpp @@ -271,12 +271,12 @@ ShaderCode GenPixelShader(APIType api_type, const ShaderHostConfig& host_config, " // AKA: Color Channel Swapping\n" "\n" " int4 ret;\n"); - out.Write(" ret.r = color[{}];\n", BitfieldExtract<&TevKSel::swap1>("bpmem_tevksel(s * 2u)")); - out.Write(" ret.g = color[{}];\n", BitfieldExtract<&TevKSel::swap2>("bpmem_tevksel(s * 2u)")); + out.Write(" ret.r = color[{}];\n", BitfieldExtract<&TevKSel::swap_rb>("bpmem_tevksel(s * 2u)")); + out.Write(" ret.g = color[{}];\n", BitfieldExtract<&TevKSel::swap_ga>("bpmem_tevksel(s * 2u)")); out.Write(" ret.b = color[{}];\n", - BitfieldExtract<&TevKSel::swap1>("bpmem_tevksel(s * 2u + 1u)")); + BitfieldExtract<&TevKSel::swap_rb>("bpmem_tevksel(s * 2u + 1u)")); out.Write(" ret.a = color[{}];\n", - BitfieldExtract<&TevKSel::swap2>("bpmem_tevksel(s * 2u + 1u)")); + BitfieldExtract<&TevKSel::swap_ga>("bpmem_tevksel(s * 2u + 1u)")); out.Write(" return ret;\n" "}}\n\n"); @@ -1240,12 +1240,12 @@ ShaderCode GenPixelShader(APIType api_type, const ShaderHostConfig& host_config, " uint tevksel = bpmem_tevksel(ss.stage>>1);\n" " if ((ss.stage & 1u) == 0u)\n" " return int4(konstLookup[{}].rgb, konstLookup[{}].a);\n", - BitfieldExtract<&TevKSel::kcsel0>("tevksel"), - BitfieldExtract<&TevKSel::kasel0>("tevksel")); + BitfieldExtract<&TevKSel::kcsel_even>("tevksel"), + BitfieldExtract<&TevKSel::kasel_even>("tevksel")); out.Write(" else\n" " return int4(konstLookup[{}].rgb, konstLookup[{}].a);\n", - BitfieldExtract<&TevKSel::kcsel1>("tevksel"), - BitfieldExtract<&TevKSel::kasel1>("tevksel")); + BitfieldExtract<&TevKSel::kcsel_odd>("tevksel"), + BitfieldExtract<&TevKSel::kasel_odd>("tevksel")); out.Write("}}\n"); return out; |
