diff --git a/Source/Core/VideoCommon/Src/PixelShaderGen.cpp b/Source/Core/VideoCommon/Src/PixelShaderGen.cpp index afbd5861e9..e4d2bc569f 100644 --- a/Source/Core/VideoCommon/Src/PixelShaderGen.cpp +++ b/Source/Core/VideoCommon/Src/PixelShaderGen.cpp @@ -319,7 +319,8 @@ static inline void GeneratePixelShader(T& out, DSTALPHA_MODE dstAlphaMode, API_T if (xfregs.numTexGen.numTexGens < 7) { for (int i = 0; i < 8; ++i) - out.Write("VARYIN float3 uv%d_2;\n", i); + if(i < xfregs.numTexGen.numTexGens) + out.Write("VARYIN float3 uv%d_2;\n", i); out.Write("VARYIN float4 clipPos_2;\n"); if (g_ActiveConfig.bEnablePixelLighting && g_ActiveConfig.backend_info.bSupportsPixelLighting) { @@ -437,7 +438,8 @@ static inline void GeneratePixelShader(T& out, DSTALPHA_MODE dstAlphaMode, API_T { if(numTexgen) for (int i = 0; i < 8; ++i) - out.Write("float3 uv%d = uv%d_2;\n", i, i); + if(i < xfregs.numTexGen.numTexGens) + out.Write("float3 uv%d = uv%d_2;\n", i, i); out.Write("float4 clipPos = clipPos_2;\n"); if (g_ActiveConfig.bEnablePixelLighting && g_ActiveConfig.backend_info.bSupportsPixelLighting) { diff --git a/Source/Core/VideoCommon/Src/VertexShaderGen.cpp b/Source/Core/VideoCommon/Src/VertexShaderGen.cpp index 336979a09b..f8adbec049 100644 --- a/Source/Core/VideoCommon/Src/VertexShaderGen.cpp +++ b/Source/Core/VideoCommon/Src/VertexShaderGen.cpp @@ -143,7 +143,8 @@ static inline void GenerateVertexShader(T& out, u32 components, API_TYPE api_typ if (xfregs.numTexGen.numTexGens < 7) { for (int i = 0; i < 8; ++i) - out.Write("VARYOUT float3 uv%d_2;\n", i); + if (i < xfregs.numTexGen.numTexGens) + out.Write("VARYOUT float3 uv%d_2;\n", i); out.Write("VARYOUT float4 clipPos_2;\n"); if (g_ActiveConfig.bEnablePixelLighting && g_ActiveConfig.backend_info.bSupportsPixelLighting) out.Write("VARYOUT float4 Normal_2;\n"); @@ -483,12 +484,8 @@ static inline void GenerateVertexShader(T& out, u32 components, API_TYPE api_typ if (xfregs.numTexGen.numTexGens < 7) { for (unsigned int i = 0; i < 8; ++i) - { if(i < xfregs.numTexGen.numTexGens) out.Write(" uv%d_2.xyz = o.tex%d;\n", i, i); - else - out.Write(" uv%d_2.xyz = float3(0.0, 0.0, 0.0);\n", i); - } out.Write(" clipPos_2 = o.clipPos;\n"); if(g_ActiveConfig.bEnablePixelLighting && g_ActiveConfig.backend_info.bSupportsPixelLighting) out.Write(" Normal_2 = o.Normal;\n");