diff options
Diffstat (limited to 'src/mesa/main/state.c')
-rw-r--r-- | src/mesa/main/state.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c index cc598c029ef..8f52c9fe43a 100644 --- a/src/mesa/main/state.c +++ b/src/mesa/main/state.c @@ -1,4 +1,4 @@ -/* $Id: state.c,v 1.20 2000/06/27 04:33:59 brianp Exp $ */ +/* $Id: state.c,v 1.21 2000/06/30 14:14:37 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -1177,8 +1177,12 @@ void gl_update_state( GLcontext *ctx ) ctx->NeedEyeNormals = GL_FALSE; if (ctx->Light.Enabled) { - if ((ctx->Light.Flags & LIGHT_POSITIONAL) || ctx->Light.NeedVertices){ - /* Need length for attenuation or need angle for spotlights */ + if ((ctx->Light.Flags & LIGHT_POSITIONAL) || + ctx->Light.NeedVertices || + !TEST_MAT_FLAGS( &ctx->ModelView, MAT_FLAGS_LENGTH_PRESERVING)) { + /* Need length for attenuation or need angle for spotlights + * or non-uniform scale matrix + */ ctx->NeedEyeCoords = GL_TRUE; } ctx->NeedEyeNormals = ctx->NeedEyeCoords; |