VertexShaderGen: Fix a potential bug where vertex shader uids don't change when

pixel lighting is toggled.

Same as revision f524312fd1 but done properly (why is our shader gen code this dumb?).
This commit is contained in:
NeoBrainX
2013-06-30 14:27:04 +02:00
parent b8b5427ba4
commit c34c82e7ae
2 changed files with 3 additions and 2 deletions

View File

@ -114,6 +114,7 @@ static void GenerateVertexShader(T& out, u32 components, API_TYPE api_type)
uid_data.numTexGens = xfregs.numTexGen.numTexGens;
uid_data.components = components;
uid_data.pixel_lighting = (g_ActiveConfig.bEnablePixelLighting && g_ActiveConfig.backend_info.bSupportsPixelLighting);
if(api_type == API_OPENGL)
{
@ -279,8 +280,7 @@ static void GenerateVertexShader(T& out, u32 components, API_TYPE api_type)
out.Write("o.colors_0 = float4(1.0f, 1.0f, 1.0f, 1.0f);\n");
}
if (!(g_ActiveConfig.bEnablePixelLighting && g_ActiveConfig.backend_info.bSupportsPixelLighting))
GenerateLightingShader<T>(out, uid_data.lighting, components, I_MATERIALS, I_LIGHTS, "color", "o.colors_");
GenerateLightingShader<T>(out, uid_data.lighting, components, I_MATERIALS, I_LIGHTS, "color", "o.colors_");
if (xfregs.numChan.numColorChans < 2)
{