summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/api_validate.c
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2012-07-25 07:15:29 -0700
committerIan Romanick <ian.d.romanick@intel.com>2012-08-29 15:09:34 -0700
commit6a9b8f897a8b59fae03c73e05203bc708fb17793 (patch)
treeba0dfc7ae0dac051796d720885efc61fcad313b0 /src/mesa/main/api_validate.c
parent72e076cb17e47c608fa6534641653cdc6133fb27 (diff)
downloadexternal_mesa3d-6a9b8f897a8b59fae03c73e05203bc708fb17793.zip
external_mesa3d-6a9b8f897a8b59fae03c73e05203bc708fb17793.tar.gz
external_mesa3d-6a9b8f897a8b59fae03c73e05203bc708fb17793.tar.bz2
mesa/es: Validate primitive modes in Mesa code rather than the ES wrapper
v2: Add proper core-profile filtering. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Diffstat (limited to 'src/mesa/main/api_validate.c')
-rw-r--r--src/mesa/main/api_validate.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c
index 362cdf5..d0d2ca4 100644
--- a/src/mesa/main/api_validate.c
+++ b/src/mesa/main/api_validate.c
@@ -220,16 +220,19 @@ _mesa_valid_prim_mode(struct gl_context *ctx, GLenum mode, const char *name)
case GL_TRIANGLES:
case GL_TRIANGLE_STRIP:
case GL_TRIANGLE_FAN:
+ valid_enum = true;
+ break;
case GL_QUADS:
case GL_QUAD_STRIP:
case GL_POLYGON:
- valid_enum = true;
+ valid_enum = (ctx->API == API_OPENGL);
break;
case GL_LINES_ADJACENCY:
case GL_LINE_STRIP_ADJACENCY:
case GL_TRIANGLES_ADJACENCY:
case GL_TRIANGLE_STRIP_ADJACENCY:
- valid_enum = (ctx->Extensions.ARB_geometry_shader4);
+ valid_enum = _mesa_is_desktop_gl(ctx)
+ && ctx->Extensions.ARB_geometry_shader4;
break;
default:
valid_enum = false;