summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/state.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/main/state.c')
-rw-r--r--src/mesa/main/state.c10
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;