test if active texture is really changed in _mesa_ActiveTexture()
authorBrian Paul <brian.paul@tungstengraphics.com>
Sun, 23 Feb 2003 04:12:57 +0000 (04:12 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Sun, 23 Feb 2003 04:12:57 +0000 (04:12 +0000)
src/mesa/main/texstate.c

index e640cea001de09c84b95fb8e4cf4af2c9c3f69f2..b1b7535a33f42eaf300093982a304707f3994608 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: texstate.c,v 1.93 2003/01/21 23:58:29 brianp Exp $ */
+/* $Id: texstate.c,v 1.94 2003/02/23 04:12:57 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -2447,7 +2447,7 @@ void
 _mesa_ActiveTextureARB( GLenum target )
 {
    GET_CURRENT_CONTEXT(ctx);
-   GLuint texUnit = target - GL_TEXTURE0;
+   const GLuint texUnit = target - GL_TEXTURE0;
    ASSERT_OUTSIDE_BEGIN_END(ctx);
 
    if (MESA_VERBOSE & (VERBOSE_API|VERBOSE_TEXTURE))
@@ -2460,6 +2460,9 @@ _mesa_ActiveTextureARB( GLenum target )
       return;
    }
 
+   if (ctx->Texture.CurrentUnit == texUnit)
+      return;
+
    FLUSH_VERTICES(ctx, _NEW_TEXTURE);
 
    ctx->Texture.CurrentUnit = texUnit;