mesa/es: Validate glMatrixMode mode in Mesa code rather than the ES wrapper

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Ian Romanick 2012-07-27 15:47:16 -07:00
parent 10e7db1ccf
commit d6c8913bc6
2 changed files with 4 additions and 10 deletions

View file

@ -803,13 +803,6 @@
<return type="void"/>
<param name="mode" type="GLenum"/>
</proto>
<desc name="mode">
<value name="GL_MODELVIEW"/>
<value name="GL_PROJECTION"/>
<value name="GL_TEXTURE"/>
<value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/>
</desc>
</template>
<template name="MultMatrix">

View file

@ -187,7 +187,7 @@ _mesa_MatrixMode( GLenum mode )
case GL_MATRIX5_NV:
case GL_MATRIX6_NV:
case GL_MATRIX7_NV:
if (ctx->Extensions.NV_vertex_program) {
if (ctx->API == API_OPENGL && ctx->Extensions.NV_vertex_program) {
ctx->CurrentStack = &ctx->ProgramMatrixStack[mode - GL_MATRIX0_NV];
}
else {
@ -203,8 +203,9 @@ _mesa_MatrixMode( GLenum mode )
case GL_MATRIX5_ARB:
case GL_MATRIX6_ARB:
case GL_MATRIX7_ARB:
if (ctx->Extensions.ARB_vertex_program ||
ctx->Extensions.ARB_fragment_program) {
if (ctx->API == API_OPENGL
&& (ctx->Extensions.ARB_vertex_program ||
ctx->Extensions.ARB_fragment_program)) {
const GLuint m = mode - GL_MATRIX0_ARB;
if (m > ctx->Const.MaxProgramMatrices) {
_mesa_error(ctx, GL_INVALID_ENUM,