mesa: fix GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT query
authorBrian Paul <brianp@vmware.com>
Mon, 17 Jul 2017 18:09:42 +0000 (12:09 -0600)
committerBrian Paul <brianp@vmware.com>
Tue, 18 Jul 2017 14:32:29 +0000 (08:32 -0600)
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>
src/mesa/main/get.c
src/mesa/main/get_hash_params.py

index 6ad107b22c4c84877104d17e4fd1feca51f8517d..3247653766b5284bbdde80be0055a2ef216dbbc2 100644 (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 */
index 850ce7de3e3c055e14cee6ebcf53ec174f11e164..9d67ca49f8ef299fb969b69b9191f9fdba2fd55d 100644 (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" ],