From 3d49fcb3e56d80bfc28ae2bdf932e93a59d89a22 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 17 Jul 2017 12:09:42 -0600 Subject: [PATCH] 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 --- src/mesa/main/get.c | 12 ++++++++++++ src/mesa/main/get_hash_params.py | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index 6ad107b22c4..3247653766b 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -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 */ diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py index 850ce7de3e3..9d67ca49f8e 100644 --- a/src/mesa/main/get_hash_params.py +++ b/src/mesa/main/get_hash_params.py @@ -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" ], -- 2.30.2