[Mesa-dev] [PATCH] mesa: fix GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT query
Brian Paul
brianp at vmware.com
Mon Jul 17 18:28:43 UTC 2017
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.
---
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 6ad107b..3247653 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 850ce7d..9d67ca4 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" ],
--
1.9.1
More information about the mesa-dev
mailing list