summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2012-07-27 15:47:16 -0700
committerIan Romanick <[email protected]>2012-08-29 15:09:35 -0700
commitd6c8913bc629fedc520353cd9de51f1c7ba262a4 (patch)
treef331a6d2518ddb2d9aa604d040fd1f2599810213
parent10e7db1ccf4d3b2023f04663f7a6c079eb6afc57 (diff)
mesa/es: Validate glMatrixMode mode in Mesa code rather than the ES wrapper
Signed-off-by: Ian Romanick <[email protected]>
-rw-r--r--src/mesa/main/APIspec.xml7
-rw-r--r--src/mesa/main/matrix.c7
2 files changed, 4 insertions, 10 deletions
diff --git a/src/mesa/main/APIspec.xml b/src/mesa/main/APIspec.xml
index b37470d94ae..cf4e5f85929 100644
--- a/src/mesa/main/APIspec.xml
+++ b/src/mesa/main/APIspec.xml
@@ -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">
diff --git a/src/mesa/main/matrix.c b/src/mesa/main/matrix.c
index b09fa4d3d81..7157433de4d 100644
--- a/src/mesa/main/matrix.c
+++ b/src/mesa/main/matrix.c
@@ -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,