Update gl.xml to latest version
authorMikko Rasa <tdb@tdb.fi>
Tue, 30 Mar 2021 13:47:00 +0000 (16:47 +0300)
committerMikko Rasa <tdb@tdb.fi>
Tue, 30 Mar 2021 13:47:00 +0000 (16:47 +0300)
gl.xml

diff --git a/gl.xml b/gl.xml
index 333cd994f70d3f8619c59cff0e68bb64cc5a5734..1319d48c8cbb6b95a28623614b00b70376e5cc60 100644 (file)
--- a/gl.xml
+++ b/gl.xml
@@ -1,97 +1,38 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <registry>
     <comment>
-Copyright (c) 2013-2016 The Khronos Group Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and/or associated documentation files (the
-"Materials"), to deal in the Materials without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Materials, and to
-permit persons to whom the Materials are furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Materials.
-
-THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
-
-------------------------------------------------------------------------
-
-This file, gl.xml, is the OpenGL and OpenGL API Registry. The older
-".spec" file format has been retired and will no longer be updated with
-new extensions and API versions. The canonical version of the registry,
-together with documentation, schema, and Python generator scripts used
-to generate C header files for OpenGL and OpenGL ES, can always be found
-in the Khronos Registry at
-        http://www.opengl.org/registry/
+Copyright 2013-2020 The Khronos Group Inc.
+SPDX-License-Identifier: Apache-2.0
+
+This file, gl.xml, is the OpenGL and OpenGL API Registry. The canonical
+version of the registry, together with documentation, schema, and Python
+generator scripts used to generate C header files for OpenGL and OpenGL ES,
+can always be found in the Khronos Registry at
+https://github.com/KhronosGroup/OpenGL-Registry
     </comment>
 
     <!-- SECTION: GL type definitions. -->
     <types>
             <!-- These are dependencies GL types require to be declared legally -->
-        <type name="stddef">#include &lt;stddef.h&gt;</type>
         <type name="khrplatform">#include &lt;KHR/khrplatform.h&gt;</type>
-        <type name="inttypes">#ifndef GLEXT_64_TYPES_DEFINED
-/* This code block is duplicated in glxext.h, so must be protected */
-#define GLEXT_64_TYPES_DEFINED
-/* Define int32_t, int64_t, and uint64_t types for UST/MSC */
-/* (as used in the GL_EXT_timer_query extension). */
-#if defined(__STDC_VERSION__) &amp;&amp; __STDC_VERSION__ &gt;= 199901L
-#include &lt;inttypes.h&gt;
-#elif defined(__sun__) || defined(__digital__)
-#include &lt;inttypes.h&gt;
-#if defined(__STDC__)
-#if defined(__arch64__) || defined(_LP64)
-typedef long int int64_t;
-typedef unsigned long int uint64_t;
-#else
-typedef long long int int64_t;
-typedef unsigned long long int uint64_t;
-#endif /* __arch64__ */
-#endif /* __STDC__ */
-#elif defined( __VMS ) || defined(__sgi)
-#include &lt;inttypes.h&gt;
-#elif defined(__SCO__) || defined(__USLC__)
-#include &lt;stdint.h&gt;
-#elif defined(__UNIXOS2__) || defined(__SOL64__)
-typedef long int int32_t;
-typedef long long int int64_t;
-typedef unsigned long long int uint64_t;
-#elif defined(_WIN32) &amp;&amp; defined(__GNUC__)
-#include &lt;stdint.h&gt;
-#elif defined(_WIN32)
-typedef __int32 int32_t;
-typedef __int64 int64_t;
-typedef unsigned __int64 uint64_t;
-#else
-/* Fallback if nothing above works */
-#include &lt;inttypes.h&gt;
-#endif
-#endif</type>
             <!-- These are actual GL types -->
         <type>typedef unsigned int <name>GLenum</name>;</type>
         <type>typedef unsigned char <name>GLboolean</name>;</type>
         <type>typedef unsigned int <name>GLbitfield</name>;</type>
         <type comment="Not an actual GL type, though used in headers in the past">typedef void <name>GLvoid</name>;</type>
-        <type>typedef signed char <name>GLbyte</name>;</type>
-        <type>typedef short <name>GLshort</name>;</type>
+        <type requires="khrplatform">typedef khronos_int8_t <name>GLbyte</name>;</type>
+        <type requires="khrplatform">typedef khronos_uint8_t <name>GLubyte</name>;</type>
+        <type requires="khrplatform">typedef khronos_int16_t <name>GLshort</name>;</type>
+        <type requires="khrplatform">typedef khronos_uint16_t <name>GLushort</name>;</type>
         <type>typedef int <name>GLint</name>;</type>
-        <type>typedef int <name>GLclampx</name>;</type>
-        <type>typedef unsigned char <name>GLubyte</name>;</type>
-        <type>typedef unsigned short <name>GLushort</name>;</type>
         <type>typedef unsigned int <name>GLuint</name>;</type>
+        <type requires="khrplatform">typedef khronos_int32_t <name>GLclampx</name>;</type>
         <type>typedef int <name>GLsizei</name>;</type>
-        <type>typedef float <name>GLfloat</name>;</type>
-        <type>typedef float <name>GLclampf</name>;</type>
+        <type requires="khrplatform">typedef khronos_float_t <name>GLfloat</name>;</type>
+        <type requires="khrplatform">typedef khronos_float_t <name>GLclampf</name>;</type>
         <type>typedef double <name>GLdouble</name>;</type>
         <type>typedef double <name>GLclampd</name>;</type>
+        <type>typedef void *<name>GLeglClientBufferEXT</name>;</type>
         <type>typedef void *<name>GLeglImageOES</name>;</type>
         <type>typedef char <name>GLchar</name>;</type>
         <type>typedef char <name>GLcharARB</name>;</type>
@@ -100,63 +41,686 @@ typedef void *GLhandleARB;
 #else
 typedef unsigned int GLhandleARB;
 #endif</type>
-        <type>typedef unsigned short <name>GLhalfARB</name>;</type>
-        <type>typedef unsigned short <name>GLhalf</name>;</type>
-        <type comment="Must be 32 bits">typedef GLint <name>GLfixed</name>;</type>
-        <type requires="stddef">typedef ptrdiff_t <name>GLintptr</name>;</type>
-        <type requires="stddef">typedef ptrdiff_t <name>GLsizeiptr</name>;</type>
-        <type requires="inttypes">typedef int64_t <name>GLint64</name>;</type>
-        <type requires="inttypes">typedef uint64_t <name>GLuint64</name>;</type>
-        <type requires="stddef">typedef ptrdiff_t <name>GLintptrARB</name>;</type>
-        <type requires="stddef">typedef ptrdiff_t <name>GLsizeiptrARB</name>;</type>
-        <type requires="inttypes">typedef int64_t <name>GLint64EXT</name>;</type>
-        <type requires="inttypes">typedef uint64_t <name>GLuint64EXT</name>;</type>
+        <type requires="khrplatform">typedef khronos_uint16_t <name>GLhalf</name>;</type>
+        <type requires="khrplatform">typedef khronos_uint16_t <name>GLhalfARB</name>;</type>
+        <type requires="khrplatform">typedef khronos_int32_t <name>GLfixed</name>;</type>
+        <type requires="khrplatform">typedef khronos_intptr_t <name>GLintptr</name>;</type>
+        <type requires="khrplatform">typedef khronos_intptr_t <name>GLintptrARB</name>;</type>
+        <type requires="khrplatform">typedef khronos_ssize_t <name>GLsizeiptr</name>;</type>
+        <type requires="khrplatform">typedef khronos_ssize_t <name>GLsizeiptrARB</name>;</type>
+        <type requires="khrplatform">typedef khronos_int64_t <name>GLint64</name>;</type>
+        <type requires="khrplatform">typedef khronos_int64_t <name>GLint64EXT</name>;</type>
+        <type requires="khrplatform">typedef khronos_uint64_t <name>GLuint64</name>;</type>
+        <type requires="khrplatform">typedef khronos_uint64_t <name>GLuint64EXT</name>;</type>
         <type>typedef struct __GLsync *<name>GLsync</name>;</type>
         <type comment="compatible with OpenCL cl_context"><name>struct _cl_context</name>;</type>
         <type comment="compatible with OpenCL cl_event"><name>struct _cl_event</name>;</type>
         <type>typedef void (<apientry/> *<name>GLDEBUGPROC</name>)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);</type>
         <type>typedef void (<apientry/> *<name>GLDEBUGPROCARB</name>)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);</type>
         <type>typedef void (<apientry/> *<name>GLDEBUGPROCKHR</name>)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);</type>
-            <!-- GLES 1 types -->
-        <type api="gles1" requires="khrplatform">typedef khronos_int32_t <name>GLclampx</name>;</type>
-            <!-- GLES 1/2 types (tagged for GLES 1) -->
-        <type api="gles1" requires="khrplatform">typedef khronos_int8_t <name>GLbyte</name>;</type>
-        <type api="gles1" requires="khrplatform">typedef khronos_uint8_t <name>GLubyte</name>;</type>
-        <type api="gles1" requires="khrplatform">typedef khronos_float_t <name>GLfloat</name>;</type>
-        <type api="gles1" requires="khrplatform">typedef khronos_float_t <name>GLclampf</name>;</type>
-        <type api="gles1" requires="khrplatform">typedef khronos_int32_t <name>GLfixed</name>;</type>
-        <type api="gles1" requires="khrplatform">typedef khronos_int64_t <name>GLint64</name>;</type>
-        <type api="gles1" requires="khrplatform">typedef khronos_uint64_t <name>GLuint64</name>;</type>
-        <type api="gles1" requires="khrplatform">typedef khronos_intptr_t <name>GLintptr</name>;</type>
-        <type api="gles1" requires="khrplatform">typedef khronos_ssize_t <name>GLsizeiptr</name>;</type>
-            <!-- GLES 1/2 types (tagged for GLES 2 - attribute syntax is limited) -->
-        <type api="gles2" requires="khrplatform">typedef khronos_int8_t <name>GLbyte</name>;</type>
-        <type api="gles2" requires="khrplatform">typedef khronos_uint8_t <name>GLubyte</name>;</type>
-        <type api="gles2" requires="khrplatform">typedef khronos_float_t <name>GLfloat</name>;</type>
-        <type api="gles2" requires="khrplatform">typedef khronos_float_t <name>GLclampf</name>;</type>
-        <type api="gles2" requires="khrplatform">typedef khronos_int32_t <name>GLfixed</name>;</type>
-        <type api="gles2" requires="khrplatform">typedef khronos_int64_t <name>GLint64</name>;</type>
-        <type api="gles2" requires="khrplatform">typedef khronos_uint64_t <name>GLuint64</name>;</type>
-        <type api="gles2" requires="khrplatform">typedef khronos_int64_t <name>GLint64EXT</name>;</type>
-        <type api="gles2" requires="khrplatform">typedef khronos_uint64_t <name>GLuint64EXT</name>;</type>
-        <type api="gles2" requires="khrplatform">typedef khronos_intptr_t <name>GLintptr</name>;</type>
-        <type api="gles2" requires="khrplatform">typedef khronos_ssize_t <name>GLsizeiptr</name>;</type>
-            <!-- GLES 2 types (none currently) -->
-            <!-- GLSC 2 types -->
-        <type api="glsc2" requires="khrplatform">typedef khronos_uint8_t <name>GLubyte</name>;</type>
-        <type api="glsc2" requires="khrplatform">typedef khronos_float_t <name>GLfloat</name>;</type>
-        <type api="glsc2" requires="khrplatform">typedef khronos_intptr_t <name>GLintptr</name>;</type>
-        <type api="glsc2" requires="khrplatform">typedef khronos_ssize_t <name>GLsizeiptr</name>;</type>
+
             <!-- Vendor extension types -->
         <type>typedef void (<apientry/> *<name>GLDEBUGPROCAMD</name>)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);</type>
         <type>typedef unsigned short <name>GLhalfNV</name>;</type>
         <type requires="GLintptr">typedef GLintptr <name>GLvdpauSurfaceNV</name>;</type>
+        <type>typedef void (<apientry/> *<name>GLVULKANPROCNV</name>)(void);</type>
     </types>
 
-    <!-- SECTION: GL parameter class type definitions. -->
+    <!-- SECTION: GL parameter class type definitions.
+         The groups are intended to contain all the possible legal values
+         for corresponding function parameters, but it is likely that many
+         of the groups are out of date relative to current OpenGL and OpenGL
+         ES specifications, and the many extensions to those specifications.
+         As such, they may not be a reliable source for enumeration info.
+
+         As of Wednesday 8th January 2020, these group blocks have been
+         deprecated in favour of group attributes declared inline with
+         the enumerant itself.
+    -->
 
     <groups>
-        <group name="AccumOp">
+        <group name="EvalMapsModeNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FILL_NV"/>
+        </group>
+
+        <group name="ProgramTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FRAGMENT_PROGRAM_ARB"/>
+            <enum name="GL_VERTEX_PROGRAM_ARB"/>
+            <enum name="GL_TEXT_FRAGMENT_SHADER_ATI"/>
+            <enum name="GL_COMPUTE_PROGRAM_NV"/>
+            <enum name="GL_GEOMETRY_PROGRAM_NV"/>
+            <enum name="GL_TESS_CONTROL_PROGRAM_NV"/>
+            <enum name="GL_TESS_EVALUATION_PROGRAM_NV"/>
+        </group>
+
+        <group name="CombinerStageNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_COMBINER0_NV"/>
+            <enum name="GL_COMBINER1_NV"/>
+            <enum name="GL_COMBINER2_NV"/>
+            <enum name="GL_COMBINER3_NV"/>
+            <enum name="GL_COMBINER4_NV"/>
+            <enum name="GL_COMBINER5_NV"/>
+            <enum name="GL_COMBINER6_NV"/>
+            <enum name="GL_COMBINER7_NV"/>
+        </group>
+
+        <group name="CombinerPortionNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_RGB"/>
+            <enum name="GL_ALPHA"/>
+        </group>
+
+        <group name="MapTypeNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FLOAT"/>
+            <enum name="GL_DOUBLE"/>
+        </group>
+
+        <group name="ScalarType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_UNSIGNED_BYTE"/>
+            <enum name="GL_UNSIGNED_SHORT"/>
+            <enum name="GL_UNSIGNED_INT"/>
+        </group>
+
+        <group name="VertexShaderTextureUnitParameter" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_CURRENT_TEXTURE_COORDS"/>
+            <enum name="GL_TEXTURE_MATRIX"/>
+        </group>
+
+        <group name="ProgramStringProperty" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_PROGRAM_STRING_ARB"/>
+        </group>
+
+        <group name="ProgramFormat" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_PROGRAM_FORMAT_ASCII_ARB"/>
+        </group>
+
+        <group name="PathColorFormat" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_NONE"/>
+            <enum name="GL_LUMINANCE"/>
+            <enum name="GL_ALPHA"/>
+            <enum name="GL_INTENSITY"/>
+            <enum name="GL_LUMINANCE_ALPHA"/>
+            <enum name="GL_RGB"/>
+            <enum name="GL_RGBA"/>
+        </group>
+
+        <group name="ReplacementCodeTypeSUN" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_UNSIGNED_BYTE"/>
+            <enum name="GL_UNSIGNED_SHORT"/>
+            <enum name="GL_UNSIGNED_INT"/>
+        </group>
+
+        <group name="SecondaryColorPointerTypeIBM" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_SHORT"/>
+            <enum name="GL_INT"/>
+            <enum name="GL_FLOAT"/>
+            <enum name="GL_DOUBLE"/>
+        </group>
+
+        <group name="FragmentLightNameSGIX" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FRAGMENT_LIGHT0_SGIX"/>
+            <enum name="GL_FRAGMENT_LIGHT1_SGIX"/>
+            <enum name="GL_FRAGMENT_LIGHT2_SGIX"/>
+            <enum name="GL_FRAGMENT_LIGHT3_SGIX"/>
+            <enum name="GL_FRAGMENT_LIGHT4_SGIX"/>
+            <enum name="GL_FRAGMENT_LIGHT5_SGIX"/>
+            <enum name="GL_FRAGMENT_LIGHT6_SGIX"/>
+            <enum name="GL_FRAGMENT_LIGHT7_SGIX"/>
+        </group>
+
+        <group name="FragmentLightParameterSGIX" comment="Deprecated, use the group attributes instead.">
+            <!--<enum name="GL_SPOT_EXPONENT_SGIX"/>
+            <enum name="GL_SPOT_CUTOFF_SGIX"/>
+            <enum name="GL_CONSTANT_ATTENUATION_SGIX"/>
+            <enum name="GL_LINEAR_ATTENUATION_SGIX"/>
+            <enum name="GL_QUADRATIC_ATTENUATION_SGIX"/>
+            <enum name="GL_AMBIENT_SGIX"/>
+            <enum name="GL_DIFFUSE_SGIX"/>
+            <enum name="GL_SPECULAR_SGIX"/>
+            <enum name="GL_POSITION_SGIX"/>
+            <enum name="GL_SPOT_DIRECTION_SGIX"/>
+            <enum name="GL_SPOT_EXPONENT_SGIX"/>
+            <enum name="GL_SPOT_CUTOFF_SGIX"/>
+            <enum name="GL_CONSTANT_ATTENUATION_SGIX"/>
+            <enum name="GL_LINEAR_ATTENUATION_SGIX"/>
+            <enum name="GL_QUADRATIC_ATTENUATION_SGIX"/>-->
+            <enum name="GL_SPOT_EXPONENT"/>
+            <enum name="GL_SPOT_CUTOFF"/>
+            <enum name="GL_CONSTANT_ATTENUATION"/>
+            <enum name="GL_LINEAR_ATTENUATION"/>
+            <enum name="GL_QUADRATIC_ATTENUATION"/>
+            <enum name="GL_AMBIENT"/>
+            <enum name="GL_DIFFUSE"/>
+            <enum name="GL_SPECULAR"/>
+            <enum name="GL_POSITION"/>
+            <enum name="GL_SPOT_DIRECTION"/>
+        </group>
+
+        <group name="ElementPointerTypeATI" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_UNSIGNED_BYTE"/>
+            <enum name="GL_UNSIGNED_SHORT"/>
+            <enum name="GL_UNSIGNED_INT"/>
+        </group>
+
+        <group name="MatrixIndexPointerTypeARB" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_UNSIGNED_BYTE"/>
+            <enum name="GL_UNSIGNED_SHORT"/>
+            <enum name="GL_UNSIGNED_INT"/>
+        </group>
+
+        <group name="WeightPointerTypeARB" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_BYTE"/>
+            <enum name="GL_UNSIGNED_BYTE"/>
+            <enum name="GL_SHORT"/>
+            <enum name="GL_UNSIGNED_SHORT"/>
+            <enum name="GL_INT"/>
+            <enum name="GL_UNSIGNED_INT"/>
+            <enum name="GL_FLOAT"/>
+            <enum name="GL_DOUBLE"/>
+        </group>
+
+        <group name="CullParameterEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_CULL_VERTEX_EYE_POSITION_EXT"/>
+            <enum name="GL_CULL_VERTEX_OBJECT_POSITION_EXT"/>
+        </group>
+
+        <group name="DataTypeEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_SCALAR_EXT"/>
+            <enum name="GL_VECTOR_EXT"/>
+            <enum name="GL_MATRIX_EXT"/>
+        </group>
+
+        <group name="ParameterRangeEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_NORMALIZED_RANGE_EXT"/>
+            <enum name="GL_FULL_RANGE_EXT"/>
+        </group>
+
+        <group name="GetVariantValueEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_VARIANT_VALUE_EXT"/>
+            <enum name="GL_VARIANT_DATATYPE_EXT"/>
+            <enum name="GL_VARIANT_ARRAY_STRIDE_EXT"/>
+            <enum name="GL_VARIANT_ARRAY_TYPE_EXT"/>
+        </group>
+
+        <group name="IndexFunctionEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_NEVER"/>
+            <enum name="GL_ALWAYS"/>
+            <enum name="GL_LESS"/>
+            <enum name="GL_LEQUAL"/>
+            <enum name="GL_EQUAL"/>
+            <enum name="GL_GEQUAL"/>
+            <enum name="GL_GREATER"/>
+            <enum name="GL_NOTEQUAL"/>
+        </group>
+
+        <group name="IndexMaterialParameterEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_INDEX_OFFSET"/>
+        </group>
+
+        <group name="VariantCapEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_VARIANT_ARRAY_EXT"/>
+        </group>
+
+        <group name="PixelTransformTargetEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_PIXEL_TRANSFORM_2D_EXT"/>
+        </group>
+
+        <group name="PixelTransformPNameEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_PIXEL_MAG_FILTER_EXT"/>
+            <enum name="GL_PIXEL_MIN_FILTER_EXT"/>
+            <enum name="GL_PIXEL_CUBIC_WEIGHT_EXT"/>
+        </group>
+
+        <group name="VertexWeightPointerTypeEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FLOAT"/>
+        </group>
+
+        <group name="VertexShaderWriteMaskEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_TRUE"/>
+            <enum name="GL_FALSE"/>
+        </group>
+
+        <group name="CombinerComponentUsageNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_RGB"/>
+            <enum name="GL_ALPHA"/>
+            <enum name="GL_BLUE"/>
+        </group>
+
+        <group name="TangentPointerTypeEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_BYTE"/>
+            <enum name="GL_SHORT"/>
+            <enum name="GL_INT"/>
+            <enum name="GL_FLOAT"/>
+            <enum name="GL_DOUBLE"/>
+            <enum name="GL_DOUBLE_EXT"/>
+        </group>
+
+        <group name="BinormalPointerTypeEXT" comment="Deprecated, use the group attributes instead.">
+            <!--<enum name="GL_BYTE_EXT"/>
+            <enum name="GL_SHORT_EXT"/>
+            <enum name="GL_FLOAT_EXT"/>-->
+            <enum name="GL_BYTE"/>
+            <enum name="GL_SHORT"/>
+            <enum name="GL_INT"/>
+            <enum name="GL_FLOAT"/>
+            <enum name="GL_DOUBLE"/>
+            <enum name="GL_DOUBLE_EXT"/>
+        </group>
+
+        <group name="TextureNormalModeEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_PERTURB_EXT"/>
+        </group>
+
+        <group name="LightTexturePNameEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_ATTENUATION_EXT"/>
+            <enum name="GL_SHADOW_ATTENUATION_EXT"/>
+        </group>
+
+        <group name="VertexShaderCoordOutEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_X_EXT"/>
+            <enum name="GL_Y_EXT"/>
+            <enum name="GL_Z_EXT"/>
+            <enum name="GL_W_EXT"/>
+            <enum name="GL_NEGATIVE_X_EXT"/>
+            <enum name="GL_NEGATIVE_Y_EXT"/>
+            <enum name="GL_NEGATIVE_Z_EXT"/>
+            <enum name="GL_NEGATIVE_W_EXT"/>
+            <enum name="GL_ZERO_EXT"/>
+            <enum name="GL_ONE_EXT"/>
+            <enum name="GL_NEGATIVE_ONE_EXT"/>
+        </group>
+
+        <group name="SamplePatternEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_1PASS_EXT"/>
+            <enum name="GL_2PASS_0_EXT"/>
+            <enum name="GL_2PASS_1_EXT"/>
+            <enum name="GL_4PASS_0_EXT"/>
+            <enum name="GL_4PASS_1_EXT"/>
+            <enum name="GL_4PASS_2_EXT"/>
+            <enum name="GL_4PASS_3_EXT"/>
+        </group>
+
+        <group name="VertexShaderStorageTypeEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_VARIANT_EXT"/>
+            <enum name="GL_INVARIANT_EXT"/>
+            <enum name="GL_LOCAL_CONSTANT_EXT"/>
+            <enum name="GL_LOCAL_EXT"/>
+        </group>
+
+        <group name="VertexShaderParameterEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_CURRENT_VERTEX_EXT"/>
+            <enum name="GL_MVP_MATRIX_EXT"/>
+        </group>
+
+        <group name="LightTextureModeEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FRAGMENT_MATERIAL_EXT"/>
+            <enum name="GL_FRAGMENT_NORMAL_EXT"/>
+            <enum name="GL_FRAGMENT_DEPTH_EXT"/>
+            <enum name="GL_FRAGMENT_COLOR_EXT"/>
+        </group>
+
+        <group name="VertexShaderOpEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_OP_INDEX_EXT"/>
+            <enum name="GL_OP_NEGATE_EXT"/>
+            <enum name="GL_OP_DOT3_EXT"/>
+            <enum name="GL_OP_DOT4_EXT"/>
+            <enum name="GL_OP_MUL_EXT"/>
+            <enum name="GL_OP_ADD_EXT"/>
+            <enum name="GL_OP_MADD_EXT"/>
+            <enum name="GL_OP_FRAC_EXT"/>
+            <enum name="GL_OP_MAX_EXT"/>
+            <enum name="GL_OP_MIN_EXT"/>
+            <enum name="GL_OP_SET_GE_EXT"/>
+            <enum name="GL_OP_SET_LT_EXT"/>
+            <enum name="GL_OP_CLAMP_EXT"/>
+            <enum name="GL_OP_FLOOR_EXT"/>
+            <enum name="GL_OP_ROUND_EXT"/>
+            <enum name="GL_OP_EXP_BASE_2_EXT"/>
+            <enum name="GL_OP_LOG_BASE_2_EXT"/>
+            <enum name="GL_OP_POWER_EXT"/>
+            <enum name="GL_OP_RECIP_EXT"/>
+            <enum name="GL_OP_RECIP_SQRT_EXT"/>
+            <enum name="GL_OP_SUB_EXT"/>
+            <enum name="GL_OP_CROSS_PRODUCT_EXT"/>
+            <enum name="GL_OP_MULTIPLY_MATRIX_EXT"/>
+            <enum name="GL_OP_MOV_EXT"/>
+        </group>
+
+        <group name="PointParameterNameARB" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_POINT_SIZE_MIN_EXT"/>
+            <enum name="GL_POINT_SIZE_MAX_EXT"/>
+            <enum name="GL_POINT_FADE_THRESHOLD_SIZE_EXT"/>
+            <enum name="GL_POINT_FADE_THRESHOLD_SIZE"/>
+        </group>
+
+        <group name="VertexAttribPropertyARB" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_ENABLED"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_SIZE"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_STRIDE"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_TYPE"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_INTEGER"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_LONG"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR"/>
+            <enum name="GL_VERTEX_ATTRIB_BINDING"/>
+            <enum name="GL_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+            <enum name="GL_CURRENT_VERTEX_ATTRIB"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT"/>
+        </group>
+
+        <group name="VertexAttribPointerPropertyARB" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_POINTER"/>
+        </group>
+
+        <group name="BufferPointerNameARB" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_BUFFER_MAP_POINTER_ARB"/>
+            <enum name="GL_BUFFER_MAP_POINTER"/>
+        </group>
+
+        <group name="BufferPNameARB" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_BUFFER_SIZE_ARB"/>
+            <enum name="GL_BUFFER_USAGE_ARB"/>
+            <enum name="GL_BUFFER_ACCESS_ARB"/>
+            <enum name="GL_BUFFER_MAPPED_ARB"/>
+            <enum name="GL_BUFFER_SIZE"/>
+            <enum name="GL_BUFFER_USAGE"/>
+            <enum name="GL_BUFFER_ACCESS"/>
+            <enum name="GL_BUFFER_ACCESS_FLAGS"/>
+            <enum name="GL_BUFFER_IMMUTABLE_STORAGE"/>
+            <enum name="GL_BUFFER_MAPPED"/>
+            <enum name="GL_BUFFER_MAP_OFFSET"/>
+            <enum name="GL_BUFFER_MAP_LENGTH"/>
+            <enum name="GL_BUFFER_STORAGE_FLAGS"/>
+        </group>
+
+        <group name="ClampColorModeARB" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FIXED_ONLY_ARB"/>
+            <enum name="GL_FALSE"/>
+            <enum name="GL_TRUE"/>
+            <enum name="GL_TRUE"/>
+            <enum name="GL_FALSE"/>
+            <enum name="GL_FIXED_ONLY"/>
+        </group>
+
+        <group name="ClampColorTargetARB" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_CLAMP_VERTEX_COLOR_ARB"/>
+            <enum name="GL_CLAMP_FRAGMENT_COLOR_ARB"/>
+            <enum name="GL_CLAMP_READ_COLOR_ARB"/>
+            <enum name="GL_CLAMP_READ_COLOR"/>
+        </group>
+
+        <group name="VertexArrayPNameAPPLE" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_STORAGE_CLIENT_APPLE"/>
+            <enum name="GL_STORAGE_CACHED_APPLE"/>
+            <enum name="GL_STORAGE_SHARED_APPLE"/>
+        </group>
+
+        <group name="ObjectTypeAPPLE" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_DRAW_PIXELS_APPLE"/>
+            <enum name="GL_FENCE_APPLE"/>
+        </group>
+
+        <group name="PreserveModeATI" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_PRESERVE_ATI"/>
+            <enum name="GL_DISCARD_ATI"/>
+        </group>
+
+        <group name="TexBumpParameterATI" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_BUMP_ROT_MATRIX_ATI"/>
+        </group>
+
+        <group name="SwizzleOpATI" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_SWIZZLE_STR_ATI"/>
+            <enum name="GL_SWIZZLE_STQ_ATI"/>
+            <enum name="GL_SWIZZLE_STR_DR_ATI"/>
+            <enum name="GL_SWIZZLE_STQ_DQ_ATI"/>
+        </group>
+
+        <group name="PNTrianglesPNameATI" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_PN_TRIANGLES_POINT_MODE_ATI"/>
+            <enum name="GL_PN_TRIANGLES_NORMAL_MODE_ATI"/>
+            <enum name="GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI"/>
+        </group>
+
+        <group name="ArrayObjectUsageATI" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_STATIC_ATI"/>
+            <enum name="GL_DYNAMIC_ATI"/>
+        </group>
+
+        <group name="GetTexBumpParameterATI" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_BUMP_ROT_MATRIX_ATI"/>
+            <enum name="GL_BUMP_ROT_MATRIX_SIZE_ATI"/>
+            <enum name="GL_BUMP_NUM_TEX_UNITS_ATI"/>
+            <enum name="GL_BUMP_TEX_UNITS_ATI"/>
+        </group>
+
+        <group name="ArrayObjectPNameATI" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_OBJECT_BUFFER_SIZE_ATI"/>
+            <enum name="GL_OBJECT_BUFFER_USAGE_ATI"/>
+        </group>
+
+        <group name="DrawBufferModeATI" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_COLOR_ATTACHMENT0_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT1_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT2_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT3_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT4_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT5_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT6_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT7_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT8_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT9_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT10_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT11_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT12_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT13_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT14_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT15_NV"/>
+        </group>
+
+        <group name="VertexStreamATI" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_VERTEX_STREAM0_ATI"/>
+            <enum name="GL_VERTEX_STREAM1_ATI"/>
+            <enum name="GL_VERTEX_STREAM2_ATI"/>
+            <enum name="GL_VERTEX_STREAM3_ATI"/>
+            <enum name="GL_VERTEX_STREAM4_ATI"/>
+            <enum name="GL_VERTEX_STREAM5_ATI"/>
+            <enum name="GL_VERTEX_STREAM6_ATI"/>
+            <enum name="GL_VERTEX_STREAM7_ATI"/>
+        </group>
+
+        <group name="SpriteParameterNameSGIX" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_SPRITE_MODE_SGIX"/>
+        </group>
+
+        <group name="PixelTexGenModeSGIX" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_PIXEL_TEX_GEN_Q_CEILING_SGIX"/>
+            <enum name="GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX"/>
+            <enum name="GL_PIXEL_TEX_GEN_Q_ROUND_SGIX"/>
+            <enum name="GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX"/>
+            <enum name="GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX"/>
+        </group>
+
+        <group name="IglooFunctionSelectSGIX" comment="Private (internal) extension SGIX_igloo_interface">
+            <!--<enum name="GL_IGLOO_FULLSCREEN_SGIX"/>-->
+            <!--<enum name="GL_IGLOO_VIEWPORT_OFFSET_SGIX"/>-->
+            <!--<enum name="GL_IGLOO_SWAPTMESH_SGIX"/>-->
+            <!--<enum name="GL_IGLOO_COLORNORMAL_SGIX"/>-->
+            <!--<enum name="GL_IGLOO_IRISGL_MODE_SGIX"/>-->
+            <!--<enum name="GL_IGLOO_LMC_COLOR_SGIX"/>-->
+            <!--<enum name="GL_IGLOO_TMESHMODE_SGIX"/>-->
+        </group>
+
+        <group name="HintTargetPGI" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_VERTEX_DATA_HINT_PGI"/>
+            <enum name="GL_VERTEX_CONSISTENT_HINT_PGI"/>
+            <enum name="GL_MATERIAL_SIDE_HINT_PGI"/>
+            <enum name="GL_MAX_VERTEX_HINT_PGI"/>
+        </group>
+
+        <group name="ImageTransformPNameHP" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_IMAGE_SCALE_X_HP"/>
+            <enum name="GL_IMAGE_SCALE_Y_HP"/>
+            <enum name="GL_IMAGE_TRANSLATE_X_HP"/>
+            <enum name="GL_IMAGE_TRANSLATE_Y_HP"/>
+            <enum name="GL_IMAGE_ROTATE_ANGLE_HP"/>
+            <enum name="GL_IMAGE_ROTATE_ORIGIN_X_HP"/>
+            <enum name="GL_IMAGE_ROTATE_ORIGIN_Y_HP"/>
+            <enum name="GL_IMAGE_MAG_FILTER_HP"/>
+            <enum name="GL_IMAGE_MIN_FILTER_HP"/>
+            <enum name="GL_IMAGE_CUBIC_WEIGHT_HP"/>
+        </group>
+
+        <group name="ImageTransformTargetHP" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_IMAGE_TRANSFORM_2D_HP"/>
+        </group>
+
+        <group name="TextureFilterSGIS" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FILTER4_SGIS"/>
+        </group>
+
+        <group name="OcclusionQueryParameterNameNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_PIXEL_COUNT_NV"/>
+            <enum name="GL_PIXEL_COUNT_AVAILABLE_NV"/>
+        </group>
+
+        <group name="GetMultisamplePNameNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_SAMPLE_POSITION"/>
+            <enum name="GL_SAMPLE_LOCATION_ARB"/>
+            <enum name="GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB"/>
+        </group>
+
+        <group name="MapParameterNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_MAP_TESSELLATION_NV"/>
+        </group>
+
+        <group name="MapAttribParameterNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_MAP_ATTRIB_U_ORDER_NV"/>
+            <enum name="GL_MAP_ATTRIB_V_ORDER_NV"/>
+        </group>
+
+        <group name="FenceParameterNameNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FENCE_STATUS_NV"/>
+            <enum name="GL_FENCE_CONDITION_NV"/>
+        </group>
+
+        <group name="CombinerParameterNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_COMBINER_INPUT_NV"/>
+            <enum name="GL_COMBINER_MAPPING_NV"/>
+            <enum name="GL_COMBINER_COMPONENT_USAGE_NV"/>
+        </group>
+
+        <group name="CombinerBiasNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_NONE"/>
+            <enum name="GL_BIAS_BY_NEGATIVE_ONE_HALF_NV"/>
+        </group>
+
+        <group name="CombinerScaleNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_NONE"/>
+            <enum name="GL_SCALE_BY_TWO_NV"/>
+            <enum name="GL_SCALE_BY_FOUR_NV"/>
+            <enum name="GL_SCALE_BY_ONE_HALF_NV"/>
+        </group>
+
+        <group name="CombinerMappingNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_UNSIGNED_IDENTITY_NV"/>
+            <enum name="GL_UNSIGNED_INVERT_NV"/>
+            <enum name="GL_EXPAND_NORMAL_NV"/>
+            <enum name="GL_EXPAND_NEGATE_NV"/>
+            <enum name="GL_HALF_BIAS_NORMAL_NV"/>
+            <enum name="GL_HALF_BIAS_NEGATE_NV"/>
+            <enum name="GL_SIGNED_IDENTITY_NV"/>
+            <enum name="GL_SIGNED_NEGATE_NV"/>
+        </group>
+
+        <group name="CombinerRegisterNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_DISCARD_NV"/>
+            <enum name="GL_PRIMARY_COLOR_NV"/>
+            <enum name="GL_SECONDARY_COLOR_NV"/>
+            <enum name="GL_SPARE0_NV"/>
+            <enum name="GL_SPARE1_NV"/>
+            <enum name="GL_TEXTURE0_ARB"/>
+            <enum name="GL_TEXTURE1_ARB"/>
+        </group>
+
+        <group name="CombinerVariableNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_VARIABLE_A_NV"/>
+            <enum name="GL_VARIABLE_B_NV"/>
+            <enum name="GL_VARIABLE_C_NV"/>
+            <enum name="GL_VARIABLE_D_NV"/>
+            <enum name="GL_VARIABLE_E_NV"/>
+            <enum name="GL_VARIABLE_F_NV"/>
+            <enum name="GL_VARIABLE_G_NV"/>
+        </group>
+
+        <group name="PixelDataRangeTargetNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_WRITE_PIXEL_DATA_RANGE_NV"/>
+            <enum name="GL_READ_PIXEL_DATA_RANGE_NV"/>
+        </group>
+
+        <group name="EvalTargetNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_EVAL_2D_NV"/>
+            <enum name="GL_EVAL_TRIANGULAR_2D_NV"/>
+        </group>
+
+        <group name="VertexAttribEnumNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_PROGRAM_PARAMETER_NV"/>
+        </group>
+
+        <group name="FenceConditionNV" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_ALL_COMPLETED_NV"/>
+        </group>
+
+        <group name="PathCoordType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_CLOSE_PATH_NV"/>
+            <enum name="GL_MOVE_TO_NV"/>
+            <enum name="GL_RELATIVE_MOVE_TO_NV"/>
+            <enum name="GL_LINE_TO_NV"/>
+            <enum name="GL_RELATIVE_LINE_TO_NV"/>
+            <enum name="GL_HORIZONTAL_LINE_TO_NV"/>
+            <enum name="GL_RELATIVE_HORIZONTAL_LINE_TO_NV"/>
+            <enum name="GL_VERTICAL_LINE_TO_NV"/>
+            <enum name="GL_RELATIVE_VERTICAL_LINE_TO_NV"/>
+            <enum name="GL_QUADRATIC_CURVE_TO_NV"/>
+            <enum name="GL_RELATIVE_QUADRATIC_CURVE_TO_NV"/>
+            <enum name="GL_CUBIC_CURVE_TO_NV"/>
+            <enum name="GL_RELATIVE_CUBIC_CURVE_TO_NV"/>
+            <enum name="GL_SMOOTH_QUADRATIC_CURVE_TO_NV"/>
+            <enum name="GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV"/>
+            <enum name="GL_SMOOTH_CUBIC_CURVE_TO_NV"/>
+            <enum name="GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV"/>
+            <enum name="GL_SMALL_CCW_ARC_TO_NV"/>
+            <enum name="GL_RELATIVE_SMALL_CCW_ARC_TO_NV"/>
+            <enum name="GL_SMALL_CW_ARC_TO_NV"/>
+            <enum name="GL_RELATIVE_SMALL_CW_ARC_TO_NV"/>
+            <enum name="GL_LARGE_CCW_ARC_TO_NV"/>
+            <enum name="GL_RELATIVE_LARGE_CCW_ARC_TO_NV"/>
+            <enum name="GL_LARGE_CW_ARC_TO_NV"/>
+            <enum name="GL_RELATIVE_LARGE_CW_ARC_TO_NV"/>
+            <enum name="GL_CONIC_CURVE_TO_NV"/>
+            <enum name="GL_RELATIVE_CONIC_CURVE_TO_NV"/>
+            <enum name="GL_ROUNDED_RECT_NV"/>
+            <enum name="GL_RELATIVE_ROUNDED_RECT_NV"/>
+            <enum name="GL_ROUNDED_RECT2_NV"/>
+            <enum name="GL_RELATIVE_ROUNDED_RECT2_NV"/>
+            <enum name="GL_ROUNDED_RECT4_NV"/>
+            <enum name="GL_RELATIVE_ROUNDED_RECT4_NV"/>
+            <enum name="GL_ROUNDED_RECT8_NV"/>
+            <enum name="GL_RELATIVE_ROUNDED_RECT8_NV"/>
+            <enum name="GL_RESTART_PATH_NV"/>
+            <enum name="GL_DUP_FIRST_CUBIC_CURVE_TO_NV"/>
+            <enum name="GL_DUP_LAST_CUBIC_CURVE_TO_NV"/>
+            <enum name="GL_RECT_NV"/>
+            <enum name="GL_RELATIVE_RECT_NV"/>
+            <enum name="GL_CIRCULAR_CCW_ARC_TO_NV"/>
+            <enum name="GL_CIRCULAR_CW_ARC_TO_NV"/>
+            <enum name="GL_CIRCULAR_TANGENT_ARC_TO_NV"/>
+            <enum name="GL_ARC_TO_NV"/>
+            <enum name="GL_RELATIVE_ARC_TO_NV"/>
+        </group>
+
+        <group name="AccumOp" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_ACCUM"/>
             <enum name="GL_LOAD"/>
             <enum name="GL_RETURN"/>
@@ -164,7 +728,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_ADD"/>
         </group>
 
-        <group name="AttribMask">
+        <group name="AttribMask" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_ACCUM_BUFFER_BIT"/>
             <enum name="GL_ALL_ATTRIB_BITS"/>
             <enum name="GL_COLOR_BUFFER_BIT"/>
@@ -192,7 +756,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_VIEWPORT_BIT"/>
         </group>
 
-        <group name="AlphaFunction">
+        <group name="AlphaFunction" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_ALWAYS"/>
             <enum name="GL_EQUAL"/>
             <enum name="GL_GEQUAL"/>
@@ -203,54 +767,117 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_NOTEQUAL"/>
         </group>
 
-        <group name="BlendEquationModeEXT">
+        <group name="BlendEquationModeEXT" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_ALPHA_MAX_SGIX"/>
             <enum name="GL_ALPHA_MIN_SGIX"/>
+            <enum name="GL_FUNC_ADD"/>
             <enum name="GL_FUNC_ADD_EXT"/>
+            <enum name="GL_FUNC_REVERSE_SUBTRACT"/>
             <enum name="GL_FUNC_REVERSE_SUBTRACT_EXT"/>
+            <enum name="GL_FUNC_SUBTRACT"/>
             <enum name="GL_FUNC_SUBTRACT_EXT"/>
-            <enum name="GL_LOGIC_OP"/>
+            <enum name="GL_MAX"/>
             <enum name="GL_MAX_EXT"/>
+            <enum name="GL_MIN"/>
             <enum name="GL_MIN_EXT"/>
         </group>
 
-        <group name="BlendingFactorDest">
-            <enum name="GL_CONSTANT_ALPHA_EXT"/>
-            <enum name="GL_CONSTANT_COLOR_EXT"/>
-            <enum name="GL_DST_ALPHA"/>
-            <enum name="GL_ONE"/>
-            <enum name="GL_ONE_MINUS_CONSTANT_ALPHA_EXT"/>
-            <enum name="GL_ONE_MINUS_CONSTANT_COLOR_EXT"/>
-            <enum name="GL_ONE_MINUS_DST_ALPHA"/>
-            <enum name="GL_ONE_MINUS_SRC_ALPHA"/>
-            <enum name="GL_ONE_MINUS_SRC_COLOR"/>
-            <enum name="GL_SRC_ALPHA"/>
-            <enum name="GL_SRC_COLOR"/>
-            <enum name="GL_ZERO"/>
+        <group name="Boolean" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FALSE"/>
+            <enum name="GL_TRUE"/>
         </group>
 
-        <group name="BlendingFactorSrc">
-            <enum name="GL_CONSTANT_ALPHA_EXT"/>
-            <enum name="GL_CONSTANT_COLOR_EXT"/>
-            <enum name="GL_DST_ALPHA"/>
-            <enum name="GL_DST_COLOR"/>
-            <enum name="GL_ONE"/>
-            <enum name="GL_ONE_MINUS_CONSTANT_ALPHA_EXT"/>
-            <enum name="GL_ONE_MINUS_CONSTANT_COLOR_EXT"/>
-            <enum name="GL_ONE_MINUS_DST_ALPHA"/>
-            <enum name="GL_ONE_MINUS_DST_COLOR"/>
-            <enum name="GL_ONE_MINUS_SRC_ALPHA"/>
-            <enum name="GL_SRC_ALPHA"/>
-            <enum name="GL_SRC_ALPHA_SATURATE"/>
-            <enum name="GL_ZERO"/>
+        <group name="BufferBitQCOM" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_MULTISAMPLE_BUFFER_BIT7_QCOM"/>
+            <enum name="GL_MULTISAMPLE_BUFFER_BIT6_QCOM"/>
+            <enum name="GL_MULTISAMPLE_BUFFER_BIT5_QCOM"/>
+            <enum name="GL_MULTISAMPLE_BUFFER_BIT4_QCOM"/>
+            <enum name="GL_MULTISAMPLE_BUFFER_BIT3_QCOM"/>
+            <enum name="GL_MULTISAMPLE_BUFFER_BIT2_QCOM"/>
+            <enum name="GL_MULTISAMPLE_BUFFER_BIT1_QCOM"/>
+            <enum name="GL_MULTISAMPLE_BUFFER_BIT0_QCOM"/>
+            <enum name="GL_STENCIL_BUFFER_BIT7_QCOM"/>
+            <enum name="GL_STENCIL_BUFFER_BIT6_QCOM"/>
+            <enum name="GL_STENCIL_BUFFER_BIT5_QCOM"/>
+            <enum name="GL_STENCIL_BUFFER_BIT4_QCOM"/>
+            <enum name="GL_STENCIL_BUFFER_BIT3_QCOM"/>
+            <enum name="GL_STENCIL_BUFFER_BIT2_QCOM"/>
+            <enum name="GL_STENCIL_BUFFER_BIT1_QCOM"/>
+            <enum name="GL_STENCIL_BUFFER_BIT0_QCOM"/>
+            <enum name="GL_DEPTH_BUFFER_BIT7_QCOM"/>
+            <enum name="GL_DEPTH_BUFFER_BIT6_QCOM"/>
+            <enum name="GL_DEPTH_BUFFER_BIT5_QCOM"/>
+            <enum name="GL_DEPTH_BUFFER_BIT4_QCOM"/>
+            <enum name="GL_DEPTH_BUFFER_BIT3_QCOM"/>
+            <enum name="GL_DEPTH_BUFFER_BIT2_QCOM"/>
+            <enum name="GL_DEPTH_BUFFER_BIT1_QCOM"/>
+            <enum name="GL_DEPTH_BUFFER_BIT0_QCOM"/>
+            <enum name="GL_COLOR_BUFFER_BIT7_QCOM"/>
+            <enum name="GL_COLOR_BUFFER_BIT6_QCOM"/>
+            <enum name="GL_COLOR_BUFFER_BIT5_QCOM"/>
+            <enum name="GL_COLOR_BUFFER_BIT4_QCOM"/>
+            <enum name="GL_COLOR_BUFFER_BIT3_QCOM"/>
+            <enum name="GL_COLOR_BUFFER_BIT2_QCOM"/>
+            <enum name="GL_COLOR_BUFFER_BIT1_QCOM"/>
+            <enum name="GL_COLOR_BUFFER_BIT0_QCOM"/>
         </group>
 
-        <group name="Boolean">
-            <enum name="GL_FALSE"/>
-            <enum name="GL_TRUE"/>
+        <group name="BufferTargetARB" comment="Deprecated, use the group attributes instead.">
+          <enum name="GL_ARRAY_BUFFER"/>
+          <enum name="GL_ATOMIC_COUNTER_BUFFER"/>
+          <enum name="GL_COPY_READ_BUFFER"/>
+          <enum name="GL_COPY_WRITE_BUFFER"/>
+          <enum name="GL_DISPATCH_INDIRECT_BUFFER"/>
+          <enum name="GL_DRAW_INDIRECT_BUFFER"/>
+          <enum name="GL_ELEMENT_ARRAY_BUFFER"/>
+          <enum name="GL_PIXEL_PACK_BUFFER"/>
+          <enum name="GL_PIXEL_UNPACK_BUFFER"/>
+          <enum name="GL_QUERY_BUFFER"/>
+          <enum name="GL_SHADER_STORAGE_BUFFER"/>
+          <enum name="GL_TEXTURE_BUFFER"/>
+          <enum name="GL_TRANSFORM_FEEDBACK_BUFFER"/>
+          <enum name="GL_UNIFORM_BUFFER"/>
+          <enum name="GL_PARAMETER_BUFFER"/>
+        </group>
+
+        <group name="BufferUsageARB" comment="Deprecated, use the group attributes instead.">
+          <enum name="GL_STREAM_DRAW"/>
+          <enum name="GL_STREAM_READ"/>
+          <enum name="GL_STREAM_COPY"/>
+          <enum name="GL_STATIC_DRAW"/>
+          <enum name="GL_STATIC_READ"/>
+          <enum name="GL_STATIC_COPY"/>
+          <enum name="GL_DYNAMIC_DRAW"/>
+          <enum name="GL_DYNAMIC_READ"/>
+          <enum name="GL_DYNAMIC_COPY"/>
+        </group>
+
+        <group name="BufferAccessARB" comment="Deprecated, use the group attributes instead.">
+          <enum name="GL_READ_ONLY"/>
+          <enum name="GL_WRITE_ONLY"/>
+          <enum name="GL_READ_WRITE"/>
+        </group>
+
+        <group name="BufferStorageMask" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_CLIENT_STORAGE_BIT"/>
+            <enum name="GL_CLIENT_STORAGE_BIT_EXT"/>
+            <enum name="GL_DYNAMIC_STORAGE_BIT"/>
+            <enum name="GL_DYNAMIC_STORAGE_BIT_EXT"/>
+            <enum name="GL_MAP_COHERENT_BIT"/>
+            <enum name="GL_MAP_COHERENT_BIT_EXT"/>
+            <enum name="GL_MAP_PERSISTENT_BIT"/>
+            <enum name="GL_MAP_PERSISTENT_BIT_EXT"/>
+            <enum name="GL_MAP_READ_BIT"/>
+            <enum name="GL_MAP_READ_BIT_EXT"/>
+            <enum name="GL_MAP_WRITE_BIT"/>
+            <enum name="GL_MAP_WRITE_BIT_EXT"/>
+            <enum name="GL_SPARSE_STORAGE_BIT_ARB"/>
+            <enum name="GL_LGPU_SEPARATE_STORAGE_BIT_NVX"/>
+            <enum name="GL_PER_GPU_STORAGE_BIT_NV"/>
+            <enum name="GL_EXTERNAL_STORAGE_BIT_NVX"/>
         </group>
 
-        <group name="ClearBufferMask">
+        <group name="ClearBufferMask" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_ACCUM_BUFFER_BIT"/>
             <enum name="GL_COLOR_BUFFER_BIT"/>
             <enum name="GL_COVERAGE_BUFFER_BIT_NV"/>
@@ -258,13 +885,13 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_STENCIL_BUFFER_BIT"/>
         </group>
 
-        <group name="ClientAttribMask">
+        <group name="ClientAttribMask" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_CLIENT_ALL_ATTRIB_BITS"/>
             <enum name="GL_CLIENT_PIXEL_STORE_BIT"/>
             <enum name="GL_CLIENT_VERTEX_ARRAY_BIT"/>
         </group>
 
-        <group name="ClipPlaneName">
+        <group name="ClipPlaneName" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_CLIP_DISTANCE0"/>
             <enum name="GL_CLIP_DISTANCE1"/>
             <enum name="GL_CLIP_DISTANCE2"/>
@@ -281,13 +908,13 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_CLIP_PLANE5"/>
         </group>
 
-        <group name="ColorMaterialFace">
+        <group name="ColorMaterialFace" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_BACK"/>
             <enum name="GL_FRONT"/>
             <enum name="GL_FRONT_AND_BACK"/>
         </group>
 
-        <group name="ColorMaterialParameter">
+        <group name="ColorMaterialParameter" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_AMBIENT"/>
             <enum name="GL_AMBIENT_AND_DIFFUSE"/>
             <enum name="GL_DIFFUSE"/>
@@ -295,7 +922,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_SPECULAR"/>
         </group>
 
-        <group name="ColorPointerType">
+        <group name="ColorPointerType" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_BYTE"/>
             <enum name="GL_DOUBLE"/>
             <enum name="GL_FLOAT"/>
@@ -306,14 +933,14 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_UNSIGNED_SHORT"/>
         </group>
 
-        <group name="ColorTableParameterPNameSGI">
+        <group name="ColorTableParameterPNameSGI" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_COLOR_TABLE_BIAS"/>
             <enum name="GL_COLOR_TABLE_BIAS_SGI"/>
             <enum name="GL_COLOR_TABLE_SCALE"/>
             <enum name="GL_COLOR_TABLE_SCALE_SGI"/>
         </group>
 
-        <group name="ColorTableTargetSGI">
+        <group name="ColorTableTargetSGI" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_COLOR_TABLE"/>
             <enum name="GL_COLOR_TABLE_SGI"/>
             <enum name="GL_POST_COLOR_MATRIX_COLOR_TABLE"/>
@@ -330,25 +957,28 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_TEXTURE_COLOR_TABLE_SGI"/>
         </group>
 
-        <group name="ContextFlagMask">
+        <group name="ContextFlagMask" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_CONTEXT_FLAG_DEBUG_BIT"/>
             <enum name="GL_CONTEXT_FLAG_DEBUG_BIT_KHR"/>
             <enum name="GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT"/>
+            <enum name="GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT"/>
             <enum name="GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB"/>
             <enum name="GL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT"/>
+            <enum name="GL_CONTEXT_FLAG_NO_ERROR_BIT"/>
+            <enum name="GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR"/>
         </group>
 
-        <group name="ContextProfileMask">
+        <group name="ContextProfileMask" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_CONTEXT_COMPATIBILITY_PROFILE_BIT"/>
             <enum name="GL_CONTEXT_CORE_PROFILE_BIT"/>
         </group>
 
-        <group name="ConvolutionBorderModeEXT">
+        <group name="ConvolutionBorderModeEXT" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_REDUCE"/>
             <enum name="GL_REDUCE_EXT"/>
         </group>
 
-        <group name="ConvolutionParameterEXT">
+        <group name="ConvolutionParameterEXT" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_CONVOLUTION_BORDER_MODE"/>
             <enum name="GL_CONVOLUTION_BORDER_MODE_EXT"/>
             <enum name="GL_CONVOLUTION_FILTER_BIAS"/>
@@ -357,14 +987,14 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_CONVOLUTION_FILTER_SCALE_EXT"/>
         </group>
 
-        <group name="ConvolutionTargetEXT">
+        <group name="ConvolutionTargetEXT" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_CONVOLUTION_1D"/>
             <enum name="GL_CONVOLUTION_1D_EXT"/>
             <enum name="GL_CONVOLUTION_2D"/>
             <enum name="GL_CONVOLUTION_2D_EXT"/>
         </group>
 
-        <group name="CullFaceMode">
+        <group name="CullFaceMode" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_BACK"/>
             <enum name="GL_FRONT"/>
             <enum name="GL_FRONT_AND_BACK"/>
@@ -372,7 +1002,7 @@ typedef unsigned int GLhandleARB;
 
         <group name="DataType" comment="See enums block below"/>
 
-        <group name="DepthFunction">
+        <group name="DepthFunction" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_ALWAYS"/>
             <enum name="GL_EQUAL"/>
             <enum name="GL_GEQUAL"/>
@@ -383,7 +1013,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_NOTEQUAL"/>
         </group>
 
-        <group name="DrawBufferMode">
+        <group name="DrawBufferMode" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_AUX0"/>
             <enum name="GL_AUX1"/>
             <enum name="GL_AUX2"/>
@@ -399,9 +1029,47 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_NONE"/>
             <enum name="GL_NONE_OES"/>
             <enum name="GL_RIGHT"/>
+            <enum name="GL_COLOR_ATTACHMENT0"/>
+            <enum name="GL_COLOR_ATTACHMENT1"/>
+            <enum name="GL_COLOR_ATTACHMENT2"/>
+            <enum name="GL_COLOR_ATTACHMENT3"/>
+            <enum name="GL_COLOR_ATTACHMENT4"/>
+            <enum name="GL_COLOR_ATTACHMENT5"/>
+            <enum name="GL_COLOR_ATTACHMENT6"/>
+            <enum name="GL_COLOR_ATTACHMENT7"/>
+            <enum name="GL_COLOR_ATTACHMENT8"/>
+            <enum name="GL_COLOR_ATTACHMENT9"/>
+            <enum name="GL_COLOR_ATTACHMENT10"/>
+            <enum name="GL_COLOR_ATTACHMENT11"/>
+            <enum name="GL_COLOR_ATTACHMENT12"/>
+            <enum name="GL_COLOR_ATTACHMENT13"/>
+            <enum name="GL_COLOR_ATTACHMENT14"/>
+            <enum name="GL_COLOR_ATTACHMENT15"/>
+            <enum name="GL_COLOR_ATTACHMENT16"/>
+            <enum name="GL_COLOR_ATTACHMENT17"/>
+            <enum name="GL_COLOR_ATTACHMENT18"/>
+            <enum name="GL_COLOR_ATTACHMENT19"/>
+            <enum name="GL_COLOR_ATTACHMENT20"/>
+            <enum name="GL_COLOR_ATTACHMENT21"/>
+            <enum name="GL_COLOR_ATTACHMENT22"/>
+            <enum name="GL_COLOR_ATTACHMENT23"/>
+            <enum name="GL_COLOR_ATTACHMENT24"/>
+            <enum name="GL_COLOR_ATTACHMENT25"/>
+            <enum name="GL_COLOR_ATTACHMENT26"/>
+            <enum name="GL_COLOR_ATTACHMENT27"/>
+            <enum name="GL_COLOR_ATTACHMENT28"/>
+            <enum name="GL_COLOR_ATTACHMENT29"/>
+            <enum name="GL_COLOR_ATTACHMENT30"/>
+            <enum name="GL_COLOR_ATTACHMENT31"/>
+        </group>
+
+        <group name="DrawElementsType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_UNSIGNED_BYTE"/>
+            <enum name="GL_UNSIGNED_SHORT"/>
+            <enum name="GL_UNSIGNED_INT"/>
         </group>
 
-        <group name="EnableCap">
+        <group name="EnableCap" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_ALPHA_TEST"/>
             <enum name="GL_ASYNC_DRAW_PIXELS_SGIX"/>
             <enum name="GL_ASYNC_HISTOGRAM_SGIX"/>
@@ -410,6 +1078,14 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_AUTO_NORMAL"/>
             <enum name="GL_BLEND"/>
             <enum name="GL_CALLIGRAPHIC_FRAGMENT_SGIX"/>
+            <enum name="GL_CLIP_DISTANCE0"/>
+            <enum name="GL_CLIP_DISTANCE1"/>
+            <enum name="GL_CLIP_DISTANCE2"/>
+            <enum name="GL_CLIP_DISTANCE3"/>
+            <enum name="GL_CLIP_DISTANCE4"/>
+            <enum name="GL_CLIP_DISTANCE5"/>
+            <enum name="GL_CLIP_DISTANCE6"/>
+            <enum name="GL_CLIP_DISTANCE7"/>
             <enum name="GL_CLIP_PLANE0"/>
             <enum name="GL_CLIP_PLANE1"/>
             <enum name="GL_CLIP_PLANE2"/>
@@ -423,6 +1099,9 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_CONVOLUTION_1D_EXT"/>
             <enum name="GL_CONVOLUTION_2D_EXT"/>
             <enum name="GL_CULL_FACE"/>
+            <enum name="GL_DEBUG_OUTPUT"/>
+            <enum name="GL_DEBUG_OUTPUT_SYNCHRONOUS"/>
+            <enum name="GL_DEPTH_CLAMP"/>
             <enum name="GL_DEPTH_TEST"/>
             <enum name="GL_DITHER"/>
             <enum name="GL_EDGE_FLAG_ARRAY"/>
@@ -438,6 +1117,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_FRAGMENT_LIGHT6_SGIX"/>
             <enum name="GL_FRAGMENT_LIGHT7_SGIX"/>
             <enum name="GL_FRAGMENT_LIGHTING_SGIX"/>
+            <enum name="GL_FRAMEBUFFER_SRGB"/>
             <enum name="GL_FRAMEZOOM_SGIX"/>
             <enum name="GL_HISTOGRAM_EXT"/>
             <enum name="GL_INDEX_ARRAY"/>
@@ -474,6 +1154,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_MAP2_VERTEX_3"/>
             <enum name="GL_MAP2_VERTEX_4"/>
             <enum name="GL_MINMAX_EXT"/>
+            <enum name="GL_MULTISAMPLE"/>
             <enum name="GL_MULTISAMPLE_SGIS"/>
             <enum name="GL_NORMALIZE"/>
             <enum name="GL_NORMAL_ARRAY"/>
@@ -487,11 +1168,20 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_POLYGON_STIPPLE"/>
             <enum name="GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI"/>
             <enum name="GL_POST_CONVOLUTION_COLOR_TABLE_SGI"/>
+            <enum name="GL_PRIMITIVE_RESTART"/>
+            <enum name="GL_PRIMITIVE_RESTART_FIXED_INDEX"/>
+            <enum name="GL_PROGRAM_POINT_SIZE"/>
+            <enum name="GL_RASTERIZER_DISCARD"/>
             <enum name="GL_REFERENCE_PLANE_SGIX"/>
             <enum name="GL_RESCALE_NORMAL_EXT"/>
+            <enum name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
             <enum name="GL_SAMPLE_ALPHA_TO_MASK_SGIS"/>
+            <enum name="GL_SAMPLE_ALPHA_TO_ONE"/>
             <enum name="GL_SAMPLE_ALPHA_TO_ONE_SGIS"/>
+            <enum name="GL_SAMPLE_COVERAGE"/>
+            <enum name="GL_SAMPLE_MASK"/>
             <enum name="GL_SAMPLE_MASK_SGIS"/>
+            <enum name="GL_SAMPLE_SHADING"/>
             <enum name="GL_SCISSOR_TEST"/>
             <enum name="GL_SEPARABLE_2D_EXT"/>
             <enum name="GL_SHARED_TEXTURE_PALETTE_EXT"/>
@@ -503,6 +1193,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_TEXTURE_4D_SGIS"/>
             <enum name="GL_TEXTURE_COLOR_TABLE_SGI"/>
             <enum name="GL_TEXTURE_COORD_ARRAY"/>
+            <enum name="GL_TEXTURE_CUBE_MAP_SEAMLESS"/>
             <enum name="GL_TEXTURE_GEN_Q"/>
             <enum name="GL_TEXTURE_GEN_R"/>
             <enum name="GL_TEXTURE_GEN_S"/>
@@ -510,7 +1201,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_VERTEX_ARRAY"/>
         </group>
 
-        <group name="ErrorCode">
+        <group name="ErrorCode" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_INVALID_ENUM"/>
             <enum name="GL_INVALID_FRAMEBUFFER_OPERATION"/>
             <enum name="GL_INVALID_FRAMEBUFFER_OPERATION_EXT"/>
@@ -526,7 +1217,18 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_TEXTURE_TOO_LARGE_EXT"/>
         </group>
 
-        <group name="FeedbackType">
+        <group name="ExternalHandleType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_HANDLE_TYPE_OPAQUE_FD_EXT"/>
+            <enum name="GL_HANDLE_TYPE_OPAQUE_WIN32_EXT"/>
+            <enum name="GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT"/>
+            <enum name="GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT"/>
+            <enum name="GL_HANDLE_TYPE_D3D12_RESOURCE_EXT"/>
+            <enum name="GL_HANDLE_TYPE_D3D11_IMAGE_EXT"/>
+            <enum name="GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT"/>
+            <enum name="GL_HANDLE_TYPE_D3D12_FENCE_EXT"/>
+        </group>
+
+        <group name="FeedbackType" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_2D"/>
             <enum name="GL_3D"/>
             <enum name="GL_3D_COLOR"/>
@@ -534,7 +1236,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_4D_COLOR_TEXTURE"/>
         </group>
 
-        <group name="FeedBackToken">
+        <group name="FeedBackToken" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_BITMAP_TOKEN"/>
             <enum name="GL_COPY_PIXEL_TOKEN"/>
             <enum name="GL_DRAW_PIXEL_TOKEN"/>
@@ -547,24 +1249,24 @@ typedef unsigned int GLhandleARB;
 
         <group name="FfdMaskSGIX" comment="See enums section below. Was SGIXFfdMask"/>
 
-        <group name="FfdTargetSGIX">
+        <group name="FfdTargetSGIX" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_GEOMETRY_DEFORMATION_SGIX"/>
             <enum name="GL_TEXTURE_DEFORMATION_SGIX"/>
         </group>
 
-        <group name="FogCoordinatePointerType">
+        <group name="FogCoordinatePointerType" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_FLOAT"/>
             <enum name="GL_DOUBLE"/>
         </group>
 
-        <group name="FogMode">
+        <group name="FogMode" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_EXP"/>
             <enum name="GL_EXP2"/>
             <enum name="GL_FOG_FUNC_SGIS"/>
             <enum name="GL_LINEAR"/>
         </group>
 
-        <group name="FogParameter">
+        <group name="FogParameter" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_FOG_COLOR"/>
             <enum name="GL_FOG_DENSITY"/>
             <enum name="GL_FOG_END"/>
@@ -574,29 +1276,33 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_FOG_START"/>
         </group>
 
-        <group name="FogPointerTypeEXT">
+        <group name="FogPointerTypeEXT" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_FLOAT"/>
             <enum name="GL_DOUBLE"/>
         </group>
 
-        <group name="FogPointerTypeIBM">
+        <group name="FogPointerTypeIBM" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_FLOAT"/>
             <enum name="GL_DOUBLE"/>
         </group>
 
-        <group name="FragmentLightModelParameterSGIX">
+        <group name="FragmentLightModelParameterSGIX" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX"/>
             <enum name="GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX"/>
             <enum name="GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX"/>
             <enum name="GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX"/>
         </group>
 
-        <group name="FrontFaceDirection">
+        <group name="FramebufferFetchNoncoherent" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FRAMEBUFFER_FETCH_NONCOHERENT_QCOM"/>
+        </group>
+
+        <group name="FrontFaceDirection" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_CCW"/>
             <enum name="GL_CW"/>
         </group>
 
-        <group name="GetColorTableParameterPNameSGI">
+        <group name="GetColorTableParameterPNameSGI" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_COLOR_TABLE_ALPHA_SIZE_SGI"/>
             <enum name="GL_COLOR_TABLE_BIAS_SGI"/>
             <enum name="GL_COLOR_TABLE_BLUE_SIZE_SGI"/>
@@ -607,9 +1313,19 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_COLOR_TABLE_RED_SIZE_SGI"/>
             <enum name="GL_COLOR_TABLE_SCALE_SGI"/>
             <enum name="GL_COLOR_TABLE_WIDTH_SGI"/>
+            <enum name="GL_COLOR_TABLE_BIAS"/>
+            <enum name="GL_COLOR_TABLE_SCALE"/>
+            <enum name="GL_COLOR_TABLE_FORMAT"/>
+            <enum name="GL_COLOR_TABLE_WIDTH"/>
+            <enum name="GL_COLOR_TABLE_RED_SIZE"/>
+            <enum name="GL_COLOR_TABLE_GREEN_SIZE"/>
+            <enum name="GL_COLOR_TABLE_BLUE_SIZE"/>
+            <enum name="GL_COLOR_TABLE_ALPHA_SIZE"/>
+            <enum name="GL_COLOR_TABLE_LUMINANCE_SIZE"/>
+            <enum name="GL_COLOR_TABLE_INTENSITY_SIZE"/>
         </group>
 
-        <group name="GetConvolutionParameter">
+        <group name="GetConvolutionParameter" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_CONVOLUTION_BORDER_MODE_EXT"/>
             <enum name="GL_CONVOLUTION_FILTER_BIAS_EXT"/>
             <enum name="GL_CONVOLUTION_FILTER_SCALE_EXT"/>
@@ -618,9 +1334,34 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_CONVOLUTION_WIDTH_EXT"/>
             <enum name="GL_MAX_CONVOLUTION_HEIGHT_EXT"/>
             <enum name="GL_MAX_CONVOLUTION_WIDTH_EXT"/>
+            <enum name="GL_CONVOLUTION_BORDER_MODE"/>
+            <enum name="GL_CONVOLUTION_BORDER_COLOR"/>
+            <enum name="GL_CONVOLUTION_FILTER_SCALE"/>
+            <enum name="GL_CONVOLUTION_FILTER_BIAS"/>
+            <enum name="GL_CONVOLUTION_FORMAT"/>
+            <enum name="GL_CONVOLUTION_WIDTH"/>
+            <enum name="GL_CONVOLUTION_HEIGHT"/>
+            <enum name="GL_MAX_CONVOLUTION_WIDTH"/>
+            <enum name="GL_MAX_CONVOLUTION_HEIGHT"/>
         </group>
 
-        <group name="GetHistogramParameterPNameEXT">
+        <group name="GetHistogramParameterPNameEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_HISTOGRAM_ALPHA_SIZE_EXT"/>
+            <enum name="GL_HISTOGRAM_BLUE_SIZE_EXT"/>
+            <enum name="GL_HISTOGRAM_FORMAT_EXT"/>
+            <enum name="GL_HISTOGRAM_GREEN_SIZE_EXT"/>
+            <enum name="GL_HISTOGRAM_LUMINANCE_SIZE_EXT"/>
+            <enum name="GL_HISTOGRAM_RED_SIZE_EXT"/>
+            <enum name="GL_HISTOGRAM_SINK_EXT"/>
+            <enum name="GL_HISTOGRAM_WIDTH_EXT"/>
+            <enum name="GL_HISTOGRAM_WIDTH"/>
+            <enum name="GL_HISTOGRAM_FORMAT"/>
+            <enum name="GL_HISTOGRAM_RED_SIZE"/>
+            <enum name="GL_HISTOGRAM_GREEN_SIZE"/>
+            <enum name="GL_HISTOGRAM_BLUE_SIZE"/>
+            <enum name="GL_HISTOGRAM_ALPHA_SIZE"/>
+            <enum name="GL_HISTOGRAM_LUMINANCE_SIZE"/>
+            <enum name="GL_HISTOGRAM_SINK"/>
             <enum name="GL_HISTOGRAM_ALPHA_SIZE_EXT"/>
             <enum name="GL_HISTOGRAM_BLUE_SIZE_EXT"/>
             <enum name="GL_HISTOGRAM_FORMAT_EXT"/>
@@ -631,20 +1372,22 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_HISTOGRAM_WIDTH_EXT"/>
         </group>
 
-        <group name="GetMapQuery">
+        <group name="GetMapQuery" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_COEFF"/>
             <enum name="GL_DOMAIN"/>
             <enum name="GL_ORDER"/>
         </group>
 
-        <group name="GetMinmaxParameterPNameEXT">
+        <group name="GetMinmaxParameterPNameEXT" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_MINMAX_FORMAT"/>
             <enum name="GL_MINMAX_FORMAT_EXT"/>
             <enum name="GL_MINMAX_SINK"/>
             <enum name="GL_MINMAX_SINK_EXT"/>
+            <enum name="GL_MINMAX_FORMAT"/>
+            <enum name="GL_MINMAX_SINK"/>
         </group>
 
-        <group name="GetPixelMap">
+        <group name="GetPixelMap" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_PIXEL_MAP_A_TO_A"/>
             <enum name="GL_PIXEL_MAP_B_TO_B"/>
             <enum name="GL_PIXEL_MAP_G_TO_G"/>
@@ -657,12 +1400,13 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_PIXEL_MAP_S_TO_S"/>
         </group>
 
-        <group name="GetPName">
+        <group name="GetPName" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_ACCUM_ALPHA_BITS"/>
             <enum name="GL_ACCUM_BLUE_BITS"/>
             <enum name="GL_ACCUM_CLEAR_VALUE"/>
             <enum name="GL_ACCUM_GREEN_BITS"/>
             <enum name="GL_ACCUM_RED_BITS"/>
+            <enum name="GL_ACTIVE_TEXTURE"/>
             <enum name="GL_ALIASED_LINE_WIDTH_RANGE"/>
             <enum name="GL_ALIASED_POINT_SIZE_RANGE"/>
             <enum name="GL_ALPHA_BIAS"/>
@@ -674,6 +1418,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_ALPHA_TEST_QCOM"/>
             <enum name="GL_ALPHA_TEST_REF"/>
             <enum name="GL_ALPHA_TEST_REF_QCOM"/>
+            <enum name="GL_ARRAY_BUFFER_BINDING"/>
             <enum name="GL_ASYNC_DRAW_PIXELS_SGIX"/>
             <enum name="GL_ASYNC_HISTOGRAM_SGIX"/>
             <enum name="GL_ASYNC_MARKER_SGIX"/>
@@ -683,10 +1428,17 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_AUTO_NORMAL"/>
             <enum name="GL_AUX_BUFFERS"/>
             <enum name="GL_BLEND"/>
+            <enum name="GL_BLEND_COLOR"/>
             <enum name="GL_BLEND_COLOR_EXT"/>
             <enum name="GL_BLEND_DST"/>
+            <enum name="GL_BLEND_DST_ALPHA"/>
+            <enum name="GL_BLEND_DST_RGB"/>
+            <enum name="GL_BLEND_EQUATION_ALPHA"/>
             <enum name="GL_BLEND_EQUATION_EXT"/>
+            <enum name="GL_BLEND_EQUATION_RGB"/>
             <enum name="GL_BLEND_SRC"/>
+            <enum name="GL_BLEND_SRC_ALPHA"/>
+            <enum name="GL_BLEND_SRC_RGB"/>
             <enum name="GL_BLUE_BIAS"/>
             <enum name="GL_BLUE_BITS"/>
             <enum name="GL_BLUE_SCALE"/>
@@ -712,6 +1464,8 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_COLOR_MATRIX_STACK_DEPTH_SGI"/>
             <enum name="GL_COLOR_TABLE_SGI"/>
             <enum name="GL_COLOR_WRITEMASK"/>
+            <enum name="GL_COMPRESSED_TEXTURE_FORMATS"/>
+            <enum name="GL_CONTEXT_FLAGS"/>
             <enum name="GL_CONVOLUTION_1D_EXT"/>
             <enum name="GL_CONVOLUTION_2D_EXT"/>
             <enum name="GL_CONVOLUTION_HINT_SGIX"/>
@@ -720,6 +1474,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_CURRENT_COLOR"/>
             <enum name="GL_CURRENT_INDEX"/>
             <enum name="GL_CURRENT_NORMAL"/>
+            <enum name="GL_CURRENT_PROGRAM"/>
             <enum name="GL_CURRENT_RASTER_COLOR"/>
             <enum name="GL_CURRENT_RASTER_DISTANCE"/>
             <enum name="GL_CURRENT_RASTER_INDEX"/>
@@ -727,6 +1482,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_CURRENT_RASTER_POSITION_VALID"/>
             <enum name="GL_CURRENT_RASTER_TEXTURE_COORDS"/>
             <enum name="GL_CURRENT_TEXTURE_COORDS"/>
+            <enum name="GL_DEBUG_GROUP_STACK_DEPTH"/>
             <enum name="GL_DEFORMATIONS_MASK_SGIX"/>
             <enum name="GL_DEPTH_BIAS"/>
             <enum name="GL_DEPTH_BITS"/>
@@ -737,15 +1493,22 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_DEPTH_TEST"/>
             <enum name="GL_DEPTH_WRITEMASK"/>
             <enum name="GL_DETAIL_TEXTURE_2D_BINDING_SGIS"/>
+            <enum name="GL_DEVICE_LUID_EXT"/>
+            <enum name="GL_DEVICE_NODE_MASK_EXT"/>
+            <enum name="GL_DEVICE_UUID_EXT"/>
+            <enum name="GL_DISPATCH_INDIRECT_BUFFER_BINDING"/>
             <enum name="GL_DISTANCE_ATTENUATION_SGIS"/>
             <enum name="GL_DITHER"/>
             <enum name="GL_DOUBLEBUFFER"/>
             <enum name="GL_DRAW_BUFFER"/>
             <enum name="GL_DRAW_BUFFER_EXT"/>
+            <enum name="GL_DRAW_FRAMEBUFFER_BINDING"/>
+            <enum name="GL_DRIVER_UUID_EXT"/>
             <enum name="GL_EDGE_FLAG"/>
             <enum name="GL_EDGE_FLAG_ARRAY"/>
             <enum name="GL_EDGE_FLAG_ARRAY_COUNT_EXT"/>
             <enum name="GL_EDGE_FLAG_ARRAY_STRIDE"/>
+            <enum name="GL_ELEMENT_ARRAY_BUFFER_BINDING"/>
             <enum name="GL_FEEDBACK_BUFFER_SIZE"/>
             <enum name="GL_FEEDBACK_BUFFER_TYPE"/>
             <enum name="GL_FOG"/>
@@ -768,6 +1531,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX"/>
             <enum name="GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX"/>
             <enum name="GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX"/>
+            <enum name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT"/>
             <enum name="GL_FRAMEZOOM_FACTOR_SGIX"/>
             <enum name="GL_FRAMEZOOM_SGIX"/>
             <enum name="GL_FRONT_FACE"/>
@@ -776,6 +1540,8 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_GREEN_BITS"/>
             <enum name="GL_GREEN_SCALE"/>
             <enum name="GL_HISTOGRAM_EXT"/>
+            <enum name="GL_IMPLEMENTATION_COLOR_READ_FORMAT"/>
+            <enum name="GL_IMPLEMENTATION_COLOR_READ_TYPE"/>
             <enum name="GL_INDEX_ARRAY"/>
             <enum name="GL_INDEX_ARRAY_COUNT_EXT"/>
             <enum name="GL_INDEX_ARRAY_STRIDE"/>
@@ -790,6 +1556,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_INSTRUMENT_MEASUREMENTS_SGIX"/>
             <enum name="GL_INTERLACE_SGIX"/>
             <enum name="GL_IR_INSTRUMENT1_SGIX"/>
+            <enum name="GL_LAYER_PROVOKING_VERTEX"/>
             <enum name="GL_LIGHT0"/>
             <enum name="GL_LIGHT1"/>
             <enum name="GL_LIGHT2"/>
@@ -817,6 +1584,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_LIST_MODE"/>
             <enum name="GL_LOGIC_OP"/>
             <enum name="GL_LOGIC_OP_MODE"/>
+            <enum name="GL_MAJOR_VERSION"/>
             <enum name="GL_MAP1_COLOR_4"/>
             <enum name="GL_MAP1_GRID_DOMAIN"/>
             <enum name="GL_MAP1_GRID_SEGMENTS"/>
@@ -842,9 +1610,11 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_MAP_COLOR"/>
             <enum name="GL_MAP_STENCIL"/>
             <enum name="GL_MATRIX_MODE"/>
+            <enum name="GL_MAX_3D_TEXTURE_SIZE"/>
             <enum name="GL_MAX_3D_TEXTURE_SIZE_EXT"/>
             <enum name="GL_MAX_4D_TEXTURE_SIZE_SGIS"/>
             <enum name="GL_MAX_ACTIVE_LIGHTS_SGIX"/>
+            <enum name="GL_MAX_ARRAY_TEXTURE_LAYERS"/>
             <enum name="GL_MAX_ASYNC_DRAW_PIXELS_SGIX"/>
             <enum name="GL_MAX_ASYNC_HISTOGRAM_SGIX"/>
             <enum name="GL_MAX_ASYNC_READ_PIXELS_SGIX"/>
@@ -856,38 +1626,123 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_MAX_CLIP_DISTANCES"/>
             <enum name="GL_MAX_CLIP_PLANES"/>
             <enum name="GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI"/>
+            <enum name="GL_MAX_COLOR_TEXTURE_SAMPLES"/>
+            <enum name="GL_MAX_COMBINED_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_MAX_COMBINED_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_MAX_COMPUTE_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_COMPUTE_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_COMPUTE_WORK_GROUP_COUNT"/>
+            <enum name="GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS"/>
+            <enum name="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
+            <enum name="GL_MAX_CUBE_MAP_TEXTURE_SIZE"/>
+            <enum name="GL_MAX_DEBUG_GROUP_STACK_DEPTH"/>
+            <enum name="GL_MAX_DEPTH_TEXTURE_SAMPLES"/>
+            <enum name="GL_MAX_DRAW_BUFFERS"/>
+            <enum name="GL_MAX_DUAL_SOURCE_DRAW_BUFFERS"/>
+            <enum name="GL_MAX_ELEMENTS_INDICES"/>
+            <enum name="GL_MAX_ELEMENTS_VERTICES"/>
+            <enum name="GL_MAX_ELEMENT_INDEX"/>
             <enum name="GL_MAX_EVAL_ORDER"/>
             <enum name="GL_MAX_FOG_FUNC_POINTS_SGIS"/>
+            <enum name="GL_MAX_FRAGMENT_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_FRAGMENT_INPUT_COMPONENTS"/>
             <enum name="GL_MAX_FRAGMENT_LIGHTS_SGIX"/>
+            <enum name="GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_FRAGMENT_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_FRAGMENT_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_FRAGMENT_UNIFORM_VECTORS"/>
+            <enum name="GL_MAX_FRAMEBUFFER_HEIGHT"/>
+            <enum name="GL_MAX_FRAMEBUFFER_LAYERS"/>
+            <enum name="GL_MAX_FRAMEBUFFER_SAMPLES"/>
+            <enum name="GL_MAX_FRAMEBUFFER_WIDTH"/>
             <enum name="GL_MAX_FRAMEZOOM_FACTOR_SGIX"/>
+            <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_GEOMETRY_INPUT_COMPONENTS"/>
+            <enum name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS"/>
+            <enum name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_INTEGER_SAMPLES"/>
+            <enum name="GL_MAX_LABEL_LENGTH"/>
             <enum name="GL_MAX_LIGHTS"/>
             <enum name="GL_MAX_LIST_NESTING"/>
             <enum name="GL_MAX_MODELVIEW_STACK_DEPTH"/>
             <enum name="GL_MAX_NAME_STACK_DEPTH"/>
             <enum name="GL_MAX_PIXEL_MAP_TABLE"/>
+            <enum name="GL_MAX_PROGRAM_TEXEL_OFFSET"/>
             <enum name="GL_MAX_PROJECTION_STACK_DEPTH"/>
+            <enum name="GL_MAX_RECTANGLE_TEXTURE_SIZE"/>
+            <enum name="GL_MAX_RENDERBUFFER_SIZE"/>
+            <enum name="GL_MAX_SAMPLE_MASK_WORDS"/>
+            <enum name="GL_MAX_SERVER_WAIT_TIMEOUT"/>
+            <enum name="GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS"/>
+            <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_TEXTURE_BUFFER_SIZE"/>
+            <enum name="GL_MAX_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_MAX_TEXTURE_LOD_BIAS"/>
             <enum name="GL_MAX_TEXTURE_SIZE"/>
             <enum name="GL_MAX_TEXTURE_STACK_DEPTH"/>
-            <enum name="GL_MAX_VIEWPORT_DIMS"/>
-            <enum name="GL_MINMAX_EXT"/>
-            <enum name="GL_MODELVIEW0_MATRIX_EXT"/>
-            <enum name="GL_MODELVIEW0_STACK_DEPTH_EXT"/>
-            <enum name="GL_MODELVIEW_MATRIX"/>
-            <enum name="GL_MODELVIEW_STACK_DEPTH"/>
-            <enum name="GL_MULTISAMPLE_SGIS"/>
-            <enum name="GL_NAME_STACK_DEPTH"/>
-            <enum name="GL_NORMALIZE"/>
-            <enum name="GL_NORMAL_ARRAY"/>
-            <enum name="GL_NORMAL_ARRAY_COUNT_EXT"/>
+            <enum name="GL_MAX_UNIFORM_BLOCK_SIZE"/>
+            <enum name="GL_MAX_UNIFORM_BUFFER_BINDINGS"/>
+            <enum name="GL_MAX_UNIFORM_LOCATIONS"/>
+            <enum name="GL_MAX_VARYING_COMPONENTS"/>
+            <enum name="GL_MAX_VARYING_FLOATS"/>
+            <enum name="GL_MAX_VARYING_VECTORS"/>
+            <enum name="GL_MAX_VERTEX_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_VERTEX_ATTRIBS"/>
+            <enum name="GL_MAX_VERTEX_ATTRIB_BINDINGS"/>
+            <enum name="GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+            <enum name="GL_MAX_VERTEX_OUTPUT_COMPONENTS"/>
+            <enum name="GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_MAX_VERTEX_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_VERTEX_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_VERTEX_UNIFORM_VECTORS"/>
+            <enum name="GL_MAX_VIEWPORTS"/>
+            <enum name="GL_MAX_VIEWPORT_DIMS"/>
+            <enum name="GL_MINMAX_EXT"/>
+            <enum name="GL_MINOR_VERSION"/>
+            <enum name="GL_MIN_MAP_BUFFER_ALIGNMENT"/>
+            <enum name="GL_MIN_PROGRAM_TEXEL_OFFSET"/>
+            <enum name="GL_MODELVIEW0_MATRIX_EXT"/>
+            <enum name="GL_MODELVIEW0_STACK_DEPTH_EXT"/>
+            <enum name="GL_MODELVIEW_MATRIX"/>
+            <enum name="GL_MODELVIEW_STACK_DEPTH"/>
+            <enum name="GL_MULTISAMPLE_SGIS"/>
+            <enum name="GL_NAME_STACK_DEPTH"/>
+            <enum name="GL_NORMALIZE"/>
+            <enum name="GL_NORMAL_ARRAY"/>
+            <enum name="GL_NORMAL_ARRAY_COUNT_EXT"/>
             <enum name="GL_NORMAL_ARRAY_STRIDE"/>
             <enum name="GL_NORMAL_ARRAY_TYPE"/>
+            <enum name="GL_NUM_COMPRESSED_TEXTURE_FORMATS"/>
+            <enum name="GL_NUM_DEVICE_UUIDS_EXT"/>
+            <enum name="GL_NUM_EXTENSIONS"/>
+            <enum name="GL_NUM_PROGRAM_BINARY_FORMATS"/>
+            <enum name="GL_NUM_SHADER_BINARY_FORMATS"/>
             <enum name="GL_PACK_ALIGNMENT"/>
             <enum name="GL_PACK_CMYK_HINT_EXT"/>
             <enum name="GL_PACK_IMAGE_DEPTH_SGIS"/>
+            <enum name="GL_PACK_IMAGE_HEIGHT"/>
             <enum name="GL_PACK_IMAGE_HEIGHT_EXT"/>
             <enum name="GL_PACK_LSB_FIRST"/>
             <enum name="GL_PACK_RESAMPLE_SGIX"/>
             <enum name="GL_PACK_ROW_LENGTH"/>
+            <enum name="GL_PACK_SKIP_IMAGES"/>
             <enum name="GL_PACK_SKIP_IMAGES_EXT"/>
             <enum name="GL_PACK_SKIP_PIXELS"/>
             <enum name="GL_PACK_SKIP_ROWS"/>
@@ -905,6 +1760,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_PIXEL_MAP_I_TO_R_SIZE"/>
             <enum name="GL_PIXEL_MAP_R_TO_R_SIZE"/>
             <enum name="GL_PIXEL_MAP_S_TO_S_SIZE"/>
+            <enum name="GL_PIXEL_PACK_BUFFER_BINDING"/>
             <enum name="GL_PIXEL_TEXTURE_SGIS"/>
             <enum name="GL_PIXEL_TEX_GEN_MODE_SGIX"/>
             <enum name="GL_PIXEL_TEX_GEN_SGIX"/>
@@ -916,6 +1772,8 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_PIXEL_TILE_GRID_WIDTH_SGIX"/>
             <enum name="GL_PIXEL_TILE_HEIGHT_SGIX"/>
             <enum name="GL_PIXEL_TILE_WIDTH_SGIX"/>
+            <enum name="GL_PIXEL_UNPACK_BUFFER_BINDING"/>
+            <enum name="GL_POINT_FADE_THRESHOLD_SIZE"/>
             <enum name="GL_POINT_FADE_THRESHOLD_SIZE_SGIS"/>
             <enum name="GL_POINT_SIZE"/>
             <enum name="GL_POINT_SIZE_GRANULARITY"/>
@@ -954,23 +1812,35 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_POST_CONVOLUTION_RED_SCALE_EXT"/>
             <enum name="GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX"/>
             <enum name="GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX"/>
+            <enum name="GL_PRIMITIVE_RESTART_INDEX"/>
+            <enum name="GL_PROGRAM_BINARY_FORMATS"/>
+            <enum name="GL_PROGRAM_PIPELINE_BINDING"/>
+            <enum name="GL_PROGRAM_POINT_SIZE"/>
             <enum name="GL_PROJECTION_MATRIX"/>
             <enum name="GL_PROJECTION_STACK_DEPTH"/>
+            <enum name="GL_PROVOKING_VERTEX"/>
             <enum name="GL_READ_BUFFER"/>
             <enum name="GL_READ_BUFFER_EXT"/>
             <enum name="GL_READ_BUFFER_NV"/>
+            <enum name="GL_READ_FRAMEBUFFER_BINDING"/>
             <enum name="GL_RED_BIAS"/>
             <enum name="GL_RED_BITS"/>
             <enum name="GL_RED_SCALE"/>
             <enum name="GL_REFERENCE_PLANE_EQUATION_SGIX"/>
             <enum name="GL_REFERENCE_PLANE_SGIX"/>
+            <enum name="GL_RENDERBUFFER_BINDING"/>
             <enum name="GL_RENDER_MODE"/>
             <enum name="GL_RESCALE_NORMAL_EXT"/>
             <enum name="GL_RGBA_MODE"/>
+            <enum name="GL_SAMPLER_BINDING"/>
+            <enum name="GL_SAMPLES"/>
             <enum name="GL_SAMPLES_SGIS"/>
             <enum name="GL_SAMPLE_ALPHA_TO_MASK_SGIS"/>
             <enum name="GL_SAMPLE_ALPHA_TO_ONE_SGIS"/>
+            <enum name="GL_SAMPLE_BUFFERS"/>
             <enum name="GL_SAMPLE_BUFFERS_SGIS"/>
+            <enum name="GL_SAMPLE_COVERAGE_INVERT"/>
+            <enum name="GL_SAMPLE_COVERAGE_VALUE"/>
             <enum name="GL_SAMPLE_MASK_INVERT_SGIS"/>
             <enum name="GL_SAMPLE_MASK_SGIS"/>
             <enum name="GL_SAMPLE_MASK_VALUE_SGIS"/>
@@ -979,6 +1849,11 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_SCISSOR_TEST"/>
             <enum name="GL_SELECTION_BUFFER_SIZE"/>
             <enum name="GL_SEPARABLE_2D_EXT"/>
+            <enum name="GL_SHADER_COMPILER"/>
+            <enum name="GL_SHADER_STORAGE_BUFFER_BINDING"/>
+            <enum name="GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT"/>
+            <enum name="GL_SHADER_STORAGE_BUFFER_SIZE"/>
+            <enum name="GL_SHADER_STORAGE_BUFFER_START"/>
             <enum name="GL_SHADE_MODEL"/>
             <enum name="GL_SHARED_TEXTURE_PALETTE_EXT"/>
             <enum name="GL_SMOOTH_LINE_WIDTH_GRANULARITY"/>
@@ -989,6 +1864,13 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_SPRITE_MODE_SGIX"/>
             <enum name="GL_SPRITE_SGIX"/>
             <enum name="GL_SPRITE_TRANSLATION_SGIX"/>
+            <enum name="GL_STENCIL_BACK_FAIL"/>
+            <enum name="GL_STENCIL_BACK_FUNC"/>
+            <enum name="GL_STENCIL_BACK_PASS_DEPTH_FAIL"/>
+            <enum name="GL_STENCIL_BACK_PASS_DEPTH_PASS"/>
+            <enum name="GL_STENCIL_BACK_REF"/>
+            <enum name="GL_STENCIL_BACK_VALUE_MASK"/>
+            <enum name="GL_STENCIL_BACK_WRITEMASK"/>
             <enum name="GL_STENCIL_BITS"/>
             <enum name="GL_STENCIL_CLEAR_VALUE"/>
             <enum name="GL_STENCIL_FAIL"/>
@@ -1008,9 +1890,18 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_TEXTURE_4D_BINDING_SGIS"/>
             <enum name="GL_TEXTURE_4D_SGIS"/>
             <enum name="GL_TEXTURE_BINDING_1D"/>
+            <enum name="GL_TEXTURE_BINDING_1D_ARRAY"/>
             <enum name="GL_TEXTURE_BINDING_2D"/>
+            <enum name="GL_TEXTURE_BINDING_2D_ARRAY"/>
+            <enum name="GL_TEXTURE_BINDING_2D_MULTISAMPLE"/>
+            <enum name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY"/>
             <enum name="GL_TEXTURE_BINDING_3D"/>
+            <enum name="GL_TEXTURE_BINDING_BUFFER"/>
+            <enum name="GL_TEXTURE_BINDING_CUBE_MAP"/>
+            <enum name="GL_TEXTURE_BINDING_RECTANGLE"/>
+            <enum name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT"/>
             <enum name="GL_TEXTURE_COLOR_TABLE_SGI"/>
+            <enum name="GL_TEXTURE_COMPRESSION_HINT"/>
             <enum name="GL_TEXTURE_COORD_ARRAY"/>
             <enum name="GL_TEXTURE_COORD_ARRAY_COUNT_EXT"/>
             <enum name="GL_TEXTURE_COORD_ARRAY_SIZE"/>
@@ -1022,13 +1913,23 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_TEXTURE_GEN_T"/>
             <enum name="GL_TEXTURE_MATRIX"/>
             <enum name="GL_TEXTURE_STACK_DEPTH"/>
+            <enum name="GL_TIMESTAMP"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_START"/>
+            <enum name="GL_UNIFORM_BUFFER_BINDING"/>
+            <enum name="GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT"/>
+            <enum name="GL_UNIFORM_BUFFER_SIZE"/>
+            <enum name="GL_UNIFORM_BUFFER_START"/>
             <enum name="GL_UNPACK_ALIGNMENT"/>
             <enum name="GL_UNPACK_CMYK_HINT_EXT"/>
             <enum name="GL_UNPACK_IMAGE_DEPTH_SGIS"/>
+            <enum name="GL_UNPACK_IMAGE_HEIGHT"/>
             <enum name="GL_UNPACK_IMAGE_HEIGHT_EXT"/>
             <enum name="GL_UNPACK_LSB_FIRST"/>
             <enum name="GL_UNPACK_RESAMPLE_SGIX"/>
             <enum name="GL_UNPACK_ROW_LENGTH"/>
+            <enum name="GL_UNPACK_SKIP_IMAGES"/>
             <enum name="GL_UNPACK_SKIP_IMAGES_EXT"/>
             <enum name="GL_UNPACK_SKIP_PIXELS"/>
             <enum name="GL_UNPACK_SKIP_ROWS"/>
@@ -1036,18 +1937,25 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_UNPACK_SUBSAMPLE_RATE_SGIX"/>
             <enum name="GL_UNPACK_SWAP_BYTES"/>
             <enum name="GL_VERTEX_ARRAY"/>
+            <enum name="GL_VERTEX_ARRAY_BINDING"/>
             <enum name="GL_VERTEX_ARRAY_COUNT_EXT"/>
             <enum name="GL_VERTEX_ARRAY_SIZE"/>
             <enum name="GL_VERTEX_ARRAY_STRIDE"/>
             <enum name="GL_VERTEX_ARRAY_TYPE"/>
+            <enum name="GL_VERTEX_BINDING_DIVISOR"/>
+            <enum name="GL_VERTEX_BINDING_OFFSET"/>
+            <enum name="GL_VERTEX_BINDING_STRIDE"/>
             <enum name="GL_VERTEX_PRECLIP_HINT_SGIX"/>
             <enum name="GL_VERTEX_PRECLIP_SGIX"/>
             <enum name="GL_VIEWPORT"/>
+            <enum name="GL_VIEWPORT_BOUNDS_RANGE"/>
+            <enum name="GL_VIEWPORT_INDEX_PROVOKING_VERTEX"/>
+            <enum name="GL_VIEWPORT_SUBPIXEL_BITS"/>
             <enum name="GL_ZOOM_X"/>
             <enum name="GL_ZOOM_Y"/>
         </group>
 
-        <group name="GetPointervPName">
+        <group name="GetPointervPName" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_COLOR_ARRAY_POINTER"/>
             <enum name="GL_COLOR_ARRAY_POINTER_EXT"/>
             <enum name="GL_EDGE_FLAG_ARRAY_POINTER"/>
@@ -1063,9 +1971,11 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_TEXTURE_COORD_ARRAY_POINTER_EXT"/>
             <enum name="GL_VERTEX_ARRAY_POINTER"/>
             <enum name="GL_VERTEX_ARRAY_POINTER_EXT"/>
+            <enum name="GL_DEBUG_CALLBACK_FUNCTION"/>
+            <enum name="GL_DEBUG_CALLBACK_USER_PARAM"/>
         </group>
 
-        <group name="GetTextureParameter">
+        <group name="GetTextureParameter" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS"/>
             <enum name="GL_DETAIL_TEXTURE_LEVEL_SGIS"/>
             <enum name="GL_DETAIL_TEXTURE_MODE_SGIS"/>
@@ -1122,13 +2032,13 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_TEXTURE_WRAP_T"/>
         </group>
 
-        <group name="HintMode">
+        <group name="HintMode" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_DONT_CARE"/>
             <enum name="GL_FASTEST"/>
             <enum name="GL_NICEST"/>
         </group>
 
-        <group name="HintTarget">
+        <group name="HintTarget" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_ALLOW_DRAW_FRG_HINT_PGI"/>
             <enum name="GL_ALLOW_DRAW_MEM_HINT_PGI"/>
             <enum name="GL_ALLOW_DRAW_OBJ_HINT_PGI"/>
@@ -1182,21 +2092,21 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_WIDE_LINE_HINT_PGI"/>
         </group>
 
-        <group name="HistogramTargetEXT">
+        <group name="HistogramTargetEXT" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_HISTOGRAM"/>
             <enum name="GL_HISTOGRAM_EXT"/>
             <enum name="GL_PROXY_HISTOGRAM"/>
             <enum name="GL_PROXY_HISTOGRAM_EXT"/>
         </group>
 
-        <group name="IndexPointerType">
+        <group name="IndexPointerType" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_DOUBLE"/>
             <enum name="GL_FLOAT"/>
             <enum name="GL_INT"/>
             <enum name="GL_SHORT"/>
         </group>
 
-        <group name="InterleavedArrayFormat">
+        <group name="InterleavedArrayFormat" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_C3F_V3F"/>
             <enum name="GL_C4F_N3F_V3F"/>
             <enum name="GL_C4UB_V2F"/>
@@ -1213,24 +2123,24 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_V3F"/>
         </group>
 
-        <group name="LightEnvModeSGIX">
+        <group name="LightEnvModeSGIX" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_ADD"/>
             <enum name="GL_MODULATE"/>
             <enum name="GL_REPLACE"/>
         </group>
 
-        <group name="LightEnvParameterSGIX">
+        <group name="LightEnvParameterSGIX" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_LIGHT_ENV_MODE_SGIX"/>
         </group>
 
-        <group name="LightModelColorControl">
+        <group name="LightModelColorControl" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_SEPARATE_SPECULAR_COLOR"/>
             <enum name="GL_SEPARATE_SPECULAR_COLOR_EXT"/>
             <enum name="GL_SINGLE_COLOR"/>
             <enum name="GL_SINGLE_COLOR_EXT"/>
         </group>
 
-        <group name="LightModelParameter">
+        <group name="LightModelParameter" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_LIGHT_MODEL_AMBIENT"/>
             <enum name="GL_LIGHT_MODEL_COLOR_CONTROL"/>
             <enum name="GL_LIGHT_MODEL_COLOR_CONTROL_EXT"/>
@@ -1238,7 +2148,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_LIGHT_MODEL_TWO_SIDE"/>
         </group>
 
-        <group name="LightName">
+        <group name="LightName" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_FRAGMENT_LIGHT0_SGIX"/>
             <enum name="GL_FRAGMENT_LIGHT1_SGIX"/>
             <enum name="GL_FRAGMENT_LIGHT2_SGIX"/>
@@ -1257,7 +2167,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_LIGHT7"/>
         </group>
 
-        <group name="LightParameter">
+        <group name="LightParameter" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_AMBIENT"/>
             <enum name="GL_CONSTANT_ATTENUATION"/>
             <enum name="GL_DIFFUSE"/>
@@ -1270,12 +2180,12 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_SPOT_EXPONENT"/>
         </group>
 
-        <group name="ListMode">
+        <group name="ListMode" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_COMPILE"/>
             <enum name="GL_COMPILE_AND_EXECUTE"/>
         </group>
 
-        <group name="ListNameType">
+        <group name="ListNameType" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_2_BYTES"/>
             <enum name="GL_3_BYTES"/>
             <enum name="GL_4_BYTES"/>
@@ -1288,11 +2198,11 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_UNSIGNED_SHORT"/>
         </group>
 
-        <group name="ListParameterName">
+        <group name="ListParameterName" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_LIST_PRIORITY_SGIX"/>
         </group>
 
-        <group name="LogicOp">
+        <group name="LogicOp" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_AND"/>
             <enum name="GL_AND_INVERTED"/>
             <enum name="GL_AND_REVERSE"/>
@@ -1311,10 +2221,9 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_XOR"/>
         </group>
 
-        <group name="MapBufferUsageMask">
-            <enum name="GL_CLIENT_STORAGE_BIT"/>
-            <enum name="GL_DYNAMIC_STORAGE_BIT"/>
+        <group name="MapBufferAccessMask" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_MAP_COHERENT_BIT"/>
+            <enum name="GL_MAP_COHERENT_BIT_EXT"/>
             <enum name="GL_MAP_FLUSH_EXPLICIT_BIT"/>
             <enum name="GL_MAP_FLUSH_EXPLICIT_BIT_EXT"/>
             <enum name="GL_MAP_INVALIDATE_BUFFER_BIT"/>
@@ -1322,6 +2231,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_MAP_INVALIDATE_RANGE_BIT"/>
             <enum name="GL_MAP_INVALIDATE_RANGE_BIT_EXT"/>
             <enum name="GL_MAP_PERSISTENT_BIT"/>
+            <enum name="GL_MAP_PERSISTENT_BIT_EXT"/>
             <enum name="GL_MAP_READ_BIT"/>
             <enum name="GL_MAP_READ_BIT_EXT"/>
             <enum name="GL_MAP_UNSYNCHRONIZED_BIT"/>
@@ -1330,7 +2240,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_MAP_WRITE_BIT_EXT"/>
         </group>
 
-        <group name="MapTarget">
+        <group name="MapTarget" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_GEOMETRY_DEFORMATION_SGIX"/>
             <enum name="GL_MAP1_COLOR_4"/>
             <enum name="GL_MAP1_INDEX"/>
@@ -1353,19 +2263,19 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_TEXTURE_DEFORMATION_SGIX"/>
         </group>
 
-        <group name="MapTextureFormatINTEL">
+        <group name="MapTextureFormatINTEL" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_LAYOUT_DEFAULT_INTEL"/>
             <enum name="GL_LAYOUT_LINEAR_CPU_CACHED_INTEL"/>
             <enum name="GL_LAYOUT_LINEAR_INTEL"/>
         </group>
 
-        <group name="MaterialFace">
+        <group name="MaterialFace" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_BACK"/>
             <enum name="GL_FRONT"/>
             <enum name="GL_FRONT_AND_BACK"/>
         </group>
 
-        <group name="MaterialParameter">
+        <group name="MaterialParameter" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_AMBIENT"/>
             <enum name="GL_AMBIENT_AND_DIFFUSE"/>
             <enum name="GL_COLOR_INDEXES"/>
@@ -1375,14 +2285,14 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_SPECULAR"/>
         </group>
 
-        <group name="MatrixMode">
+        <group name="MatrixMode" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_MODELVIEW"/>
             <enum name="GL_MODELVIEW0_EXT"/>
             <enum name="GL_PROJECTION"/>
             <enum name="GL_TEXTURE"/>
         </group>
 
-        <group name="MemoryBarrierMask">
+        <group name="MemoryBarrierMask" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_ALL_BARRIER_BITS"/>
             <enum name="GL_ALL_BARRIER_BITS_EXT"/>
             <enum name="GL_ATOMIC_COUNTER_BARRIER_BIT"/>
@@ -1390,6 +2300,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_BUFFER_UPDATE_BARRIER_BIT"/>
             <enum name="GL_BUFFER_UPDATE_BARRIER_BIT_EXT"/>
             <enum name="GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT"/>
+            <enum name="GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT"/>
             <enum name="GL_COMMAND_BARRIER_BIT"/>
             <enum name="GL_COMMAND_BARRIER_BIT_EXT"/>
             <enum name="GL_ELEMENT_ARRAY_BARRIER_BIT"/>
@@ -1415,23 +2326,28 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT"/>
         </group>
 
-        <group name="MeshMode1">
+        <group name="MemoryObjectParameterName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_DEDICATED_MEMORY_OBJECT_EXT"/>
+            <enum name="GL_PROTECTED_MEMORY_OBJECT_EXT"/>
+        </group>
+
+        <group name="MeshMode1" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_LINE"/>
             <enum name="GL_POINT"/>
         </group>
 
-        <group name="MeshMode2">
+        <group name="MeshMode2" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_FILL"/>
             <enum name="GL_LINE"/>
             <enum name="GL_POINT"/>
         </group>
 
-        <group name="MinmaxTargetEXT">
+        <group name="MinmaxTargetEXT" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_MINMAX"/>
             <enum name="GL_MINMAX_EXT"/>
         </group>
 
-        <group name="NormalPointerType">
+        <group name="NormalPointerType" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_BYTE"/>
             <enum name="GL_DOUBLE"/>
             <enum name="GL_FLOAT"/>
@@ -1439,7 +2355,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_SHORT"/>
         </group>
 
-        <group name="PixelCopyType">
+        <group name="PixelCopyType" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_COLOR"/>
             <enum name="GL_COLOR_EXT"/>
             <enum name="GL_DEPTH"/>
@@ -1448,21 +2364,33 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_STENCIL_EXT"/>
         </group>
 
-        <group name="PixelFormat">
+        <group name="PixelFormat" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_ABGR_EXT"/>
             <enum name="GL_ALPHA"/>
+            <enum name="GL_BGR"/>
+            <enum name="GL_BGR_INTEGER"/>
+            <enum name="GL_BGRA"/>
+            <enum name="GL_BGRA_INTEGER"/>
             <enum name="GL_BLUE"/>
+            <enum name="GL_BLUE_INTEGER"/>
             <enum name="GL_CMYKA_EXT"/>
             <enum name="GL_CMYK_EXT"/>
             <enum name="GL_COLOR_INDEX"/>
             <enum name="GL_DEPTH_COMPONENT"/>
+            <enum name="GL_DEPTH_STENCIL"/>
             <enum name="GL_GREEN"/>
+            <enum name="GL_GREEN_INTEGER"/>
             <enum name="GL_LUMINANCE"/>
             <enum name="GL_LUMINANCE_ALPHA"/>
             <enum name="GL_RED"/>
             <enum name="GL_RED_EXT"/>
+            <enum name="GL_RED_INTEGER"/>
+            <enum name="GL_RG"/>
+            <enum name="GL_RG_INTEGER"/>
             <enum name="GL_RGB"/>
+            <enum name="GL_RGB_INTEGER"/>
             <enum name="GL_RGBA"/>
+            <enum name="GL_RGBA_INTEGER"/>
             <enum name="GL_STENCIL_INDEX"/>
             <enum name="GL_UNSIGNED_INT"/>
             <enum name="GL_UNSIGNED_SHORT"/>
@@ -1471,15 +2399,13 @@ typedef unsigned int GLhandleARB;
         </group>
 
         <group name="InternalFormat" comment="Was PixelInternalFormat">
+            <!-- Compatibility -->
             <enum name="GL_ALPHA12"/>
             <enum name="GL_ALPHA16"/>
-            <enum name="GL_ALPHA16_ICC_SGIX"/>
+            <!-- <enum name="GL_ALPHA16_ICC_SGIX" comment="Incomplete extension SGIX_icc_texture"/> -->
             <enum name="GL_ALPHA4"/>
             <enum name="GL_ALPHA8"/>
-            <enum name="GL_ALPHA_ICC_SGIX"/>
-            <enum name="GL_DEPTH_COMPONENT16_SGIX"/>
-            <enum name="GL_DEPTH_COMPONENT24_SGIX"/>
-            <enum name="GL_DEPTH_COMPONENT32_SGIX"/>
+            <!-- <enum name="GL_ALPHA_ICC_SGIX" comment="Incomplete extension SGIX_icc_texture"/> -->
             <enum name="GL_DUAL_ALPHA12_SGIS"/>
             <enum name="GL_DUAL_ALPHA16_SGIS"/>
             <enum name="GL_DUAL_ALPHA4_SGIS"/>
@@ -1497,52 +2423,306 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_INTENSITY"/>
             <enum name="GL_INTENSITY12"/>
             <enum name="GL_INTENSITY16"/>
-            <enum name="GL_INTENSITY16_ICC_SGIX"/>
+            <!-- <enum name="GL_INTENSITY16_ICC_SGIX" comment="Incomplete extension SGIX_icc_texture"/> -->
             <enum name="GL_INTENSITY4"/>
             <enum name="GL_INTENSITY8"/>
-            <enum name="GL_INTENSITY_ICC_SGIX"/>
+            <!-- <enum name="GL_INTENSITY_ICC_SGIX" comment="Incomplete extension SGIX_icc_texture"/> -->
             <enum name="GL_LUMINANCE12"/>
             <enum name="GL_LUMINANCE12_ALPHA12"/>
             <enum name="GL_LUMINANCE12_ALPHA4"/>
             <enum name="GL_LUMINANCE16"/>
             <enum name="GL_LUMINANCE16_ALPHA16"/>
-            <enum name="GL_LUMINANCE16_ALPHA8_ICC_SGIX"/>
-            <enum name="GL_LUMINANCE16_ICC_SGIX"/>
+            <!-- <enum name="GL_LUMINANCE16_ALPHA8_ICC_SGIX" comment="Incomplete extension SGIX_icc_texture"/> -->
+            <!-- <enum name="GL_LUMINANCE16_ICC_SGIX" comment="Incomplete extension SGIX_icc_texture"/> -->
             <enum name="GL_LUMINANCE4"/>
             <enum name="GL_LUMINANCE4_ALPHA4"/>
             <enum name="GL_LUMINANCE6_ALPHA2"/>
             <enum name="GL_LUMINANCE8"/>
             <enum name="GL_LUMINANCE8_ALPHA8"/>
-            <enum name="GL_LUMINANCE_ALPHA_ICC_SGIX"/>
-            <enum name="GL_LUMINANCE_ICC_SGIX"/>
+            <!-- <enum name="GL_LUMINANCE_ALPHA_ICC_SGIX" comment="Incomplete extension SGIX_icc_texture"/> -->
+            <!-- <enum name="GL_LUMINANCE_ICC_SGIX" comment="Incomplete extension SGIX_icc_texture"/> -->
             <enum name="GL_QUAD_ALPHA4_SGIS"/>
             <enum name="GL_QUAD_ALPHA8_SGIS"/>
             <enum name="GL_QUAD_INTENSITY4_SGIS"/>
             <enum name="GL_QUAD_INTENSITY8_SGIS"/>
             <enum name="GL_QUAD_LUMINANCE4_SGIS"/>
             <enum name="GL_QUAD_LUMINANCE8_SGIS"/>
-            <enum name="GL_R3_G3_B2"/>
-            <enum name="GL_R5_G6_B5_A8_ICC_SGIX"/>
-            <enum name="GL_R5_G6_B5_ICC_SGIX"/>
-            <enum name="GL_RGB10"/>
-            <enum name="GL_RGB10_A2"/>
-            <enum name="GL_RGB12"/>
-            <enum name="GL_RGB16"/>
+            <!-- <enum name="GL_R5_G6_B5_A8_ICC_SGIX" comment="Incomplete extension SGIX_icc_texture"/> -->
+            <!-- <enum name="GL_R5_G6_B5_ICC_SGIX" comment="Incomplete extension SGIX_icc_texture"/> -->
+            <!-- <enum name="GL_RGBA_ICC_SGIX" comment="Incomplete extension SGIX_icc_texture"/> -->
+            <!-- <enum name="GL_RGB_ICC_SGIX" comment="Incomplete extension SGIX_icc_texture"/> -->
+            <!-- Base internal format: GL_RED -->
+            <enum name="GL_RED"/>
+            <enum name="GL_RED_EXT"/>
+            <enum name="GL_R8"/>
+            <enum name="GL_R8_EXT"/>
+            <enum name="GL_R8_SNORM"/>
+            <enum name="GL_R16"/>
+            <enum name="GL_R16_EXT"/>
+            <enum name="GL_R16_SNORM"/>
+            <enum name="GL_R16_SNORM_EXT"/>
+            <!-- <enum name="GL_R32" comment="cut & paste error?"/> -->
+            <!-- <enum name="GL_R32_EXT" comment="cut & paste error?"/> -->
+            <enum name="GL_R16F"/>
+            <enum name="GL_R16F_EXT"/>
+            <enum name="GL_R32F"/>
+            <enum name="GL_R32F_EXT"/>
+            <enum name="GL_R8I"/>
+            <enum name="GL_R16I"/>
+            <enum name="GL_R32I"/>
+            <enum name="GL_R8UI"/>
+            <enum name="GL_R16UI"/>
+            <enum name="GL_R32UI"/>
+            <!-- Base internal format: GL_RG -->
+            <enum name="GL_RG"/>
+            <enum name="GL_RG8"/>
+            <enum name="GL_RG8_EXT"/>
+            <enum name="GL_RG8_SNORM"/>
+            <enum name="GL_RG16"/>
+            <enum name="GL_RG16_EXT"/>
+            <enum name="GL_RG16_SNORM"/>
+            <enum name="GL_RG16_SNORM_EXT"/>
+            <enum name="GL_RG16F"/>
+            <enum name="GL_RG16F_EXT"/>
+            <enum name="GL_RG32F"/>
+            <enum name="GL_RG32F_EXT"/>
+            <enum name="GL_RG8I"/>
+            <enum name="GL_RG16I"/>
+            <enum name="GL_RG32I"/>
+            <enum name="GL_RG8UI"/>
+            <enum name="GL_RG16UI"/>
+            <enum name="GL_RG32UI"/>
+            <!-- Base internal format: GL_RGB -->
+            <enum name="GL_RGB"/>
+            <!-- <enum name="GL_RGB2" comment="Never actually added to core"/> -->
             <enum name="GL_RGB2_EXT"/>
             <enum name="GL_RGB4"/>
+            <enum name="GL_RGB4_EXT"/>
             <enum name="GL_RGB5"/>
-            <enum name="GL_RGB5_A1"/>
+            <enum name="GL_RGB5_EXT"/>
             <enum name="GL_RGB8"/>
-            <enum name="GL_RGBA12"/>
-            <enum name="GL_RGBA16"/>
-            <enum name="GL_RGBA2"/>
+            <enum name="GL_RGB8_EXT"/>
+            <enum name="GL_RGB8_OES"/>
+            <enum name="GL_RGB8_SNORM"/>
+            <enum name="GL_RGB10"/>
+            <enum name="GL_RGB10_EXT"/>
+            <enum name="GL_RGB12"/>
+            <enum name="GL_RGB12_EXT"/>
+            <enum name="GL_RGB16"/>
+            <enum name="GL_RGB16_EXT"/>
+            <enum name="GL_RGB16F"/>
+            <enum name="GL_RGB16F_ARB"/>
+            <enum name="GL_RGB16F_EXT"/>
+            <enum name="GL_RGB16_SNORM"/>
+            <enum name="GL_RGB16_SNORM_EXT"/>
+            <enum name="GL_RGB32F"/>
+            <enum name="GL_RGB8I"/>
+            <enum name="GL_RGB16I"/>
+            <enum name="GL_RGB32I"/>
+            <enum name="GL_RGB8UI"/>
+            <enum name="GL_RGB16UI"/>
+            <enum name="GL_RGB32UI"/>
+            <enum name="GL_SRGB"/>
+            <enum name="GL_SRGB_EXT"/>
+            <enum name="GL_SRGB_ALPHA"/>
+            <enum name="GL_SRGB_ALPHA_EXT"/>
+            <enum name="GL_SRGB8"/>
+            <enum name="GL_SRGB8_EXT"/>
+            <enum name="GL_SRGB8_NV"/>
+            <enum name="GL_SRGB8_ALPHA8"/>
+            <enum name="GL_SRGB8_ALPHA8_EXT"/>
+            <enum name="GL_R3_G3_B2"/>
+            <enum name="GL_R11F_G11F_B10F"/>
+            <enum name="GL_R11F_G11F_B10F_APPLE"/>
+            <enum name="GL_R11F_G11F_B10F_EXT"/>
+            <enum name="GL_RGB9_E5"/>
+            <enum name="GL_RGB9_E5_APPLE"/>
+            <enum name="GL_RGB9_E5_EXT"/>
+            <!-- Base internal format: GL_RGBA -->
+            <enum name="GL_RGBA"/>
             <enum name="GL_RGBA4"/>
+            <enum name="GL_RGBA4_EXT"/>
+            <enum name="GL_RGBA4_OES"/>
+            <enum name="GL_RGB5_A1"/>
+            <enum name="GL_RGB5_A1_EXT"/>
+            <enum name="GL_RGB5_A1_OES"/>
             <enum name="GL_RGBA8"/>
-            <enum name="GL_RGBA_ICC_SGIX"/>
-            <enum name="GL_RGB_ICC_SGIX"/>
+            <enum name="GL_RGBA8_EXT"/>
+            <enum name="GL_RGBA8_OES"/>
+            <enum name="GL_RGBA8_SNORM"/>
+            <enum name="GL_RGB10_A2"/>
+            <enum name="GL_RGB10_A2_EXT"/>
+            <enum name="GL_RGBA12"/>
+            <enum name="GL_RGBA12_EXT"/>
+            <enum name="GL_RGBA16"/>
+            <enum name="GL_RGBA16_EXT"/>
+            <enum name="GL_RGBA16F"/>
+            <enum name="GL_RGBA16F_ARB"/>
+            <enum name="GL_RGBA16F_EXT"/>
+            <enum name="GL_RGBA32F"/>
+            <enum name="GL_RGBA32F_ARB"/>
+            <enum name="GL_RGBA32F_EXT"/>
+            <enum name="GL_RGBA8I"/>
+            <enum name="GL_RGBA16I"/>
+            <enum name="GL_RGBA32I"/>
+            <enum name="GL_RGBA8UI"/>
+            <enum name="GL_RGBA16UI"/>
+            <enum name="GL_RGBA32UI"/>
+            <enum name="GL_RGB10_A2UI"/>
+            <!-- Base internal format: GL_DEPTH_COMPONENT -->
+            <enum name="GL_DEPTH_COMPONENT"/>
+            <enum name="GL_DEPTH_COMPONENT16"/>
+            <enum name="GL_DEPTH_COMPONENT16_ARB"/>
+            <enum name="GL_DEPTH_COMPONENT16_OES"/>
+            <enum name="GL_DEPTH_COMPONENT16_SGIX"/>
+            <enum name="GL_DEPTH_COMPONENT24_ARB"/>
+            <enum name="GL_DEPTH_COMPONENT24_OES"/>
+            <enum name="GL_DEPTH_COMPONENT24_SGIX"/>
+            <enum name="GL_DEPTH_COMPONENT32_ARB"/>
+            <enum name="GL_DEPTH_COMPONENT32_OES"/>
+            <enum name="GL_DEPTH_COMPONENT32_SGIX"/>
+            <enum name="GL_DEPTH_COMPONENT32F"/>
+            <enum name="GL_DEPTH_COMPONENT32F_NV"/>
+            <!-- Base internal format: GL_DEPTH_STENCIL -->
+            <enum name="GL_DEPTH_STENCIL"/>
+            <enum name="GL_DEPTH_STENCIL_EXT"/>
+            <enum name="GL_DEPTH_STENCIL_MESA"/>
+            <enum name="GL_DEPTH_STENCIL_NV"/>
+            <enum name="GL_DEPTH_STENCIL_OES"/>
+            <enum name="GL_DEPTH24_STENCIL8"/>
+            <enum name="GL_DEPTH24_STENCIL8_EXT"/>
+            <enum name="GL_DEPTH24_STENCIL8_OES"/>
+            <enum name="GL_DEPTH32F_STENCIL8"/>
+            <enum name="GL_DEPTH32F_STENCIL8_NV"/>
+            <!-- Base internal format: GL_STENCIL_INDEX -->
+            <enum name="GL_STENCIL_INDEX"/>
+            <enum name="GL_STENCIL_INDEX_OES"/>
+            <enum name="GL_STENCIL_INDEX1"/>
+            <enum name="GL_STENCIL_INDEX1_OES"/>
+            <enum name="GL_STENCIL_INDEX1_EXT"/>
+            <enum name="GL_STENCIL_INDEX4"/>
+            <enum name="GL_STENCIL_INDEX4_OES"/>
+            <enum name="GL_STENCIL_INDEX4_EXT"/>
+            <enum name="GL_STENCIL_INDEX8"/>
+            <enum name="GL_STENCIL_INDEX8_OES"/>
+            <enum name="GL_STENCIL_INDEX8_EXT"/>
+            <enum name="GL_STENCIL_INDEX16"/>
+            <enum name="GL_STENCIL_INDEX16_EXT"/>
+            <!-- Compressed base internal formats -->
+            <enum name="GL_COMPRESSED_RED"/>
+            <enum name="GL_COMPRESSED_RG"/>
+            <enum name="GL_COMPRESSED_RGB"/>
+            <enum name="GL_COMPRESSED_RGBA"/>
+            <enum name="GL_COMPRESSED_SRGB"/>
+            <enum name="GL_COMPRESSED_SRGB_ALPHA"/>
+            <enum name="GL_COMPRESSED_RED_RGTC1"/>
+            <enum name="GL_COMPRESSED_RED_RGTC1_EXT"/>
+            <enum name="GL_COMPRESSED_SIGNED_RED_RGTC1"/>
+            <enum name="GL_COMPRESSED_SIGNED_RED_RGTC1_EXT"/>
+            <enum name="GL_COMPRESSED_R11_EAC"/>
+            <enum name="GL_COMPRESSED_SIGNED_R11_EAC"/>
+            <enum name="GL_COMPRESSED_RG_RGTC2"/>
+            <enum name="GL_COMPRESSED_SIGNED_RG_RGTC2"/>
+            <enum name="GL_COMPRESSED_RGBA_BPTC_UNORM"/>
+            <enum name="GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM"/>
+            <enum name="GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT"/>
+            <enum name="GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT"/>
+            <enum name="GL_COMPRESSED_RGB8_ETC2"/>
+            <enum name="GL_COMPRESSED_SRGB8_ETC2"/>
+            <enum name="GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2"/>
+            <enum name="GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2"/>
+            <enum name="GL_COMPRESSED_RGBA8_ETC2_EAC"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"/>
+            <enum name="GL_COMPRESSED_RG11_EAC"/>
+            <enum name="GL_COMPRESSED_SIGNED_RG11_EAC"/>
+            <enum name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT"/>
+            <enum name="GL_COMPRESSED_SRGB_S3TC_DXT1_EXT"/>
+            <enum name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT"/>
+            <enum name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT"/>
+            <enum name="GL_COMPRESSED_RGBA_S3TC_DXT3_EXT"/>
+            <enum name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT"/>
+            <enum name="GL_COMPRESSED_RGBA_S3TC_DXT5_EXT"/>
+            <enum name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT"/>
+            <!-- Compressed ASTC internal formats -->
+            <enum name="GL_COMPRESSED_RGBA_ASTC_3x3x3_OES"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_4x3x3_OES"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_4x4"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_4x4_KHR"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_4x4x3_OES"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_4x4x4_OES"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_5x4"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_5x4_KHR"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_5x4x4_OES"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_5x5"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_5x5_KHR"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_5x5x4_OES"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_5x5x5_OES"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_6x5"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_6x5_KHR"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_6x5x5_OES"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_6x6"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_6x6_KHR"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_6x6x5_OES"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_6x6x6_OES"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_8x5"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_8x5_KHR"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_8x6"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_8x6_KHR"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_8x8"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_8x8_KHR"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_10x10"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_10x10_KHR"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_10x5"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_10x5_KHR"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_10x6"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_10x6_KHR"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_10x8"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_10x8_KHR"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_12x10"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_12x10_KHR"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_12x12"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_12x12_KHR"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"/>
         </group>
 
-        <group name="PixelMap">
+        <group name="PixelMap" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_PIXEL_MAP_A_TO_A"/>
             <enum name="GL_PIXEL_MAP_B_TO_B"/>
             <enum name="GL_PIXEL_MAP_G_TO_G"/>
@@ -1555,7 +2735,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_PIXEL_MAP_S_TO_S"/>
         </group>
 
-        <group name="PixelStoreParameter">
+        <group name="PixelStoreParameter" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_PACK_ALIGNMENT"/>
             <enum name="GL_PACK_IMAGE_DEPTH_SGIS"/>
             <enum name="GL_PACK_IMAGE_HEIGHT"/>
@@ -1597,19 +2777,19 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_UNPACK_SWAP_BYTES"/>
         </group>
 
-        <group name="PixelStoreResampleMode">
+        <group name="PixelStoreResampleMode" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_RESAMPLE_DECIMATE_SGIX"/>
             <enum name="GL_RESAMPLE_REPLICATE_SGIX"/>
             <enum name="GL_RESAMPLE_ZERO_FILL_SGIX"/>
         </group>
 
-        <group name="PixelStoreSubsampleRate">
+        <group name="PixelStoreSubsampleRate" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_PIXEL_SUBSAMPLE_2424_SGIX"/>
             <enum name="GL_PIXEL_SUBSAMPLE_4242_SGIX"/>
             <enum name="GL_PIXEL_SUBSAMPLE_4444_SGIX"/>
         </group>
 
-        <group name="PixelTexGenMode">
+        <group name="PixelTexGenMode" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_LUMINANCE"/>
             <enum name="GL_LUMINANCE_ALPHA"/>
             <enum name="GL_NONE"/>
@@ -1621,12 +2801,12 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_RGBA"/>
         </group>
 
-        <group name="PixelTexGenParameterNameSGIS">
+        <group name="PixelTexGenParameterNameSGIS" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS"/>
             <enum name="GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS"/>
         </group>
 
-        <group name="PixelTransferParameter">
+        <group name="PixelTransferParameter" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_ALPHA_BIAS"/>
             <enum name="GL_ALPHA_SCALE"/>
             <enum name="GL_BLUE_BIAS"/>
@@ -1675,345 +2855,1963 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_RED_SCALE"/>
         </group>
 
-        <group name="PixelType">
-            <enum name="GL_BITMAP"/>
-            <enum name="GL_BYTE"/>
-            <enum name="GL_FLOAT"/>
-            <enum name="GL_INT"/>
-            <enum name="GL_SHORT"/>
-            <enum name="GL_UNSIGNED_BYTE"/>
-            <enum name="GL_UNSIGNED_BYTE_3_3_2"/>
-            <enum name="GL_UNSIGNED_BYTE_3_3_2_EXT"/>
-            <enum name="GL_UNSIGNED_INT"/>
-            <enum name="GL_UNSIGNED_INT_10_10_10_2"/>
-            <enum name="GL_UNSIGNED_INT_10_10_10_2_EXT"/>
-            <enum name="GL_UNSIGNED_INT_8_8_8_8"/>
-            <enum name="GL_UNSIGNED_INT_8_8_8_8_EXT"/>
-            <enum name="GL_UNSIGNED_SHORT"/>
-            <enum name="GL_UNSIGNED_SHORT_4_4_4_4"/>
-            <enum name="GL_UNSIGNED_SHORT_4_4_4_4_EXT"/>
-            <enum name="GL_UNSIGNED_SHORT_5_5_5_1"/>
-            <enum name="GL_UNSIGNED_SHORT_5_5_5_1_EXT"/>
+        <group name="PixelType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_BITMAP"/>
+            <enum name="GL_BYTE"/>
+            <enum name="GL_FLOAT"/>
+            <enum name="GL_INT"/>
+            <enum name="GL_SHORT"/>
+            <enum name="GL_UNSIGNED_BYTE"/>
+            <enum name="GL_UNSIGNED_BYTE_3_3_2"/>
+            <enum name="GL_UNSIGNED_BYTE_3_3_2_EXT"/>
+            <enum name="GL_UNSIGNED_INT"/>
+            <enum name="GL_UNSIGNED_INT_10_10_10_2"/>
+            <enum name="GL_UNSIGNED_INT_10_10_10_2_EXT"/>
+            <enum name="GL_UNSIGNED_INT_8_8_8_8"/>
+            <enum name="GL_UNSIGNED_INT_8_8_8_8_EXT"/>
+            <enum name="GL_UNSIGNED_SHORT"/>
+            <enum name="GL_UNSIGNED_SHORT_4_4_4_4"/>
+            <enum name="GL_UNSIGNED_SHORT_4_4_4_4_EXT"/>
+            <enum name="GL_UNSIGNED_SHORT_5_5_5_1"/>
+            <enum name="GL_UNSIGNED_SHORT_5_5_5_1_EXT"/>
+        </group>
+
+        <group name="PointParameterNameSGIS" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_DISTANCE_ATTENUATION_EXT"/>
+            <enum name="GL_DISTANCE_ATTENUATION_SGIS"/>
+            <enum name="GL_POINT_DISTANCE_ATTENUATION"/>
+            <enum name="GL_POINT_DISTANCE_ATTENUATION_ARB"/>
+            <enum name="GL_POINT_FADE_THRESHOLD_SIZE"/>
+            <enum name="GL_POINT_FADE_THRESHOLD_SIZE_ARB"/>
+            <enum name="GL_POINT_FADE_THRESHOLD_SIZE_EXT"/>
+            <enum name="GL_POINT_FADE_THRESHOLD_SIZE_SGIS"/>
+            <enum name="GL_POINT_SIZE_MAX"/>
+            <enum name="GL_POINT_SIZE_MAX_ARB"/>
+            <enum name="GL_POINT_SIZE_MAX_EXT"/>
+            <enum name="GL_POINT_SIZE_MAX_SGIS"/>
+            <enum name="GL_POINT_SIZE_MIN"/>
+            <enum name="GL_POINT_SIZE_MIN_ARB"/>
+            <enum name="GL_POINT_SIZE_MIN_EXT"/>
+            <enum name="GL_POINT_SIZE_MIN_SGIS"/>
+        </group>
+
+        <group name="PolygonMode" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FILL"/>
+            <enum name="GL_LINE"/>
+            <enum name="GL_POINT"/>
+        </group>
+
+        <group name="PrimitiveType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_LINES"/>
+            <enum name="GL_LINES_ADJACENCY"/>
+            <enum name="GL_LINES_ADJACENCY_ARB"/>
+            <enum name="GL_LINES_ADJACENCY_EXT"/>
+            <enum name="GL_LINE_LOOP"/>
+            <enum name="GL_LINE_STRIP"/>
+            <enum name="GL_LINE_STRIP_ADJACENCY"/>
+            <enum name="GL_LINE_STRIP_ADJACENCY_ARB"/>
+            <enum name="GL_LINE_STRIP_ADJACENCY_EXT"/>
+            <enum name="GL_PATCHES"/>
+            <enum name="GL_PATCHES_EXT"/>
+            <enum name="GL_POINTS"/>
+            <enum name="GL_POLYGON"/>
+            <enum name="GL_QUADS"/>
+            <enum name="GL_QUADS_EXT"/>
+            <enum name="GL_QUAD_STRIP"/>
+            <enum name="GL_TRIANGLES"/>
+            <enum name="GL_TRIANGLES_ADJACENCY"/>
+            <enum name="GL_TRIANGLES_ADJACENCY_ARB"/>
+            <enum name="GL_TRIANGLES_ADJACENCY_EXT"/>
+            <enum name="GL_TRIANGLE_FAN"/>
+            <enum name="GL_TRIANGLE_STRIP"/>
+            <enum name="GL_TRIANGLE_STRIP_ADJACENCY"/>
+            <enum name="GL_TRIANGLE_STRIP_ADJACENCY_ARB"/>
+            <enum name="GL_TRIANGLE_STRIP_ADJACENCY_EXT"/>
+        </group>
+
+        <group name="OcclusionQueryEventMaskAMD" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD"/>
+            <enum name="GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD"/>
+            <enum name="GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD"/>
+            <enum name="GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD"/>
+            <enum name="GL_QUERY_ALL_EVENT_BITS_AMD"/>
+        </group>
+
+        <group name="ReadBufferMode" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_NONE"/>
+            <enum name="GL_NONE_OES"/>
+            <enum name="GL_AUX0"/>
+            <enum name="GL_AUX1"/>
+            <enum name="GL_AUX2"/>
+            <enum name="GL_AUX3"/>
+            <enum name="GL_BACK"/>
+            <enum name="GL_BACK_LEFT"/>
+            <enum name="GL_BACK_RIGHT"/>
+            <enum name="GL_FRONT"/>
+            <enum name="GL_FRONT_LEFT"/>
+            <enum name="GL_FRONT_RIGHT"/>
+            <enum name="GL_LEFT"/>
+            <enum name="GL_RIGHT"/>
+            <enum name="GL_COLOR_ATTACHMENT0"/>
+            <enum name="GL_COLOR_ATTACHMENT1"/>
+            <enum name="GL_COLOR_ATTACHMENT2"/>
+            <enum name="GL_COLOR_ATTACHMENT3"/>
+            <enum name="GL_COLOR_ATTACHMENT4"/>
+            <enum name="GL_COLOR_ATTACHMENT5"/>
+            <enum name="GL_COLOR_ATTACHMENT6"/>
+            <enum name="GL_COLOR_ATTACHMENT7"/>
+            <enum name="GL_COLOR_ATTACHMENT8"/>
+            <enum name="GL_COLOR_ATTACHMENT9"/>
+            <enum name="GL_COLOR_ATTACHMENT10"/>
+            <enum name="GL_COLOR_ATTACHMENT11"/>
+            <enum name="GL_COLOR_ATTACHMENT12"/>
+            <enum name="GL_COLOR_ATTACHMENT13"/>
+            <enum name="GL_COLOR_ATTACHMENT14"/>
+            <enum name="GL_COLOR_ATTACHMENT15"/>
+        </group>
+
+        <group name="RenderingMode" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FEEDBACK"/>
+            <enum name="GL_RENDER"/>
+            <enum name="GL_SELECT"/>
+        </group>
+
+        <group name="SamplePatternSGIS" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_1PASS_EXT"/>
+            <enum name="GL_1PASS_SGIS"/>
+            <enum name="GL_2PASS_0_EXT"/>
+            <enum name="GL_2PASS_0_SGIS"/>
+            <enum name="GL_2PASS_1_EXT"/>
+            <enum name="GL_2PASS_1_SGIS"/>
+            <enum name="GL_4PASS_0_EXT"/>
+            <enum name="GL_4PASS_0_SGIS"/>
+            <enum name="GL_4PASS_1_EXT"/>
+            <enum name="GL_4PASS_1_SGIS"/>
+            <enum name="GL_4PASS_2_EXT"/>
+            <enum name="GL_4PASS_2_SGIS"/>
+            <enum name="GL_4PASS_3_EXT"/>
+            <enum name="GL_4PASS_3_SGIS"/>
+        </group>
+
+        <group name="SemaphoreParameterName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_D3D12_FENCE_VALUE_EXT"/>
+        </group>
+
+        <group name="SeparableTargetEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_SEPARABLE_2D"/>
+            <enum name="GL_SEPARABLE_2D_EXT"/>
+        </group>
+
+        <group name="ShadingModel" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FLAT"/>
+            <enum name="GL_SMOOTH"/>
+        </group>
+
+        <group name="StencilFaceDirection" comment="Deprecated, use the group attributes instead.">
+             <enum name="GL_FRONT"/>
+             <enum name="GL_BACK"/>
+             <enum name="GL_FRONT_AND_BACK"/>
+        </group>
+
+        <group name="StencilFunction" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_ALWAYS"/>
+            <enum name="GL_EQUAL"/>
+            <enum name="GL_GEQUAL"/>
+            <enum name="GL_GREATER"/>
+            <enum name="GL_LEQUAL"/>
+            <enum name="GL_LESS"/>
+            <enum name="GL_NEVER"/>
+            <enum name="GL_NOTEQUAL"/>
+        </group>
+
+        <group name="StencilOp" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_DECR"/>
+            <enum name="GL_DECR_WRAP"/>
+            <enum name="GL_INCR"/>
+            <enum name="GL_INCR_WRAP"/>
+            <enum name="GL_INVERT"/>
+            <enum name="GL_KEEP"/>
+            <enum name="GL_REPLACE"/>
+            <enum name="GL_ZERO"/>
+        </group>
+
+        <group name="StringName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_EXTENSIONS"/>
+            <enum name="GL_RENDERER"/>
+            <enum name="GL_VENDOR"/>
+            <enum name="GL_VERSION"/>
+            <enum name="GL_SHADING_LANGUAGE_VERSION"/>
+        </group>
+
+        <group name="SyncObjectMask" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_SYNC_FLUSH_COMMANDS_BIT"/>
+            <enum name="GL_SYNC_FLUSH_COMMANDS_BIT_APPLE"/>
+        </group>
+
+        <group name="TexCoordPointerType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_DOUBLE"/>
+            <enum name="GL_FLOAT"/>
+            <enum name="GL_INT"/>
+            <enum name="GL_SHORT"/>
+        </group>
+
+        <group name="TextureCoordName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_S"/>
+            <enum name="GL_T"/>
+            <enum name="GL_R"/>
+            <enum name="GL_Q"/>
+        </group>
+
+        <group name="TextureEnvMode" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_ADD"/>
+            <enum name="GL_BLEND"/>
+            <enum name="GL_DECAL"/>
+            <enum name="GL_MODULATE"/>
+            <enum name="GL_REPLACE_EXT"/>
+            <enum name="GL_TEXTURE_ENV_BIAS_SGIX"/>
+        </group>
+
+        <group name="TextureEnvParameter" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_TEXTURE_ENV_COLOR"/>
+            <enum name="GL_TEXTURE_ENV_MODE"/>
+        </group>
+
+        <group name="TextureEnvTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_TEXTURE_ENV"/>
+        </group>
+
+        <group name="TextureFilterFuncSGIS" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FILTER4_SGIS"/>
+        </group>
+
+        <group name="TextureGenMode" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_EYE_DISTANCE_TO_LINE_SGIS"/>
+            <enum name="GL_EYE_DISTANCE_TO_POINT_SGIS"/>
+            <enum name="GL_EYE_LINEAR"/>
+            <enum name="GL_OBJECT_DISTANCE_TO_LINE_SGIS"/>
+            <enum name="GL_OBJECT_DISTANCE_TO_POINT_SGIS"/>
+            <enum name="GL_OBJECT_LINEAR"/>
+            <enum name="GL_SPHERE_MAP"/>
+        </group>
+
+        <group name="TextureGenParameter" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_EYE_LINE_SGIS"/>
+            <enum name="GL_EYE_PLANE"/>
+            <enum name="GL_EYE_POINT_SGIS"/>
+            <enum name="GL_OBJECT_LINE_SGIS"/>
+            <enum name="GL_OBJECT_PLANE"/>
+            <enum name="GL_OBJECT_POINT_SGIS"/>
+            <enum name="GL_TEXTURE_GEN_MODE"/>
+        </group>
+
+        <group name="TextureMagFilter" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FILTER4_SGIS"/>
+            <enum name="GL_LINEAR"/>
+            <enum name="GL_LINEAR_DETAIL_ALPHA_SGIS"/>
+            <enum name="GL_LINEAR_DETAIL_COLOR_SGIS"/>
+            <enum name="GL_LINEAR_DETAIL_SGIS"/>
+            <enum name="GL_LINEAR_SHARPEN_ALPHA_SGIS"/>
+            <enum name="GL_LINEAR_SHARPEN_COLOR_SGIS"/>
+            <enum name="GL_LINEAR_SHARPEN_SGIS"/>
+            <enum name="GL_NEAREST"/>
+            <enum name="GL_PIXEL_TEX_GEN_Q_CEILING_SGIX"/>
+            <enum name="GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX"/>
+            <enum name="GL_PIXEL_TEX_GEN_Q_ROUND_SGIX"/>
+        </group>
+
+        <group name="TextureMinFilter" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FILTER4_SGIS"/>
+            <enum name="GL_LINEAR"/>
+            <enum name="GL_LINEAR_CLIPMAP_LINEAR_SGIX"/>
+            <enum name="GL_LINEAR_CLIPMAP_NEAREST_SGIX"/>
+            <enum name="GL_LINEAR_MIPMAP_LINEAR"/>
+            <enum name="GL_LINEAR_MIPMAP_NEAREST"/>
+            <enum name="GL_NEAREST"/>
+            <enum name="GL_NEAREST_CLIPMAP_LINEAR_SGIX"/>
+            <enum name="GL_NEAREST_CLIPMAP_NEAREST_SGIX"/>
+            <enum name="GL_NEAREST_MIPMAP_LINEAR"/>
+            <enum name="GL_NEAREST_MIPMAP_NEAREST"/>
+            <enum name="GL_PIXEL_TEX_GEN_Q_CEILING_SGIX"/>
+            <enum name="GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX"/>
+            <enum name="GL_PIXEL_TEX_GEN_Q_ROUND_SGIX"/>
+        </group>
+
+        <group name="TextureParameterName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_DETAIL_TEXTURE_LEVEL_SGIS"/>
+            <enum name="GL_DETAIL_TEXTURE_MODE_SGIS"/>
+            <enum name="GL_DUAL_TEXTURE_SELECT_SGIS"/>
+            <enum name="GL_GENERATE_MIPMAP"/>
+            <enum name="GL_GENERATE_MIPMAP_SGIS"/>
+            <enum name="GL_POST_TEXTURE_FILTER_BIAS_SGIX"/>
+            <enum name="GL_POST_TEXTURE_FILTER_SCALE_SGIX"/>
+            <enum name="GL_QUAD_TEXTURE_SELECT_SGIS"/>
+            <enum name="GL_SHADOW_AMBIENT_SGIX"/>
+            <enum name="GL_TEXTURE_BORDER_COLOR"/>
+            <enum name="GL_TEXTURE_CLIPMAP_CENTER_SGIX"/>
+            <enum name="GL_TEXTURE_CLIPMAP_DEPTH_SGIX"/>
+            <enum name="GL_TEXTURE_CLIPMAP_FRAME_SGIX"/>
+            <enum name="GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX"/>
+            <enum name="GL_TEXTURE_CLIPMAP_OFFSET_SGIX"/>
+            <enum name="GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX"/>
+            <enum name="GL_TEXTURE_COMPARE_SGIX"/>
+            <enum name="GL_TEXTURE_LOD_BIAS_R_SGIX"/>
+            <enum name="GL_TEXTURE_LOD_BIAS_S_SGIX"/>
+            <enum name="GL_TEXTURE_LOD_BIAS_T_SGIX"/>
+            <enum name="GL_TEXTURE_MAG_FILTER"/>
+            <enum name="GL_TEXTURE_MAX_CLAMP_R_SGIX"/>
+            <enum name="GL_TEXTURE_MAX_CLAMP_S_SGIX"/>
+            <enum name="GL_TEXTURE_MAX_CLAMP_T_SGIX"/>
+            <enum name="GL_TEXTURE_MIN_FILTER"/>
+            <enum name="GL_TEXTURE_PRIORITY"/>
+            <enum name="GL_TEXTURE_PRIORITY_EXT"/>
+            <enum name="GL_TEXTURE_WRAP_Q_SGIS"/>
+            <enum name="GL_TEXTURE_WRAP_R"/>
+            <enum name="GL_TEXTURE_WRAP_R_EXT"/>
+            <enum name="GL_TEXTURE_WRAP_R_OES"/>
+            <enum name="GL_TEXTURE_WRAP_S"/>
+            <enum name="GL_TEXTURE_WRAP_T"/>
+            <enum name="GL_TEXTURE_BASE_LEVEL"/>
+            <enum name="GL_TEXTURE_COMPARE_MODE"/>
+            <enum name="GL_TEXTURE_COMPARE_FUNC"/>
+            <enum name="GL_TEXTURE_LOD_BIAS"/>
+            <enum name="GL_TEXTURE_MIN_LOD"/>
+            <enum name="GL_TEXTURE_MAX_LOD"/>
+            <enum name="GL_TEXTURE_MAX_LEVEL"/>
+            <enum name="GL_TEXTURE_SWIZZLE_R"/>
+            <enum name="GL_TEXTURE_SWIZZLE_G"/>
+            <enum name="GL_TEXTURE_SWIZZLE_B"/>
+            <enum name="GL_TEXTURE_SWIZZLE_A"/>
+            <enum name="GL_TEXTURE_SWIZZLE_RGBA"/>
+            <enum name="GL_TEXTURE_TILING_EXT"/>
+            <enum name="GL_DEPTH_STENCIL_TEXTURE_MODE"/>
+            <enum name="GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS"/>
+            <enum name="GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS"/>
+            <enum name="GL_TEXTURE_4DSIZE_SGIS"/>
+            <enum name="GL_TEXTURE_ALPHA_SIZE"/>
+            <enum name="GL_TEXTURE_BASE_LEVEL_SGIS"/>
+            <enum name="GL_TEXTURE_BLUE_SIZE"/>
+            <enum name="GL_TEXTURE_BORDER"/>
+            <enum name="GL_TEXTURE_BORDER_COLOR_NV"/>
+            <enum name="GL_TEXTURE_COMPARE_OPERATOR_SGIX"/>
+            <enum name="GL_TEXTURE_COMPONENTS"/>
+            <enum name="GL_TEXTURE_DEPTH_EXT"/>
+            <enum name="GL_TEXTURE_FILTER4_SIZE_SGIS"/>
+            <enum name="GL_TEXTURE_GEQUAL_R_SGIX"/>
+            <enum name="GL_TEXTURE_GREEN_SIZE"/>
+            <enum name="GL_TEXTURE_HEIGHT"/>
+            <enum name="GL_TEXTURE_INTENSITY_SIZE"/>
+            <enum name="GL_TEXTURE_INTERNAL_FORMAT"/>
+            <enum name="GL_TEXTURE_LEQUAL_R_SGIX"/>
+            <enum name="GL_TEXTURE_LUMINANCE_SIZE"/>
+            <enum name="GL_TEXTURE_MAX_LEVEL_SGIS"/>
+            <enum name="GL_TEXTURE_MAX_LOD_SGIS"/>
+            <enum name="GL_TEXTURE_MIN_LOD_SGIS"/>
+            <enum name="GL_TEXTURE_RED_SIZE"/>
+            <enum name="GL_TEXTURE_RESIDENT"/>
+            <enum name="GL_TEXTURE_WIDTH"/>
+        </group>
+
+        <group name="TextureStorageMaskAMD" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_TEXTURE_STORAGE_SPARSE_BIT_AMD"/>
+        </group>
+
+        <group name="TextureTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_DETAIL_TEXTURE_2D_SGIS"/>
+            <enum name="GL_PROXY_TEXTURE_1D"/>
+            <enum name="GL_PROXY_TEXTURE_1D_ARRAY"/>
+            <enum name="GL_PROXY_TEXTURE_1D_ARRAY_EXT"/>
+            <enum name="GL_PROXY_TEXTURE_1D_EXT"/>
+            <enum name="GL_PROXY_TEXTURE_2D"/>
+            <enum name="GL_PROXY_TEXTURE_2D_ARRAY"/>
+            <enum name="GL_PROXY_TEXTURE_2D_ARRAY_EXT"/>
+            <enum name="GL_PROXY_TEXTURE_2D_EXT"/>
+            <enum name="GL_PROXY_TEXTURE_2D_MULTISAMPLE"/>
+            <enum name="GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_PROXY_TEXTURE_3D"/>
+            <enum name="GL_PROXY_TEXTURE_3D_EXT"/>
+            <enum name="GL_PROXY_TEXTURE_4D_SGIS"/>
+            <enum name="GL_PROXY_TEXTURE_CUBE_MAP"/>
+            <enum name="GL_PROXY_TEXTURE_CUBE_MAP_ARB"/>
+            <enum name="GL_PROXY_TEXTURE_CUBE_MAP_EXT"/>
+            <enum name="GL_PROXY_TEXTURE_CUBE_MAP_ARRAY"/>
+            <enum name="GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB"/>
+            <enum name="GL_PROXY_TEXTURE_RECTANGLE"/>
+            <enum name="GL_PROXY_TEXTURE_RECTANGLE_ARB"/>
+            <enum name="GL_PROXY_TEXTURE_RECTANGLE_NV"/>
+            <enum name="GL_TEXTURE_1D"/>
+            <enum name="GL_TEXTURE_2D"/>
+            <enum name="GL_TEXTURE_3D"/>
+            <enum name="GL_TEXTURE_3D_EXT"/>
+            <enum name="GL_TEXTURE_3D_OES"/>
+            <enum name="GL_TEXTURE_4D_SGIS"/>
+            <enum name="GL_TEXTURE_RECTANGLE"/>
+            <enum name="GL_TEXTURE_CUBE_MAP"/>
+            <enum name="GL_TEXTURE_CUBE_MAP_POSITIVE_X"/>
+            <enum name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X"/>
+            <enum name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y"/>
+            <enum name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"/>
+            <enum name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z"/>
+            <enum name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"/>
+            <enum name="GL_TEXTURE_CUBE_MAP_ARRAY"/>
+            <enum name="GL_TEXTURE_CUBE_MAP_ARRAY_ARB"/>
+            <enum name="GL_TEXTURE_CUBE_MAP_ARRAY_EXT"/>
+            <enum name="GL_TEXTURE_CUBE_MAP_ARRAY_OES"/>
+            <enum name="GL_TEXTURE_1D_ARRAY"/>
+            <enum name="GL_TEXTURE_2D_ARRAY"/>
+            <enum name="GL_TEXTURE_2D_MULTISAMPLE"/>
+            <enum name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
+        </group>
+
+        <group name="TextureWrapMode" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_CLAMP"/>
+            <enum name="GL_CLAMP_TO_BORDER"/>
+            <enum name="GL_CLAMP_TO_BORDER_ARB"/>
+            <enum name="GL_CLAMP_TO_BORDER_NV"/>
+            <enum name="GL_CLAMP_TO_BORDER_SGIS"/>
+            <enum name="GL_CLAMP_TO_EDGE"/>
+            <enum name="GL_CLAMP_TO_EDGE_SGIS"/>
+            <enum name="GL_REPEAT"/>
+            <enum name="GL_LINEAR_MIPMAP_LINEAR"/>
+            <enum name="GL_MIRRORED_REPEAT"/>
+        </group>
+
+        <group name="UseProgramStageMask" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_VERTEX_SHADER_BIT"/>
+            <enum name="GL_VERTEX_SHADER_BIT_EXT"/>
+            <enum name="GL_FRAGMENT_SHADER_BIT"/>
+            <enum name="GL_FRAGMENT_SHADER_BIT_EXT"/>
+            <enum name="GL_GEOMETRY_SHADER_BIT"/>
+            <enum name="GL_GEOMETRY_SHADER_BIT_EXT"/>
+            <enum name="GL_GEOMETRY_SHADER_BIT_OES"/>
+            <enum name="GL_TESS_CONTROL_SHADER_BIT"/>
+            <enum name="GL_TESS_CONTROL_SHADER_BIT_EXT"/>
+            <enum name="GL_TESS_CONTROL_SHADER_BIT_OES"/>
+            <enum name="GL_TESS_EVALUATION_SHADER_BIT"/>
+            <enum name="GL_TESS_EVALUATION_SHADER_BIT_EXT"/>
+            <enum name="GL_TESS_EVALUATION_SHADER_BIT_OES"/>
+            <enum name="GL_COMPUTE_SHADER_BIT"/>
+            <enum name="GL_MESH_SHADER_BIT_NV"/>
+            <enum name="GL_TASK_SHADER_BIT_NV"/>
+            <enum name="GL_ALL_SHADER_BITS"/>
+            <enum name="GL_ALL_SHADER_BITS_EXT"/>
+        </group>
+
+        <group name="SubgroupSupportedFeatures" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_SUBGROUP_FEATURE_BASIC_BIT_KHR"/>
+            <enum name="GL_SUBGROUP_FEATURE_VOTE_BIT_KHR"/>
+            <enum name="GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR"/>
+            <enum name="GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR"/>
+            <enum name="GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR"/>
+            <enum name="GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR"/>
+            <enum name="GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR"/>
+            <enum name="GL_SUBGROUP_FEATURE_QUAD_BIT_KHR"/>
+            <enum name="GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV"/>
+        </group>
+
+        <group name="VertexPointerType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_DOUBLE"/>
+            <enum name="GL_FLOAT"/>
+            <enum name="GL_INT"/>
+            <enum name="GL_SHORT"/>
+        </group>
+
+        <group name="FramebufferAttachment" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_COLOR_ATTACHMENT0"/>
+            <enum name="GL_COLOR_ATTACHMENT0_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT0_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT0_OES"/>
+            <enum name="GL_COLOR_ATTACHMENT1"/>
+            <enum name="GL_COLOR_ATTACHMENT1_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT1_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT2"/>
+            <enum name="GL_COLOR_ATTACHMENT2_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT2_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT3"/>
+            <enum name="GL_COLOR_ATTACHMENT3_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT3_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT4"/>
+            <enum name="GL_COLOR_ATTACHMENT4_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT4_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT5"/>
+            <enum name="GL_COLOR_ATTACHMENT5_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT5_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT6"/>
+            <enum name="GL_COLOR_ATTACHMENT6_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT6_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT7"/>
+            <enum name="GL_COLOR_ATTACHMENT7_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT7_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT8"/>
+            <enum name="GL_COLOR_ATTACHMENT8_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT8_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT9"/>
+            <enum name="GL_COLOR_ATTACHMENT9_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT9_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT10"/>
+            <enum name="GL_COLOR_ATTACHMENT10_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT10_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT11"/>
+            <enum name="GL_COLOR_ATTACHMENT11_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT11_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT12"/>
+            <enum name="GL_COLOR_ATTACHMENT12_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT12_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT13"/>
+            <enum name="GL_COLOR_ATTACHMENT13_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT13_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT14"/>
+            <enum name="GL_COLOR_ATTACHMENT14_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT14_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT15"/>
+            <enum name="GL_COLOR_ATTACHMENT15_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT15_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT16"/>
+            <enum name="GL_COLOR_ATTACHMENT17"/>
+            <enum name="GL_COLOR_ATTACHMENT18"/>
+            <enum name="GL_COLOR_ATTACHMENT19"/>
+            <enum name="GL_COLOR_ATTACHMENT20"/>
+            <enum name="GL_COLOR_ATTACHMENT21"/>
+            <enum name="GL_COLOR_ATTACHMENT22"/>
+            <enum name="GL_COLOR_ATTACHMENT23"/>
+            <enum name="GL_COLOR_ATTACHMENT24"/>
+            <enum name="GL_COLOR_ATTACHMENT25"/>
+            <enum name="GL_COLOR_ATTACHMENT26"/>
+            <enum name="GL_COLOR_ATTACHMENT27"/>
+            <enum name="GL_COLOR_ATTACHMENT28"/>
+            <enum name="GL_COLOR_ATTACHMENT29"/>
+            <enum name="GL_COLOR_ATTACHMENT30"/>
+            <enum name="GL_COLOR_ATTACHMENT31"/>
+            <enum name="GL_DEPTH_ATTACHMENT"/>
+            <enum name="GL_DEPTH_STENCIL_ATTACHMENT"/>
+            <enum name="GL_DEPTH_ATTACHMENT_EXT"/>
+            <enum name="GL_DEPTH_ATTACHMENT_OES"/>
+            <enum name="GL_STENCIL_ATTACHMENT"/>
+            <enum name="GL_STENCIL_ATTACHMENT_EXT"/>
+            <enum name="GL_STENCIL_ATTACHMENT_OES"/>
+        </group>
+
+        <group name="InvalidateFramebufferAttachment" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_COLOR_ATTACHMENT0"/>
+            <enum name="GL_COLOR_ATTACHMENT0_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT0_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT0_OES"/>
+            <enum name="GL_COLOR_ATTACHMENT1"/>
+            <enum name="GL_COLOR_ATTACHMENT1_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT1_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT2"/>
+            <enum name="GL_COLOR_ATTACHMENT2_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT2_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT3"/>
+            <enum name="GL_COLOR_ATTACHMENT3_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT3_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT4"/>
+            <enum name="GL_COLOR_ATTACHMENT4_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT4_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT5"/>
+            <enum name="GL_COLOR_ATTACHMENT5_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT5_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT6"/>
+            <enum name="GL_COLOR_ATTACHMENT6_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT6_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT7"/>
+            <enum name="GL_COLOR_ATTACHMENT7_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT7_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT8"/>
+            <enum name="GL_COLOR_ATTACHMENT8_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT8_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT9"/>
+            <enum name="GL_COLOR_ATTACHMENT9_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT9_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT10"/>
+            <enum name="GL_COLOR_ATTACHMENT10_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT10_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT11"/>
+            <enum name="GL_COLOR_ATTACHMENT11_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT11_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT12"/>
+            <enum name="GL_COLOR_ATTACHMENT12_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT12_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT13"/>
+            <enum name="GL_COLOR_ATTACHMENT13_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT13_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT14"/>
+            <enum name="GL_COLOR_ATTACHMENT14_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT14_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT15"/>
+            <enum name="GL_COLOR_ATTACHMENT15_EXT"/>
+            <enum name="GL_COLOR_ATTACHMENT15_NV"/>
+            <enum name="GL_COLOR_ATTACHMENT16"/>
+            <enum name="GL_COLOR_ATTACHMENT17"/>
+            <enum name="GL_COLOR_ATTACHMENT18"/>
+            <enum name="GL_COLOR_ATTACHMENT19"/>
+            <enum name="GL_COLOR_ATTACHMENT20"/>
+            <enum name="GL_COLOR_ATTACHMENT21"/>
+            <enum name="GL_COLOR_ATTACHMENT22"/>
+            <enum name="GL_COLOR_ATTACHMENT23"/>
+            <enum name="GL_COLOR_ATTACHMENT24"/>
+            <enum name="GL_COLOR_ATTACHMENT25"/>
+            <enum name="GL_COLOR_ATTACHMENT26"/>
+            <enum name="GL_COLOR_ATTACHMENT27"/>
+            <enum name="GL_COLOR_ATTACHMENT28"/>
+            <enum name="GL_COLOR_ATTACHMENT29"/>
+            <enum name="GL_COLOR_ATTACHMENT30"/>
+            <enum name="GL_COLOR_ATTACHMENT31"/>
+            <enum name="GL_DEPTH_ATTACHMENT"/>
+            <enum name="GL_DEPTH_STENCIL_ATTACHMENT"/>
+            <enum name="GL_DEPTH_ATTACHMENT_EXT"/>
+            <enum name="GL_DEPTH_ATTACHMENT_OES"/>
+            <enum name="GL_STENCIL"/>
+            <enum name="GL_STENCIL_ATTACHMENT_EXT"/>
+            <enum name="GL_STENCIL_ATTACHMENT_OES"/>
+            <enum name="GL_COLOR"/>
+            <enum name="GL_DEPTH"/>
+            <enum name="GL_STENCIL"/>
+        </group>
+
+        <group name="RenderbufferTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_RENDERBUFFER"/>
+            <enum name="GL_RENDERBUFFER_OES"/>
+        </group>
+
+        <group name="FramebufferTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FRAMEBUFFER"/>
+            <enum name="GL_FRAMEBUFFER_OES"/>
+            <enum name="GL_DRAW_FRAMEBUFFER"/>
+            <enum name="GL_READ_FRAMEBUFFER"/>
+        </group>
+
+        <group name="TextureUnit" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_TEXTURE0"/>
+            <enum name="GL_TEXTURE1"/>
+            <enum name="GL_TEXTURE2"/>
+            <enum name="GL_TEXTURE3"/>
+            <enum name="GL_TEXTURE4"/>
+            <enum name="GL_TEXTURE5"/>
+            <enum name="GL_TEXTURE6"/>
+            <enum name="GL_TEXTURE7"/>
+            <enum name="GL_TEXTURE8"/>
+            <enum name="GL_TEXTURE9"/>
+            <enum name="GL_TEXTURE10"/>
+            <enum name="GL_TEXTURE11"/>
+            <enum name="GL_TEXTURE12"/>
+            <enum name="GL_TEXTURE13"/>
+            <enum name="GL_TEXTURE14"/>
+            <enum name="GL_TEXTURE15"/>
+            <enum name="GL_TEXTURE16"/>
+            <enum name="GL_TEXTURE17"/>
+            <enum name="GL_TEXTURE18"/>
+            <enum name="GL_TEXTURE19"/>
+            <enum name="GL_TEXTURE20"/>
+            <enum name="GL_TEXTURE21"/>
+            <enum name="GL_TEXTURE22"/>
+            <enum name="GL_TEXTURE23"/>
+            <enum name="GL_TEXTURE24"/>
+            <enum name="GL_TEXTURE25"/>
+            <enum name="GL_TEXTURE26"/>
+            <enum name="GL_TEXTURE27"/>
+            <enum name="GL_TEXTURE28"/>
+            <enum name="GL_TEXTURE29"/>
+            <enum name="GL_TEXTURE30"/>
+            <enum name="GL_TEXTURE31"/>
+        </group>
+
+        <group name="ConditionalRenderMode" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_QUERY_WAIT"/>
+            <enum name="GL_QUERY_NO_WAIT"/>
+            <enum name="GL_QUERY_BY_REGION_WAIT"/>
+            <enum name="GL_QUERY_BY_REGION_NO_WAIT"/>
+            <enum name="GL_QUERY_WAIT_INVERTED"/>
+            <enum name="GL_QUERY_NO_WAIT_INVERTED"/>
+            <enum name="GL_QUERY_BY_REGION_WAIT_INVERTED"/>
+            <enum name="GL_QUERY_BY_REGION_NO_WAIT_INVERTED"/>
+        </group>
+
+        <group name="FragmentOpATI" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_MOV_ATI"/>
+            <enum name="GL_ADD_ATI"/>
+            <enum name="GL_MUL_ATI"/>
+            <enum name="GL_SUB_ATI"/>
+            <enum name="GL_DOT3_ATI"/>
+            <enum name="GL_DOT4_ATI"/>
+            <enum name="GL_MAD_ATI"/>
+            <enum name="GL_LERP_ATI"/>
+            <enum name="GL_CND_ATI"/>
+            <enum name="GL_CND0_ATI"/>
+            <enum name="GL_DOT2_ADD_ATI"/>
+        </group>
+
+        <group name="FramebufferStatus" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FRAMEBUFFER_COMPLETE"/>
+            <enum name="GL_FRAMEBUFFER_UNDEFINED"/>
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"/>
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"/>
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER"/>
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER"/>
+            <enum name="GL_FRAMEBUFFER_UNSUPPORTED"/>
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"/>
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"/>
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS"/>
+        </group>
+
+        <group name="GraphicsResetStatus" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_NO_ERROR"/>
+            <enum name="GL_GUILTY_CONTEXT_RESET"/>
+            <enum name="GL_INNOCENT_CONTEXT_RESET"/>
+            <enum name="GL_UNKNOWN_CONTEXT_RESET"/>
+        </group>
+
+        <group name="SyncStatus" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_ALREADY_SIGNALED"/>
+            <enum name="GL_TIMEOUT_EXPIRED"/>
+            <enum name="GL_CONDITION_SATISFIED"/>
+            <enum name="GL_WAIT_FAILED"/>
+        </group>
+
+        <group name="QueryTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_SAMPLES_PASSED"/>
+            <enum name="GL_ANY_SAMPLES_PASSED"/>
+            <enum name="GL_ANY_SAMPLES_PASSED_CONSERVATIVE"/>
+            <enum name="GL_PRIMITIVES_GENERATED"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"/>
+            <enum name="GL_TIME_ELAPSED"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_OVERFLOW"/>
+            <enum name="GL_VERTICES_SUBMITTED"/>
+            <enum name="GL_PRIMITIVES_SUBMITTED"/>
+            <enum name="GL_VERTEX_SHADER_INVOCATIONS"/>
+        </group>
+
+        <group name="QueryCounterTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_TIMESTAMP"/>
+        </group>
+
+        <group name="ConvolutionTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_CONVOLUTION_1D"/>
+            <enum name="GL_CONVOLUTION_2D"/>
+        </group>
+
+        <group name="PathFillMode" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_INVERT"/>
+            <enum name="GL_COUNT_UP_NV"/>
+            <enum name="GL_COUNT_DOWN_NV"/>
+            <enum name="GL_PATH_FILL_MODE_NV"/>
+        </group>
+
+        <group name="ColorTableTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_COLOR_TABLE"/>
+            <enum name="GL_POST_CONVOLUTION_COLOR_TABLE"/>
+            <enum name="GL_POST_COLOR_MATRIX_COLOR_TABLE"/>
+        </group>
+
+        <group name="VertexBufferObjectParameter" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_BUFFER_ACCESS"/>
+            <enum name="GL_BUFFER_ACCESS_FLAGS"/>
+            <enum name="GL_BUFFER_IMMUTABLE_STORAGE"/>
+            <enum name="GL_BUFFER_MAPPED"/>
+            <enum name="GL_BUFFER_MAP_LENGTH"/>
+            <enum name="GL_BUFFER_MAP_OFFSET"/>
+            <enum name="GL_BUFFER_SIZE"/>
+            <enum name="GL_BUFFER_STORAGE_FLAGS"/>
+            <enum name="GL_BUFFER_USAGE"/>
+        </group>
+
+        <group name="RenderbufferParameterName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_RENDERBUFFER_WIDTH"/>
+            <enum name="GL_RENDERBUFFER_WIDTH_EXT"/>
+            <enum name="GL_RENDERBUFFER_WIDTH_OES"/>
+            <enum name="GL_RENDERBUFFER_HEIGHT"/>
+            <enum name="GL_RENDERBUFFER_HEIGHT_EXT"/>
+            <enum name="GL_RENDERBUFFER_HEIGHT_OES"/>
+            <enum name="GL_RENDERBUFFER_INTERNAL_FORMAT"/>
+            <enum name="GL_RENDERBUFFER_INTERNAL_FORMAT_EXT"/>
+            <enum name="GL_RENDERBUFFER_INTERNAL_FORMAT_OES"/>
+            <enum name="GL_RENDERBUFFER_SAMPLES"/>
+            <enum name="GL_RENDERBUFFER_SAMPLES_ANGLE"/>
+            <enum name="GL_RENDERBUFFER_SAMPLES_APPLE"/>
+            <enum name="GL_RENDERBUFFER_SAMPLES_EXT"/>
+            <enum name="GL_RENDERBUFFER_SAMPLES_IMG"/>
+            <enum name="GL_RENDERBUFFER_SAMPLES_NV"/>
+            <enum name="GL_RENDERBUFFER_RED_SIZE"/>
+            <enum name="GL_RENDERBUFFER_RED_SIZE_EXT"/>
+            <enum name="GL_RENDERBUFFER_RED_SIZE_OES"/>
+            <enum name="GL_RENDERBUFFER_GREEN_SIZE"/>
+            <enum name="GL_RENDERBUFFER_GREEN_SIZE_EXT"/>
+            <enum name="GL_RENDERBUFFER_GREEN_SIZE_OES"/>
+            <enum name="GL_RENDERBUFFER_BLUE_SIZE"/>
+            <enum name="GL_RENDERBUFFER_BLUE_SIZE_EXT"/>
+            <enum name="GL_RENDERBUFFER_BLUE_SIZE_OES"/>
+            <enum name="GL_RENDERBUFFER_ALPHA_SIZE"/>
+            <enum name="GL_RENDERBUFFER_ALPHA_SIZE_EXT"/>
+            <enum name="GL_RENDERBUFFER_ALPHA_SIZE_OES"/>
+            <enum name="GL_RENDERBUFFER_DEPTH_SIZE"/>
+            <enum name="GL_RENDERBUFFER_DEPTH_SIZE_EXT"/>
+            <enum name="GL_RENDERBUFFER_DEPTH_SIZE_OES"/>
+            <enum name="GL_RENDERBUFFER_STENCIL_SIZE"/>
+            <enum name="GL_RENDERBUFFER_STENCIL_SIZE_EXT"/>
+            <enum name="GL_RENDERBUFFER_STENCIL_SIZE_OES"/>
+            <enum name="GL_RENDERBUFFER_STORAGE_SAMPLES_AMD"/>
+            <enum name="GL_RENDERBUFFER_COVERAGE_SAMPLES_NV"/>
+            <enum name="GL_RENDERBUFFER_COLOR_SAMPLES_NV"/>
+        </group>
+
+        <group name="VertexBufferObjectUsage" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_STREAM_DRAW"/>
+            <enum name="GL_STREAM_READ"/>
+            <enum name="GL_STREAM_COPY"/>
+            <enum name="GL_STATIC_DRAW"/>
+            <enum name="GL_STATIC_READ"/>
+            <enum name="GL_STATIC_COPY"/>
+            <enum name="GL_DYNAMIC_DRAW"/>
+            <enum name="GL_DYNAMIC_READ"/>
+            <enum name="GL_DYNAMIC_COPY"/>
+        </group>
+
+        <group name="FramebufferParameterName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FRAMEBUFFER_DEFAULT_WIDTH"/>
+            <enum name="GL_FRAMEBUFFER_DEFAULT_HEIGHT"/>
+            <enum name="GL_FRAMEBUFFER_DEFAULT_LAYERS"/>
+            <enum name="GL_FRAMEBUFFER_DEFAULT_SAMPLES"/>
+            <enum name="GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS"/>
+        </group>
+
+        <group name="ProgramParameterPName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_PROGRAM_BINARY_RETRIEVABLE_HINT"/>
+            <enum name="GL_PROGRAM_SEPARABLE"/>
+        </group>
+
+        <group name="BlendingFactor" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_ZERO"/>
+            <enum name="GL_ONE"/>
+            <enum name="GL_SRC_COLOR"/>
+            <enum name="GL_ONE_MINUS_SRC_COLOR"/>
+            <enum name="GL_DST_COLOR"/>
+            <enum name="GL_ONE_MINUS_DST_COLOR"/>
+            <enum name="GL_SRC_ALPHA"/>
+            <enum name="GL_ONE_MINUS_SRC_ALPHA"/>
+            <enum name="GL_DST_ALPHA"/>
+            <enum name="GL_ONE_MINUS_DST_ALPHA"/>
+            <enum name="GL_CONSTANT_COLOR"/>
+            <enum name="GL_ONE_MINUS_CONSTANT_COLOR"/>
+            <enum name="GL_CONSTANT_ALPHA"/>
+            <enum name="GL_ONE_MINUS_CONSTANT_ALPHA"/>
+            <enum name="GL_SRC_ALPHA_SATURATE"/>
+            <enum name="GL_SRC1_COLOR"/>
+            <enum name="GL_ONE_MINUS_SRC1_COLOR"/>
+            <enum name="GL_SRC1_ALPHA"/>
+            <enum name="GL_ONE_MINUS_SRC1_ALPHA"/>
+        </group>
+
+        <group name="BindTransformFeedbackTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_TRANSFORM_FEEDBACK"/>
+        </group>
+
+        <group name="BlitFramebufferFilter" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_NEAREST"/>
+            <enum name="GL_LINEAR"/>
+        </group>
+
+        <group name="BufferStorageTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_ARRAY_BUFFER"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER"/>
+            <enum name="GL_COPY_READ_BUFFER"/>
+            <enum name="GL_COPY_WRITE_BUFFER"/>
+            <enum name="GL_DISPATCH_INDIRECT_BUFFER"/>
+            <enum name="GL_DRAW_INDIRECT_BUFFER"/>
+            <enum name="GL_ELEMENT_ARRAY_BUFFER"/>
+            <enum name="GL_PIXEL_PACK_BUFFER"/>
+            <enum name="GL_PIXEL_UNPACK_BUFFER"/>
+            <enum name="GL_QUERY_BUFFER"/>
+            <enum name="GL_SHADER_STORAGE_BUFFER"/>
+            <enum name="GL_TEXTURE_BUFFER"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER"/>
+            <enum name="GL_UNIFORM_BUFFER"/>
+        </group>
+
+        <group name="CheckFramebufferStatusTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_DRAW_FRAMEBUFFER"/>
+            <enum name="GL_READ_FRAMEBUFFER"/>
+            <enum name="GL_FRAMEBUFFER"/>
+        </group>
+
+        <group name="Buffer" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_COLOR"/>
+            <enum name="GL_DEPTH"/>
+            <enum name="GL_STENCIL"/>
+        </group>
+
+        <group name="ClipControlOrigin" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_LOWER_LEFT"/>
+            <enum name="GL_UPPER_LEFT"/>
+        </group>
+
+        <group name="ClipControlDepth" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_NEGATIVE_ONE_TO_ONE"/>
+            <enum name="GL_ZERO_TO_ONE"/>
+        </group>
+
+        <group name="CopyBufferSubDataTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_ARRAY_BUFFER"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER"/>
+            <enum name="GL_COPY_READ_BUFFER"/>
+            <enum name="GL_COPY_WRITE_BUFFER"/>
+            <enum name="GL_DISPATCH_INDIRECT_BUFFER"/>
+            <enum name="GL_DRAW_INDIRECT_BUFFER"/>
+            <enum name="GL_ELEMENT_ARRAY_BUFFER"/>
+            <enum name="GL_PIXEL_PACK_BUFFER"/>
+            <enum name="GL_PIXEL_UNPACK_BUFFER"/>
+            <enum name="GL_QUERY_BUFFER"/>
+            <enum name="GL_SHADER_STORAGE_BUFFER"/>
+            <enum name="GL_TEXTURE_BUFFER"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER"/>
+            <enum name="GL_UNIFORM_BUFFER"/>
+        </group>
+
+        <group name="CopyImageSubDataTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_RENDERBUFFER"/>
+            <enum name="GL_TEXTURE_1D"/>
+            <enum name="GL_TEXTURE_2D"/>
+            <enum name="GL_TEXTURE_3D"/>
+            <enum name="GL_TEXTURE_RECTANGLE"/>
+            <enum name="GL_TEXTURE_CUBE_MAP"/>
+            <enum name="GL_TEXTURE_CUBE_MAP_ARRAY"/>
+            <enum name="GL_TEXTURE_1D_ARRAY"/>
+            <enum name="GL_TEXTURE_2D_ARRAY"/>
+            <enum name="GL_TEXTURE_2D_MULTISAMPLE"/>
+            <enum name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
+        </group>
+
+        <group name="ShaderType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_COMPUTE_SHADER"/>
+            <enum name="GL_VERTEX_SHADER"/>
+            <enum name="GL_TESS_CONTROL_SHADER"/>
+            <enum name="GL_TESS_EVALUATION_SHADER"/>
+            <enum name="GL_GEOMETRY_SHADER"/>
+            <enum name="GL_FRAGMENT_SHADER"/>
+            <enum name="GL_FRAGMENT_SHADER_ARB"/>
+            <enum name="GL_VERTEX_SHADER_ARB"/>
+        </group>
+
+        <group name="DebugSource" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_DEBUG_SOURCE_API"/>
+            <enum name="GL_DEBUG_SOURCE_WINDOW_SYSTEM"/>
+            <enum name="GL_DEBUG_SOURCE_SHADER_COMPILER"/>
+            <enum name="GL_DEBUG_SOURCE_THIRD_PARTY"/>
+            <enum name="GL_DEBUG_SOURCE_APPLICATION"/>
+            <enum name="GL_DEBUG_SOURCE_OTHER"/>
+            <enum name="GL_DONT_CARE"/>
+        </group>
+
+        <group name="DebugType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_DEBUG_TYPE_ERROR"/>
+            <enum name="GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR"/>
+            <enum name="GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR"/>
+            <enum name="GL_DEBUG_TYPE_PORTABILITY"/>
+            <enum name="GL_DEBUG_TYPE_PERFORMANCE"/>
+            <enum name="GL_DEBUG_TYPE_MARKER"/>
+            <enum name="GL_DEBUG_TYPE_PUSH_GROUP"/>
+            <enum name="GL_DEBUG_TYPE_POP_GROUP"/>
+            <enum name="GL_DEBUG_TYPE_OTHER"/>
+            <enum name="GL_DONT_CARE"/>
+        </group>
+
+        <group name="DebugSeverity" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_DEBUG_SEVERITY_LOW"/>
+            <enum name="GL_DEBUG_SEVERITY_MEDIUM"/>
+            <enum name="GL_DEBUG_SEVERITY_HIGH"/>
+            <enum name="GL_DEBUG_SEVERITY_NOTIFICATION"/>
+            <enum name="GL_DONT_CARE"/>
+        </group>
+
+        <group name="SyncCondition" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_SYNC_GPU_COMMANDS_COMPLETE"/>
+        </group>
+
+        <group name="FogPName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FOG_MODE"/>
+            <enum name="GL_FOG_DENSITY"/>
+            <enum name="GL_FOG_START"/>
+            <enum name="GL_FOG_END"/>
+            <enum name="GL_FOG_INDEX"/>
+            <enum name="GL_FOG_COORD_SRC"/>
+        </group>
+
+        <group name="AtomicCounterBufferPName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_BINDING"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER"/>
+        </group>
+
+        <group name="UniformBlockPName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_UNIFORM_BLOCK_BINDING"/>
+            <enum name="GL_UNIFORM_BLOCK_DATA_SIZE"/>
+            <enum name="GL_UNIFORM_BLOCK_NAME_LENGTH"/>
+            <enum name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS"/>
+            <enum name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES"/>
+            <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER"/>
+            <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER"/>
+            <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
+            <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER"/>
+            <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER"/>
+            <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER"/>
+        </group>
+
+        <group name="UniformPName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_UNIFORM_TYPE"/>
+            <enum name="GL_UNIFORM_SIZE"/>
+            <enum name="GL_UNIFORM_NAME_LENGTH"/>
+            <enum name="GL_UNIFORM_BLOCK_INDEX"/>
+            <enum name="GL_UNIFORM_OFFSET"/>
+            <enum name="GL_UNIFORM_ARRAY_STRIDE"/>
+            <enum name="GL_UNIFORM_MATRIX_STRIDE"/>
+            <enum name="GL_UNIFORM_IS_ROW_MAJOR"/>
+            <enum name="GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX"/>
+        </group>
+
+        <group name="SamplerParameterI" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_TEXTURE_WRAP_S"/>
+            <enum name="GL_TEXTURE_WRAP_T"/>
+            <enum name="GL_TEXTURE_WRAP_R"/>
+            <enum name="GL_TEXTURE_MIN_FILTER"/>
+            <enum name="GL_TEXTURE_MAG_FILTER"/>
+            <enum name="GL_TEXTURE_COMPARE_MODE"/>
+            <enum name="GL_TEXTURE_COMPARE_FUNC"/>
+        </group>
+
+        <group name="SamplerParameterF" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_TEXTURE_BORDER_COLOR"/>
+            <enum name="GL_TEXTURE_MIN_LOD"/>
+            <enum name="GL_TEXTURE_MAX_LOD"/>
+            <enum name="GL_TEXTURE_MAX_ANISOTROPY"/>
+        </group>
+
+        <group name="VertexProvokingMode" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FIRST_VERTEX_CONVENTION"/>
+            <enum name="GL_LAST_VERTEX_CONVENTION"/>
+        </group>
+
+        <group name="PatchParameterName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_PATCH_VERTICES"/>
+            <enum name="GL_PATCH_DEFAULT_OUTER_LEVEL"/>
+            <enum name="GL_PATCH_DEFAULT_INNER_LEVEL"/>
+        </group>
+
+        <group name="ObjectIdentifier" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_BUFFER"/>
+            <enum name="GL_SHADER"/>
+            <enum name="GL_PROGRAM"/>
+            <enum name="GL_VERTEX_ARRAY"/>
+            <enum name="GL_QUERY"/>
+            <enum name="GL_PROGRAM_PIPELINE"/>
+            <enum name="GL_TRANSFORM_FEEDBACK"/>
+            <enum name="GL_SAMPLER"/>
+            <enum name="GL_TEXTURE"/>
+            <enum name="GL_RENDERBUFFER"/>
+            <enum name="GL_FRAMEBUFFER"/>
+        </group>
+
+        <group name="ColorBuffer" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_NONE"/>
+            <enum name="GL_FRONT_LEFT"/>
+            <enum name="GL_FRONT_RIGHT"/>
+            <enum name="GL_BACK_LEFT"/>
+            <enum name="GL_BACK_RIGHT"/>
+            <enum name="GL_FRONT"/>
+            <enum name="GL_BACK"/>
+            <enum name="GL_LEFT"/>
+            <enum name="GL_RIGHT"/>
+            <enum name="GL_FRONT_AND_BACK"/>
+            <enum name="GL_COLOR_ATTACHMENT0"/>
+            <enum name="GL_COLOR_ATTACHMENT1"/>
+            <enum name="GL_COLOR_ATTACHMENT2"/>
+            <enum name="GL_COLOR_ATTACHMENT3"/>
+            <enum name="GL_COLOR_ATTACHMENT4"/>
+            <enum name="GL_COLOR_ATTACHMENT5"/>
+            <enum name="GL_COLOR_ATTACHMENT6"/>
+            <enum name="GL_COLOR_ATTACHMENT7"/>
+            <enum name="GL_COLOR_ATTACHMENT8"/>
+            <enum name="GL_COLOR_ATTACHMENT9"/>
+            <enum name="GL_COLOR_ATTACHMENT10"/>
+            <enum name="GL_COLOR_ATTACHMENT11"/>
+            <enum name="GL_COLOR_ATTACHMENT12"/>
+            <enum name="GL_COLOR_ATTACHMENT13"/>
+            <enum name="GL_COLOR_ATTACHMENT14"/>
+            <enum name="GL_COLOR_ATTACHMENT15"/>
+            <enum name="GL_COLOR_ATTACHMENT16"/>
+            <enum name="GL_COLOR_ATTACHMENT17"/>
+            <enum name="GL_COLOR_ATTACHMENT18"/>
+            <enum name="GL_COLOR_ATTACHMENT19"/>
+            <enum name="GL_COLOR_ATTACHMENT20"/>
+            <enum name="GL_COLOR_ATTACHMENT21"/>
+            <enum name="GL_COLOR_ATTACHMENT22"/>
+            <enum name="GL_COLOR_ATTACHMENT23"/>
+            <enum name="GL_COLOR_ATTACHMENT24"/>
+            <enum name="GL_COLOR_ATTACHMENT25"/>
+            <enum name="GL_COLOR_ATTACHMENT26"/>
+            <enum name="GL_COLOR_ATTACHMENT27"/>
+            <enum name="GL_COLOR_ATTACHMENT28"/>
+            <enum name="GL_COLOR_ATTACHMENT29"/>
+            <enum name="GL_COLOR_ATTACHMENT30"/>
+            <enum name="GL_COLOR_ATTACHMENT31"/>
+        </group>
+
+        <group name="MapQuery" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_COEFF"/>
+            <enum name="GL_ORDER"/>
+            <enum name="GL_DOMAIN"/>
+        </group>
+
+        <group name="VertexArrayPName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_ENABLED"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_SIZE"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_STRIDE"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_TYPE"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_INTEGER"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_LONG"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR"/>
+            <enum name="GL_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+        </group>
+
+        <group name="TransformFeedbackPName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_START"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_PAUSED"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_ACTIVE"/>
+        </group>
+
+        <group name="SyncParameterName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_OBJECT_TYPE"/>
+            <enum name="GL_SYNC_STATUS"/>
+            <enum name="GL_SYNC_CONDITION"/>
+            <enum name="GL_SYNC_FLAGS"/>
+        </group>
+
+        <group name="ShaderParameterName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_SHADER_TYPE"/>
+            <enum name="GL_DELETE_STATUS"/>
+            <enum name="GL_COMPILE_STATUS"/>
+            <enum name="GL_INFO_LOG_LENGTH"/>
+            <enum name="GL_SHADER_SOURCE_LENGTH"/>
+        </group>
+
+        <group name="QueryObjectParameterName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_QUERY_RESULT_AVAILABLE"/>
+            <enum name="GL_QUERY_RESULT"/>
+            <enum name="GL_QUERY_RESULT_NO_WAIT"/>
+            <enum name="GL_QUERY_TARGET"/>
+        </group>
+
+        <group name="QueryParameterName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_CURRENT_QUERY"/>
+            <enum name="GL_QUERY_COUNTER_BITS"/>
+        </group>
+
+        <group name="ProgramStagePName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_ACTIVE_SUBROUTINE_UNIFORMS"/>
+            <enum name="GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS"/>
+            <enum name="GL_ACTIVE_SUBROUTINES"/>
+            <enum name="GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH"/>
+            <enum name="GL_ACTIVE_SUBROUTINE_MAX_LENGTH"/>
+        </group>
+
+        <group name="PipelineParameterName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_ACTIVE_PROGRAM"/>
+            <enum name="GL_VERTEX_SHADER"/>
+            <enum name="GL_TESS_CONTROL_SHADER"/>
+            <enum name="GL_TESS_EVALUATION_SHADER"/>
+            <enum name="GL_GEOMETRY_SHADER"/>
+            <enum name="GL_FRAGMENT_SHADER"/>
+            <enum name="GL_INFO_LOG_LENGTH"/>
+        </group>
+
+        <group name="ProgramInterface" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_UNIFORM"/>
+            <enum name="GL_UNIFORM_BLOCK"/>
+            <enum name="GL_PROGRAM_INPUT"/>
+            <enum name="GL_PROGRAM_OUTPUT"/>
+            <enum name="GL_VERTEX_SUBROUTINE"/>
+            <enum name="GL_TESS_CONTROL_SUBROUTINE"/>
+            <enum name="GL_TESS_EVALUATION_SUBROUTINE"/>
+            <enum name="GL_GEOMETRY_SUBROUTINE"/>
+            <enum name="GL_FRAGMENT_SUBROUTINE"/>
+            <enum name="GL_COMPUTE_SUBROUTINE"/>
+            <enum name="GL_VERTEX_SUBROUTINE_UNIFORM"/>
+            <enum name="GL_TESS_CONTROL_SUBROUTINE_UNIFORM"/>
+            <enum name="GL_TESS_EVALUATION_SUBROUTINE_UNIFORM"/>
+            <enum name="GL_GEOMETRY_SUBROUTINE_UNIFORM"/>
+            <enum name="GL_FRAGMENT_SUBROUTINE_UNIFORM"/>
+            <enum name="GL_COMPUTE_SUBROUTINE_UNIFORM"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_VARYING"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER"/>
+            <enum name="GL_BUFFER_VARIABLE"/>
+            <enum name="GL_SHADER_STORAGE_BLOCK"/>
+        </group>
+
+        <group name="VertexAttribEnum" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_ENABLED"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_SIZE"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_STRIDE"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_TYPE"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_INTEGER"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR"/>
+            <enum name="GL_CURRENT_VERTEX_ATTRIB"/>
+        </group>
+
+        <group name="VertexAttribType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_BYTE"/>
+            <enum name="GL_SHORT"/>
+            <enum name="GL_INT"/>
+            <enum name="GL_FIXED"/>
+            <enum name="GL_FLOAT"/>
+            <enum name="GL_HALF_FLOAT"/>
+            <enum name="GL_DOUBLE"/>
+            <enum name="GL_UNSIGNED_BYTE"/>
+            <enum name="GL_UNSIGNED_SHORT"/>
+            <enum name="GL_UNSIGNED_INT"/>
+            <enum name="GL_INT_2_10_10_10_REV"/>
+            <enum name="GL_UNSIGNED_INT_2_10_10_10_REV"/>
+            <enum name="GL_UNSIGNED_INT_10F_11F_11F_REV"/>
+        </group>
+
+        <group name="AttributeType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FLOAT"/>
+            <enum name="GL_FLOAT_VEC2"/>
+            <enum name="GL_FLOAT_VEC2_ARB"/>
+            <enum name="GL_FLOAT_VEC3"/>
+            <enum name="GL_FLOAT_VEC3_ARB"/>
+            <enum name="GL_FLOAT_VEC4"/>
+            <enum name="GL_FLOAT_VEC4_ARB"/>
+            <enum name="GL_DOUBLE"/>
+            <enum name="GL_DOUBLE_VEC2"/>
+            <enum name="GL_DOUBLE_VEC3"/>
+            <enum name="GL_DOUBLE_VEC4"/>
+            <enum name="GL_INT"/>
+            <enum name="GL_INT_VEC2"/>
+            <enum name="GL_INT_VEC2_ARB"/>
+            <enum name="GL_INT_VEC3"/>
+            <enum name="GL_INT_VEC3_ARB"/>
+            <enum name="GL_INT_VEC4"/>
+            <enum name="GL_INT_VEC4_ARB"/>
+            <enum name="GL_UNSIGNED_INT"/>
+            <enum name="GL_UNSIGNED_INT_VEC2"/>
+            <enum name="GL_UNSIGNED_INT_VEC3"/>
+            <enum name="GL_UNSIGNED_INT_VEC4"/>
+            <enum name="GL_BOOL"/>
+            <enum name="GL_BOOL_ARB"/>
+            <enum name="GL_BOOL_VEC2"/>
+            <enum name="GL_BOOL_VEC2_ARB"/>
+            <enum name="GL_BOOL_VEC3"/>
+            <enum name="GL_BOOL_VEC3_ARB"/>
+            <enum name="GL_BOOL_VEC4"/>
+            <enum name="GL_BOOL_VEC4_ARB"/>
+            <enum name="GL_FLOAT_MAT2"/>
+            <enum name="GL_FLOAT_MAT2_ARB"/>
+            <enum name="GL_FLOAT_MAT3"/>
+            <enum name="GL_FLOAT_MAT3_ARB"/>
+            <enum name="GL_FLOAT_MAT4"/>
+            <enum name="GL_FLOAT_MAT4_ARB"/>
+            <enum name="GL_FLOAT_MAT2x3"/>
+            <enum name="GL_FLOAT_MAT2x3_NV"/>
+            <enum name="GL_FLOAT_MAT2x4"/>
+            <enum name="GL_FLOAT_MAT2x4_NV"/>
+            <enum name="GL_FLOAT_MAT3x2"/>
+            <enum name="GL_FLOAT_MAT3x2_NV"/>
+            <enum name="GL_FLOAT_MAT3x4"/>
+            <enum name="GL_FLOAT_MAT3x4_NV"/>
+            <enum name="GL_FLOAT_MAT4x2"/>
+            <enum name="GL_FLOAT_MAT4x2_NV"/>
+            <enum name="GL_FLOAT_MAT4x3"/>
+            <enum name="GL_FLOAT_MAT4x3_NV"/>
+            <enum name="GL_DOUBLE_MAT2"/>
+            <enum name="GL_DOUBLE_MAT3"/>
+            <enum name="GL_DOUBLE_MAT4"/>
+            <enum name="GL_DOUBLE_MAT2x3"/>
+            <enum name="GL_DOUBLE_MAT2x4"/>
+            <enum name="GL_DOUBLE_MAT3x2"/>
+            <enum name="GL_DOUBLE_MAT3x4"/>
+            <enum name="GL_DOUBLE_MAT4x2"/>
+            <enum name="GL_DOUBLE_MAT4x3"/>
+            <enum name="GL_SAMPLER_1D"/>
+            <enum name="GL_SAMPLER_1D_ARB"/>
+            <enum name="GL_SAMPLER_2D"/>
+            <enum name="GL_SAMPLER_2D_ARB"/>
+            <enum name="GL_SAMPLER_3D"/>
+            <enum name="GL_SAMPLER_3D_ARB"/>
+            <enum name="GL_SAMPLER_3D_OES"/>
+            <enum name="GL_SAMPLER_CUBE"/>
+            <enum name="GL_SAMPLER_CUBE_ARB"/>
+            <enum name="GL_SAMPLER_1D_SHADOW"/>
+            <enum name="GL_SAMPLER_1D_SHADOW_ARB"/>
+            <enum name="GL_SAMPLER_2D_SHADOW"/>
+            <enum name="GL_SAMPLER_2D_SHADOW_ARB"/>
+            <enum name="GL_SAMPLER_2D_SHADOW_EXT"/>
+            <enum name="GL_SAMPLER_CUBE_MAP_ARRAY"/>
+            <enum name="GL_SAMPLER_1D_ARRAY_SHADOW"/>
+            <enum name="GL_SAMPLER_2D_ARRAY_SHADOW"/>
+            <enum name="GL_SAMPLER_2D_MULTISAMPLE"/>
+            <enum name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_SAMPLER_CUBE_SHADOW"/>
+            <enum name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW"/>
+            <enum name="GL_SAMPLER_BUFFER"/>
+            <enum name="GL_SAMPLER_2D_RECT"/>
+            <enum name="GL_SAMPLER_2D_RECT_ARB"/>
+            <enum name="GL_SAMPLER_2D_RECT_SHADOW"/>
+            <enum name="GL_SAMPLER_2D_RECT_SHADOW_ARB"/>
+            <enum name="GL_INT_SAMPLER_1D"/>
+            <enum name="GL_INT_SAMPLER_2D"/>
+            <enum name="GL_INT_SAMPLER_3D"/>
+            <enum name="GL_INT_SAMPLER_CUBE"/>
+            <enum name="GL_INT_SAMPLER_1D_ARRAY"/>
+            <enum name="GL_INT_SAMPLER_2D_ARRAY"/>
+            <enum name="GL_INT_SAMPLER_CUBE_MAP_ARRAY"/>
+            <enum name="GL_INT_SAMPLER_2D_MULTISAMPLE"/>
+            <enum name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_INT_SAMPLER_BUFFER"/>
+            <enum name="GL_INT_SAMPLER_2D_RECT"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_1D"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_2D"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_3D"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_CUBE"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_1D_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_2D_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_BUFFER"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_2D_RECT"/>
+            <enum name="GL_IMAGE_1D"/>
+            <enum name="GL_IMAGE_2D"/>
+            <enum name="GL_IMAGE_3D"/>
+            <enum name="GL_IMAGE_2D_RECT"/>
+            <enum name="GL_IMAGE_CUBE"/>
+            <enum name="GL_IMAGE_BUFFER"/>
+            <enum name="GL_IMAGE_1D_ARRAY"/>
+            <enum name="GL_IMAGE_2D_ARRAY"/>
+            <enum name="GL_IMAGE_CUBE_MAP_ARRAY"/>
+            <enum name="GL_IMAGE_2D_MULTISAMPLE"/>
+            <enum name="GL_IMAGE_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_INT_IMAGE_1D"/>
+            <enum name="GL_INT_IMAGE_2D"/>
+            <enum name="GL_INT_IMAGE_3D"/>
+            <enum name="GL_INT_IMAGE_2D_RECT"/>
+            <enum name="GL_INT_IMAGE_CUBE"/>
+            <enum name="GL_INT_IMAGE_BUFFER"/>
+            <enum name="GL_INT_IMAGE_1D_ARRAY"/>
+            <enum name="GL_INT_IMAGE_2D_ARRAY"/>
+            <enum name="GL_INT_IMAGE_CUBE_MAP_ARRAY"/>
+            <enum name="GL_INT_IMAGE_2D_MULTISAMPLE"/>
+            <enum name="GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_1D"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_2D"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_3D"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_2D_RECT"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_CUBE"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_BUFFER"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_1D_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_2D_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_INT64_ARB"/>
+            <enum name="GL_INT64_NV"/>
+            <enum name="GL_INT64_VEC2_ARB"/>
+            <enum name="GL_INT64_VEC3_ARB"/>
+            <enum name="GL_INT64_VEC4_ARB"/>
+            <enum name="GL_UNSIGNED_INT64_ARB"/>
+            <enum name="GL_UNSIGNED_INT64_NV"/>
+            <enum name="GL_UNSIGNED_INT64_VEC2_ARB"/>
+            <enum name="GL_UNSIGNED_INT64_VEC3_ARB"/>
+            <enum name="GL_UNSIGNED_INT64_VEC4_ARB"/>
+        </group>
+
+        <group name="UniformType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_INT"/>
+            <enum name="GL_UNSIGNED_INT"/>
+            <enum name="GL_FLOAT"/>
+            <enum name="GL_DOUBLE"/>
+            <enum name="GL_FLOAT_VEC2"/>
+            <enum name="GL_FLOAT_VEC3"/>
+            <enum name="GL_FLOAT_VEC4"/>
+            <enum name="GL_INT_VEC2"/>
+            <enum name="GL_INT_VEC3"/>
+            <enum name="GL_INT_VEC4"/>
+            <enum name="GL_BOOL"/>
+            <enum name="GL_BOOL_VEC2"/>
+            <enum name="GL_BOOL_VEC3"/>
+            <enum name="GL_BOOL_VEC4"/>
+            <enum name="GL_FLOAT_MAT2"/>
+            <enum name="GL_FLOAT_MAT3"/>
+            <enum name="GL_FLOAT_MAT4"/>
+            <enum name="GL_SAMPLER_1D"/>
+            <enum name="GL_SAMPLER_2D"/>
+            <enum name="GL_SAMPLER_3D"/>
+            <enum name="GL_SAMPLER_CUBE"/>
+            <enum name="GL_SAMPLER_1D_SHADOW"/>
+            <enum name="GL_SAMPLER_2D_SHADOW"/>
+            <enum name="GL_SAMPLER_2D_RECT"/>
+            <enum name="GL_SAMPLER_2D_RECT_SHADOW"/>
+            <enum name="GL_FLOAT_MAT2x3"/>
+            <enum name="GL_FLOAT_MAT2x4"/>
+            <enum name="GL_FLOAT_MAT3x2"/>
+            <enum name="GL_FLOAT_MAT3x4"/>
+            <enum name="GL_FLOAT_MAT4x2"/>
+            <enum name="GL_FLOAT_MAT4x3"/>
+            <enum name="GL_SAMPLER_1D_ARRAY"/>
+            <enum name="GL_SAMPLER_2D_ARRAY"/>
+            <enum name="GL_SAMPLER_BUFFER"/>
+            <enum name="GL_SAMPLER_1D_ARRAY_SHADOW"/>
+            <enum name="GL_SAMPLER_2D_ARRAY_SHADOW"/>
+            <enum name="GL_SAMPLER_CUBE_SHADOW"/>
+            <enum name="GL_UNSIGNED_INT_VEC2"/>
+            <enum name="GL_UNSIGNED_INT_VEC3"/>
+            <enum name="GL_UNSIGNED_INT_VEC4"/>
+            <enum name="GL_INT_SAMPLER_1D"/>
+            <enum name="GL_INT_SAMPLER_2D"/>
+            <enum name="GL_INT_SAMPLER_3D"/>
+            <enum name="GL_INT_SAMPLER_CUBE"/>
+            <enum name="GL_INT_SAMPLER_2D_RECT"/>
+            <enum name="GL_INT_SAMPLER_1D_ARRAY"/>
+            <enum name="GL_INT_SAMPLER_2D_ARRAY"/>
+            <enum name="GL_INT_SAMPLER_BUFFER"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_1D"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_2D"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_3D"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_CUBE"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_2D_RECT"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_1D_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_2D_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_BUFFER"/>
+            <enum name="GL_DOUBLE_MAT2"/>
+            <enum name="GL_DOUBLE_MAT3"/>
+            <enum name="GL_DOUBLE_MAT4"/>
+            <enum name="GL_DOUBLE_MAT2x3"/>
+            <enum name="GL_DOUBLE_MAT2x4"/>
+            <enum name="GL_DOUBLE_MAT3x2"/>
+            <enum name="GL_DOUBLE_MAT3x4"/>
+            <enum name="GL_DOUBLE_MAT4x2"/>
+            <enum name="GL_DOUBLE_MAT4x3"/>
+            <enum name="GL_DOUBLE_VEC2"/>
+            <enum name="GL_DOUBLE_VEC3"/>
+            <enum name="GL_DOUBLE_VEC4"/>
+            <enum name="GL_SAMPLER_CUBE_MAP_ARRAY"/>
+            <enum name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW"/>
+            <enum name="GL_INT_SAMPLER_CUBE_MAP_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY"/>
+            <enum name="GL_SAMPLER_2D_MULTISAMPLE"/>
+            <enum name="GL_INT_SAMPLER_2D_MULTISAMPLE"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE"/>
+            <enum name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+        </group>
+
+        <group name="InternalFormatPName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_NUM_SAMPLE_COUNTS"/>
+            <enum name="GL_SAMPLES"/>
+            <enum name="GL_INTERNALFORMAT_SUPPORTED"/>
+            <enum name="GL_INTERNALFORMAT_PREFERRED"/>
+            <enum name="GL_INTERNALFORMAT_RED_SIZE"/>
+            <enum name="GL_INTERNALFORMAT_GREEN_SIZE"/>
+            <enum name="GL_INTERNALFORMAT_BLUE_SIZE"/>
+            <enum name="GL_INTERNALFORMAT_ALPHA_SIZE"/>
+            <enum name="GL_INTERNALFORMAT_DEPTH_SIZE"/>
+            <enum name="GL_INTERNALFORMAT_STENCIL_SIZE"/>
+            <enum name="GL_INTERNALFORMAT_SHARED_SIZE"/>
+            <enum name="GL_INTERNALFORMAT_RED_TYPE"/>
+            <enum name="GL_INTERNALFORMAT_GREEN_TYPE"/>
+            <enum name="GL_INTERNALFORMAT_BLUE_TYPE"/>
+            <enum name="GL_INTERNALFORMAT_ALPHA_TYPE"/>
+            <enum name="GL_INTERNALFORMAT_DEPTH_TYPE"/>
+            <enum name="GL_INTERNALFORMAT_STENCIL_TYPE"/>
+            <enum name="GL_MAX_WIDTH"/>
+            <enum name="GL_MAX_HEIGHT"/>
+            <enum name="GL_MAX_DEPTH"/>
+            <enum name="GL_MAX_LAYERS"/>
+            <enum name="GL_COLOR_COMPONENTS"/>
+            <enum name="GL_COLOR_RENDERABLE"/>
+            <enum name="GL_DEPTH_RENDERABLE"/>
+            <enum name="GL_STENCIL_RENDERABLE"/>
+            <enum name="GL_FRAMEBUFFER_RENDERABLE"/>
+            <enum name="GL_FRAMEBUFFER_RENDERABLE_LAYERED"/>
+            <enum name="GL_FRAMEBUFFER_BLEND"/>
+            <enum name="GL_READ_PIXELS"/>
+            <enum name="GL_READ_PIXELS_FORMAT"/>
+            <enum name="GL_READ_PIXELS_TYPE"/>
+            <enum name="GL_TEXTURE_IMAGE_FORMAT"/>
+            <enum name="GL_TEXTURE_IMAGE_TYPE"/>
+            <enum name="GL_GET_TEXTURE_IMAGE_FORMAT"/>
+            <enum name="GL_GET_TEXTURE_IMAGE_TYPE"/>
+            <enum name="GL_MIPMAP"/>
+            <enum name="GL_GENERATE_MIPMAP"/>
+            <enum name="GL_AUTO_GENERATE_MIPMAP"/>
+            <enum name="GL_COLOR_ENCODING"/>
+            <enum name="GL_SRGB_READ"/>
+            <enum name="GL_SRGB_WRITE"/>
+            <enum name="GL_FILTER"/>
+            <enum name="GL_VERTEX_TEXTURE"/>
+            <enum name="GL_TESS_CONTROL_TEXTURE"/>
+            <enum name="GL_TESS_EVALUATION_TEXTURE"/>
+            <enum name="GL_GEOMETRY_TEXTURE"/>
+            <enum name="GL_FRAGMENT_TEXTURE"/>
+            <enum name="GL_COMPUTE_TEXTURE"/>
+            <enum name="GL_TEXTURE_SHADOW"/>
+            <enum name="GL_TEXTURE_GATHER"/>
+            <enum name="GL_TEXTURE_GATHER_SHADOW"/>
+            <enum name="GL_SHADER_IMAGE_LOAD"/>
+            <enum name="GL_SHADER_IMAGE_STORE"/>
+            <enum name="GL_SHADER_IMAGE_ATOMIC"/>
+            <enum name="GL_IMAGE_TEXEL_SIZE"/>
+            <enum name="GL_IMAGE_COMPATIBILITY_CLASS"/>
+            <enum name="GL_IMAGE_PIXEL_FORMAT"/>
+            <enum name="GL_IMAGE_PIXEL_TYPE"/>
+            <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_TYPE"/>
+            <enum name="GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST"/>
+            <enum name="GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST"/>
+            <enum name="GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE"/>
+            <enum name="GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE"/>
+            <enum name="GL_TEXTURE_COMPRESSED"/>
+            <enum name="GL_TEXTURE_COMPRESSED_BLOCK_WIDTH"/>
+            <enum name="GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT"/>
+            <enum name="GL_TEXTURE_COMPRESSED_BLOCK_SIZE"/>
+            <enum name="GL_CLEAR_BUFFER"/>
+            <enum name="GL_TEXTURE_VIEW"/>
+            <enum name="GL_VIEW_COMPATIBILITY_CLASS"/>
+            <enum name="GL_CLEAR_TEXTURE"/>
+        </group>
+
+        <group name="FramebufferAttachmentParameterName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SCALE_IMG"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_OES"/>
         </group>
 
-        <group name="PointParameterNameSGIS">
-            <enum name="GL_DISTANCE_ATTENUATION_EXT"/>
-            <enum name="GL_DISTANCE_ATTENUATION_SGIS"/>
-            <enum name="GL_POINT_DISTANCE_ATTENUATION"/>
-            <enum name="GL_POINT_DISTANCE_ATTENUATION_ARB"/>
-            <enum name="GL_POINT_FADE_THRESHOLD_SIZE"/>
-            <enum name="GL_POINT_FADE_THRESHOLD_SIZE_ARB"/>
-            <enum name="GL_POINT_FADE_THRESHOLD_SIZE_EXT"/>
-            <enum name="GL_POINT_FADE_THRESHOLD_SIZE_SGIS"/>
-            <enum name="GL_POINT_SIZE_MAX"/>
-            <enum name="GL_POINT_SIZE_MAX_ARB"/>
-            <enum name="GL_POINT_SIZE_MAX_EXT"/>
-            <enum name="GL_POINT_SIZE_MAX_SGIS"/>
-            <enum name="GL_POINT_SIZE_MIN"/>
-            <enum name="GL_POINT_SIZE_MIN_ARB"/>
-            <enum name="GL_POINT_SIZE_MIN_EXT"/>
-            <enum name="GL_POINT_SIZE_MIN_SGIS"/>
+        <group name="ProgramInterfacePName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_ACTIVE_RESOURCES"/>
+            <enum name="GL_MAX_NAME_LENGTH"/>
+            <enum name="GL_MAX_NUM_ACTIVE_VARIABLES"/>
+            <enum name="GL_MAX_NUM_COMPATIBLE_SUBROUTINES"/>
         </group>
 
-        <group name="PolygonMode">
-            <enum name="GL_FILL"/>
-            <enum name="GL_LINE"/>
-            <enum name="GL_POINT"/>
+        <group name="PrecisionType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_LOW_FLOAT"/>
+            <enum name="GL_MEDIUM_FLOAT"/>
+            <enum name="GL_HIGH_FLOAT"/>
+            <enum name="GL_LOW_INT"/>
+            <enum name="GL_MEDIUM_INT"/>
+            <enum name="GL_HIGH_INT"/>
         </group>
 
-        <group name="PrimitiveType">
-            <enum name="GL_LINES"/>
-            <enum name="GL_LINES_ADJACENCY"/>
-            <enum name="GL_LINES_ADJACENCY_ARB"/>
-            <enum name="GL_LINES_ADJACENCY_EXT"/>
-            <enum name="GL_LINE_LOOP"/>
-            <enum name="GL_LINE_STRIP"/>
-            <enum name="GL_LINE_STRIP_ADJACENCY"/>
-            <enum name="GL_LINE_STRIP_ADJACENCY_ARB"/>
-            <enum name="GL_LINE_STRIP_ADJACENCY_EXT"/>
-            <enum name="GL_PATCHES"/>
-            <enum name="GL_PATCHES_EXT"/>
-            <enum name="GL_POINTS"/>
-            <enum name="GL_POLYGON"/>
-            <enum name="GL_QUADS"/>
-            <enum name="GL_QUADS_EXT"/>
-            <enum name="GL_QUAD_STRIP"/>
-            <enum name="GL_TRIANGLES"/>
-            <enum name="GL_TRIANGLES_ADJACENCY"/>
-            <enum name="GL_TRIANGLES_ADJACENCY_ARB"/>
-            <enum name="GL_TRIANGLES_ADJACENCY_EXT"/>
-            <enum name="GL_TRIANGLE_FAN"/>
-            <enum name="GL_TRIANGLE_STRIP"/>
-            <enum name="GL_TRIANGLE_STRIP_ADJACENCY"/>
-            <enum name="GL_TRIANGLE_STRIP_ADJACENCY_ARB"/>
-            <enum name="GL_TRIANGLE_STRIP_ADJACENCY_EXT"/>
+        <group name="VertexAttribPointerType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_BYTE"/>
+            <enum name="GL_UNSIGNED_BYTE"/>
+            <enum name="GL_SHORT"/>
+            <enum name="GL_UNSIGNED_SHORT"/>
+            <enum name="GL_INT"/>
+            <enum name="GL_UNSIGNED_INT"/>
+            <enum name="GL_FLOAT"/>
+            <enum name="GL_DOUBLE"/>
+            <enum name="GL_HALF_FLOAT"/>
+            <enum name="GL_FIXED"/>
+            <enum name="GL_INT_2_10_10_10_REV"/>
+            <enum name="GL_UNSIGNED_INT_2_10_10_10_REV"/>
+            <enum name="GL_UNSIGNED_INT_10F_11F_11F_REV"/>
+            <enum name="GL_INT64_ARB"/>
+            <enum name="GL_INT64_NV"/>
+            <enum name="GL_UNSIGNED_INT64_ARB"/>
+            <enum name="GL_UNSIGNED_INT64_NV"/>
         </group>
 
-        <group name="OcclusionQueryEventMaskAMD">
-            <enum name="GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD"/>
-            <enum name="GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD"/>
-            <enum name="GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD"/>
-            <enum name="GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD"/>
-            <enum name="GL_QUERY_ALL_EVENT_BITS_AMD"/>
+        <group name="SubroutineParameterName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_NUM_COMPATIBLE_SUBROUTINES"/>
+            <enum name="GL_COMPATIBLE_SUBROUTINES"/>
+            <enum name="GL_UNIFORM_SIZE"/>
+            <enum name="GL_UNIFORM_NAME_LENGTH"/>
         </group>
 
-        <group name="ReadBufferMode">
-            <enum name="GL_AUX0"/>
-            <enum name="GL_AUX1"/>
-            <enum name="GL_AUX2"/>
-            <enum name="GL_AUX3"/>
-            <enum name="GL_BACK"/>
-            <enum name="GL_BACK_LEFT"/>
-            <enum name="GL_BACK_RIGHT"/>
-            <enum name="GL_FRONT"/>
-            <enum name="GL_FRONT_LEFT"/>
-            <enum name="GL_FRONT_RIGHT"/>
-            <enum name="GL_LEFT"/>
-            <enum name="GL_RIGHT"/>
+        <group name="GetFramebufferParameter" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FRAMEBUFFER_DEFAULT_WIDTH"/>
+            <enum name="GL_FRAMEBUFFER_DEFAULT_HEIGHT"/>
+            <enum name="GL_FRAMEBUFFER_DEFAULT_LAYERS"/>
+            <enum name="GL_FRAMEBUFFER_DEFAULT_SAMPLES"/>
+            <enum name="GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS"/>
+            <enum name="GL_DOUBLEBUFFER"/>
+            <enum name="GL_IMPLEMENTATION_COLOR_READ_FORMAT"/>
+            <enum name="GL_IMPLEMENTATION_COLOR_READ_TYPE"/>
+            <enum name="GL_SAMPLES"/>
+            <enum name="GL_SAMPLE_BUFFERS"/>
+            <enum name="GL_STEREO"/>
         </group>
 
-        <group name="RenderingMode">
-            <enum name="GL_FEEDBACK"/>
-            <enum name="GL_RENDER"/>
-            <enum name="GL_SELECT"/>
+        <group name="PathStringFormat" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_PATH_FORMAT_SVG_NV"/>
+            <enum name="GL_PATH_FORMAT_PS_NV"/>
         </group>
 
-        <group name="SamplePatternSGIS">
-            <enum name="GL_1PASS_EXT"/>
-            <enum name="GL_1PASS_SGIS"/>
-            <enum name="GL_2PASS_0_EXT"/>
-            <enum name="GL_2PASS_0_SGIS"/>
-            <enum name="GL_2PASS_1_EXT"/>
-            <enum name="GL_2PASS_1_SGIS"/>
-            <enum name="GL_4PASS_0_EXT"/>
-            <enum name="GL_4PASS_0_SGIS"/>
-            <enum name="GL_4PASS_1_EXT"/>
-            <enum name="GL_4PASS_1_SGIS"/>
-            <enum name="GL_4PASS_2_EXT"/>
-            <enum name="GL_4PASS_2_SGIS"/>
-            <enum name="GL_4PASS_3_EXT"/>
-            <enum name="GL_4PASS_3_SGIS"/>
+        <group name="PathFontTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_STANDARD_FONT_NAME_NV"/>
+            <enum name="GL_SYSTEM_FONT_NAME_NV"/>
+            <enum name="GL_FILE_NAME_NV"/>
         </group>
 
-        <group name="SeparableTargetEXT">
-            <enum name="GL_SEPARABLE_2D"/>
-            <enum name="GL_SEPARABLE_2D_EXT"/>
+        <group name="PathHandleMissingGlyphs" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_SKIP_MISSING_GLYPH_NV"/>
+            <enum name="GL_USE_MISSING_GLYPH_NV"/>
         </group>
 
-        <group name="ShadingModel">
-            <enum name="GL_FLAT"/>
-            <enum name="GL_SMOOTH"/>
+        <group name="PathParameter" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_PATH_STROKE_WIDTH_NV"/>
+            <enum name="GL_PATH_INITIAL_END_CAP_NV"/>
+            <enum name="GL_PATH_TERMINAL_END_CAP_NV"/>
+            <enum name="GL_PATH_JOIN_STYLE_NV"/>
+            <enum name="GL_PATH_MITER_LIMIT_NV"/>
+            <enum name="GL_PATH_INITIAL_DASH_CAP_NV"/>
+            <enum name="GL_PATH_TERMINAL_DASH_CAP_NV"/>
+            <enum name="GL_PATH_DASH_OFFSET_NV"/>
+            <enum name="GL_PATH_CLIENT_LENGTH_NV"/>
+            <enum name="GL_PATH_DASH_OFFSET_RESET_NV"/>
+            <enum name="GL_PATH_FILL_MODE_NV"/>
+            <enum name="GL_PATH_FILL_MASK_NV"/>
+            <enum name="GL_PATH_FILL_COVER_MODE_NV"/>
+            <enum name="GL_PATH_STROKE_COVER_MODE_NV"/>
+            <enum name="GL_PATH_STROKE_MASK_NV"/>
+            <!-- <enum name="GL_PATH_STROKE_BOUND_NV" comment="Removed from extension"/> -->
+            <enum name="GL_PATH_END_CAPS_NV"/>
+            <enum name="GL_PATH_DASH_CAPS_NV"/>
+            <enum name="GL_PATH_COMMAND_COUNT_NV"/>
+            <enum name="GL_PATH_COORD_COUNT_NV"/>
+            <enum name="GL_PATH_DASH_ARRAY_COUNT_NV"/>
+            <enum name="GL_PATH_COMPUTED_LENGTH_NV"/>
+            <enum name="GL_PATH_OBJECT_BOUNDING_BOX_NV"/>
+            <enum name="GL_PATH_FILL_BOUNDING_BOX_NV"/>
+            <enum name="GL_PATH_STROKE_BOUNDING_BOX_NV"/>
         </group>
 
-        <group name="StencilFunction">
-            <enum name="GL_ALWAYS"/>
-            <enum name="GL_EQUAL"/>
-            <enum name="GL_GEQUAL"/>
-            <enum name="GL_GREATER"/>
-            <enum name="GL_LEQUAL"/>
-            <enum name="GL_LESS"/>
-            <enum name="GL_NEVER"/>
-            <enum name="GL_NOTEQUAL"/>
+        <group name="PathColor" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_PRIMARY_COLOR"/>
+            <enum name="GL_PRIMARY_COLOR_NV"/>
+            <enum name="GL_SECONDARY_COLOR_NV"/>
         </group>
 
-        <group name="StencilOp">
-            <enum name="GL_DECR"/>
-            <enum name="GL_INCR"/>
-            <enum name="GL_INVERT"/>
-            <enum name="GL_KEEP"/>
-            <enum name="GL_REPLACE"/>
-            <enum name="GL_ZERO"/>
+        <group name="PathGenMode" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_NONE"/>
+            <enum name="GL_EYE_LINEAR"/>
+            <enum name="GL_OBJECT_LINEAR"/>
+            <enum name="GL_PATH_OBJECT_BOUNDING_BOX_NV"/>
+            <enum name="GL_CONSTANT"/>
         </group>
 
-        <group name="StringName">
-            <enum name="GL_EXTENSIONS"/>
-            <enum name="GL_RENDERER"/>
-            <enum name="GL_VENDOR"/>
-            <enum name="GL_VERSION"/>
+        <group name="TextureLayout" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_LAYOUT_GENERAL_EXT"/>
+            <enum name="GL_LAYOUT_COLOR_ATTACHMENT_EXT"/>
+            <enum name="GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT"/>
+            <enum name="GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT"/>
+            <enum name="GL_LAYOUT_SHADER_READ_ONLY_EXT"/>
+            <enum name="GL_LAYOUT_TRANSFER_SRC_EXT"/>
+            <enum name="GL_LAYOUT_TRANSFER_DST_EXT"/>
+            <enum name="GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT"/>
+            <enum name="GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT"/>
         </group>
 
-        <group name="TexCoordPointerType">
-            <enum name="GL_DOUBLE"/>
-            <enum name="GL_FLOAT"/>
-            <enum name="GL_INT"/>
-            <enum name="GL_SHORT"/>
+        <group name="PathTransformType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_NONE"/>
+            <enum name="GL_TRANSLATE_X_NV"/>
+            <enum name="GL_TRANSLATE_Y_NV"/>
+            <enum name="GL_TRANSLATE_2D_NV"/>
+            <enum name="GL_TRANSLATE_3D_NV"/>
+            <enum name="GL_AFFINE_2D_NV"/>
+            <enum name="GL_AFFINE_3D_NV"/>
+            <enum name="GL_TRANSPOSE_AFFINE_2D_NV"/>
+            <enum name="GL_TRANSPOSE_AFFINE_3D_NV"/>
         </group>
 
-        <group name="TextureCoordName">
-            <enum name="GL_S"/>
-            <enum name="GL_T"/>
-            <enum name="GL_R"/>
-            <enum name="GL_Q"/>
+        <group name="PathElementType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_UTF8_NV"/>
+            <enum name="GL_UTF16_NV"/>
         </group>
 
-        <group name="TextureEnvMode">
-            <enum name="GL_ADD"/>
-            <enum name="GL_BLEND"/>
-            <enum name="GL_DECAL"/>
-            <enum name="GL_MODULATE"/>
-            <enum name="GL_REPLACE_EXT"/>
-            <enum name="GL_TEXTURE_ENV_BIAS_SGIX"/>
+        <group name="PathCoverMode" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_CONVEX_HULL_NV"/>
+            <enum name="GL_BOUNDING_BOX_NV"/>
+            <enum name="GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV"/>
+            <enum name="GL_PATH_FILL_COVER_MODE_NV"/>
         </group>
 
-        <group name="TextureEnvParameter">
-            <enum name="GL_TEXTURE_ENV_COLOR"/>
-            <enum name="GL_TEXTURE_ENV_MODE"/>
+        <group name="PathFontStyle" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_NONE"/>
+            <enum name="GL_BOLD_BIT_NV"/>
+            <enum name="GL_ITALIC_BIT_NV"/>
         </group>
 
-        <group name="TextureEnvTarget">
-            <enum name="GL_TEXTURE_ENV"/>
+        <group name="PathMetricMask" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_GLYPH_WIDTH_BIT_NV"/>
+            <enum name="GL_GLYPH_HEIGHT_BIT_NV"/>
+            <enum name="GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV"/>
+            <enum name="GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV"/>
+            <enum name="GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV"/>
+            <enum name="GL_GLYPH_VERTICAL_BEARING_X_BIT_NV"/>
+            <enum name="GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV"/>
+            <enum name="GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV"/>
+            <enum name="GL_GLYPH_HAS_KERNING_BIT_NV"/>
+            <enum name="GL_FONT_X_MIN_BOUNDS_BIT_NV"/>
+            <enum name="GL_FONT_Y_MIN_BOUNDS_BIT_NV"/>
+            <enum name="GL_FONT_X_MAX_BOUNDS_BIT_NV"/>
+            <enum name="GL_FONT_Y_MAX_BOUNDS_BIT_NV"/>
+            <enum name="GL_FONT_UNITS_PER_EM_BIT_NV"/>
+            <enum name="GL_FONT_ASCENDER_BIT_NV"/>
+            <enum name="GL_FONT_DESCENDER_BIT_NV"/>
+            <enum name="GL_FONT_HEIGHT_BIT_NV"/>
+            <enum name="GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV"/>
+            <enum name="GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV"/>
+            <enum name="GL_FONT_UNDERLINE_POSITION_BIT_NV"/>
+            <enum name="GL_FONT_UNDERLINE_THICKNESS_BIT_NV"/>
+            <enum name="GL_FONT_HAS_KERNING_BIT_NV"/>
+            <enum name="GL_FONT_NUM_GLYPH_INDICES_BIT_NV"/>
         </group>
 
-        <group name="TextureFilterFuncSGIS">
-            <enum name="GL_FILTER4_SGIS"/>
+        <group name="PathListMode" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_ACCUM_ADJACENT_PAIRS_NV"/>
+            <enum name="GL_ADJACENT_PAIRS_NV"/>
+            <enum name="GL_FIRST_TO_REST_NV"/>
         </group>
 
-        <group name="TextureGenMode">
-            <enum name="GL_EYE_DISTANCE_TO_LINE_SGIS"/>
-            <enum name="GL_EYE_DISTANCE_TO_POINT_SGIS"/>
-            <enum name="GL_EYE_LINEAR"/>
-            <enum name="GL_OBJECT_DISTANCE_TO_LINE_SGIS"/>
-            <enum name="GL_OBJECT_DISTANCE_TO_POINT_SGIS"/>
-            <enum name="GL_OBJECT_LINEAR"/>
-            <enum name="GL_SPHERE_MAP"/>
+        <group name="ProgramPropertyARB" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_DELETE_STATUS"/>
+            <enum name="GL_LINK_STATUS"/>
+            <enum name="GL_VALIDATE_STATUS"/>
+            <enum name="GL_INFO_LOG_LENGTH"/>
+            <enum name="GL_ATTACHED_SHADERS"/>
+            <enum name="GL_ACTIVE_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_ACTIVE_ATTRIBUTES"/>
+            <enum name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"/>
+            <enum name="GL_ACTIVE_UNIFORMS"/>
+            <enum name="GL_ACTIVE_UNIFORM_BLOCKS"/>
+            <enum name="GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH"/>
+            <enum name="GL_ACTIVE_UNIFORM_MAX_LENGTH"/>
+            <enum name="GL_COMPUTE_WORK_GROUP_SIZE"/>
+            <enum name="GL_PROGRAM_BINARY_LENGTH"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_VARYINGS"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH"/>
+            <enum name="GL_GEOMETRY_VERTICES_OUT"/>
+            <enum name="GL_GEOMETRY_INPUT_TYPE"/>
+            <enum name="GL_GEOMETRY_OUTPUT_TYPE"/>
         </group>
 
-        <group name="TextureGenParameter">
-            <enum name="GL_EYE_LINE_SGIS"/>
-            <enum name="GL_EYE_PLANE"/>
-            <enum name="GL_EYE_POINT_SGIS"/>
-            <enum name="GL_OBJECT_LINE_SGIS"/>
-            <enum name="GL_OBJECT_PLANE"/>
-            <enum name="GL_OBJECT_POINT_SGIS"/>
-            <enum name="GL_TEXTURE_GEN_MODE"/>
+        <group name="GlslTypeToken" comment="OpenGL 4.6 Table 7.3: OpenGL Shading Language type tokens">
+            <enum name="GL_FLOAT"/>
+            <enum name="GL_FLOAT_VEC2"/>
+            <enum name="GL_FLOAT_VEC3"/>
+            <enum name="GL_FLOAT_VEC4"/>
+            <enum name="GL_DOUBLE"/>
+            <enum name="GL_DOUBLE_VEC2"/>
+            <enum name="GL_DOUBLE_VEC3"/>
+            <enum name="GL_DOUBLE_VEC4"/>
+            <enum name="GL_INT"/>
+            <enum name="GL_INT_VEC2"/>
+            <enum name="GL_INT_VEC3"/>
+            <enum name="GL_INT_VEC4"/>
+            <enum name="GL_UNSIGNED_INT"/>
+            <enum name="GL_UNSIGNED_INT_VEC2"/>
+            <enum name="GL_UNSIGNED_INT_VEC3"/>
+            <enum name="GL_UNSIGNED_INT_VEC4"/>
+            <enum name="GL_BOOL"/>
+            <enum name="GL_BOOL_VEC2"/>
+            <enum name="GL_BOOL_VEC3"/>
+            <enum name="GL_BOOL_VEC4"/>
+            <enum name="GL_FLOAT_MAT2"/>
+            <enum name="GL_FLOAT_MAT3"/>
+            <enum name="GL_FLOAT_MAT4"/>
+            <enum name="GL_FLOAT_MAT2x3"/>
+            <enum name="GL_FLOAT_MAT2x4"/>
+            <enum name="GL_FLOAT_MAT3x2"/>
+            <enum name="GL_FLOAT_MAT3x4"/>
+            <enum name="GL_FLOAT_MAT4x2"/>
+            <enum name="GL_FLOAT_MAT4x3"/>
+            <enum name="GL_DOUBLE_MAT2"/>
+            <enum name="GL_DOUBLE_MAT3"/>
+            <enum name="GL_DOUBLE_MAT4"/>
+            <enum name="GL_SAMPLER_1D"/>
+            <enum name="GL_SAMPLER_2D"/>
+            <enum name="GL_SAMPLER_3D"/>
+            <enum name="GL_SAMPLER_CUBE"/>
+            <enum name="GL_SAMPLER_1D_SHADOW"/>
+            <enum name="GL_SAMPLER_2D_SHADOW"/>
+            <enum name="GL_SAMPLER_1D_ARRAY"/>
+            <enum name="GL_SAMPLER_2D_ARRAY"/>
+            <enum name="GL_SAMPLER_CUBE_MAP_ARRAY"/>
+            <enum name="GL_SAMPLER_1D_ARRAY_SHADOW"/>
+            <enum name="GL_SAMPLER_2D_ARRAY_SHADOW"/>
+            <enum name="GL_SAMPLER_2D_MULTISAMPLE"/>
+            <enum name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_SAMPLER_CUBE_SHADOW"/>
+            <enum name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW"/>
+            <enum name="GL_SAMPLER_BUFFER"/>
+            <enum name="GL_SAMPLER_2D_RECT"/>
+            <enum name="GL_SAMPLER_2D_RECT_SHADOW"/>
+            <enum name="GL_INT_SAMPLER_1D"/>
+            <enum name="GL_INT_SAMPLER_2D"/>
+            <enum name="GL_INT_SAMPLER_3D"/>
+            <enum name="GL_INT_SAMPLER_CUBE"/>
+            <enum name="GL_INT_SAMPLER_1D_ARRAY"/>
+            <enum name="GL_INT_SAMPLER_2D_ARRAY"/>
+            <enum name="GL_INT_SAMPLER_CUBE_MAP_ARRAY"/>
+            <enum name="GL_INT_SAMPLER_2D_MULTISAMPLE"/>
+            <enum name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_INT_SAMPLER_BUFFER"/>
+            <enum name="GL_INT_SAMPLER_2D_RECT"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_1D"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_2D"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_3D"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_CUBE"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_1D_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_2D_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_BUFFER"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_2D_RECT"/>
+            <enum name="GL_IMAGE_1D"/>
+            <enum name="GL_IMAGE_2D"/>
+            <enum name="GL_IMAGE_3D"/>
+            <enum name="GL_IMAGE_2D_RECT"/>
+            <enum name="GL_IMAGE_CUBE"/>
+            <enum name="GL_IMAGE_BUFFER"/>
+            <enum name="GL_IMAGE_1D_ARRAY"/>
+            <enum name="GL_IMAGE_2D_ARRAY"/>
+            <enum name="GL_IMAGE_CUBE_MAP_ARRAY"/>
+            <enum name="GL_IMAGE_2D_MULTISAMPLE"/>
+            <enum name="GL_IMAGE_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_INT_IMAGE_1D"/>
+            <enum name="GL_INT_IMAGE_2D"/>
+            <enum name="GL_INT_IMAGE_3D"/>
+            <enum name="GL_INT_IMAGE_2D_RECT"/>
+            <enum name="GL_INT_IMAGE_CUBE"/>
+            <enum name="GL_INT_IMAGE_BUFFER"/>
+            <enum name="GL_INT_IMAGE_1D_ARRAY"/>
+            <enum name="GL_INT_IMAGE_2D_ARRAY"/>
+            <enum name="GL_INT_IMAGE_CUBE_MAP_ARRAY"/>
+            <enum name="GL_INT_IMAGE_2D_MULTISAMPLE"/>
+            <enum name="GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_1D"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_2D"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_3D"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_2D_RECT"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_CUBE"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_BUFFER"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_1D_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_2D_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_ATOMIC_COUNTER"/>
         </group>
 
-        <group name="TextureMagFilter">
-            <enum name="GL_FILTER4_SGIS"/>
-            <enum name="GL_LINEAR"/>
-            <enum name="GL_LINEAR_DETAIL_ALPHA_SGIS"/>
-            <enum name="GL_LINEAR_DETAIL_COLOR_SGIS"/>
-            <enum name="GL_LINEAR_DETAIL_SGIS"/>
-            <enum name="GL_LINEAR_SHARPEN_ALPHA_SGIS"/>
-            <enum name="GL_LINEAR_SHARPEN_COLOR_SGIS"/>
-            <enum name="GL_LINEAR_SHARPEN_SGIS"/>
-            <enum name="GL_NEAREST"/>
-            <enum name="GL_PIXEL_TEX_GEN_Q_CEILING_SGIX"/>
-            <enum name="GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX"/>
-            <enum name="GL_PIXEL_TEX_GEN_Q_ROUND_SGIX"/>
+        <group name="TransformFeedbackBufferMode" comment="See glTransformFeedbackVaryings()">
+            <enum name="GL_INTERLEAVED_ATTRIBS"/>
+            <enum name="GL_SEPARATE_ATTRIBS"/>
         </group>
 
-        <group name="TextureMinFilter">
-            <enum name="GL_FILTER4_SGIS"/>
-            <enum name="GL_LINEAR"/>
-            <enum name="GL_LINEAR_CLIPMAP_LINEAR_SGIX"/>
-            <enum name="GL_LINEAR_CLIPMAP_NEAREST_SGIX"/>
-            <enum name="GL_LINEAR_MIPMAP_LINEAR"/>
-            <enum name="GL_LINEAR_MIPMAP_NEAREST"/>
-            <enum name="GL_NEAREST"/>
-            <enum name="GL_NEAREST_CLIPMAP_LINEAR_SGIX"/>
-            <enum name="GL_NEAREST_CLIPMAP_NEAREST_SGIX"/>
-            <enum name="GL_NEAREST_MIPMAP_LINEAR"/>
-            <enum name="GL_NEAREST_MIPMAP_NEAREST"/>
-            <enum name="GL_PIXEL_TEX_GEN_Q_CEILING_SGIX"/>
-            <enum name="GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX"/>
-            <enum name="GL_PIXEL_TEX_GEN_Q_ROUND_SGIX"/>
+        <group name="VertexAttribIType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_BYTE"/>
+            <enum name="GL_UNSIGNED_BYTE"/>
+            <enum name="GL_SHORT"/>
+            <enum name="GL_UNSIGNED_SHORT"/>
+            <enum name="GL_INT"/>
+            <enum name="GL_UNSIGNED_INT"/>
         </group>
 
-        <group name="TextureParameterName">
-            <enum name="GL_DETAIL_TEXTURE_LEVEL_SGIS"/>
-            <enum name="GL_DETAIL_TEXTURE_MODE_SGIS"/>
-            <enum name="GL_DUAL_TEXTURE_SELECT_SGIS"/>
-            <enum name="GL_GENERATE_MIPMAP"/>
-            <enum name="GL_GENERATE_MIPMAP_SGIS"/>
-            <enum name="GL_POST_TEXTURE_FILTER_BIAS_SGIX"/>
-            <enum name="GL_POST_TEXTURE_FILTER_SCALE_SGIX"/>
-            <enum name="GL_QUAD_TEXTURE_SELECT_SGIS"/>
-            <enum name="GL_SHADOW_AMBIENT_SGIX"/>
-            <enum name="GL_TEXTURE_BORDER_COLOR"/>
-            <enum name="GL_TEXTURE_CLIPMAP_CENTER_SGIX"/>
-            <enum name="GL_TEXTURE_CLIPMAP_DEPTH_SGIX"/>
-            <enum name="GL_TEXTURE_CLIPMAP_FRAME_SGIX"/>
-            <enum name="GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX"/>
-            <enum name="GL_TEXTURE_CLIPMAP_OFFSET_SGIX"/>
-            <enum name="GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX"/>
-            <enum name="GL_TEXTURE_COMPARE_SGIX"/>
-            <enum name="GL_TEXTURE_LOD_BIAS_R_SGIX"/>
-            <enum name="GL_TEXTURE_LOD_BIAS_S_SGIX"/>
-            <enum name="GL_TEXTURE_LOD_BIAS_T_SGIX"/>
-            <enum name="GL_TEXTURE_MAG_FILTER"/>
-            <enum name="GL_TEXTURE_MAX_CLAMP_R_SGIX"/>
-            <enum name="GL_TEXTURE_MAX_CLAMP_S_SGIX"/>
-            <enum name="GL_TEXTURE_MAX_CLAMP_T_SGIX"/>
-            <enum name="GL_TEXTURE_MIN_FILTER"/>
-            <enum name="GL_TEXTURE_PRIORITY"/>
-            <enum name="GL_TEXTURE_PRIORITY_EXT"/>
-            <enum name="GL_TEXTURE_WRAP_Q_SGIS"/>
-            <enum name="GL_TEXTURE_WRAP_R"/>
-            <enum name="GL_TEXTURE_WRAP_R_EXT"/>
-            <enum name="GL_TEXTURE_WRAP_R_OES"/>
-            <enum name="GL_TEXTURE_WRAP_S"/>
-            <enum name="GL_TEXTURE_WRAP_T"/>
+        <group name="VertexAttribLType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_DOUBLE"/>
         </group>
 
-        <group name="TextureTarget">
-            <enum name="GL_DETAIL_TEXTURE_2D_SGIS"/>
-            <enum name="GL_PROXY_TEXTURE_1D"/>
-            <enum name="GL_PROXY_TEXTURE_1D_EXT"/>
-            <enum name="GL_PROXY_TEXTURE_2D"/>
-            <enum name="GL_PROXY_TEXTURE_2D_EXT"/>
-            <enum name="GL_PROXY_TEXTURE_3D"/>
-            <enum name="GL_PROXY_TEXTURE_3D_EXT"/>
-            <enum name="GL_PROXY_TEXTURE_4D_SGIS"/>
-            <enum name="GL_TEXTURE_1D"/>
-            <enum name="GL_TEXTURE_2D"/>
-            <enum name="GL_TEXTURE_3D"/>
-            <enum name="GL_TEXTURE_3D_EXT"/>
-            <enum name="GL_TEXTURE_3D_OES"/>
-            <enum name="GL_TEXTURE_4D_SGIS"/>
-            <enum name="GL_TEXTURE_BASE_LEVEL"/>
-            <enum name="GL_TEXTURE_BASE_LEVEL_SGIS"/>
-            <enum name="GL_TEXTURE_MAX_LEVEL"/>
-            <enum name="GL_TEXTURE_MAX_LEVEL_SGIS"/>
-            <enum name="GL_TEXTURE_MAX_LOD"/>
-            <enum name="GL_TEXTURE_MAX_LOD_SGIS"/>
-            <enum name="GL_TEXTURE_MIN_LOD"/>
-            <enum name="GL_TEXTURE_MIN_LOD_SGIS"/>
+        <group name="ProgramResourceProperty" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_ACTIVE_VARIABLES"/>
+            <enum name="GL_BUFFER_BINDING"/>
+            <enum name="GL_NUM_ACTIVE_VARIABLES"/>
+            <enum name="GL_ARRAY_SIZE"/>
+            <enum name="GL_ARRAY_STRIDE"/>
+            <enum name="GL_BLOCK_INDEX"/>
+            <enum name="GL_IS_ROW_MAJOR"/>
+            <enum name="GL_MATRIX_STRIDE"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_INDEX"/>
+            <enum name="GL_BUFFER_DATA_SIZE"/>
+            <enum name="GL_NUM_COMPATIBLE_SUBROUTINES"/>
+            <enum name="GL_COMPATIBLE_SUBROUTINES"/>
+            <enum name="GL_IS_PER_PATCH"/>
+            <enum name="GL_LOCATION"/>
+            <enum name="GL_UNIFORM"/>
+            <enum name="GL_LOCATION_COMPONENT"/>
+            <enum name="GL_LOCATION_INDEX"/>
+            <enum name="GL_NAME_LENGTH"/>
+            <enum name="GL_OFFSET"/>
+            <enum name="GL_REFERENCED_BY_VERTEX_SHADER"/>
+            <enum name="GL_REFERENCED_BY_TESS_CONTROL_SHADER"/>
+            <enum name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
+            <enum name="GL_REFERENCED_BY_GEOMETRY_SHADER"/>
+            <enum name="GL_REFERENCED_BY_FRAGMENT_SHADER"/>
+            <enum name="GL_REFERENCED_BY_COMPUTE_SHADER"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_INDEX"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE"/>
+            <enum name="GL_TOP_LEVEL_ARRAY_SIZE"/>
+            <enum name="GL_TOP_LEVEL_ARRAY_STRIDE"/>
+            <enum name="GL_TYPE"/>
         </group>
 
-        <group name="TextureWrapMode">
-            <enum name="GL_CLAMP"/>
-            <enum name="GL_CLAMP_TO_BORDER"/>
-            <enum name="GL_CLAMP_TO_BORDER_ARB"/>
-            <enum name="GL_CLAMP_TO_BORDER_NV"/>
-            <enum name="GL_CLAMP_TO_BORDER_SGIS"/>
-            <enum name="GL_CLAMP_TO_EDGE"/>
-            <enum name="GL_CLAMP_TO_EDGE_SGIS"/>
-            <enum name="GL_REPEAT"/>
+        <group name="TextureCompareMode" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_NONE"/>
+            <enum name="GL_COMPARE_REF_TO_TEXTURE"/>
+            <enum name="GL_COMPARE_R_TO_TEXTURE"/>
         </group>
 
-        <group name="UseProgramStageMask">
-            <enum name="GL_VERTEX_SHADER_BIT"/>
-            <enum name="GL_VERTEX_SHADER_BIT_EXT"/>
-            <enum name="GL_FRAGMENT_SHADER_BIT"/>
-            <enum name="GL_FRAGMENT_SHADER_BIT_EXT"/>
-            <enum name="GL_GEOMETRY_SHADER_BIT"/>
-            <enum name="GL_GEOMETRY_SHADER_BIT_EXT"/>
-            <enum name="GL_TESS_CONTROL_SHADER_BIT"/>
-            <enum name="GL_TESS_CONTROL_SHADER_BIT_EXT"/>
-            <enum name="GL_TESS_EVALUATION_SHADER_BIT"/>
-            <enum name="GL_TESS_EVALUATION_SHADER_BIT_EXT"/>
-            <enum name="GL_COMPUTE_SHADER_BIT"/>
-            <enum name="GL_ALL_SHADER_BITS"/>
-            <enum name="GL_ALL_SHADER_BITS_EXT"/>
+        <group name="TextureSwizzle" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_RED"/>
+            <enum name="GL_GREEN"/>
+            <enum name="GL_BLUE"/>
+            <enum name="GL_ALPHA"/>
+            <enum name="GL_ZERO"/>
+            <enum name="GL_ONE"/>
         </group>
 
-        <group name="VertexPointerType">
-            <enum name="GL_DOUBLE"/>
-            <enum name="GL_FLOAT"/>
-            <enum name="GL_INT"/>
-            <enum name="GL_SHORT"/>
-        </group>
     </groups>
 
     <!-- SECTION: GL enumerant (token) definitions. -->
@@ -2022,377 +4820,406 @@ typedef unsigned int GLhandleARB;
          sometimes reused for other purposes -->
 
     <enums namespace="GL" group="AttribMask" type="bitmask">
-        <enum value="0x00000001" name="GL_CURRENT_BIT"/>
-        <enum value="0x00000002" name="GL_POINT_BIT"/>
-        <enum value="0x00000004" name="GL_LINE_BIT"/>
-        <enum value="0x00000008" name="GL_POLYGON_BIT"/>
-        <enum value="0x00000010" name="GL_POLYGON_STIPPLE_BIT"/>
-        <enum value="0x00000020" name="GL_PIXEL_MODE_BIT"/>
-        <enum value="0x00000040" name="GL_LIGHTING_BIT"/>
-        <enum value="0x00000080" name="GL_FOG_BIT"/>
-        <enum value="0x00000100" name="GL_DEPTH_BUFFER_BIT"/>
-        <enum value="0x00000200" name="GL_ACCUM_BUFFER_BIT"/>
-        <enum value="0x00000400" name="GL_STENCIL_BUFFER_BIT"/>
-        <enum value="0x00000800" name="GL_VIEWPORT_BIT"/>
-        <enum value="0x00001000" name="GL_TRANSFORM_BIT"/>
-        <enum value="0x00002000" name="GL_ENABLE_BIT"/>
-        <enum value="0x00004000" name="GL_COLOR_BUFFER_BIT"/>
-        <enum value="0x00008000" name="GL_HINT_BIT"/>
-        <enum value="0x00010000" name="GL_EVAL_BIT"/>
-        <enum value="0x00020000" name="GL_LIST_BIT"/>
-        <enum value="0x00040000" name="GL_TEXTURE_BIT"/>
-        <enum value="0x00080000" name="GL_SCISSOR_BIT"/>
-        <enum value="0x20000000" name="GL_MULTISAMPLE_BIT"/>
-        <enum value="0x20000000" name="GL_MULTISAMPLE_BIT_ARB"/>
-        <enum value="0x20000000" name="GL_MULTISAMPLE_BIT_EXT"/>
-        <enum value="0x20000000" name="GL_MULTISAMPLE_BIT_3DFX"/>
-        <enum value="0xFFFFFFFF" name="GL_ALL_ATTRIB_BITS" comment="Guaranteed to mark all attribute groups at once"/>
+        <enum value="0x00000001" name="GL_CURRENT_BIT" group="AttribMask"/>
+        <enum value="0x00000002" name="GL_POINT_BIT" group="AttribMask"/>
+        <enum value="0x00000004" name="GL_LINE_BIT" group="AttribMask"/>
+        <enum value="0x00000008" name="GL_POLYGON_BIT" group="AttribMask"/>
+        <enum value="0x00000010" name="GL_POLYGON_STIPPLE_BIT" group="AttribMask"/>
+        <enum value="0x00000020" name="GL_PIXEL_MODE_BIT" group="AttribMask"/>
+        <enum value="0x00000040" name="GL_LIGHTING_BIT" group="AttribMask"/>
+        <enum value="0x00000080" name="GL_FOG_BIT" group="AttribMask"/>
+        <enum value="0x00000100" name="GL_DEPTH_BUFFER_BIT" group="ClearBufferMask,AttribMask"/>
+        <enum value="0x00000200" name="GL_ACCUM_BUFFER_BIT" group="ClearBufferMask,AttribMask"/>
+        <enum value="0x00000400" name="GL_STENCIL_BUFFER_BIT" group="ClearBufferMask,AttribMask"/>
+        <enum value="0x00000800" name="GL_VIEWPORT_BIT" group="AttribMask"/>
+        <enum value="0x00001000" name="GL_TRANSFORM_BIT" group="AttribMask"/>
+        <enum value="0x00002000" name="GL_ENABLE_BIT" group="AttribMask"/>
+        <enum value="0x00004000" name="GL_COLOR_BUFFER_BIT" group="ClearBufferMask,AttribMask"/>
+        <enum value="0x00008000" name="GL_HINT_BIT" group="AttribMask"/>
+        <enum value="0x00010000" name="GL_EVAL_BIT" group="AttribMask"/>
+        <enum value="0x00020000" name="GL_LIST_BIT" group="AttribMask"/>
+        <enum value="0x00040000" name="GL_TEXTURE_BIT" group="AttribMask"/>
+        <enum value="0x00080000" name="GL_SCISSOR_BIT" group="AttribMask"/>
+        <enum value="0x20000000" name="GL_MULTISAMPLE_BIT" group="AttribMask"/>
+        <enum value="0x20000000" name="GL_MULTISAMPLE_BIT_ARB" group="AttribMask"/>
+        <enum value="0x20000000" name="GL_MULTISAMPLE_BIT_EXT" group="AttribMask"/>
+        <enum value="0x20000000" name="GL_MULTISAMPLE_BIT_3DFX" group="AttribMask"/>
+        <enum value="0xFFFFFFFF" name="GL_ALL_ATTRIB_BITS" comment="Guaranteed to mark all attribute groups at once" group="AttribMask"/>
+    </enums>
+
+    <enums namespace="GL" group="BufferStorageMask" type="bitmask" comment="GL_MAP_{COHERENT,PERSISTENT,READ,WRITE}_{BIT,BIT_EXT} also lie in this namespace">
+        <enum value="0x0100" name="GL_DYNAMIC_STORAGE_BIT" group="BufferStorageMask"/>
+        <enum value="0x0100" name="GL_DYNAMIC_STORAGE_BIT_EXT" group="BufferStorageMask"/>
+        <enum value="0x0200" name="GL_CLIENT_STORAGE_BIT" group="BufferStorageMask"/>
+        <enum value="0x0200" name="GL_CLIENT_STORAGE_BIT_EXT" group="BufferStorageMask"/>
+        <enum value="0x0400" name="GL_SPARSE_STORAGE_BIT_ARB" group="BufferStorageMask"/>
+        <enum value="0x0800" name="GL_LGPU_SEPARATE_STORAGE_BIT_NVX" group="BufferStorageMask"/>
+        <enum value="0x0800" name="GL_PER_GPU_STORAGE_BIT_NV" group="BufferStorageMask"/>
+            <unused start="0x1000" end="0x1000" comment="Reserved for NVIDIA"/>
+        <enum value="0x2000" name="GL_EXTERNAL_STORAGE_BIT_NVX" group="BufferStorageMask"/>
+            <!-- Also used: 0x000000ff for bits reused from MapBufferAccessMask below -->
     </enums>
 
     <enums namespace="GL" group="ClearBufferMask" type="bitmask" comment="GL_{DEPTH,ACCUM,STENCIL,COLOR}_BUFFER_BIT also lie in this namespace">
-        <enum value="0x00008000" name="GL_COVERAGE_BUFFER_BIT_NV" comment="Collides with AttribMask bit GL_HINT_BIT. OK since this token is for OpenGL ES 2, which doesn't have attribute groups."/>
+        <enum value="0x00008000" name="GL_COVERAGE_BUFFER_BIT_NV" comment="Collides with AttribMask bit GL_HINT_BIT. OK since this token is for OpenGL ES 2, which doesn't have attribute groups." group="ClearBufferMask"/>
             <!-- Also used: 0x00004700 for bits reused from AttribMask above -->
     </enums>
 
     <enums namespace="GL" group="ClientAttribMask" type="bitmask">
-        <enum value="0x00000001" name="GL_CLIENT_PIXEL_STORE_BIT"/>
-        <enum value="0x00000002" name="GL_CLIENT_VERTEX_ARRAY_BIT"/>
-        <enum value="0xFFFFFFFF" name="GL_CLIENT_ALL_ATTRIB_BITS"/>
+        <enum value="0x00000001" name="GL_CLIENT_PIXEL_STORE_BIT" group="ClientAttribMask"/>
+        <enum value="0x00000002" name="GL_CLIENT_VERTEX_ARRAY_BIT" group="ClientAttribMask"/>
+        <enum value="0xFFFFFFFF" name="GL_CLIENT_ALL_ATTRIB_BITS" group="ClientAttribMask"/>
     </enums>
 
     <enums namespace="GL" group="ContextFlagMask" type="bitmask" comment="Should be shared with WGL/GLX, but aren't since the FORWARD_COMPATIBLE and DEBUG values are swapped vs. WGL/GLX.">
-        <enum value="0x00000001" name="GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT"/>
-        <enum value="0x00000002" name="GL_CONTEXT_FLAG_DEBUG_BIT"/>
-        <enum value="0x00000002" name="GL_CONTEXT_FLAG_DEBUG_BIT_KHR"/>
-        <enum value="0x00000004" name="GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT"/>
-        <enum value="0x00000004" name="GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB"/>
-        <enum value="0x00000008" name="GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR"/>
-        <enum value="0x00000010" name="GL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT"/>
+        <enum value="0x00000001" name="GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT" group="ContextFlagMask"/>
+        <enum value="0x00000002" name="GL_CONTEXT_FLAG_DEBUG_BIT" group="ContextFlagMask"/>
+        <enum value="0x00000002" name="GL_CONTEXT_FLAG_DEBUG_BIT_KHR" group="ContextFlagMask"/>
+        <enum value="0x00000004" name="GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT" group="ContextFlagMask"/>
+        <enum value="0x00000004" name="GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB" group="ContextFlagMask"/>
+        <enum value="0x00000008" name="GL_CONTEXT_FLAG_NO_ERROR_BIT" group="ContextFlagMask"/>
+        <enum value="0x00000008" name="GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR" alias="GL_CONTEXT_FLAG_NO_ERROR_BIT" group="ContextFlagMask"/>
+        <enum value="0x00000010" name="GL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT" group="ContextFlagMask"/>
     </enums>
 
     <enums namespace="GL" group="ContextProfileMask" type="bitmask">
-        <enum value="0x00000001" name="GL_CONTEXT_CORE_PROFILE_BIT"/>
-        <enum value="0x00000002" name="GL_CONTEXT_COMPATIBILITY_PROFILE_BIT"/>
+        <enum value="0x00000001" name="GL_CONTEXT_CORE_PROFILE_BIT" group="ContextProfileMask"/>
+        <enum value="0x00000002" name="GL_CONTEXT_COMPATIBILITY_PROFILE_BIT" group="ContextProfileMask"/>
     </enums>
 
-    <enums namespace="GL" group="MapBufferUsageMask" type="bitmask">
-        <enum value="0x0001" name="GL_MAP_READ_BIT"/>
-        <enum value="0x0001" name="GL_MAP_READ_BIT_EXT"/>
-        <enum value="0x0002" name="GL_MAP_WRITE_BIT"/>
-        <enum value="0x0002" name="GL_MAP_WRITE_BIT_EXT"/>
-        <enum value="0x0004" name="GL_MAP_INVALIDATE_RANGE_BIT"/>
-        <enum value="0x0004" name="GL_MAP_INVALIDATE_RANGE_BIT_EXT"/>
-        <enum value="0x0008" name="GL_MAP_INVALIDATE_BUFFER_BIT"/>
-        <enum value="0x0008" name="GL_MAP_INVALIDATE_BUFFER_BIT_EXT"/>
-        <enum value="0x0010" name="GL_MAP_FLUSH_EXPLICIT_BIT"/>
-        <enum value="0x0010" name="GL_MAP_FLUSH_EXPLICIT_BIT_EXT"/>
-        <enum value="0x0020" name="GL_MAP_UNSYNCHRONIZED_BIT"/>
-        <enum value="0x0020" name="GL_MAP_UNSYNCHRONIZED_BIT_EXT"/>
-        <enum value="0x0040" name="GL_MAP_PERSISTENT_BIT"/>
-        <enum value="0x0040" name="GL_MAP_PERSISTENT_BIT_EXT"/>
-        <enum value="0x0080" name="GL_MAP_COHERENT_BIT"/>
-        <enum value="0x0080" name="GL_MAP_COHERENT_BIT_EXT"/>
-        <enum value="0x0100" name="GL_DYNAMIC_STORAGE_BIT"/>
-        <enum value="0x0100" name="GL_DYNAMIC_STORAGE_BIT_EXT"/>
-        <enum value="0x0200" name="GL_CLIENT_STORAGE_BIT"/>
-        <enum value="0x0200" name="GL_CLIENT_STORAGE_BIT_EXT"/>
-        <enum value="0x0400" name="GL_SPARSE_STORAGE_BIT_ARB"/>
-            <!-- Bits 0x1000 and 0x0800 reserved for Joshua Schnarr, jschnarr@nvidia.com -->
+    <enums namespace="GL" group="MapBufferAccessMask" type="bitmask">
+        <enum value="0x0001" name="GL_MAP_READ_BIT" group="MapBufferAccessMask,BufferStorageMask"/>
+        <enum value="0x0001" name="GL_MAP_READ_BIT_EXT" group="MapBufferAccessMask,BufferStorageMask"/>
+        <enum value="0x0002" name="GL_MAP_WRITE_BIT" group="MapBufferAccessMask,BufferStorageMask"/>
+        <enum value="0x0002" name="GL_MAP_WRITE_BIT_EXT" group="MapBufferAccessMask,BufferStorageMask"/>
+        <enum value="0x0004" name="GL_MAP_INVALIDATE_RANGE_BIT" group="MapBufferAccessMask"/>
+        <enum value="0x0004" name="GL_MAP_INVALIDATE_RANGE_BIT_EXT" group="MapBufferAccessMask"/>
+        <enum value="0x0008" name="GL_MAP_INVALIDATE_BUFFER_BIT" group="MapBufferAccessMask"/>
+        <enum value="0x0008" name="GL_MAP_INVALIDATE_BUFFER_BIT_EXT" group="MapBufferAccessMask"/>
+        <enum value="0x0010" name="GL_MAP_FLUSH_EXPLICIT_BIT" group="MapBufferAccessMask"/>
+        <enum value="0x0010" name="GL_MAP_FLUSH_EXPLICIT_BIT_EXT" group="MapBufferAccessMask"/>
+        <enum value="0x0020" name="GL_MAP_UNSYNCHRONIZED_BIT" group="MapBufferAccessMask"/>
+        <enum value="0x0020" name="GL_MAP_UNSYNCHRONIZED_BIT_EXT" group="MapBufferAccessMask"/>
+        <enum value="0x0040" name="GL_MAP_PERSISTENT_BIT" group="MapBufferAccessMask,BufferStorageMask"/>
+        <enum value="0x0040" name="GL_MAP_PERSISTENT_BIT_EXT" group="MapBufferAccessMask,BufferStorageMask"/>
+        <enum value="0x0080" name="GL_MAP_COHERENT_BIT" group="MapBufferAccessMask,BufferStorageMask"/>
+        <enum value="0x0080" name="GL_MAP_COHERENT_BIT_EXT" group="MapBufferAccessMask,BufferStorageMask"/>
     </enums>
 
     <enums namespace="GL" group="MemoryBarrierMask" type="bitmask">
-        <enum value="0x00000001" name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT"/>
-        <enum value="0x00000001" name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT"/>
-        <enum value="0x00000002" name="GL_ELEMENT_ARRAY_BARRIER_BIT"/>
-        <enum value="0x00000002" name="GL_ELEMENT_ARRAY_BARRIER_BIT_EXT"/>
-        <enum value="0x00000004" name="GL_UNIFORM_BARRIER_BIT"/>
-        <enum value="0x00000004" name="GL_UNIFORM_BARRIER_BIT_EXT"/>
-        <enum value="0x00000008" name="GL_TEXTURE_FETCH_BARRIER_BIT"/>
-        <enum value="0x00000008" name="GL_TEXTURE_FETCH_BARRIER_BIT_EXT"/>
-        <enum value="0x00000010" name="GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV"/>
-        <enum value="0x00000020" name="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT"/>
-        <enum value="0x00000020" name="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT"/>
-        <enum value="0x00000040" name="GL_COMMAND_BARRIER_BIT"/>
-        <enum value="0x00000040" name="GL_COMMAND_BARRIER_BIT_EXT"/>
-        <enum value="0x00000080" name="GL_PIXEL_BUFFER_BARRIER_BIT"/>
-        <enum value="0x00000080" name="GL_PIXEL_BUFFER_BARRIER_BIT_EXT"/>
-        <enum value="0x00000100" name="GL_TEXTURE_UPDATE_BARRIER_BIT"/>
-        <enum value="0x00000100" name="GL_TEXTURE_UPDATE_BARRIER_BIT_EXT"/>
-        <enum value="0x00000200" name="GL_BUFFER_UPDATE_BARRIER_BIT"/>
-        <enum value="0x00000200" name="GL_BUFFER_UPDATE_BARRIER_BIT_EXT"/>
-        <enum value="0x00000400" name="GL_FRAMEBUFFER_BARRIER_BIT"/>
-        <enum value="0x00000400" name="GL_FRAMEBUFFER_BARRIER_BIT_EXT"/>
-        <enum value="0x00000800" name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT"/>
-        <enum value="0x00000800" name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT"/>
-        <enum value="0x00001000" name="GL_ATOMIC_COUNTER_BARRIER_BIT"/>
-        <enum value="0x00001000" name="GL_ATOMIC_COUNTER_BARRIER_BIT_EXT"/>
-        <enum value="0x00002000" name="GL_SHADER_STORAGE_BARRIER_BIT"/>
-        <enum value="0x00004000" name="GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT"/>
-        <enum value="0x00004000" name="GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT"/>
-        <enum value="0x00008000" name="GL_QUERY_BUFFER_BARRIER_BIT"/>
-        <enum value="0xFFFFFFFF" name="GL_ALL_BARRIER_BITS"/>
-        <enum value="0xFFFFFFFF" name="GL_ALL_BARRIER_BITS_EXT"/>
+        <enum value="0x00000001" name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT" group="MemoryBarrierMask"/>
+        <enum value="0x00000001" name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT" group="MemoryBarrierMask"/>
+        <enum value="0x00000002" name="GL_ELEMENT_ARRAY_BARRIER_BIT" group="MemoryBarrierMask"/>
+        <enum value="0x00000002" name="GL_ELEMENT_ARRAY_BARRIER_BIT_EXT" group="MemoryBarrierMask"/>
+        <enum value="0x00000004" name="GL_UNIFORM_BARRIER_BIT" group="MemoryBarrierMask"/>
+        <enum value="0x00000004" name="GL_UNIFORM_BARRIER_BIT_EXT" group="MemoryBarrierMask"/>
+        <enum value="0x00000008" name="GL_TEXTURE_FETCH_BARRIER_BIT" group="MemoryBarrierMask"/>
+        <enum value="0x00000008" name="GL_TEXTURE_FETCH_BARRIER_BIT_EXT" group="MemoryBarrierMask"/>
+        <enum value="0x00000010" name="GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV" group="MemoryBarrierMask"/>
+        <enum value="0x00000020" name="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT" group="MemoryBarrierMask"/>
+        <enum value="0x00000020" name="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT" group="MemoryBarrierMask"/>
+        <enum value="0x00000040" name="GL_COMMAND_BARRIER_BIT" group="MemoryBarrierMask"/>
+        <enum value="0x00000040" name="GL_COMMAND_BARRIER_BIT_EXT" group="MemoryBarrierMask"/>
+        <enum value="0x00000080" name="GL_PIXEL_BUFFER_BARRIER_BIT" group="MemoryBarrierMask"/>
+        <enum value="0x00000080" name="GL_PIXEL_BUFFER_BARRIER_BIT_EXT" group="MemoryBarrierMask"/>
+        <enum value="0x00000100" name="GL_TEXTURE_UPDATE_BARRIER_BIT" group="MemoryBarrierMask"/>
+        <enum value="0x00000100" name="GL_TEXTURE_UPDATE_BARRIER_BIT_EXT" group="MemoryBarrierMask"/>
+        <enum value="0x00000200" name="GL_BUFFER_UPDATE_BARRIER_BIT" group="MemoryBarrierMask"/>
+        <enum value="0x00000200" name="GL_BUFFER_UPDATE_BARRIER_BIT_EXT" group="MemoryBarrierMask"/>
+        <enum value="0x00000400" name="GL_FRAMEBUFFER_BARRIER_BIT" group="MemoryBarrierMask"/>
+        <enum value="0x00000400" name="GL_FRAMEBUFFER_BARRIER_BIT_EXT" group="MemoryBarrierMask"/>
+        <enum value="0x00000800" name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT" group="MemoryBarrierMask"/>
+        <enum value="0x00000800" name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT" group="MemoryBarrierMask"/>
+        <enum value="0x00001000" name="GL_ATOMIC_COUNTER_BARRIER_BIT" group="MemoryBarrierMask"/>
+        <enum value="0x00001000" name="GL_ATOMIC_COUNTER_BARRIER_BIT_EXT" group="MemoryBarrierMask"/>
+        <enum value="0x00002000" name="GL_SHADER_STORAGE_BARRIER_BIT" group="MemoryBarrierMask"/>
+        <enum value="0x00004000" name="GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT" group="MemoryBarrierMask"/>
+        <enum value="0x00004000" name="GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT" group="MemoryBarrierMask"/>
+        <enum value="0x00008000" name="GL_QUERY_BUFFER_BARRIER_BIT" group="MemoryBarrierMask"/>
+        <enum value="0xFFFFFFFF" name="GL_ALL_BARRIER_BITS" group="MemoryBarrierMask"/>
+        <enum value="0xFFFFFFFF" name="GL_ALL_BARRIER_BITS_EXT" group="MemoryBarrierMask"/>
     </enums>
 
-    <enums namespace="OcclusionQueryEventMaskAMD">
-        <enum value="0x00000001" name="GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD"/>
-        <enum value="0x00000002" name="GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD"/>
-        <enum value="0x00000004" name="GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD"/>
-        <enum value="0x00000008" name="GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD"/>
-        <enum value="0xFFFFFFFF" name="GL_QUERY_ALL_EVENT_BITS_AMD"/>
+    <enums namespace="GL" group="OcclusionQueryEventMaskAMD" type="bitmask">
+        <enum value="0x00000001" name="GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD" group="OcclusionQueryEventMaskAMD"/>
+        <enum value="0x00000002" name="GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD" group="OcclusionQueryEventMaskAMD"/>
+        <enum value="0x00000004" name="GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD" group="OcclusionQueryEventMaskAMD"/>
+        <enum value="0x00000008" name="GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD" group="OcclusionQueryEventMaskAMD"/>
+        <enum value="0xFFFFFFFF" name="GL_QUERY_ALL_EVENT_BITS_AMD" group="OcclusionQueryEventMaskAMD"/>
     </enums>
 
     <enums namespace="GL" group="SyncObjectMask" type="bitmask">
-        <enum value="0x00000001" name="GL_SYNC_FLUSH_COMMANDS_BIT"/>
-        <enum value="0x00000001" name="GL_SYNC_FLUSH_COMMANDS_BIT_APPLE"/>
+        <enum value="0x00000001" name="GL_SYNC_FLUSH_COMMANDS_BIT" group="SyncObjectMask"/>
+        <enum value="0x00000001" name="GL_SYNC_FLUSH_COMMANDS_BIT_APPLE" group="SyncObjectMask"/>
     </enums>
 
     <enums namespace="GL" group="UseProgramStageMask" type="bitmask">
-        <enum value="0x00000001" name="GL_VERTEX_SHADER_BIT"/>
-        <enum value="0x00000001" name="GL_VERTEX_SHADER_BIT_EXT"/>
-        <enum value="0x00000002" name="GL_FRAGMENT_SHADER_BIT"/>
-        <enum value="0x00000002" name="GL_FRAGMENT_SHADER_BIT_EXT"/>
-        <enum value="0x00000004" name="GL_GEOMETRY_SHADER_BIT"/>
-        <enum value="0x00000004" name="GL_GEOMETRY_SHADER_BIT_EXT"/>
-        <enum value="0x00000004" name="GL_GEOMETRY_SHADER_BIT_OES"/>
-        <enum value="0x00000008" name="GL_TESS_CONTROL_SHADER_BIT"/>
-        <enum value="0x00000008" name="GL_TESS_CONTROL_SHADER_BIT_EXT"/>
-        <enum value="0x00000008" name="GL_TESS_CONTROL_SHADER_BIT_OES"/>
-        <enum value="0x00000010" name="GL_TESS_EVALUATION_SHADER_BIT"/>
-        <enum value="0x00000010" name="GL_TESS_EVALUATION_SHADER_BIT_EXT"/>
-        <enum value="0x00000010" name="GL_TESS_EVALUATION_SHADER_BIT_OES"/>
-        <enum value="0x00000020" name="GL_COMPUTE_SHADER_BIT"/>
-        <enum value="0xFFFFFFFF" name="GL_ALL_SHADER_BITS"/>
-        <enum value="0xFFFFFFFF" name="GL_ALL_SHADER_BITS_EXT"/>
+        <enum value="0x00000001" name="GL_VERTEX_SHADER_BIT" group="UseProgramStageMask"/>
+        <enum value="0x00000001" name="GL_VERTEX_SHADER_BIT_EXT" group="UseProgramStageMask"/>
+        <enum value="0x00000002" name="GL_FRAGMENT_SHADER_BIT" group="UseProgramStageMask"/>
+        <enum value="0x00000002" name="GL_FRAGMENT_SHADER_BIT_EXT" group="UseProgramStageMask"/>
+        <enum value="0x00000004" name="GL_GEOMETRY_SHADER_BIT" group="UseProgramStageMask"/>
+        <enum value="0x00000004" name="GL_GEOMETRY_SHADER_BIT_EXT" group="UseProgramStageMask"/>
+        <enum value="0x00000004" name="GL_GEOMETRY_SHADER_BIT_OES" group="UseProgramStageMask"/>
+        <enum value="0x00000008" name="GL_TESS_CONTROL_SHADER_BIT" group="UseProgramStageMask"/>
+        <enum value="0x00000008" name="GL_TESS_CONTROL_SHADER_BIT_EXT" group="UseProgramStageMask"/>
+        <enum value="0x00000008" name="GL_TESS_CONTROL_SHADER_BIT_OES" group="UseProgramStageMask"/>
+        <enum value="0x00000010" name="GL_TESS_EVALUATION_SHADER_BIT" group="UseProgramStageMask"/>
+        <enum value="0x00000010" name="GL_TESS_EVALUATION_SHADER_BIT_EXT" group="UseProgramStageMask"/>
+        <enum value="0x00000010" name="GL_TESS_EVALUATION_SHADER_BIT_OES" group="UseProgramStageMask"/>
+        <enum value="0x00000020" name="GL_COMPUTE_SHADER_BIT" group="UseProgramStageMask"/>
+        <enum value="0x00000040" name="GL_MESH_SHADER_BIT_NV" group="UseProgramStageMask"/>
+        <enum value="0x00000080" name="GL_TASK_SHADER_BIT_NV" group="UseProgramStageMask"/>
+        <enum value="0xFFFFFFFF" name="GL_ALL_SHADER_BITS" group="UseProgramStageMask"/>
+        <enum value="0xFFFFFFFF" name="GL_ALL_SHADER_BITS_EXT" group="UseProgramStageMask"/>
+    </enums>
+
+    <enums namespace="GL" group="SubgroupSupportedFeatures" type="bitmask">
+        <enum value="0x00000001" name="GL_SUBGROUP_FEATURE_BASIC_BIT_KHR" group="SubgroupSupportedFeatures"/>
+        <enum value="0x00000002" name="GL_SUBGROUP_FEATURE_VOTE_BIT_KHR" group="SubgroupSupportedFeatures"/>
+        <enum value="0x00000004" name="GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR" group="SubgroupSupportedFeatures"/>
+        <enum value="0x00000008" name="GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR" group="SubgroupSupportedFeatures"/>
+        <enum value="0x00000010" name="GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR" group="SubgroupSupportedFeatures"/>
+        <enum value="0x00000020" name="GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR" group="SubgroupSupportedFeatures"/>
+        <enum value="0x00000040" name="GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR" group="SubgroupSupportedFeatures"/>
+        <enum value="0x00000080" name="GL_SUBGROUP_FEATURE_QUAD_BIT_KHR" group="SubgroupSupportedFeatures"/>
+        <enum value="0x00000100" name="GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV" group="SubgroupSupportedFeatures"/>
     </enums>
 
     <!-- Bitmasks defined by vendor extensions -->
 
     <enums namespace="GL" group="TextureStorageMaskAMD" type="bitmask">
-        <enum value="0x00000001" name="GL_TEXTURE_STORAGE_SPARSE_BIT_AMD"/>
+        <enum value="0x00000001" name="GL_TEXTURE_STORAGE_SPARSE_BIT_AMD" group="TextureStorageMaskAMD"/>
     </enums>
 
     <enums namespace="GL" group="FragmentShaderDestMaskATI" type="bitmask">
-        <enum value="0x00000001" name="GL_RED_BIT_ATI"/>
-        <enum value="0x00000002" name="GL_GREEN_BIT_ATI"/>
-        <enum value="0x00000004" name="GL_BLUE_BIT_ATI"/>
+        <enum value="0x00000001" name="GL_RED_BIT_ATI" group="FragmentShaderDestMaskATI"/>
+        <enum value="0x00000002" name="GL_GREEN_BIT_ATI" group="FragmentShaderDestMaskATI"/>
+        <enum value="0x00000004" name="GL_BLUE_BIT_ATI" group="FragmentShaderDestMaskATI"/>
     </enums>
 
     <enums namespace="GL" group="FragmentShaderDestModMaskATI" type="bitmask">
-        <enum value="0x00000001" name="GL_2X_BIT_ATI"/>
-        <enum value="0x00000002" name="GL_4X_BIT_ATI"/>
-        <enum value="0x00000004" name="GL_8X_BIT_ATI"/>
-        <enum value="0x00000008" name="GL_HALF_BIT_ATI"/>
-        <enum value="0x00000010" name="GL_QUARTER_BIT_ATI"/>
-        <enum value="0x00000020" name="GL_EIGHTH_BIT_ATI"/>
-        <enum value="0x00000040" name="GL_SATURATE_BIT_ATI"/>
+        <enum value="0x00000001" name="GL_2X_BIT_ATI" group="FragmentShaderDestModMaskATI"/>
+        <enum value="0x00000002" name="GL_4X_BIT_ATI" group="FragmentShaderDestModMaskATI"/>
+        <enum value="0x00000004" name="GL_8X_BIT_ATI" group="FragmentShaderDestModMaskATI"/>
+        <enum value="0x00000008" name="GL_HALF_BIT_ATI" group="FragmentShaderDestModMaskATI"/>
+        <enum value="0x00000010" name="GL_QUARTER_BIT_ATI" group="FragmentShaderDestModMaskATI"/>
+        <enum value="0x00000020" name="GL_EIGHTH_BIT_ATI" group="FragmentShaderDestModMaskATI"/>
+        <enum value="0x00000040" name="GL_SATURATE_BIT_ATI" group="FragmentShaderDestModMaskATI"/>
     </enums>
 
     <enums namespace="GL" group="FragmentShaderColorModMaskATI" type="bitmask">
             <!-- Also used: 0x00000001 for GL_2X_BIT_ATI reused from FragmentShaderDestModMaskAT above -->
-        <enum value="0x00000002" name="GL_COMP_BIT_ATI"/>
-        <enum value="0x00000004" name="GL_NEGATE_BIT_ATI"/>
-        <enum value="0x00000008" name="GL_BIAS_BIT_ATI"/>
+        <enum value="0x00000002" name="GL_COMP_BIT_ATI" group="FragmentShaderColorModMaskATI"/>
+        <enum value="0x00000004" name="GL_NEGATE_BIT_ATI" group="FragmentShaderColorModMaskATI"/>
+        <enum value="0x00000008" name="GL_BIAS_BIT_ATI" group="FragmentShaderColorModMaskATI"/>
     </enums>
 
     <enums namespace="GL" group="TraceMaskMESA" type="bitmask">
-        <enum value="0x0001" name="GL_TRACE_OPERATIONS_BIT_MESA"/>
-        <enum value="0x0002" name="GL_TRACE_PRIMITIVES_BIT_MESA"/>
-        <enum value="0x0004" name="GL_TRACE_ARRAYS_BIT_MESA"/>
-        <enum value="0x0008" name="GL_TRACE_TEXTURES_BIT_MESA"/>
-        <enum value="0x0010" name="GL_TRACE_PIXELS_BIT_MESA"/>
-        <enum value="0x0020" name="GL_TRACE_ERRORS_BIT_MESA"/>
-        <enum value="0xFFFF" name="GL_TRACE_ALL_BITS_MESA"/>
+        <enum value="0x0001" name="GL_TRACE_OPERATIONS_BIT_MESA" group="TraceMaskMESA"/>
+        <enum value="0x0002" name="GL_TRACE_PRIMITIVES_BIT_MESA" group="TraceMaskMESA"/>
+        <enum value="0x0004" name="GL_TRACE_ARRAYS_BIT_MESA" group="TraceMaskMESA"/>
+        <enum value="0x0008" name="GL_TRACE_TEXTURES_BIT_MESA" group="TraceMaskMESA"/>
+        <enum value="0x0010" name="GL_TRACE_PIXELS_BIT_MESA" group="TraceMaskMESA"/>
+        <enum value="0x0020" name="GL_TRACE_ERRORS_BIT_MESA" group="TraceMaskMESA"/>
+        <enum value="0xFFFF" name="GL_TRACE_ALL_BITS_MESA" group="TraceMaskMESA"/>
     </enums>
 
     <enums namespace="GL" group="PathRenderingMaskNV" type="bitmask">
-        <enum value="0x01" name="GL_BOLD_BIT_NV"/>
-        <enum value="0x02" name="GL_ITALIC_BIT_NV"/>
-        <enum value="0x01" name="GL_GLYPH_WIDTH_BIT_NV"/>
-        <enum value="0x02" name="GL_GLYPH_HEIGHT_BIT_NV"/>
-        <enum value="0x04" name="GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV"/>
-        <enum value="0x08" name="GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV"/>
-        <enum value="0x10" name="GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV"/>
-        <enum value="0x20" name="GL_GLYPH_VERTICAL_BEARING_X_BIT_NV"/>
-        <enum value="0x40" name="GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV"/>
-        <enum value="0x80" name="GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV"/>
-        <enum value="0x100" name="GL_GLYPH_HAS_KERNING_BIT_NV"/>
-        <enum value="0x00010000" name="GL_FONT_X_MIN_BOUNDS_BIT_NV"/>
-        <enum value="0x00020000" name="GL_FONT_Y_MIN_BOUNDS_BIT_NV"/>
-        <enum value="0x00040000" name="GL_FONT_X_MAX_BOUNDS_BIT_NV"/>
-        <enum value="0x00080000" name="GL_FONT_Y_MAX_BOUNDS_BIT_NV"/>
-        <enum value="0x00100000" name="GL_FONT_UNITS_PER_EM_BIT_NV"/>
-        <enum value="0x00200000" name="GL_FONT_ASCENDER_BIT_NV"/>
-        <enum value="0x00400000" name="GL_FONT_DESCENDER_BIT_NV"/>
-        <enum value="0x00800000" name="GL_FONT_HEIGHT_BIT_NV"/>
-        <enum value="0x01000000" name="GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV"/>
-        <enum value="0x02000000" name="GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV"/>
-        <enum value="0x04000000" name="GL_FONT_UNDERLINE_POSITION_BIT_NV"/>
-        <enum value="0x08000000" name="GL_FONT_UNDERLINE_THICKNESS_BIT_NV"/>
-        <enum value="0x10000000" name="GL_FONT_HAS_KERNING_BIT_NV"/>
-        <enum value="0x20000000" name="GL_FONT_NUM_GLYPH_INDICES_BIT_NV"/>
+        <enum value="0x01" name="GL_BOLD_BIT_NV" group="PathFontStyle"/>
+        <enum value="0x02" name="GL_ITALIC_BIT_NV" group="PathFontStyle"/>
+        <enum value="0x01" name="GL_GLYPH_WIDTH_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x02" name="GL_GLYPH_HEIGHT_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x04" name="GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x08" name="GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x10" name="GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x20" name="GL_GLYPH_VERTICAL_BEARING_X_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x40" name="GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x80" name="GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x100" name="GL_GLYPH_HAS_KERNING_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x00010000" name="GL_FONT_X_MIN_BOUNDS_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x00020000" name="GL_FONT_Y_MIN_BOUNDS_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x00040000" name="GL_FONT_X_MAX_BOUNDS_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x00080000" name="GL_FONT_Y_MAX_BOUNDS_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x00100000" name="GL_FONT_UNITS_PER_EM_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x00200000" name="GL_FONT_ASCENDER_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x00400000" name="GL_FONT_DESCENDER_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x00800000" name="GL_FONT_HEIGHT_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x01000000" name="GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x02000000" name="GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x04000000" name="GL_FONT_UNDERLINE_POSITION_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x08000000" name="GL_FONT_UNDERLINE_THICKNESS_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x10000000" name="GL_FONT_HAS_KERNING_BIT_NV" group="PathMetricMask"/>
+        <enum value="0x20000000" name="GL_FONT_NUM_GLYPH_INDICES_BIT_NV" group="PathMetricMask"/>
     </enums>
 
     <enums namespace="GL" group="PerformanceQueryCapsMaskINTEL" type="bitmask">
-        <enum value="0x00000000" name="GL_PERFQUERY_SINGLE_CONTEXT_INTEL"/>
-        <enum value="0x00000001" name="GL_PERFQUERY_GLOBAL_CONTEXT_INTEL"/>
+        <enum value="0x00000000" name="GL_PERFQUERY_SINGLE_CONTEXT_INTEL" group="PerformanceQueryCapsMaskINTEL"/>
+        <enum value="0x00000001" name="GL_PERFQUERY_GLOBAL_CONTEXT_INTEL" group="PerformanceQueryCapsMaskINTEL"/>
     </enums>
 
     <enums namespace="GL" group="VertexHintsMaskPGI" type="bitmask">
-        <enum value="0x00000004" name="GL_VERTEX23_BIT_PGI"/>
-        <enum value="0x00000008" name="GL_VERTEX4_BIT_PGI"/>
-        <enum value="0x00010000" name="GL_COLOR3_BIT_PGI"/>
-        <enum value="0x00020000" name="GL_COLOR4_BIT_PGI"/>
-        <enum value="0x00040000" name="GL_EDGEFLAG_BIT_PGI"/>
-        <enum value="0x00080000" name="GL_INDEX_BIT_PGI"/>
-        <enum value="0x00100000" name="GL_MAT_AMBIENT_BIT_PGI"/>
-        <enum value="0x00200000" name="GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI"/>
-        <enum value="0x00400000" name="GL_MAT_DIFFUSE_BIT_PGI"/>
-        <enum value="0x00800000" name="GL_MAT_EMISSION_BIT_PGI"/>
-        <enum value="0x01000000" name="GL_MAT_COLOR_INDEXES_BIT_PGI"/>
-        <enum value="0x02000000" name="GL_MAT_SHININESS_BIT_PGI"/>
-        <enum value="0x04000000" name="GL_MAT_SPECULAR_BIT_PGI"/>
-        <enum value="0x08000000" name="GL_NORMAL_BIT_PGI"/>
-        <enum value="0x10000000" name="GL_TEXCOORD1_BIT_PGI"/>
-        <enum value="0x20000000" name="GL_TEXCOORD2_BIT_PGI"/>
-        <enum value="0x40000000" name="GL_TEXCOORD3_BIT_PGI"/>
-        <enum value="0x80000000" name="GL_TEXCOORD4_BIT_PGI"/>
+        <enum value="0x00000004" name="GL_VERTEX23_BIT_PGI" group="VertexHintsMaskPGI"/>
+        <enum value="0x00000008" name="GL_VERTEX4_BIT_PGI" group="VertexHintsMaskPGI"/>
+        <enum value="0x00010000" name="GL_COLOR3_BIT_PGI" group="VertexHintsMaskPGI"/>
+        <enum value="0x00020000" name="GL_COLOR4_BIT_PGI" group="VertexHintsMaskPGI"/>
+        <enum value="0x00040000" name="GL_EDGEFLAG_BIT_PGI" group="VertexHintsMaskPGI"/>
+        <enum value="0x00080000" name="GL_INDEX_BIT_PGI" group="VertexHintsMaskPGI"/>
+        <enum value="0x00100000" name="GL_MAT_AMBIENT_BIT_PGI" group="VertexHintsMaskPGI"/>
+        <enum value="0x00200000" name="GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI" group="VertexHintsMaskPGI"/>
+        <enum value="0x00400000" name="GL_MAT_DIFFUSE_BIT_PGI" group="VertexHintsMaskPGI"/>
+        <enum value="0x00800000" name="GL_MAT_EMISSION_BIT_PGI" group="VertexHintsMaskPGI"/>
+        <enum value="0x01000000" name="GL_MAT_COLOR_INDEXES_BIT_PGI" group="VertexHintsMaskPGI"/>
+        <enum value="0x02000000" name="GL_MAT_SHININESS_BIT_PGI" group="VertexHintsMaskPGI"/>
+        <enum value="0x04000000" name="GL_MAT_SPECULAR_BIT_PGI" group="VertexHintsMaskPGI"/>
+        <enum value="0x08000000" name="GL_NORMAL_BIT_PGI" group="VertexHintsMaskPGI"/>
+        <enum value="0x10000000" name="GL_TEXCOORD1_BIT_PGI" group="VertexHintsMaskPGI"/>
+        <enum value="0x20000000" name="GL_TEXCOORD2_BIT_PGI" group="VertexHintsMaskPGI"/>
+        <enum value="0x40000000" name="GL_TEXCOORD3_BIT_PGI" group="VertexHintsMaskPGI"/>
+        <enum value="0x80000000" name="GL_TEXCOORD4_BIT_PGI" group="VertexHintsMaskPGI"/>
     </enums>
 
     <enums namespace="GL" group="BufferBitQCOM" type="bitmask">
-        <enum value="0x00000001" name="GL_COLOR_BUFFER_BIT0_QCOM"/>
-        <enum value="0x00000002" name="GL_COLOR_BUFFER_BIT1_QCOM"/>
-        <enum value="0x00000004" name="GL_COLOR_BUFFER_BIT2_QCOM"/>
-        <enum value="0x00000008" name="GL_COLOR_BUFFER_BIT3_QCOM"/>
-        <enum value="0x00000010" name="GL_COLOR_BUFFER_BIT4_QCOM"/>
-        <enum value="0x00000020" name="GL_COLOR_BUFFER_BIT5_QCOM"/>
-        <enum value="0x00000040" name="GL_COLOR_BUFFER_BIT6_QCOM"/>
-        <enum value="0x00000080" name="GL_COLOR_BUFFER_BIT7_QCOM"/>
-        <enum value="0x00000100" name="GL_DEPTH_BUFFER_BIT0_QCOM"/>
-        <enum value="0x00000200" name="GL_DEPTH_BUFFER_BIT1_QCOM"/>
-        <enum value="0x00000400" name="GL_DEPTH_BUFFER_BIT2_QCOM"/>
-        <enum value="0x00000800" name="GL_DEPTH_BUFFER_BIT3_QCOM"/>
-        <enum value="0x00001000" name="GL_DEPTH_BUFFER_BIT4_QCOM"/>
-        <enum value="0x00002000" name="GL_DEPTH_BUFFER_BIT5_QCOM"/>
-        <enum value="0x00004000" name="GL_DEPTH_BUFFER_BIT6_QCOM"/>
-        <enum value="0x00008000" name="GL_DEPTH_BUFFER_BIT7_QCOM"/>
-        <enum value="0x00010000" name="GL_STENCIL_BUFFER_BIT0_QCOM"/>
-        <enum value="0x00020000" name="GL_STENCIL_BUFFER_BIT1_QCOM"/>
-        <enum value="0x00040000" name="GL_STENCIL_BUFFER_BIT2_QCOM"/>
-        <enum value="0x00080000" name="GL_STENCIL_BUFFER_BIT3_QCOM"/>
-        <enum value="0x00100000" name="GL_STENCIL_BUFFER_BIT4_QCOM"/>
-        <enum value="0x00200000" name="GL_STENCIL_BUFFER_BIT5_QCOM"/>
-        <enum value="0x00400000" name="GL_STENCIL_BUFFER_BIT6_QCOM"/>
-        <enum value="0x00800000" name="GL_STENCIL_BUFFER_BIT7_QCOM"/>
-        <enum value="0x01000000" name="GL_MULTISAMPLE_BUFFER_BIT0_QCOM"/>
-        <enum value="0x02000000" name="GL_MULTISAMPLE_BUFFER_BIT1_QCOM"/>
-        <enum value="0x04000000" name="GL_MULTISAMPLE_BUFFER_BIT2_QCOM"/>
-        <enum value="0x08000000" name="GL_MULTISAMPLE_BUFFER_BIT3_QCOM"/>
-        <enum value="0x10000000" name="GL_MULTISAMPLE_BUFFER_BIT4_QCOM"/>
-        <enum value="0x20000000" name="GL_MULTISAMPLE_BUFFER_BIT5_QCOM"/>
-        <enum value="0x40000000" name="GL_MULTISAMPLE_BUFFER_BIT6_QCOM"/>
-        <enum value="0x80000000" name="GL_MULTISAMPLE_BUFFER_BIT7_QCOM"/>
+        <enum value="0x00000001" name="GL_COLOR_BUFFER_BIT0_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00000002" name="GL_COLOR_BUFFER_BIT1_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00000004" name="GL_COLOR_BUFFER_BIT2_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00000008" name="GL_COLOR_BUFFER_BIT3_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00000010" name="GL_COLOR_BUFFER_BIT4_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00000020" name="GL_COLOR_BUFFER_BIT5_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00000040" name="GL_COLOR_BUFFER_BIT6_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00000080" name="GL_COLOR_BUFFER_BIT7_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00000100" name="GL_DEPTH_BUFFER_BIT0_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00000200" name="GL_DEPTH_BUFFER_BIT1_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00000400" name="GL_DEPTH_BUFFER_BIT2_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00000800" name="GL_DEPTH_BUFFER_BIT3_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00001000" name="GL_DEPTH_BUFFER_BIT4_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00002000" name="GL_DEPTH_BUFFER_BIT5_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00004000" name="GL_DEPTH_BUFFER_BIT6_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00008000" name="GL_DEPTH_BUFFER_BIT7_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00010000" name="GL_STENCIL_BUFFER_BIT0_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00020000" name="GL_STENCIL_BUFFER_BIT1_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00040000" name="GL_STENCIL_BUFFER_BIT2_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00080000" name="GL_STENCIL_BUFFER_BIT3_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00100000" name="GL_STENCIL_BUFFER_BIT4_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00200000" name="GL_STENCIL_BUFFER_BIT5_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00400000" name="GL_STENCIL_BUFFER_BIT6_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x00800000" name="GL_STENCIL_BUFFER_BIT7_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x01000000" name="GL_MULTISAMPLE_BUFFER_BIT0_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x02000000" name="GL_MULTISAMPLE_BUFFER_BIT1_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x04000000" name="GL_MULTISAMPLE_BUFFER_BIT2_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x08000000" name="GL_MULTISAMPLE_BUFFER_BIT3_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x10000000" name="GL_MULTISAMPLE_BUFFER_BIT4_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x20000000" name="GL_MULTISAMPLE_BUFFER_BIT5_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x40000000" name="GL_MULTISAMPLE_BUFFER_BIT6_QCOM" group="BufferBitQCOM"/>
+        <enum value="0x80000000" name="GL_MULTISAMPLE_BUFFER_BIT7_QCOM" group="BufferBitQCOM"/>
+    </enums>
+
+    <enums namespace="GL" group="FoveationConfigBitQCOM" type="bitmask">
+        <enum value="0x00000001" name="GL_FOVEATION_ENABLE_BIT_QCOM" group="FoveationConfigBitQCOM"/>
+        <enum value="0x00000002" name="GL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM" group="FoveationConfigBitQCOM"/>
+        <enum value="0x00000004" name="GL_FOVEATION_SUBSAMPLED_LAYOUT_METHOD_BIT_QCOM" group="FoveationConfigBitQCOM"/>
     </enums>
 
     <enums namespace="GL" group="FfdMaskSGIX" type="bitmask">
-        <enum value="0x00000001" name="GL_TEXTURE_DEFORMATION_BIT_SGIX"/>
-        <enum value="0x00000002" name="GL_GEOMETRY_DEFORMATION_BIT_SGIX"/>
+        <enum value="0x00000001" name="GL_TEXTURE_DEFORMATION_BIT_SGIX" group="FfdMaskSGIX"/>
+        <enum value="0x00000002" name="GL_GEOMETRY_DEFORMATION_BIT_SGIX" group="FfdMaskSGIX"/>
     </enums>
 
+
     <!-- Non-bitmask enums with their own namespace. Generally small numbers
          used for indexed access. -->
 
     <enums namespace="GL" group="CommandOpcodesNV" vendor="NV" comment="For NV_command_list.">
-        <enum value="0x0000" name="GL_TERMINATE_SEQUENCE_COMMAND_NV"/>
-        <enum value="0x0001" name="GL_NOP_COMMAND_NV"/>
-        <enum value="0x0002" name="GL_DRAW_ELEMENTS_COMMAND_NV"/>
-        <enum value="0x0003" name="GL_DRAW_ARRAYS_COMMAND_NV"/>
-        <enum value="0x0004" name="GL_DRAW_ELEMENTS_STRIP_COMMAND_NV"/>
-        <enum value="0x0005" name="GL_DRAW_ARRAYS_STRIP_COMMAND_NV"/>
-        <enum value="0x0006" name="GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV"/>
-        <enum value="0x0007" name="GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV"/>
-        <enum value="0x0008" name="GL_ELEMENT_ADDRESS_COMMAND_NV"/>
-        <enum value="0x0009" name="GL_ATTRIBUTE_ADDRESS_COMMAND_NV"/>
-        <enum value="0x000A" name="GL_UNIFORM_ADDRESS_COMMAND_NV"/>
-        <enum value="0x000B" name="GL_BLEND_COLOR_COMMAND_NV"/>
-        <enum value="0x000C" name="GL_STENCIL_REF_COMMAND_NV"/>
-        <enum value="0x000D" name="GL_LINE_WIDTH_COMMAND_NV"/>
-        <enum value="0x000E" name="GL_POLYGON_OFFSET_COMMAND_NV"/>
-        <enum value="0x000F" name="GL_ALPHA_REF_COMMAND_NV"/>
-        <enum value="0x0010" name="GL_VIEWPORT_COMMAND_NV"/>
-        <enum value="0x0011" name="GL_SCISSOR_COMMAND_NV"/>
-        <enum value="0x0012" name="GL_FRONT_FACE_COMMAND_NV"/>
+        <enum value="0x0000" name="GL_TERMINATE_SEQUENCE_COMMAND_NV" group="CommandOpcodesNV"/>
+        <enum value="0x0001" name="GL_NOP_COMMAND_NV" group="CommandOpcodesNV"/>
+        <enum value="0x0002" name="GL_DRAW_ELEMENTS_COMMAND_NV" group="CommandOpcodesNV"/>
+        <enum value="0x0003" name="GL_DRAW_ARRAYS_COMMAND_NV" group="CommandOpcodesNV"/>
+        <enum value="0x0004" name="GL_DRAW_ELEMENTS_STRIP_COMMAND_NV" group="CommandOpcodesNV"/>
+        <enum value="0x0005" name="GL_DRAW_ARRAYS_STRIP_COMMAND_NV" group="CommandOpcodesNV"/>
+        <enum value="0x0006" name="GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV" group="CommandOpcodesNV"/>
+        <enum value="0x0007" name="GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV" group="CommandOpcodesNV"/>
+        <enum value="0x0008" name="GL_ELEMENT_ADDRESS_COMMAND_NV" group="CommandOpcodesNV"/>
+        <enum value="0x0009" name="GL_ATTRIBUTE_ADDRESS_COMMAND_NV" group="CommandOpcodesNV"/>
+        <enum value="0x000A" name="GL_UNIFORM_ADDRESS_COMMAND_NV" group="CommandOpcodesNV"/>
+        <enum value="0x000B" name="GL_BLEND_COLOR_COMMAND_NV" group="CommandOpcodesNV"/>
+        <enum value="0x000C" name="GL_STENCIL_REF_COMMAND_NV" group="CommandOpcodesNV"/>
+        <enum value="0x000D" name="GL_LINE_WIDTH_COMMAND_NV" group="CommandOpcodesNV"/>
+        <enum value="0x000E" name="GL_POLYGON_OFFSET_COMMAND_NV" group="CommandOpcodesNV"/>
+        <enum value="0x000F" name="GL_ALPHA_REF_COMMAND_NV" group="CommandOpcodesNV"/>
+        <enum value="0x0010" name="GL_VIEWPORT_COMMAND_NV" group="CommandOpcodesNV"/>
+        <enum value="0x0011" name="GL_SCISSOR_COMMAND_NV" group="CommandOpcodesNV"/>
+        <enum value="0x0012" name="GL_FRONT_FACE_COMMAND_NV" group="CommandOpcodesNV"/>
     </enums>
 
     <enums namespace="GL" group="MapTextureFormatINTEL" vendor="INTEL" comment="Texture memory layouts for INTEL_map_texture">
-        <enum value="0" name="GL_LAYOUT_DEFAULT_INTEL"/>
-        <enum value="1" name="GL_LAYOUT_LINEAR_INTEL"/>
-        <enum value="2" name="GL_LAYOUT_LINEAR_CPU_CACHED_INTEL"/>
+        <enum value="0" name="GL_LAYOUT_DEFAULT_INTEL" group="MapTextureFormatINTEL"/>
+        <enum value="1" name="GL_LAYOUT_LINEAR_INTEL" group="MapTextureFormatINTEL"/>
+        <enum value="2" name="GL_LAYOUT_LINEAR_CPU_CACHED_INTEL" group="MapTextureFormatINTEL"/>
     </enums>
 
     <enums namespace="GL" group="PathRenderingTokenNV" vendor="NV">
-        <enum value="0x00" name="GL_CLOSE_PATH_NV"/>
-        <enum value="0x02" name="GL_MOVE_TO_NV"/>
-        <enum value="0x03" name="GL_RELATIVE_MOVE_TO_NV"/>
-        <enum value="0x04" name="GL_LINE_TO_NV"/>
-        <enum value="0x05" name="GL_RELATIVE_LINE_TO_NV"/>
-        <enum value="0x06" name="GL_HORIZONTAL_LINE_TO_NV"/>
-        <enum value="0x07" name="GL_RELATIVE_HORIZONTAL_LINE_TO_NV"/>
-        <enum value="0x08" name="GL_VERTICAL_LINE_TO_NV"/>
-        <enum value="0x09" name="GL_RELATIVE_VERTICAL_LINE_TO_NV"/>
-        <enum value="0x0A" name="GL_QUADRATIC_CURVE_TO_NV"/>
-        <enum value="0x0B" name="GL_RELATIVE_QUADRATIC_CURVE_TO_NV"/>
-        <enum value="0x0C" name="GL_CUBIC_CURVE_TO_NV"/>
-        <enum value="0x0D" name="GL_RELATIVE_CUBIC_CURVE_TO_NV"/>
-        <enum value="0x0E" name="GL_SMOOTH_QUADRATIC_CURVE_TO_NV"/>
-        <enum value="0x0F" name="GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV"/>
-        <enum value="0x10" name="GL_SMOOTH_CUBIC_CURVE_TO_NV"/>
-        <enum value="0x11" name="GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV"/>
-        <enum value="0x12" name="GL_SMALL_CCW_ARC_TO_NV"/>
-        <enum value="0x13" name="GL_RELATIVE_SMALL_CCW_ARC_TO_NV"/>
-        <enum value="0x14" name="GL_SMALL_CW_ARC_TO_NV"/>
-        <enum value="0x15" name="GL_RELATIVE_SMALL_CW_ARC_TO_NV"/>
-        <enum value="0x16" name="GL_LARGE_CCW_ARC_TO_NV"/>
-        <enum value="0x17" name="GL_RELATIVE_LARGE_CCW_ARC_TO_NV"/>
-        <enum value="0x18" name="GL_LARGE_CW_ARC_TO_NV"/>
-        <enum value="0x19" name="GL_RELATIVE_LARGE_CW_ARC_TO_NV"/>
-        <enum value="0x1A" name="GL_CONIC_CURVE_TO_NV"/>
-        <enum value="0x1B" name="GL_RELATIVE_CONIC_CURVE_TO_NV"/>
+        <enum value="0x00" name="GL_CLOSE_PATH_NV" group="PathCoordType"/>
+        <enum value="0x02" name="GL_MOVE_TO_NV" group="PathCoordType"/>
+        <enum value="0x03" name="GL_RELATIVE_MOVE_TO_NV" group="PathCoordType"/>
+        <enum value="0x04" name="GL_LINE_TO_NV" group="PathCoordType"/>
+        <enum value="0x05" name="GL_RELATIVE_LINE_TO_NV" group="PathCoordType"/>
+        <enum value="0x06" name="GL_HORIZONTAL_LINE_TO_NV" group="PathCoordType"/>
+        <enum value="0x07" name="GL_RELATIVE_HORIZONTAL_LINE_TO_NV" group="PathCoordType"/>
+        <enum value="0x08" name="GL_VERTICAL_LINE_TO_NV" group="PathCoordType"/>
+        <enum value="0x09" name="GL_RELATIVE_VERTICAL_LINE_TO_NV" group="PathCoordType"/>
+        <enum value="0x0A" name="GL_QUADRATIC_CURVE_TO_NV" group="PathCoordType"/>
+        <enum value="0x0B" name="GL_RELATIVE_QUADRATIC_CURVE_TO_NV" group="PathCoordType"/>
+        <enum value="0x0C" name="GL_CUBIC_CURVE_TO_NV" group="PathCoordType"/>
+        <enum value="0x0D" name="GL_RELATIVE_CUBIC_CURVE_TO_NV" group="PathCoordType"/>
+        <enum value="0x0E" name="GL_SMOOTH_QUADRATIC_CURVE_TO_NV" group="PathCoordType"/>
+        <enum value="0x0F" name="GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV" group="PathCoordType"/>
+        <enum value="0x10" name="GL_SMOOTH_CUBIC_CURVE_TO_NV" group="PathCoordType"/>
+        <enum value="0x11" name="GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV" group="PathCoordType"/>
+        <enum value="0x12" name="GL_SMALL_CCW_ARC_TO_NV" group="PathCoordType"/>
+        <enum value="0x13" name="GL_RELATIVE_SMALL_CCW_ARC_TO_NV" group="PathCoordType"/>
+        <enum value="0x14" name="GL_SMALL_CW_ARC_TO_NV" group="PathCoordType"/>
+        <enum value="0x15" name="GL_RELATIVE_SMALL_CW_ARC_TO_NV" group="PathCoordType"/>
+        <enum value="0x16" name="GL_LARGE_CCW_ARC_TO_NV" group="PathCoordType"/>
+        <enum value="0x17" name="GL_RELATIVE_LARGE_CCW_ARC_TO_NV" group="PathCoordType"/>
+        <enum value="0x18" name="GL_LARGE_CW_ARC_TO_NV" group="PathCoordType"/>
+        <enum value="0x19" name="GL_RELATIVE_LARGE_CW_ARC_TO_NV" group="PathCoordType"/>
+        <enum value="0x1A" name="GL_CONIC_CURVE_TO_NV" group="PathCoordType"/>
+        <enum value="0x1B" name="GL_RELATIVE_CONIC_CURVE_TO_NV" group="PathCoordType"/>
             <unused start="0x1C" end="0xBF" comment="Unused for PathRenderingTokenNV"/>
         <enum value="0xC0" name="GL_SHARED_EDGE_NV"/>
             <unused start="0xC1" end="0xE7" comment="Unused for PathRenderingTokenNV"/>
-        <enum value="0xE8" name="GL_ROUNDED_RECT_NV"/>
-        <enum value="0xE9" name="GL_RELATIVE_ROUNDED_RECT_NV"/>
-        <enum value="0xEA" name="GL_ROUNDED_RECT2_NV"/>
-        <enum value="0xEB" name="GL_RELATIVE_ROUNDED_RECT2_NV"/>
-        <enum value="0xEC" name="GL_ROUNDED_RECT4_NV"/>
-        <enum value="0xED" name="GL_RELATIVE_ROUNDED_RECT4_NV"/>
-        <enum value="0xEE" name="GL_ROUNDED_RECT8_NV"/>
-        <enum value="0xEF" name="GL_RELATIVE_ROUNDED_RECT8_NV"/>
-        <enum value="0xF0" name="GL_RESTART_PATH_NV"/>
-        <enum value="0xF2" name="GL_DUP_FIRST_CUBIC_CURVE_TO_NV"/>
-        <enum value="0xF4" name="GL_DUP_LAST_CUBIC_CURVE_TO_NV"/>
-        <enum value="0xF6" name="GL_RECT_NV"/>
-        <enum value="0xF7" name="GL_RELATIVE_RECT_NV"/>
-        <enum value="0xF8" name="GL_CIRCULAR_CCW_ARC_TO_NV"/>
-        <enum value="0xFA" name="GL_CIRCULAR_CW_ARC_TO_NV"/>
-        <enum value="0xFC" name="GL_CIRCULAR_TANGENT_ARC_TO_NV"/>
-        <enum value="0xFE" name="GL_ARC_TO_NV"/>
-        <enum value="0xFF" name="GL_RELATIVE_ARC_TO_NV"/>
+        <enum value="0xE8" name="GL_ROUNDED_RECT_NV" group="PathCoordType"/>
+        <enum value="0xE9" name="GL_RELATIVE_ROUNDED_RECT_NV" group="PathCoordType"/>
+        <enum value="0xEA" name="GL_ROUNDED_RECT2_NV" group="PathCoordType"/>
+        <enum value="0xEB" name="GL_RELATIVE_ROUNDED_RECT2_NV" group="PathCoordType"/>
+        <enum value="0xEC" name="GL_ROUNDED_RECT4_NV" group="PathCoordType"/>
+        <enum value="0xED" name="GL_RELATIVE_ROUNDED_RECT4_NV" group="PathCoordType"/>
+        <enum value="0xEE" name="GL_ROUNDED_RECT8_NV" group="PathCoordType"/>
+        <enum value="0xEF" name="GL_RELATIVE_ROUNDED_RECT8_NV" group="PathCoordType"/>
+        <enum value="0xF0" name="GL_RESTART_PATH_NV" group="PathCoordType"/>
+        <enum value="0xF2" name="GL_DUP_FIRST_CUBIC_CURVE_TO_NV" group="PathCoordType"/>
+        <enum value="0xF4" name="GL_DUP_LAST_CUBIC_CURVE_TO_NV" group="PathCoordType"/>
+        <enum value="0xF6" name="GL_RECT_NV" group="PathCoordType"/>
+        <enum value="0xF7" name="GL_RELATIVE_RECT_NV" group="PathCoordType"/>
+        <enum value="0xF8" name="GL_CIRCULAR_CCW_ARC_TO_NV" group="PathCoordType"/>
+        <enum value="0xFA" name="GL_CIRCULAR_CW_ARC_TO_NV" group="PathCoordType"/>
+        <enum value="0xFC" name="GL_CIRCULAR_TANGENT_ARC_TO_NV" group="PathCoordType"/>
+        <enum value="0xFE" name="GL_ARC_TO_NV" group="PathCoordType"/>
+        <enum value="0xFF" name="GL_RELATIVE_ARC_TO_NV" group="PathCoordType"/>
     </enums>
 
     <enums namespace="GL" group="TransformFeedbackTokenNV" vendor="NV" comment="For NV_transform_feedback. No clue why small negative values are used">
-        <enum value="-2" name="GL_NEXT_BUFFER_NV"/>
-        <enum value="-3" name="GL_SKIP_COMPONENTS4_NV"/>
-        <enum value="-4" name="GL_SKIP_COMPONENTS3_NV"/>
-        <enum value="-5" name="GL_SKIP_COMPONENTS2_NV"/>
-        <enum value="-6" name="GL_SKIP_COMPONENTS1_NV"/>
+        <enum value="-2" name="GL_NEXT_BUFFER_NV" group="TransformFeedbackTokenNV"/>
+        <enum value="-3" name="GL_SKIP_COMPONENTS4_NV" group="TransformFeedbackTokenNV"/>
+        <enum value="-4" name="GL_SKIP_COMPONENTS3_NV" group="TransformFeedbackTokenNV"/>
+        <enum value="-5" name="GL_SKIP_COMPONENTS2_NV" group="TransformFeedbackTokenNV"/>
+        <enum value="-6" name="GL_SKIP_COMPONENTS1_NV" group="TransformFeedbackTokenNV"/>
     </enums>
 
     <enums namespace="GL" group="TriangleListSUN" vendor="SUN">
-        <enum value="0x0001" name="GL_RESTART_SUN"/>
-        <enum value="0x0002" name="GL_REPLACE_MIDDLE_SUN"/>
-        <enum value="0x0003" name="GL_REPLACE_OLDEST_SUN"/>
+        <enum value="0x0001" name="GL_RESTART_SUN" group="TriangleListSUN"/>
+        <enum value="0x0002" name="GL_REPLACE_MIDDLE_SUN" group="TriangleListSUN"/>
+        <enum value="0x0003" name="GL_REPLACE_OLDEST_SUN" group="TriangleListSUN"/>
     </enums>
 
     <!-- The default ("API") enum namespace starts here. While some
@@ -2404,651 +5231,654 @@ typedef unsigned int GLhandleARB;
          extensions and API versions). -->
 
     <enums namespace="GL" group="SpecialNumbers" vendor="ARB" comment="Tokens whose numeric value is intrinsically meaningful">
-        <enum value="0" name="GL_FALSE"/>
-        <enum value="0" name="GL_NO_ERROR"/>
-        <enum value="0" name="GL_ZERO"/>
-        <enum value="0" name="GL_NONE"/>
-        <enum value="0" name="GL_NONE_OES"/>
-        <enum value="1" name="GL_TRUE"/>
-        <enum value="1" name="GL_ONE"/>
+        <enum value="0" name="GL_FALSE" group="Boolean,VertexShaderWriteMaskEXT,ClampColorModeARB"/>
+        <enum value="0" name="GL_NO_ERROR" group="GraphicsResetStatus,ErrorCode"/>
+        <enum value="0" name="GL_ZERO" group="TextureSwizzle,StencilOp,BlendingFactor"/>
+        <enum value="0" name="GL_NONE" group="SyncBehaviorFlags,TextureCompareMode,PathColorFormat,CombinerBiasNV,CombinerScaleNV,DrawBufferMode,PixelTexGenMode,ReadBufferMode,ColorBuffer,PathGenMode,PathTransformType,PathFontStyle"/>
+        <enum value="0" name="GL_NONE_OES" group="ReadBufferMode,DrawBufferMode"/>
+        <enum value="1" name="GL_TRUE" group="Boolean,VertexShaderWriteMaskEXT,ClampColorModeARB"/>
+        <enum value="1" name="GL_ONE" group="TextureSwizzle,BlendingFactor"/>
         <enum value="0xFFFFFFFF" name="GL_INVALID_INDEX" type="u" comment="Tagged as uint"/>
+        <enum value="0xFFFFFFFF" name="GL_ALL_PIXELS_AMD"/>
         <enum value="0xFFFFFFFFFFFFFFFF" name="GL_TIMEOUT_IGNORED" type="ull" comment="Tagged as uint64"/>
         <enum value="0xFFFFFFFFFFFFFFFF" name="GL_TIMEOUT_IGNORED_APPLE" type="ull" comment="Tagged as uint64"/>
         <enum value="1" name="GL_VERSION_ES_CL_1_0" comment="Not an API enum. API definition macro for ES 1.0/1.1 headers"/>
         <enum value="1" name="GL_VERSION_ES_CM_1_1" comment="Not an API enum. API definition macro for ES 1.0/1.1 headers"/>
         <enum value="1" name="GL_VERSION_ES_CL_1_1" comment="Not an API enum. API definition macro for ES 1.0/1.1 headers"/>
+        <enum value="16" name="GL_UUID_SIZE_EXT"/>
+        <enum value="8" name="GL_LUID_SIZE_EXT"/>
     </enums>
 
     <enums namespace="GL" start="0x0000" end="0x7FFF" vendor="ARB" comment="Mostly OpenGL 1.0/1.1 enum assignments. Unused ranges should generally remain unused.">
-        <enum value="0x0000" name="GL_POINTS"/>
-        <enum value="0x0001" name="GL_LINES"/>
-        <enum value="0x0002" name="GL_LINE_LOOP"/>
-        <enum value="0x0003" name="GL_LINE_STRIP"/>
-        <enum value="0x0004" name="GL_TRIANGLES"/>
-        <enum value="0x0005" name="GL_TRIANGLE_STRIP"/>
-        <enum value="0x0006" name="GL_TRIANGLE_FAN"/>
-        <enum value="0x0007" name="GL_QUADS"/>
-        <enum value="0x0007" name="GL_QUADS_EXT"/>
+        <enum value="0x0000" name="GL_POINTS" group="PrimitiveType"/>
+        <enum value="0x0001" name="GL_LINES" group="PrimitiveType"/>
+        <enum value="0x0002" name="GL_LINE_LOOP" group="PrimitiveType"/>
+        <enum value="0x0003" name="GL_LINE_STRIP" group="PrimitiveType"/>
+        <enum value="0x0004" name="GL_TRIANGLES" group="PrimitiveType"/>
+        <enum value="0x0005" name="GL_TRIANGLE_STRIP" group="PrimitiveType"/>
+        <enum value="0x0006" name="GL_TRIANGLE_FAN" group="PrimitiveType"/>
+        <enum value="0x0007" name="GL_QUADS" group="PrimitiveType"/>
+        <enum value="0x0007" name="GL_QUADS_EXT" group="PrimitiveType"/>
         <enum value="0x0007" name="GL_QUADS_OES"/>
-        <enum value="0x0008" name="GL_QUAD_STRIP"/>
-        <enum value="0x0009" name="GL_POLYGON"/>
-        <enum value="0x000A" name="GL_LINES_ADJACENCY"/>
-        <enum value="0x000A" name="GL_LINES_ADJACENCY_ARB"/>
-        <enum value="0x000A" name="GL_LINES_ADJACENCY_EXT"/>
+        <enum value="0x0008" name="GL_QUAD_STRIP" group="PrimitiveType"/>
+        <enum value="0x0009" name="GL_POLYGON" group="PrimitiveType"/>
+        <enum value="0x000A" name="GL_LINES_ADJACENCY" group="PrimitiveType"/>
+        <enum value="0x000A" name="GL_LINES_ADJACENCY_ARB" group="PrimitiveType"/>
+        <enum value="0x000A" name="GL_LINES_ADJACENCY_EXT" group="PrimitiveType"/>
         <enum value="0x000A" name="GL_LINES_ADJACENCY_OES"/>
-        <enum value="0x000B" name="GL_LINE_STRIP_ADJACENCY"/>
-        <enum value="0x000B" name="GL_LINE_STRIP_ADJACENCY_ARB"/>
-        <enum value="0x000B" name="GL_LINE_STRIP_ADJACENCY_EXT"/>
+        <enum value="0x000B" name="GL_LINE_STRIP_ADJACENCY" group="PrimitiveType"/>
+        <enum value="0x000B" name="GL_LINE_STRIP_ADJACENCY_ARB" group="PrimitiveType"/>
+        <enum value="0x000B" name="GL_LINE_STRIP_ADJACENCY_EXT" group="PrimitiveType"/>
         <enum value="0x000B" name="GL_LINE_STRIP_ADJACENCY_OES"/>
-        <enum value="0x000C" name="GL_TRIANGLES_ADJACENCY"/>
-        <enum value="0x000C" name="GL_TRIANGLES_ADJACENCY_ARB"/>
-        <enum value="0x000C" name="GL_TRIANGLES_ADJACENCY_EXT"/>
+        <enum value="0x000C" name="GL_TRIANGLES_ADJACENCY" group="PrimitiveType"/>
+        <enum value="0x000C" name="GL_TRIANGLES_ADJACENCY_ARB" group="PrimitiveType"/>
+        <enum value="0x000C" name="GL_TRIANGLES_ADJACENCY_EXT" group="PrimitiveType"/>
         <enum value="0x000C" name="GL_TRIANGLES_ADJACENCY_OES"/>
-        <enum value="0x000D" name="GL_TRIANGLE_STRIP_ADJACENCY"/>
-        <enum value="0x000D" name="GL_TRIANGLE_STRIP_ADJACENCY_ARB"/>
-        <enum value="0x000D" name="GL_TRIANGLE_STRIP_ADJACENCY_EXT"/>
+        <enum value="0x000D" name="GL_TRIANGLE_STRIP_ADJACENCY" group="PrimitiveType"/>
+        <enum value="0x000D" name="GL_TRIANGLE_STRIP_ADJACENCY_ARB" group="PrimitiveType"/>
+        <enum value="0x000D" name="GL_TRIANGLE_STRIP_ADJACENCY_EXT" group="PrimitiveType"/>
         <enum value="0x000D" name="GL_TRIANGLE_STRIP_ADJACENCY_OES"/>
-        <enum value="0x000E" name="GL_PATCHES"/>
-        <enum value="0x000E" name="GL_PATCHES_EXT"/>
+        <enum value="0x000E" name="GL_PATCHES" group="PrimitiveType"/>
+        <enum value="0x000E" name="GL_PATCHES_EXT" group="PrimitiveType"/>
         <enum value="0x000E" name="GL_PATCHES_OES"/>
             <unused start="0x000F" end="0x00FF" comment="Unused for PrimitiveType"/>
-        <enum value="0x0100" name="GL_ACCUM"/>
-        <enum value="0x0101" name="GL_LOAD"/>
-        <enum value="0x0102" name="GL_RETURN"/>
-        <enum value="0x0103" name="GL_MULT"/>
-        <enum value="0x0104" name="GL_ADD"/>
+        <enum value="0x0100" name="GL_ACCUM" group="AccumOp"/>
+        <enum value="0x0101" name="GL_LOAD" group="AccumOp"/>
+        <enum value="0x0102" name="GL_RETURN" group="AccumOp"/>
+        <enum value="0x0103" name="GL_MULT" group="AccumOp"/>
+        <enum value="0x0104" name="GL_ADD" group="TextureEnvMode,AccumOp,LightEnvModeSGIX"/>
             <unused start="0x0105" end="0x01FF" comment="Unused for AccumOp"/>
-        <enum value="0x0200" name="GL_NEVER"/>
-        <enum value="0x0201" name="GL_LESS"/>
-        <enum value="0x0202" name="GL_EQUAL"/>
-        <enum value="0x0203" name="GL_LEQUAL"/>
-        <enum value="0x0204" name="GL_GREATER"/>
-        <enum value="0x0205" name="GL_NOTEQUAL"/>
-        <enum value="0x0206" name="GL_GEQUAL"/>
-        <enum value="0x0207" name="GL_ALWAYS"/>
+        <enum value="0x0200" name="GL_NEVER" group="StencilFunction,IndexFunctionEXT,AlphaFunction,DepthFunction"/>
+        <enum value="0x0201" name="GL_LESS" group="StencilFunction,IndexFunctionEXT,AlphaFunction,DepthFunction"/>
+        <enum value="0x0202" name="GL_EQUAL" group="StencilFunction,IndexFunctionEXT,AlphaFunction,DepthFunction"/>
+        <enum value="0x0203" name="GL_LEQUAL" group="StencilFunction,IndexFunctionEXT,AlphaFunction,DepthFunction"/>
+        <enum value="0x0204" name="GL_GREATER" group="StencilFunction,IndexFunctionEXT,AlphaFunction,DepthFunction"/>
+        <enum value="0x0205" name="GL_NOTEQUAL" group="StencilFunction,IndexFunctionEXT,AlphaFunction,DepthFunction"/>
+        <enum value="0x0206" name="GL_GEQUAL" group="StencilFunction,IndexFunctionEXT,AlphaFunction,DepthFunction"/>
+        <enum value="0x0207" name="GL_ALWAYS" group="StencilFunction,IndexFunctionEXT,AlphaFunction,DepthFunction"/>
             <unused start="0x0208" end="0x02FF" comment="Unused for AlphaFunction"/>
-        <enum value="0x0300" name="GL_SRC_COLOR"/>
-        <enum value="0x0301" name="GL_ONE_MINUS_SRC_COLOR"/>
-        <enum value="0x0302" name="GL_SRC_ALPHA"/>
-        <enum value="0x0303" name="GL_ONE_MINUS_SRC_ALPHA"/>
-        <enum value="0x0304" name="GL_DST_ALPHA"/>
-        <enum value="0x0305" name="GL_ONE_MINUS_DST_ALPHA"/>
-        <enum value="0x0306" name="GL_DST_COLOR"/>
-        <enum value="0x0307" name="GL_ONE_MINUS_DST_COLOR"/>
-        <enum value="0x0308" name="GL_SRC_ALPHA_SATURATE"/>
+        <enum value="0x0300" name="GL_SRC_COLOR" group="BlendingFactor"/>
+        <enum value="0x0301" name="GL_ONE_MINUS_SRC_COLOR" group="BlendingFactor"/>
+        <enum value="0x0302" name="GL_SRC_ALPHA" group="BlendingFactor"/>
+        <enum value="0x0303" name="GL_ONE_MINUS_SRC_ALPHA" group="BlendingFactor"/>
+        <enum value="0x0304" name="GL_DST_ALPHA" group="BlendingFactor"/>
+        <enum value="0x0305" name="GL_ONE_MINUS_DST_ALPHA" group="BlendingFactor"/>
+        <enum value="0x0306" name="GL_DST_COLOR" group="BlendingFactor"/>
+        <enum value="0x0307" name="GL_ONE_MINUS_DST_COLOR" group="BlendingFactor"/>
+        <enum value="0x0308" name="GL_SRC_ALPHA_SATURATE" group="BlendingFactor"/>
         <enum value="0x0308" name="GL_SRC_ALPHA_SATURATE_EXT"/>
             <unused start="0x0309" end="0x03FF" comment="Unused for BlendingFactor"/>
-        <enum value="0x0400" name="GL_FRONT_LEFT"/>
-        <enum value="0x0401" name="GL_FRONT_RIGHT"/>
-        <enum value="0x0402" name="GL_BACK_LEFT"/>
-        <enum value="0x0403" name="GL_BACK_RIGHT"/>
-        <enum value="0x0404" name="GL_FRONT"/>
-        <enum value="0x0405" name="GL_BACK"/>
-        <enum value="0x0406" name="GL_LEFT"/>
-        <enum value="0x0407" name="GL_RIGHT"/>
-        <enum value="0x0408" name="GL_FRONT_AND_BACK"/>
-        <enum value="0x0409" name="GL_AUX0"/>
-        <enum value="0x040A" name="GL_AUX1"/>
-        <enum value="0x040B" name="GL_AUX2"/>
-        <enum value="0x040C" name="GL_AUX3"/>
+        <enum value="0x0400" name="GL_FRONT_LEFT" group="ColorBuffer,DrawBufferMode,ReadBufferMode"/>
+        <enum value="0x0401" name="GL_FRONT_RIGHT" group="ColorBuffer,DrawBufferMode,ReadBufferMode"/>
+        <enum value="0x0402" name="GL_BACK_LEFT" group="ColorBuffer,DrawBufferMode,ReadBufferMode"/>
+        <enum value="0x0403" name="GL_BACK_RIGHT" group="ColorBuffer,DrawBufferMode,ReadBufferMode"/>
+        <enum value="0x0404" name="GL_FRONT" group="ColorBuffer,ColorMaterialFace,CullFaceMode,DrawBufferMode,ReadBufferMode,StencilFaceDirection,MaterialFace"/>
+        <enum value="0x0405" name="GL_BACK" group="ColorBuffer,ColorMaterialFace,CullFaceMode,DrawBufferMode,ReadBufferMode,StencilFaceDirection,MaterialFace"/>
+        <enum value="0x0406" name="GL_LEFT" group="ColorBuffer,DrawBufferMode,ReadBufferMode"/>
+        <enum value="0x0407" name="GL_RIGHT" group="ColorBuffer,DrawBufferMode,ReadBufferMode"/>
+        <enum value="0x0408" name="GL_FRONT_AND_BACK" group="ColorBuffer,ColorMaterialFace,CullFaceMode,DrawBufferMode,StencilFaceDirection,MaterialFace"/>
+        <enum value="0x0409" name="GL_AUX0" group="ReadBufferMode,DrawBufferMode"/>
+        <enum value="0x040A" name="GL_AUX1" group="ReadBufferMode,DrawBufferMode"/>
+        <enum value="0x040B" name="GL_AUX2" group="ReadBufferMode,DrawBufferMode"/>
+        <enum value="0x040C" name="GL_AUX3" group="ReadBufferMode,DrawBufferMode"/>
             <unused start="0x040D" end="0x04FF" comment="Unused for DrawBufferMode"/>
-        <enum value="0x0500" name="GL_INVALID_ENUM"/>
-        <enum value="0x0501" name="GL_INVALID_VALUE"/>
-        <enum value="0x0502" name="GL_INVALID_OPERATION"/>
-        <enum value="0x0503" name="GL_STACK_OVERFLOW"/>
+        <enum value="0x0500" name="GL_INVALID_ENUM" group="ErrorCode"/>
+        <enum value="0x0501" name="GL_INVALID_VALUE" group="ErrorCode"/>
+        <enum value="0x0502" name="GL_INVALID_OPERATION" group="ErrorCode"/>
+        <enum value="0x0503" name="GL_STACK_OVERFLOW" group="ErrorCode"/>
         <enum value="0x0503" name="GL_STACK_OVERFLOW_KHR"/>
-        <enum value="0x0504" name="GL_STACK_UNDERFLOW"/>
+        <enum value="0x0504" name="GL_STACK_UNDERFLOW" group="ErrorCode"/>
         <enum value="0x0504" name="GL_STACK_UNDERFLOW_KHR"/>
-        <enum value="0x0505" name="GL_OUT_OF_MEMORY"/>
-        <enum value="0x0506" name="GL_INVALID_FRAMEBUFFER_OPERATION"/>
-        <enum value="0x0506" name="GL_INVALID_FRAMEBUFFER_OPERATION_EXT"/>
-        <enum value="0x0506" name="GL_INVALID_FRAMEBUFFER_OPERATION_OES"/>
+        <enum value="0x0505" name="GL_OUT_OF_MEMORY" group="ErrorCode"/>
+        <enum value="0x0506" name="GL_INVALID_FRAMEBUFFER_OPERATION" group="ErrorCode"/>
+        <enum value="0x0506" name="GL_INVALID_FRAMEBUFFER_OPERATION_EXT" group="ErrorCode"/>
+        <enum value="0x0506" name="GL_INVALID_FRAMEBUFFER_OPERATION_OES" group="ErrorCode"/>
         <enum value="0x0507" name="GL_CONTEXT_LOST"/>
         <enum value="0x0507" name="GL_CONTEXT_LOST_KHR"/>
             <unused start="0x0508" end="0x05FF" comment="Unused for ErrorCode"/>
-        <enum value="0x0600" name="GL_2D"/>
-        <enum value="0x0601" name="GL_3D"/>
-        <enum value="0x0602" name="GL_3D_COLOR"/>
-        <enum value="0x0603" name="GL_3D_COLOR_TEXTURE"/>
-        <enum value="0x0604" name="GL_4D_COLOR_TEXTURE"/>
+        <enum value="0x0600" name="GL_2D" group="FeedbackType"/>
+        <enum value="0x0601" name="GL_3D" group="FeedbackType"/>
+        <enum value="0x0602" name="GL_3D_COLOR" group="FeedbackType"/>
+        <enum value="0x0603" name="GL_3D_COLOR_TEXTURE" group="FeedbackType"/>
+        <enum value="0x0604" name="GL_4D_COLOR_TEXTURE" group="FeedbackType"/>
             <unused start="0x0605" end="0x06FF" comment="Unused for FeedbackType"/>
-        <enum value="0x0700" name="GL_PASS_THROUGH_TOKEN"/>
-        <enum value="0x0701" name="GL_POINT_TOKEN"/>
-        <enum value="0x0702" name="GL_LINE_TOKEN"/>
-        <enum value="0x0703" name="GL_POLYGON_TOKEN"/>
-        <enum value="0x0704" name="GL_BITMAP_TOKEN"/>
-        <enum value="0x0705" name="GL_DRAW_PIXEL_TOKEN"/>
-        <enum value="0x0706" name="GL_COPY_PIXEL_TOKEN"/>
-        <enum value="0x0707" name="GL_LINE_RESET_TOKEN"/>
+        <enum value="0x0700" name="GL_PASS_THROUGH_TOKEN" group="FeedBackToken"/>
+        <enum value="0x0701" name="GL_POINT_TOKEN" group="FeedBackToken"/>
+        <enum value="0x0702" name="GL_LINE_TOKEN" group="FeedBackToken"/>
+        <enum value="0x0703" name="GL_POLYGON_TOKEN" group="FeedBackToken"/>
+        <enum value="0x0704" name="GL_BITMAP_TOKEN" group="FeedBackToken"/>
+        <enum value="0x0705" name="GL_DRAW_PIXEL_TOKEN" group="FeedBackToken"/>
+        <enum value="0x0706" name="GL_COPY_PIXEL_TOKEN" group="FeedBackToken"/>
+        <enum value="0x0707" name="GL_LINE_RESET_TOKEN" group="FeedBackToken"/>
             <unused start="0x0708" end="0x07FF" comment="Unused for FeedbackToken"/>
-        <enum value="0x0800" name="GL_EXP"/>
-        <enum value="0x0801" name="GL_EXP2"/>
+        <enum value="0x0800" name="GL_EXP" group="FogMode"/>
+        <enum value="0x0801" name="GL_EXP2" group="FogMode"/>
             <unused start="0x0802" end="0x08FF" comment="Unused for FogMode"/>
-        <enum value="0x0900" name="GL_CW"/>
-        <enum value="0x0901" name="GL_CCW"/>
+        <enum value="0x0900" name="GL_CW" group="FrontFaceDirection"/>
+        <enum value="0x0901" name="GL_CCW" group="FrontFaceDirection"/>
             <unused start="0x0902" end="0x09FF" comment="Unused for FrontFaceDirection"/>
-        <enum value="0x0A00" name="GL_COEFF"/>
-        <enum value="0x0A01" name="GL_ORDER"/>
-        <enum value="0x0A02" name="GL_DOMAIN"/>
+        <enum value="0x0A00" name="GL_COEFF" group="MapQuery,GetMapQuery"/>
+        <enum value="0x0A01" name="GL_ORDER" group="MapQuery,GetMapQuery"/>
+        <enum value="0x0A02" name="GL_DOMAIN" group="MapQuery,GetMapQuery"/>
             <unused start="0x0A03" end="0x0AFF" comment="Unused for GetMapQuery"/>
-        <enum value="0x0B00" name="GL_CURRENT_COLOR"/>
-        <enum value="0x0B01" name="GL_CURRENT_INDEX"/>
-        <enum value="0x0B02" name="GL_CURRENT_NORMAL"/>
-        <enum value="0x0B03" name="GL_CURRENT_TEXTURE_COORDS"/>
-        <enum value="0x0B04" name="GL_CURRENT_RASTER_COLOR"/>
-        <enum value="0x0B05" name="GL_CURRENT_RASTER_INDEX"/>
-        <enum value="0x0B06" name="GL_CURRENT_RASTER_TEXTURE_COORDS"/>
-        <enum value="0x0B07" name="GL_CURRENT_RASTER_POSITION"/>
-        <enum value="0x0B08" name="GL_CURRENT_RASTER_POSITION_VALID"/>
-        <enum value="0x0B09" name="GL_CURRENT_RASTER_DISTANCE"/>
-
-        <enum value="0x0B10" name="GL_POINT_SMOOTH"/>
-        <enum value="0x0B11" name="GL_POINT_SIZE"/>
-        <enum value="0x0B12" name="GL_POINT_SIZE_RANGE"/>
-        <enum value="0x0B12" name="GL_SMOOTH_POINT_SIZE_RANGE" alias="GL_POINT_SIZE_RANGE"/>
-        <enum value="0x0B13" name="GL_POINT_SIZE_GRANULARITY"/>
-        <enum value="0x0B13" name="GL_SMOOTH_POINT_SIZE_GRANULARITY" alias="GL_POINT_SIZE_GRANULARITY"/>
-
-        <enum value="0x0B20" name="GL_LINE_SMOOTH"/>
-        <enum value="0x0B21" name="GL_LINE_WIDTH"/>
-        <enum value="0x0B22" name="GL_LINE_WIDTH_RANGE"/>
-        <enum value="0x0B22" name="GL_SMOOTH_LINE_WIDTH_RANGE" alias="GL_LINE_WIDTH_RANGE"/>
-        <enum value="0x0B23" name="GL_LINE_WIDTH_GRANULARITY"/>
-        <enum value="0x0B23" name="GL_SMOOTH_LINE_WIDTH_GRANULARITY" alias="GL_LINE_WIDTH_GRANULARITY"/>
-        <enum value="0x0B24" name="GL_LINE_STIPPLE"/>
-        <enum value="0x0B25" name="GL_LINE_STIPPLE_PATTERN"/>
-        <enum value="0x0B26" name="GL_LINE_STIPPLE_REPEAT"/>
-
-        <enum value="0x0B30" name="GL_LIST_MODE"/>
-        <enum value="0x0B31" name="GL_MAX_LIST_NESTING"/>
-        <enum value="0x0B32" name="GL_LIST_BASE"/>
-        <enum value="0x0B33" name="GL_LIST_INDEX"/>
-
-        <enum value="0x0B40" name="GL_POLYGON_MODE"/>
+        <enum value="0x0B00" name="GL_CURRENT_COLOR" group="GetPName"/>
+        <enum value="0x0B01" name="GL_CURRENT_INDEX" group="GetPName"/>
+        <enum value="0x0B02" name="GL_CURRENT_NORMAL" group="GetPName"/>
+        <enum value="0x0B03" name="GL_CURRENT_TEXTURE_COORDS" group="GetPName,VertexShaderTextureUnitParameter"/>
+        <enum value="0x0B04" name="GL_CURRENT_RASTER_COLOR" group="GetPName"/>
+        <enum value="0x0B05" name="GL_CURRENT_RASTER_INDEX" group="GetPName"/>
+        <enum value="0x0B06" name="GL_CURRENT_RASTER_TEXTURE_COORDS" group="GetPName"/>
+        <enum value="0x0B07" name="GL_CURRENT_RASTER_POSITION" group="GetPName"/>
+        <enum value="0x0B08" name="GL_CURRENT_RASTER_POSITION_VALID" group="GetPName"/>
+        <enum value="0x0B09" name="GL_CURRENT_RASTER_DISTANCE" group="GetPName"/>
+
+        <enum value="0x0B10" name="GL_POINT_SMOOTH" group="GetPName,EnableCap"/>
+        <enum value="0x0B11" name="GL_POINT_SIZE" group="GetPName"/>
+        <enum value="0x0B12" name="GL_POINT_SIZE_RANGE" group="GetPName"/>
+        <enum value="0x0B12" name="GL_SMOOTH_POINT_SIZE_RANGE" alias="GL_POINT_SIZE_RANGE" group="GetPName"/>
+        <enum value="0x0B13" name="GL_POINT_SIZE_GRANULARITY" group="GetPName"/>
+        <enum value="0x0B13" name="GL_SMOOTH_POINT_SIZE_GRANULARITY" alias="GL_POINT_SIZE_GRANULARITY" group="GetPName"/>
+
+        <enum value="0x0B20" name="GL_LINE_SMOOTH" group="GetPName,EnableCap"/>
+        <enum value="0x0B21" name="GL_LINE_WIDTH" group="GetPName"/>
+        <enum value="0x0B22" name="GL_LINE_WIDTH_RANGE" group="GetPName"/>
+        <enum value="0x0B22" name="GL_SMOOTH_LINE_WIDTH_RANGE" alias="GL_LINE_WIDTH_RANGE" group="GetPName"/>
+        <enum value="0x0B23" name="GL_LINE_WIDTH_GRANULARITY" group="GetPName"/>
+        <enum value="0x0B23" name="GL_SMOOTH_LINE_WIDTH_GRANULARITY" alias="GL_LINE_WIDTH_GRANULARITY" group="GetPName"/>
+        <enum value="0x0B24" name="GL_LINE_STIPPLE" group="GetPName,EnableCap"/>
+        <enum value="0x0B25" name="GL_LINE_STIPPLE_PATTERN" group="GetPName"/>
+        <enum value="0x0B26" name="GL_LINE_STIPPLE_REPEAT" group="GetPName"/>
+
+        <enum value="0x0B30" name="GL_LIST_MODE" group="GetPName"/>
+        <enum value="0x0B31" name="GL_MAX_LIST_NESTING" group="GetPName"/>
+        <enum value="0x0B32" name="GL_LIST_BASE" group="GetPName"/>
+        <enum value="0x0B33" name="GL_LIST_INDEX" group="GetPName"/>
+
+        <enum value="0x0B40" name="GL_POLYGON_MODE" group="GetPName"/>
         <enum value="0x0B40" name="GL_POLYGON_MODE_NV"/>
-        <enum value="0x0B41" name="GL_POLYGON_SMOOTH"/>
-        <enum value="0x0B42" name="GL_POLYGON_STIPPLE"/>
-        <enum value="0x0B43" name="GL_EDGE_FLAG"/>
-        <enum value="0x0B44" name="GL_CULL_FACE"/>
-        <enum value="0x0B45" name="GL_CULL_FACE_MODE"/>
-        <enum value="0x0B46" name="GL_FRONT_FACE"/>
-
-        <enum value="0x0B50" name="GL_LIGHTING"/>
-        <enum value="0x0B51" name="GL_LIGHT_MODEL_LOCAL_VIEWER"/>
-        <enum value="0x0B52" name="GL_LIGHT_MODEL_TWO_SIDE"/>
-        <enum value="0x0B53" name="GL_LIGHT_MODEL_AMBIENT"/>
-        <enum value="0x0B54" name="GL_SHADE_MODEL"/>
-        <enum value="0x0B55" name="GL_COLOR_MATERIAL_FACE"/>
-        <enum value="0x0B56" name="GL_COLOR_MATERIAL_PARAMETER"/>
-        <enum value="0x0B57" name="GL_COLOR_MATERIAL"/>
-
-        <enum value="0x0B60" name="GL_FOG"/>
-        <enum value="0x0B61" name="GL_FOG_INDEX"/>
-        <enum value="0x0B62" name="GL_FOG_DENSITY"/>
-        <enum value="0x0B63" name="GL_FOG_START"/>
-        <enum value="0x0B64" name="GL_FOG_END"/>
-        <enum value="0x0B65" name="GL_FOG_MODE"/>
-        <enum value="0x0B66" name="GL_FOG_COLOR"/>
-
-        <enum value="0x0B70" name="GL_DEPTH_RANGE"/>
-        <enum value="0x0B71" name="GL_DEPTH_TEST"/>
-        <enum value="0x0B72" name="GL_DEPTH_WRITEMASK"/>
-        <enum value="0x0B73" name="GL_DEPTH_CLEAR_VALUE"/>
-        <enum value="0x0B74" name="GL_DEPTH_FUNC"/>
-
-        <enum value="0x0B80" name="GL_ACCUM_CLEAR_VALUE"/>
-
-        <enum value="0x0B90" name="GL_STENCIL_TEST"/>
-        <enum value="0x0B91" name="GL_STENCIL_CLEAR_VALUE"/>
-        <enum value="0x0B92" name="GL_STENCIL_FUNC"/>
-        <enum value="0x0B93" name="GL_STENCIL_VALUE_MASK"/>
-        <enum value="0x0B94" name="GL_STENCIL_FAIL"/>
-        <enum value="0x0B95" name="GL_STENCIL_PASS_DEPTH_FAIL"/>
-        <enum value="0x0B96" name="GL_STENCIL_PASS_DEPTH_PASS"/>
-        <enum value="0x0B97" name="GL_STENCIL_REF"/>
-        <enum value="0x0B98" name="GL_STENCIL_WRITEMASK"/>
-
-        <enum value="0x0BA0" name="GL_MATRIX_MODE"/>
-        <enum value="0x0BA1" name="GL_NORMALIZE"/>
-        <enum value="0x0BA2" name="GL_VIEWPORT"/>
-        <enum value="0x0BA3" name="GL_MODELVIEW_STACK_DEPTH"/>
-        <enum value="0x0BA3" name="GL_MODELVIEW0_STACK_DEPTH_EXT"/>
+        <enum value="0x0B41" name="GL_POLYGON_SMOOTH" group="GetPName,EnableCap"/>
+        <enum value="0x0B42" name="GL_POLYGON_STIPPLE" group="GetPName,EnableCap"/>
+        <enum value="0x0B43" name="GL_EDGE_FLAG" group="GetPName"/>
+        <enum value="0x0B44" name="GL_CULL_FACE" group="GetPName,EnableCap"/>
+        <enum value="0x0B45" name="GL_CULL_FACE_MODE" group="GetPName"/>
+        <enum value="0x0B46" name="GL_FRONT_FACE" group="GetPName"/>
+
+        <enum value="0x0B50" name="GL_LIGHTING" group="GetPName,EnableCap"/>
+        <enum value="0x0B51" name="GL_LIGHT_MODEL_LOCAL_VIEWER" group="LightModelParameter,GetPName"/>
+        <enum value="0x0B52" name="GL_LIGHT_MODEL_TWO_SIDE" group="LightModelParameter,GetPName"/>
+        <enum value="0x0B53" name="GL_LIGHT_MODEL_AMBIENT" group="LightModelParameter,GetPName"/>
+        <enum value="0x0B54" name="GL_SHADE_MODEL" group="GetPName"/>
+        <enum value="0x0B55" name="GL_COLOR_MATERIAL_FACE" group="GetPName"/>
+        <enum value="0x0B56" name="GL_COLOR_MATERIAL_PARAMETER" group="GetPName"/>
+        <enum value="0x0B57" name="GL_COLOR_MATERIAL" group="GetPName,EnableCap"/>
+
+        <enum value="0x0B60" name="GL_FOG" group="GetPName,EnableCap"/>
+        <enum value="0x0B61" name="GL_FOG_INDEX" group="FogPName,FogParameter,GetPName"/>
+        <enum value="0x0B62" name="GL_FOG_DENSITY" group="FogPName,FogParameter,GetPName"/>
+        <enum value="0x0B63" name="GL_FOG_START" group="FogPName,FogParameter,GetPName"/>
+        <enum value="0x0B64" name="GL_FOG_END" group="FogPName,FogParameter,GetPName"/>
+        <enum value="0x0B65" name="GL_FOG_MODE" group="FogPName,FogParameter,GetPName"/>
+        <enum value="0x0B66" name="GL_FOG_COLOR" group="GetPName,FogParameter"/>
+
+        <enum value="0x0B70" name="GL_DEPTH_RANGE" group="GetPName"/>
+        <enum value="0x0B71" name="GL_DEPTH_TEST" group="GetPName,EnableCap"/>
+        <enum value="0x0B72" name="GL_DEPTH_WRITEMASK" group="GetPName"/>
+        <enum value="0x0B73" name="GL_DEPTH_CLEAR_VALUE" group="GetPName"/>
+        <enum value="0x0B74" name="GL_DEPTH_FUNC" group="GetPName"/>
+
+        <enum value="0x0B80" name="GL_ACCUM_CLEAR_VALUE" group="GetPName"/>
+
+        <enum value="0x0B90" name="GL_STENCIL_TEST" group="GetPName,EnableCap"/>
+        <enum value="0x0B91" name="GL_STENCIL_CLEAR_VALUE" group="GetPName"/>
+        <enum value="0x0B92" name="GL_STENCIL_FUNC" group="GetPName"/>
+        <enum value="0x0B93" name="GL_STENCIL_VALUE_MASK" group="GetPName"/>
+        <enum value="0x0B94" name="GL_STENCIL_FAIL" group="GetPName"/>
+        <enum value="0x0B95" name="GL_STENCIL_PASS_DEPTH_FAIL" group="GetPName"/>
+        <enum value="0x0B96" name="GL_STENCIL_PASS_DEPTH_PASS" group="GetPName"/>
+        <enum value="0x0B97" name="GL_STENCIL_REF" group="GetPName"/>
+        <enum value="0x0B98" name="GL_STENCIL_WRITEMASK" group="GetPName"/>
+
+        <enum value="0x0BA0" name="GL_MATRIX_MODE" group="GetPName"/>
+        <enum value="0x0BA1" name="GL_NORMALIZE" group="GetPName,EnableCap"/>
+        <enum value="0x0BA2" name="GL_VIEWPORT" group="GetPName"/>
+        <enum value="0x0BA3" name="GL_MODELVIEW_STACK_DEPTH" group="GetPName"/>
+        <enum value="0x0BA3" name="GL_MODELVIEW0_STACK_DEPTH_EXT" group="GetPName"/>
         <enum value="0x0BA3" name="GL_PATH_MODELVIEW_STACK_DEPTH_NV"/>
-        <enum value="0x0BA4" name="GL_PROJECTION_STACK_DEPTH"/>
+        <enum value="0x0BA4" name="GL_PROJECTION_STACK_DEPTH" group="GetPName"/>
         <enum value="0x0BA4" name="GL_PATH_PROJECTION_STACK_DEPTH_NV"/>
-        <enum value="0x0BA5" name="GL_TEXTURE_STACK_DEPTH"/>
-        <enum value="0x0BA6" name="GL_MODELVIEW_MATRIX"/>
-        <enum value="0x0BA6" name="GL_MODELVIEW0_MATRIX_EXT"/>
+        <enum value="0x0BA5" name="GL_TEXTURE_STACK_DEPTH" group="GetPName"/>
+        <enum value="0x0BA6" name="GL_MODELVIEW_MATRIX" group="GetPName"/>
+        <enum value="0x0BA6" name="GL_MODELVIEW0_MATRIX_EXT" group="GetPName"/>
         <enum value="0x0BA6" name="GL_PATH_MODELVIEW_MATRIX_NV"/>
-        <enum value="0x0BA7" name="GL_PROJECTION_MATRIX"/>
+        <enum value="0x0BA7" name="GL_PROJECTION_MATRIX" group="GetPName"/>
         <enum value="0x0BA7" name="GL_PATH_PROJECTION_MATRIX_NV"/>
-        <enum value="0x0BA8" name="GL_TEXTURE_MATRIX"/>
-
-        <enum value="0x0BB0" name="GL_ATTRIB_STACK_DEPTH"/>
-        <enum value="0x0BB1" name="GL_CLIENT_ATTRIB_STACK_DEPTH"/>
-
-        <enum value="0x0BC0" name="GL_ALPHA_TEST"/>
-        <enum value="0x0BC0" name="GL_ALPHA_TEST_QCOM"/>
-        <enum value="0x0BC1" name="GL_ALPHA_TEST_FUNC"/>
-        <enum value="0x0BC1" name="GL_ALPHA_TEST_FUNC_QCOM"/>
-        <enum value="0x0BC2" name="GL_ALPHA_TEST_REF"/>
-        <enum value="0x0BC2" name="GL_ALPHA_TEST_REF_QCOM"/>
-
-        <enum value="0x0BD0" name="GL_DITHER"/>
-
-        <enum value="0x0BE0" name="GL_BLEND_DST"/>
-        <enum value="0x0BE1" name="GL_BLEND_SRC"/>
-        <enum value="0x0BE2" name="GL_BLEND"/>
-
-        <enum value="0x0BF0" name="GL_LOGIC_OP_MODE"/>
-        <enum value="0x0BF1" name="GL_INDEX_LOGIC_OP"/>
-        <enum value="0x0BF1" name="GL_LOGIC_OP"/>
-        <enum value="0x0BF2" name="GL_COLOR_LOGIC_OP"/>
-
-        <enum value="0x0C00" name="GL_AUX_BUFFERS"/>
-        <enum value="0x0C01" name="GL_DRAW_BUFFER"/>
-        <enum value="0x0C01" name="GL_DRAW_BUFFER_EXT"/>
-        <enum value="0x0C02" name="GL_READ_BUFFER"/>
-        <enum value="0x0C02" name="GL_READ_BUFFER_EXT"/>
-        <enum value="0x0C02" name="GL_READ_BUFFER_NV"/>
-
-        <enum value="0x0C10" name="GL_SCISSOR_BOX"/>
-        <enum value="0x0C11" name="GL_SCISSOR_TEST"/>
-
-        <enum value="0x0C20" name="GL_INDEX_CLEAR_VALUE"/>
-        <enum value="0x0C21" name="GL_INDEX_WRITEMASK"/>
-        <enum value="0x0C22" name="GL_COLOR_CLEAR_VALUE"/>
-        <enum value="0x0C23" name="GL_COLOR_WRITEMASK"/>
-
-        <enum value="0x0C30" name="GL_INDEX_MODE"/>
-        <enum value="0x0C31" name="GL_RGBA_MODE"/>
-        <enum value="0x0C32" name="GL_DOUBLEBUFFER"/>
-        <enum value="0x0C33" name="GL_STEREO"/>
-
-        <enum value="0x0C40" name="GL_RENDER_MODE"/>
-
-        <enum value="0x0C50" name="GL_PERSPECTIVE_CORRECTION_HINT"/>
-        <enum value="0x0C51" name="GL_POINT_SMOOTH_HINT"/>
-        <enum value="0x0C52" name="GL_LINE_SMOOTH_HINT"/>
-        <enum value="0x0C53" name="GL_POLYGON_SMOOTH_HINT"/>
-        <enum value="0x0C54" name="GL_FOG_HINT"/>
-
-        <enum value="0x0C60" name="GL_TEXTURE_GEN_S"/>
-        <enum value="0x0C61" name="GL_TEXTURE_GEN_T"/>
-        <enum value="0x0C62" name="GL_TEXTURE_GEN_R"/>
-        <enum value="0x0C63" name="GL_TEXTURE_GEN_Q"/>
-
-        <enum value="0x0C70" name="GL_PIXEL_MAP_I_TO_I"/>
-        <enum value="0x0C71" name="GL_PIXEL_MAP_S_TO_S"/>
-        <enum value="0x0C72" name="GL_PIXEL_MAP_I_TO_R"/>
-        <enum value="0x0C73" name="GL_PIXEL_MAP_I_TO_G"/>
-        <enum value="0x0C74" name="GL_PIXEL_MAP_I_TO_B"/>
-        <enum value="0x0C75" name="GL_PIXEL_MAP_I_TO_A"/>
-        <enum value="0x0C76" name="GL_PIXEL_MAP_R_TO_R"/>
-        <enum value="0x0C77" name="GL_PIXEL_MAP_G_TO_G"/>
-        <enum value="0x0C78" name="GL_PIXEL_MAP_B_TO_B"/>
-        <enum value="0x0C79" name="GL_PIXEL_MAP_A_TO_A"/>
-
-        <enum value="0x0CB0" name="GL_PIXEL_MAP_I_TO_I_SIZE"/>
-        <enum value="0x0CB1" name="GL_PIXEL_MAP_S_TO_S_SIZE"/>
-        <enum value="0x0CB2" name="GL_PIXEL_MAP_I_TO_R_SIZE"/>
-        <enum value="0x0CB3" name="GL_PIXEL_MAP_I_TO_G_SIZE"/>
-        <enum value="0x0CB4" name="GL_PIXEL_MAP_I_TO_B_SIZE"/>
-        <enum value="0x0CB5" name="GL_PIXEL_MAP_I_TO_A_SIZE"/>
-        <enum value="0x0CB6" name="GL_PIXEL_MAP_R_TO_R_SIZE"/>
-        <enum value="0x0CB7" name="GL_PIXEL_MAP_G_TO_G_SIZE"/>
-        <enum value="0x0CB8" name="GL_PIXEL_MAP_B_TO_B_SIZE"/>
-        <enum value="0x0CB9" name="GL_PIXEL_MAP_A_TO_A_SIZE"/>
-
-        <enum value="0x0CF0" name="GL_UNPACK_SWAP_BYTES"/>
-        <enum value="0x0CF1" name="GL_UNPACK_LSB_FIRST"/>
-        <enum value="0x0CF2" name="GL_UNPACK_ROW_LENGTH"/>
-        <enum value="0x0CF2" name="GL_UNPACK_ROW_LENGTH_EXT"/>
-        <enum value="0x0CF3" name="GL_UNPACK_SKIP_ROWS"/>
-        <enum value="0x0CF3" name="GL_UNPACK_SKIP_ROWS_EXT"/>
-        <enum value="0x0CF4" name="GL_UNPACK_SKIP_PIXELS"/>
-        <enum value="0x0CF4" name="GL_UNPACK_SKIP_PIXELS_EXT"/>
-        <enum value="0x0CF5" name="GL_UNPACK_ALIGNMENT"/>
-
-        <enum value="0x0D00" name="GL_PACK_SWAP_BYTES"/>
-        <enum value="0x0D01" name="GL_PACK_LSB_FIRST"/>
-        <enum value="0x0D02" name="GL_PACK_ROW_LENGTH"/>
-        <enum value="0x0D03" name="GL_PACK_SKIP_ROWS"/>
-        <enum value="0x0D04" name="GL_PACK_SKIP_PIXELS"/>
-        <enum value="0x0D05" name="GL_PACK_ALIGNMENT"/>
-
-        <enum value="0x0D10" name="GL_MAP_COLOR"/>
-        <enum value="0x0D11" name="GL_MAP_STENCIL"/>
-        <enum value="0x0D12" name="GL_INDEX_SHIFT"/>
-        <enum value="0x0D13" name="GL_INDEX_OFFSET"/>
-        <enum value="0x0D14" name="GL_RED_SCALE"/>
-        <enum value="0x0D15" name="GL_RED_BIAS"/>
-        <enum value="0x0D16" name="GL_ZOOM_X"/>
-        <enum value="0x0D17" name="GL_ZOOM_Y"/>
-        <enum value="0x0D18" name="GL_GREEN_SCALE"/>
-        <enum value="0x0D19" name="GL_GREEN_BIAS"/>
-        <enum value="0x0D1A" name="GL_BLUE_SCALE"/>
-        <enum value="0x0D1B" name="GL_BLUE_BIAS"/>
-        <enum value="0x0D1C" name="GL_ALPHA_SCALE"/>
-        <enum value="0x0D1D" name="GL_ALPHA_BIAS"/>
-        <enum value="0x0D1E" name="GL_DEPTH_SCALE"/>
-        <enum value="0x0D1F" name="GL_DEPTH_BIAS"/>
-
-        <enum value="0x0D30" name="GL_MAX_EVAL_ORDER"/>
-        <enum value="0x0D31" name="GL_MAX_LIGHTS"/>
-        <enum value="0x0D32" name="GL_MAX_CLIP_PLANES"/>
+        <enum value="0x0BA8" name="GL_TEXTURE_MATRIX" group="GetPName,VertexShaderTextureUnitParameter"/>
+
+        <enum value="0x0BB0" name="GL_ATTRIB_STACK_DEPTH" group="GetPName"/>
+        <enum value="0x0BB1" name="GL_CLIENT_ATTRIB_STACK_DEPTH" group="GetPName"/>
+
+        <enum value="0x0BC0" name="GL_ALPHA_TEST" group="GetPName,EnableCap"/>
+        <enum value="0x0BC0" name="GL_ALPHA_TEST_QCOM" group="GetPName"/>
+        <enum value="0x0BC1" name="GL_ALPHA_TEST_FUNC" group="GetPName"/>
+        <enum value="0x0BC1" name="GL_ALPHA_TEST_FUNC_QCOM" group="GetPName"/>
+        <enum value="0x0BC2" name="GL_ALPHA_TEST_REF" group="GetPName"/>
+        <enum value="0x0BC2" name="GL_ALPHA_TEST_REF_QCOM" group="GetPName"/>
+
+        <enum value="0x0BD0" name="GL_DITHER" group="GetPName,EnableCap"/>
+
+        <enum value="0x0BE0" name="GL_BLEND_DST" group="GetPName"/>
+        <enum value="0x0BE1" name="GL_BLEND_SRC" group="GetPName"/>
+        <enum value="0x0BE2" name="GL_BLEND" group="TextureEnvMode,EnableCap,GetPName"/>
+
+        <enum value="0x0BF0" name="GL_LOGIC_OP_MODE" group="GetPName"/>
+        <enum value="0x0BF1" name="GL_INDEX_LOGIC_OP" group="GetPName,EnableCap"/>
+        <enum value="0x0BF1" name="GL_LOGIC_OP" group="GetPName"/>
+        <enum value="0x0BF2" name="GL_COLOR_LOGIC_OP" group="GetPName,EnableCap"/>
+
+        <enum value="0x0C00" name="GL_AUX_BUFFERS" group="GetPName"/>
+        <enum value="0x0C01" name="GL_DRAW_BUFFER" group="GetPName"/>
+        <enum value="0x0C01" name="GL_DRAW_BUFFER_EXT" group="GetPName"/>
+        <enum value="0x0C02" name="GL_READ_BUFFER" group="GetPName"/>
+        <enum value="0x0C02" name="GL_READ_BUFFER_EXT" group="GetPName"/>
+        <enum value="0x0C02" name="GL_READ_BUFFER_NV" group="GetPName"/>
+
+        <enum value="0x0C10" name="GL_SCISSOR_BOX" group="GetPName"/>
+        <enum value="0x0C11" name="GL_SCISSOR_TEST" group="GetPName,EnableCap"/>
+
+        <enum value="0x0C20" name="GL_INDEX_CLEAR_VALUE" group="GetPName"/>
+        <enum value="0x0C21" name="GL_INDEX_WRITEMASK" group="GetPName"/>
+        <enum value="0x0C22" name="GL_COLOR_CLEAR_VALUE" group="GetPName"/>
+        <enum value="0x0C23" name="GL_COLOR_WRITEMASK" group="GetPName"/>
+
+        <enum value="0x0C30" name="GL_INDEX_MODE" group="GetPName"/>
+        <enum value="0x0C31" name="GL_RGBA_MODE" group="GetPName"/>
+        <enum value="0x0C32" name="GL_DOUBLEBUFFER" group="GetFramebufferParameter,GetPName"/>
+        <enum value="0x0C33" name="GL_STEREO" group="GetFramebufferParameter,GetPName"/>
+
+        <enum value="0x0C40" name="GL_RENDER_MODE" group="GetPName"/>
+
+        <enum value="0x0C50" name="GL_PERSPECTIVE_CORRECTION_HINT" group="HintTarget,GetPName"/>
+        <enum value="0x0C51" name="GL_POINT_SMOOTH_HINT" group="HintTarget,GetPName"/>
+        <enum value="0x0C52" name="GL_LINE_SMOOTH_HINT" group="HintTarget,GetPName"/>
+        <enum value="0x0C53" name="GL_POLYGON_SMOOTH_HINT" group="HintTarget,GetPName"/>
+        <enum value="0x0C54" name="GL_FOG_HINT" group="HintTarget,GetPName"/>
+
+        <enum value="0x0C60" name="GL_TEXTURE_GEN_S" group="GetPName,EnableCap"/>
+        <enum value="0x0C61" name="GL_TEXTURE_GEN_T" group="GetPName,EnableCap"/>
+        <enum value="0x0C62" name="GL_TEXTURE_GEN_R" group="GetPName,EnableCap"/>
+        <enum value="0x0C63" name="GL_TEXTURE_GEN_Q" group="GetPName,EnableCap"/>
+
+        <enum value="0x0C70" name="GL_PIXEL_MAP_I_TO_I" group="PixelMap,GetPixelMap"/>
+        <enum value="0x0C71" name="GL_PIXEL_MAP_S_TO_S" group="PixelMap,GetPixelMap"/>
+        <enum value="0x0C72" name="GL_PIXEL_MAP_I_TO_R" group="PixelMap,GetPixelMap"/>
+        <enum value="0x0C73" name="GL_PIXEL_MAP_I_TO_G" group="PixelMap,GetPixelMap"/>
+        <enum value="0x0C74" name="GL_PIXEL_MAP_I_TO_B" group="PixelMap,GetPixelMap"/>
+        <enum value="0x0C75" name="GL_PIXEL_MAP_I_TO_A" group="PixelMap,GetPixelMap"/>
+        <enum value="0x0C76" name="GL_PIXEL_MAP_R_TO_R" group="PixelMap,GetPixelMap"/>
+        <enum value="0x0C77" name="GL_PIXEL_MAP_G_TO_G" group="PixelMap,GetPixelMap"/>
+        <enum value="0x0C78" name="GL_PIXEL_MAP_B_TO_B" group="PixelMap,GetPixelMap"/>
+        <enum value="0x0C79" name="GL_PIXEL_MAP_A_TO_A" group="PixelMap,GetPixelMap"/>
+
+        <enum value="0x0CB0" name="GL_PIXEL_MAP_I_TO_I_SIZE" group="GetPName"/>
+        <enum value="0x0CB1" name="GL_PIXEL_MAP_S_TO_S_SIZE" group="GetPName"/>
+        <enum value="0x0CB2" name="GL_PIXEL_MAP_I_TO_R_SIZE" group="GetPName"/>
+        <enum value="0x0CB3" name="GL_PIXEL_MAP_I_TO_G_SIZE" group="GetPName"/>
+        <enum value="0x0CB4" name="GL_PIXEL_MAP_I_TO_B_SIZE" group="GetPName"/>
+        <enum value="0x0CB5" name="GL_PIXEL_MAP_I_TO_A_SIZE" group="GetPName"/>
+        <enum value="0x0CB6" name="GL_PIXEL_MAP_R_TO_R_SIZE" group="GetPName"/>
+        <enum value="0x0CB7" name="GL_PIXEL_MAP_G_TO_G_SIZE" group="GetPName"/>
+        <enum value="0x0CB8" name="GL_PIXEL_MAP_B_TO_B_SIZE" group="GetPName"/>
+        <enum value="0x0CB9" name="GL_PIXEL_MAP_A_TO_A_SIZE" group="GetPName"/>
+
+        <enum value="0x0CF0" name="GL_UNPACK_SWAP_BYTES" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x0CF1" name="GL_UNPACK_LSB_FIRST" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x0CF2" name="GL_UNPACK_ROW_LENGTH" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x0CF2" name="GL_UNPACK_ROW_LENGTH_EXT" group="PixelStoreParameter"/>
+        <enum value="0x0CF3" name="GL_UNPACK_SKIP_ROWS" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x0CF3" name="GL_UNPACK_SKIP_ROWS_EXT" group="PixelStoreParameter"/>
+        <enum value="0x0CF4" name="GL_UNPACK_SKIP_PIXELS" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x0CF4" name="GL_UNPACK_SKIP_PIXELS_EXT" group="PixelStoreParameter"/>
+        <enum value="0x0CF5" name="GL_UNPACK_ALIGNMENT" group="PixelStoreParameter,GetPName"/>
+
+        <enum value="0x0D00" name="GL_PACK_SWAP_BYTES" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x0D01" name="GL_PACK_LSB_FIRST" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x0D02" name="GL_PACK_ROW_LENGTH" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x0D03" name="GL_PACK_SKIP_ROWS" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x0D04" name="GL_PACK_SKIP_PIXELS" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x0D05" name="GL_PACK_ALIGNMENT" group="PixelStoreParameter,GetPName"/>
+
+        <enum value="0x0D10" name="GL_MAP_COLOR" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x0D11" name="GL_MAP_STENCIL" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x0D12" name="GL_INDEX_SHIFT" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x0D13" name="GL_INDEX_OFFSET" group="PixelTransferParameter,IndexMaterialParameterEXT,GetPName"/>
+        <enum value="0x0D14" name="GL_RED_SCALE" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x0D15" name="GL_RED_BIAS" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x0D16" name="GL_ZOOM_X" group="GetPName"/>
+        <enum value="0x0D17" name="GL_ZOOM_Y" group="GetPName"/>
+        <enum value="0x0D18" name="GL_GREEN_SCALE" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x0D19" name="GL_GREEN_BIAS" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x0D1A" name="GL_BLUE_SCALE" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x0D1B" name="GL_BLUE_BIAS" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x0D1C" name="GL_ALPHA_SCALE" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x0D1D" name="GL_ALPHA_BIAS" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x0D1E" name="GL_DEPTH_SCALE" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x0D1F" name="GL_DEPTH_BIAS" group="PixelTransferParameter,GetPName"/>
+
+        <enum value="0x0D30" name="GL_MAX_EVAL_ORDER" group="GetPName"/>
+        <enum value="0x0D31" name="GL_MAX_LIGHTS" group="GetPName"/>
+        <enum value="0x0D32" name="GL_MAX_CLIP_PLANES" group="GetPName"/>
         <enum value="0x0D32" name="GL_MAX_CLIP_PLANES_IMG"/>
-        <enum value="0x0D32" name="GL_MAX_CLIP_DISTANCES" alias="GL_MAX_CLIP_PLANES"/>
+        <enum value="0x0D32" name="GL_MAX_CLIP_DISTANCES" alias="GL_MAX_CLIP_PLANES" group="GetPName"/>
         <enum value="0x0D32" name="GL_MAX_CLIP_DISTANCES_EXT" alias="GL_MAX_CLIP_PLANES"/>
         <enum value="0x0D32" name="GL_MAX_CLIP_DISTANCES_APPLE"/>
-        <enum value="0x0D33" name="GL_MAX_TEXTURE_SIZE"/>
-        <enum value="0x0D34" name="GL_MAX_PIXEL_MAP_TABLE"/>
-        <enum value="0x0D35" name="GL_MAX_ATTRIB_STACK_DEPTH"/>
-        <enum value="0x0D36" name="GL_MAX_MODELVIEW_STACK_DEPTH"/>
+        <enum value="0x0D33" name="GL_MAX_TEXTURE_SIZE" group="GetPName"/>
+        <enum value="0x0D34" name="GL_MAX_PIXEL_MAP_TABLE" group="GetPName"/>
+        <enum value="0x0D35" name="GL_MAX_ATTRIB_STACK_DEPTH" group="GetPName"/>
+        <enum value="0x0D36" name="GL_MAX_MODELVIEW_STACK_DEPTH" group="GetPName"/>
         <enum value="0x0D36" name="GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV"/>
-        <enum value="0x0D37" name="GL_MAX_NAME_STACK_DEPTH"/>
-        <enum value="0x0D38" name="GL_MAX_PROJECTION_STACK_DEPTH"/>
+        <enum value="0x0D37" name="GL_MAX_NAME_STACK_DEPTH" group="GetPName"/>
+        <enum value="0x0D38" name="GL_MAX_PROJECTION_STACK_DEPTH" group="GetPName"/>
         <enum value="0x0D38" name="GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV"/>
-        <enum value="0x0D39" name="GL_MAX_TEXTURE_STACK_DEPTH"/>
-        <enum value="0x0D3A" name="GL_MAX_VIEWPORT_DIMS"/>
-        <enum value="0x0D3B" name="GL_MAX_CLIENT_ATTRIB_STACK_DEPTH"/>
-
-        <enum value="0x0D50" name="GL_SUBPIXEL_BITS"/>
-        <enum value="0x0D51" name="GL_INDEX_BITS"/>
-        <enum value="0x0D52" name="GL_RED_BITS"/>
-        <enum value="0x0D53" name="GL_GREEN_BITS"/>
-        <enum value="0x0D54" name="GL_BLUE_BITS"/>
-        <enum value="0x0D55" name="GL_ALPHA_BITS"/>
-        <enum value="0x0D56" name="GL_DEPTH_BITS"/>
-        <enum value="0x0D57" name="GL_STENCIL_BITS"/>
-        <enum value="0x0D58" name="GL_ACCUM_RED_BITS"/>
-        <enum value="0x0D59" name="GL_ACCUM_GREEN_BITS"/>
-        <enum value="0x0D5A" name="GL_ACCUM_BLUE_BITS"/>
-        <enum value="0x0D5B" name="GL_ACCUM_ALPHA_BITS"/>
-
-        <enum value="0x0D70" name="GL_NAME_STACK_DEPTH"/>
-
-        <enum value="0x0D80" name="GL_AUTO_NORMAL"/>
-
-        <enum value="0x0D90" name="GL_MAP1_COLOR_4"/>
-        <enum value="0x0D91" name="GL_MAP1_INDEX"/>
-        <enum value="0x0D92" name="GL_MAP1_NORMAL"/>
-        <enum value="0x0D93" name="GL_MAP1_TEXTURE_COORD_1"/>
-        <enum value="0x0D94" name="GL_MAP1_TEXTURE_COORD_2"/>
-        <enum value="0x0D95" name="GL_MAP1_TEXTURE_COORD_3"/>
-        <enum value="0x0D96" name="GL_MAP1_TEXTURE_COORD_4"/>
-        <enum value="0x0D97" name="GL_MAP1_VERTEX_3"/>
-        <enum value="0x0D98" name="GL_MAP1_VERTEX_4"/>
-
-        <enum value="0x0DB0" name="GL_MAP2_COLOR_4"/>
-        <enum value="0x0DB1" name="GL_MAP2_INDEX"/>
-        <enum value="0x0DB2" name="GL_MAP2_NORMAL"/>
-        <enum value="0x0DB3" name="GL_MAP2_TEXTURE_COORD_1"/>
-        <enum value="0x0DB4" name="GL_MAP2_TEXTURE_COORD_2"/>
-        <enum value="0x0DB5" name="GL_MAP2_TEXTURE_COORD_3"/>
-        <enum value="0x0DB6" name="GL_MAP2_TEXTURE_COORD_4"/>
-        <enum value="0x0DB7" name="GL_MAP2_VERTEX_3"/>
-        <enum value="0x0DB8" name="GL_MAP2_VERTEX_4"/>
-
-        <enum value="0x0DD0" name="GL_MAP1_GRID_DOMAIN"/>
-        <enum value="0x0DD1" name="GL_MAP1_GRID_SEGMENTS"/>
-        <enum value="0x0DD2" name="GL_MAP2_GRID_DOMAIN"/>
-        <enum value="0x0DD3" name="GL_MAP2_GRID_SEGMENTS"/>
-
-        <enum value="0x0DE0" name="GL_TEXTURE_1D"/>
-        <enum value="0x0DE1" name="GL_TEXTURE_2D"/>
-
-        <enum value="0x0DF0" name="GL_FEEDBACK_BUFFER_POINTER"/>
-        <enum value="0x0DF1" name="GL_FEEDBACK_BUFFER_SIZE"/>
-        <enum value="0x0DF2" name="GL_FEEDBACK_BUFFER_TYPE"/>
-        <enum value="0x0DF3" name="GL_SELECTION_BUFFER_POINTER"/>
-        <enum value="0x0DF4" name="GL_SELECTION_BUFFER_SIZE"/>
+        <enum value="0x0D39" name="GL_MAX_TEXTURE_STACK_DEPTH" group="GetPName"/>
+        <enum value="0x0D3A" name="GL_MAX_VIEWPORT_DIMS" group="GetPName"/>
+        <enum value="0x0D3B" name="GL_MAX_CLIENT_ATTRIB_STACK_DEPTH" group="GetPName"/>
+
+        <enum value="0x0D50" name="GL_SUBPIXEL_BITS" group="GetPName"/>
+        <enum value="0x0D51" name="GL_INDEX_BITS" group="GetPName"/>
+        <enum value="0x0D52" name="GL_RED_BITS" group="GetPName"/>
+        <enum value="0x0D53" name="GL_GREEN_BITS" group="GetPName"/>
+        <enum value="0x0D54" name="GL_BLUE_BITS" group="GetPName"/>
+        <enum value="0x0D55" name="GL_ALPHA_BITS" group="GetPName"/>
+        <enum value="0x0D56" name="GL_DEPTH_BITS" group="GetPName"/>
+        <enum value="0x0D57" name="GL_STENCIL_BITS" group="GetPName"/>
+        <enum value="0x0D58" name="GL_ACCUM_RED_BITS" group="GetPName"/>
+        <enum value="0x0D59" name="GL_ACCUM_GREEN_BITS" group="GetPName"/>
+        <enum value="0x0D5A" name="GL_ACCUM_BLUE_BITS" group="GetPName"/>
+        <enum value="0x0D5B" name="GL_ACCUM_ALPHA_BITS" group="GetPName"/>
+
+        <enum value="0x0D70" name="GL_NAME_STACK_DEPTH" group="GetPName"/>
+
+        <enum value="0x0D80" name="GL_AUTO_NORMAL" group="GetPName,EnableCap"/>
+
+        <enum value="0x0D90" name="GL_MAP1_COLOR_4" group="MapTarget,EnableCap,GetPName"/>
+        <enum value="0x0D91" name="GL_MAP1_INDEX" group="MapTarget,EnableCap,GetPName"/>
+        <enum value="0x0D92" name="GL_MAP1_NORMAL" group="MapTarget,EnableCap,GetPName"/>
+        <enum value="0x0D93" name="GL_MAP1_TEXTURE_COORD_1" group="MapTarget,EnableCap,GetPName"/>
+        <enum value="0x0D94" name="GL_MAP1_TEXTURE_COORD_2" group="MapTarget,EnableCap,GetPName"/>
+        <enum value="0x0D95" name="GL_MAP1_TEXTURE_COORD_3" group="MapTarget,EnableCap,GetPName"/>
+        <enum value="0x0D96" name="GL_MAP1_TEXTURE_COORD_4" group="MapTarget,EnableCap,GetPName"/>
+        <enum value="0x0D97" name="GL_MAP1_VERTEX_3" group="MapTarget,EnableCap,GetPName"/>
+        <enum value="0x0D98" name="GL_MAP1_VERTEX_4" group="MapTarget,EnableCap,GetPName"/>
+
+        <enum value="0x0DB0" name="GL_MAP2_COLOR_4" group="MapTarget,EnableCap,GetPName"/>
+        <enum value="0x0DB1" name="GL_MAP2_INDEX" group="MapTarget,EnableCap,GetPName"/>
+        <enum value="0x0DB2" name="GL_MAP2_NORMAL" group="MapTarget,EnableCap,GetPName"/>
+        <enum value="0x0DB3" name="GL_MAP2_TEXTURE_COORD_1" group="MapTarget,EnableCap,GetPName"/>
+        <enum value="0x0DB4" name="GL_MAP2_TEXTURE_COORD_2" group="MapTarget,EnableCap,GetPName"/>
+        <enum value="0x0DB5" name="GL_MAP2_TEXTURE_COORD_3" group="MapTarget,EnableCap,GetPName"/>
+        <enum value="0x0DB6" name="GL_MAP2_TEXTURE_COORD_4" group="MapTarget,EnableCap,GetPName"/>
+        <enum value="0x0DB7" name="GL_MAP2_VERTEX_3" group="MapTarget,EnableCap,GetPName"/>
+        <enum value="0x0DB8" name="GL_MAP2_VERTEX_4" group="MapTarget,EnableCap,GetPName"/>
+
+        <enum value="0x0DD0" name="GL_MAP1_GRID_DOMAIN" group="GetPName"/>
+        <enum value="0x0DD1" name="GL_MAP1_GRID_SEGMENTS" group="GetPName"/>
+        <enum value="0x0DD2" name="GL_MAP2_GRID_DOMAIN" group="GetPName"/>
+        <enum value="0x0DD3" name="GL_MAP2_GRID_SEGMENTS" group="GetPName"/>
+
+        <enum value="0x0DE0" name="GL_TEXTURE_1D" group="CopyImageSubDataTarget,EnableCap,GetPName,TextureTarget"/>
+        <enum value="0x0DE1" name="GL_TEXTURE_2D" group="CopyImageSubDataTarget,EnableCap,GetPName,TextureTarget"/>
+
+        <enum value="0x0DF0" name="GL_FEEDBACK_BUFFER_POINTER" group="GetPointervPName"/>
+        <enum value="0x0DF1" name="GL_FEEDBACK_BUFFER_SIZE" group="GetPName"/>
+        <enum value="0x0DF2" name="GL_FEEDBACK_BUFFER_TYPE" group="GetPName"/>
+        <enum value="0x0DF3" name="GL_SELECTION_BUFFER_POINTER" group="GetPointervPName"/>
+        <enum value="0x0DF4" name="GL_SELECTION_BUFFER_SIZE" group="GetPName"/>
             <unused start="0x0DF5" end="0xFFFF" comment="Unused for GetPName"/>
-        <enum value="0x1000" name="GL_TEXTURE_WIDTH"/>
-        <enum value="0x1001" name="GL_TEXTURE_HEIGHT"/>
-        <enum value="0x1003" name="GL_TEXTURE_INTERNAL_FORMAT"/>
-        <enum value="0x1003" name="GL_TEXTURE_COMPONENTS"/>
-        <enum value="0x1004" name="GL_TEXTURE_BORDER_COLOR"/>
+        <enum value="0x1000" name="GL_TEXTURE_WIDTH" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x1001" name="GL_TEXTURE_HEIGHT" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x1003" name="GL_TEXTURE_INTERNAL_FORMAT" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x1003" name="GL_TEXTURE_COMPONENTS" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x1004" name="GL_TEXTURE_BORDER_COLOR" group="SamplerParameterF,GetTextureParameter,TextureParameterName"/>
         <enum value="0x1004" name="GL_TEXTURE_BORDER_COLOR_EXT"/>
-        <enum value="0x1004" name="GL_TEXTURE_BORDER_COLOR_NV"/>
+        <enum value="0x1004" name="GL_TEXTURE_BORDER_COLOR_NV" group="TextureParameterName,GetTextureParameter"/>
         <enum value="0x1004" name="GL_TEXTURE_BORDER_COLOR_OES"/>
-        <enum value="0x1005" name="GL_TEXTURE_BORDER"/>
+        <enum value="0x1005" name="GL_TEXTURE_BORDER" group="TextureParameterName,GetTextureParameter"/>
         <enum value="0x1006" name="GL_TEXTURE_TARGET"/>
             <unused start="0x1007" end="0x10FF" comment="Unused for GetTextureParameter"/>
-        <enum value="0x1100" name="GL_DONT_CARE"/>
-        <enum value="0x1101" name="GL_FASTEST"/>
-        <enum value="0x1102" name="GL_NICEST"/>
+        <enum value="0x1100" name="GL_DONT_CARE" group="DebugSeverity,HintMode,DebugSource,DebugType"/>
+        <enum value="0x1101" name="GL_FASTEST" group="HintMode"/>
+        <enum value="0x1102" name="GL_NICEST" group="HintMode"/>
             <unused start="0x1103" end="0x11FF" comment="Unused for HintMode"/>
-        <enum value="0x1200" name="GL_AMBIENT"/>
-        <enum value="0x1201" name="GL_DIFFUSE"/>
-        <enum value="0x1202" name="GL_SPECULAR"/>
-        <enum value="0x1203" name="GL_POSITION"/>
-        <enum value="0x1204" name="GL_SPOT_DIRECTION"/>
-        <enum value="0x1205" name="GL_SPOT_EXPONENT"/>
-        <enum value="0x1206" name="GL_SPOT_CUTOFF"/>
-        <enum value="0x1207" name="GL_CONSTANT_ATTENUATION"/>
-        <enum value="0x1208" name="GL_LINEAR_ATTENUATION"/>
-        <enum value="0x1209" name="GL_QUADRATIC_ATTENUATION"/>
+        <enum value="0x1200" name="GL_AMBIENT" group="MaterialParameter,FragmentLightParameterSGIX,ColorMaterialParameter"/>
+        <enum value="0x1201" name="GL_DIFFUSE" group="MaterialParameter,FragmentLightParameterSGIX,ColorMaterialParameter"/>
+        <enum value="0x1202" name="GL_SPECULAR" group="MaterialParameter,FragmentLightParameterSGIX,ColorMaterialParameter"/>
+        <enum value="0x1203" name="GL_POSITION" group="LightParameter,FragmentLightParameterSGIX"/>
+        <enum value="0x1204" name="GL_SPOT_DIRECTION" group="LightParameter,FragmentLightParameterSGIX"/>
+        <enum value="0x1205" name="GL_SPOT_EXPONENT" group="LightParameter,FragmentLightParameterSGIX"/>
+        <enum value="0x1206" name="GL_SPOT_CUTOFF" group="LightParameter,FragmentLightParameterSGIX"/>
+        <enum value="0x1207" name="GL_CONSTANT_ATTENUATION" group="LightParameter,FragmentLightParameterSGIX"/>
+        <enum value="0x1208" name="GL_LINEAR_ATTENUATION" group="LightParameter,FragmentLightParameterSGIX"/>
+        <enum value="0x1209" name="GL_QUADRATIC_ATTENUATION" group="LightParameter,FragmentLightParameterSGIX"/>
             <unused start="0x1210" end="0x12FF" comment="Unused for LightParameter"/>
-        <enum value="0x1300" name="GL_COMPILE"/>
-        <enum value="0x1301" name="GL_COMPILE_AND_EXECUTE"/>
+        <enum value="0x1300" name="GL_COMPILE" group="ListMode"/>
+        <enum value="0x1301" name="GL_COMPILE_AND_EXECUTE" group="ListMode"/>
             <unused start="0x1302" end="0x13FF" comment="Unused for ListMode"/>
-        <enum value="0x1400" name="GL_BYTE"/>
-        <enum value="0x1401" name="GL_UNSIGNED_BYTE"/>
-        <enum value="0x1402" name="GL_SHORT"/>
-        <enum value="0x1403" name="GL_UNSIGNED_SHORT"/>
-        <enum value="0x1404" name="GL_INT"/>
-        <enum value="0x1405" name="GL_UNSIGNED_INT"/>
-        <enum value="0x1406" name="GL_FLOAT"/>
-        <enum value="0x1407" name="GL_2_BYTES"/>
+        <enum value="0x1400" name="GL_BYTE" group="VertexAttribIType,WeightPointerTypeARB,TangentPointerTypeEXT,BinormalPointerTypeEXT,ColorPointerType,ListNameType,NormalPointerType,PixelType,VertexAttribType,VertexAttribPointerType"/>
+        <enum value="0x1401" name="GL_UNSIGNED_BYTE" group="VertexAttribIType,ScalarType,ReplacementCodeTypeSUN,ElementPointerTypeATI,MatrixIndexPointerTypeARB,WeightPointerTypeARB,ColorPointerType,DrawElementsType,ListNameType,PixelType,VertexAttribType,VertexAttribPointerType"/>
+        <enum value="0x1402" name="GL_SHORT" group="VertexAttribIType,SecondaryColorPointerTypeIBM,WeightPointerTypeARB,TangentPointerTypeEXT,BinormalPointerTypeEXT,IndexPointerType,ListNameType,NormalPointerType,PixelType,TexCoordPointerType,VertexPointerType,VertexAttribType,VertexAttribPointerType"/>
+        <enum value="0x1403" name="GL_UNSIGNED_SHORT" group="VertexAttribIType,ScalarType,ReplacementCodeTypeSUN,ElementPointerTypeATI,MatrixIndexPointerTypeARB,WeightPointerTypeARB,ColorPointerType,DrawElementsType,ListNameType,PixelFormat,PixelType,VertexAttribType,VertexAttribPointerType"/>
+        <enum value="0x1404" name="GL_INT" group="VertexAttribIType,SecondaryColorPointerTypeIBM,WeightPointerTypeARB,TangentPointerTypeEXT,BinormalPointerTypeEXT,IndexPointerType,ListNameType,NormalPointerType,PixelType,TexCoordPointerType,VertexPointerType,VertexAttribType,AttributeType,UniformType,VertexAttribPointerType,GlslTypeToken"/>
+        <enum value="0x1405" name="GL_UNSIGNED_INT" group="VertexAttribIType,ScalarType,ReplacementCodeTypeSUN,ElementPointerTypeATI,MatrixIndexPointerTypeARB,WeightPointerTypeARB,ColorPointerType,DrawElementsType,ListNameType,PixelFormat,PixelType,VertexAttribType,AttributeType,UniformType,VertexAttribPointerType,GlslTypeToken"/>
+        <enum value="0x1406" name="GL_FLOAT" group="GlslTypeToken,MapTypeNV,SecondaryColorPointerTypeIBM,WeightPointerTypeARB,VertexWeightPointerTypeEXT,TangentPointerTypeEXT,BinormalPointerTypeEXT,FogCoordinatePointerType,FogPointerTypeEXT,FogPointerTypeIBM,IndexPointerType,ListNameType,NormalPointerType,PixelType,TexCoordPointerType,VertexPointerType,VertexAttribType,AttributeType,UniformType,VertexAttribPointerType"/>
+        <enum value="0x1407" name="GL_2_BYTES" group="ListNameType"/>
         <enum value="0x1407" name="GL_2_BYTES_NV"/>
-        <enum value="0x1408" name="GL_3_BYTES"/>
+        <enum value="0x1408" name="GL_3_BYTES" group="ListNameType"/>
         <enum value="0x1408" name="GL_3_BYTES_NV"/>
-        <enum value="0x1409" name="GL_4_BYTES"/>
+        <enum value="0x1409" name="GL_4_BYTES" group="ListNameType"/>
         <enum value="0x1409" name="GL_4_BYTES_NV"/>
-        <enum value="0x140A" name="GL_DOUBLE"/>
-        <enum value="0x140A" name="GL_DOUBLE_EXT"/>
-        <enum value="0x140B" name="GL_HALF_FLOAT"/>
+        <enum value="0x140A" name="GL_DOUBLE" group="VertexAttribLType,MapTypeNV,SecondaryColorPointerTypeIBM,WeightPointerTypeARB,TangentPointerTypeEXT,BinormalPointerTypeEXT,FogCoordinatePointerType,FogPointerTypeEXT,FogPointerTypeIBM,IndexPointerType,NormalPointerType,TexCoordPointerType,VertexPointerType,VertexAttribType,AttributeType,UniformType,VertexAttribPointerType,GlslTypeToken"/>
+        <enum value="0x140A" name="GL_DOUBLE_EXT" group="BinormalPointerTypeEXT,TangentPointerTypeEXT"/>
+        <enum value="0x140B" name="GL_HALF_FLOAT" group="VertexAttribPointerType,VertexAttribType"/>
         <enum value="0x140B" name="GL_HALF_FLOAT_ARB"/>
         <enum value="0x140B" name="GL_HALF_FLOAT_NV"/>
         <enum value="0x140B" name="GL_HALF_APPLE"/>
-        <enum value="0x140C" name="GL_FIXED"/>
+        <enum value="0x140C" name="GL_FIXED" group="VertexAttribPointerType,VertexAttribType"/>
         <enum value="0x140C" name="GL_FIXED_OES"/>
             <unused start="0x140D" comment="Leave gap to preserve even/odd int/uint token values"/>
-        <enum value="0x140E" name="GL_INT64_ARB"/>
-        <enum value="0x140E" name="GL_INT64_NV"/>
-        <enum value="0x140F" name="GL_UNSIGNED_INT64_ARB"/>
-        <enum value="0x140F" name="GL_UNSIGNED_INT64_NV"/>
+        <enum value="0x140E" name="GL_INT64_ARB" group="VertexAttribPointerType,AttributeType"/>
+        <enum value="0x140E" name="GL_INT64_NV" group="VertexAttribPointerType,AttributeType"/>
+        <enum value="0x140F" name="GL_UNSIGNED_INT64_ARB" group="VertexAttribPointerType,AttributeType"/>
+        <enum value="0x140F" name="GL_UNSIGNED_INT64_NV" group="VertexAttribPointerType,AttributeType"/>
             <unused start="0x1410" end="0x14FF" comment="Unused for DataType"/>
-        <enum value="0x1500" name="GL_CLEAR"/>
-        <enum value="0x1501" name="GL_AND"/>
-        <enum value="0x1502" name="GL_AND_REVERSE"/>
-        <enum value="0x1503" name="GL_COPY"/>
-        <enum value="0x1504" name="GL_AND_INVERTED"/>
-        <enum value="0x1505" name="GL_NOOP"/>
-        <enum value="0x1506" name="GL_XOR"/><