gallium: adjust the code in update_textures() to look more like update_samplers()
authorBrian <brian.paul@tungstengraphics.com>
Fri, 4 Apr 2008 22:44:09 +0000 (16:44 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Fri, 4 Apr 2008 22:45:05 +0000 (16:45 -0600)
src/mesa/state_tracker/st_atom_texture.c

index e1528c4..01c07dc 100644 (file)
 static void 
 update_textures(struct st_context *st)
 {
-   /* ST_NEW_FRAGMENT_PROGRAM
-    */
    struct gl_fragment_program *fprog = st->ctx->FragmentProgram._Current;
-   GLuint unit;
+   GLuint su;
 
    st->state.num_textures = 0;
 
-   for (unit = 0; unit < st->ctx->Const.MaxTextureCoordUnits; unit++) {
-      const GLuint su = fprog->Base.SamplerUnits[unit];
+   for (su = 0; su < st->ctx->Const.MaxTextureCoordUnits; su++) {
       struct pipe_texture *pt = NULL;
 
       if (fprog->Base.SamplersUsed & (1 << su)) {
-         struct gl_texture_object *texObj = st->ctx->Texture.Unit[su]._Current;
+         const GLuint texUnit = fprog->Base.SamplerUnits[su];
+         struct gl_texture_object *texObj
+            = st->ctx->Texture.Unit[texUnit]._Current;
          struct st_texture_object *stObj = st_texture_object(texObj);
 
          if (texObj) {
@@ -71,13 +70,13 @@ update_textures(struct st_context *st)
                continue;
             }
 
-            st->state.num_textures = unit + 1;
+            st->state.num_textures = su + 1;
          }
 
          pt = st_get_stobj_texture(stObj);
       }
 
-      pipe_texture_reference(&st->state.sampler_texture[unit], pt);
+      pipe_texture_reference(&st->state.sampler_texture[su], pt);
    }
 
    st->pipe->set_sampler_textures(st->pipe, st->state.num_textures,