diff options
author | Brian Paul <[email protected]> | 2009-10-27 13:51:51 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2009-10-27 17:00:31 -0600 |
commit | 72cb441c2feb7e5f11fc84a2d9f551da94ce2f16 (patch) | |
tree | 6efeb75af37122e07a9dd1ce0923c38504247529 /src/mesa/main/texstate.c | |
parent | 33531614de94d396d10a3bed4a020abe2e2a40b5 (diff) |
mesa: avoid redundant state setting in glClientActiveTexture
Plus add code for verbose/debugging.
Diffstat (limited to 'src/mesa/main/texstate.c')
-rw-r--r-- | src/mesa/main/texstate.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c index 16492bd7bcf..c735e18affb 100644 --- a/src/mesa/main/texstate.c +++ b/src/mesa/main/texstate.c @@ -318,11 +318,18 @@ _mesa_ClientActiveTextureARB(GLenum texture) GLuint texUnit = texture - GL_TEXTURE0; ASSERT_OUTSIDE_BEGIN_END(ctx); + if (MESA_VERBOSE & (VERBOSE_API | VERBOSE_TEXTURE)) + _mesa_debug(ctx, "glClientActiveTexture %s\n", + _mesa_lookup_enum_by_nr(texture)); + if (texUnit >= ctx->Const.MaxTextureCoordUnits) { _mesa_error(ctx, GL_INVALID_ENUM, "glClientActiveTexture(texture)"); return; } + if (ctx->Array.ActiveTexture == texUnit) + return; + FLUSH_VERTICES(ctx, _NEW_ARRAY); ctx->Array.ActiveTexture = texUnit; } |