diff options
| -rw-r--r-- | src/mesa/drivers/dri/nouveau/nouveau_state.c | 1 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/nouveau/nv10_state_tnl.c | 6 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/nouveau/nv20_state_tnl.c | 2 | 
3 files changed, 6 insertions, 3 deletions
| diff --git a/src/mesa/drivers/dri/nouveau/nouveau_state.c b/src/mesa/drivers/dri/nouveau/nouveau_state.c index e1871db0eb..bc610451b4 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_state.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_state.c @@ -150,6 +150,7 @@ nouveau_enable(GLcontext *ctx, GLenum cap, GLboolean state)  		break;  	case GL_COLOR_SUM_EXT:  		context_dirty(ctx, FRAG); +		context_dirty(ctx, LIGHT_MODEL);  		break;  	case GL_CULL_FACE:  		context_dirty(ctx, CULL_FACE); diff --git a/src/mesa/drivers/dri/nouveau/nv10_state_tnl.c b/src/mesa/drivers/dri/nouveau/nv10_state_tnl.c index 6db14d83b8..406e24c455 100644 --- a/src/mesa/drivers/dri/nouveau/nv10_state_tnl.c +++ b/src/mesa/drivers/dri/nouveau/nv10_state_tnl.c @@ -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 diff --git a/src/mesa/drivers/dri/nouveau/nv20_state_tnl.c b/src/mesa/drivers/dri/nouveau/nv20_state_tnl.c index 0d566064f6..43f8c72312 100644 --- a/src/mesa/drivers/dri/nouveau/nv20_state_tnl.c +++ b/src/mesa/drivers/dri/nouveau/nv20_state_tnl.c @@ -158,7 +158,7 @@ nv20_emit_light_model(GLcontext *ctx, int emit)  	OUT_RING(chan, ((m->LocalViewer ?  			 NV20TCL_LIGHT_MODEL_VIEWER_LOCAL :  			 NV20TCL_LIGHT_MODEL_VIEWER_NONLOCAL) | -			(m->ColorControl == GL_SEPARATE_SPECULAR_COLOR ? +			(NEED_SECONDARY_COLOR(ctx) ?  			 NV20TCL_LIGHT_MODEL_SEPARATE_SPECULAR :  			 0))); | 
