From b84e24cb8979a46918ffb95ccb57bddde74cf7c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Mon, 19 Dec 2022 10:35:57 +0100 Subject: [PATCH] Invert the nesting of specularIsZero and lmode conditions in VS. --- GPU/Common/VertexShaderGenerator.cpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/GPU/Common/VertexShaderGenerator.cpp b/GPU/Common/VertexShaderGenerator.cpp index ba88dc62ae..2148466644 100644 --- a/GPU/Common/VertexShaderGenerator.cpp +++ b/GPU/Common/VertexShaderGenerator.cpp @@ -1153,22 +1153,18 @@ bool GenerateVertexShader(const VShaderID &id, char *buffer, const ShaderLanguag if (enableLighting) { WRITE(p, " lightSum0 = clamp(lightSum0, 0.0, 1.0);\n"); - // Sum up ambient, emissive here. - if (lmode) { + if (specularIsZero) { WRITE(p, " %sv_color0 = lightSum0;\n", compat.vsOutPrefix); - // v_color1 only exists when lmode = 1. - if (specularIsZero) { - WRITE(p, " %sv_color1 = splat3(0.0);\n", compat.vsOutPrefix); - } else { - WRITE(p, " %sv_color1 = clamp(lightSum1, 0.0, 1.0);\n", compat.vsOutPrefix); - } + WRITE(p, " %sv_color1 = splat3(0.0);\n", compat.vsOutPrefix); } else { - if (specularIsZero) { + if (lmode) { WRITE(p, " %sv_color0 = lightSum0;\n", compat.vsOutPrefix); + // v_color1 only exists when lmode = 1. + WRITE(p, " %sv_color1 = clamp(lightSum1, 0.0, 1.0);\n", compat.vsOutPrefix); } else { WRITE(p, " %sv_color0 = clamp(lightSum0 + vec4(lightSum1, 0.0), 0.0, 1.0);\n", compat.vsOutPrefix); + WRITE(p, " %sv_color1 = splat3(0.0);\n", compat.vsOutPrefix); } - WRITE(p, " %sv_color1 = splat3(0.0);\n", compat.vsOutPrefix); } } else { // Lighting doesn't affect color.