mesa: fix GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT query

This query is not allowed in GL core profile 3.3 and later (since
GL_QUADS and GL_QUAD_STRIP are disallowed).  The query was (mistakenly)
supported in GL 3.2.  This fixes the glGet error test accordingly.

Reviewed-by: Neha Bhende<bhenden@vmware.com>
This commit is contained in:
Brian Paul 2017-07-17 12:09:42 -06:00
parent a522ce9977
commit 3d49fcb3e5
2 changed files with 13 additions and 1 deletions

View file

@ -162,6 +162,7 @@ enum value_extra {
EXTRA_EXT_SSBO_GS,
EXTRA_EXT_FB_NO_ATTACH_GS,
EXTRA_EXT_ES_GS,
EXTRA_EXT_PROVOKING_VERTEX_32,
};
#define NO_EXTRA NULL
@ -573,6 +574,12 @@ static const int extra_EXT_shader_framebuffer_fetch[] = {
EXTRA_END
};
static const int extra_EXT_provoking_vertex_32[] = {
EXTRA_EXT_PROVOKING_VERTEX_32,
EXTRA_END
};
/* This is the big table describing all the enums we accept in
* glGet*v(). The table is partitioned into six parts: enums
* understood by all GL APIs (OpenGL, GLES and GLES2), enums shared
@ -1293,6 +1300,11 @@ check_extra(struct gl_context *ctx, const char *func, const struct value_desc *d
if (_mesa_has_OES_geometry_shader(ctx))
api_found = GL_TRUE;
break;
case EXTRA_EXT_PROVOKING_VERTEX_32:
api_check = TRUE;
if (version <= 32)
api_found = ctx->Extensions.EXT_provoking_vertex;
break;
case EXTRA_END:
break;
default: /* *e is a offset into the extension struct */

View file

@ -888,7 +888,7 @@ descriptor=[
# GL_EXT_provoking_vertex
[ "PROVOKING_VERTEX_EXT", "CONTEXT_ENUM(Light.ProvokingVertex), extra_EXT_provoking_vertex" ],
[ "QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT", "CONTEXT_BOOL(Const.QuadsFollowProvokingVertexConvention), extra_EXT_provoking_vertex" ],
[ "QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT", "CONTEXT_BOOL(Const.QuadsFollowProvokingVertexConvention), extra_EXT_provoking_vertex_32" ],
# GL_ARB_seamless_cube_map
[ "TEXTURE_CUBE_MAP_SEAMLESS", "CONTEXT_BOOL(Texture.CubeMapSeamless), extra_ARB_seamless_cube_map" ],