diff options
author | Brian Paul <[email protected]> | 2009-06-10 08:39:10 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2009-06-10 09:31:01 -0600 |
commit | 6f50c9865d96a704cf47f59c3c21b4686bddf1f8 (patch) | |
tree | 52d133443a77169ea3b541b78af37bc5e5112549 | |
parent | 5450281ff75eab0cccdf7a926aed7e04132d3c95 (diff) |
mesa: disable texture unit error check in _mesa_MatrixMode()
See comments for details.
-rw-r--r-- | src/mesa/main/matrix.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mesa/main/matrix.c b/src/mesa/main/matrix.c index 39b4967a58e..ebc3cbd59c3 100644 --- a/src/mesa/main/matrix.c +++ b/src/mesa/main/matrix.c @@ -160,11 +160,21 @@ _mesa_MatrixMode( GLenum mode ) ctx->CurrentStack = &ctx->ProjectionMatrixStack; break; case GL_TEXTURE: + /* This error check is disabled because if we're called from + * glPopAttrib() when the active texture unit is >= MaxTextureCoordUnits + * we'll generate an unexpected error. + * From the GL_ARB_vertex_shader spec it sounds like we should instead + * do error checking in other places when we actually try to access + * texture matrices beyond MaxTextureCoordUnits. + */ +#if 0 if (ctx->Texture.CurrentUnit >= ctx->Const.MaxTextureCoordUnits) { _mesa_error(ctx, GL_INVALID_OPERATION, "glMatrixMode(invalid tex unit %d)", ctx->Texture.CurrentUnit); return; } +#endif + ASSERT(ctx->Texture.CurrentUnit < Elements(ctx->TextureMatrixStack)); ctx->CurrentStack = &ctx->TextureMatrixStack[ctx->Texture.CurrentUnit]; break; case GL_COLOR: |