From: Brian Paul Date: Wed, 10 Jun 2009 14:39:10 +0000 (-0600) Subject: mesa: disable texture unit error check in _mesa_MatrixMode() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6f50c9865d96a704cf47f59c3c21b4686bddf1f8;p=mesa.git mesa: disable texture unit error check in _mesa_MatrixMode() See comments for details. --- 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: