Merge remote branch 'origin/master' into gallium_draw_llvm
[mesa.git] / src / mesa / drivers / dri / nouveau / nv10_state_tnl.c
index 6db14d83b83f7ff6bb79a3cfe19c15e80f061150..406e24c455d3d73bb658b072080cb046af26d774 100644 (file)
@@ -201,8 +201,10 @@ nv10_emit_light_model(GLcontext *ctx, int emit)
        BEGIN_RING(chan, celsius, NV10TCL_LIGHT_MODEL, 1);
        OUT_RING(chan, ((m->LocalViewer ?
                         NV10TCL_LIGHT_MODEL_LOCAL_VIEWER : 0) |
-                       (m->ColorControl == GL_SEPARATE_SPECULAR_COLOR ?
-                        NV10TCL_LIGHT_MODEL_SEPARATE_SPECULAR : 0)));
+                       (NEED_SECONDARY_COLOR(ctx) ?
+                        NV10TCL_LIGHT_MODEL_SEPARATE_SPECULAR : 0) |
+                       (!ctx->Light.Enabled && ctx->Fog.ColorSumEnabled ?
+                        NV10TCL_LIGHT_MODEL_VERTEX_SPECULAR : 0)));
 }
 
 static float