mesa: Update texenv program when _NEW_ARRAYS is updated as well.
authorEric Anholt <eric@anholt.net>
Fri, 10 Apr 2009 23:47:14 +0000 (16:47 -0700)
committerEric Anholt <eric@anholt.net>
Wed, 15 Apr 2009 19:55:50 +0000 (12:55 -0700)
This fixes a regression in fbotest1 on 915, where a transition from
color+vertex array enabled to texcoord0+vertex array enabled wouldn't trigger
program update on the second _mesa_update_state of DrawArrays, and we'd sample
a constant texcoord of 0,0,0,1 instead of the array.

The double state update in DrawArrays from
1680ef869625dc1fe9cf481b180382a34e0738e7 still needs fixing.

src/mesa/main/state.c

index cc37d636369c00de54c48029e860980d3ebb85e4..4f9088dd22f5ae1dbc0f6aa6f50631f44652d30c 100644 (file)
@@ -470,7 +470,8 @@ _mesa_update_state_locked( GLcontext *ctx )
 
    /* Determine which state flags effect vertex/fragment program state */
    if (ctx->FragmentProgram._MaintainTexEnvProgram) {
-      prog_flags |= (_NEW_TEXTURE | _NEW_FOG | _DD_NEW_SEPARATE_SPECULAR);
+      prog_flags |= (_NEW_TEXTURE | _NEW_FOG | _DD_NEW_SEPARATE_SPECULAR |
+                    _NEW_ARRAY);
    }
    if (ctx->VertexProgram._MaintainTnlProgram) {
       prog_flags |= (_NEW_ARRAY | _NEW_TEXTURE | _NEW_TEXTURE_MATRIX |