s/MAX_LIGHTS/ctx->Const.MaxLights/ and spruce up some comments
authorBrian Paul <brian.paul@tungstengraphics.com>
Thu, 10 Nov 2005 16:22:56 +0000 (16:22 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Thu, 10 Nov 2005 16:22:56 +0000 (16:22 +0000)
src/mesa/main/attrib.c
src/mesa/main/light.c

index 47103ccfb56aa1e1267504b618f962df6704e477..9c2a666e478b813ed152e7eb186dc60d002e151d 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Mesa 3-D graphics library
- * Version:  6.4.1
+ * Version:  6.5
  *
  * Copyright (C) 1999-2005  Brian Paul   All Rights Reserved.
  *
@@ -50,7 +50,7 @@
 #include "math/m_xform.h"
 
 
-/*
+/**
  * Allocate a new attribute state node.  These nodes have a
  * "kind" value and a pointer to a struct of state data.
  */
@@ -147,7 +147,7 @@ _mesa_PushAttrib(GLbitfield mask)
       attr->DepthTest = ctx->Depth.Test;
       attr->Dither = ctx->Color.DitherFlag;
       attr->Fog = ctx->Fog.Enabled;
-      for (i=0;i<MAX_LIGHTS;i++) {
+      for (i = 0; i < ctx->Const.MaxLights; i++) {
          attr->Light[i] = ctx->Light.Light[i].Enabled;
       }
       attr->Lighting = ctx->Light.Enabled;
@@ -950,7 +950,7 @@ _mesa_PopAttrib(void)
                if (_math_matrix_is_dirty(ctx->ModelviewMatrixStack.Top))
                   _math_matrix_analyse( ctx->ModelviewMatrixStack.Top );
               
-               for (i = 0; i < MAX_LIGHTS; i++) {
+               for (i = 0; i < ctx->Const.MaxLights; i++) {
                   GLenum lgt = (GLenum) (GL_LIGHT0 + i);
                  const struct gl_light *l = &light->Light[i];
                  GLfloat tmp[4];
index 5c41e936b966922df91fe37d74f2e9774b1589f9..f9b59089acdc3260f41f0e0d35fa340092439295 100644 (file)
@@ -946,14 +946,13 @@ _mesa_validate_all_lighting_tables( GLcontext *ctx )
    if (!ctx->_ShineTable[1] || ctx->_ShineTable[1]->shininess != shininess)
       validate_shine_table( ctx, 1, shininess );
 
-   for (i = 0 ; i < MAX_LIGHTS ; i++)
+   for (i = 0; i < ctx->Const.MaxLights; i++)
       if (ctx->Light.Light[i]._SpotExpTable[0][0] == -1)
         validate_spot_exp_table( &ctx->Light.Light[i] );
 }
 
 
-
-/*
+/**
  * Examine current lighting parameters to determine if the optimized lighting
  * function can be used.
  * Also, precompute some lighting values such as the products of light
@@ -981,8 +980,6 @@ _mesa_update_lighting( GLcontext *ctx )
    ctx->Light._NeedEyeCoords = ((ctx->Light._Flags & LIGHT_POSITIONAL) ||
                                ctx->Light.Model.LocalViewer);
 
-
-
    /* XXX: This test is overkill & needs to be fixed both for software and
     * hardware t&l drivers.  The above should be sufficient & should
     * be tested to verify this.
@@ -990,7 +987,6 @@ _mesa_update_lighting( GLcontext *ctx )
    if (ctx->Light._NeedVertices)
       ctx->Light._NeedEyeCoords = GL_TRUE;
 
-
    /* Precompute some shading values.  Although we reference
     * Light.Material here, we can get away without flushing
     * FLUSH_UPDATE_CURRENT, as when any outstanding material changes
@@ -1024,9 +1020,12 @@ _mesa_update_lighting( GLcontext *ctx )
 }
 
 
-/* _NEW_MODELVIEW
- * _NEW_LIGHT
- * _TNL_NEW_NEED_EYE_COORDS
+/**
+ * Update state derived from light position, spot direction.
+ * Called upon:
+ *   _NEW_MODELVIEW
+ *   _NEW_LIGHT
+ *   _TNL_NEW_NEED_EYE_COORDS
  *
  * Update on (_NEW_MODELVIEW | _NEW_LIGHT) when lighting is enabled.
  * Also update on lighting space changes.
@@ -1050,9 +1049,11 @@ compute_light_positions( GLcontext *ctx )
    foreach (light, &ctx->Light.EnabledList) {
 
       if (ctx->_NeedEyeCoords) {
+         /* _Position is in eye coordinate space */
         COPY_4FV( light->_Position, light->EyePosition );
       }
       else {
+         /* _Position is in object coordinate space */
         TRANSFORM_POINT( light->_Position, ctx->ModelviewMatrixStack.Top->inv,
                          light->EyePosition );
       }
@@ -1119,7 +1120,8 @@ update_modelview_scale( GLcontext *ctx )
 }
 
 
-/* Bring uptodate any state that relies on _NeedEyeCoords.
+/**
+ * Bring up to date any state that relies on _NeedEyeCoords.
  */
 void
 _mesa_update_tnl_spaces( GLcontext *ctx, GLuint new_state )
@@ -1139,7 +1141,6 @@ _mesa_update_tnl_spaces( GLcontext *ctx, GLuint new_state )
        !_math_matrix_is_length_preserving(ctx->ModelviewMatrixStack.Top))
       ctx->_NeedEyeCoords = GL_TRUE;
 
-
    /* Check if the truth-value interpretations of the bitfields have
     * changed:
     */
@@ -1167,7 +1168,8 @@ _mesa_update_tnl_spaces( GLcontext *ctx, GLuint new_state )
 }
 
 
-/* Drivers may need this if the hardware tnl unit doesn't support the
+/**
+ * Drivers may need this if the hardware tnl unit doesn't support the
  * light-in-modelspace optimization.  It's also useful for debugging.
  */
 void
@@ -1258,6 +1260,9 @@ init_material( struct gl_material *m )
 }
 
 
+/**
+ * Initialize all lighting state for the given context.
+ */
 void
 _mesa_init_lighting( GLcontext *ctx )
 {
@@ -1300,6 +1305,9 @@ _mesa_init_lighting( GLcontext *ctx )
 }
 
 
+/**
+ * Deallocate malloc'd lighting state attached to given context.
+ */
 void
 _mesa_free_lighting_data( GLcontext *ctx )
 {
@@ -1307,7 +1315,7 @@ _mesa_free_lighting_data( GLcontext *ctx )
 
    /* Free lighting shininess exponentiation table */
    foreach_s( s, tmps, ctx->_ShineTabList ) {
-      FREE( s );
+      _mesa_free( s );
    }
-   FREE( ctx->_ShineTabList );
+   _mesa_free( ctx->_ShineTabList );
 }