mesa: Move seperate_specular into the lighting section.
authorMathias Fröhlich <mathias.froehlich@web.de>
Sat, 27 Jan 2018 19:09:00 +0000 (12:09 -0700)
committerBrian Paul <brianp@vmware.com>
Tue, 30 Jan 2018 16:07:58 +0000 (09:07 -0700)
For the state key for hashing fixed function
vertex shaders, the information is only evaluated
if lighting is generally switched on.

Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/main/ffvertex_prog.c

index 605c501b24fa2ec001b36ead408964f5ea22c05f..e8a5eff6256f6ac13ad91ec270abd63eac99b2eb 100644 (file)
@@ -166,9 +166,6 @@ static void make_state_key( struct gl_context *ctx, struct state_key *key )
       key->fragprog_inputs_read |= (VARYING_BIT_COL0 | VARYING_BIT_TEX0);
    }
 
-   key->separate_specular = (ctx->Light.Model.ColorControl ==
-                            GL_SEPARATE_SPECULAR_COLOR);
-
    if (ctx->Light.Enabled) {
       key->light_global_enabled = 1;
 
@@ -178,6 +175,9 @@ static void make_state_key( struct gl_context *ctx, struct state_key *key )
       if (ctx->Light.Model.TwoSide)
         key->light_twoside = 1;
 
+      if (ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR)
+         key->separate_specular = 1;
+
       if (ctx->Light.ColorMaterialEnabled) {
         key->light_color_material_mask = ctx->Light._ColorMaterialBitmask;
       }