]> git.tdb.fi Git - libs/gl.git/blobdiff - gl.xml
Check the flat qualifier from the correct member
[libs/gl.git] / gl.xml
diff --git a/gl.xml b/gl.xml
index fde7dcb8397b2570900e9a234021a7b2f399cea6..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 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>typedef void <name>GLvoid</name>;</type>
-        <type>typedef signed char <name>GLbyte</name>;</type>
-        <type>typedef short <name>GLshort</name>;</type>
+        <type comment="Not an actual GL type, though used in headers in the past">typedef void <name>GLvoid</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,58 +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) -->
+
             <!-- 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"/>
@@ -159,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"/>
@@ -187,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"/>
@@ -198,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"/>
@@ -253,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"/>
@@ -276,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"/>
@@ -290,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"/>
@@ -301,16 +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_BIAS_SGI"/>
             <enum name="GL_COLOR_TABLE_SCALE"/>
             <enum name="GL_COLOR_TABLE_SCALE_SGI"/>
-            <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"/>
@@ -327,24 +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"/>
@@ -353,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"/>
@@ -368,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"/>
@@ -379,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"/>
@@ -395,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"/>
@@ -406,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"/>
@@ -419,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"/>
@@ -434,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"/>
@@ -470,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"/>
@@ -483,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"/>
@@ -499,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"/>
@@ -506,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"/>
@@ -522,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"/>
@@ -530,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"/>
@@ -543,19 +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="FogMode">
+        <group name="FogCoordinatePointerType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FLOAT"/>
+            <enum name="GL_DOUBLE"/>
+        </group>
+
+        <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"/>
@@ -565,19 +1276,33 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_FOG_START"/>
         </group>
 
-        <group name="FragmentLightModelParameterSGIX">
+        <group name="FogPointerTypeEXT" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FLOAT"/>
+            <enum name="GL_DOUBLE"/>
+        </group>
+
+        <group name="FogPointerTypeIBM" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FLOAT"/>
+            <enum name="GL_DOUBLE"/>
+        </group>
+
+        <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"/>
@@ -588,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"/>
@@ -599,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"/>
@@ -612,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"/>
@@ -638,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"/>
@@ -655,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"/>
@@ -664,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"/>
@@ -693,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"/>
@@ -701,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"/>
@@ -708,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"/>
@@ -718,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"/>
@@ -749,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"/>
@@ -757,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"/>
@@ -771,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"/>
@@ -798,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"/>
@@ -823,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"/>
@@ -837,20 +1626,98 @@ 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_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"/>
@@ -862,13 +1729,20 @@ typedef unsigned int GLhandleARB;
             <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"/>
@@ -886,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"/>
@@ -897,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"/>
@@ -935,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"/>
@@ -960,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"/>
@@ -970,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"/>
@@ -989,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"/>
@@ -1003,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"/>
@@ -1017,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"/>
@@ -1044,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"/>
@@ -1103,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"/>
@@ -1163,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"/>
@@ -1194,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"/>
@@ -1219,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"/>
@@ -1238,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"/>
@@ -1251,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"/>
@@ -1269,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"/>
@@ -1292,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"/>
@@ -1303,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"/>
@@ -1311,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"/>
@@ -1334,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"/>
@@ -1356,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"/>
@@ -1371,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"/>
@@ -1396,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"/>
@@ -1420,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"/>
@@ -1429,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"/>
@@ -1452,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"/>
@@ -1478,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"/>
@@ -1536,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"/>
@@ -1578,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"/>
@@ -1602,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"/>
@@ -1656,7 +2855,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_RED_SCALE"/>
         </group>
 
-        <group name="PixelType">
+        <group name="PixelType" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_BITMAP"/>
             <enum name="GL_BYTE"/>
             <enum name="GL_FLOAT"/>
@@ -1677,7 +2876,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_UNSIGNED_SHORT_5_5_5_1_EXT"/>
         </group>
 
-        <group name="PointParameterNameSGIS">
+        <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"/>
@@ -1696,13 +2895,13 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_POINT_SIZE_MIN_SGIS"/>
         </group>
 
-        <group name="PolygonMode">
+        <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">
+        <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"/>
@@ -1713,9 +2912,11 @@ typedef unsigned int GLhandleARB;
             <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"/>
@@ -1728,7 +2929,17 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_TRIANGLE_STRIP_ADJACENCY_EXT"/>
         </group>
 
-        <group name="ReadBufferMode">
+        <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"/>
@@ -1741,15 +2952,31 @@ typedef unsigned int GLhandleARB;
             <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">
+        <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">
+        <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"/>
@@ -1766,17 +2993,27 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_4PASS_3_SGIS"/>
         </group>
 
-        <group name="SeparableTargetEXT">
+        <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">
+        <group name="ShadingModel" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_FLAT"/>
             <enum name="GL_SMOOTH"/>
         </group>
 
-        <group name="StencilFunction">
+        <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"/>
@@ -1787,37 +3024,45 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_NOTEQUAL"/>
         </group>
 
-        <group name="StencilOp">
+        <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">
+        <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="TexCoordPointerType">
+        <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">
+        <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">
+        <group name="TextureEnvMode" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_ADD"/>
             <enum name="GL_BLEND"/>
             <enum name="GL_DECAL"/>
@@ -1826,20 +3071,20 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_TEXTURE_ENV_BIAS_SGIX"/>
         </group>
 
-        <group name="TextureEnvParameter">
+        <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">
+        <group name="TextureEnvTarget" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_TEXTURE_ENV"/>
         </group>
 
-        <group name="TextureFilterFuncSGIS">
+        <group name="TextureFilterFuncSGIS" comment="Deprecated, use the group attributes instead.">
             <enum name="GL_FILTER4_SGIS"/>
         </group>
 
-        <group name="TextureGenMode">
+        <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"/>
@@ -1849,7 +3094,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_SPHERE_MAP"/>
         </group>
 
-        <group name="TextureGenParameter">
+        <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"/>
@@ -1859,7 +3104,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_TEXTURE_GEN_MODE"/>
         </group>
 
-        <group name="TextureMagFilter">
+        <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"/>
@@ -1874,7 +3119,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_PIXEL_TEX_GEN_Q_ROUND_SGIX"/>
         </group>
 
-        <group name="TextureMinFilter">
+        <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"/>
@@ -1891,7 +3136,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_PIXEL_TEX_GEN_Q_ROUND_SGIX"/>
         </group>
 
-        <group name="TextureParameterName">
+        <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"/>
@@ -1925,34 +3170,99 @@ typedef unsigned int GLhandleARB;
             <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">
+        <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_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"/>
+            <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">
+        <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"/>
@@ -1961,6325 +3271,8932 @@ typedef unsigned int GLhandleARB;
             <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">
+        <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="VertexPointerType">
+        <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>
-    </groups>
-
-    <!-- SECTION: GL enumerant (token) definitions. -->
-
-    <!-- Bitmasks each have their own namespace, although bits are
-         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"/>
-    </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."/>
-            <!-- 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"/>
-    </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_ARB"/>
-    </enums>
+        <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>
 
-    <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"/>
-    </enums>
+        <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>
 
-    <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="0x0080" name="GL_MAP_COHERENT_BIT"/>
-        <enum value="0x0100" name="GL_DYNAMIC_STORAGE_BIT"/>
-        <enum value="0x0200" name="GL_CLIENT_STORAGE_BIT"/>
-    </enums>
+        <group name="RenderbufferTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_RENDERBUFFER"/>
+            <enum name="GL_RENDERBUFFER_OES"/>
+        </group>
 
-    <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="0x00008000" name="GL_QUERY_BUFFER_BARRIER_BIT"/>
-        <enum value="0xFFFFFFFF" name="GL_ALL_BARRIER_BITS"/>
-        <enum value="0xFFFFFFFF" name="GL_ALL_BARRIER_BITS_EXT"/>
-    </enums>
+        <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>
 
-    <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"/>
-    </enums>
+        <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>
 
-    <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="0x00000008" name="GL_TESS_CONTROL_SHADER_BIT"/>
-        <enum value="0x00000010" name="GL_TESS_EVALUATION_SHADER_BIT"/>
-        <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"/>
-    </enums>
+        <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>
 
-    <!-- Bitmasks defined by vendor extensions -->
+        <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>
 
-    <enums namespace="GL" group="TextureStorageMaskAMD" type="bitmask">
-        <enum value="0x00000001" name="GL_TEXTURE_STORAGE_SPARSE_BIT_AMD"/>
-    </enums>
+        <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>
 
-    <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"/>
-    </enums>
+        <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>
 
-    <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"/>
-    </enums>
+        <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>
 
-    <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"/>
-    </enums>
+        <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>
 
-    <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"/>
-    </enums>
+        <group name="QueryCounterTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_TIMESTAMP"/>
+        </group>
 
-    <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"/>
-    </enums>
+        <group name="ConvolutionTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_CONVOLUTION_1D"/>
+            <enum name="GL_CONVOLUTION_2D"/>
+        </group>
 
-    <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"/>
-    </enums>
+        <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>
 
-    <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"/>
-    </enums>
+        <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>
 
-    <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"/>
-    </enums>
+        <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>
 
-    <!-- Non-bitmask enums with their own namespace. Generally small numbers
-         used for indexed access. -->
+        <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>
 
-    <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"/>
-    </enums>
+        <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>
 
-    <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"/>
-    </enums>
+        <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>
 
-    <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"/>
-    </enums>
+        <group name="ProgramParameterPName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_PROGRAM_BINARY_RETRIEVABLE_HINT"/>
+            <enum name="GL_PROGRAM_SEPARABLE"/>
+        </group>
 
-    <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="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="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"/>
-    </enums>
-
-    <!-- The default ("API") enum namespace starts here. While some
-         assigned values may overlap, and different parts of the
-         namespace are reserved for different purposes, it is a single
-         namespace. The "class" attribute indicates some of the reserved
-         purposes but is by no means complete (and cannot be, since many
-         tokens are reused for different purposes in different
-         extensions and API versions). -->
+        <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>
 
-    <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="0xFFFFFFFF" name="GL_INVALID_INDEX" type="u" comment="Tagged as uint"/>
-        <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"/>
-    </enums>
+        <group name="BindTransformFeedbackTarget" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_TRANSFORM_FEEDBACK"/>
+        </group>
 
-    <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="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="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="0x000C" name="GL_TRIANGLES_ADJACENCY"/>
-        <enum value="0x000C" name="GL_TRIANGLES_ADJACENCY_ARB"/>
-        <enum value="0x000C" name="GL_TRIANGLES_ADJACENCY_EXT"/>
-        <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="0x000E" name="GL_PATCHES"/>
-            <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"/>
-            <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"/>
-            <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"/>
-            <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"/>
-            <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="0x0503" name="GL_STACK_OVERFLOW_KHR"/>
-        <enum value="0x0504" name="GL_STACK_UNDERFLOW"/>
-        <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"/>
-            <unused start="0x0507" 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"/>
-            <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"/>
-            <unused start="0x0708" end="0x07FF" comment="Unused for FeedbackToken"/>
-        <enum value="0x0800" name="GL_EXP"/>
-        <enum value="0x0801" name="GL_EXP2"/>
-            <unused start="0x0802" end="0x08FF" comment="Unused for FogMode"/>
-        <enum value="0x0900" name="GL_CW"/>
-        <enum value="0x0901" name="GL_CCW"/>
-            <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"/>
-            <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="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="0x0BA4" name="GL_PROJECTION_STACK_DEPTH"/>
-        <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="0x0BA7" name="GL_PROJECTION_MATRIX"/>
-        <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="0x0D32" name="GL_MAX_CLIP_PLANES_IMG"/>
-        <enum value="0x0D32" name="GL_MAX_CLIP_DISTANCES" alias="GL_MAX_CLIP_PLANES"/>
-        <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="0x0D37" name="GL_MAX_NAME_STACK_DEPTH"/>
-        <enum value="0x0D38" name="GL_MAX_PROJECTION_STACK_DEPTH"/>
-        <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"/>
-            <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="0x1004" name="GL_TEXTURE_BORDER_COLOR_NV"/>
-        <enum value="0x1005" name="GL_TEXTURE_BORDER"/>
-            <unused start="0x1006" 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"/>
-            <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"/>
-            <unused start="0x1210" end="0x12FF" comment="Unused for LightParameter"/>
-        <enum value="0x1300" name="GL_COMPILE"/>
-        <enum value="0x1301" name="GL_COMPILE_AND_EXECUTE"/>
-            <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="0x1408" name="GL_3_BYTES"/>
-        <enum value="0x1409" name="GL_4_BYTES"/>
-        <enum value="0x140A" name="GL_DOUBLE"/>
-        <enum value="0x140A" name="GL_DOUBLE_EXT"/>
-        <enum value="0x140B" name="GL_HALF_FLOAT"/>
-        <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_OES"/>
-            <unused start="0x140D" comment="Leave gap to preserve even/odd int/uint token values"/>
-        <enum value="0x140E" name="GL_INT64_NV"/>
-        <enum value="0x140F" name="GL_UNSIGNED_INT64_ARB"/>
-        <enum value="0x140F" name="GL_UNSIGNED_INT64_NV"/>
-            <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"/>
-        <enum value="0x1507" name="GL_OR"/>
-        <enum value="0x1508" name="GL_NOR"/>
-        <enum value="0x1509" name="GL_EQUIV"/>
-        <enum value="0x150A" name="GL_INVERT"/>
-        <enum value="0x150B" name="GL_OR_REVERSE"/>
-        <enum value="0x150C" name="GL_COPY_INVERTED"/>
-        <enum value="0x150D" name="GL_OR_INVERTED"/>
-        <enum value="0x150E" name="GL_NAND"/>
-        <enum value="0x150F" name="GL_SET"/>
-            <unused start="0x1510" end="0x15FF" comment="Unused for LogicOp"/>
-        <enum value="0x1600" name="GL_EMISSION"/>
-        <enum value="0x1601" name="GL_SHININESS"/>
-        <enum value="0x1602" name="GL_AMBIENT_AND_DIFFUSE"/>
-        <enum value="0x1603" name="GL_COLOR_INDEXES"/>
-            <unused start="0x1604" end="0x16FF" comment="Unused for MaterialParameter"/>
-        <enum value="0x1700" name="GL_MODELVIEW"/>
-        <enum value="0x1700" name="GL_MODELVIEW0_ARB"/>
-        <enum value="0x1700" name="GL_MODELVIEW0_EXT"/>
-        <enum value="0x1701" name="GL_PROJECTION"/>
-        <enum value="0x1702" name="GL_TEXTURE"/>
-            <unused start="0x1703" end="0x17FF" comment="Unused for MatrixMode"/>
-        <enum value="0x1800" name="GL_COLOR"/>
-        <enum value="0x1800" name="GL_COLOR_EXT"/>
-        <enum value="0x1801" name="GL_DEPTH"/>
-        <enum value="0x1801" name="GL_DEPTH_EXT"/>
-        <enum value="0x1802" name="GL_STENCIL"/>
-        <enum value="0x1802" name="GL_STENCIL_EXT"/>
-            <unused start="0x1803" end="0x18FF" comment="Unused for PixelCopyType"/>
-        <enum value="0x1900" name="GL_COLOR_INDEX"/>
-        <enum value="0x1901" name="GL_STENCIL_INDEX"/>
-        <enum value="0x1902" name="GL_DEPTH_COMPONENT"/>
-        <enum value="0x1903" name="GL_RED"/>
-        <enum value="0x1903" name="GL_RED_EXT"/>
-        <enum value="0x1904" name="GL_GREEN"/>
-        <enum value="0x1905" name="GL_BLUE"/>
-        <enum value="0x1906" name="GL_ALPHA"/>
-        <enum value="0x1907" name="GL_RGB"/>
-        <enum value="0x1908" name="GL_RGBA"/>
-        <enum value="0x1909" name="GL_LUMINANCE"/>
-        <enum value="0x190A" name="GL_LUMINANCE_ALPHA"/>
-            <unused start="0x1910" end="0x19FF" comment="Unused for PixelFormat"/>
-        <enum value="0x1A00" name="GL_BITMAP"/>
-            <unused start="0x1A01" end="0x1AFF" comment="Unused for PixelType"/>
-        <enum value="0x1B00" name="GL_POINT"/>
-        <enum value="0x1B01" name="GL_LINE"/>
-        <enum value="0x1B02" name="GL_FILL"/>
-            <unused start="0x1B03" end="0x1BFF" comment="Unused for PolygonMode"/>
-        <enum value="0x1C00" name="GL_RENDER"/>
-        <enum value="0x1C01" name="GL_FEEDBACK"/>
-        <enum value="0x1C02" name="GL_SELECT"/>
-            <unused start="0x1C03" end="0x1CFF" comment="Unused for RenderingMode"/>
-        <enum value="0x1D00" name="GL_FLAT"/>
-        <enum value="0x1D01" name="GL_SMOOTH"/>
-            <unused start="0x1D02" end="0x1DFF" comment="Unused for ShadingModel"/>
-        <enum value="0x1E00" name="GL_KEEP"/>
-        <enum value="0x1E01" name="GL_REPLACE"/>
-        <enum value="0x1E02" name="GL_INCR"/>
-        <enum value="0x1E03" name="GL_DECR"/>
-            <unused start="0x1E04" end="0x1EFF" comment="Unused for StencilOp"/>
-        <enum value="0x1F00" name="GL_VENDOR"/>
-        <enum value="0x1F01" name="GL_RENDERER"/>
-        <enum value="0x1F02" name="GL_VERSION"/>
-        <enum value="0x1F03" name="GL_EXTENSIONS"/>
-            <unused start="0x1F04" end="0x1FFF" comment="Unused for StringName"/>
-        <enum value="0x2000" name="GL_S"/>
-        <enum value="0x2001" name="GL_T"/>
-        <enum value="0x2002" name="GL_R"/>
-        <enum value="0x2003" name="GL_Q"/>
-            <unused start="0x2004" end="0x20FF" comment="Unused for TextureCoordName"/>
-        <enum value="0x2100" name="GL_MODULATE"/>
-        <enum value="0x2101" name="GL_DECAL"/>
-            <unused start="0x2102" end="0x21FF" comment="Unused for TextureEnvMode"/>
-        <enum value="0x2200" name="GL_TEXTURE_ENV_MODE"/>
-        <enum value="0x2201" name="GL_TEXTURE_ENV_COLOR"/>
-            <unused start="0x2202" end="0x22FF" comment="Unused for TextureEnvParameter"/>
-        <enum value="0x2300" name="GL_TEXTURE_ENV"/>
-            <unused start="0x2301" end="0x23FF" comment="Unused for TextureEnvTarget"/>
-        <enum value="0x2400" name="GL_EYE_LINEAR"/>
-        <enum value="0x2401" name="GL_OBJECT_LINEAR"/>
-        <enum value="0x2402" name="GL_SPHERE_MAP"/>
-            <unused start="0x2403" end="0x24FF" comment="Unused for TextureGenMode"/>
-        <enum value="0x2500" name="GL_TEXTURE_GEN_MODE"/>
-        <enum value="0x2500" name="GL_TEXTURE_GEN_MODE_OES"/>
-        <enum value="0x2501" name="GL_OBJECT_PLANE"/>
-        <enum value="0x2502" name="GL_EYE_PLANE"/>
-            <unused start="0x2503" end="0x25FF" comment="Unused for TextureGenParameter"/>
-        <enum value="0x2600" name="GL_NEAREST"/>
-        <enum value="0x2601" name="GL_LINEAR"/>
-            <unused start="0x2602" end="0x26FF" comment="Unused for TextureMagFilter"/>
-        <enum value="0x2700" name="GL_NEAREST_MIPMAP_NEAREST"/>
-        <enum value="0x2701" name="GL_LINEAR_MIPMAP_NEAREST"/>
-        <enum value="0x2702" name="GL_NEAREST_MIPMAP_LINEAR"/>
-        <enum value="0x2703" name="GL_LINEAR_MIPMAP_LINEAR"/>
-            <unused start="0x2704" end="0x27FF" comment="Unused for TextureMinFilter"/>
-        <enum value="0x2800" name="GL_TEXTURE_MAG_FILTER"/>
-        <enum value="0x2801" name="GL_TEXTURE_MIN_FILTER"/>
-        <enum value="0x2802" name="GL_TEXTURE_WRAP_S"/>
-        <enum value="0x2803" name="GL_TEXTURE_WRAP_T"/>
-            <unused start="0x2804" end="0x28FF" comment="Unused for TextureParameterName"/>
-        <enum value="0x2900" name="GL_CLAMP"/>
-        <enum value="0x2901" name="GL_REPEAT"/>
-            <unused start="0x2902" end="0x29FF" comment="Unused for TextureWrapMode"/>
-        <enum value="0x2A00" name="GL_POLYGON_OFFSET_UNITS"/>
-        <enum value="0x2A01" name="GL_POLYGON_OFFSET_POINT"/>
-        <enum value="0x2A02" name="GL_POLYGON_OFFSET_LINE"/>
-            <unused start="0x2A03" end="0x2A09" comment="Unused for PolygonOffset"/>
-        <enum value="0x2A10" name="GL_R3_G3_B2"/>
-            <unused start="0x2A11" end="0x2A1F" comment="Unused for InternalFormat"/>
-        <enum value="0x2A20" name="GL_V2F"/>
-        <enum value="0x2A21" name="GL_V3F"/>
-        <enum value="0x2A22" name="GL_C4UB_V2F"/>
-        <enum value="0x2A23" name="GL_C4UB_V3F"/>
-        <enum value="0x2A24" name="GL_C3F_V3F"/>
-        <enum value="0x2A25" name="GL_N3F_V3F"/>
-        <enum value="0x2A26" name="GL_C4F_N3F_V3F"/>
-        <enum value="0x2A27" name="GL_T2F_V3F"/>
-        <enum value="0x2A28" name="GL_T4F_V4F"/>
-        <enum value="0x2A29" name="GL_T2F_C4UB_V3F"/>
-        <enum value="0x2A2A" name="GL_T2F_C3F_V3F"/>
-        <enum value="0x2A2B" name="GL_T2F_N3F_V3F"/>
-        <enum value="0x2A2C" name="GL_T2F_C4F_N3F_V3F"/>
-        <enum value="0x2A2D" name="GL_T4F_C4F_N3F_V4F"/>
-            <unused start="0x2A2E" end="0x2FFF" comment="Unused for InterleavedArrayFormat"/>
-        <enum value="0x3000" name="GL_CLIP_PLANE0"/>
-        <enum value="0x3000" name="GL_CLIP_PLANE0_IMG"/>
-        <enum value="0x3000" name="GL_CLIP_DISTANCE0" alias="GL_CLIP_PLANE0"/>
-        <enum value="0x3001" name="GL_CLIP_PLANE1"/>
-        <enum value="0x3001" name="GL_CLIP_PLANE1_IMG"/>
-        <enum value="0x3001" name="GL_CLIP_DISTANCE1" alias="GL_CLIP_PLANE1"/>
-        <enum value="0x3002" name="GL_CLIP_PLANE2"/>
-        <enum value="0x3002" name="GL_CLIP_PLANE2_IMG"/>
-        <enum value="0x3002" name="GL_CLIP_DISTANCE2" alias="GL_CLIP_PLANE2"/>
-        <enum value="0x3003" name="GL_CLIP_PLANE3"/>
-        <enum value="0x3003" name="GL_CLIP_PLANE3_IMG"/>
-        <enum value="0x3003" name="GL_CLIP_DISTANCE3" alias="GL_CLIP_PLANE3"/>
-        <enum value="0x3004" name="GL_CLIP_PLANE4"/>
-        <enum value="0x3004" name="GL_CLIP_PLANE4_IMG"/>
-        <enum value="0x3004" name="GL_CLIP_DISTANCE4" alias="GL_CLIP_PLANE4"/>
-        <enum value="0x3005" name="GL_CLIP_PLANE5"/>
-        <enum value="0x3005" name="GL_CLIP_PLANE5_IMG"/>
-        <enum value="0x3005" name="GL_CLIP_DISTANCE5" alias="GL_CLIP_PLANE5"/>
-        <enum value="0x3006" name="GL_CLIP_DISTANCE6"/>
-        <enum value="0x3007" name="GL_CLIP_DISTANCE7"/>
-            <unused start="0x3008" end="0x3FFF" comment="Unused for ClipPlaneName"/>
-        <enum value="0x4000" name="GL_LIGHT0"/>
-        <enum value="0x4001" name="GL_LIGHT1"/>
-        <enum value="0x4002" name="GL_LIGHT2"/>
-        <enum value="0x4003" name="GL_LIGHT3"/>
-        <enum value="0x4004" name="GL_LIGHT4"/>
-        <enum value="0x4005" name="GL_LIGHT5"/>
-        <enum value="0x4006" name="GL_LIGHT6"/>
-        <enum value="0x4007" name="GL_LIGHT7"/>
-            <unused start="0x4008" end="0x4FFF" comment="Unused for LightName"/>
-            <unused start="0x5000" end="0x5FFF" comment="Unused. Do not use."/>
-            <unused start="0x6000" end="0x6FFF" comment="Experimental (internal/test only) range. DO NOT SHIP VALUES IN THIS RANGE."/>
-            <unused start="0x7000" end="0x7FFF" comment="Unused. Do not use."/>
-    </enums>
+        <group name="BlitFramebufferFilter" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_NEAREST"/>
+            <enum name="GL_LINEAR"/>
+        </group>
 
-    <enums namespace="GL" start="0x8000" end="0x80BF" vendor="SGI" comment="The primary GL enumerant space begins here. All modern                     enum allocations are in this range. These enums are                     mostly assigned the default class since it's a great                     deal of not very useful work to be more specific"/>
+        <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>
 
-    <enums namespace="GL" vendor="ARB">
-        <enum value="0x8000" name="GL_ABGR_EXT"/>
-        <enum value="0x8001" name="GL_CONSTANT_COLOR"/>
-        <enum value="0x8001" name="GL_CONSTANT_COLOR_EXT"/>
-        <enum value="0x8002" name="GL_ONE_MINUS_CONSTANT_COLOR"/>
-        <enum value="0x8002" name="GL_ONE_MINUS_CONSTANT_COLOR_EXT"/>
-        <enum value="0x8003" name="GL_CONSTANT_ALPHA"/>
-        <enum value="0x8003" name="GL_CONSTANT_ALPHA_EXT"/>
-        <enum value="0x8004" name="GL_ONE_MINUS_CONSTANT_ALPHA"/>
-        <enum value="0x8004" name="GL_ONE_MINUS_CONSTANT_ALPHA_EXT"/>
-        <enum value="0x8005" name="GL_BLEND_COLOR"/>
-        <enum value="0x8005" name="GL_BLEND_COLOR_EXT"/>
-        <enum value="0x8006" name="GL_FUNC_ADD"/>
-        <enum value="0x8006" name="GL_FUNC_ADD_EXT"/>
-        <enum value="0x8006" name="GL_FUNC_ADD_OES"/>
-        <enum value="0x8007" name="GL_MIN"/>
-        <enum value="0x8007" name="GL_MIN_EXT"/>
-        <enum value="0x8008" name="GL_MAX"/>
-        <enum value="0x8008" name="GL_MAX_EXT"/>
-        <enum value="0x8009" name="GL_BLEND_EQUATION"/>
-        <enum value="0x8009" name="GL_BLEND_EQUATION_EXT"/>
-        <enum value="0x8009" name="GL_BLEND_EQUATION_OES"/>
-        <enum value="0x8009" name="GL_BLEND_EQUATION_RGB"/>
-        <enum value="0x8009" name="GL_BLEND_EQUATION_RGB_EXT"/>
-        <enum value="0x8009" name="GL_BLEND_EQUATION_RGB_OES"/>
-        <enum value="0x800A" name="GL_FUNC_SUBTRACT"/>
-        <enum value="0x800A" name="GL_FUNC_SUBTRACT_EXT"/>
-        <enum value="0x800A" name="GL_FUNC_SUBTRACT_OES"/>
-        <enum value="0x800B" name="GL_FUNC_REVERSE_SUBTRACT"/>
-        <enum value="0x800B" name="GL_FUNC_REVERSE_SUBTRACT_EXT"/>
-        <enum value="0x800B" name="GL_FUNC_REVERSE_SUBTRACT_OES"/>
-        <enum value="0x800C" name="GL_CMYK_EXT"/>
-        <enum value="0x800D" name="GL_CMYKA_EXT"/>
-        <enum value="0x800E" name="GL_PACK_CMYK_HINT_EXT"/>
-        <enum value="0x800F" name="GL_UNPACK_CMYK_HINT_EXT"/>
-        <enum value="0x8010" name="GL_CONVOLUTION_1D"/>
-        <enum value="0x8010" name="GL_CONVOLUTION_1D_EXT"/>
-        <enum value="0x8011" name="GL_CONVOLUTION_2D"/>
-        <enum value="0x8011" name="GL_CONVOLUTION_2D_EXT"/>
-        <enum value="0x8012" name="GL_SEPARABLE_2D"/>
-        <enum value="0x8012" name="GL_SEPARABLE_2D_EXT"/>
-        <enum value="0x8013" name="GL_CONVOLUTION_BORDER_MODE"/>
-        <enum value="0x8013" name="GL_CONVOLUTION_BORDER_MODE_EXT"/>
-        <enum value="0x8014" name="GL_CONVOLUTION_FILTER_SCALE"/>
-        <enum value="0x8014" name="GL_CONVOLUTION_FILTER_SCALE_EXT"/>
-        <enum value="0x8015" name="GL_CONVOLUTION_FILTER_BIAS"/>
-        <enum value="0x8015" name="GL_CONVOLUTION_FILTER_BIAS_EXT"/>
-        <enum value="0x8016" name="GL_REDUCE"/>
-        <enum value="0x8016" name="GL_REDUCE_EXT"/>
-        <enum value="0x8017" name="GL_CONVOLUTION_FORMAT"/>
-        <enum value="0x8017" name="GL_CONVOLUTION_FORMAT_EXT"/>
-        <enum value="0x8018" name="GL_CONVOLUTION_WIDTH"/>
-        <enum value="0x8018" name="GL_CONVOLUTION_WIDTH_EXT"/>
-        <enum value="0x8019" name="GL_CONVOLUTION_HEIGHT"/>
-        <enum value="0x8019" name="GL_CONVOLUTION_HEIGHT_EXT"/>
-        <enum value="0x801A" name="GL_MAX_CONVOLUTION_WIDTH"/>
-        <enum value="0x801A" name="GL_MAX_CONVOLUTION_WIDTH_EXT"/>
-        <enum value="0x801B" name="GL_MAX_CONVOLUTION_HEIGHT"/>
-        <enum value="0x801B" name="GL_MAX_CONVOLUTION_HEIGHT_EXT"/>
-        <enum value="0x801C" name="GL_POST_CONVOLUTION_RED_SCALE"/>
-        <enum value="0x801C" name="GL_POST_CONVOLUTION_RED_SCALE_EXT"/>
-        <enum value="0x801D" name="GL_POST_CONVOLUTION_GREEN_SCALE"/>
-        <enum value="0x801D" name="GL_POST_CONVOLUTION_GREEN_SCALE_EXT"/>
-        <enum value="0x801E" name="GL_POST_CONVOLUTION_BLUE_SCALE"/>
-        <enum value="0x801E" name="GL_POST_CONVOLUTION_BLUE_SCALE_EXT"/>
-        <enum value="0x801F" name="GL_POST_CONVOLUTION_ALPHA_SCALE"/>
-        <enum value="0x801F" name="GL_POST_CONVOLUTION_ALPHA_SCALE_EXT"/>
-        <enum value="0x8020" name="GL_POST_CONVOLUTION_RED_BIAS"/>
-        <enum value="0x8020" name="GL_POST_CONVOLUTION_RED_BIAS_EXT"/>
-        <enum value="0x8021" name="GL_POST_CONVOLUTION_GREEN_BIAS"/>
-        <enum value="0x8021" name="GL_POST_CONVOLUTION_GREEN_BIAS_EXT"/>
-        <enum value="0x8022" name="GL_POST_CONVOLUTION_BLUE_BIAS"/>
-        <enum value="0x8022" name="GL_POST_CONVOLUTION_BLUE_BIAS_EXT"/>
-        <enum value="0x8023" name="GL_POST_CONVOLUTION_ALPHA_BIAS"/>
-        <enum value="0x8023" name="GL_POST_CONVOLUTION_ALPHA_BIAS_EXT"/>
-        <enum value="0x8024" name="GL_HISTOGRAM"/>
-        <enum value="0x8024" name="GL_HISTOGRAM_EXT"/>
-        <enum value="0x8025" name="GL_PROXY_HISTOGRAM"/>
-        <enum value="0x8025" name="GL_PROXY_HISTOGRAM_EXT"/>
-        <enum value="0x8026" name="GL_HISTOGRAM_WIDTH"/>
-        <enum value="0x8026" name="GL_HISTOGRAM_WIDTH_EXT"/>
-        <enum value="0x8027" name="GL_HISTOGRAM_FORMAT"/>
-        <enum value="0x8027" name="GL_HISTOGRAM_FORMAT_EXT"/>
-        <enum value="0x8028" name="GL_HISTOGRAM_RED_SIZE"/>
-        <enum value="0x8028" name="GL_HISTOGRAM_RED_SIZE_EXT"/>
-        <enum value="0x8029" name="GL_HISTOGRAM_GREEN_SIZE"/>
-        <enum value="0x8029" name="GL_HISTOGRAM_GREEN_SIZE_EXT"/>
-        <enum value="0x802A" name="GL_HISTOGRAM_BLUE_SIZE"/>
-        <enum value="0x802A" name="GL_HISTOGRAM_BLUE_SIZE_EXT"/>
-        <enum value="0x802B" name="GL_HISTOGRAM_ALPHA_SIZE"/>
-        <enum value="0x802B" name="GL_HISTOGRAM_ALPHA_SIZE_EXT"/>
-        <enum value="0x802C" name="GL_HISTOGRAM_LUMINANCE_SIZE"/>
-        <enum value="0x802C" name="GL_HISTOGRAM_LUMINANCE_SIZE_EXT"/>
-        <enum value="0x802D" name="GL_HISTOGRAM_SINK"/>
-        <enum value="0x802D" name="GL_HISTOGRAM_SINK_EXT"/>
-        <enum value="0x802E" name="GL_MINMAX"/>
-        <enum value="0x802E" name="GL_MINMAX_EXT"/>
-        <enum value="0x802F" name="GL_MINMAX_FORMAT"/>
-        <enum value="0x802F" name="GL_MINMAX_FORMAT_EXT"/>
-        <enum value="0x8030" name="GL_MINMAX_SINK"/>
-        <enum value="0x8030" name="GL_MINMAX_SINK_EXT"/>
-        <enum value="0x8031" name="GL_TABLE_TOO_LARGE_EXT"/>
-        <enum value="0x8031" name="GL_TABLE_TOO_LARGE"/>
-        <enum value="0x8032" name="GL_UNSIGNED_BYTE_3_3_2"/>
-        <enum value="0x8032" name="GL_UNSIGNED_BYTE_3_3_2_EXT"/>
-        <enum value="0x8033" name="GL_UNSIGNED_SHORT_4_4_4_4"/>
-        <enum value="0x8033" name="GL_UNSIGNED_SHORT_4_4_4_4_EXT"/>
-        <enum value="0x8034" name="GL_UNSIGNED_SHORT_5_5_5_1"/>
-        <enum value="0x8034" name="GL_UNSIGNED_SHORT_5_5_5_1_EXT"/>
-        <enum value="0x8035" name="GL_UNSIGNED_INT_8_8_8_8"/>
-        <enum value="0x8035" name="GL_UNSIGNED_INT_8_8_8_8_EXT"/>
-        <enum value="0x8036" name="GL_UNSIGNED_INT_10_10_10_2"/>
-        <enum value="0x8036" name="GL_UNSIGNED_INT_10_10_10_2_EXT"/>
-        <enum value="0x8037" name="GL_POLYGON_OFFSET_EXT"/>
-        <enum value="0x8037" name="GL_POLYGON_OFFSET_FILL"/>
-        <enum value="0x8038" name="GL_POLYGON_OFFSET_FACTOR"/>
-        <enum value="0x8038" name="GL_POLYGON_OFFSET_FACTOR_EXT"/>
-        <enum value="0x8039" name="GL_POLYGON_OFFSET_BIAS_EXT"/>
-        <enum value="0x803A" name="GL_RESCALE_NORMAL"/>
-        <enum value="0x803A" name="GL_RESCALE_NORMAL_EXT"/>
-        <enum value="0x803B" name="GL_ALPHA4"/>
-        <enum value="0x803B" name="GL_ALPHA4_EXT"/>
-        <enum value="0x803C" name="GL_ALPHA8"/>
-        <enum value="0x803C" name="GL_ALPHA8_EXT"/>
-        <enum value="0x803C" name="GL_ALPHA8_OES"/>
-        <enum value="0x803D" name="GL_ALPHA12"/>
-        <enum value="0x803D" name="GL_ALPHA12_EXT"/>
-        <enum value="0x803E" name="GL_ALPHA16"/>
-        <enum value="0x803E" name="GL_ALPHA16_EXT"/>
-        <enum value="0x803F" name="GL_LUMINANCE4"/>
-        <enum value="0x803F" name="GL_LUMINANCE4_EXT"/>
-        <enum value="0x8040" name="GL_LUMINANCE8"/>
-        <enum value="0x8040" name="GL_LUMINANCE8_EXT"/>
-        <enum value="0x8040" name="GL_LUMINANCE8_OES"/>
-        <enum value="0x8041" name="GL_LUMINANCE12"/>
-        <enum value="0x8041" name="GL_LUMINANCE12_EXT"/>
-        <enum value="0x8042" name="GL_LUMINANCE16"/>
-        <enum value="0x8042" name="GL_LUMINANCE16_EXT"/>
-        <enum value="0x8043" name="GL_LUMINANCE4_ALPHA4"/>
-        <enum value="0x8043" name="GL_LUMINANCE4_ALPHA4_EXT"/>
-        <enum value="0x8043" name="GL_LUMINANCE4_ALPHA4_OES"/>
-        <enum value="0x8044" name="GL_LUMINANCE6_ALPHA2"/>
-        <enum value="0x8044" name="GL_LUMINANCE6_ALPHA2_EXT"/>
-        <enum value="0x8045" name="GL_LUMINANCE8_ALPHA8"/>
-        <enum value="0x8045" name="GL_LUMINANCE8_ALPHA8_EXT"/>
-        <enum value="0x8045" name="GL_LUMINANCE8_ALPHA8_OES"/>
-        <enum value="0x8046" name="GL_LUMINANCE12_ALPHA4"/>
-        <enum value="0x8046" name="GL_LUMINANCE12_ALPHA4_EXT"/>
-        <enum value="0x8047" name="GL_LUMINANCE12_ALPHA12"/>
-        <enum value="0x8047" name="GL_LUMINANCE12_ALPHA12_EXT"/>
-        <enum value="0x8048" name="GL_LUMINANCE16_ALPHA16"/>
-        <enum value="0x8048" name="GL_LUMINANCE16_ALPHA16_EXT"/>
-        <enum value="0x8049" name="GL_INTENSITY"/>
-        <enum value="0x8049" name="GL_INTENSITY_EXT"/>
-        <enum value="0x804A" name="GL_INTENSITY4"/>
-        <enum value="0x804A" name="GL_INTENSITY4_EXT"/>
-        <enum value="0x804B" name="GL_INTENSITY8"/>
-        <enum value="0x804B" name="GL_INTENSITY8_EXT"/>
-        <enum value="0x804C" name="GL_INTENSITY12"/>
-        <enum value="0x804C" name="GL_INTENSITY12_EXT"/>
-        <enum value="0x804D" name="GL_INTENSITY16"/>
-        <enum value="0x804D" name="GL_INTENSITY16_EXT"/>
-        <enum value="0x804E" name="GL_RGB2_EXT"/>
-        <enum value="0x804F" name="GL_RGB4"/>
-        <enum value="0x804F" name="GL_RGB4_EXT"/>
-        <enum value="0x8050" name="GL_RGB5"/>
-        <enum value="0x8050" name="GL_RGB5_EXT"/>
-        <enum value="0x8051" name="GL_RGB8"/>
-        <enum value="0x8051" name="GL_RGB8_EXT"/>
-        <enum value="0x8051" name="GL_RGB8_OES"/>
-        <enum value="0x8052" name="GL_RGB10"/>
-        <enum value="0x8052" name="GL_RGB10_EXT"/>
-        <enum value="0x8053" name="GL_RGB12"/>
-        <enum value="0x8053" name="GL_RGB12_EXT"/>
-        <enum value="0x8054" name="GL_RGB16"/>
-        <enum value="0x8054" name="GL_RGB16_EXT"/>
-        <enum value="0x8055" name="GL_RGBA2"/>
-        <enum value="0x8055" name="GL_RGBA2_EXT"/>
-        <enum value="0x8056" name="GL_RGBA4"/>
-        <enum value="0x8056" name="GL_RGBA4_EXT"/>
-        <enum value="0x8056" name="GL_RGBA4_OES"/>
-        <enum value="0x8057" name="GL_RGB5_A1"/>
-        <enum value="0x8057" name="GL_RGB5_A1_EXT"/>
-        <enum value="0x8057" name="GL_RGB5_A1_OES"/>
-        <enum value="0x8058" name="GL_RGBA8"/>
-        <enum value="0x8058" name="GL_RGBA8_EXT"/>
-        <enum value="0x8058" name="GL_RGBA8_OES"/>
-        <enum value="0x8059" name="GL_RGB10_A2"/>
-        <enum value="0x8059" name="GL_RGB10_A2_EXT"/>
-        <enum value="0x805A" name="GL_RGBA12"/>
-        <enum value="0x805A" name="GL_RGBA12_EXT"/>
-        <enum value="0x805B" name="GL_RGBA16"/>
-        <enum value="0x805B" name="GL_RGBA16_EXT"/>
-        <enum value="0x805C" name="GL_TEXTURE_RED_SIZE"/>
-        <enum value="0x805C" name="GL_TEXTURE_RED_SIZE_EXT"/>
-        <enum value="0x805D" name="GL_TEXTURE_GREEN_SIZE"/>
-        <enum value="0x805D" name="GL_TEXTURE_GREEN_SIZE_EXT"/>
-        <enum value="0x805E" name="GL_TEXTURE_BLUE_SIZE"/>
-        <enum value="0x805E" name="GL_TEXTURE_BLUE_SIZE_EXT"/>
-        <enum value="0x805F" name="GL_TEXTURE_ALPHA_SIZE"/>
-        <enum value="0x805F" name="GL_TEXTURE_ALPHA_SIZE_EXT"/>
-        <enum value="0x8060" name="GL_TEXTURE_LUMINANCE_SIZE"/>
-        <enum value="0x8060" name="GL_TEXTURE_LUMINANCE_SIZE_EXT"/>
-        <enum value="0x8061" name="GL_TEXTURE_INTENSITY_SIZE"/>
-        <enum value="0x8061" name="GL_TEXTURE_INTENSITY_SIZE_EXT"/>
-        <enum value="0x8062" name="GL_REPLACE_EXT"/>
-        <enum value="0x8063" name="GL_PROXY_TEXTURE_1D"/>
-        <enum value="0x8063" name="GL_PROXY_TEXTURE_1D_EXT"/>
-        <enum value="0x8064" name="GL_PROXY_TEXTURE_2D"/>
-        <enum value="0x8064" name="GL_PROXY_TEXTURE_2D_EXT"/>
-        <enum value="0x8065" name="GL_TEXTURE_TOO_LARGE_EXT"/>
-        <enum value="0x8066" name="GL_TEXTURE_PRIORITY"/>
-        <enum value="0x8066" name="GL_TEXTURE_PRIORITY_EXT"/>
-        <enum value="0x8067" name="GL_TEXTURE_RESIDENT"/>
-        <enum value="0x8067" name="GL_TEXTURE_RESIDENT_EXT"/>
-        <enum value="0x8068" name="GL_TEXTURE_1D_BINDING_EXT"/>
-        <enum value="0x8068" name="GL_TEXTURE_BINDING_1D"/>
-        <enum value="0x8069" name="GL_TEXTURE_2D_BINDING_EXT"/>
-        <enum value="0x8069" name="GL_TEXTURE_BINDING_2D"/>
-        <enum value="0x806A" name="GL_TEXTURE_3D_BINDING_EXT"/>
-        <enum value="0x806A" name="GL_TEXTURE_3D_BINDING_OES"/>
-        <enum value="0x806A" name="GL_TEXTURE_BINDING_3D"/>
-        <enum value="0x806A" name="GL_TEXTURE_BINDING_3D_OES"/>
-        <enum value="0x806B" name="GL_PACK_SKIP_IMAGES"/>
-        <enum value="0x806B" name="GL_PACK_SKIP_IMAGES_EXT"/>
-        <enum value="0x806C" name="GL_PACK_IMAGE_HEIGHT"/>
-        <enum value="0x806C" name="GL_PACK_IMAGE_HEIGHT_EXT"/>
-        <enum value="0x806D" name="GL_UNPACK_SKIP_IMAGES"/>
-        <enum value="0x806D" name="GL_UNPACK_SKIP_IMAGES_EXT"/>
-        <enum value="0x806E" name="GL_UNPACK_IMAGE_HEIGHT"/>
-        <enum value="0x806E" name="GL_UNPACK_IMAGE_HEIGHT_EXT"/>
-        <enum value="0x806F" name="GL_TEXTURE_3D"/>
-        <enum value="0x806F" name="GL_TEXTURE_3D_EXT"/>
-        <enum value="0x806F" name="GL_TEXTURE_3D_OES"/>
-        <enum value="0x8070" name="GL_PROXY_TEXTURE_3D"/>
-        <enum value="0x8070" name="GL_PROXY_TEXTURE_3D_EXT"/>
-        <enum value="0x8071" name="GL_TEXTURE_DEPTH"/>
-        <enum value="0x8071" name="GL_TEXTURE_DEPTH_EXT"/>
-        <enum value="0x8072" name="GL_TEXTURE_WRAP_R"/>
-        <enum value="0x8072" name="GL_TEXTURE_WRAP_R_EXT"/>
-        <enum value="0x8072" name="GL_TEXTURE_WRAP_R_OES"/>
-        <enum value="0x8073" name="GL_MAX_3D_TEXTURE_SIZE"/>
-        <enum value="0x8073" name="GL_MAX_3D_TEXTURE_SIZE_EXT"/>
-        <enum value="0x8073" name="GL_MAX_3D_TEXTURE_SIZE_OES"/>
-        <enum value="0x8074" name="GL_VERTEX_ARRAY"/>
-        <enum value="0x8074" name="GL_VERTEX_ARRAY_EXT"/>
-        <enum value="0x8074" name="GL_VERTEX_ARRAY_KHR"/>
-        <enum value="0x8075" name="GL_NORMAL_ARRAY"/>
-        <enum value="0x8075" name="GL_NORMAL_ARRAY_EXT"/>
-        <enum value="0x8076" name="GL_COLOR_ARRAY"/>
-        <enum value="0x8076" name="GL_COLOR_ARRAY_EXT"/>
-        <enum value="0x8077" name="GL_INDEX_ARRAY"/>
-        <enum value="0x8077" name="GL_INDEX_ARRAY_EXT"/>
-        <enum value="0x8078" name="GL_TEXTURE_COORD_ARRAY"/>
-        <enum value="0x8078" name="GL_TEXTURE_COORD_ARRAY_EXT"/>
-        <enum value="0x8079" name="GL_EDGE_FLAG_ARRAY"/>
-        <enum value="0x8079" name="GL_EDGE_FLAG_ARRAY_EXT"/>
-        <enum value="0x807A" name="GL_VERTEX_ARRAY_SIZE"/>
-        <enum value="0x807A" name="GL_VERTEX_ARRAY_SIZE_EXT"/>
-        <enum value="0x807B" name="GL_VERTEX_ARRAY_TYPE"/>
-        <enum value="0x807B" name="GL_VERTEX_ARRAY_TYPE_EXT"/>
-        <enum value="0x807C" name="GL_VERTEX_ARRAY_STRIDE"/>
-        <enum value="0x807C" name="GL_VERTEX_ARRAY_STRIDE_EXT"/>
-        <enum value="0x807D" name="GL_VERTEX_ARRAY_COUNT_EXT"/>
-        <enum value="0x807E" name="GL_NORMAL_ARRAY_TYPE"/>
-        <enum value="0x807E" name="GL_NORMAL_ARRAY_TYPE_EXT"/>
-        <enum value="0x807F" name="GL_NORMAL_ARRAY_STRIDE"/>
-        <enum value="0x807F" name="GL_NORMAL_ARRAY_STRIDE_EXT"/>
-        <enum value="0x8080" name="GL_NORMAL_ARRAY_COUNT_EXT"/>
-        <enum value="0x8081" name="GL_COLOR_ARRAY_SIZE"/>
-        <enum value="0x8081" name="GL_COLOR_ARRAY_SIZE_EXT"/>
-        <enum value="0x8082" name="GL_COLOR_ARRAY_TYPE"/>
-        <enum value="0x8082" name="GL_COLOR_ARRAY_TYPE_EXT"/>
-        <enum value="0x8083" name="GL_COLOR_ARRAY_STRIDE"/>
-        <enum value="0x8083" name="GL_COLOR_ARRAY_STRIDE_EXT"/>
-        <enum value="0x8084" name="GL_COLOR_ARRAY_COUNT_EXT"/>
-        <enum value="0x8085" name="GL_INDEX_ARRAY_TYPE"/>
-        <enum value="0x8085" name="GL_INDEX_ARRAY_TYPE_EXT"/>
-        <enum value="0x8086" name="GL_INDEX_ARRAY_STRIDE"/>
-        <enum value="0x8086" name="GL_INDEX_ARRAY_STRIDE_EXT"/>
-        <enum value="0x8087" name="GL_INDEX_ARRAY_COUNT_EXT"/>
-        <enum value="0x8088" name="GL_TEXTURE_COORD_ARRAY_SIZE"/>
-        <enum value="0x8088" name="GL_TEXTURE_COORD_ARRAY_SIZE_EXT"/>
-        <enum value="0x8089" name="GL_TEXTURE_COORD_ARRAY_TYPE"/>
-        <enum value="0x8089" name="GL_TEXTURE_COORD_ARRAY_TYPE_EXT"/>
-        <enum value="0x808A" name="GL_TEXTURE_COORD_ARRAY_STRIDE"/>
-        <enum value="0x808A" name="GL_TEXTURE_COORD_ARRAY_STRIDE_EXT"/>
-        <enum value="0x808B" name="GL_TEXTURE_COORD_ARRAY_COUNT_EXT"/>
-        <enum value="0x808C" name="GL_EDGE_FLAG_ARRAY_STRIDE"/>
-        <enum value="0x808C" name="GL_EDGE_FLAG_ARRAY_STRIDE_EXT"/>
-        <enum value="0x808D" name="GL_EDGE_FLAG_ARRAY_COUNT_EXT"/>
-        <enum value="0x808E" name="GL_VERTEX_ARRAY_POINTER"/>
-        <enum value="0x808E" name="GL_VERTEX_ARRAY_POINTER_EXT"/>
-        <enum value="0x808F" name="GL_NORMAL_ARRAY_POINTER"/>
-        <enum value="0x808F" name="GL_NORMAL_ARRAY_POINTER_EXT"/>
-        <enum value="0x8090" name="GL_COLOR_ARRAY_POINTER"/>
-        <enum value="0x8090" name="GL_COLOR_ARRAY_POINTER_EXT"/>
-        <enum value="0x8091" name="GL_INDEX_ARRAY_POINTER"/>
-        <enum value="0x8091" name="GL_INDEX_ARRAY_POINTER_EXT"/>
-        <enum value="0x8092" name="GL_TEXTURE_COORD_ARRAY_POINTER"/>
-        <enum value="0x8092" name="GL_TEXTURE_COORD_ARRAY_POINTER_EXT"/>
-        <enum value="0x8093" name="GL_EDGE_FLAG_ARRAY_POINTER"/>
-        <enum value="0x8093" name="GL_EDGE_FLAG_ARRAY_POINTER_EXT"/>
-        <enum value="0x8094" name="GL_INTERLACE_SGIX"/>
-        <enum value="0x8095" name="GL_DETAIL_TEXTURE_2D_SGIS"/>
-        <enum value="0x8096" name="GL_DETAIL_TEXTURE_2D_BINDING_SGIS"/>
-        <enum value="0x8097" name="GL_LINEAR_DETAIL_SGIS"/>
-        <enum value="0x8098" name="GL_LINEAR_DETAIL_ALPHA_SGIS"/>
-        <enum value="0x8099" name="GL_LINEAR_DETAIL_COLOR_SGIS"/>
-        <enum value="0x809A" name="GL_DETAIL_TEXTURE_LEVEL_SGIS"/>
-        <enum value="0x809B" name="GL_DETAIL_TEXTURE_MODE_SGIS"/>
-        <enum value="0x809C" name="GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS"/>
-        <enum value="0x809D" name="GL_MULTISAMPLE"/>
-        <enum value="0x809D" name="GL_MULTISAMPLE_ARB"/>
-        <enum value="0x809D" name="GL_MULTISAMPLE_EXT"/>
-        <enum value="0x809D" name="GL_MULTISAMPLE_SGIS"/>
-        <enum value="0x809E" name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
-        <enum value="0x809E" name="GL_SAMPLE_ALPHA_TO_COVERAGE_ARB"/>
-        <enum value="0x809E" name="GL_SAMPLE_ALPHA_TO_MASK_EXT"/>
-        <enum value="0x809E" name="GL_SAMPLE_ALPHA_TO_MASK_SGIS"/>
-        <enum value="0x809F" name="GL_SAMPLE_ALPHA_TO_ONE"/>
-        <enum value="0x809F" name="GL_SAMPLE_ALPHA_TO_ONE_ARB"/>
-        <enum value="0x809F" name="GL_SAMPLE_ALPHA_TO_ONE_EXT"/>
-        <enum value="0x809F" name="GL_SAMPLE_ALPHA_TO_ONE_SGIS"/>
-        <enum value="0x80A0" name="GL_SAMPLE_COVERAGE"/>
-        <enum value="0x80A0" name="GL_SAMPLE_COVERAGE_ARB"/>
-        <enum value="0x80A0" name="GL_SAMPLE_MASK_EXT"/>
-        <enum value="0x80A0" name="GL_SAMPLE_MASK_SGIS"/>
-        <enum value="0x80A1" name="GL_1PASS_EXT"/>
-        <enum value="0x80A1" name="GL_1PASS_SGIS"/>
-        <enum value="0x80A2" name="GL_2PASS_0_EXT"/>
-        <enum value="0x80A2" name="GL_2PASS_0_SGIS"/>
-        <enum value="0x80A3" name="GL_2PASS_1_EXT"/>
-        <enum value="0x80A3" name="GL_2PASS_1_SGIS"/>
-        <enum value="0x80A4" name="GL_4PASS_0_EXT"/>
-        <enum value="0x80A4" name="GL_4PASS_0_SGIS"/>
-        <enum value="0x80A5" name="GL_4PASS_1_EXT"/>
-        <enum value="0x80A5" name="GL_4PASS_1_SGIS"/>
-        <enum value="0x80A6" name="GL_4PASS_2_EXT"/>
-        <enum value="0x80A6" name="GL_4PASS_2_SGIS"/>
-        <enum value="0x80A7" name="GL_4PASS_3_EXT"/>
-        <enum value="0x80A7" name="GL_4PASS_3_SGIS"/>
-        <enum value="0x80A8" name="GL_SAMPLE_BUFFERS"/>
-        <enum value="0x80A8" name="GL_SAMPLE_BUFFERS_ARB"/>
-        <enum value="0x80A8" name="GL_SAMPLE_BUFFERS_EXT"/>
-        <enum value="0x80A8" name="GL_SAMPLE_BUFFERS_SGIS"/>
-        <enum value="0x80A9" name="GL_SAMPLES"/>
-        <enum value="0x80A9" name="GL_SAMPLES_ARB"/>
-        <enum value="0x80A9" name="GL_SAMPLES_EXT"/>
-        <enum value="0x80A9" name="GL_SAMPLES_SGIS"/>
-        <enum value="0x80AA" name="GL_SAMPLE_COVERAGE_VALUE"/>
-        <enum value="0x80AA" name="GL_SAMPLE_COVERAGE_VALUE_ARB"/>
-        <enum value="0x80AA" name="GL_SAMPLE_MASK_VALUE_EXT"/>
-        <enum value="0x80AA" name="GL_SAMPLE_MASK_VALUE_SGIS"/>
-        <enum value="0x80AB" name="GL_SAMPLE_COVERAGE_INVERT"/>
-        <enum value="0x80AB" name="GL_SAMPLE_COVERAGE_INVERT_ARB"/>
-        <enum value="0x80AB" name="GL_SAMPLE_MASK_INVERT_EXT"/>
-        <enum value="0x80AB" name="GL_SAMPLE_MASK_INVERT_SGIS"/>
-        <enum value="0x80AC" name="GL_SAMPLE_PATTERN_EXT"/>
-        <enum value="0x80AC" name="GL_SAMPLE_PATTERN_SGIS"/>
-        <enum value="0x80AD" name="GL_LINEAR_SHARPEN_SGIS"/>
-        <enum value="0x80AE" name="GL_LINEAR_SHARPEN_ALPHA_SGIS"/>
-        <enum value="0x80AF" name="GL_LINEAR_SHARPEN_COLOR_SGIS"/>
-        <enum value="0x80B0" name="GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS"/>
-        <enum value="0x80B1" name="GL_COLOR_MATRIX"/>
-        <enum value="0x80B1" name="GL_COLOR_MATRIX_SGI"/>
-        <enum value="0x80B2" name="GL_COLOR_MATRIX_STACK_DEPTH"/>
-        <enum value="0x80B2" name="GL_COLOR_MATRIX_STACK_DEPTH_SGI"/>
-        <enum value="0x80B3" name="GL_MAX_COLOR_MATRIX_STACK_DEPTH"/>
-        <enum value="0x80B3" name="GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI"/>
-        <enum value="0x80B4" name="GL_POST_COLOR_MATRIX_RED_SCALE"/>
-        <enum value="0x80B4" name="GL_POST_COLOR_MATRIX_RED_SCALE_SGI"/>
-        <enum value="0x80B5" name="GL_POST_COLOR_MATRIX_GREEN_SCALE"/>
-        <enum value="0x80B5" name="GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI"/>
-        <enum value="0x80B6" name="GL_POST_COLOR_MATRIX_BLUE_SCALE"/>
-        <enum value="0x80B6" name="GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI"/>
-        <enum value="0x80B7" name="GL_POST_COLOR_MATRIX_ALPHA_SCALE"/>
-        <enum value="0x80B7" name="GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI"/>
-        <enum value="0x80B8" name="GL_POST_COLOR_MATRIX_RED_BIAS"/>
-        <enum value="0x80B8" name="GL_POST_COLOR_MATRIX_RED_BIAS_SGI"/>
-        <enum value="0x80B9" name="GL_POST_COLOR_MATRIX_GREEN_BIAS"/>
-        <enum value="0x80B9" name="GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI"/>
-        <enum value="0x80BA" name="GL_POST_COLOR_MATRIX_BLUE_BIAS"/>
-        <enum value="0x80BA" name="GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI"/>
-        <enum value="0x80BB" name="GL_POST_COLOR_MATRIX_ALPHA_BIAS"/>
-        <enum value="0x80BB" name="GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI"/>
-        <enum value="0x80BC" name="GL_TEXTURE_COLOR_TABLE_SGI"/>
-        <enum value="0x80BD" name="GL_PROXY_TEXTURE_COLOR_TABLE_SGI"/>
-        <enum value="0x80BE" name="GL_TEXTURE_ENV_BIAS_SGIX"/>
-        <enum value="0x80BF" name="GL_SHADOW_AMBIENT_SGIX"/>
-        <enum value="0x80BF" name="GL_TEXTURE_COMPARE_FAIL_VALUE_ARB"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x80C0" end="0x80CF" vendor="ZiiLabs">
-            <unused start="0x80C0" end="0x80C7"/>
-        <enum value="0x80C8" name="GL_BLEND_DST_RGB"/>
-        <enum value="0x80C8" name="GL_BLEND_DST_RGB_EXT"/>
-        <enum value="0x80C8" name="GL_BLEND_DST_RGB_OES"/>
-        <enum value="0x80C9" name="GL_BLEND_SRC_RGB"/>
-        <enum value="0x80C9" name="GL_BLEND_SRC_RGB_EXT"/>
-        <enum value="0x80C9" name="GL_BLEND_SRC_RGB_OES"/>
-        <enum value="0x80CA" name="GL_BLEND_DST_ALPHA"/>
-        <enum value="0x80CA" name="GL_BLEND_DST_ALPHA_EXT"/>
-        <enum value="0x80CA" name="GL_BLEND_DST_ALPHA_OES"/>
-        <enum value="0x80CB" name="GL_BLEND_SRC_ALPHA"/>
-        <enum value="0x80CB" name="GL_BLEND_SRC_ALPHA_EXT"/>
-        <enum value="0x80CB" name="GL_BLEND_SRC_ALPHA_OES"/>
-        <enum value="0x80CC" name="GL_422_EXT"/>
-        <enum value="0x80CD" name="GL_422_REV_EXT"/>
-        <enum value="0x80CE" name="GL_422_AVERAGE_EXT"/>
-        <enum value="0x80CF" name="GL_422_REV_AVERAGE_EXT"/>
-    </enums>
+        <group name="Buffer" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_COLOR"/>
+            <enum name="GL_DEPTH"/>
+            <enum name="GL_STENCIL"/>
+        </group>
 
-    <enums namespace="GL" start="0x80D0" end="0x80DF" vendor="SGI">
-        <enum value="0x80D0" name="GL_COLOR_TABLE"/>
-        <enum value="0x80D0" name="GL_COLOR_TABLE_SGI"/>
-        <enum value="0x80D1" name="GL_POST_CONVOLUTION_COLOR_TABLE"/>
-        <enum value="0x80D1" name="GL_POST_CONVOLUTION_COLOR_TABLE_SGI"/>
-        <enum value="0x80D2" name="GL_POST_COLOR_MATRIX_COLOR_TABLE"/>
-        <enum value="0x80D2" name="GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI"/>
-        <enum value="0x80D3" name="GL_PROXY_COLOR_TABLE"/>
-        <enum value="0x80D3" name="GL_PROXY_COLOR_TABLE_SGI"/>
-        <enum value="0x80D4" name="GL_PROXY_POST_CONVOLUTION_COLOR_TABLE"/>
-        <enum value="0x80D4" name="GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI"/>
-        <enum value="0x80D5" name="GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE"/>
-        <enum value="0x80D5" name="GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI"/>
-        <enum value="0x80D6" name="GL_COLOR_TABLE_SCALE"/>
-        <enum value="0x80D6" name="GL_COLOR_TABLE_SCALE_SGI"/>
-        <enum value="0x80D7" name="GL_COLOR_TABLE_BIAS"/>
-        <enum value="0x80D7" name="GL_COLOR_TABLE_BIAS_SGI"/>
-        <enum value="0x80D8" name="GL_COLOR_TABLE_FORMAT"/>
-        <enum value="0x80D8" name="GL_COLOR_TABLE_FORMAT_SGI"/>
-        <enum value="0x80D9" name="GL_COLOR_TABLE_WIDTH"/>
-        <enum value="0x80D9" name="GL_COLOR_TABLE_WIDTH_SGI"/>
-        <enum value="0x80DA" name="GL_COLOR_TABLE_RED_SIZE"/>
-        <enum value="0x80DA" name="GL_COLOR_TABLE_RED_SIZE_SGI"/>
-        <enum value="0x80DB" name="GL_COLOR_TABLE_GREEN_SIZE"/>
-        <enum value="0x80DB" name="GL_COLOR_TABLE_GREEN_SIZE_SGI"/>
-        <enum value="0x80DC" name="GL_COLOR_TABLE_BLUE_SIZE"/>
-        <enum value="0x80DC" name="GL_COLOR_TABLE_BLUE_SIZE_SGI"/>
-        <enum value="0x80DD" name="GL_COLOR_TABLE_ALPHA_SIZE"/>
-        <enum value="0x80DD" name="GL_COLOR_TABLE_ALPHA_SIZE_SGI"/>
-        <enum value="0x80DE" name="GL_COLOR_TABLE_LUMINANCE_SIZE"/>
-        <enum value="0x80DE" name="GL_COLOR_TABLE_LUMINANCE_SIZE_SGI"/>
-        <enum value="0x80DF" name="GL_COLOR_TABLE_INTENSITY_SIZE"/>
-        <enum value="0x80DF" name="GL_COLOR_TABLE_INTENSITY_SIZE_SGI"/>
-    </enums>
+        <group name="ClipControlOrigin" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_LOWER_LEFT"/>
+            <enum name="GL_UPPER_LEFT"/>
+        </group>
 
-    <enums namespace="GL" start="0x80E0" end="0x810F" vendor="MS">
-        <enum value="0x80E0" name="GL_BGR"/>
-        <enum value="0x80E0" name="GL_BGR_EXT"/>
-        <enum value="0x80E1" name="GL_BGRA"/>
-        <enum value="0x80E1" name="GL_BGRA_EXT"/>
-        <enum value="0x80E1" name="GL_BGRA_IMG"/>
-        <enum value="0x80E2" name="GL_COLOR_INDEX1_EXT"/>
-        <enum value="0x80E3" name="GL_COLOR_INDEX2_EXT"/>
-        <enum value="0x80E4" name="GL_COLOR_INDEX4_EXT"/>
-        <enum value="0x80E5" name="GL_COLOR_INDEX8_EXT"/>
-        <enum value="0x80E6" name="GL_COLOR_INDEX12_EXT"/>
-        <enum value="0x80E7" name="GL_COLOR_INDEX16_EXT"/>
-        <enum value="0x80E8" name="GL_MAX_ELEMENTS_VERTICES"/>
-        <enum value="0x80E8" name="GL_MAX_ELEMENTS_VERTICES_EXT"/>
-        <enum value="0x80E9" name="GL_MAX_ELEMENTS_INDICES"/>
-        <enum value="0x80E9" name="GL_MAX_ELEMENTS_INDICES_EXT"/>
-        <enum value="0x80EA" name="GL_PHONG_WIN"/>
-        <enum value="0x80EB" name="GL_PHONG_HINT_WIN"/>
-        <enum value="0x80EC" name="GL_FOG_SPECULAR_TEXTURE_WIN"/>
-        <enum value="0x80ED" name="GL_TEXTURE_INDEX_SIZE_EXT"/>
-        <enum value="0x80EE" name="GL_PARAMETER_BUFFER_ARB"/>
-        <enum value="0x80EF" name="GL_PARAMETER_BUFFER_BINDING_ARB"/>
-        <enum value="0x80F0" name="GL_CLIP_VOLUME_CLIPPING_HINT_EXT"/>
-            <unused start="0x80F1" end="0x810F"/>
-    </enums>
+        <group name="ClipControlDepth" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_NEGATIVE_ONE_TO_ONE"/>
+            <enum name="GL_ZERO_TO_ONE"/>
+        </group>
 
-    <enums namespace="GL" start="0x8110" end="0x814F" vendor="SGI">
-        <enum value="0x8110" name="GL_DUAL_ALPHA4_SGIS"/>
-        <enum value="0x8111" name="GL_DUAL_ALPHA8_SGIS"/>
-        <enum value="0x8112" name="GL_DUAL_ALPHA12_SGIS"/>
-        <enum value="0x8113" name="GL_DUAL_ALPHA16_SGIS"/>
-        <enum value="0x8114" name="GL_DUAL_LUMINANCE4_SGIS"/>
-        <enum value="0x8115" name="GL_DUAL_LUMINANCE8_SGIS"/>
-        <enum value="0x8116" name="GL_DUAL_LUMINANCE12_SGIS"/>
-        <enum value="0x8117" name="GL_DUAL_LUMINANCE16_SGIS"/>
-        <enum value="0x8118" name="GL_DUAL_INTENSITY4_SGIS"/>
-        <enum value="0x8119" name="GL_DUAL_INTENSITY8_SGIS"/>
-        <enum value="0x811A" name="GL_DUAL_INTENSITY12_SGIS"/>
-        <enum value="0x811B" name="GL_DUAL_INTENSITY16_SGIS"/>
-        <enum value="0x811C" name="GL_DUAL_LUMINANCE_ALPHA4_SGIS"/>
-        <enum value="0x811D" name="GL_DUAL_LUMINANCE_ALPHA8_SGIS"/>
-        <enum value="0x811E" name="GL_QUAD_ALPHA4_SGIS"/>
-        <enum value="0x811F" name="GL_QUAD_ALPHA8_SGIS"/>
-        <enum value="0x8120" name="GL_QUAD_LUMINANCE4_SGIS"/>
-        <enum value="0x8121" name="GL_QUAD_LUMINANCE8_SGIS"/>
-        <enum value="0x8122" name="GL_QUAD_INTENSITY4_SGIS"/>
-        <enum value="0x8123" name="GL_QUAD_INTENSITY8_SGIS"/>
-        <enum value="0x8124" name="GL_DUAL_TEXTURE_SELECT_SGIS"/>
-        <enum value="0x8125" name="GL_QUAD_TEXTURE_SELECT_SGIS"/>
-        <enum value="0x8126" name="GL_POINT_SIZE_MIN"/>
-        <enum value="0x8126" name="GL_POINT_SIZE_MIN_ARB"/>
-        <enum value="0x8126" name="GL_POINT_SIZE_MIN_EXT"/>
-        <enum value="0x8126" name="GL_POINT_SIZE_MIN_SGIS"/>
-        <enum value="0x8127" name="GL_POINT_SIZE_MAX"/>
-        <enum value="0x8127" name="GL_POINT_SIZE_MAX_ARB"/>
-        <enum value="0x8127" name="GL_POINT_SIZE_MAX_EXT"/>
-        <enum value="0x8127" name="GL_POINT_SIZE_MAX_SGIS"/>
-        <enum value="0x8128" name="GL_POINT_FADE_THRESHOLD_SIZE"/>
-        <enum value="0x8128" name="GL_POINT_FADE_THRESHOLD_SIZE_ARB"/>
-        <enum value="0x8128" name="GL_POINT_FADE_THRESHOLD_SIZE_EXT"/>
-        <enum value="0x8128" name="GL_POINT_FADE_THRESHOLD_SIZE_SGIS"/>
-        <enum value="0x8129" name="GL_DISTANCE_ATTENUATION_EXT"/>
-        <enum value="0x8129" name="GL_DISTANCE_ATTENUATION_SGIS"/>
-        <enum value="0x8129" name="GL_POINT_DISTANCE_ATTENUATION"/>
-        <enum value="0x8129" name="GL_POINT_DISTANCE_ATTENUATION_ARB"/>
-        <enum value="0x812A" name="GL_FOG_FUNC_SGIS"/>
-        <enum value="0x812B" name="GL_FOG_FUNC_POINTS_SGIS"/>
-        <enum value="0x812C" name="GL_MAX_FOG_FUNC_POINTS_SGIS"/>
-        <enum value="0x812D" name="GL_CLAMP_TO_BORDER"/>
-        <enum value="0x812D" name="GL_CLAMP_TO_BORDER_ARB"/>
-        <enum value="0x812D" name="GL_CLAMP_TO_BORDER_NV"/>
-        <enum value="0x812D" name="GL_CLAMP_TO_BORDER_SGIS"/>
-        <enum value="0x812E" name="GL_TEXTURE_MULTI_BUFFER_HINT_SGIX"/>
-        <enum value="0x812F" name="GL_CLAMP_TO_EDGE"/>
-        <enum value="0x812F" name="GL_CLAMP_TO_EDGE_SGIS"/>
-        <enum value="0x8130" name="GL_PACK_SKIP_VOLUMES_SGIS"/>
-        <enum value="0x8131" name="GL_PACK_IMAGE_DEPTH_SGIS"/>
-        <enum value="0x8132" name="GL_UNPACK_SKIP_VOLUMES_SGIS"/>
-        <enum value="0x8133" name="GL_UNPACK_IMAGE_DEPTH_SGIS"/>
-        <enum value="0x8134" name="GL_TEXTURE_4D_SGIS"/>
-        <enum value="0x8135" name="GL_PROXY_TEXTURE_4D_SGIS"/>
-        <enum value="0x8136" name="GL_TEXTURE_4DSIZE_SGIS"/>
-        <enum value="0x8137" name="GL_TEXTURE_WRAP_Q_SGIS"/>
-        <enum value="0x8138" name="GL_MAX_4D_TEXTURE_SIZE_SGIS"/>
-        <enum value="0x8139" name="GL_PIXEL_TEX_GEN_SGIX"/>
-        <enum value="0x813A" name="GL_TEXTURE_MIN_LOD"/>
-        <enum value="0x813A" name="GL_TEXTURE_MIN_LOD_SGIS"/>
-        <enum value="0x813B" name="GL_TEXTURE_MAX_LOD"/>
-        <enum value="0x813B" name="GL_TEXTURE_MAX_LOD_SGIS"/>
-        <enum value="0x813C" name="GL_TEXTURE_BASE_LEVEL"/>
-        <enum value="0x813C" name="GL_TEXTURE_BASE_LEVEL_SGIS"/>
-        <enum value="0x813D" name="GL_TEXTURE_MAX_LEVEL"/>
-        <enum value="0x813D" name="GL_TEXTURE_MAX_LEVEL_APPLE"/>
-        <enum value="0x813D" name="GL_TEXTURE_MAX_LEVEL_SGIS"/>
-        <enum value="0x813E" name="GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX"/>
-        <enum value="0x813F" name="GL_PIXEL_TILE_CACHE_INCREMENT_SGIX"/>
-        <enum value="0x8140" name="GL_PIXEL_TILE_WIDTH_SGIX"/>
-        <enum value="0x8141" name="GL_PIXEL_TILE_HEIGHT_SGIX"/>
-        <enum value="0x8142" name="GL_PIXEL_TILE_GRID_WIDTH_SGIX"/>
-        <enum value="0x8143" name="GL_PIXEL_TILE_GRID_HEIGHT_SGIX"/>
-        <enum value="0x8144" name="GL_PIXEL_TILE_GRID_DEPTH_SGIX"/>
-        <enum value="0x8145" name="GL_PIXEL_TILE_CACHE_SIZE_SGIX"/>
-        <enum value="0x8146" name="GL_FILTER4_SGIS"/>
-        <enum value="0x8147" name="GL_TEXTURE_FILTER4_SIZE_SGIS"/>
-        <enum value="0x8148" name="GL_SPRITE_SGIX"/>
-        <enum value="0x8149" name="GL_SPRITE_MODE_SGIX"/>
-        <enum value="0x814A" name="GL_SPRITE_AXIS_SGIX"/>
-        <enum value="0x814B" name="GL_SPRITE_TRANSLATION_SGIX"/>
-        <enum value="0x814C" name="GL_SPRITE_AXIAL_SGIX"/>
-        <enum value="0x814D" name="GL_SPRITE_OBJECT_ALIGNED_SGIX"/>
-        <enum value="0x814E" name="GL_SPRITE_EYE_ALIGNED_SGIX"/>
-        <enum value="0x814F" name="GL_TEXTURE_4D_BINDING_SGIS"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8150" end="0x816F" vendor="HP">
-        <enum value="0x8150" name="GL_IGNORE_BORDER_HP"/>
-        <enum value="0x8151" name="GL_CONSTANT_BORDER"/>
-        <enum value="0x8151" name="GL_CONSTANT_BORDER_HP"/>
-            <unused start="0x8152" comment="GL_WRAP_BORDER = 0x8152 was proposed, but not actually promoted to core"/>
-        <enum value="0x8153" name="GL_REPLICATE_BORDER"/>
-        <enum value="0x8153" name="GL_REPLICATE_BORDER_HP"/>
-        <enum value="0x8154" name="GL_CONVOLUTION_BORDER_COLOR"/>
-        <enum value="0x8154" name="GL_CONVOLUTION_BORDER_COLOR_HP"/>
-        <enum value="0x8155" name="GL_IMAGE_SCALE_X_HP"/>
-        <enum value="0x8156" name="GL_IMAGE_SCALE_Y_HP"/>
-        <enum value="0x8157" name="GL_IMAGE_TRANSLATE_X_HP"/>
-        <enum value="0x8158" name="GL_IMAGE_TRANSLATE_Y_HP"/>
-        <enum value="0x8159" name="GL_IMAGE_ROTATE_ANGLE_HP"/>
-        <enum value="0x815A" name="GL_IMAGE_ROTATE_ORIGIN_X_HP"/>
-        <enum value="0x815B" name="GL_IMAGE_ROTATE_ORIGIN_Y_HP"/>
-        <enum value="0x815C" name="GL_IMAGE_MAG_FILTER_HP"/>
-        <enum value="0x815D" name="GL_IMAGE_MIN_FILTER_HP"/>
-        <enum value="0x815E" name="GL_IMAGE_CUBIC_WEIGHT_HP"/>
-        <enum value="0x815F" name="GL_CUBIC_HP"/>
-        <enum value="0x8160" name="GL_AVERAGE_HP"/>
-        <enum value="0x8161" name="GL_IMAGE_TRANSFORM_2D_HP"/>
-        <enum value="0x8162" name="GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP"/>
-        <enum value="0x8163" name="GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP"/>
-            <unused start="0x8164"/>
-        <enum value="0x8165" name="GL_OCCLUSION_TEST_HP"/>
-        <enum value="0x8166" name="GL_OCCLUSION_TEST_RESULT_HP"/>
-        <enum value="0x8167" name="GL_TEXTURE_LIGHTING_MODE_HP"/>
-        <enum value="0x8168" name="GL_TEXTURE_POST_SPECULAR_HP"/>
-        <enum value="0x8169" name="GL_TEXTURE_PRE_SPECULAR_HP"/>
-            <unused start="0x816A" end="0x816F"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8170" end="0x81CF" vendor="SGI">
-        <enum value="0x8170" name="GL_LINEAR_CLIPMAP_LINEAR_SGIX"/>
-        <enum value="0x8171" name="GL_TEXTURE_CLIPMAP_CENTER_SGIX"/>
-        <enum value="0x8172" name="GL_TEXTURE_CLIPMAP_FRAME_SGIX"/>
-        <enum value="0x8173" name="GL_TEXTURE_CLIPMAP_OFFSET_SGIX"/>
-        <enum value="0x8174" name="GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX"/>
-        <enum value="0x8175" name="GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX"/>
-        <enum value="0x8176" name="GL_TEXTURE_CLIPMAP_DEPTH_SGIX"/>
-        <enum value="0x8177" name="GL_MAX_CLIPMAP_DEPTH_SGIX"/>
-        <enum value="0x8178" name="GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX"/>
-        <enum value="0x8179" name="GL_POST_TEXTURE_FILTER_BIAS_SGIX"/>
-        <enum value="0x817A" name="GL_POST_TEXTURE_FILTER_SCALE_SGIX"/>
-        <enum value="0x817B" name="GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX"/>
-        <enum value="0x817C" name="GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX"/>
-        <enum value="0x817D" name="GL_REFERENCE_PLANE_SGIX"/>
-        <enum value="0x817E" name="GL_REFERENCE_PLANE_EQUATION_SGIX"/>
-        <enum value="0x817F" name="GL_IR_INSTRUMENT1_SGIX"/>
-        <enum value="0x8180" name="GL_INSTRUMENT_BUFFER_POINTER_SGIX"/>
-        <enum value="0x8181" name="GL_INSTRUMENT_MEASUREMENTS_SGIX"/>
-        <enum value="0x8182" name="GL_LIST_PRIORITY_SGIX"/>
-        <enum value="0x8183" name="GL_CALLIGRAPHIC_FRAGMENT_SGIX"/>
-        <enum value="0x8184" name="GL_PIXEL_TEX_GEN_Q_CEILING_SGIX"/>
-        <enum value="0x8185" name="GL_PIXEL_TEX_GEN_Q_ROUND_SGIX"/>
-        <enum value="0x8186" name="GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX"/>
-        <enum value="0x8187" name="GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX"/>
-        <enum value="0x8188" name="GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX"/>
-        <enum value="0x8189" name="GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX"/>
-        <enum value="0x818A" name="GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX"/>
-        <enum value="0x818B" name="GL_FRAMEZOOM_SGIX"/>
-        <enum value="0x818C" name="GL_FRAMEZOOM_FACTOR_SGIX"/>
-        <enum value="0x818D" name="GL_MAX_FRAMEZOOM_FACTOR_SGIX"/>
-        <enum value="0x818E" name="GL_TEXTURE_LOD_BIAS_S_SGIX"/>
-        <enum value="0x818F" name="GL_TEXTURE_LOD_BIAS_T_SGIX"/>
-        <enum value="0x8190" name="GL_TEXTURE_LOD_BIAS_R_SGIX"/>
-        <enum value="0x8191" name="GL_GENERATE_MIPMAP"/>
-        <enum value="0x8191" name="GL_GENERATE_MIPMAP_SGIS"/>
-        <enum value="0x8192" name="GL_GENERATE_MIPMAP_HINT"/>
-        <enum value="0x8192" name="GL_GENERATE_MIPMAP_HINT_SGIS"/>
-            <unused start="0x8193" end="0x8193" comment="Incomplete extension SGIX_spotlight_cutoff"/>
-            <!-- <enum value="0x8193" name="GL_SPOT_CUTOFF_DELTA_SGIX"/> -->
-        <enum value="0x8194" name="GL_GEOMETRY_DEFORMATION_SGIX"/>
-        <enum value="0x8195" name="GL_TEXTURE_DEFORMATION_SGIX"/>
-        <enum value="0x8196" name="GL_DEFORMATIONS_MASK_SGIX"/>
-        <enum value="0x8197" name="GL_MAX_DEFORMATION_ORDER_SGIX"/>
-        <enum value="0x8198" name="GL_FOG_OFFSET_SGIX"/>
-        <enum value="0x8199" name="GL_FOG_OFFSET_VALUE_SGIX"/>
-        <enum value="0x819A" name="GL_TEXTURE_COMPARE_SGIX"/>
-        <enum value="0x819B" name="GL_TEXTURE_COMPARE_OPERATOR_SGIX"/>
-        <enum value="0x819C" name="GL_TEXTURE_LEQUAL_R_SGIX"/>
-        <enum value="0x819D" name="GL_TEXTURE_GEQUAL_R_SGIX"/>
-            <unused start="0x819E" end="0x81A4" comment="Private (internal) extension SGIX_igloo_interface"/>
-            <!-- <enum value="0x819E" name="GL_IGLOO_FULLSCREEN_SGIX"/> -->
-            <!-- <enum value="0x819F" name="GL_IGLOO_VIEWPORT_OFFSET_SGIX"/> -->
-            <!-- <enum value="0x81A0" name="GL_IGLOO_SWAPTMESH_SGIX"/> -->
-            <!-- <enum value="0x81A1" name="GL_IGLOO_COLORNORMAL_SGIX"/> -->
-            <!-- <enum value="0x81A2" name="GL_IGLOO_IRISGL_MODE_SGIX"/> -->
-            <!-- <enum value="0x81A3" name="GL_IGLOO_LMC_COLOR_SGIX"/> -->
-            <!-- <enum value="0x81A4" name="GL_IGLOO_TMESHMODE_SGIX"/> -->
-        <enum value="0x81A5" name="GL_DEPTH_COMPONENT16"/>
-        <enum value="0x81A5" name="GL_DEPTH_COMPONENT16_ARB"/>
-        <enum value="0x81A5" name="GL_DEPTH_COMPONENT16_OES"/>
-        <enum value="0x81A5" name="GL_DEPTH_COMPONENT16_SGIX"/>
-        <enum value="0x81A6" name="GL_DEPTH_COMPONENT24"/>
-        <enum value="0x81A6" name="GL_DEPTH_COMPONENT24_ARB"/>
-        <enum value="0x81A6" name="GL_DEPTH_COMPONENT24_OES"/>
-        <enum value="0x81A6" name="GL_DEPTH_COMPONENT24_SGIX"/>
-        <enum value="0x81A7" name="GL_DEPTH_COMPONENT32"/>
-        <enum value="0x81A7" name="GL_DEPTH_COMPONENT32_ARB"/>
-        <enum value="0x81A7" name="GL_DEPTH_COMPONENT32_OES"/>
-        <enum value="0x81A7" name="GL_DEPTH_COMPONENT32_SGIX"/>
-        <enum value="0x81A8" name="GL_ARRAY_ELEMENT_LOCK_FIRST_EXT"/>
-        <enum value="0x81A9" name="GL_ARRAY_ELEMENT_LOCK_COUNT_EXT"/>
-        <enum value="0x81AA" name="GL_CULL_VERTEX_EXT"/>
-        <enum value="0x81AB" name="GL_CULL_VERTEX_EYE_POSITION_EXT"/>
-        <enum value="0x81AC" name="GL_CULL_VERTEX_OBJECT_POSITION_EXT"/>
-        <enum value="0x81AD" name="GL_IUI_V2F_EXT"/>
-        <enum value="0x81AE" name="GL_IUI_V3F_EXT"/>
-        <enum value="0x81AF" name="GL_IUI_N3F_V2F_EXT"/>
-        <enum value="0x81B0" name="GL_IUI_N3F_V3F_EXT"/>
-        <enum value="0x81B1" name="GL_T2F_IUI_V2F_EXT"/>
-        <enum value="0x81B2" name="GL_T2F_IUI_V3F_EXT"/>
-        <enum value="0x81B3" name="GL_T2F_IUI_N3F_V2F_EXT"/>
-        <enum value="0x81B4" name="GL_T2F_IUI_N3F_V3F_EXT"/>
-        <enum value="0x81B5" name="GL_INDEX_TEST_EXT"/>
-        <enum value="0x81B6" name="GL_INDEX_TEST_FUNC_EXT"/>
-        <enum value="0x81B7" name="GL_INDEX_TEST_REF_EXT"/>
-        <enum value="0x81B8" name="GL_INDEX_MATERIAL_EXT"/>
-        <enum value="0x81B9" name="GL_INDEX_MATERIAL_PARAMETER_EXT"/>
-        <enum value="0x81BA" name="GL_INDEX_MATERIAL_FACE_EXT"/>
-        <enum value="0x81BB" name="GL_YCRCB_422_SGIX"/>
-        <enum value="0x81BC" name="GL_YCRCB_444_SGIX"/>
-            <unused start="0x81BD" end="0x81C3" comment="Incomplete extension SGI_complex_type"/>
-            <!-- <enum value="0x81BD" name="GL_COMPLEX_UNSIGNED_BYTE_SGI"/> -->
-            <!-- <enum value="0x81BE" name="GL_COMPLEX_BYTE_SGI"/> -->
-            <!-- <enum value="0x81BF" name="GL_COMPLEX_UNSIGNED_SHORT_SGI"/> -->
-            <!-- <enum value="0x81C0" name="GL_COMPLEX_SHORT_SGI"/> -->
-            <!-- <enum value="0x81C1" name="GL_COMPLEX_UNSIGNED_INT_SGI"/> -->
-            <!-- <enum value="0x81C2" name="GL_COMPLEX_INT_SGI"/> -->
-            <!-- <enum value="0x81C3" name="GL_COMPLEX_FLOAT_SGI"/> -->
-            <unused start="0x81C4" end="0x81CA" comment="Incomplete extension SGI_fft"/>
-            <!-- <enum value="0x81C4" name="GL_PIXEL_TRANSFORM_OPERATOR_SGI"/> -->
-            <!-- <enum value="0x81C5" name="GL_CONVOLUTION_SGI"/> -->
-            <!-- <enum value="0x81C6" name="GL_FFT_1D_SGI"/> -->
-            <!-- <enum value="0x81C7" name="GL_PIXEL_TRANSFORM_SGI"/> -->
-            <!-- <enum value="0x81C8" name="GL_MAX_FFT_WIDTH_SGI"/> -->
-            <!-- <enum value="0x81C9" name="GL_SORT_SGI"/> -->
-            <!-- <enum value="0x81CA" name="GL_TRANSPOSE_SGI"/> -->
-            <unused start="0x81CB" end="0x81CF" comment="Incomplete extension SGIX_nurbs_eval"/>
-            <!-- <enum value="0x81CB" name="GL_MAP1_VERTEX_3_NURBS_SGIX"/> -->
-            <!-- <enum value="0x81CC" name="GL_MAP1_VERTEX_4_NURBS_SGIX"/> -->
-            <!-- <enum value="0x81CD" name="GL_MAP1_INDEX_NURBS_SGIX"/> -->
-            <!-- <enum value="0x81CE" name="GL_MAP1_COLOR_4_NURBS_SGIX"/> -->
-            <!-- <enum value="0x81CF" name="GL_MAP1_NORMAL_NURBS_SGIX"/> -->
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x81D0" end="0x81DF" vendor="SUN">
-            <unused start="0x81D0" end="0x81D1"/>
-            <unused start="0x81D2" end="0x81D3" comment="No extension spec SUNX_surface_hint"/>
-            <!-- <enum value="0x81D2" name="GL_SURFACE_SIZE_HINT_SUNX"/> -->
-            <!-- <enum value="0x81D3" name="GL_LARGE_SUNX"/> -->
-        <enum value="0x81D4" name="GL_WRAP_BORDER_SUN"/>
-        <enum value="0x81D5" name="GL_UNPACK_CONSTANT_DATA_SUNX"/>
-        <enum value="0x81D6" name="GL_TEXTURE_CONSTANT_DATA_SUNX"/>
-        <enum value="0x81D7" name="GL_TRIANGLE_LIST_SUN"/>
-        <enum value="0x81D8" name="GL_REPLACEMENT_CODE_SUN"/>
-        <enum value="0x81D9" name="GL_GLOBAL_ALPHA_SUN"/>
-        <enum value="0x81DA" name="GL_GLOBAL_ALPHA_FACTOR_SUN"/>
-            <unused start="0x81DB" end="0x81DF"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x81E0" end="0x81FF" vendor="SGI">
-            <unused start="0x81E0" end="0x81EE" comment="Incomplete extension SGIX_nurbs_eval"/>
-            <!-- <enum value="0x81E0" name="GL_MAP1_TEXTURE_COORD_1_NURBS_SGIX"/> -->
-            <!-- <enum value="0x81E1" name="GL_MAP1_TEXTURE_COORD_2_NURBS_SGIX"/> -->
-            <!-- <enum value="0x81E2" name="GL_MAP1_TEXTURE_COORD_3_NURBS_SGIX"/> -->
-            <!-- <enum value="0x81E3" name="GL_MAP1_TEXTURE_COORD_4_NURBS_SGIX"/> -->
-            <!-- <enum value="0x81E4" name="GL_MAP2_VERTEX_3_NURBS_SGIX"/> -->
-            <!-- <enum value="0x81E5" name="GL_MAP2_VERTEX_4_NURBS_SGIX"/> -->
-            <!-- <enum value="0x81E6" name="GL_MAP2_INDEX_NURBS_SGIX"/> -->
-            <!-- <enum value="0x81E7" name="GL_MAP2_COLOR_4_NURBS_SGIX"/> -->
-            <!-- <enum value="0x81E8" name="GL_MAP2_NORMAL_NURBS_SGIX"/> -->
-            <!-- <enum value="0x81E9" name="GL_MAP2_TEXTURE_COORD_1_NURBS_SGIX"/> -->
-            <!-- <enum value="0x81EA" name="GL_MAP2_TEXTURE_COORD_2_NURBS_SGIX"/> -->
-            <!-- <enum value="0x81EB" name="GL_MAP2_TEXTURE_COORD_3_NURBS_SGIX"/> -->
-            <!-- <enum value="0x81EC" name="GL_MAP2_TEXTURE_COORD_4_NURBS_SGIX"/> -->
-            <!-- <enum value="0x81ED" name="GL_NURBS_KNOT_COUNT_SGIX"/> -->
-            <!-- <enum value="0x81EE" name="GL_NURBS_KNOT_VECTOR_SGIX"/> -->
-        <enum value="0x81EF" name="GL_TEXTURE_COLOR_WRITEMASK_SGIS"/>
-        <enum value="0x81F0" name="GL_EYE_DISTANCE_TO_POINT_SGIS"/>
-        <enum value="0x81F1" name="GL_OBJECT_DISTANCE_TO_POINT_SGIS"/>
-        <enum value="0x81F2" name="GL_EYE_DISTANCE_TO_LINE_SGIS"/>
-        <enum value="0x81F3" name="GL_OBJECT_DISTANCE_TO_LINE_SGIS"/>
-        <enum value="0x81F4" name="GL_EYE_POINT_SGIS"/>
-        <enum value="0x81F5" name="GL_OBJECT_POINT_SGIS"/>
-        <enum value="0x81F6" name="GL_EYE_LINE_SGIS"/>
-        <enum value="0x81F7" name="GL_OBJECT_LINE_SGIS"/>
-        <enum value="0x81F8" name="GL_LIGHT_MODEL_COLOR_CONTROL"/>
-        <enum value="0x81F8" name="GL_LIGHT_MODEL_COLOR_CONTROL_EXT"/>
-        <enum value="0x81F9" name="GL_SINGLE_COLOR"/>
-        <enum value="0x81F9" name="GL_SINGLE_COLOR_EXT"/>
-        <enum value="0x81FA" name="GL_SEPARATE_SPECULAR_COLOR"/>
-        <enum value="0x81FA" name="GL_SEPARATE_SPECULAR_COLOR_EXT"/>
-        <enum value="0x81FB" name="GL_SHARED_TEXTURE_PALETTE_EXT"/>
-            <unused start="0x81FC" end="0x81FD" comment="Incomplete extension SGIX_fog_scale"/>
-            <!-- <enum value="0x81FC" name="GL_FOG_SCALE_SGIX"/> -->
-            <!-- <enum value="0x81FD" name="GL_FOG_SCALE_VALUE_SGIX"/> -->
-            <unused start="0x81FE" end="0x81FF" comment="Incomplete extension SGIX_fog_blend"/>
-            <!-- <enum value="0x81FE" name="GL_FOG_BLEND_ALPHA_SGIX"/> -->
-            <!-- <enum value="0x81FF" name="GL_FOG_BLEND_COLOR_SGIX"/> -->
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8200" end="0x820F" vendor="AMD" comment="Range released by MS 2002/9/16">
-        <enum value="0x8200" name="GL_TEXT_FRAGMENT_SHADER_ATI"/>
-            <unused start="0x8201" end="0x820F"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8210" end="0x823F" vendor="ARB">
-        <enum value="0x8210" name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING"/>
-        <enum value="0x8210" name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT"/>
-        <enum value="0x8211" name="GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE"/>
-        <enum value="0x8211" name="GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT"/>
-        <enum value="0x8212" name="GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE"/>
-        <enum value="0x8213" name="GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE"/>
-        <enum value="0x8214" name="GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE"/>
-        <enum value="0x8215" name="GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE"/>
-        <enum value="0x8216" name="GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE"/>
-        <enum value="0x8217" name="GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE"/>
-        <enum value="0x8218" name="GL_FRAMEBUFFER_DEFAULT"/>
-        <enum value="0x8219" name="GL_FRAMEBUFFER_UNDEFINED"/>
-        <enum value="0x8219" name="GL_FRAMEBUFFER_UNDEFINED_OES"/>
-        <enum value="0x821A" name="GL_DEPTH_STENCIL_ATTACHMENT"/>
-        <enum value="0x821B" name="GL_MAJOR_VERSION"/>
-        <enum value="0x821C" name="GL_MINOR_VERSION"/>
-        <enum value="0x821D" name="GL_NUM_EXTENSIONS"/>
-        <enum value="0x821E" name="GL_CONTEXT_FLAGS"/>
-        <enum value="0x821F" name="GL_BUFFER_IMMUTABLE_STORAGE"/>
-        <enum value="0x8220" name="GL_BUFFER_STORAGE_FLAGS"/>
-        <enum value="0x8221" name="GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED" comment="Proposed for Bug 10364"/>
-        <enum value="0x8222" name="GL_INDEX"/>
-            <unused start="0x8223" comment="GL_DEPTH_BUFFER = 0x8223 not actually used in the API"/>
-            <unused start="0x8224" comment="GL_STENCIL_BUFFER = 0x8224 not actually used in the API"/>
-        <enum value="0x8225" name="GL_COMPRESSED_RED"/>
-        <enum value="0x8226" name="GL_COMPRESSED_RG"/>
-        <enum value="0x8227" name="GL_RG"/>
-        <enum value="0x8227" name="GL_RG_EXT"/>
-        <enum value="0x8228" name="GL_RG_INTEGER"/>
-        <enum value="0x8229" name="GL_R8"/>
-        <enum value="0x8229" name="GL_R8_EXT"/>
-        <enum value="0x822A" name="GL_R16"/>
-        <enum value="0x822B" name="GL_RG8"/>
-        <enum value="0x822B" name="GL_RG8_EXT"/>
-        <enum value="0x822C" name="GL_RG16"/>
-        <enum value="0x822D" name="GL_R16F"/>
-        <enum value="0x822D" name="GL_R16F_EXT"/>
-        <enum value="0x822E" name="GL_R32F"/>
-        <enum value="0x822E" name="GL_R32F_EXT"/>
-        <enum value="0x822F" name="GL_RG16F"/>
-        <enum value="0x822F" name="GL_RG16F_EXT"/>
-        <enum value="0x8230" name="GL_RG32F"/>
-        <enum value="0x8230" name="GL_RG32F_EXT"/>
-        <enum value="0x8231" name="GL_R8I"/>
-        <enum value="0x8232" name="GL_R8UI"/>
-        <enum value="0x8233" name="GL_R16I"/>
-        <enum value="0x8234" name="GL_R16UI"/>
-        <enum value="0x8235" name="GL_R32I"/>
-        <enum value="0x8236" name="GL_R32UI"/>
-        <enum value="0x8237" name="GL_RG8I"/>
-        <enum value="0x8238" name="GL_RG8UI"/>
-        <enum value="0x8239" name="GL_RG16I"/>
-        <enum value="0x823A" name="GL_RG16UI"/>
-        <enum value="0x823B" name="GL_RG32I"/>
-        <enum value="0x823C" name="GL_RG32UI"/>
-            <unused start="0x823D" end="0x823F"/>
-    </enums>
+        <group name="SyncCondition" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_SYNC_GPU_COMMANDS_COMPLETE"/>
+        </group>
 
-    <enums namespace="GL" start="0x8240" end="0x82AF" vendor="ARB" comment="Range released by MS on 2002/9/16">
-        <enum value="0x8240" name="GL_SYNC_CL_EVENT_ARB"/>
-        <enum value="0x8241" name="GL_SYNC_CL_EVENT_COMPLETE_ARB"/>
-        <enum value="0x8242" name="GL_DEBUG_OUTPUT_SYNCHRONOUS"/>
-        <enum value="0x8242" name="GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB"/>
-        <enum value="0x8242" name="GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR"/>
-        <enum value="0x8243" name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH"/>
-        <enum value="0x8243" name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB"/>
-        <enum value="0x8243" name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR"/>
-        <enum value="0x8244" name="GL_DEBUG_CALLBACK_FUNCTION"/>
-        <enum value="0x8244" name="GL_DEBUG_CALLBACK_FUNCTION_ARB"/>
-        <enum value="0x8244" name="GL_DEBUG_CALLBACK_FUNCTION_KHR"/>
-        <enum value="0x8245" name="GL_DEBUG_CALLBACK_USER_PARAM"/>
-        <enum value="0x8245" name="GL_DEBUG_CALLBACK_USER_PARAM_ARB"/>
-        <enum value="0x8245" name="GL_DEBUG_CALLBACK_USER_PARAM_KHR"/>
-        <enum value="0x8246" name="GL_DEBUG_SOURCE_API"/>
-        <enum value="0x8246" name="GL_DEBUG_SOURCE_API_ARB"/>
-        <enum value="0x8246" name="GL_DEBUG_SOURCE_API_KHR"/>
-        <enum value="0x8247" name="GL_DEBUG_SOURCE_WINDOW_SYSTEM"/>
-        <enum value="0x8247" name="GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB"/>
-        <enum value="0x8247" name="GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR"/>
-        <enum value="0x8248" name="GL_DEBUG_SOURCE_SHADER_COMPILER"/>
-        <enum value="0x8248" name="GL_DEBUG_SOURCE_SHADER_COMPILER_ARB"/>
-        <enum value="0x8248" name="GL_DEBUG_SOURCE_SHADER_COMPILER_KHR"/>
-        <enum value="0x8249" name="GL_DEBUG_SOURCE_THIRD_PARTY"/>
-        <enum value="0x8249" name="GL_DEBUG_SOURCE_THIRD_PARTY_ARB"/>
-        <enum value="0x8249" name="GL_DEBUG_SOURCE_THIRD_PARTY_KHR"/>
-        <enum value="0x824A" name="GL_DEBUG_SOURCE_APPLICATION"/>
-        <enum value="0x824A" name="GL_DEBUG_SOURCE_APPLICATION_ARB"/>
-        <enum value="0x824A" name="GL_DEBUG_SOURCE_APPLICATION_KHR"/>
-        <enum value="0x824B" name="GL_DEBUG_SOURCE_OTHER"/>
-        <enum value="0x824B" name="GL_DEBUG_SOURCE_OTHER_ARB"/>
-        <enum value="0x824B" name="GL_DEBUG_SOURCE_OTHER_KHR"/>
-        <enum value="0x824C" name="GL_DEBUG_TYPE_ERROR"/>
-        <enum value="0x824C" name="GL_DEBUG_TYPE_ERROR_ARB"/>
-        <enum value="0x824C" name="GL_DEBUG_TYPE_ERROR_KHR"/>
-        <enum value="0x824D" name="GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR"/>
-        <enum value="0x824D" name="GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB"/>
-        <enum value="0x824D" name="GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR"/>
-        <enum value="0x824E" name="GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR"/>
-        <enum value="0x824E" name="GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB"/>
-        <enum value="0x824E" name="GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR"/>
-        <enum value="0x824F" name="GL_DEBUG_TYPE_PORTABILITY"/>
-        <enum value="0x824F" name="GL_DEBUG_TYPE_PORTABILITY_ARB"/>
-        <enum value="0x824F" name="GL_DEBUG_TYPE_PORTABILITY_KHR"/>
-        <enum value="0x8250" name="GL_DEBUG_TYPE_PERFORMANCE"/>
-        <enum value="0x8250" name="GL_DEBUG_TYPE_PERFORMANCE_ARB"/>
-        <enum value="0x8250" name="GL_DEBUG_TYPE_PERFORMANCE_KHR"/>
-        <enum value="0x8251" name="GL_DEBUG_TYPE_OTHER"/>
-        <enum value="0x8251" name="GL_DEBUG_TYPE_OTHER_ARB"/>
-        <enum value="0x8251" name="GL_DEBUG_TYPE_OTHER_KHR"/>
-        <enum value="0x8252" name="GL_LOSE_CONTEXT_ON_RESET_ARB"/>
-        <enum value="0x8252" name="GL_LOSE_CONTEXT_ON_RESET_EXT"/>
-        <enum value="0x8253" name="GL_GUILTY_CONTEXT_RESET_ARB"/>
-        <enum value="0x8253" name="GL_GUILTY_CONTEXT_RESET_EXT"/>
-        <enum value="0x8254" name="GL_INNOCENT_CONTEXT_RESET_ARB"/>
-        <enum value="0x8254" name="GL_INNOCENT_CONTEXT_RESET_EXT"/>
-        <enum value="0x8255" name="GL_UNKNOWN_CONTEXT_RESET_ARB"/>
-        <enum value="0x8255" name="GL_UNKNOWN_CONTEXT_RESET_EXT"/>
-        <enum value="0x8256" name="GL_RESET_NOTIFICATION_STRATEGY_ARB"/>
-        <enum value="0x8256" name="GL_RESET_NOTIFICATION_STRATEGY_EXT"/>
-        <enum value="0x8257" name="GL_PROGRAM_BINARY_RETRIEVABLE_HINT"/>
-        <enum value="0x8258" name="GL_PROGRAM_SEPARABLE"/>
-        <enum value="0x8258" name="GL_PROGRAM_SEPARABLE_EXT"/>
-        <enum value="0x8259" name="GL_ACTIVE_PROGRAM"/>
-        <enum value="0x8259" api="gles2" name="GL_ACTIVE_PROGRAM_EXT" comment="For the OpenGL ES version of EXT_separate_shader_objects"/>
-        <enum value="0x825A" name="GL_PROGRAM_PIPELINE_BINDING"/>
-        <enum value="0x825A" name="GL_PROGRAM_PIPELINE_BINDING_EXT"/>
-        <enum value="0x825B" name="GL_MAX_VIEWPORTS"/>
-        <enum value="0x825C" name="GL_VIEWPORT_SUBPIXEL_BITS"/>
-        <enum value="0x825D" name="GL_VIEWPORT_BOUNDS_RANGE"/>
-        <enum value="0x825E" name="GL_LAYER_PROVOKING_VERTEX"/>
-        <enum value="0x825F" name="GL_VIEWPORT_INDEX_PROVOKING_VERTEX"/>
-        <enum value="0x8260" name="GL_UNDEFINED_VERTEX"/>
-        <enum value="0x8261" name="GL_NO_RESET_NOTIFICATION_ARB"/>
-        <enum value="0x8261" name="GL_NO_RESET_NOTIFICATION_EXT"/>
-        <enum value="0x8262" name="GL_MAX_COMPUTE_SHARED_MEMORY_SIZE"/>
-        <enum value="0x8263" name="GL_MAX_COMPUTE_UNIFORM_COMPONENTS"/>
-        <enum value="0x8264" name="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"/>
-        <enum value="0x8265" name="GL_MAX_COMPUTE_ATOMIC_COUNTERS"/>
-        <enum value="0x8266" name="GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS"/>
-        <enum value="0x8267" name="GL_COMPUTE_LOCAL_WORK_SIZE"/>
-        <enum value="0x8268" name="GL_DEBUG_TYPE_MARKER"/>
-        <enum value="0x8268" name="GL_DEBUG_TYPE_MARKER_KHR"/>
-        <enum value="0x8269" name="GL_DEBUG_TYPE_PUSH_GROUP"/>
-        <enum value="0x8269" name="GL_DEBUG_TYPE_PUSH_GROUP_KHR"/>
-        <enum value="0x826A" name="GL_DEBUG_TYPE_POP_GROUP"/>
-        <enum value="0x826A" name="GL_DEBUG_TYPE_POP_GROUP_KHR"/>
-        <enum value="0x826B" name="GL_DEBUG_SEVERITY_NOTIFICATION"/>
-        <enum value="0x826B" name="GL_DEBUG_SEVERITY_NOTIFICATION_KHR"/>
-        <enum value="0x826C" name="GL_MAX_DEBUG_GROUP_STACK_DEPTH"/>
-        <enum value="0x826C" name="GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR"/>
-        <enum value="0x826D" name="GL_DEBUG_GROUP_STACK_DEPTH"/>
-        <enum value="0x826D" name="GL_DEBUG_GROUP_STACK_DEPTH_KHR"/>
-        <enum value="0x826E" name="GL_MAX_UNIFORM_LOCATIONS"/>
-        <enum value="0x826F" name="GL_INTERNALFORMAT_SUPPORTED"/>
-        <enum value="0x8270" name="GL_INTERNALFORMAT_PREFERRED"/>
-        <enum value="0x8271" name="GL_INTERNALFORMAT_RED_SIZE"/>
-        <enum value="0x8272" name="GL_INTERNALFORMAT_GREEN_SIZE"/>
-        <enum value="0x8273" name="GL_INTERNALFORMAT_BLUE_SIZE"/>
-        <enum value="0x8274" name="GL_INTERNALFORMAT_ALPHA_SIZE"/>
-        <enum value="0x8275" name="GL_INTERNALFORMAT_DEPTH_SIZE"/>
-        <enum value="0x8276" name="GL_INTERNALFORMAT_STENCIL_SIZE"/>
-        <enum value="0x8277" name="GL_INTERNALFORMAT_SHARED_SIZE"/>
-        <enum value="0x8278" name="GL_INTERNALFORMAT_RED_TYPE"/>
-        <enum value="0x8279" name="GL_INTERNALFORMAT_GREEN_TYPE"/>
-        <enum value="0x827A" name="GL_INTERNALFORMAT_BLUE_TYPE"/>
-        <enum value="0x827B" name="GL_INTERNALFORMAT_ALPHA_TYPE"/>
-        <enum value="0x827C" name="GL_INTERNALFORMAT_DEPTH_TYPE"/>
-        <enum value="0x827D" name="GL_INTERNALFORMAT_STENCIL_TYPE"/>
-        <enum value="0x827E" name="GL_MAX_WIDTH"/>
-        <enum value="0x827F" name="GL_MAX_HEIGHT"/>
-        <enum value="0x8280" name="GL_MAX_DEPTH"/>
-        <enum value="0x8281" name="GL_MAX_LAYERS"/>
-        <enum value="0x8282" name="GL_MAX_COMBINED_DIMENSIONS"/>
-        <enum value="0x8283" name="GL_COLOR_COMPONENTS"/>
-        <enum value="0x8284" name="GL_DEPTH_COMPONENTS"/>
-        <enum value="0x8285" name="GL_STENCIL_COMPONENTS"/>
-        <enum value="0x8286" name="GL_COLOR_RENDERABLE"/>
-        <enum value="0x8287" name="GL_DEPTH_RENDERABLE"/>
-        <enum value="0x8288" name="GL_STENCIL_RENDERABLE"/>
-        <enum value="0x8289" name="GL_FRAMEBUFFER_RENDERABLE"/>
-        <enum value="0x828A" name="GL_FRAMEBUFFER_RENDERABLE_LAYERED"/>
-        <enum value="0x828B" name="GL_FRAMEBUFFER_BLEND"/>
-        <enum value="0x828C" name="GL_READ_PIXELS"/>
-        <enum value="0x828D" name="GL_READ_PIXELS_FORMAT"/>
-        <enum value="0x828E" name="GL_READ_PIXELS_TYPE"/>
-        <enum value="0x828F" name="GL_TEXTURE_IMAGE_FORMAT"/>
-        <enum value="0x8290" name="GL_TEXTURE_IMAGE_TYPE"/>
-        <enum value="0x8291" name="GL_GET_TEXTURE_IMAGE_FORMAT"/>
-        <enum value="0x8292" name="GL_GET_TEXTURE_IMAGE_TYPE"/>
-        <enum value="0x8293" name="GL_MIPMAP"/>
-        <enum value="0x8294" name="GL_MANUAL_GENERATE_MIPMAP"/>
-        <enum value="0x8295" name="GL_AUTO_GENERATE_MIPMAP" comment="Should be deprecated"/>
-        <enum value="0x8296" name="GL_COLOR_ENCODING"/>
-        <enum value="0x8297" name="GL_SRGB_READ"/>
-        <enum value="0x8298" name="GL_SRGB_WRITE"/>
-        <enum value="0x8299" name="GL_SRGB_DECODE_ARB"/>
-        <enum value="0x829A" name="GL_FILTER"/>
-        <enum value="0x829B" name="GL_VERTEX_TEXTURE"/>
-        <enum value="0x829C" name="GL_TESS_CONTROL_TEXTURE"/>
-        <enum value="0x829D" name="GL_TESS_EVALUATION_TEXTURE"/>
-        <enum value="0x829E" name="GL_GEOMETRY_TEXTURE"/>
-        <enum value="0x829F" name="GL_FRAGMENT_TEXTURE"/>
-        <enum value="0x82A0" name="GL_COMPUTE_TEXTURE"/>
-        <enum value="0x82A1" name="GL_TEXTURE_SHADOW"/>
-        <enum value="0x82A2" name="GL_TEXTURE_GATHER"/>
-        <enum value="0x82A3" name="GL_TEXTURE_GATHER_SHADOW"/>
-        <enum value="0x82A4" name="GL_SHADER_IMAGE_LOAD"/>
-        <enum value="0x82A5" name="GL_SHADER_IMAGE_STORE"/>
-        <enum value="0x82A6" name="GL_SHADER_IMAGE_ATOMIC"/>
-        <enum value="0x82A7" name="GL_IMAGE_TEXEL_SIZE"/>
-        <enum value="0x82A8" name="GL_IMAGE_COMPATIBILITY_CLASS"/>
-        <enum value="0x82A9" name="GL_IMAGE_PIXEL_FORMAT"/>
-        <enum value="0x82AA" name="GL_IMAGE_PIXEL_TYPE"/>
-            <unused start="0x82AB"/>
-        <enum value="0x82AC" name="GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST"/>
-        <enum value="0x82AD" name="GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST"/>
-        <enum value="0x82AE" name="GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE"/>
-        <enum value="0x82AF" name="GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x82B0" end="0x830F" vendor="ARB" comment="Range reclaimed from ADD on 2012/05/10">
-            <unused start="0x82B0"/>
-        <enum value="0x82B1" name="GL_TEXTURE_COMPRESSED_BLOCK_WIDTH"/>
-        <enum value="0x82B2" name="GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT"/>
-        <enum value="0x82B3" name="GL_TEXTURE_COMPRESSED_BLOCK_SIZE"/>
-        <enum value="0x82B4" name="GL_CLEAR_BUFFER"/>
-        <enum value="0x82B5" name="GL_TEXTURE_VIEW"/>
-        <enum value="0x82B6" name="GL_VIEW_COMPATIBILITY_CLASS"/>
-        <enum value="0x82B7" name="GL_FULL_SUPPORT"/>
-        <enum value="0x82B8" name="GL_CAVEAT_SUPPORT"/>
-        <enum value="0x82B9" name="GL_IMAGE_CLASS_4_X_32"/>
-        <enum value="0x82BA" name="GL_IMAGE_CLASS_2_X_32"/>
-        <enum value="0x82BB" name="GL_IMAGE_CLASS_1_X_32"/>
-        <enum value="0x82BC" name="GL_IMAGE_CLASS_4_X_16"/>
-        <enum value="0x82BD" name="GL_IMAGE_CLASS_2_X_16"/>
-        <enum value="0x82BE" name="GL_IMAGE_CLASS_1_X_16"/>
-        <enum value="0x82BF" name="GL_IMAGE_CLASS_4_X_8"/>
-        <enum value="0x82C0" name="GL_IMAGE_CLASS_2_X_8"/>
-        <enum value="0x82C1" name="GL_IMAGE_CLASS_1_X_8"/>
-        <enum value="0x82C2" name="GL_IMAGE_CLASS_11_11_10"/>
-        <enum value="0x82C3" name="GL_IMAGE_CLASS_10_10_10_2"/>
-        <enum value="0x82C4" name="GL_VIEW_CLASS_128_BITS"/>
-        <enum value="0x82C5" name="GL_VIEW_CLASS_96_BITS"/>
-        <enum value="0x82C6" name="GL_VIEW_CLASS_64_BITS"/>
-        <enum value="0x82C7" name="GL_VIEW_CLASS_48_BITS"/>
-        <enum value="0x82C8" name="GL_VIEW_CLASS_32_BITS"/>
-        <enum value="0x82C9" name="GL_VIEW_CLASS_24_BITS"/>
-        <enum value="0x82CA" name="GL_VIEW_CLASS_16_BITS"/>
-        <enum value="0x82CB" name="GL_VIEW_CLASS_8_BITS"/>
-        <enum value="0x82CC" name="GL_VIEW_CLASS_S3TC_DXT1_RGB"/>
-        <enum value="0x82CD" name="GL_VIEW_CLASS_S3TC_DXT1_RGBA"/>
-        <enum value="0x82CE" name="GL_VIEW_CLASS_S3TC_DXT3_RGBA"/>
-        <enum value="0x82CF" name="GL_VIEW_CLASS_S3TC_DXT5_RGBA"/>
-        <enum value="0x82D0" name="GL_VIEW_CLASS_RGTC1_RED"/>
-        <enum value="0x82D1" name="GL_VIEW_CLASS_RGTC2_RG"/>
-        <enum value="0x82D2" name="GL_VIEW_CLASS_BPTC_UNORM"/>
-        <enum value="0x82D3" name="GL_VIEW_CLASS_BPTC_FLOAT"/>
-        <enum value="0x82D4" name="GL_VERTEX_ATTRIB_BINDING"/>
-        <enum value="0x82D5" name="GL_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
-        <enum value="0x82D6" name="GL_VERTEX_BINDING_DIVISOR"/>
-        <enum value="0x82D7" name="GL_VERTEX_BINDING_OFFSET"/>
-        <enum value="0x82D8" name="GL_VERTEX_BINDING_STRIDE"/>
-        <enum value="0x82D9" name="GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
-        <enum value="0x82DA" name="GL_MAX_VERTEX_ATTRIB_BINDINGS"/>
-        <enum value="0x82DB" name="GL_TEXTURE_VIEW_MIN_LEVEL"/>
-        <enum value="0x82DC" name="GL_TEXTURE_VIEW_NUM_LEVELS"/>
-        <enum value="0x82DD" name="GL_TEXTURE_VIEW_MIN_LAYER"/>
-        <enum value="0x82DE" name="GL_TEXTURE_VIEW_NUM_LAYERS"/>
-        <enum value="0x82DF" name="GL_TEXTURE_IMMUTABLE_LEVELS"/>
-        <enum value="0x82E0" name="GL_BUFFER"/>
-        <enum value="0x82E0" name="GL_BUFFER_KHR"/>
-        <enum value="0x82E1" name="GL_SHADER"/>
-        <enum value="0x82E1" name="GL_SHADER_KHR"/>
-        <enum value="0x82E2" name="GL_PROGRAM"/>
-        <enum value="0x82E2" name="GL_PROGRAM_KHR"/>
-        <enum value="0x82E3" name="GL_QUERY"/>
-        <enum value="0x82E3" name="GL_QUERY_KHR"/>
-        <enum value="0x82E4" name="GL_PROGRAM_PIPELINE"/>
-        <enum value="0x82E5" name="GL_MAX_VERTEX_ATTRIB_STRIDE"/>
-        <enum value="0x82E6" name="GL_SAMPLER"/>
-        <enum value="0x82E6" name="GL_SAMPLER_KHR"/>
-        <enum value="0x82E7" name="GL_DISPLAY_LIST"/>
-        <enum value="0x82E8" name="GL_MAX_LABEL_LENGTH"/>
-        <enum value="0x82E8" name="GL_MAX_LABEL_LENGTH_KHR"/>
-        <enum value="0x82E9" name="GL_NUM_SHADING_LANGUAGE_VERSIONS"/>
-            <unused start="0x82E9" end="0x830F"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8310" end="0x832F" vendor="SGI">
-        <enum value="0x8310" name="GL_DEPTH_PASS_INSTRUMENT_SGIX"/>
-        <enum value="0x8311" name="GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX"/>
-        <enum value="0x8312" name="GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX"/>
-        <enum value="0x8313" name="GL_FRAGMENTS_INSTRUMENT_SGIX"/>
-        <enum value="0x8314" name="GL_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX"/>
-        <enum value="0x8315" name="GL_FRAGMENTS_INSTRUMENT_MAX_SGIX"/>
-        <enum value="0x8316" name="GL_CONVOLUTION_HINT_SGIX"/>
-            <unused start="0x8317" comment="Incomplete extension SGIX_color_matrix_accuracy"/>
-            <!-- <enum value="0x8317" name="GL_COLOR_MATRIX_HINT"/> -->
-        <enum value="0x8318" name="GL_YCRCB_SGIX"/>
-        <enum value="0x8319" name="GL_YCRCBA_SGIX"/>
-        <enum value="0x831A" name="GL_UNPACK_COMPRESSED_SIZE_SGIX"/>
-        <enum value="0x831B" name="GL_PACK_MAX_COMPRESSED_SIZE_SGIX"/>
-        <enum value="0x831C" name="GL_PACK_COMPRESSED_SIZE_SGIX"/>
-        <enum value="0x831D" name="GL_SLIM8U_SGIX"/>
-        <enum value="0x831E" name="GL_SLIM10U_SGIX"/>
-        <enum value="0x831F" name="GL_SLIM12S_SGIX"/>
-        <enum value="0x8320" name="GL_ALPHA_MIN_SGIX"/>
-        <enum value="0x8321" name="GL_ALPHA_MAX_SGIX"/>
-        <enum value="0x8322" name="GL_SCALEBIAS_HINT_SGIX"/>
-            <unused start="0x8323" end="0x8328" comment="Incomplete extension SGIX_fog_layers"/>
-            <!-- <enum value="0x8323" name="GL_FOG_TYPE_SGIX"/> -->
-            <!-- <enum value="0x8324" name="GL_UNIFORM_SGIX"/> -->
-            <!-- <enum value="0x8325" name="GL_LAYERED_SGIX"/> -->
-            <!-- <enum value="0x8326" name="GL_FOG_GROUND_PLANE_SGIX"/> -->
-            <!-- <enum value="0x8327" name="GL_FOG_LAYERS_POINTS_SGIX"/> -->
-            <!-- <enum value="0x8328" name="GL_MAX_FOG_LAYERS_POINTS_SGIX"/> -->
-        <enum value="0x8329" name="GL_ASYNC_MARKER_SGIX"/>
-            <unused start="0x832A" comment="Incomplete extension SGIX_texture_phase"/>
-            <!-- <enum value="0x832A" name="GL_PHASE_SGIX"/> -->
-        <enum value="0x832B" name="GL_PIXEL_TEX_GEN_MODE_SGIX"/>
-        <enum value="0x832C" name="GL_ASYNC_HISTOGRAM_SGIX"/>
-        <enum value="0x832D" name="GL_MAX_ASYNC_HISTOGRAM_SGIX"/>
-            <unused start="0x832E" end="0x832F" comment="Incomplete extension SGIX_texture_mipmap_anisotropic"/>
-            <!-- <enum value="0x832E" name="GL_TEXTURE_MIPMAP_ANISOTROPY_SGIX"/> -->
-            <!-- <enum value="0x832F" name="GL_MAX_MIPMAP_ANISOTROPY_SGIX"/> -->
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8330" end="0x833F" vendor="SUN">
-        <enum value="0x8330" name="GL_PIXEL_TRANSFORM_2D_EXT"/>
-        <enum value="0x8331" name="GL_PIXEL_MAG_FILTER_EXT"/>
-        <enum value="0x8332" name="GL_PIXEL_MIN_FILTER_EXT"/>
-        <enum value="0x8333" name="GL_PIXEL_CUBIC_WEIGHT_EXT"/>
-        <enum value="0x8334" name="GL_CUBIC_EXT"/>
-        <enum value="0x8335" name="GL_AVERAGE_EXT"/>
-        <enum value="0x8336" name="GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT"/>
-        <enum value="0x8337" name="GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT"/>
-        <enum value="0x8338" name="GL_PIXEL_TRANSFORM_2D_MATRIX_EXT"/>
-            <unused start="0x8339" end="0x833F"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8340" end="0x836F" vendor="SGI">
-            <unused start="0x8340" end="0x8348" comment="Incomplete extension SGIX_cube_map"/>
-            <!-- <enum value="0x8340" name="GL_ENV_MAP_SGIX"/> -->
-            <!-- <enum value="0x8341" name="GL_CUBE_MAP_SGIX"/> -->
-            <!-- <enum value="0x8342" name="GL_CUBE_MAP_ZP_SGIX"/> -->
-            <!-- <enum value="0x8343" name="GL_CUBE_MAP_ZN_SGIX"/> -->
-            <!-- <enum value="0x8344" name="GL_CUBE_MAP_XN_SGIX"/> -->
-            <!-- <enum value="0x8345" name="GL_CUBE_MAP_XP_SGIX"/> -->
-            <!-- <enum value="0x8346" name="GL_CUBE_MAP_YN_SGIX"/> -->
-            <!-- <enum value="0x8347" name="GL_CUBE_MAP_YP_SGIX"/> -->
-            <!-- <enum value="0x8348" name="GL_CUBE_MAP_BINDING_SGIX"/> -->
-        <enum value="0x8349" name="GL_FRAGMENT_MATERIAL_EXT"/>
-        <enum value="0x834A" name="GL_FRAGMENT_NORMAL_EXT"/>
-            <!-- Unfortunately, there was a collision promoting to EXT
-                 from SGIX. Use fog_coord's value of 0x8452 instead of
-                 the old assigned FRAGMENT_DEPTH_EXT (0x834B). -->
-        <enum value="0x834C" name="GL_FRAGMENT_COLOR_EXT"/>
-        <enum value="0x834D" name="GL_ATTENUATION_EXT"/>
-        <enum value="0x834E" name="GL_SHADOW_ATTENUATION_EXT"/>
-        <enum value="0x834F" name="GL_TEXTURE_APPLICATION_MODE_EXT"/>
-        <enum value="0x8350" name="GL_TEXTURE_LIGHT_EXT"/>
-        <enum value="0x8351" name="GL_TEXTURE_MATERIAL_FACE_EXT"/>
-        <enum value="0x8352" name="GL_TEXTURE_MATERIAL_PARAMETER_EXT"/>
-        <enum value="0x8353" name="GL_PIXEL_TEXTURE_SGIS"/>
-        <enum value="0x8354" name="GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS"/>
-        <enum value="0x8355" name="GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS"/>
-        <enum value="0x8356" name="GL_PIXEL_GROUP_COLOR_SGIS"/>
-            <unused start="0x8357" end="0x8359" comment="Incomplete extension SGIX_pixel_texture_bits"/>
-            <!-- <enum value="0x8357" name="GL_COLOR_TO_TEXTURE_COORD_SGIX"/> -->
-            <!-- <enum value="0x8358" name="GL_COLOR_BIT_PATTERN_SGIX"/> -->
-            <!-- <enum value="0x8359" name="GL_COLOR_VALUE_SGIX"/> -->
-            <unused start="0x835A" comment="Incomplete extension SGIX_pixel_texture_lod"/>
-            <!-- <enum value="0x835A" name="GL_PIXEL_TEX_GEN_LAMBDA_SOURCE_SGIX"/> -->
-        <enum value="0x835B" name="GL_LINE_QUALITY_HINT_SGIX"/>
-        <enum value="0x835C" name="GL_ASYNC_TEX_IMAGE_SGIX"/>
-        <enum value="0x835D" name="GL_ASYNC_DRAW_PIXELS_SGIX"/>
-        <enum value="0x835E" name="GL_ASYNC_READ_PIXELS_SGIX"/>
-        <enum value="0x835F" name="GL_MAX_ASYNC_TEX_IMAGE_SGIX"/>
-        <enum value="0x8360" name="GL_MAX_ASYNC_DRAW_PIXELS_SGIX"/>
-        <enum value="0x8361" name="GL_MAX_ASYNC_READ_PIXELS_SGIX"/>
-        <enum value="0x8362" name="GL_UNSIGNED_BYTE_2_3_3_REV"/>
-        <enum value="0x8362" name="GL_UNSIGNED_BYTE_2_3_3_REV_EXT"/>
-        <enum value="0x8363" name="GL_UNSIGNED_SHORT_5_6_5"/>
-        <enum value="0x8363" name="GL_UNSIGNED_SHORT_5_6_5_EXT"/>
-        <enum value="0x8364" name="GL_UNSIGNED_SHORT_5_6_5_REV"/>
-        <enum value="0x8364" name="GL_UNSIGNED_SHORT_5_6_5_REV_EXT"/>
-        <enum value="0x8365" name="GL_UNSIGNED_SHORT_4_4_4_4_REV"/>
-        <enum value="0x8365" name="GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT"/>
-        <enum value="0x8365" name="GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG"/>
-        <enum value="0x8366" name="GL_UNSIGNED_SHORT_1_5_5_5_REV"/>
-        <enum value="0x8366" name="GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT"/>
-        <enum value="0x8367" name="GL_UNSIGNED_INT_8_8_8_8_REV"/>
-        <enum value="0x8367" name="GL_UNSIGNED_INT_8_8_8_8_REV_EXT"/>
-        <enum value="0x8368" name="GL_UNSIGNED_INT_2_10_10_10_REV"/>
-        <enum value="0x8368" name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT"/>
-        <enum value="0x8369" name="GL_TEXTURE_MAX_CLAMP_S_SGIX"/>
-        <enum value="0x836A" name="GL_TEXTURE_MAX_CLAMP_T_SGIX"/>
-        <enum value="0x836B" name="GL_TEXTURE_MAX_CLAMP_R_SGIX"/>
-            <unused start="0x836C" end="0x836E" comment="Incomplete extension SGIX_fog_texture"/>
-            <!-- <enum value="0x836C" name="GL_FRAGMENT_FOG_SGIX"/> -->
-            <!-- <enum value="0x836D" name="GL_TEXTURE_FOG_SGIX"/> -->
-            <!-- <enum value="0x836E" name="GL_FOG_PATCHY_FACTOR_SGIX"/> -->
-            <unused start="0x836F" comment="Incomplete extension SGIX_fog_factor_to_alpha"/>
-            <!-- <enum value="0x836F" name="GL_FOG_FACTOR_TO_ALPHA_SGIX"/> -->
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8370" end="0x837F" vendor="HP">
-            <!-- NOTE: IBM is using values in this range, because of a
-                 bobble when an employee left DEC for IBM at the same
-                 time as they were assigned the range. their registry
-                 became inconsistent. It's unknown whether HP has any
-                 conflicts. They have never reported using any values in
-                 this range. Lesson: assigned ranges belong to vendors,
-                 not engineers! -->
-        <enum value="0x8370" name="GL_MIRRORED_REPEAT"/>
-        <enum value="0x8370" name="GL_MIRRORED_REPEAT_ARB"/>
-        <enum value="0x8370" name="GL_MIRRORED_REPEAT_IBM"/>
-        <enum value="0x8370" name="GL_MIRRORED_REPEAT_OES"/>
-            <unused start="0x8371" end="0x837F"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8380" end="0x839F" vendor="IBM"/>
+        <group name="VertexProvokingMode" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_FIRST_VERTEX_CONVENTION"/>
+            <enum name="GL_LAST_VERTEX_CONVENTION"/>
+        </group>
 
-    <enums namespace="GL" start="0x83A0" end="0x83BF" vendor="S3">
-        <enum value="0x83A0" name="GL_RGB_S3TC"/>
-        <enum value="0x83A1" name="GL_RGB4_S3TC"/>
-        <enum value="0x83A2" name="GL_RGBA_S3TC"/>
-        <enum value="0x83A3" name="GL_RGBA4_S3TC"/>
-        <enum value="0x83A4" name="GL_RGBA_DXT5_S3TC"/>
-        <enum value="0x83A5" name="GL_RGBA4_DXT5_S3TC"/>
-            <unused start="0x83A6" end="0x83BF"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x83C0" end="0x83EF" vendor="SGI" comment="Most of this could be reclaimed">
-            <unused start="0x83C0" end="0x83CA" comment="Withdrawn extension SGIS_multitexture"/>
-            <!-- <enum value="0x83C0" name="GL_SELECTED_TEXTURE_SGIS"/> -->
-            <!-- <enum value="0x83C1" name="GL_SELECTED_TEXTURE_COORD_SET_SGIS"/> -->
-            <!-- <enum value="0x83C2" name="GL_SELECTED_TEXTURE_TRANSFORM_SGIS"/> -->
-            <!-- <enum value="0x83C3" name="GL_MAX_TEXTURES_SGIS"/> -->
-            <!-- <enum value="0x83C4" name="GL_MAX_TEXTURE_COORD_SETS_SGIS"/> -->
-            <!-- <enum value="0x83C5" name="GL_TEXTURE_COORD_SET_INTERLEAVE_FACTOR_SGIS"/> -->
-            <!-- <enum value="0x83C6" name="GL_TEXTURE_ENV_COORD_SET_SGIS"/> -->
-            <!-- <enum value="0x83C7" name="GL_TEXTURE0_SGIS"/> -->
-            <!-- <enum value="0x83C8" name="GL_TEXTURE1_SGIS"/> -->
-            <!-- <enum value="0x83C9" name="GL_TEXTURE2_SGIS"/> -->
-            <!-- <enum value="0x83CA" name="GL_TEXTURE3_SGIS"/> -->
-            <unused start="0x83CB" end="0x83E5"/>
-            <unused start="0x83E6" end="0x83E9" comment="Incomplete extension SGIX_bali_g_instruments"/>
-            <!-- <enum value="0x83E6" name="GL_BALI_NUM_TRIS_CULLED_INSTRUMENT_SGIX"/> -->
-            <!-- <enum value="0x83E7" name="GL_BALI_NUM_PRIMS_CLIPPED_INSTRUMENT_SGIX"/> -->
-            <!-- <enum value="0x83E8" name="GL_BALI_NUM_PRIMS_REJECT_INSTRUMENT_SGIX"/> -->
-            <!-- <enum value="0x83E9" name="GL_BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT_SGIX"/> -->
-            <unused start="0x83EA" end="0x83EC" comment="Incomplete extension SGIX_bali_r_instruments"/>
-            <!-- <enum value="0x83EA" name="GL_BALI_FRAGMENTS_GENERATED_INSTRUMENT_SGIX"/> -->
-            <!-- <enum value="0x83EB" name="GL_BALI_DEPTH_PASS_INSTRUMENT_SGIX"/> -->
-            <!-- <enum value="0x83EC" name="GL_BALI_R_CHIP_COUNT_SGIX"/> -->
-            <unused start="0x83ED" comment="Incomplete extension SGIX_occlusion_instrument"/>
-            <!-- <enum value="0x83ED" name="GL_OCCLUSION_INSTRUMENT_SGIX"/> -->
-        <enum value="0x83EE" name="GL_VERTEX_PRECLIP_SGIX"/>
-        <enum value="0x83EF" name="GL_VERTEX_PRECLIP_HINT_SGIX"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x83F0" end="0x83FF" vendor="INTEL">
-            <!-- This block was reclaimed from NTP, who never shipped
-                 it, and reassigned to Intel. -->
-        <enum value="0x83F0" name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT"/>
-        <enum value="0x83F1" name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT"/>
-        <enum value="0x83F2" name="GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE"/>
-        <enum value="0x83F2" name="GL_COMPRESSED_RGBA_S3TC_DXT3_EXT"/>
-        <enum value="0x83F3" name="GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE"/>
-        <enum value="0x83F3" name="GL_COMPRESSED_RGBA_S3TC_DXT5_EXT"/>
-        <enum value="0x83F4" name="GL_PARALLEL_ARRAYS_INTEL"/>
-        <enum value="0x83F5" name="GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL"/>
-        <enum value="0x83F6" name="GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL"/>
-        <enum value="0x83F7" name="GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL"/>
-        <enum value="0x83F8" name="GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL"/>
-            <unused start="0x83F9" end="0x83FE"/>
-        <enum value="0x83FF" name="GL_TEXTURE_MEMORY_LAYOUT_INTEL"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8400" end="0x846F" vendor="SGI">
-        <enum value="0x8400" name="GL_FRAGMENT_LIGHTING_SGIX"/>
-        <enum value="0x8401" name="GL_FRAGMENT_COLOR_MATERIAL_SGIX"/>
-        <enum value="0x8402" name="GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX"/>
-        <enum value="0x8403" name="GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX"/>
-        <enum value="0x8404" name="GL_MAX_FRAGMENT_LIGHTS_SGIX"/>
-        <enum value="0x8405" name="GL_MAX_ACTIVE_LIGHTS_SGIX"/>
-        <enum value="0x8406" name="GL_CURRENT_RASTER_NORMAL_SGIX"/>
-        <enum value="0x8407" name="GL_LIGHT_ENV_MODE_SGIX"/>
-        <enum value="0x8408" name="GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX"/>
-        <enum value="0x8409" name="GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX"/>
-        <enum value="0x840A" name="GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX"/>
-        <enum value="0x840B" name="GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX"/>
-        <enum value="0x840C" name="GL_FRAGMENT_LIGHT0_SGIX"/>
-        <enum value="0x840D" name="GL_FRAGMENT_LIGHT1_SGIX"/>
-        <enum value="0x840E" name="GL_FRAGMENT_LIGHT2_SGIX"/>
-        <enum value="0x840F" name="GL_FRAGMENT_LIGHT3_SGIX"/>
-        <enum value="0x8410" name="GL_FRAGMENT_LIGHT4_SGIX"/>
-        <enum value="0x8411" name="GL_FRAGMENT_LIGHT5_SGIX"/>
-        <enum value="0x8412" name="GL_FRAGMENT_LIGHT6_SGIX"/>
-        <enum value="0x8413" name="GL_FRAGMENT_LIGHT7_SGIX"/>
-            <unused start="0x8414" end="0x842B"/>
-        <enum value="0x842C" name="GL_PACK_RESAMPLE_SGIX"/>
-        <enum value="0x842D" name="GL_UNPACK_RESAMPLE_SGIX"/>
-        <enum value="0x842E" name="GL_RESAMPLE_REPLICATE_SGIX"/>
-        <enum value="0x842F" name="GL_RESAMPLE_ZERO_FILL_SGIX"/>
-        <enum value="0x8430" name="GL_RESAMPLE_DECIMATE_SGIX"/>
-            <unused start="0x8431" end="0x8435"/>
-            <!-- Incomplete extension SGIX_fragment_lighting -->
-            <!-- <enum value="0x8436"      name="GL_EYE_SPACE_SGIX"/> -->
-            <!-- <enum value="0x8437"      name="GL_TANGENT_SPACE_SGIX"/> -->
-            <!-- <enum value="0x8438"      name="GL_OBJECT_SPACE_SGIX"/> -->
-            <!-- <enum value="0x8439"      name="GL_TANGENT_ARRAY_SGIX"/> -->
-            <!-- <enum value="0x843A"      name="GL_BINORMAL_ARRAY_SGIX"/> -->
-            <!-- <enum value="0x843B"      name="GL_CURRENT_TANGENT_SGIX"/> -->
-            <!-- <enum value="0x843C"      name="GL_CURRENT_BINORMAL_SGIX"/> -->
-            <!-- <enum value="0x843D"      name="GL_FRAGMENT_LIGHT_SPACE_SGIX"/> -->
-            <!-- <enum value="0x843E"      name="GL_TANGENT_ARRAY_TYPE_SGIX"/> -->
-            <!-- <enum value="0x843F"      name="GL_TANGENT_ARRAY_STRIDE_SGIX"/> -->
-            <!-- <enum value="0x8440"      name="GL_TANGENT_ARRAY_COUNT_SGIX"/> -->
-            <!-- <enum value="0x8441"      name="GL_BINORMAL_ARRAY_TYPE_SGIX"/> -->
-            <!-- <enum value="0x8442"      name="GL_BINORMAL_ARRAY_STRIDE_SGIX"/> -->
-            <!-- <enum value="0x8443"      name="GL_BINORMAL_ARRAY_COUNT_SGIX"/> -->
-            <!-- <enum value="0x8444"      name="GL_TANGENT_ARRAY_POINTER_SGIX"/> -->
-            <!-- <enum value="0x8445"      name="GL_BINORMAL_ARRAY_POINTER_SGIX"/> -->
-            <!-- <enum value="0x8446"      name="GL_MAP1_TANGENT_SGIX"/> -->
-            <!-- <enum value="0x8447"      name="GL_MAP2_TANGENT_SGIX"/> -->
-            <!-- <enum value="0x8448"      name="GL_MAP1_BINORMAL_SGIX"/> -->
-            <!-- <enum value="0x8449"      name="GL_MAP2_BINORMAL_SGIX"/> -->
-        <enum value="0x8439" name="GL_TANGENT_ARRAY_EXT"/>
-        <enum value="0x843A" name="GL_BINORMAL_ARRAY_EXT"/>
-        <enum value="0x843B" name="GL_CURRENT_TANGENT_EXT"/>
-        <enum value="0x843C" name="GL_CURRENT_BINORMAL_EXT"/>
-                     <unused start="0x844D"/>
-        <enum value="0x843E" name="GL_TANGENT_ARRAY_TYPE_EXT"/>
-        <enum value="0x843F" name="GL_TANGENT_ARRAY_STRIDE_EXT"/>
-        <enum value="0x8440" name="GL_BINORMAL_ARRAY_TYPE_EXT"/>
-        <enum value="0x8441" name="GL_BINORMAL_ARRAY_STRIDE_EXT"/>
-        <enum value="0x8442" name="GL_TANGENT_ARRAY_POINTER_EXT"/>
-        <enum value="0x8443" name="GL_BINORMAL_ARRAY_POINTER_EXT"/>
-        <enum value="0x8444" name="GL_MAP1_TANGENT_EXT"/>
-        <enum value="0x8445" name="GL_MAP2_TANGENT_EXT"/>
-        <enum value="0x8446" name="GL_MAP1_BINORMAL_EXT"/>
-        <enum value="0x8447" name="GL_MAP2_BINORMAL_EXT"/>
-            <unused start="0x8448" end="0x8449" comment="Incomplete extension SGIX_fragment_lighting"/>
-            <unused start="0x844A" end="0x844C" comment="Incomplete extension SGIX_bali_timer_instruments"/>
-            <!-- <enum value="0x844A" name="GL_BALI_GEOM_TIMER_INSTRUMENT_SGIX"/> -->
-            <!-- <enum value="0x844B" name="GL_BALI_RASTER_TIMER_INSTRUMENT_SGIX"/> -->
-            <!-- <enum value="0x844C" name="GL_BALI_INSTRUMENT_TIME_UNIT_SGIX"/> -->
-        <enum value="0x844D" name="GL_NEAREST_CLIPMAP_NEAREST_SGIX"/>
-        <enum value="0x844E" name="GL_NEAREST_CLIPMAP_LINEAR_SGIX"/>
-        <enum value="0x844F" name="GL_LINEAR_CLIPMAP_NEAREST_SGIX"/>
-            <!-- 0x8450-0x845F range brokered for Id Software -->
-        <enum value="0x8450" name="GL_FOG_COORDINATE_SOURCE"/>
-        <enum value="0x8450" name="GL_FOG_COORDINATE_SOURCE_EXT"/>
-        <enum value="0x8450" name="GL_FOG_COORD_SRC" alias="GL_FOG_COORDINATE_SOURCE"/>
-        <enum value="0x8451" name="GL_FOG_COORDINATE"/>
-        <enum value="0x8451" name="GL_FOG_COORD" alias="GL_FOG_COORDINATE"/>
-        <enum value="0x8451" name="GL_FOG_COORDINATE_EXT"/>
-        <enum value="0x8452" name="GL_FRAGMENT_DEPTH"/>
-        <enum value="0x8452" name="GL_FRAGMENT_DEPTH_EXT"/>
-        <enum value="0x8453" name="GL_CURRENT_FOG_COORDINATE"/>
-        <enum value="0x8453" name="GL_CURRENT_FOG_COORD" alias="GL_CURRENT_FOG_COORDINATE"/>
-        <enum value="0x8453" name="GL_CURRENT_FOG_COORDINATE_EXT"/>
-        <enum value="0x8454" name="GL_FOG_COORDINATE_ARRAY_TYPE"/>
-        <enum value="0x8454" name="GL_FOG_COORDINATE_ARRAY_TYPE_EXT"/>
-        <enum value="0x8454" name="GL_FOG_COORD_ARRAY_TYPE" alias="GL_FOG_COORDINATE_ARRAY_TYPE"/>
-        <enum value="0x8455" name="GL_FOG_COORDINATE_ARRAY_STRIDE"/>
-        <enum value="0x8455" name="GL_FOG_COORDINATE_ARRAY_STRIDE_EXT"/>
-        <enum value="0x8455" name="GL_FOG_COORD_ARRAY_STRIDE" alias="GL_FOG_COORDINATE_ARRAY_STRIDE"/>
-        <enum value="0x8456" name="GL_FOG_COORDINATE_ARRAY_POINTER"/>
-        <enum value="0x8456" name="GL_FOG_COORDINATE_ARRAY_POINTER_EXT"/>
-        <enum value="0x8456" name="GL_FOG_COORD_ARRAY_POINTER" alias="GL_FOG_COORDINATE_ARRAY_POINTER"/>
-        <enum value="0x8457" name="GL_FOG_COORDINATE_ARRAY"/>
-        <enum value="0x8457" name="GL_FOG_COORDINATE_ARRAY_EXT"/>
-        <enum value="0x8457" name="GL_FOG_COORD_ARRAY" alias="GL_FOG_COORDINATE_ARRAY"/>
-        <enum value="0x8458" name="GL_COLOR_SUM"/>
-        <enum value="0x8458" name="GL_COLOR_SUM_ARB"/>
-        <enum value="0x8458" name="GL_COLOR_SUM_EXT"/>
-        <enum value="0x8459" name="GL_CURRENT_SECONDARY_COLOR"/>
-        <enum value="0x8459" name="GL_CURRENT_SECONDARY_COLOR_EXT"/>
-        <enum value="0x845A" name="GL_SECONDARY_COLOR_ARRAY_SIZE"/>
-        <enum value="0x845A" name="GL_SECONDARY_COLOR_ARRAY_SIZE_EXT"/>
-        <enum value="0x845B" name="GL_SECONDARY_COLOR_ARRAY_TYPE"/>
-        <enum value="0x845B" name="GL_SECONDARY_COLOR_ARRAY_TYPE_EXT"/>
-        <enum value="0x845C" name="GL_SECONDARY_COLOR_ARRAY_STRIDE"/>
-        <enum value="0x845C" name="GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT"/>
-        <enum value="0x845D" name="GL_SECONDARY_COLOR_ARRAY_POINTER"/>
-        <enum value="0x845D" name="GL_SECONDARY_COLOR_ARRAY_POINTER_EXT"/>
-        <enum value="0x845E" name="GL_SECONDARY_COLOR_ARRAY"/>
-        <enum value="0x845E" name="GL_SECONDARY_COLOR_ARRAY_EXT"/>
-        <enum value="0x845F" name="GL_CURRENT_RASTER_SECONDARY_COLOR"/>
-            <unused start="0x8460" end="0x846B" comment="Incomplete extension SGIX_icc_texture"/>
-            <!-- <enum value="0x8460" name="GL_RGB_ICC_SGIX"/> -->
-            <!-- <enum value="0x8461" name="GL_RGBA_ICC_SGIX"/> -->
-            <!-- <enum value="0x8462" name="GL_ALPHA_ICC_SGIX"/> -->
-            <!-- <enum value="0x8463" name="GL_LUMINANCE_ICC_SGIX"/> -->
-            <!-- <enum value="0x8464" name="GL_INTENSITY_ICC_SGIX"/> -->
-            <!-- <enum value="0x8465" name="GL_LUMINANCE_ALPHA_ICC_SGIX"/> -->
-            <!-- <enum value="0x8466" name="GL_R5_G6_B5_ICC_SGIX"/> -->
-            <!-- <enum value="0x8467" name="GL_R5_G6_B5_A8_ICC_SGIX"/> -->
-            <!-- <enum value="0x8468" name="GL_ALPHA16_ICC_SGIX"/> -->
-            <!-- <enum value="0x8469" name="GL_LUMINANCE16_ICC_SGIX"/> -->
-            <!-- <enum value="0x846A" name="GL_INTENSITY16_ICC_SGIX"/> -->
-            <!-- <enum value="0x846B" name="GL_LUMINANCE16_ALPHA8_ICC_SGIX"/> -->
-            <unused start="0x846C"/>
-        <enum value="0x846D" name="GL_ALIASED_POINT_SIZE_RANGE"/>
-        <enum value="0x846E" name="GL_ALIASED_LINE_WIDTH_RANGE"/>
-            <unused start="0x846F"/>
-    </enums>
+        <group name="MapQuery" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_COEFF"/>
+            <enum name="GL_ORDER"/>
+            <enum name="GL_DOMAIN"/>
+        </group>
 
-    <enums namespace="GL" start="0x8470" end="0x848F" vendor="AMD"/>
+        <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>
 
-    <enums namespace="GL" start="0x8490" end="0x849F" vendor="REND">
-        <enum value="0x8490" name="GL_SCREEN_COORDINATES_REND"/>
-        <enum value="0x8491" name="GL_INVERTED_SCREEN_W_REND"/>
-            <unused start="0x8492" end="0x849F"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x84A0" end="0x84BF" vendor="AMD"/>
+        <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>
 
-    <enums namespace="GL" start="0x84C0" end="0x84EF" vendor="ARB">
-        <enum value="0x84C0" name="GL_TEXTURE0"/>
-        <enum value="0x84C0" name="GL_TEXTURE0_ARB"/>
-        <enum value="0x84C1" name="GL_TEXTURE1"/>
-        <enum value="0x84C1" name="GL_TEXTURE1_ARB"/>
-        <enum value="0x84C2" name="GL_TEXTURE2"/>
-        <enum value="0x84C2" name="GL_TEXTURE2_ARB"/>
-        <enum value="0x84C3" name="GL_TEXTURE3"/>
-        <enum value="0x84C3" name="GL_TEXTURE3_ARB"/>
-        <enum value="0x84C4" name="GL_TEXTURE4"/>
-        <enum value="0x84C4" name="GL_TEXTURE4_ARB"/>
-        <enum value="0x84C5" name="GL_TEXTURE5"/>
-        <enum value="0x84C5" name="GL_TEXTURE5_ARB"/>
-        <enum value="0x84C6" name="GL_TEXTURE6"/>
-        <enum value="0x84C6" name="GL_TEXTURE6_ARB"/>
-        <enum value="0x84C7" name="GL_TEXTURE7"/>
-        <enum value="0x84C7" name="GL_TEXTURE7_ARB"/>
-        <enum value="0x84C8" name="GL_TEXTURE8"/>
-        <enum value="0x84C8" name="GL_TEXTURE8_ARB"/>
-        <enum value="0x84C9" name="GL_TEXTURE9"/>
-        <enum value="0x84C9" name="GL_TEXTURE9_ARB"/>
-        <enum value="0x84CA" name="GL_TEXTURE10"/>
-        <enum value="0x84CA" name="GL_TEXTURE10_ARB"/>
-        <enum value="0x84CB" name="GL_TEXTURE11"/>
-        <enum value="0x84CB" name="GL_TEXTURE11_ARB"/>
-        <enum value="0x84CC" name="GL_TEXTURE12"/>
-        <enum value="0x84CC" name="GL_TEXTURE12_ARB"/>
-        <enum value="0x84CD" name="GL_TEXTURE13"/>
-        <enum value="0x84CD" name="GL_TEXTURE13_ARB"/>
-        <enum value="0x84CE" name="GL_TEXTURE14"/>
-        <enum value="0x84CE" name="GL_TEXTURE14_ARB"/>
-        <enum value="0x84CF" name="GL_TEXTURE15"/>
-        <enum value="0x84CF" name="GL_TEXTURE15_ARB"/>
-        <enum value="0x84D0" name="GL_TEXTURE16"/>
-        <enum value="0x84D0" name="GL_TEXTURE16_ARB"/>
-        <enum value="0x84D1" name="GL_TEXTURE17"/>
-        <enum value="0x84D1" name="GL_TEXTURE17_ARB"/>
-        <enum value="0x84D2" name="GL_TEXTURE18"/>
-        <enum value="0x84D2" name="GL_TEXTURE18_ARB"/>
-        <enum value="0x84D3" name="GL_TEXTURE19"/>
-        <enum value="0x84D3" name="GL_TEXTURE19_ARB"/>
-        <enum value="0x84D4" name="GL_TEXTURE20"/>
-        <enum value="0x84D4" name="GL_TEXTURE20_ARB"/>
-        <enum value="0x84D5" name="GL_TEXTURE21"/>
-        <enum value="0x84D5" name="GL_TEXTURE21_ARB"/>
-        <enum value="0x84D6" name="GL_TEXTURE22"/>
-        <enum value="0x84D6" name="GL_TEXTURE22_ARB"/>
-        <enum value="0x84D7" name="GL_TEXTURE23"/>
-        <enum value="0x84D7" name="GL_TEXTURE23_ARB"/>
-        <enum value="0x84D8" name="GL_TEXTURE24"/>
-        <enum value="0x84D8" name="GL_TEXTURE24_ARB"/>
-        <enum value="0x84D9" name="GL_TEXTURE25"/>
-        <enum value="0x84D9" name="GL_TEXTURE25_ARB"/>
-        <enum value="0x84DA" name="GL_TEXTURE26"/>
-        <enum value="0x84DA" name="GL_TEXTURE26_ARB"/>
-        <enum value="0x84DB" name="GL_TEXTURE27"/>
-        <enum value="0x84DB" name="GL_TEXTURE27_ARB"/>
-        <enum value="0x84DC" name="GL_TEXTURE28"/>
-        <enum value="0x84DC" name="GL_TEXTURE28_ARB"/>
-        <enum value="0x84DD" name="GL_TEXTURE29"/>
-        <enum value="0x84DD" name="GL_TEXTURE29_ARB"/>
-        <enum value="0x84DE" name="GL_TEXTURE30"/>
-        <enum value="0x84DE" name="GL_TEXTURE30_ARB"/>
-        <enum value="0x84DF" name="GL_TEXTURE31"/>
-        <enum value="0x84DF" name="GL_TEXTURE31_ARB"/>
-        <enum value="0x84E0" name="GL_ACTIVE_TEXTURE"/>
-        <enum value="0x84E0" name="GL_ACTIVE_TEXTURE_ARB"/>
-        <enum value="0x84E1" name="GL_CLIENT_ACTIVE_TEXTURE"/>
-        <enum value="0x84E1" name="GL_CLIENT_ACTIVE_TEXTURE_ARB"/>
-        <enum value="0x84E2" name="GL_MAX_TEXTURE_UNITS"/>
-        <enum value="0x84E2" name="GL_MAX_TEXTURE_UNITS_ARB"/>
-        <enum value="0x84E3" name="GL_TRANSPOSE_MODELVIEW_MATRIX"/>
-        <enum value="0x84E3" name="GL_TRANSPOSE_MODELVIEW_MATRIX_ARB"/>
-        <enum value="0x84E4" name="GL_TRANSPOSE_PROJECTION_MATRIX"/>
-        <enum value="0x84E4" name="GL_TRANSPOSE_PROJECTION_MATRIX_ARB"/>
-        <enum value="0x84E5" name="GL_TRANSPOSE_TEXTURE_MATRIX"/>
-        <enum value="0x84E5" name="GL_TRANSPOSE_TEXTURE_MATRIX_ARB"/>
-        <enum value="0x84E6" name="GL_TRANSPOSE_COLOR_MATRIX"/>
-        <enum value="0x84E6" name="GL_TRANSPOSE_COLOR_MATRIX_ARB"/>
-        <enum value="0x84E7" name="GL_SUBTRACT"/>
-        <enum value="0x84E7" name="GL_SUBTRACT_ARB"/>
-        <enum value="0x84E8" name="GL_MAX_RENDERBUFFER_SIZE"/>
-        <enum value="0x84E8" name="GL_MAX_RENDERBUFFER_SIZE_EXT"/>
-        <enum value="0x84E8" name="GL_MAX_RENDERBUFFER_SIZE_OES"/>
-        <enum value="0x84E9" name="GL_COMPRESSED_ALPHA"/>
-        <enum value="0x84E9" name="GL_COMPRESSED_ALPHA_ARB"/>
-        <enum value="0x84EA" name="GL_COMPRESSED_LUMINANCE"/>
-        <enum value="0x84EA" name="GL_COMPRESSED_LUMINANCE_ARB"/>
-        <enum value="0x84EB" name="GL_COMPRESSED_LUMINANCE_ALPHA"/>
-        <enum value="0x84EB" name="GL_COMPRESSED_LUMINANCE_ALPHA_ARB"/>
-        <enum value="0x84EC" name="GL_COMPRESSED_INTENSITY"/>
-        <enum value="0x84EC" name="GL_COMPRESSED_INTENSITY_ARB"/>
-        <enum value="0x84ED" name="GL_COMPRESSED_RGB"/>
-        <enum value="0x84ED" name="GL_COMPRESSED_RGB_ARB"/>
-        <enum value="0x84EE" name="GL_COMPRESSED_RGBA"/>
-        <enum value="0x84EE" name="GL_COMPRESSED_RGBA_ARB"/>
-        <enum value="0x84EF" name="GL_TEXTURE_COMPRESSION_HINT"/>
-        <enum value="0x84EF" name="GL_TEXTURE_COMPRESSION_HINT_ARB"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x84F0" end="0x855F" vendor="NV">
-        <enum value="0x84F0" name="GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER"/>
-        <enum value="0x84F1" name="GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
-        <enum value="0x84F2" name="GL_ALL_COMPLETED_NV"/>
-        <enum value="0x84F3" name="GL_FENCE_STATUS_NV"/>
-        <enum value="0x84F4" name="GL_FENCE_CONDITION_NV"/>
-        <enum value="0x84F5" name="GL_TEXTURE_RECTANGLE"/>
-        <enum value="0x84F5" name="GL_TEXTURE_RECTANGLE_ARB"/>
-        <enum value="0x84F5" name="GL_TEXTURE_RECTANGLE_NV"/>
-        <enum value="0x84F6" name="GL_TEXTURE_BINDING_RECTANGLE"/>
-        <enum value="0x84F6" name="GL_TEXTURE_BINDING_RECTANGLE_ARB"/>
-        <enum value="0x84F6" name="GL_TEXTURE_BINDING_RECTANGLE_NV"/>
-        <enum value="0x84F7" name="GL_PROXY_TEXTURE_RECTANGLE"/>
-        <enum value="0x84F7" name="GL_PROXY_TEXTURE_RECTANGLE_ARB"/>
-        <enum value="0x84F7" name="GL_PROXY_TEXTURE_RECTANGLE_NV"/>
-        <enum value="0x84F8" name="GL_MAX_RECTANGLE_TEXTURE_SIZE"/>
-        <enum value="0x84F8" name="GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB"/>
-        <enum value="0x84F8" name="GL_MAX_RECTANGLE_TEXTURE_SIZE_NV"/>
-        <enum value="0x84F9" name="GL_DEPTH_STENCIL"/>
-        <enum value="0x84F9" name="GL_DEPTH_STENCIL_EXT"/>
-        <enum value="0x84F9" name="GL_DEPTH_STENCIL_NV"/>
-        <enum value="0x84F9" name="GL_DEPTH_STENCIL_OES"/>
-        <enum value="0x84FA" name="GL_UNSIGNED_INT_24_8"/>
-        <enum value="0x84FA" name="GL_UNSIGNED_INT_24_8_EXT"/>
-        <enum value="0x84FA" name="GL_UNSIGNED_INT_24_8_NV"/>
-        <enum value="0x84FA" name="GL_UNSIGNED_INT_24_8_OES"/>
-            <unused start="0x84FB" end="0x84FC"/>
-        <enum value="0x84FD" name="GL_MAX_TEXTURE_LOD_BIAS"/>
-        <enum value="0x84FD" name="GL_MAX_TEXTURE_LOD_BIAS_EXT"/>
-        <enum value="0x84FE" name="GL_TEXTURE_MAX_ANISOTROPY_EXT"/>
-        <enum value="0x84FF" name="GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT"/>
-        <enum value="0x8500" name="GL_TEXTURE_FILTER_CONTROL"/>
-        <enum value="0x8500" name="GL_TEXTURE_FILTER_CONTROL_EXT"/>
-        <enum value="0x8501" name="GL_TEXTURE_LOD_BIAS"/>
-        <enum value="0x8501" name="GL_TEXTURE_LOD_BIAS_EXT"/>
-        <enum value="0x8502" name="GL_MODELVIEW1_STACK_DEPTH_EXT"/>
-        <enum value="0x8503" name="GL_COMBINE4_NV"/>
-        <enum value="0x8504" name="GL_MAX_SHININESS_NV"/>
-        <enum value="0x8505" name="GL_MAX_SPOT_EXPONENT_NV"/>
-        <enum value="0x8506" name="GL_MODELVIEW1_MATRIX_EXT"/>
-        <enum value="0x8507" name="GL_INCR_WRAP"/>
-        <enum value="0x8507" name="GL_INCR_WRAP_EXT"/>
-        <enum value="0x8507" name="GL_INCR_WRAP_OES"/>
-        <enum value="0x8508" name="GL_DECR_WRAP"/>
-        <enum value="0x8508" name="GL_DECR_WRAP_EXT"/>
-        <enum value="0x8508" name="GL_DECR_WRAP_OES"/>
-        <enum value="0x8509" name="GL_VERTEX_WEIGHTING_EXT"/>
-        <enum value="0x850A" name="GL_MODELVIEW1_ARB"/>
-        <enum value="0x850A" name="GL_MODELVIEW1_EXT"/>
-        <enum value="0x850B" name="GL_CURRENT_VERTEX_WEIGHT_EXT"/>
-        <enum value="0x850C" name="GL_VERTEX_WEIGHT_ARRAY_EXT"/>
-        <enum value="0x850D" name="GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT"/>
-        <enum value="0x850E" name="GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT"/>
-        <enum value="0x850F" name="GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT"/>
-        <enum value="0x8510" name="GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT"/>
-        <enum value="0x8511" name="GL_NORMAL_MAP"/>
-        <enum value="0x8511" name="GL_NORMAL_MAP_ARB"/>
-        <enum value="0x8511" name="GL_NORMAL_MAP_EXT"/>
-        <enum value="0x8511" name="GL_NORMAL_MAP_NV"/>
-        <enum value="0x8511" name="GL_NORMAL_MAP_OES"/>
-        <enum value="0x8512" name="GL_REFLECTION_MAP"/>
-        <enum value="0x8512" name="GL_REFLECTION_MAP_ARB"/>
-        <enum value="0x8512" name="GL_REFLECTION_MAP_EXT"/>
-        <enum value="0x8512" name="GL_REFLECTION_MAP_NV"/>
-        <enum value="0x8512" name="GL_REFLECTION_MAP_OES"/>
-        <enum value="0x8513" name="GL_TEXTURE_CUBE_MAP"/>
-        <enum value="0x8513" name="GL_TEXTURE_CUBE_MAP_ARB"/>
-        <enum value="0x8513" name="GL_TEXTURE_CUBE_MAP_EXT"/>
-        <enum value="0x8513" name="GL_TEXTURE_CUBE_MAP_OES"/>
-        <enum value="0x8514" name="GL_TEXTURE_BINDING_CUBE_MAP"/>
-        <enum value="0x8514" name="GL_TEXTURE_BINDING_CUBE_MAP_ARB"/>
-        <enum value="0x8514" name="GL_TEXTURE_BINDING_CUBE_MAP_EXT"/>
-        <enum value="0x8514" name="GL_TEXTURE_BINDING_CUBE_MAP_OES"/>
-        <enum value="0x8515" name="GL_TEXTURE_CUBE_MAP_POSITIVE_X"/>
-        <enum value="0x8515" name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB"/>
-        <enum value="0x8515" name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT"/>
-        <enum value="0x8515" name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES"/>
-        <enum value="0x8516" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X"/>
-        <enum value="0x8516" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB"/>
-        <enum value="0x8516" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT"/>
-        <enum value="0x8516" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES"/>
-        <enum value="0x8517" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y"/>
-        <enum value="0x8517" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB"/>
-        <enum value="0x8517" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT"/>
-        <enum value="0x8517" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES"/>
-        <enum value="0x8518" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"/>
-        <enum value="0x8518" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB"/>
-        <enum value="0x8518" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT"/>
-        <enum value="0x8518" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES"/>
-        <enum value="0x8519" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z"/>
-        <enum value="0x8519" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB"/>
-        <enum value="0x8519" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT"/>
-        <enum value="0x8519" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES"/>
-        <enum value="0x851A" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"/>
-        <enum value="0x851A" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB"/>
-        <enum value="0x851A" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT"/>
-        <enum value="0x851A" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES"/>
-        <enum value="0x851B" name="GL_PROXY_TEXTURE_CUBE_MAP"/>
-        <enum value="0x851B" name="GL_PROXY_TEXTURE_CUBE_MAP_ARB"/>
-        <enum value="0x851B" name="GL_PROXY_TEXTURE_CUBE_MAP_EXT"/>
-        <enum value="0x851C" name="GL_MAX_CUBE_MAP_TEXTURE_SIZE"/>
-        <enum value="0x851C" name="GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB"/>
-        <enum value="0x851C" name="GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT"/>
-        <enum value="0x851C" name="GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES"/>
-        <enum value="0x851D" name="GL_VERTEX_ARRAY_RANGE_APPLE"/>
-        <enum value="0x851D" name="GL_VERTEX_ARRAY_RANGE_NV"/>
-        <enum value="0x851E" name="GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE"/>
-        <enum value="0x851E" name="GL_VERTEX_ARRAY_RANGE_LENGTH_NV"/>
-        <enum value="0x851F" name="GL_VERTEX_ARRAY_RANGE_VALID_NV"/>
-        <enum value="0x851F" name="GL_VERTEX_ARRAY_STORAGE_HINT_APPLE"/>
-        <enum value="0x8520" name="GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV"/>
-        <enum value="0x8521" name="GL_VERTEX_ARRAY_RANGE_POINTER_APPLE"/>
-        <enum value="0x8521" name="GL_VERTEX_ARRAY_RANGE_POINTER_NV"/>
-        <enum value="0x8522" name="GL_REGISTER_COMBINERS_NV"/>
-        <enum value="0x8523" name="GL_VARIABLE_A_NV"/>
-        <enum value="0x8524" name="GL_VARIABLE_B_NV"/>
-        <enum value="0x8525" name="GL_VARIABLE_C_NV"/>
-        <enum value="0x8526" name="GL_VARIABLE_D_NV"/>
-        <enum value="0x8527" name="GL_VARIABLE_E_NV"/>
-        <enum value="0x8528" name="GL_VARIABLE_F_NV"/>
-        <enum value="0x8529" name="GL_VARIABLE_G_NV"/>
-        <enum value="0x852A" name="GL_CONSTANT_COLOR0_NV"/>
-        <enum value="0x852B" name="GL_CONSTANT_COLOR1_NV"/>
-        <enum value="0x852C" name="GL_PRIMARY_COLOR_NV"/>
-        <enum value="0x852D" name="GL_SECONDARY_COLOR_NV"/>
-        <enum value="0x852E" name="GL_SPARE0_NV"/>
-        <enum value="0x852F" name="GL_SPARE1_NV"/>
-        <enum value="0x8530" name="GL_DISCARD_NV"/>
-        <enum value="0x8531" name="GL_E_TIMES_F_NV"/>
-        <enum value="0x8532" name="GL_SPARE0_PLUS_SECONDARY_COLOR_NV"/>
-        <enum value="0x8533" name="GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV"/>
-        <enum value="0x8534" name="GL_MULTISAMPLE_FILTER_HINT_NV"/>
-        <enum value="0x8535" name="GL_PER_STAGE_CONSTANTS_NV"/>
-        <enum value="0x8536" name="GL_UNSIGNED_IDENTITY_NV"/>
-        <enum value="0x8537" name="GL_UNSIGNED_INVERT_NV"/>
-        <enum value="0x8538" name="GL_EXPAND_NORMAL_NV"/>
-        <enum value="0x8539" name="GL_EXPAND_NEGATE_NV"/>
-        <enum value="0x853A" name="GL_HALF_BIAS_NORMAL_NV"/>
-        <enum value="0x853B" name="GL_HALF_BIAS_NEGATE_NV"/>
-        <enum value="0x853C" name="GL_SIGNED_IDENTITY_NV"/>
-        <enum value="0x853D" name="GL_SIGNED_NEGATE_NV"/>
-        <enum value="0x853E" name="GL_SCALE_BY_TWO_NV"/>
-        <enum value="0x853F" name="GL_SCALE_BY_FOUR_NV"/>
-        <enum value="0x8540" name="GL_SCALE_BY_ONE_HALF_NV"/>
-        <enum value="0x8541" name="GL_BIAS_BY_NEGATIVE_ONE_HALF_NV"/>
-        <enum value="0x8542" name="GL_COMBINER_INPUT_NV"/>
-        <enum value="0x8543" name="GL_COMBINER_MAPPING_NV"/>
-        <enum value="0x8544" name="GL_COMBINER_COMPONENT_USAGE_NV"/>
-        <enum value="0x8545" name="GL_COMBINER_AB_DOT_PRODUCT_NV"/>
-        <enum value="0x8546" name="GL_COMBINER_CD_DOT_PRODUCT_NV"/>
-        <enum value="0x8547" name="GL_COMBINER_MUX_SUM_NV"/>
-        <enum value="0x8548" name="GL_COMBINER_SCALE_NV"/>
-        <enum value="0x8549" name="GL_COMBINER_BIAS_NV"/>
-        <enum value="0x854A" name="GL_COMBINER_AB_OUTPUT_NV"/>
-        <enum value="0x854B" name="GL_COMBINER_CD_OUTPUT_NV"/>
-        <enum value="0x854C" name="GL_COMBINER_SUM_OUTPUT_NV"/>
-        <enum value="0x854D" name="GL_MAX_GENERAL_COMBINERS_NV"/>
-        <enum value="0x854E" name="GL_NUM_GENERAL_COMBINERS_NV"/>
-        <enum value="0x854F" name="GL_COLOR_SUM_CLAMP_NV"/>
-        <enum value="0x8550" name="GL_COMBINER0_NV"/>
-        <enum value="0x8551" name="GL_COMBINER1_NV"/>
-        <enum value="0x8552" name="GL_COMBINER2_NV"/>
-        <enum value="0x8553" name="GL_COMBINER3_NV"/>
-        <enum value="0x8554" name="GL_COMBINER4_NV"/>
-        <enum value="0x8555" name="GL_COMBINER5_NV"/>
-        <enum value="0x8556" name="GL_COMBINER6_NV"/>
-        <enum value="0x8557" name="GL_COMBINER7_NV"/>
-        <enum value="0x8558" name="GL_PRIMITIVE_RESTART_NV"/>
-        <enum value="0x8559" name="GL_PRIMITIVE_RESTART_INDEX_NV"/>
-        <enum value="0x855A" name="GL_FOG_DISTANCE_MODE_NV"/>
-        <enum value="0x855B" name="GL_EYE_RADIAL_NV"/>
-        <enum value="0x855C" name="GL_EYE_PLANE_ABSOLUTE_NV"/>
-        <enum value="0x855D" name="GL_EMBOSS_LIGHT_NV"/>
-        <enum value="0x855E" name="GL_EMBOSS_CONSTANT_NV"/>
-        <enum value="0x855F" name="GL_EMBOSS_MAP_NV"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8560" end="0x856F" vendor="ZiiLabs">
-        <enum value="0x8560" name="GL_RED_MIN_CLAMP_INGR"/>
-        <enum value="0x8561" name="GL_GREEN_MIN_CLAMP_INGR"/>
-        <enum value="0x8562" name="GL_BLUE_MIN_CLAMP_INGR"/>
-        <enum value="0x8563" name="GL_ALPHA_MIN_CLAMP_INGR"/>
-        <enum value="0x8564" name="GL_RED_MAX_CLAMP_INGR"/>
-        <enum value="0x8565" name="GL_GREEN_MAX_CLAMP_INGR"/>
-        <enum value="0x8566" name="GL_BLUE_MAX_CLAMP_INGR"/>
-        <enum value="0x8567" name="GL_ALPHA_MAX_CLAMP_INGR"/>
-        <enum value="0x8568" name="GL_INTERLACE_READ_INGR"/>
-            <unused start="0x8569" end="0x856F"/>
-    </enums>
+        <group name="QueryParameterName" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_CURRENT_QUERY"/>
+            <enum name="GL_QUERY_COUNTER_BITS"/>
+        </group>
 
-    <enums namespace="GL" start="0x8570" end="0x859F" group="RegisterCombinerPname" vendor="AMD/NV">
-        <enum value="0x8570" name="GL_COMBINE"/>
-        <enum value="0x8570" name="GL_COMBINE_ARB"/>
-        <enum value="0x8570" name="GL_COMBINE_EXT"/>
-        <enum value="0x8571" name="GL_COMBINE_RGB"/>
-        <enum value="0x8571" name="GL_COMBINE_RGB_ARB"/>
-        <enum value="0x8571" name="GL_COMBINE_RGB_EXT"/>
-        <enum value="0x8572" name="GL_COMBINE_ALPHA"/>
-        <enum value="0x8572" name="GL_COMBINE_ALPHA_ARB"/>
-        <enum value="0x8572" name="GL_COMBINE_ALPHA_EXT"/>
-        <enum value="0x8573" name="GL_RGB_SCALE"/>
-        <enum value="0x8573" name="GL_RGB_SCALE_ARB"/>
-        <enum value="0x8573" name="GL_RGB_SCALE_EXT"/>
-        <enum value="0x8574" name="GL_ADD_SIGNED"/>
-        <enum value="0x8574" name="GL_ADD_SIGNED_ARB"/>
-        <enum value="0x8574" name="GL_ADD_SIGNED_EXT"/>
-        <enum value="0x8575" name="GL_INTERPOLATE"/>
-        <enum value="0x8575" name="GL_INTERPOLATE_ARB"/>
-        <enum value="0x8575" name="GL_INTERPOLATE_EXT"/>
-        <enum value="0x8576" name="GL_CONSTANT"/>
-        <enum value="0x8576" name="GL_CONSTANT_ARB"/>
-        <enum value="0x8576" name="GL_CONSTANT_EXT"/>
-        <enum value="0x8577" name="GL_PRIMARY_COLOR"/>
-        <enum value="0x8577" name="GL_PRIMARY_COLOR_ARB"/>
-        <enum value="0x8577" name="GL_PRIMARY_COLOR_EXT"/>
-        <enum value="0x8578" name="GL_PREVIOUS"/>
-        <enum value="0x8578" name="GL_PREVIOUS_ARB"/>
-        <enum value="0x8578" name="GL_PREVIOUS_EXT"/>
-            <unused start="0x8579" end="0x857F" comment="Additional combiner enums only"/>
-        <enum value="0x8580" name="GL_SOURCE0_RGB"/>
-        <enum value="0x8580" name="GL_SOURCE0_RGB_ARB"/>
-        <enum value="0x8580" name="GL_SOURCE0_RGB_EXT"/>
-        <enum value="0x8580" name="GL_SRC0_RGB" alias="GL_SOURCE0_RGB"/>
-        <enum value="0x8581" name="GL_SOURCE1_RGB"/>
-        <enum value="0x8581" name="GL_SOURCE1_RGB_ARB"/>
-        <enum value="0x8581" name="GL_SOURCE1_RGB_EXT"/>
-        <enum value="0x8581" name="GL_SRC1_RGB" alias="GL_SOURCE1_RGB"/>
-        <enum value="0x8582" name="GL_SOURCE2_RGB"/>
-        <enum value="0x8582" name="GL_SOURCE2_RGB_ARB"/>
-        <enum value="0x8582" name="GL_SOURCE2_RGB_EXT"/>
-        <enum value="0x8582" name="GL_SRC2_RGB" alias="GL_SOURCE2_RGB"/>
-        <enum value="0x8583" name="GL_SOURCE3_RGB_NV"/>
-            <unused start="0x8584" end="0x8587" comment="Additional combiner enums only"/>
-        <enum value="0x8588" name="GL_SOURCE0_ALPHA"/>
-        <enum value="0x8588" name="GL_SOURCE0_ALPHA_ARB"/>
-        <enum value="0x8588" name="GL_SOURCE0_ALPHA_EXT"/>
-        <enum value="0x8588" name="GL_SRC0_ALPHA" alias="GL_SOURCE0_ALPHA"/>
-        <enum value="0x8589" name="GL_SOURCE1_ALPHA"/>
-        <enum value="0x8589" name="GL_SOURCE1_ALPHA_ARB"/>
-        <enum value="0x8589" name="GL_SOURCE1_ALPHA_EXT"/>
-        <enum value="0x8589" name="GL_SRC1_ALPHA" alias="GL_SOURCE1_ALPHA"/>
-        <enum value="0x858A" name="GL_SOURCE2_ALPHA"/>
-        <enum value="0x858A" name="GL_SOURCE2_ALPHA_ARB"/>
-        <enum value="0x858A" name="GL_SOURCE2_ALPHA_EXT"/>
-        <enum value="0x858A" name="GL_SRC2_ALPHA" alias="GL_SOURCE2_ALPHA"/>
-        <enum value="0x858B" name="GL_SOURCE3_ALPHA_NV"/>
-            <unused start="0x858C" end="0x858F" comment="Additional combiner enums only"/>
-        <enum value="0x8590" name="GL_OPERAND0_RGB"/>
-        <enum value="0x8590" name="GL_OPERAND0_RGB_ARB"/>
-        <enum value="0x8590" name="GL_OPERAND0_RGB_EXT"/>
-        <enum value="0x8591" name="GL_OPERAND1_RGB"/>
-        <enum value="0x8591" name="GL_OPERAND1_RGB_ARB"/>
-        <enum value="0x8591" name="GL_OPERAND1_RGB_EXT"/>
-        <enum value="0x8592" name="GL_OPERAND2_RGB"/>
-        <enum value="0x8592" name="GL_OPERAND2_RGB_ARB"/>
-        <enum value="0x8592" name="GL_OPERAND2_RGB_EXT"/>
-        <enum value="0x8593" name="GL_OPERAND3_RGB_NV"/>
-            <unused start="0x8594" end="0x8597" comment="Additional combiner enums only"/>
-        <enum value="0x8598" name="GL_OPERAND0_ALPHA"/>
-        <enum value="0x8598" name="GL_OPERAND0_ALPHA_ARB"/>
-        <enum value="0x8598" name="GL_OPERAND0_ALPHA_EXT"/>
-        <enum value="0x8599" name="GL_OPERAND1_ALPHA"/>
-        <enum value="0x8599" name="GL_OPERAND1_ALPHA_ARB"/>
-        <enum value="0x8599" name="GL_OPERAND1_ALPHA_EXT"/>
-        <enum value="0x859A" name="GL_OPERAND2_ALPHA"/>
-        <enum value="0x859A" name="GL_OPERAND2_ALPHA_ARB"/>
-        <enum value="0x859A" name="GL_OPERAND2_ALPHA_EXT"/>
-        <enum value="0x859B" name="GL_OPERAND3_ALPHA_NV"/>
-            <unused start="0x859C" end="0x859F" comment="Additional combiner enums only"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x85A0" end="0x85AF" vendor="SGI">
-        <enum value="0x85A0" name="GL_PACK_SUBSAMPLE_RATE_SGIX"/>
-        <enum value="0x85A1" name="GL_UNPACK_SUBSAMPLE_RATE_SGIX"/>
-        <enum value="0x85A2" name="GL_PIXEL_SUBSAMPLE_4444_SGIX"/>
-        <enum value="0x85A3" name="GL_PIXEL_SUBSAMPLE_2424_SGIX"/>
-        <enum value="0x85A4" name="GL_PIXEL_SUBSAMPLE_4242_SGIX"/>
-            <unused start="0x85A5" end="0x85AD" comment="Incomplete extension SGIS_color_range"/>
-            <!-- <enum value="0x85A5" name="GL_EXTENDED_RANGE_SGIS"/> -->
-            <!-- <enum value="0x85A6" name="GL_MIN_RED_SGIS"/> -->
-            <!-- <enum value="0x85A7" name="GL_MAX_RED_SGIS"/> -->
-            <!-- <enum value="0x85A8" name="GL_MIN_GREEN_SGIS"/> -->
-            <!-- <enum value="0x85A9" name="GL_MAX_GREEN_SGIS"/> -->
-            <!-- <enum value="0x85AA" name="GL_MIN_BLUE_SGIS"/> -->
-            <!-- <enum value="0x85AB" name="GL_MAX_BLUE_SGIS"/> -->
-            <!-- <enum value="0x85AC" name="GL_MIN_ALPHA_SGIS"/> -->
-            <!-- <enum value="0x85AD" name="GL_MAX_ALPHA_SGIS"/> -->
-        <enum value="0x85AE" name="GL_PERTURB_EXT"/>
-        <enum value="0x85AF" name="GL_TEXTURE_NORMAL_EXT"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x85B0" end="0x85BF" vendor="APPLE">
-        <enum value="0x85B0" name="GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE"/>
-        <enum value="0x85B1" name="GL_TRANSFORM_HINT_APPLE"/>
-        <enum value="0x85B2" name="GL_UNPACK_CLIENT_STORAGE_APPLE"/>
-        <enum value="0x85B3" name="GL_BUFFER_OBJECT_APPLE"/>
-        <enum value="0x85B4" name="GL_STORAGE_CLIENT_APPLE"/>
-        <enum value="0x85B5" name="GL_VERTEX_ARRAY_BINDING"/>
-        <enum value="0x85B5" name="GL_VERTEX_ARRAY_BINDING_APPLE"/>
-        <enum value="0x85B5" name="GL_VERTEX_ARRAY_BINDING_OES"/>
-            <unused start="0x85B6" comment="Unknown extension (Khronos bug 632)"/>
-            <!-- <enum value="0x85B6" name="GL_TEXTURE_MINIMIZE_STORAGE_APPLE"/> -->
-        <enum value="0x85B7" name="GL_TEXTURE_RANGE_LENGTH_APPLE"/>
-        <enum value="0x85B8" name="GL_TEXTURE_RANGE_POINTER_APPLE"/>
-        <enum value="0x85B9" name="GL_YCBCR_422_APPLE"/>
-        <enum value="0x85BA" name="GL_UNSIGNED_SHORT_8_8_APPLE"/>
-        <enum value="0x85BA" name="GL_UNSIGNED_SHORT_8_8_MESA"/>
-        <enum value="0x85BB" name="GL_UNSIGNED_SHORT_8_8_REV_APPLE"/>
-        <enum value="0x85BB" name="GL_UNSIGNED_SHORT_8_8_REV_MESA"/>
-        <enum value="0x85BC" name="GL_TEXTURE_STORAGE_HINT_APPLE"/>
-        <enum value="0x85BD" name="GL_STORAGE_PRIVATE_APPLE"/>
-        <enum value="0x85BE" name="GL_STORAGE_CACHED_APPLE"/>
-        <enum value="0x85BF" name="GL_STORAGE_SHARED_APPLE"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x85C0" end="0x85CF" vendor="SUN">
-        <enum value="0x85C0" name="GL_REPLACEMENT_CODE_ARRAY_SUN"/>
-        <enum value="0x85C1" name="GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN"/>
-        <enum value="0x85C2" name="GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN"/>
-        <enum value="0x85C3" name="GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN"/>
-        <enum value="0x85C4" name="GL_R1UI_V3F_SUN"/>
-        <enum value="0x85C5" name="GL_R1UI_C4UB_V3F_SUN"/>
-        <enum value="0x85C6" name="GL_R1UI_C3F_V3F_SUN"/>
-        <enum value="0x85C7" name="GL_R1UI_N3F_V3F_SUN"/>
-        <enum value="0x85C8" name="GL_R1UI_C4F_N3F_V3F_SUN"/>
-        <enum value="0x85C9" name="GL_R1UI_T2F_V3F_SUN"/>
-        <enum value="0x85CA" name="GL_R1UI_T2F_N3F_V3F_SUN"/>
-        <enum value="0x85CB" name="GL_R1UI_T2F_C4F_N3F_V3F_SUN"/>
-        <enum value="0x85CC" name="GL_SLICE_ACCUM_SUN"/>
-            <unused start="0x85CD" end="0x85CF"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x85D0" end="0x85DF" vendor="ZiiLabs" comment="3Dlabs private extension for Autodesk">
-            <unused start="0x85D0" end="0x85D1" comment="Unknown 3Dlabs private extension for Autodesk (but we know the enum values)"/>
-            <!-- <enum value="0x85D0" name="GL_FACET_NORMAL_AUTODESK"/> -->
-            <!-- <enum value="0x85D1" name="GL_FACET_NORMAL_ARRAY_AUTODESK"/> -->
-            <unused start="0x85D2" end="0x85DF"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x85E0" end="0x85FF" vendor="SGI">
-            <unused start="0x85E0" end="0x85FB" comment="Incomplete extension SGIX_texture_range"/>
-            <!-- <enum value="0x85E0" name="GL_RGB_SIGNED_SGIX"/> -->
-            <!-- <enum value="0x85E1" name="GL_RGBA_SIGNED_SGIX"/> -->
-            <!-- <enum value="0x85E2" name="GL_ALPHA_SIGNED_SGIX"/> -->
-            <!-- <enum value="0x85E3" name="GL_LUMINANCE_SIGNED_SGIX"/> -->
-            <!-- <enum value="0x85E4" name="GL_INTENSITY_SIGNED_SGIX"/> -->
-            <!-- <enum value="0x85E5" name="GL_LUMINANCE_ALPHA_SIGNED_SGIX"/> -->
-            <!-- <enum value="0x85E6" name="GL_RGB16_SIGNED_SGIX"/> -->
-            <!-- <enum value="0x85E7" name="GL_RGBA16_SIGNED_SGIX"/> -->
-            <!-- <enum value="0x85E8" name="GL_ALPHA16_SIGNED_SGIX"/> -->
-            <!-- <enum value="0x85E9" name="GL_LUMINANCE16_SIGNED_SGIX"/> -->
-            <!-- <enum value="0x85EA" name="GL_INTENSITY16_SIGNED_SGIX"/> -->
-            <!-- <enum value="0x85EB" name="GL_LUMINANCE16_ALPHA16_SIGNED_SGIX"/> -->
-            <!-- <enum value="0x85EC" name="GL_RGB_EXTENDED_RANGE_SGIX"/> -->
-            <!-- <enum value="0x85ED" name="GL_RGBA_EXTENDED_RANGE_SGIX"/> -->
-            <!-- <enum value="0x85EE" name="GL_ALPHA_EXTENDED_RANGE_SGIX"/> -->
-            <!-- <enum value="0x85EF" name="GL_LUMINANCE_EXTENDED_RANGE_SGIX"/> -->
-            <!-- <enum value="0x85F0" name="GL_INTENSITY_EXTENDED_RANGE_SGIX"/> -->
-            <!-- <enum value="0x85F1" name="GL_LUMINANCE_ALPHA_EXTENDED_RANGE_SGIX"/> -->
-            <!-- <enum value="0x85F2" name="GL_RGB16_EXTENDED_RANGE_SGIX"/> -->
-            <!-- <enum value="0x85F3" name="GL_RGBA16_EXTENDED_RANGE_SGIX"/> -->
-            <!-- <enum value="0x85F4" name="GL_ALPHA16_EXTENDED_RANGE_SGIX"/> -->
-            <!-- <enum value="0x85F5" name="GL_LUMINANCE16_EXTENDED_RANGE_SGIX"/> -->
-            <!-- <enum value="0x85F6" name="GL_INTENSITY16_EXTENDED_RANGE_SGIX"/> -->
-            <!-- <enum value="0x85F7" name="GL_LUMINANCE16_ALPHA16_EXTENDED_RANGE_SGIX"/> -->
-            <!-- <enum value="0x85F8" name="GL_MIN_LUMINANCE_SGIS"/> -->
-            <!-- <enum value="0x85F9" name="GL_MAX_LUMINANCE_SGIS"/> -->
-            <!-- <enum value="0x85FA" name="GL_MIN_INTENSITY_SGIS"/> -->
-            <!-- <enum value="0x85FB" name="GL_MAX_INTENSITY_SGIS"/> -->
-            <unused start="0x85FC" end="0x85FF"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8600" end="0x861F" vendor="SUN">
-            <unused start="0x8600" end="0x8613"/>
-        <enum value="0x8614" name="GL_QUAD_MESH_SUN"/>
-        <enum value="0x8615" name="GL_TRIANGLE_MESH_SUN"/>
-            <unused start="0x8614" end="0x861F"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8620" end="0x867F" vendor="NV">
-        <enum value="0x8620" name="GL_VERTEX_PROGRAM_ARB"/>
-        <enum value="0x8620" name="GL_VERTEX_PROGRAM_NV"/>
-        <enum value="0x8621" name="GL_VERTEX_STATE_PROGRAM_NV"/>
-        <enum value="0x8622" name="GL_VERTEX_ATTRIB_ARRAY_ENABLED"/>
-        <enum value="0x8622" name="GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB"/>
-        <enum value="0x8623" name="GL_ATTRIB_ARRAY_SIZE_NV"/>
-        <enum value="0x8623" name="GL_VERTEX_ATTRIB_ARRAY_SIZE"/>
-        <enum value="0x8623" name="GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB"/>
-        <enum value="0x8624" name="GL_ATTRIB_ARRAY_STRIDE_NV"/>
-        <enum value="0x8624" name="GL_VERTEX_ATTRIB_ARRAY_STRIDE"/>
-        <enum value="0x8624" name="GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB"/>
-        <enum value="0x8625" name="GL_ATTRIB_ARRAY_TYPE_NV"/>
-        <enum value="0x8625" name="GL_VERTEX_ATTRIB_ARRAY_TYPE"/>
-        <enum value="0x8625" name="GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB"/>
-        <enum value="0x8626" name="GL_CURRENT_ATTRIB_NV"/>
-        <enum value="0x8626" name="GL_CURRENT_VERTEX_ATTRIB"/>
-        <enum value="0x8626" name="GL_CURRENT_VERTEX_ATTRIB_ARB"/>
-        <enum value="0x8627" name="GL_PROGRAM_LENGTH_ARB"/>
-        <enum value="0x8627" name="GL_PROGRAM_LENGTH_NV"/>
-        <enum value="0x8628" name="GL_PROGRAM_STRING_ARB"/>
-        <enum value="0x8628" name="GL_PROGRAM_STRING_NV"/>
-        <enum value="0x8629" name="GL_MODELVIEW_PROJECTION_NV"/>
-        <enum value="0x862A" name="GL_IDENTITY_NV"/>
-        <enum value="0x862B" name="GL_INVERSE_NV"/>
-        <enum value="0x862C" name="GL_TRANSPOSE_NV"/>
-        <enum value="0x862D" name="GL_INVERSE_TRANSPOSE_NV"/>
-        <enum value="0x862E" name="GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB"/>
-        <enum value="0x862E" name="GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV"/>
-        <enum value="0x862F" name="GL_MAX_PROGRAM_MATRICES_ARB"/>
-        <enum value="0x862F" name="GL_MAX_TRACK_MATRICES_NV"/>
-        <enum value="0x8630" name="GL_MATRIX0_NV"/>
-        <enum value="0x8631" name="GL_MATRIX1_NV"/>
-        <enum value="0x8632" name="GL_MATRIX2_NV"/>
-        <enum value="0x8633" name="GL_MATRIX3_NV"/>
-        <enum value="0x8634" name="GL_MATRIX4_NV"/>
-        <enum value="0x8635" name="GL_MATRIX5_NV"/>
-        <enum value="0x8636" name="GL_MATRIX6_NV"/>
-        <enum value="0x8637" name="GL_MATRIX7_NV"/>
-            <unused start="0x8638" end="0x863F" comment="Reserved for MATRIX{8-15}_NV"/>
-            <!-- <enum value="0x8638" name="GL_MATRIX8_NV"/> -->
-            <!-- <enum value="0x8639" name="GL_MATRIX9_NV"/> -->
-            <!-- <enum value="0x863A" name="GL_MATRIX10_NV"/> -->
-            <!-- <enum value="0x863B" name="GL_MATRIX11_NV"/> -->
-            <!-- <enum value="0x863C" name="GL_MATRIX12_NV"/> -->
-            <!-- <enum value="0x863D" name="GL_MATRIX13_NV"/> -->
-            <!-- <enum value="0x863E" name="GL_MATRIX14_NV"/> -->
-            <!-- <enum value="0x863F" name="GL_MATRIX15_NV"/> -->
-        <enum value="0x8640" name="GL_CURRENT_MATRIX_STACK_DEPTH_ARB"/>
-        <enum value="0x8640" name="GL_CURRENT_MATRIX_STACK_DEPTH_NV"/>
-        <enum value="0x8641" name="GL_CURRENT_MATRIX_ARB"/>
-        <enum value="0x8641" name="GL_CURRENT_MATRIX_NV"/>
-        <enum value="0x8642" name="GL_VERTEX_PROGRAM_POINT_SIZE"/>
-        <enum value="0x8642" name="GL_VERTEX_PROGRAM_POINT_SIZE_ARB"/>
-        <enum value="0x8642" name="GL_VERTEX_PROGRAM_POINT_SIZE_NV"/>
-        <enum value="0x8642" name="GL_PROGRAM_POINT_SIZE" alias="GL_VERTEX_PROGRAM_POINT_SIZE"/>
-        <enum value="0x8642" name="GL_PROGRAM_POINT_SIZE_ARB"/>
-        <enum value="0x8642" name="GL_PROGRAM_POINT_SIZE_EXT"/>
-        <enum value="0x8643" name="GL_VERTEX_PROGRAM_TWO_SIDE"/>
-        <enum value="0x8643" name="GL_VERTEX_PROGRAM_TWO_SIDE_ARB"/>
-        <enum value="0x8643" name="GL_VERTEX_PROGRAM_TWO_SIDE_NV"/>
-        <enum value="0x8644" name="GL_PROGRAM_PARAMETER_NV"/>
-        <enum value="0x8645" name="GL_ATTRIB_ARRAY_POINTER_NV"/>
-        <enum value="0x8645" name="GL_VERTEX_ATTRIB_ARRAY_POINTER"/>
-        <enum value="0x8645" name="GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB"/>
-        <enum value="0x8646" name="GL_PROGRAM_TARGET_NV"/>
-        <enum value="0x8647" name="GL_PROGRAM_RESIDENT_NV"/>
-        <enum value="0x8648" name="GL_TRACK_MATRIX_NV"/>
-        <enum value="0x8649" name="GL_TRACK_MATRIX_TRANSFORM_NV"/>
-        <enum value="0x864A" name="GL_VERTEX_PROGRAM_BINDING_NV"/>
-        <enum value="0x864B" name="GL_PROGRAM_ERROR_POSITION_ARB"/>
-        <enum value="0x864B" name="GL_PROGRAM_ERROR_POSITION_NV"/>
-        <enum value="0x864C" name="GL_OFFSET_TEXTURE_RECTANGLE_NV"/>
-        <enum value="0x864D" name="GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV"/>
-        <enum value="0x864E" name="GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV"/>
-        <enum value="0x864F" name="GL_DEPTH_CLAMP"/>
-        <enum value="0x864F" name="GL_DEPTH_CLAMP_NV"/>
-        <enum value="0x8650" name="GL_VERTEX_ATTRIB_ARRAY0_NV"/>
-        <enum value="0x8651" name="GL_VERTEX_ATTRIB_ARRAY1_NV"/>
-        <enum value="0x8652" name="GL_VERTEX_ATTRIB_ARRAY2_NV"/>
-        <enum value="0x8653" name="GL_VERTEX_ATTRIB_ARRAY3_NV"/>
-        <enum value="0x8654" name="GL_VERTEX_ATTRIB_ARRAY4_NV"/>
-        <enum value="0x8655" name="GL_VERTEX_ATTRIB_ARRAY5_NV"/>
-        <enum value="0x8656" name="GL_VERTEX_ATTRIB_ARRAY6_NV"/>
-        <enum value="0x8657" name="GL_VERTEX_ATTRIB_ARRAY7_NV"/>
-        <enum value="0x8658" name="GL_VERTEX_ATTRIB_ARRAY8_NV"/>
-        <enum value="0x8659" name="GL_VERTEX_ATTRIB_ARRAY9_NV"/>
-        <enum value="0x865A" name="GL_VERTEX_ATTRIB_ARRAY10_NV"/>
-        <enum value="0x865B" name="GL_VERTEX_ATTRIB_ARRAY11_NV"/>
-        <enum value="0x865C" name="GL_VERTEX_ATTRIB_ARRAY12_NV"/>
-        <enum value="0x865D" name="GL_VERTEX_ATTRIB_ARRAY13_NV"/>
-        <enum value="0x865E" name="GL_VERTEX_ATTRIB_ARRAY14_NV"/>
-        <enum value="0x865F" name="GL_VERTEX_ATTRIB_ARRAY15_NV"/>
-        <enum value="0x8660" name="GL_MAP1_VERTEX_ATTRIB0_4_NV"/>
-        <enum value="0x8661" name="GL_MAP1_VERTEX_ATTRIB1_4_NV"/>
-        <enum value="0x8662" name="GL_MAP1_VERTEX_ATTRIB2_4_NV"/>
-        <enum value="0x8663" name="GL_MAP1_VERTEX_ATTRIB3_4_NV"/>
-        <enum value="0x8664" name="GL_MAP1_VERTEX_ATTRIB4_4_NV"/>
-        <enum value="0x8665" name="GL_MAP1_VERTEX_ATTRIB5_4_NV"/>
-        <enum value="0x8666" name="GL_MAP1_VERTEX_ATTRIB6_4_NV"/>
-        <enum value="0x8667" name="GL_MAP1_VERTEX_ATTRIB7_4_NV"/>
-        <enum value="0x8668" name="GL_MAP1_VERTEX_ATTRIB8_4_NV"/>
-        <enum value="0x8669" name="GL_MAP1_VERTEX_ATTRIB9_4_NV"/>
-        <enum value="0x866A" name="GL_MAP1_VERTEX_ATTRIB10_4_NV"/>
-        <enum value="0x866B" name="GL_MAP1_VERTEX_ATTRIB11_4_NV"/>
-        <enum value="0x866C" name="GL_MAP1_VERTEX_ATTRIB12_4_NV"/>
-        <enum value="0x866D" name="GL_MAP1_VERTEX_ATTRIB13_4_NV"/>
-        <enum value="0x866E" name="GL_MAP1_VERTEX_ATTRIB14_4_NV"/>
-        <enum value="0x866F" name="GL_MAP1_VERTEX_ATTRIB15_4_NV"/>
-        <enum value="0x8670" name="GL_MAP2_VERTEX_ATTRIB0_4_NV"/>
-        <enum value="0x8671" name="GL_MAP2_VERTEX_ATTRIB1_4_NV"/>
-        <enum value="0x8672" name="GL_MAP2_VERTEX_ATTRIB2_4_NV"/>
-        <enum value="0x8673" name="GL_MAP2_VERTEX_ATTRIB3_4_NV"/>
-        <enum value="0x8674" name="GL_MAP2_VERTEX_ATTRIB4_4_NV"/>
-        <enum value="0x8675" name="GL_MAP2_VERTEX_ATTRIB5_4_NV"/>
-        <enum value="0x8676" name="GL_MAP2_VERTEX_ATTRIB6_4_NV"/>
-        <enum value="0x8677" name="GL_MAP2_VERTEX_ATTRIB7_4_NV"/>
-        <enum value="0x8677" name="GL_PROGRAM_BINDING_ARB" comment="NOT an alias. Accidental reuse of GL_MAP2_VERTEX_ATTRIB7_4_NV"/>
-        <enum value="0x8678" name="GL_MAP2_VERTEX_ATTRIB8_4_NV"/>
-        <enum value="0x8679" name="GL_MAP2_VERTEX_ATTRIB9_4_NV"/>
-        <enum value="0x867A" name="GL_MAP2_VERTEX_ATTRIB10_4_NV"/>
-        <enum value="0x867B" name="GL_MAP2_VERTEX_ATTRIB11_4_NV"/>
-        <enum value="0x867C" name="GL_MAP2_VERTEX_ATTRIB12_4_NV"/>
-        <enum value="0x867D" name="GL_MAP2_VERTEX_ATTRIB13_4_NV"/>
-        <enum value="0x867E" name="GL_MAP2_VERTEX_ATTRIB14_4_NV"/>
-        <enum value="0x867F" name="GL_MAP2_VERTEX_ATTRIB15_4_NV"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8680" end="0x869F" vendor="Pixelfusion"/>
+        <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>
 
-    <enums namespace="GL" start="0x86A0" end="0x86AF" vendor="ARB">
-        <enum value="0x86A0" name="GL_TEXTURE_COMPRESSED_IMAGE_SIZE"/>
-        <enum value="0x86A0" name="GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB"/>
-        <enum value="0x86A1" name="GL_TEXTURE_COMPRESSED"/>
-        <enum value="0x86A1" name="GL_TEXTURE_COMPRESSED_ARB"/>
-        <enum value="0x86A2" name="GL_NUM_COMPRESSED_TEXTURE_FORMATS"/>
-        <enum value="0x86A2" name="GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB"/>
-        <enum value="0x86A3" name="GL_COMPRESSED_TEXTURE_FORMATS"/>
-        <enum value="0x86A3" name="GL_COMPRESSED_TEXTURE_FORMATS_ARB"/>
-        <enum value="0x86A4" name="GL_MAX_VERTEX_UNITS_ARB"/>
-        <enum value="0x86A4" name="GL_MAX_VERTEX_UNITS_OES"/>
-        <enum value="0x86A5" name="GL_ACTIVE_VERTEX_UNITS_ARB"/>
-        <enum value="0x86A6" name="GL_WEIGHT_SUM_UNITY_ARB"/>
-        <enum value="0x86A7" name="GL_VERTEX_BLEND_ARB"/>
-        <enum value="0x86A8" name="GL_CURRENT_WEIGHT_ARB"/>
-        <enum value="0x86A9" name="GL_WEIGHT_ARRAY_TYPE_ARB"/>
-        <enum value="0x86A9" name="GL_WEIGHT_ARRAY_TYPE_OES"/>
-        <enum value="0x86AA" name="GL_WEIGHT_ARRAY_STRIDE_ARB"/>
-        <enum value="0x86AA" name="GL_WEIGHT_ARRAY_STRIDE_OES"/>
-        <enum value="0x86AB" name="GL_WEIGHT_ARRAY_SIZE_ARB"/>
-        <enum value="0x86AB" name="GL_WEIGHT_ARRAY_SIZE_OES"/>
-        <enum value="0x86AC" name="GL_WEIGHT_ARRAY_POINTER_ARB"/>
-        <enum value="0x86AC" name="GL_WEIGHT_ARRAY_POINTER_OES"/>
-        <enum value="0x86AD" name="GL_WEIGHT_ARRAY_ARB"/>
-        <enum value="0x86AD" name="GL_WEIGHT_ARRAY_OES"/>
-        <enum value="0x86AE" name="GL_DOT3_RGB"/>
-        <enum value="0x86AE" name="GL_DOT3_RGB_ARB"/>
-        <enum value="0x86AF" name="GL_DOT3_RGBA"/>
-        <enum value="0x86AF" name="GL_DOT3_RGBA_ARB"/>
-        <enum value="0x86AF" name="GL_DOT3_RGBA_IMG"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x86B0" end="0x86BF" vendor="3DFX">
-        <enum value="0x86B0" name="GL_COMPRESSED_RGB_FXT1_3DFX"/>
-        <enum value="0x86B1" name="GL_COMPRESSED_RGBA_FXT1_3DFX"/>
-        <enum value="0x86B2" name="GL_MULTISAMPLE_3DFX"/>
-        <enum value="0x86B3" name="GL_SAMPLE_BUFFERS_3DFX"/>
-        <enum value="0x86B4" name="GL_SAMPLES_3DFX"/>
-            <unused start="0x86B5" end="0x86BF"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x86C0" end="0x871F" vendor="NV">
-        <enum value="0x86C0" name="GL_EVAL_2D_NV"/>
-        <enum value="0x86C1" name="GL_EVAL_TRIANGULAR_2D_NV"/>
-        <enum value="0x86C2" name="GL_MAP_TESSELLATION_NV"/>
-        <enum value="0x86C3" name="GL_MAP_ATTRIB_U_ORDER_NV"/>
-        <enum value="0x86C4" name="GL_MAP_ATTRIB_V_ORDER_NV"/>
-        <enum value="0x86C5" name="GL_EVAL_FRACTIONAL_TESSELLATION_NV"/>
-        <enum value="0x86C6" name="GL_EVAL_VERTEX_ATTRIB0_NV"/>
-        <enum value="0x86C7" name="GL_EVAL_VERTEX_ATTRIB1_NV"/>
-        <enum value="0x86C8" name="GL_EVAL_VERTEX_ATTRIB2_NV"/>
-        <enum value="0x86C9" name="GL_EVAL_VERTEX_ATTRIB3_NV"/>
-        <enum value="0x86CA" name="GL_EVAL_VERTEX_ATTRIB4_NV"/>
-        <enum value="0x86CB" name="GL_EVAL_VERTEX_ATTRIB5_NV"/>
-        <enum value="0x86CC" name="GL_EVAL_VERTEX_ATTRIB6_NV"/>
-        <enum value="0x86CD" name="GL_EVAL_VERTEX_ATTRIB7_NV"/>
-        <enum value="0x86CE" name="GL_EVAL_VERTEX_ATTRIB8_NV"/>
-        <enum value="0x86CF" name="GL_EVAL_VERTEX_ATTRIB9_NV"/>
-        <enum value="0x86D0" name="GL_EVAL_VERTEX_ATTRIB10_NV"/>
-        <enum value="0x86D1" name="GL_EVAL_VERTEX_ATTRIB11_NV"/>
-        <enum value="0x86D2" name="GL_EVAL_VERTEX_ATTRIB12_NV"/>
-        <enum value="0x86D3" name="GL_EVAL_VERTEX_ATTRIB13_NV"/>
-        <enum value="0x86D4" name="GL_EVAL_VERTEX_ATTRIB14_NV"/>
-        <enum value="0x86D5" name="GL_EVAL_VERTEX_ATTRIB15_NV"/>
-        <enum value="0x86D6" name="GL_MAX_MAP_TESSELLATION_NV"/>
-        <enum value="0x86D7" name="GL_MAX_RATIONAL_EVAL_ORDER_NV"/>
-        <enum value="0x86D8" name="GL_MAX_PROGRAM_PATCH_ATTRIBS_NV"/>
-        <enum value="0x86D9" name="GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV"/>
-        <enum value="0x86DA" name="GL_UNSIGNED_INT_S8_S8_8_8_NV"/>
-        <enum value="0x86DB" name="GL_UNSIGNED_INT_8_8_S8_S8_REV_NV"/>
-        <enum value="0x86DC" name="GL_DSDT_MAG_INTENSITY_NV"/>
-        <enum value="0x86DD" name="GL_SHADER_CONSISTENT_NV"/>
-        <enum value="0x86DE" name="GL_TEXTURE_SHADER_NV"/>
-        <enum value="0x86DF" name="GL_SHADER_OPERATION_NV"/>
-        <enum value="0x86E0" name="GL_CULL_MODES_NV"/>
-        <enum value="0x86E1" name="GL_OFFSET_TEXTURE_MATRIX_NV"/>
-        <enum value="0x86E1" name="GL_OFFSET_TEXTURE_2D_MATRIX_NV" alias="GL_OFFSET_TEXTURE_MATRIX_NV"/>
-        <enum value="0x86E2" name="GL_OFFSET_TEXTURE_SCALE_NV"/>
-        <enum value="0x86E2" name="GL_OFFSET_TEXTURE_2D_SCALE_NV" alias="GL_OFFSET_TEXTURE_SCALE_NV"/>
-        <enum value="0x86E3" name="GL_OFFSET_TEXTURE_BIAS_NV"/>
-        <enum value="0x86E3" name="GL_OFFSET_TEXTURE_2D_BIAS_NV" alias="GL_OFFSET_TEXTURE_BIAS_NV"/>
-        <enum value="0x86E4" name="GL_PREVIOUS_TEXTURE_INPUT_NV"/>
-        <enum value="0x86E5" name="GL_CONST_EYE_NV"/>
-        <enum value="0x86E6" name="GL_PASS_THROUGH_NV"/>
-        <enum value="0x86E7" name="GL_CULL_FRAGMENT_NV"/>
-        <enum value="0x86E8" name="GL_OFFSET_TEXTURE_2D_NV"/>
-        <enum value="0x86E9" name="GL_DEPENDENT_AR_TEXTURE_2D_NV"/>
-        <enum value="0x86EA" name="GL_DEPENDENT_GB_TEXTURE_2D_NV"/>
-        <enum value="0x86EB" name="GL_SURFACE_STATE_NV"/>
-        <enum value="0x86EC" name="GL_DOT_PRODUCT_NV"/>
-        <enum value="0x86ED" name="GL_DOT_PRODUCT_DEPTH_REPLACE_NV"/>
-        <enum value="0x86EE" name="GL_DOT_PRODUCT_TEXTURE_2D_NV"/>
-        <enum value="0x86EF" name="GL_DOT_PRODUCT_TEXTURE_3D_NV"/>
-        <enum value="0x86F0" name="GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV"/>
-        <enum value="0x86F1" name="GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV"/>
-        <enum value="0x86F2" name="GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV"/>
-        <enum value="0x86F3" name="GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV"/>
-        <enum value="0x86F4" name="GL_HILO_NV"/>
-        <enum value="0x86F5" name="GL_DSDT_NV"/>
-        <enum value="0x86F6" name="GL_DSDT_MAG_NV"/>
-        <enum value="0x86F7" name="GL_DSDT_MAG_VIB_NV"/>
-        <enum value="0x86F8" name="GL_HILO16_NV"/>
-        <enum value="0x86F9" name="GL_SIGNED_HILO_NV"/>
-        <enum value="0x86FA" name="GL_SIGNED_HILO16_NV"/>
-        <enum value="0x86FB" name="GL_SIGNED_RGBA_NV"/>
-        <enum value="0x86FC" name="GL_SIGNED_RGBA8_NV"/>
-        <enum value="0x86FD" name="GL_SURFACE_REGISTERED_NV"/>
-        <enum value="0x86FE" name="GL_SIGNED_RGB_NV"/>
-        <enum value="0x86FF" name="GL_SIGNED_RGB8_NV"/>
-        <enum value="0x8700" name="GL_SURFACE_MAPPED_NV"/>
-        <enum value="0x8701" name="GL_SIGNED_LUMINANCE_NV"/>
-        <enum value="0x8702" name="GL_SIGNED_LUMINANCE8_NV"/>
-        <enum value="0x8703" name="GL_SIGNED_LUMINANCE_ALPHA_NV"/>
-        <enum value="0x8704" name="GL_SIGNED_LUMINANCE8_ALPHA8_NV"/>
-        <enum value="0x8705" name="GL_SIGNED_ALPHA_NV"/>
-        <enum value="0x8706" name="GL_SIGNED_ALPHA8_NV"/>
-        <enum value="0x8707" name="GL_SIGNED_INTENSITY_NV"/>
-        <enum value="0x8708" name="GL_SIGNED_INTENSITY8_NV"/>
-        <enum value="0x8709" name="GL_DSDT8_NV"/>
-        <enum value="0x870A" name="GL_DSDT8_MAG8_NV"/>
-        <enum value="0x870B" name="GL_DSDT8_MAG8_INTENSITY8_NV"/>
-        <enum value="0x870C" name="GL_SIGNED_RGB_UNSIGNED_ALPHA_NV"/>
-        <enum value="0x870D" name="GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV"/>
-        <enum value="0x870E" name="GL_HI_SCALE_NV"/>
-        <enum value="0x870F" name="GL_LO_SCALE_NV"/>
-        <enum value="0x8710" name="GL_DS_SCALE_NV"/>
-        <enum value="0x8711" name="GL_DT_SCALE_NV"/>
-        <enum value="0x8712" name="GL_MAGNITUDE_SCALE_NV"/>
-        <enum value="0x8713" name="GL_VIBRANCE_SCALE_NV"/>
-        <enum value="0x8714" name="GL_HI_BIAS_NV"/>
-        <enum value="0x8715" name="GL_LO_BIAS_NV"/>
-        <enum value="0x8716" name="GL_DS_BIAS_NV"/>
-        <enum value="0x8717" name="GL_DT_BIAS_NV"/>
-        <enum value="0x8718" name="GL_MAGNITUDE_BIAS_NV"/>
-        <enum value="0x8719" name="GL_VIBRANCE_BIAS_NV"/>
-        <enum value="0x871A" name="GL_TEXTURE_BORDER_VALUES_NV"/>
-        <enum value="0x871B" name="GL_TEXTURE_HI_SIZE_NV"/>
-        <enum value="0x871C" name="GL_TEXTURE_LO_SIZE_NV"/>
-        <enum value="0x871D" name="GL_TEXTURE_DS_SIZE_NV"/>
-        <enum value="0x871E" name="GL_TEXTURE_DT_SIZE_NV"/>
-        <enum value="0x871F" name="GL_TEXTURE_MAG_SIZE_NV"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8720" end="0x873F" vendor="ARB">
-            <unused start="0x8720" end="0x8721" comment="MODELVIEW0/1 already exist"/>
-        <enum value="0x8722" name="GL_MODELVIEW2_ARB"/>
-        <enum value="0x8723" name="GL_MODELVIEW3_ARB"/>
-        <enum value="0x8724" name="GL_MODELVIEW4_ARB"/>
-        <enum value="0x8725" name="GL_MODELVIEW5_ARB"/>
-        <enum value="0x8726" name="GL_MODELVIEW6_ARB"/>
-        <enum value="0x8727" name="GL_MODELVIEW7_ARB"/>
-        <enum value="0x8728" name="GL_MODELVIEW8_ARB"/>
-        <enum value="0x8729" name="GL_MODELVIEW9_ARB"/>
-        <enum value="0x872A" name="GL_MODELVIEW10_ARB"/>
-        <enum value="0x872B" name="GL_MODELVIEW11_ARB"/>
-        <enum value="0x872C" name="GL_MODELVIEW12_ARB"/>
-        <enum value="0x872D" name="GL_MODELVIEW13_ARB"/>
-        <enum value="0x872E" name="GL_MODELVIEW14_ARB"/>
-        <enum value="0x872F" name="GL_MODELVIEW15_ARB"/>
-        <enum value="0x8730" name="GL_MODELVIEW16_ARB"/>
-        <enum value="0x8731" name="GL_MODELVIEW17_ARB"/>
-        <enum value="0x8732" name="GL_MODELVIEW18_ARB"/>
-        <enum value="0x8733" name="GL_MODELVIEW19_ARB"/>
-        <enum value="0x8734" name="GL_MODELVIEW20_ARB"/>
-        <enum value="0x8735" name="GL_MODELVIEW21_ARB"/>
-        <enum value="0x8736" name="GL_MODELVIEW22_ARB"/>
-        <enum value="0x8737" name="GL_MODELVIEW23_ARB"/>
-        <enum value="0x8738" name="GL_MODELVIEW24_ARB"/>
-        <enum value="0x8739" name="GL_MODELVIEW25_ARB"/>
-        <enum value="0x873A" name="GL_MODELVIEW26_ARB"/>
-        <enum value="0x873B" name="GL_MODELVIEW27_ARB"/>
-        <enum value="0x873C" name="GL_MODELVIEW28_ARB"/>
-        <enum value="0x873D" name="GL_MODELVIEW29_ARB"/>
-        <enum value="0x873E" name="GL_MODELVIEW30_ARB"/>
-        <enum value="0x873F" name="GL_MODELVIEW31_ARB"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8740" end="0x874F" vendor="AMD">
-        <enum value="0x8740" name="GL_DOT3_RGB_EXT"/>
-        <enum value="0x8740" name="GL_Z400_BINARY_AMD" comment="NOT an alias. Accidental reuse of GL_DOT3_RGB_EXT"/>
-        <enum value="0x8741" name="GL_DOT3_RGBA_EXT"/>
-        <enum value="0x8741" name="GL_PROGRAM_BINARY_LENGTH_OES" comment="NOT an alias. Accidental reuse of GL_DOT3_RGBA_EXT"/>
-        <enum value="0x8741" name="GL_PROGRAM_BINARY_LENGTH"/>
-        <enum value="0x8742" name="GL_MIRROR_CLAMP_ATI"/>
-        <enum value="0x8742" name="GL_MIRROR_CLAMP_EXT"/>
-        <enum value="0x8743" name="GL_MIRROR_CLAMP_TO_EDGE"/>
-        <enum value="0x8743" name="GL_MIRROR_CLAMP_TO_EDGE_ATI"/>
-        <enum value="0x8743" name="GL_MIRROR_CLAMP_TO_EDGE_EXT"/>
-        <enum value="0x8744" name="GL_MODULATE_ADD_ATI"/>
-        <enum value="0x8745" name="GL_MODULATE_SIGNED_ADD_ATI"/>
-        <enum value="0x8746" name="GL_MODULATE_SUBTRACT_ATI"/>
-            <unused start="0x8747" end="0x8749"/>
-        <enum value="0x874A" name="GL_SET_AMD"/>
-        <enum value="0x874B" name="GL_REPLACE_VALUE_AMD"/>
-        <enum value="0x874C" name="GL_STENCIL_OP_VALUE_AMD"/>
-        <enum value="0x874D" name="GL_STENCIL_BACK_OP_VALUE_AMD"/>
-        <enum value="0x874E" name="GL_VERTEX_ATTRIB_ARRAY_LONG"/>
-            <unused start="0x874F"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8750" end="0x875F" vendor="MESA">
-        <enum value="0x8750" name="GL_DEPTH_STENCIL_MESA"/>
-        <enum value="0x8751" name="GL_UNSIGNED_INT_24_8_MESA"/>
-        <enum value="0x8752" name="GL_UNSIGNED_INT_8_24_REV_MESA"/>
-        <enum value="0x8753" name="GL_UNSIGNED_SHORT_15_1_MESA"/>
-        <enum value="0x8754" name="GL_UNSIGNED_SHORT_1_15_REV_MESA"/>
-        <enum value="0x8755" name="GL_TRACE_MASK_MESA"/>
-        <enum value="0x8756" name="GL_TRACE_NAME_MESA"/>
-        <enum value="0x8757" name="GL_YCBCR_MESA"/>
-        <enum value="0x8758" name="GL_PACK_INVERT_MESA"/>
-        <enum value="0x8759" name="GL_DEBUG_OBJECT_MESA" comment="NOT an alias. Accidental reuse of GL_TEXTURE_1D_STACK_MESAX"/>
-        <enum value="0x8759" name="GL_TEXTURE_1D_STACK_MESAX"/>
-        <enum value="0x875A" name="GL_DEBUG_PRINT_MESA" comment="NOT an alias. Accidental reuse of GL_TEXTURE_2D_STACK_MESAX"/>
-        <enum value="0x875A" name="GL_TEXTURE_2D_STACK_MESAX"/>
-        <enum value="0x875B" name="GL_DEBUG_ASSERT_MESA" comment="NOT an alias. Accidental reuse of GL_PROXY_TEXTURE_1D_STACK_MESAX"/>
-        <enum value="0x875B" name="GL_PROXY_TEXTURE_1D_STACK_MESAX"/>
-        <enum value="0x875C" name="GL_PROXY_TEXTURE_2D_STACK_MESAX"/>
-        <enum value="0x875D" name="GL_TEXTURE_1D_STACK_BINDING_MESAX"/>
-        <enum value="0x875E" name="GL_TEXTURE_2D_STACK_BINDING_MESAX"/>
-            <unused start="0x875F"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8760" end="0x883F" vendor="AMD">
-        <enum value="0x8760" name="GL_STATIC_ATI"/>
-        <enum value="0x8761" name="GL_DYNAMIC_ATI"/>
-        <enum value="0x8762" name="GL_PRESERVE_ATI"/>
-        <enum value="0x8763" name="GL_DISCARD_ATI"/>
-        <enum value="0x8764" name="GL_BUFFER_SIZE"/>
-        <enum value="0x8764" name="GL_BUFFER_SIZE_ARB"/>
-        <enum value="0x8764" name="GL_OBJECT_BUFFER_SIZE_ATI"/>
-        <enum value="0x8765" name="GL_BUFFER_USAGE"/>
-        <enum value="0x8765" name="GL_BUFFER_USAGE_ARB"/>
-        <enum value="0x8765" name="GL_OBJECT_BUFFER_USAGE_ATI"/>
-        <enum value="0x8766" name="GL_ARRAY_OBJECT_BUFFER_ATI"/>
-        <enum value="0x8767" name="GL_ARRAY_OBJECT_OFFSET_ATI"/>
-        <enum value="0x8768" name="GL_ELEMENT_ARRAY_ATI"/>
-        <enum value="0x8769" name="GL_ELEMENT_ARRAY_TYPE_ATI"/>
-        <enum value="0x876A" name="GL_ELEMENT_ARRAY_POINTER_ATI"/>
-        <enum value="0x876B" name="GL_MAX_VERTEX_STREAMS_ATI"/>
-        <enum value="0x876C" name="GL_VERTEX_STREAM0_ATI"/>
-        <enum value="0x876D" name="GL_VERTEX_STREAM1_ATI"/>
-        <enum value="0x876E" name="GL_VERTEX_STREAM2_ATI"/>
-        <enum value="0x876F" name="GL_VERTEX_STREAM3_ATI"/>
-        <enum value="0x8770" name="GL_VERTEX_STREAM4_ATI"/>
-        <enum value="0x8771" name="GL_VERTEX_STREAM5_ATI"/>
-        <enum value="0x8772" name="GL_VERTEX_STREAM6_ATI"/>
-        <enum value="0x8773" name="GL_VERTEX_STREAM7_ATI"/>
-        <enum value="0x8774" name="GL_VERTEX_SOURCE_ATI"/>
-        <enum value="0x8775" name="GL_BUMP_ROT_MATRIX_ATI"/>
-        <enum value="0x8776" name="GL_BUMP_ROT_MATRIX_SIZE_ATI"/>
-        <enum value="0x8777" name="GL_BUMP_NUM_TEX_UNITS_ATI"/>
-        <enum value="0x8778" name="GL_BUMP_TEX_UNITS_ATI"/>
-        <enum value="0x8779" name="GL_DUDV_ATI"/>
-        <enum value="0x877A" name="GL_DU8DV8_ATI"/>
-        <enum value="0x877B" name="GL_BUMP_ENVMAP_ATI"/>
-        <enum value="0x877C" name="GL_BUMP_TARGET_ATI"/>
-            <unused start="0x877D" end="0x877F"/>
-        <enum value="0x8780" name="GL_VERTEX_SHADER_EXT"/>
-        <enum value="0x8781" name="GL_VERTEX_SHADER_BINDING_EXT"/>
-        <enum value="0x8782" name="GL_OP_INDEX_EXT"/>
-        <enum value="0x8783" name="GL_OP_NEGATE_EXT"/>
-        <enum value="0x8784" name="GL_OP_DOT3_EXT"/>
-        <enum value="0x8785" name="GL_OP_DOT4_EXT"/>
-        <enum value="0x8786" name="GL_OP_MUL_EXT"/>
-        <enum value="0x8787" name="GL_OP_ADD_EXT"/>
-        <enum value="0x8788" name="GL_OP_MADD_EXT"/>
-        <enum value="0x8789" name="GL_OP_FRAC_EXT"/>
-        <enum value="0x878A" name="GL_OP_MAX_EXT"/>
-        <enum value="0x878B" name="GL_OP_MIN_EXT"/>
-        <enum value="0x878C" name="GL_OP_SET_GE_EXT"/>
-        <enum value="0x878D" name="GL_OP_SET_LT_EXT"/>
-        <enum value="0x878E" name="GL_OP_CLAMP_EXT"/>
-        <enum value="0x878F" name="GL_OP_FLOOR_EXT"/>
-        <enum value="0x8790" name="GL_OP_ROUND_EXT"/>
-        <enum value="0x8791" name="GL_OP_EXP_BASE_2_EXT"/>
-        <enum value="0x8792" name="GL_OP_LOG_BASE_2_EXT"/>
-        <enum value="0x8793" name="GL_OP_POWER_EXT"/>
-        <enum value="0x8794" name="GL_OP_RECIP_EXT"/>
-        <enum value="0x8795" name="GL_OP_RECIP_SQRT_EXT"/>
-        <enum value="0x8796" name="GL_OP_SUB_EXT"/>
-        <enum value="0x8797" name="GL_OP_CROSS_PRODUCT_EXT"/>
-        <enum value="0x8798" name="GL_OP_MULTIPLY_MATRIX_EXT"/>
-        <enum value="0x8799" name="GL_OP_MOV_EXT"/>
-        <enum value="0x879A" name="GL_OUTPUT_VERTEX_EXT"/>
-        <enum value="0x879B" name="GL_OUTPUT_COLOR0_EXT"/>
-        <enum value="0x879C" name="GL_OUTPUT_COLOR1_EXT"/>
-        <enum value="0x879D" name="GL_OUTPUT_TEXTURE_COORD0_EXT"/>
-        <enum value="0x879E" name="GL_OUTPUT_TEXTURE_COORD1_EXT"/>
-        <enum value="0x879F" name="GL_OUTPUT_TEXTURE_COORD2_EXT"/>
-        <enum value="0x87A0" name="GL_OUTPUT_TEXTURE_COORD3_EXT"/>
-        <enum value="0x87A1" name="GL_OUTPUT_TEXTURE_COORD4_EXT"/>
-        <enum value="0x87A2" name="GL_OUTPUT_TEXTURE_COORD5_EXT"/>
-        <enum value="0x87A3" name="GL_OUTPUT_TEXTURE_COORD6_EXT"/>
-        <enum value="0x87A4" name="GL_OUTPUT_TEXTURE_COORD7_EXT"/>
-        <enum value="0x87A5" name="GL_OUTPUT_TEXTURE_COORD8_EXT"/>
-        <enum value="0x87A6" name="GL_OUTPUT_TEXTURE_COORD9_EXT"/>
-        <enum value="0x87A7" name="GL_OUTPUT_TEXTURE_COORD10_EXT"/>
-        <enum value="0x87A8" name="GL_OUTPUT_TEXTURE_COORD11_EXT"/>
-        <enum value="0x87A9" name="GL_OUTPUT_TEXTURE_COORD12_EXT"/>
-        <enum value="0x87AA" name="GL_OUTPUT_TEXTURE_COORD13_EXT"/>
-        <enum value="0x87AB" name="GL_OUTPUT_TEXTURE_COORD14_EXT"/>
-        <enum value="0x87AC" name="GL_OUTPUT_TEXTURE_COORD15_EXT"/>
-        <enum value="0x87AD" name="GL_OUTPUT_TEXTURE_COORD16_EXT"/>
-        <enum value="0x87AE" name="GL_OUTPUT_TEXTURE_COORD17_EXT"/>
-        <enum value="0x87AF" name="GL_OUTPUT_TEXTURE_COORD18_EXT"/>
-        <enum value="0x87B0" name="GL_OUTPUT_TEXTURE_COORD19_EXT"/>
-        <enum value="0x87B1" name="GL_OUTPUT_TEXTURE_COORD20_EXT"/>
-        <enum value="0x87B2" name="GL_OUTPUT_TEXTURE_COORD21_EXT"/>
-        <enum value="0x87B3" name="GL_OUTPUT_TEXTURE_COORD22_EXT"/>
-        <enum value="0x87B4" name="GL_OUTPUT_TEXTURE_COORD23_EXT"/>
-        <enum value="0x87B5" name="GL_OUTPUT_TEXTURE_COORD24_EXT"/>
-        <enum value="0x87B6" name="GL_OUTPUT_TEXTURE_COORD25_EXT"/>
-        <enum value="0x87B7" name="GL_OUTPUT_TEXTURE_COORD26_EXT"/>
-        <enum value="0x87B8" name="GL_OUTPUT_TEXTURE_COORD27_EXT"/>
-        <enum value="0x87B9" name="GL_OUTPUT_TEXTURE_COORD28_EXT"/>
-        <enum value="0x87BA" name="GL_OUTPUT_TEXTURE_COORD29_EXT"/>
-        <enum value="0x87BB" name="GL_OUTPUT_TEXTURE_COORD30_EXT"/>
-        <enum value="0x87BC" name="GL_OUTPUT_TEXTURE_COORD31_EXT"/>
-        <enum value="0x87BD" name="GL_OUTPUT_FOG_EXT"/>
-        <enum value="0x87BE" name="GL_SCALAR_EXT"/>
-        <enum value="0x87BF" name="GL_VECTOR_EXT"/>
-        <enum value="0x87C0" name="GL_MATRIX_EXT"/>
-        <enum value="0x87C1" name="GL_VARIANT_EXT"/>
-        <enum value="0x87C2" name="GL_INVARIANT_EXT"/>
-        <enum value="0x87C3" name="GL_LOCAL_CONSTANT_EXT"/>
-        <enum value="0x87C4" name="GL_LOCAL_EXT"/>
-        <enum value="0x87C5" name="GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT"/>
-        <enum value="0x87C6" name="GL_MAX_VERTEX_SHADER_VARIANTS_EXT"/>
-        <enum value="0x87C7" name="GL_MAX_VERTEX_SHADER_INVARIANTS_EXT"/>
-        <enum value="0x87C8" name="GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"/>
-        <enum value="0x87C9" name="GL_MAX_VERTEX_SHADER_LOCALS_EXT"/>
-        <enum value="0x87CA" name="GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT"/>
-        <enum value="0x87CB" name="GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT"/>
-        <enum value="0x87CC" name="GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"/>
-        <enum value="0x87CD" name="GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT"/>
-        <enum value="0x87CE" name="GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT"/>
-        <enum value="0x87CF" name="GL_VERTEX_SHADER_INSTRUCTIONS_EXT"/>
-        <enum value="0x87D0" name="GL_VERTEX_SHADER_VARIANTS_EXT"/>
-        <enum value="0x87D1" name="GL_VERTEX_SHADER_INVARIANTS_EXT"/>
-        <enum value="0x87D2" name="GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"/>
-        <enum value="0x87D3" name="GL_VERTEX_SHADER_LOCALS_EXT"/>
-        <enum value="0x87D4" name="GL_VERTEX_SHADER_OPTIMIZED_EXT"/>
-        <enum value="0x87D5" name="GL_X_EXT"/>
-        <enum value="0x87D6" name="GL_Y_EXT"/>
-        <enum value="0x87D7" name="GL_Z_EXT"/>
-        <enum value="0x87D8" name="GL_W_EXT"/>
-        <enum value="0x87D9" name="GL_NEGATIVE_X_EXT"/>
-        <enum value="0x87DA" name="GL_NEGATIVE_Y_EXT"/>
-        <enum value="0x87DB" name="GL_NEGATIVE_Z_EXT"/>
-        <enum value="0x87DC" name="GL_NEGATIVE_W_EXT"/>
-        <enum value="0x87DD" name="GL_ZERO_EXT"/>
-        <enum value="0x87DE" name="GL_ONE_EXT"/>
-        <enum value="0x87DF" name="GL_NEGATIVE_ONE_EXT"/>
-        <enum value="0x87E0" name="GL_NORMALIZED_RANGE_EXT"/>
-        <enum value="0x87E1" name="GL_FULL_RANGE_EXT"/>
-        <enum value="0x87E2" name="GL_CURRENT_VERTEX_EXT"/>
-        <enum value="0x87E3" name="GL_MVP_MATRIX_EXT"/>
-        <enum value="0x87E4" name="GL_VARIANT_VALUE_EXT"/>
-        <enum value="0x87E5" name="GL_VARIANT_DATATYPE_EXT"/>
-        <enum value="0x87E6" name="GL_VARIANT_ARRAY_STRIDE_EXT"/>
-        <enum value="0x87E7" name="GL_VARIANT_ARRAY_TYPE_EXT"/>
-        <enum value="0x87E8" name="GL_VARIANT_ARRAY_EXT"/>
-        <enum value="0x87E9" name="GL_VARIANT_ARRAY_POINTER_EXT"/>
-        <enum value="0x87EA" name="GL_INVARIANT_VALUE_EXT"/>
-        <enum value="0x87EB" name="GL_INVARIANT_DATATYPE_EXT"/>
-        <enum value="0x87EC" name="GL_LOCAL_CONSTANT_VALUE_EXT"/>
-        <enum value="0x87ED" name="GL_LOCAL_CONSTANT_DATATYPE_EXT"/>
-        <enum value="0x87EE" name="GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD"/>
-        <enum value="0x87F0" name="GL_PN_TRIANGLES_ATI"/>
-        <enum value="0x87F1" name="GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI"/>
-        <enum value="0x87F2" name="GL_PN_TRIANGLES_POINT_MODE_ATI"/>
-        <enum value="0x87F3" name="GL_PN_TRIANGLES_NORMAL_MODE_ATI"/>
-        <enum value="0x87F4" name="GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI"/>
-        <enum value="0x87F5" name="GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI"/>
-        <enum value="0x87F6" name="GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI"/>
-        <enum value="0x87F7" name="GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI"/>
-        <enum value="0x87F8" name="GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI"/>
-        <enum value="0x87F9" name="GL_3DC_X_AMD"/>
-        <enum value="0x87FA" name="GL_3DC_XY_AMD"/>
-        <enum value="0x87FB" name="GL_VBO_FREE_MEMORY_ATI"/>
-        <enum value="0x87FC" name="GL_TEXTURE_FREE_MEMORY_ATI"/>
-        <enum value="0x87FD" name="GL_RENDERBUFFER_FREE_MEMORY_ATI"/>
-        <enum value="0x87FE" name="GL_NUM_PROGRAM_BINARY_FORMATS"/>
-        <enum value="0x87FE" name="GL_NUM_PROGRAM_BINARY_FORMATS_OES"/>
-        <enum value="0x87FF" name="GL_PROGRAM_BINARY_FORMATS"/>
-        <enum value="0x87FF" name="GL_PROGRAM_BINARY_FORMATS_OES"/>
-        <enum value="0x8800" name="GL_STENCIL_BACK_FUNC"/>
-        <enum value="0x8800" name="GL_STENCIL_BACK_FUNC_ATI"/>
-        <enum value="0x8801" name="GL_STENCIL_BACK_FAIL"/>
-        <enum value="0x8801" name="GL_STENCIL_BACK_FAIL_ATI"/>
-        <enum value="0x8802" name="GL_STENCIL_BACK_PASS_DEPTH_FAIL"/>
-        <enum value="0x8802" name="GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI"/>
-        <enum value="0x8803" name="GL_STENCIL_BACK_PASS_DEPTH_PASS"/>
-        <enum value="0x8803" name="GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI"/>
-        <enum value="0x8804" name="GL_FRAGMENT_PROGRAM_ARB"/>
-        <enum value="0x8805" name="GL_PROGRAM_ALU_INSTRUCTIONS_ARB"/>
-        <enum value="0x8806" name="GL_PROGRAM_TEX_INSTRUCTIONS_ARB"/>
-        <enum value="0x8807" name="GL_PROGRAM_TEX_INDIRECTIONS_ARB"/>
-        <enum value="0x8808" name="GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"/>
-        <enum value="0x8809" name="GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"/>
-        <enum value="0x880A" name="GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"/>
-        <enum value="0x880B" name="GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB"/>
-        <enum value="0x880C" name="GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB"/>
-        <enum value="0x880D" name="GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB"/>
-        <enum value="0x880E" name="GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"/>
-        <enum value="0x880F" name="GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"/>
-        <enum value="0x8810" name="GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"/>
-            <unused start="0x8811" end="0x8813"/>
-        <enum value="0x8814" name="GL_RGBA32F"/>
-        <enum value="0x8814" name="GL_RGBA32F_ARB"/>
-        <enum value="0x8814" name="GL_RGBA32F_EXT"/>
-        <enum value="0x8814" name="GL_RGBA_FLOAT32_APPLE"/>
-        <enum value="0x8814" name="GL_RGBA_FLOAT32_ATI"/>
-        <enum value="0x8815" name="GL_RGB32F"/>
-        <enum value="0x8815" name="GL_RGB32F_ARB"/>
-        <enum value="0x8815" name="GL_RGB32F_EXT"/>
-        <enum value="0x8815" name="GL_RGB_FLOAT32_APPLE"/>
-        <enum value="0x8815" name="GL_RGB_FLOAT32_ATI"/>
-        <enum value="0x8816" name="GL_ALPHA32F_ARB"/>
-        <enum value="0x8816" name="GL_ALPHA32F_EXT"/>
-        <enum value="0x8816" name="GL_ALPHA_FLOAT32_APPLE"/>
-        <enum value="0x8816" name="GL_ALPHA_FLOAT32_ATI"/>
-        <enum value="0x8817" name="GL_INTENSITY32F_ARB"/>
-        <enum value="0x8817" name="GL_INTENSITY_FLOAT32_APPLE"/>
-        <enum value="0x8817" name="GL_INTENSITY_FLOAT32_ATI"/>
-        <enum value="0x8818" name="GL_LUMINANCE32F_ARB"/>
-        <enum value="0x8818" name="GL_LUMINANCE32F_EXT"/>
-        <enum value="0x8818" name="GL_LUMINANCE_FLOAT32_APPLE"/>
-        <enum value="0x8818" name="GL_LUMINANCE_FLOAT32_ATI"/>
-        <enum value="0x8819" name="GL_LUMINANCE_ALPHA32F_ARB"/>
-        <enum value="0x8819" name="GL_LUMINANCE_ALPHA32F_EXT"/>
-        <enum value="0x8819" name="GL_LUMINANCE_ALPHA_FLOAT32_APPLE"/>
-        <enum value="0x8819" name="GL_LUMINANCE_ALPHA_FLOAT32_ATI"/>
-        <enum value="0x881A" name="GL_RGBA16F"/>
-        <enum value="0x881A" name="GL_RGBA16F_ARB"/>
-        <enum value="0x881A" name="GL_RGBA16F_EXT"/>
-        <enum value="0x881A" name="GL_RGBA_FLOAT16_APPLE"/>
-        <enum value="0x881A" name="GL_RGBA_FLOAT16_ATI"/>
-        <enum value="0x881B" name="GL_RGB16F"/>
-        <enum value="0x881B" name="GL_RGB16F_ARB"/>
-        <enum value="0x881B" name="GL_RGB16F_EXT"/>
-        <enum value="0x881B" name="GL_RGB_FLOAT16_APPLE"/>
-        <enum value="0x881B" name="GL_RGB_FLOAT16_ATI"/>
-        <enum value="0x881C" name="GL_ALPHA16F_ARB"/>
-        <enum value="0x881C" name="GL_ALPHA16F_EXT"/>
-        <enum value="0x881C" name="GL_ALPHA_FLOAT16_APPLE"/>
-        <enum value="0x881C" name="GL_ALPHA_FLOAT16_ATI"/>
-        <enum value="0x881D" name="GL_INTENSITY16F_ARB"/>
-        <enum value="0x881D" name="GL_INTENSITY_FLOAT16_APPLE"/>
-        <enum value="0x881D" name="GL_INTENSITY_FLOAT16_ATI"/>
-        <enum value="0x881E" name="GL_LUMINANCE16F_ARB"/>
-        <enum value="0x881E" name="GL_LUMINANCE16F_EXT"/>
-        <enum value="0x881E" name="GL_LUMINANCE_FLOAT16_APPLE"/>
-        <enum value="0x881E" name="GL_LUMINANCE_FLOAT16_ATI"/>
-        <enum value="0x881F" name="GL_LUMINANCE_ALPHA16F_ARB"/>
-        <enum value="0x881F" name="GL_LUMINANCE_ALPHA16F_EXT"/>
-        <enum value="0x881F" name="GL_LUMINANCE_ALPHA_FLOAT16_APPLE"/>
-        <enum value="0x881F" name="GL_LUMINANCE_ALPHA_FLOAT16_ATI"/>
-            <!-- RGBA_FLOAT_MODE_ARB equivalent to TYPE_RGBA_FLOAT_ATI -->
-        <enum value="0x8820" name="GL_RGBA_FLOAT_MODE_ARB"/>
-        <enum value="0x8820" name="GL_RGBA_FLOAT_MODE_ATI"/>
-            <unused start="0x8821" end="0x8822"/>
-        <enum value="0x8823" name="GL_WRITEONLY_RENDERING_QCOM"/>
-        <enum value="0x8824" name="GL_MAX_DRAW_BUFFERS"/>
-        <enum value="0x8824" name="GL_MAX_DRAW_BUFFERS_ARB"/>
-        <enum value="0x8824" name="GL_MAX_DRAW_BUFFERS_ATI"/>
-        <enum value="0x8824" name="GL_MAX_DRAW_BUFFERS_EXT"/>
-        <enum value="0x8824" name="GL_MAX_DRAW_BUFFERS_NV"/>
-        <enum value="0x8825" name="GL_DRAW_BUFFER0"/>
-        <enum value="0x8825" name="GL_DRAW_BUFFER0_ARB"/>
-        <enum value="0x8825" name="GL_DRAW_BUFFER0_ATI"/>
-        <enum value="0x8825" name="GL_DRAW_BUFFER0_EXT"/>
-        <enum value="0x8825" name="GL_DRAW_BUFFER0_NV"/>
-        <enum value="0x8826" name="GL_DRAW_BUFFER1"/>
-        <enum value="0x8826" name="GL_DRAW_BUFFER1_ARB"/>
-        <enum value="0x8826" name="GL_DRAW_BUFFER1_ATI"/>
-        <enum value="0x8826" name="GL_DRAW_BUFFER1_EXT"/>
-        <enum value="0x8826" name="GL_DRAW_BUFFER1_NV"/>
-        <enum value="0x8827" name="GL_DRAW_BUFFER2"/>
-        <enum value="0x8827" name="GL_DRAW_BUFFER2_ARB"/>
-        <enum value="0x8827" name="GL_DRAW_BUFFER2_ATI"/>
-        <enum value="0x8827" name="GL_DRAW_BUFFER2_EXT"/>
-        <enum value="0x8827" name="GL_DRAW_BUFFER2_NV"/>
-        <enum value="0x8828" name="GL_DRAW_BUFFER3"/>
-        <enum value="0x8828" name="GL_DRAW_BUFFER3_ARB"/>
-        <enum value="0x8828" name="GL_DRAW_BUFFER3_ATI"/>
-        <enum value="0x8828" name="GL_DRAW_BUFFER3_EXT"/>
-        <enum value="0x8828" name="GL_DRAW_BUFFER3_NV"/>
-        <enum value="0x8829" name="GL_DRAW_BUFFER4"/>
-        <enum value="0x8829" name="GL_DRAW_BUFFER4_ARB"/>
-        <enum value="0x8829" name="GL_DRAW_BUFFER4_ATI"/>
-        <enum value="0x8829" name="GL_DRAW_BUFFER4_EXT"/>
-        <enum value="0x8829" name="GL_DRAW_BUFFER4_NV"/>
-        <enum value="0x882A" name="GL_DRAW_BUFFER5"/>
-        <enum value="0x882A" name="GL_DRAW_BUFFER5_ARB"/>
-        <enum value="0x882A" name="GL_DRAW_BUFFER5_ATI"/>
-        <enum value="0x882A" name="GL_DRAW_BUFFER5_EXT"/>
-        <enum value="0x882A" name="GL_DRAW_BUFFER5_NV"/>
-        <enum value="0x882B" name="GL_DRAW_BUFFER6"/>
-        <enum value="0x882B" name="GL_DRAW_BUFFER6_ARB"/>
-        <enum value="0x882B" name="GL_DRAW_BUFFER6_ATI"/>
-        <enum value="0x882B" name="GL_DRAW_BUFFER6_EXT"/>
-        <enum value="0x882B" name="GL_DRAW_BUFFER6_NV"/>
-        <enum value="0x882C" name="GL_DRAW_BUFFER7"/>
-        <enum value="0x882C" name="GL_DRAW_BUFFER7_ARB"/>
-        <enum value="0x882C" name="GL_DRAW_BUFFER7_ATI"/>
-        <enum value="0x882C" name="GL_DRAW_BUFFER7_EXT"/>
-        <enum value="0x882C" name="GL_DRAW_BUFFER7_NV"/>
-        <enum value="0x882D" name="GL_DRAW_BUFFER8"/>
-        <enum value="0x882D" name="GL_DRAW_BUFFER8_ARB"/>
-        <enum value="0x882D" name="GL_DRAW_BUFFER8_ATI"/>
-        <enum value="0x882D" name="GL_DRAW_BUFFER8_EXT"/>
-        <enum value="0x882D" name="GL_DRAW_BUFFER8_NV"/>
-        <enum value="0x882E" name="GL_DRAW_BUFFER9"/>
-        <enum value="0x882E" name="GL_DRAW_BUFFER9_ARB"/>
-        <enum value="0x882E" name="GL_DRAW_BUFFER9_ATI"/>
-        <enum value="0x882E" name="GL_DRAW_BUFFER9_EXT"/>
-        <enum value="0x882E" name="GL_DRAW_BUFFER9_NV"/>
-        <enum value="0x882F" name="GL_DRAW_BUFFER10"/>
-        <enum value="0x882F" name="GL_DRAW_BUFFER10_ARB"/>
-        <enum value="0x882F" name="GL_DRAW_BUFFER10_ATI"/>
-        <enum value="0x882F" name="GL_DRAW_BUFFER10_EXT"/>
-        <enum value="0x882F" name="GL_DRAW_BUFFER10_NV"/>
-        <enum value="0x8830" name="GL_DRAW_BUFFER11"/>
-        <enum value="0x8830" name="GL_DRAW_BUFFER11_ARB"/>
-        <enum value="0x8830" name="GL_DRAW_BUFFER11_ATI"/>
-        <enum value="0x8830" name="GL_DRAW_BUFFER11_EXT"/>
-        <enum value="0x8830" name="GL_DRAW_BUFFER11_NV"/>
-        <enum value="0x8831" name="GL_DRAW_BUFFER12"/>
-        <enum value="0x8831" name="GL_DRAW_BUFFER12_ARB"/>
-        <enum value="0x8831" name="GL_DRAW_BUFFER12_ATI"/>
-        <enum value="0x8831" name="GL_DRAW_BUFFER12_EXT"/>
-        <enum value="0x8831" name="GL_DRAW_BUFFER12_NV"/>
-        <enum value="0x8832" name="GL_DRAW_BUFFER13"/>
-        <enum value="0x8832" name="GL_DRAW_BUFFER13_ARB"/>
-        <enum value="0x8832" name="GL_DRAW_BUFFER13_ATI"/>
-        <enum value="0x8832" name="GL_DRAW_BUFFER13_EXT"/>
-        <enum value="0x8832" name="GL_DRAW_BUFFER13_NV"/>
-        <enum value="0x8833" name="GL_DRAW_BUFFER14"/>
-        <enum value="0x8833" name="GL_DRAW_BUFFER14_ARB"/>
-        <enum value="0x8833" name="GL_DRAW_BUFFER14_ATI"/>
-        <enum value="0x8833" name="GL_DRAW_BUFFER14_EXT"/>
-        <enum value="0x8833" name="GL_DRAW_BUFFER14_NV"/>
-        <enum value="0x8834" name="GL_DRAW_BUFFER15"/>
-        <enum value="0x8834" name="GL_DRAW_BUFFER15_ARB"/>
-        <enum value="0x8834" name="GL_DRAW_BUFFER15_ATI"/>
-        <enum value="0x8834" name="GL_DRAW_BUFFER15_EXT"/>
-        <enum value="0x8834" name="GL_DRAW_BUFFER15_NV"/>
-        <enum value="0x8835" name="GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI"/>
-            <unused start="0x8836" end="0x883C"/>
-        <enum value="0x883D" name="GL_BLEND_EQUATION_ALPHA"/>
-        <enum value="0x883D" name="GL_BLEND_EQUATION_ALPHA_EXT"/>
-        <enum value="0x883D" name="GL_BLEND_EQUATION_ALPHA_OES"/>
-            <unused start="0x883E"/>
-        <enum value="0x883F" name="GL_SUBSAMPLE_DISTANCE_AMD"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8840" end="0x884F" vendor="ARB">
-        <enum value="0x8840" name="GL_MATRIX_PALETTE_ARB"/>
-        <enum value="0x8840" name="GL_MATRIX_PALETTE_OES"/>
-        <enum value="0x8841" name="GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB"/>
-        <enum value="0x8842" name="GL_MAX_PALETTE_MATRICES_ARB"/>
-        <enum value="0x8842" name="GL_MAX_PALETTE_MATRICES_OES"/>
-        <enum value="0x8843" name="GL_CURRENT_PALETTE_MATRIX_ARB"/>
-        <enum value="0x8843" name="GL_CURRENT_PALETTE_MATRIX_OES"/>
-        <enum value="0x8844" name="GL_MATRIX_INDEX_ARRAY_ARB"/>
-        <enum value="0x8844" name="GL_MATRIX_INDEX_ARRAY_OES"/>
-        <enum value="0x8845" name="GL_CURRENT_MATRIX_INDEX_ARB"/>
-        <enum value="0x8846" name="GL_MATRIX_INDEX_ARRAY_SIZE_ARB"/>
-        <enum value="0x8846" name="GL_MATRIX_INDEX_ARRAY_SIZE_OES"/>
-        <enum value="0x8847" name="GL_MATRIX_INDEX_ARRAY_TYPE_ARB"/>
-        <enum value="0x8847" name="GL_MATRIX_INDEX_ARRAY_TYPE_OES"/>
-        <enum value="0x8848" name="GL_MATRIX_INDEX_ARRAY_STRIDE_ARB"/>
-        <enum value="0x8848" name="GL_MATRIX_INDEX_ARRAY_STRIDE_OES"/>
-        <enum value="0x8849" name="GL_MATRIX_INDEX_ARRAY_POINTER_ARB"/>
-        <enum value="0x8849" name="GL_MATRIX_INDEX_ARRAY_POINTER_OES"/>
-        <enum value="0x884A" name="GL_TEXTURE_DEPTH_SIZE"/>
-        <enum value="0x884A" name="GL_TEXTURE_DEPTH_SIZE_ARB"/>
-        <enum value="0x884B" name="GL_DEPTH_TEXTURE_MODE"/>
-        <enum value="0x884B" name="GL_DEPTH_TEXTURE_MODE_ARB"/>
-        <enum value="0x884C" name="GL_TEXTURE_COMPARE_MODE"/>
-        <enum value="0x884C" name="GL_TEXTURE_COMPARE_MODE_ARB"/>
-        <enum value="0x884C" name="GL_TEXTURE_COMPARE_MODE_EXT"/>
-        <enum value="0x884D" name="GL_TEXTURE_COMPARE_FUNC"/>
-        <enum value="0x884D" name="GL_TEXTURE_COMPARE_FUNC_ARB"/>
-        <enum value="0x884D" name="GL_TEXTURE_COMPARE_FUNC_EXT"/>
-        <enum value="0x884E" name="GL_COMPARE_R_TO_TEXTURE"/>
-        <enum value="0x884E" name="GL_COMPARE_R_TO_TEXTURE_ARB"/>
-        <enum value="0x884E" name="GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT"/>
-        <enum value="0x884E" name="GL_COMPARE_REF_TO_TEXTURE" alias="GL_COMPARE_R_TO_TEXTURE"/>
-        <enum value="0x884E" name="GL_COMPARE_REF_TO_TEXTURE_EXT"/>
-        <enum value="0x884F" name="GL_TEXTURE_CUBE_MAP_SEAMLESS"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8850" end="0x891F" vendor="NV">
-        <enum value="0x8850" name="GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV"/>
-        <enum value="0x8851" name="GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV"/>
-        <enum value="0x8852" name="GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV"/>
-        <enum value="0x8853" name="GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV"/>
-        <enum value="0x8854" name="GL_OFFSET_HILO_TEXTURE_2D_NV"/>
-        <enum value="0x8855" name="GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV"/>
-        <enum value="0x8856" name="GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV"/>
-        <enum value="0x8857" name="GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV"/>
-        <enum value="0x8858" name="GL_DEPENDENT_HILO_TEXTURE_2D_NV"/>
-        <enum value="0x8859" name="GL_DEPENDENT_RGB_TEXTURE_3D_NV"/>
-        <enum value="0x885A" name="GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV"/>
-        <enum value="0x885B" name="GL_DOT_PRODUCT_PASS_THROUGH_NV"/>
-        <enum value="0x885C" name="GL_DOT_PRODUCT_TEXTURE_1D_NV"/>
-        <enum value="0x885D" name="GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV"/>
-        <enum value="0x885E" name="GL_HILO8_NV"/>
-        <enum value="0x885F" name="GL_SIGNED_HILO8_NV"/>
-        <enum value="0x8860" name="GL_FORCE_BLUE_TO_ONE_NV"/>
-        <enum value="0x8861" name="GL_POINT_SPRITE"/>
-        <enum value="0x8861" name="GL_POINT_SPRITE_ARB"/>
-        <enum value="0x8861" name="GL_POINT_SPRITE_NV"/>
-        <enum value="0x8861" name="GL_POINT_SPRITE_OES"/>
-        <enum value="0x8862" name="GL_COORD_REPLACE"/>
-        <enum value="0x8862" name="GL_COORD_REPLACE_ARB"/>
-        <enum value="0x8862" name="GL_COORD_REPLACE_NV"/>
-        <enum value="0x8862" name="GL_COORD_REPLACE_OES"/>
-        <enum value="0x8863" name="GL_POINT_SPRITE_R_MODE_NV"/>
-        <enum value="0x8864" name="GL_PIXEL_COUNTER_BITS_NV"/>
-        <enum value="0x8864" name="GL_QUERY_COUNTER_BITS"/>
-        <enum value="0x8864" name="GL_QUERY_COUNTER_BITS_ARB"/>
-        <enum value="0x8864" name="GL_QUERY_COUNTER_BITS_EXT"/>
-        <enum value="0x8865" name="GL_CURRENT_OCCLUSION_QUERY_ID_NV"/>
-        <enum value="0x8865" name="GL_CURRENT_QUERY"/>
-        <enum value="0x8865" name="GL_CURRENT_QUERY_ARB"/>
-        <enum value="0x8865" name="GL_CURRENT_QUERY_EXT"/>
-        <enum value="0x8866" name="GL_PIXEL_COUNT_NV"/>
-        <enum value="0x8866" name="GL_QUERY_RESULT"/>
-        <enum value="0x8866" name="GL_QUERY_RESULT_ARB"/>
-        <enum value="0x8866" name="GL_QUERY_RESULT_EXT"/>
-        <enum value="0x8867" name="GL_PIXEL_COUNT_AVAILABLE_NV"/>
-        <enum value="0x8867" name="GL_QUERY_RESULT_AVAILABLE"/>
-        <enum value="0x8867" name="GL_QUERY_RESULT_AVAILABLE_ARB"/>
-        <enum value="0x8867" name="GL_QUERY_RESULT_AVAILABLE_EXT"/>
-        <enum value="0x8868" name="GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV"/>
-        <enum value="0x8869" name="GL_MAX_VERTEX_ATTRIBS"/>
-        <enum value="0x8869" name="GL_MAX_VERTEX_ATTRIBS_ARB"/>
-        <enum value="0x886A" name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"/>
-        <enum value="0x886A" name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB"/>
-            <unused start="0x886B"/>
-        <enum value="0x886C" name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS"/>
-        <enum value="0x886D" name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS"/>
-        <enum value="0x886E" name="GL_DEPTH_STENCIL_TO_RGBA_NV"/>
-        <enum value="0x886F" name="GL_DEPTH_STENCIL_TO_BGRA_NV"/>
-        <enum value="0x8870" name="GL_FRAGMENT_PROGRAM_NV"/>
-        <enum value="0x8871" name="GL_MAX_TEXTURE_COORDS"/>
-        <enum value="0x8871" name="GL_MAX_TEXTURE_COORDS_ARB"/>
-        <enum value="0x8871" name="GL_MAX_TEXTURE_COORDS_NV"/>
-        <enum value="0x8872" name="GL_MAX_TEXTURE_IMAGE_UNITS"/>
-        <enum value="0x8872" name="GL_MAX_TEXTURE_IMAGE_UNITS_ARB"/>
-        <enum value="0x8872" name="GL_MAX_TEXTURE_IMAGE_UNITS_NV"/>
-        <enum value="0x8873" name="GL_FRAGMENT_PROGRAM_BINDING_NV"/>
-        <enum value="0x8874" name="GL_PROGRAM_ERROR_STRING_ARB"/>
-        <enum value="0x8874" name="GL_PROGRAM_ERROR_STRING_NV"/>
-        <enum value="0x8875" name="GL_PROGRAM_FORMAT_ASCII_ARB"/>
-        <enum value="0x8876" name="GL_PROGRAM_FORMAT_ARB"/>
-            <unused start="0x8877" comment="Should have been assigned to PROGRAM_BINDING_ARB"/>
-        <enum value="0x8878" name="GL_WRITE_PIXEL_DATA_RANGE_NV"/>
-        <enum value="0x8879" name="GL_READ_PIXEL_DATA_RANGE_NV"/>
-        <enum value="0x887A" name="GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV"/>
-        <enum value="0x887B" name="GL_READ_PIXEL_DATA_RANGE_LENGTH_NV"/>
-        <enum value="0x887C" name="GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV"/>
-        <enum value="0x887D" name="GL_READ_PIXEL_DATA_RANGE_POINTER_NV"/>
-            <unused start="0x887E"/>
-        <enum value="0x887F" name="GL_GEOMETRY_SHADER_INVOCATIONS"/>
-        <enum value="0x8880" name="GL_FLOAT_R_NV"/>
-        <enum value="0x8881" name="GL_FLOAT_RG_NV"/>
-        <enum value="0x8882" name="GL_FLOAT_RGB_NV"/>
-        <enum value="0x8883" name="GL_FLOAT_RGBA_NV"/>
-        <enum value="0x8884" name="GL_FLOAT_R16_NV"/>
-        <enum value="0x8885" name="GL_FLOAT_R32_NV"/>
-        <enum value="0x8886" name="GL_FLOAT_RG16_NV"/>
-        <enum value="0x8887" name="GL_FLOAT_RG32_NV"/>
-        <enum value="0x8888" name="GL_FLOAT_RGB16_NV"/>
-        <enum value="0x8889" name="GL_FLOAT_RGB32_NV"/>
-        <enum value="0x888A" name="GL_FLOAT_RGBA16_NV"/>
-        <enum value="0x888B" name="GL_FLOAT_RGBA32_NV"/>
-        <enum value="0x888C" name="GL_TEXTURE_FLOAT_COMPONENTS_NV"/>
-        <enum value="0x888D" name="GL_FLOAT_CLEAR_COLOR_VALUE_NV"/>
-        <enum value="0x888E" name="GL_FLOAT_RGBA_MODE_NV"/>
-        <enum value="0x888F" name="GL_TEXTURE_UNSIGNED_REMAP_MODE_NV"/>
-        <enum value="0x8890" name="GL_DEPTH_BOUNDS_TEST_EXT"/>
-        <enum value="0x8891" name="GL_DEPTH_BOUNDS_EXT"/>
-        <enum value="0x8892" name="GL_ARRAY_BUFFER"/>
-        <enum value="0x8892" name="GL_ARRAY_BUFFER_ARB"/>
-        <enum value="0x8893" name="GL_ELEMENT_ARRAY_BUFFER"/>
-        <enum value="0x8893" name="GL_ELEMENT_ARRAY_BUFFER_ARB"/>
-        <enum value="0x8894" name="GL_ARRAY_BUFFER_BINDING"/>
-        <enum value="0x8894" name="GL_ARRAY_BUFFER_BINDING_ARB"/>
-        <enum value="0x8895" name="GL_ELEMENT_ARRAY_BUFFER_BINDING"/>
-        <enum value="0x8895" name="GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB"/>
-        <enum value="0x8896" name="GL_VERTEX_ARRAY_BUFFER_BINDING"/>
-        <enum value="0x8896" name="GL_VERTEX_ARRAY_BUFFER_BINDING_ARB"/>
-        <enum value="0x8897" name="GL_NORMAL_ARRAY_BUFFER_BINDING"/>
-        <enum value="0x8897" name="GL_NORMAL_ARRAY_BUFFER_BINDING_ARB"/>
-        <enum value="0x8898" name="GL_COLOR_ARRAY_BUFFER_BINDING"/>
-        <enum value="0x8898" name="GL_COLOR_ARRAY_BUFFER_BINDING_ARB"/>
-        <enum value="0x8899" name="GL_INDEX_ARRAY_BUFFER_BINDING"/>
-        <enum value="0x8899" name="GL_INDEX_ARRAY_BUFFER_BINDING_ARB"/>
-        <enum value="0x889A" name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING"/>
-        <enum value="0x889A" name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB"/>
-        <enum value="0x889B" name="GL_EDGE_FLAG_ARRAY_BUFFER_BINDING"/>
-        <enum value="0x889B" name="GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB"/>
-        <enum value="0x889C" name="GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING"/>
-        <enum value="0x889C" name="GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB"/>
-        <enum value="0x889D" name="GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB"/>
-        <enum value="0x889D" name="GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING"/>
-        <enum value="0x889D" name="GL_FOG_COORD_ARRAY_BUFFER_BINDING" alias="GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING"/>
-        <enum value="0x889E" name="GL_WEIGHT_ARRAY_BUFFER_BINDING"/>
-        <enum value="0x889E" name="GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB"/>
-        <enum value="0x889E" name="GL_WEIGHT_ARRAY_BUFFER_BINDING_OES"/>
-        <enum value="0x889F" name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"/>
-        <enum value="0x889F" name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB"/>
-        <enum value="0x88A0" name="GL_PROGRAM_INSTRUCTIONS_ARB"/>
-        <enum value="0x88A1" name="GL_MAX_PROGRAM_INSTRUCTIONS_ARB"/>
-        <enum value="0x88A2" name="GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB"/>
-        <enum value="0x88A3" name="GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB"/>
-        <enum value="0x88A4" name="GL_PROGRAM_TEMPORARIES_ARB"/>
-        <enum value="0x88A5" name="GL_MAX_PROGRAM_TEMPORARIES_ARB"/>
-        <enum value="0x88A6" name="GL_PROGRAM_NATIVE_TEMPORARIES_ARB"/>
-        <enum value="0x88A7" name="GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB"/>
-        <enum value="0x88A8" name="GL_PROGRAM_PARAMETERS_ARB"/>
-        <enum value="0x88A9" name="GL_MAX_PROGRAM_PARAMETERS_ARB"/>
-        <enum value="0x88AA" name="GL_PROGRAM_NATIVE_PARAMETERS_ARB"/>
-        <enum value="0x88AB" name="GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB"/>
-        <enum value="0x88AC" name="GL_PROGRAM_ATTRIBS_ARB"/>
-        <enum value="0x88AD" name="GL_MAX_PROGRAM_ATTRIBS_ARB"/>
-        <enum value="0x88AE" name="GL_PROGRAM_NATIVE_ATTRIBS_ARB"/>
-        <enum value="0x88AF" name="GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB"/>
-        <enum value="0x88B0" name="GL_PROGRAM_ADDRESS_REGISTERS_ARB"/>
-        <enum value="0x88B1" name="GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB"/>
-        <enum value="0x88B2" name="GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB"/>
-        <enum value="0x88B3" name="GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB"/>
-        <enum value="0x88B4" name="GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB"/>
-        <enum value="0x88B5" name="GL_MAX_PROGRAM_ENV_PARAMETERS_ARB"/>
-        <enum value="0x88B6" name="GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB"/>
-        <enum value="0x88B7" name="GL_TRANSPOSE_CURRENT_MATRIX_ARB"/>
-        <enum value="0x88B8" name="GL_READ_ONLY"/>
-        <enum value="0x88B8" name="GL_READ_ONLY_ARB"/>
-        <enum value="0x88B9" name="GL_WRITE_ONLY"/>
-        <enum value="0x88B9" name="GL_WRITE_ONLY_ARB"/>
-        <enum value="0x88B9" name="GL_WRITE_ONLY_OES"/>
-        <enum value="0x88BA" name="GL_READ_WRITE"/>
-        <enum value="0x88BA" name="GL_READ_WRITE_ARB"/>
-        <enum value="0x88BB" name="GL_BUFFER_ACCESS"/>
-        <enum value="0x88BB" name="GL_BUFFER_ACCESS_ARB"/>
-        <enum value="0x88BB" name="GL_BUFFER_ACCESS_OES"/>
-        <enum value="0x88BC" name="GL_BUFFER_MAPPED"/>
-        <enum value="0x88BC" name="GL_BUFFER_MAPPED_ARB"/>
-        <enum value="0x88BC" name="GL_BUFFER_MAPPED_OES"/>
-        <enum value="0x88BD" name="GL_BUFFER_MAP_POINTER"/>
-        <enum value="0x88BD" name="GL_BUFFER_MAP_POINTER_ARB"/>
-        <enum value="0x88BD" name="GL_BUFFER_MAP_POINTER_OES"/>
-        <enum value="0x88BE" name="GL_WRITE_DISCARD_NV"/>
-        <enum value="0x88BF" name="GL_TIME_ELAPSED"/>
-        <enum value="0x88BF" name="GL_TIME_ELAPSED_EXT"/>
-        <enum value="0x88C0" name="GL_MATRIX0_ARB"/>
-        <enum value="0x88C1" name="GL_MATRIX1_ARB"/>
-        <enum value="0x88C2" name="GL_MATRIX2_ARB"/>
-        <enum value="0x88C3" name="GL_MATRIX3_ARB"/>
-        <enum value="0x88C4" name="GL_MATRIX4_ARB"/>
-        <enum value="0x88C5" name="GL_MATRIX5_ARB"/>
-        <enum value="0x88C6" name="GL_MATRIX6_ARB"/>
-        <enum value="0x88C7" name="GL_MATRIX7_ARB"/>
-        <enum value="0x88C8" name="GL_MATRIX8_ARB"/>
-        <enum value="0x88C9" name="GL_MATRIX9_ARB"/>
-        <enum value="0x88CA" name="GL_MATRIX10_ARB"/>
-        <enum value="0x88CB" name="GL_MATRIX11_ARB"/>
-        <enum value="0x88CC" name="GL_MATRIX12_ARB"/>
-        <enum value="0x88CD" name="GL_MATRIX13_ARB"/>
-        <enum value="0x88CE" name="GL_MATRIX14_ARB"/>
-        <enum value="0x88CF" name="GL_MATRIX15_ARB"/>
-        <enum value="0x88D0" name="GL_MATRIX16_ARB"/>
-        <enum value="0x88D1" name="GL_MATRIX17_ARB"/>
-        <enum value="0x88D2" name="GL_MATRIX18_ARB"/>
-        <enum value="0x88D3" name="GL_MATRIX19_ARB"/>
-        <enum value="0x88D4" name="GL_MATRIX20_ARB"/>
-        <enum value="0x88D5" name="GL_MATRIX21_ARB"/>
-        <enum value="0x88D6" name="GL_MATRIX22_ARB"/>
-        <enum value="0x88D7" name="GL_MATRIX23_ARB"/>
-        <enum value="0x88D8" name="GL_MATRIX24_ARB"/>
-        <enum value="0x88D9" name="GL_MATRIX25_ARB"/>
-        <enum value="0x88DA" name="GL_MATRIX26_ARB"/>
-        <enum value="0x88DB" name="GL_MATRIX27_ARB"/>
-        <enum value="0x88DC" name="GL_MATRIX28_ARB"/>
-        <enum value="0x88DD" name="GL_MATRIX29_ARB"/>
-        <enum value="0x88DE" name="GL_MATRIX30_ARB"/>
-        <enum value="0x88DF" name="GL_MATRIX31_ARB"/>
-        <enum value="0x88E0" name="GL_STREAM_DRAW"/>
-        <enum value="0x88E0" name="GL_STREAM_DRAW_ARB"/>
-        <enum value="0x88E1" name="GL_STREAM_READ"/>
-        <enum value="0x88E1" name="GL_STREAM_READ_ARB"/>
-        <enum value="0x88E2" name="GL_STREAM_COPY"/>
-        <enum value="0x88E2" name="GL_STREAM_COPY_ARB"/>
-            <unused start="0x88E3" comment="To extend ARB_vbo"/>
-        <enum value="0x88E4" name="GL_STATIC_DRAW"/>
-        <enum value="0x88E4" name="GL_STATIC_DRAW_ARB"/>
-        <enum value="0x88E5" name="GL_STATIC_READ"/>
-        <enum value="0x88E5" name="GL_STATIC_READ_ARB"/>
-        <enum value="0x88E6" name="GL_STATIC_COPY"/>
-        <enum value="0x88E6" name="GL_STATIC_COPY_ARB"/>
-            <unused start="0x88E7" comment="To extend ARB_vbo"/>
-        <enum value="0x88E8" name="GL_DYNAMIC_DRAW"/>
-        <enum value="0x88E8" name="GL_DYNAMIC_DRAW_ARB"/>
-        <enum value="0x88E9" name="GL_DYNAMIC_READ"/>
-        <enum value="0x88E9" name="GL_DYNAMIC_READ_ARB"/>
-        <enum value="0x88EA" name="GL_DYNAMIC_COPY"/>
-        <enum value="0x88EA" name="GL_DYNAMIC_COPY_ARB"/>
-        <enum value="0x88EB" name="GL_PIXEL_PACK_BUFFER"/>
-        <enum value="0x88EB" name="GL_PIXEL_PACK_BUFFER_ARB"/>
-        <enum value="0x88EB" name="GL_PIXEL_PACK_BUFFER_EXT"/>
-        <enum value="0x88EC" name="GL_PIXEL_UNPACK_BUFFER"/>
-        <enum value="0x88EC" name="GL_PIXEL_UNPACK_BUFFER_ARB"/>
-        <enum value="0x88EC" name="GL_PIXEL_UNPACK_BUFFER_EXT"/>
-        <enum value="0x88ED" name="GL_PIXEL_PACK_BUFFER_BINDING"/>
-        <enum value="0x88ED" name="GL_PIXEL_PACK_BUFFER_BINDING_ARB"/>
-        <enum value="0x88ED" name="GL_PIXEL_PACK_BUFFER_BINDING_EXT"/>
-        <enum value="0x88EE" name="GL_ETC1_SRGB8_NV"/>
-        <enum value="0x88EF" name="GL_PIXEL_UNPACK_BUFFER_BINDING"/>
-        <enum value="0x88EF" name="GL_PIXEL_UNPACK_BUFFER_BINDING_ARB"/>
-        <enum value="0x88EF" name="GL_PIXEL_UNPACK_BUFFER_BINDING_EXT"/>
-        <enum value="0x88F0" name="GL_DEPTH24_STENCIL8"/>
-        <enum value="0x88F0" name="GL_DEPTH24_STENCIL8_EXT"/>
-        <enum value="0x88F0" name="GL_DEPTH24_STENCIL8_OES"/>
-        <enum value="0x88F1" name="GL_TEXTURE_STENCIL_SIZE"/>
-        <enum value="0x88F1" name="GL_TEXTURE_STENCIL_SIZE_EXT"/>
-        <enum value="0x88F2" name="GL_STENCIL_TAG_BITS_EXT"/>
-        <enum value="0x88F3" name="GL_STENCIL_CLEAR_TAG_VALUE_EXT"/>
-        <enum value="0x88F4" name="GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV"/>
-        <enum value="0x88F5" name="GL_MAX_PROGRAM_CALL_DEPTH_NV"/>
-        <enum value="0x88F6" name="GL_MAX_PROGRAM_IF_DEPTH_NV"/>
-        <enum value="0x88F7" name="GL_MAX_PROGRAM_LOOP_DEPTH_NV"/>
-        <enum value="0x88F8" name="GL_MAX_PROGRAM_LOOP_COUNT_NV"/>
-        <enum value="0x88F9" name="GL_SRC1_COLOR"/>
-        <enum value="0x88FA" name="GL_ONE_MINUS_SRC1_COLOR"/>
-        <enum value="0x88FB" name="GL_ONE_MINUS_SRC1_ALPHA"/>
-        <enum value="0x88FC" name="GL_MAX_DUAL_SOURCE_DRAW_BUFFERS"/>
-        <enum value="0x88FD" name="GL_VERTEX_ATTRIB_ARRAY_INTEGER"/>
-        <enum value="0x88FD" name="GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT"/>
-        <enum value="0x88FD" name="GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV"/>
-        <enum value="0x88FE" name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR"/>
-        <enum value="0x88FE" name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE"/>
-        <enum value="0x88FE" name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB"/>
-        <enum value="0x88FE" name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT"/>
-        <enum value="0x88FE" name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV"/>
-        <enum value="0x88FF" name="GL_MAX_ARRAY_TEXTURE_LAYERS"/>
-        <enum value="0x88FF" name="GL_MAX_ARRAY_TEXTURE_LAYERS_EXT"/>
-        <enum value="0x8904" name="GL_MIN_PROGRAM_TEXEL_OFFSET"/>
-        <enum value="0x8904" name="GL_MIN_PROGRAM_TEXEL_OFFSET_EXT"/>
-        <enum value="0x8904" name="GL_MIN_PROGRAM_TEXEL_OFFSET_NV"/>
-        <enum value="0x8905" name="GL_MAX_PROGRAM_TEXEL_OFFSET"/>
-        <enum value="0x8905" name="GL_MAX_PROGRAM_TEXEL_OFFSET_EXT"/>
-        <enum value="0x8905" name="GL_MAX_PROGRAM_TEXEL_OFFSET_NV"/>
-        <enum value="0x8906" name="GL_PROGRAM_ATTRIB_COMPONENTS_NV"/>
-        <enum value="0x8907" name="GL_PROGRAM_RESULT_COMPONENTS_NV"/>
-        <enum value="0x8908" name="GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV"/>
-        <enum value="0x8909" name="GL_MAX_PROGRAM_RESULT_COMPONENTS_NV"/>
-        <enum value="0x8910" name="GL_STENCIL_TEST_TWO_SIDE_EXT"/>
-        <enum value="0x8911" name="GL_ACTIVE_STENCIL_FACE_EXT"/>
-        <enum value="0x8912" name="GL_MIRROR_CLAMP_TO_BORDER_EXT"/>
-            <unused start="0x8913"/>
-        <enum value="0x8914" name="GL_SAMPLES_PASSED"/>
-        <enum value="0x8914" name="GL_SAMPLES_PASSED_ARB"/>
-            <unused start="0x8915"/>
-        <enum value="0x8916" name="GL_GEOMETRY_VERTICES_OUT"/>
-        <enum value="0x8917" name="GL_GEOMETRY_INPUT_TYPE"/>
-        <enum value="0x8918" name="GL_GEOMETRY_OUTPUT_TYPE"/>
-        <enum value="0x8919" name="GL_SAMPLER_BINDING"/>
-        <enum value="0x891A" name="GL_CLAMP_VERTEX_COLOR"/>
-        <enum value="0x891A" name="GL_CLAMP_VERTEX_COLOR_ARB"/>
-        <enum value="0x891B" name="GL_CLAMP_FRAGMENT_COLOR"/>
-        <enum value="0x891B" name="GL_CLAMP_FRAGMENT_COLOR_ARB"/>
-        <enum value="0x891C" name="GL_CLAMP_READ_COLOR"/>
-        <enum value="0x891C" name="GL_CLAMP_READ_COLOR_ARB"/>
-        <enum value="0x891D" name="GL_FIXED_ONLY"/>
-        <enum value="0x891D" name="GL_FIXED_ONLY_ARB"/>
-        <enum value="0x891E" name="GL_TESS_CONTROL_PROGRAM_NV"/>
-        <enum value="0x891F" name="GL_TESS_EVALUATION_PROGRAM_NV"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8920" end="0x897F" vendor="AMD">
-        <enum value="0x8920" name="GL_FRAGMENT_SHADER_ATI"/>
-        <enum value="0x8921" name="GL_REG_0_ATI"/>
-        <enum value="0x8922" name="GL_REG_1_ATI"/>
-        <enum value="0x8923" name="GL_REG_2_ATI"/>
-        <enum value="0x8924" name="GL_REG_3_ATI"/>
-        <enum value="0x8925" name="GL_REG_4_ATI"/>
-        <enum value="0x8926" name="GL_REG_5_ATI"/>
-        <enum value="0x8927" name="GL_REG_6_ATI"/>
-        <enum value="0x8928" name="GL_REG_7_ATI"/>
-        <enum value="0x8929" name="GL_REG_8_ATI"/>
-        <enum value="0x892A" name="GL_REG_9_ATI"/>
-        <enum value="0x892B" name="GL_REG_10_ATI"/>
-        <enum value="0x892C" name="GL_REG_11_ATI"/>
-        <enum value="0x892D" name="GL_REG_12_ATI"/>
-        <enum value="0x892E" name="GL_REG_13_ATI"/>
-        <enum value="0x892F" name="GL_REG_14_ATI"/>
-        <enum value="0x8930" name="GL_REG_15_ATI"/>
-        <enum value="0x8931" name="GL_REG_16_ATI"/>
-        <enum value="0x8932" name="GL_REG_17_ATI"/>
-        <enum value="0x8933" name="GL_REG_18_ATI"/>
-        <enum value="0x8934" name="GL_REG_19_ATI"/>
-        <enum value="0x8935" name="GL_REG_20_ATI"/>
-        <enum value="0x8936" name="GL_REG_21_ATI"/>
-        <enum value="0x8937" name="GL_REG_22_ATI"/>
-        <enum value="0x8938" name="GL_REG_23_ATI"/>
-        <enum value="0x8939" name="GL_REG_24_ATI"/>
-        <enum value="0x893A" name="GL_REG_25_ATI"/>
-        <enum value="0x893B" name="GL_REG_26_ATI"/>
-        <enum value="0x893C" name="GL_REG_27_ATI"/>
-        <enum value="0x893D" name="GL_REG_28_ATI"/>
-        <enum value="0x893E" name="GL_REG_29_ATI"/>
-        <enum value="0x893F" name="GL_REG_30_ATI"/>
-        <enum value="0x8940" name="GL_REG_31_ATI"/>
-        <enum value="0x8941" name="GL_CON_0_ATI"/>
-        <enum value="0x8942" name="GL_CON_1_ATI"/>
-        <enum value="0x8943" name="GL_CON_2_ATI"/>
-        <enum value="0x8944" name="GL_CON_3_ATI"/>
-        <enum value="0x8945" name="GL_CON_4_ATI"/>
-        <enum value="0x8946" name="GL_CON_5_ATI"/>
-        <enum value="0x8947" name="GL_CON_6_ATI"/>
-        <enum value="0x8948" name="GL_CON_7_ATI"/>
-        <enum value="0x8949" name="GL_CON_8_ATI"/>
-        <enum value="0x894A" name="GL_CON_9_ATI"/>
-        <enum value="0x894B" name="GL_CON_10_ATI"/>
-        <enum value="0x894C" name="GL_CON_11_ATI"/>
-        <enum value="0x894D" name="GL_CON_12_ATI"/>
-        <enum value="0x894E" name="GL_CON_13_ATI"/>
-        <enum value="0x894F" name="GL_CON_14_ATI"/>
-        <enum value="0x8950" name="GL_CON_15_ATI"/>
-        <enum value="0x8951" name="GL_CON_16_ATI"/>
-        <enum value="0x8952" name="GL_CON_17_ATI"/>
-        <enum value="0x8953" name="GL_CON_18_ATI"/>
-        <enum value="0x8954" name="GL_CON_19_ATI"/>
-        <enum value="0x8955" name="GL_CON_20_ATI"/>
-        <enum value="0x8956" name="GL_CON_21_ATI"/>
-        <enum value="0x8957" name="GL_CON_22_ATI"/>
-        <enum value="0x8958" name="GL_CON_23_ATI"/>
-        <enum value="0x8959" name="GL_CON_24_ATI"/>
-        <enum value="0x895A" name="GL_CON_25_ATI"/>
-        <enum value="0x895B" name="GL_CON_26_ATI"/>
-        <enum value="0x895C" name="GL_CON_27_ATI"/>
-        <enum value="0x895D" name="GL_CON_28_ATI"/>
-        <enum value="0x895E" name="GL_CON_29_ATI"/>
-        <enum value="0x895F" name="GL_CON_30_ATI"/>
-        <enum value="0x8960" name="GL_CON_31_ATI"/>
-        <enum value="0x8961" name="GL_MOV_ATI"/>
-        <enum value="0x8963" name="GL_ADD_ATI"/>
-        <enum value="0x8964" name="GL_MUL_ATI"/>
-        <enum value="0x8965" name="GL_SUB_ATI"/>
-        <enum value="0x8966" name="GL_DOT3_ATI"/>
-        <enum value="0x8967" name="GL_DOT4_ATI"/>
-        <enum value="0x8968" name="GL_MAD_ATI"/>
-        <enum value="0x8969" name="GL_LERP_ATI"/>
-        <enum value="0x896A" name="GL_CND_ATI"/>
-        <enum value="0x896B" name="GL_CND0_ATI"/>
-        <enum value="0x896C" name="GL_DOT2_ADD_ATI"/>
-        <enum value="0x896D" name="GL_SECONDARY_INTERPOLATOR_ATI"/>
-        <enum value="0x896E" name="GL_NUM_FRAGMENT_REGISTERS_ATI"/>
-        <enum value="0x896F" name="GL_NUM_FRAGMENT_CONSTANTS_ATI"/>
-        <enum value="0x8970" name="GL_NUM_PASSES_ATI"/>
-        <enum value="0x8971" name="GL_NUM_INSTRUCTIONS_PER_PASS_ATI"/>
-        <enum value="0x8972" name="GL_NUM_INSTRUCTIONS_TOTAL_ATI"/>
-        <enum value="0x8973" name="GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI"/>
-        <enum value="0x8974" name="GL_NUM_LOOPBACK_COMPONENTS_ATI"/>
-        <enum value="0x8975" name="GL_COLOR_ALPHA_PAIRING_ATI"/>
-        <enum value="0x8976" name="GL_SWIZZLE_STR_ATI"/>
-        <enum value="0x8977" name="GL_SWIZZLE_STQ_ATI"/>
-        <enum value="0x8978" name="GL_SWIZZLE_STR_DR_ATI"/>
-        <enum value="0x8979" name="GL_SWIZZLE_STQ_DQ_ATI"/>
-        <enum value="0x897A" name="GL_SWIZZLE_STRQ_ATI"/>
-        <enum value="0x897B" name="GL_SWIZZLE_STRQ_DQ_ATI"/>
-            <unused start="0x897C" end="0x897F"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8980" end="0x898F" vendor="OML">
-        <enum value="0x8980" name="GL_INTERLACE_OML"/>
-        <enum value="0x8981" name="GL_INTERLACE_READ_OML"/>
-        <enum value="0x8982" name="GL_FORMAT_SUBSAMPLE_24_24_OML"/>
-        <enum value="0x8983" name="GL_FORMAT_SUBSAMPLE_244_244_OML"/>
-        <enum value="0x8984" name="GL_PACK_RESAMPLE_OML"/>
-        <enum value="0x8985" name="GL_UNPACK_RESAMPLE_OML"/>
-        <enum value="0x8986" name="GL_RESAMPLE_REPLICATE_OML"/>
-        <enum value="0x8987" name="GL_RESAMPLE_ZERO_FILL_OML"/>
-        <enum value="0x8988" name="GL_RESAMPLE_AVERAGE_OML"/>
-        <enum value="0x8989" name="GL_RESAMPLE_DECIMATE_OML"/>
-        <enum value="0x898A" name="GL_POINT_SIZE_ARRAY_TYPE_OES"/>
-        <enum value="0x898B" name="GL_POINT_SIZE_ARRAY_STRIDE_OES"/>
-        <enum value="0x898C" name="GL_POINT_SIZE_ARRAY_POINTER_OES"/>
-        <enum value="0x898D" name="GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES"/>
-        <enum value="0x898E" name="GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES"/>
-        <enum value="0x898F" name="GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES"/>
-    </enums>
+        <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>
 
-    <enums namespace="GL" start="0x8990" end="0x899F" vendor="ZiiLabs"/>
+        <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>
 
-    <enums namespace="GL" start="0x89A0" end="0x89FF" vendor="Matrox"/>
+        <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>
 
-    <enums namespace="GL" start="0x8A00" end="0x8A7F" vendor="APPLE">
-        <enum value="0x8A00" name="GL_VERTEX_ATTRIB_MAP1_APPLE"/>
-        <enum value="0x8A01" name="GL_VERTEX_ATTRIB_MAP2_APPLE"/>
-        <enum value="0x8A02" name="GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE"/>
-        <enum value="0x8A03" name="GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE"/>
-        <enum value="0x8A04" name="GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE"/>
-        <enum value="0x8A05" name="GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE"/>
-        <enum value="0x8A06" name="GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE"/>
-        <enum value="0x8A07" name="GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE"/>
-        <enum value="0x8A08" name="GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE"/>
-        <enum value="0x8A09" name="GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE"/>
-        <enum value="0x8A0A" name="GL_DRAW_PIXELS_APPLE"/>
-        <enum value="0x8A0B" name="GL_FENCE_APPLE"/>
-        <enum value="0x8A0C" name="GL_ELEMENT_ARRAY_APPLE"/>
-        <enum value="0x8A0D" name="GL_ELEMENT_ARRAY_TYPE_APPLE"/>
-        <enum value="0x8A0E" name="GL_ELEMENT_ARRAY_POINTER_APPLE"/>
-        <enum value="0x8A0F" name="GL_COLOR_FLOAT_APPLE"/>
-            <unused start="0x8A10" comment="Unknown extension (Khronos bug 632)"/>
-            <!-- <enum value="0x8A10" name="GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE"/> -->
-        <enum value="0x8A11" name="GL_UNIFORM_BUFFER"/>
-        <enum value="0x8A12" name="GL_BUFFER_SERIALIZED_MODIFY_APPLE"/>
-        <enum value="0x8A13" name="GL_BUFFER_FLUSHING_UNMAP_APPLE"/>
-        <enum value="0x8A14" name="GL_AUX_DEPTH_STENCIL_APPLE"/>
-        <enum value="0x8A15" name="GL_PACK_ROW_BYTES_APPLE"/>
-        <enum value="0x8A16" name="GL_UNPACK_ROW_BYTES_APPLE"/>
-            <unused start="0x8A17" end="0x8A18"/>
-        <enum value="0x8A19" name="GL_RELEASED_APPLE"/>
-        <enum value="0x8A1A" name="GL_VOLATILE_APPLE"/>
-        <enum value="0x8A1B" name="GL_RETAINED_APPLE"/>
-        <enum value="0x8A1C" name="GL_UNDEFINED_APPLE"/>
-        <enum value="0x8A1D" name="GL_PURGEABLE_APPLE"/>
-            <unused start="0x8A1E"/>
-        <enum value="0x8A1F" name="GL_RGB_422_APPLE"/>
-            <unused start="0x8A20" end="0x8A27"/>
-        <enum value="0x8A28" name="GL_UNIFORM_BUFFER_BINDING"/>
-        <enum value="0x8A29" name="GL_UNIFORM_BUFFER_START"/>
-        <enum value="0x8A2A" name="GL_UNIFORM_BUFFER_SIZE"/>
-        <enum value="0x8A2B" name="GL_MAX_VERTEX_UNIFORM_BLOCKS"/>
-        <enum value="0x8A2C" name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS"/>
-        <enum value="0x8A2D" name="GL_MAX_FRAGMENT_UNIFORM_BLOCKS"/>
-        <enum value="0x8A2E" name="GL_MAX_COMBINED_UNIFORM_BLOCKS"/>
-        <enum value="0x8A2F" name="GL_MAX_UNIFORM_BUFFER_BINDINGS"/>
-        <enum value="0x8A30" name="GL_MAX_UNIFORM_BLOCK_SIZE"/>
-        <enum value="0x8A31" name="GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"/>
-        <enum value="0x8A32" name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS"/>
-        <enum value="0x8A33" name="GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"/>
-        <enum value="0x8A34" name="GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT"/>
-        <enum value="0x8A35" name="GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH"/>
-        <enum value="0x8A36" name="GL_ACTIVE_UNIFORM_BLOCKS"/>
-        <enum value="0x8A37" name="GL_UNIFORM_TYPE"/>
-        <enum value="0x8A38" name="GL_UNIFORM_SIZE"/>
-        <enum value="0x8A39" name="GL_UNIFORM_NAME_LENGTH"/>
-        <enum value="0x8A3A" name="GL_UNIFORM_BLOCK_INDEX"/>
-        <enum value="0x8A3B" name="GL_UNIFORM_OFFSET"/>
-        <enum value="0x8A3C" name="GL_UNIFORM_ARRAY_STRIDE"/>
-        <enum value="0x8A3D" name="GL_UNIFORM_MATRIX_STRIDE"/>
-        <enum value="0x8A3E" name="GL_UNIFORM_IS_ROW_MAJOR"/>
-        <enum value="0x8A3F" name="GL_UNIFORM_BLOCK_BINDING"/>
-        <enum value="0x8A40" name="GL_UNIFORM_BLOCK_DATA_SIZE"/>
-        <enum value="0x8A41" name="GL_UNIFORM_BLOCK_NAME_LENGTH"/>
-        <enum value="0x8A42" name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS"/>
-        <enum value="0x8A43" name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES"/>
-        <enum value="0x8A44" name="GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER"/>
-        <enum value="0x8A45" name="GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER"/>
-        <enum value="0x8A46" name="GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER"/>
-            <unused start="0x8A47"/>
-        <enum value="0x8A48" name="GL_TEXTURE_SRGB_DECODE_EXT"/>
-        <enum value="0x8A49" name="GL_DECODE_EXT"/>
-        <enum value="0x8A4A" name="GL_SKIP_DECODE_EXT"/>
-            <unused start="0x8A4B" end="0x8A4E"/>
-        <enum value="0x8A4F" name="GL_PROGRAM_PIPELINE_OBJECT_EXT"/>
-            <unused start="0x8A50"/>
-        <enum value="0x8A51" name="GL_RGB_RAW_422_APPLE"/>
-        <enum value="0x8A52" name="GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT"/>
-        <enum value="0x8A53" name="GL_SYNC_OBJECT_APPLE"/>
-        <enum value="0x8A54" name="GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT"/>
-        <enum value="0x8A55" name="GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT"/>
-        <enum value="0x8A56" name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT"/>
-        <enum value="0x8A57" name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT"/>
-            <unused start="0x8A58" end="0x8A7F"/>
-    </enums>
+        <group name="PathElementType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_UTF8_NV"/>
+            <enum name="GL_UTF16_NV"/>
+        </group>
+
+        <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="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>
 
-    <enums namespace="GL" start="0x8A80" end="0x8AEF" vendor="Matrox"/>
+        <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>
 
-    <enums namespace="GL" start="0x8AF0" end="0x8B2F" vendor="Chromium" comment="For Brian Paul"/>
+        <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>
 
-    <enums namespace="GL" start="0x8B30" end="0x8B3F" group="ShaderType" vendor="ARB">
-        <enum value="0x8B30" name="GL_FRAGMENT_SHADER"/>
-        <enum value="0x8B30" name="GL_FRAGMENT_SHADER_ARB"/>
-        <enum value="0x8B31" name="GL_VERTEX_SHADER"/>
-        <enum value="0x8B31" name="GL_VERTEX_SHADER_ARB"/>
-            <unused start="0x8B32" end="0x8B3F" comment="For shader types"/>
+        <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="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="TransformFeedbackBufferMode" comment="See glTransformFeedbackVaryings()">
+            <enum name="GL_INTERLEAVED_ATTRIBS"/>
+            <enum name="GL_SEPARATE_ATTRIBS"/>
+        </group>
+
+        <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="VertexAttribLType" comment="Deprecated, use the group attributes instead.">
+            <enum name="GL_DOUBLE"/>
+        </group>
+
+        <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="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="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>
+
+    </groups>
+
+    <!-- SECTION: GL enumerant (token) definitions. -->
+
+    <!-- Bitmasks each have their own namespace, although bits are
+         sometimes reused for other purposes -->
+
+    <enums namespace="GL" group="AttribMask" type="bitmask">
+        <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" start="0x8B40" end="0x8B47" group="ContainerType" vendor="ARB">
-        <enum value="0x8B40" name="GL_PROGRAM_OBJECT_ARB"/>
-        <enum value="0x8B40" name="GL_PROGRAM_OBJECT_EXT"/>
-            <unused start="0x8B41" end="0x8B47" comment="For container types"/>
+    <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" start="0x8B48" end="0x8B4F" vendor="ARB">
-        <enum value="0x8B48" name="GL_SHADER_OBJECT_ARB"/>
-        <enum value="0x8B48" name="GL_SHADER_OBJECT_EXT"/>
-        <enum value="0x8B49" name="GL_MAX_FRAGMENT_UNIFORM_COMPONENTS"/>
-        <enum value="0x8B49" name="GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB"/>
-        <enum value="0x8B4A" name="GL_MAX_VERTEX_UNIFORM_COMPONENTS"/>
-        <enum value="0x8B4A" name="GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB"/>
-        <enum value="0x8B4B" name="GL_MAX_VARYING_FLOATS"/>
-        <enum value="0x8B4B" name="GL_MAX_VARYING_COMPONENTS" alias="MAX_VARYING_FLOATS"/>
-        <enum value="0x8B4B" name="GL_MAX_VARYING_COMPONENTS_EXT"/>
-        <enum value="0x8B4B" name="GL_MAX_VARYING_FLOATS_ARB"/>
-        <enum value="0x8B4C" name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS"/>
-        <enum value="0x8B4C" name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB"/>
-        <enum value="0x8B4D" name="GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS"/>
-        <enum value="0x8B4D" name="GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB"/>
-        <enum value="0x8B4E" name="GL_OBJECT_TYPE_ARB"/>
-        <enum value="0x8B4F" name="GL_SHADER_TYPE"/>
-        <enum value="0x8B4F" name="GL_OBJECT_SUBTYPE_ARB"/>
+    <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." group="ClearBufferMask"/>
+            <!-- Also used: 0x00004700 for bits reused from AttribMask above -->
     </enums>
 
-    <enums namespace="GL" start="0x8B50" end="0x8B7F" group="AttributeType" vendor="ARB">
-        <enum value="0x8B50" name="GL_FLOAT_VEC2"/>
-        <enum value="0x8B50" name="GL_FLOAT_VEC2_ARB"/>
-        <enum value="0x8B51" name="GL_FLOAT_VEC3"/>
-        <enum value="0x8B51" name="GL_FLOAT_VEC3_ARB"/>
-        <enum value="0x8B52" name="GL_FLOAT_VEC4"/>
-        <enum value="0x8B52" name="GL_FLOAT_VEC4_ARB"/>
-        <enum value="0x8B53" name="GL_INT_VEC2"/>
-        <enum value="0x8B53" name="GL_INT_VEC2_ARB"/>
-        <enum value="0x8B54" name="GL_INT_VEC3"/>
-        <enum value="0x8B54" name="GL_INT_VEC3_ARB"/>
-        <enum value="0x8B55" name="GL_INT_VEC4"/>
-        <enum value="0x8B55" name="GL_INT_VEC4_ARB"/>
-        <enum value="0x8B56" name="GL_BOOL"/>
-        <enum value="0x8B56" name="GL_BOOL_ARB"/>
-        <enum value="0x8B57" name="GL_BOOL_VEC2"/>
-        <enum value="0x8B57" name="GL_BOOL_VEC2_ARB"/>
-        <enum value="0x8B58" name="GL_BOOL_VEC3"/>
-        <enum value="0x8B58" name="GL_BOOL_VEC3_ARB"/>
-        <enum value="0x8B59" name="GL_BOOL_VEC4"/>
-        <enum value="0x8B59" name="GL_BOOL_VEC4_ARB"/>
-        <enum value="0x8B5A" name="GL_FLOAT_MAT2"/>
-        <enum value="0x8B5A" name="GL_FLOAT_MAT2_ARB"/>
-        <enum value="0x8B5B" name="GL_FLOAT_MAT3"/>
-        <enum value="0x8B5B" name="GL_FLOAT_MAT3_ARB"/>
-        <enum value="0x8B5C" name="GL_FLOAT_MAT4"/>
-        <enum value="0x8B5C" name="GL_FLOAT_MAT4_ARB"/>
-        <enum value="0x8B5D" name="GL_SAMPLER_1D"/>
-        <enum value="0x8B5D" name="GL_SAMPLER_1D_ARB"/>
-        <enum value="0x8B5E" name="GL_SAMPLER_2D"/>
-        <enum value="0x8B5E" name="GL_SAMPLER_2D_ARB"/>
-        <enum value="0x8B5F" name="GL_SAMPLER_3D"/>
-        <enum value="0x8B5F" name="GL_SAMPLER_3D_ARB"/>
-        <enum value="0x8B5F" name="GL_SAMPLER_3D_OES"/>
-        <enum value="0x8B60" name="GL_SAMPLER_CUBE"/>
-        <enum value="0x8B60" name="GL_SAMPLER_CUBE_ARB"/>
-        <enum value="0x8B61" name="GL_SAMPLER_1D_SHADOW"/>
-        <enum value="0x8B61" name="GL_SAMPLER_1D_SHADOW_ARB"/>
-        <enum value="0x8B62" name="GL_SAMPLER_2D_SHADOW"/>
-        <enum value="0x8B62" name="GL_SAMPLER_2D_SHADOW_ARB"/>
-        <enum value="0x8B62" name="GL_SAMPLER_2D_SHADOW_EXT"/>
-        <enum value="0x8B63" name="GL_SAMPLER_2D_RECT"/>
-        <enum value="0x8B63" name="GL_SAMPLER_2D_RECT_ARB"/>
-        <enum value="0x8B64" name="GL_SAMPLER_2D_RECT_SHADOW"/>
-        <enum value="0x8B64" name="GL_SAMPLER_2D_RECT_SHADOW_ARB"/>
-        <enum value="0x8B65" name="GL_FLOAT_MAT2x3"/>
-        <enum value="0x8B65" name="GL_FLOAT_MAT2x3_NV"/>
-        <enum value="0x8B66" name="GL_FLOAT_MAT2x4"/>
-        <enum value="0x8B66" name="GL_FLOAT_MAT2x4_NV"/>
-        <enum value="0x8B67" name="GL_FLOAT_MAT3x2"/>
-        <enum value="0x8B67" name="GL_FLOAT_MAT3x2_NV"/>
-        <enum value="0x8B68" name="GL_FLOAT_MAT3x4"/>
-        <enum value="0x8B68" name="GL_FLOAT_MAT3x4_NV"/>
-        <enum value="0x8B69" name="GL_FLOAT_MAT4x2"/>
-        <enum value="0x8B69" name="GL_FLOAT_MAT4x2_NV"/>
-        <enum value="0x8B6A" name="GL_FLOAT_MAT4x3"/>
-        <enum value="0x8B6A" name="GL_FLOAT_MAT4x3_NV"/>
-            <unused start="0x8B6B" end="0x8B7F" comment="For attribute types"/>
+    <enums namespace="GL" group="ClientAttribMask" type="bitmask">
+        <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" start="0x8B80" end="0x8B8F" vendor="ARB">
-        <enum value="0x8B80" name="GL_DELETE_STATUS"/>
-        <enum value="0x8B80" name="GL_OBJECT_DELETE_STATUS_ARB"/>
-        <enum value="0x8B81" name="GL_COMPILE_STATUS"/>
-        <enum value="0x8B81" name="GL_OBJECT_COMPILE_STATUS_ARB"/>
-        <enum value="0x8B82" name="GL_LINK_STATUS"/>
-        <enum value="0x8B82" name="GL_OBJECT_LINK_STATUS_ARB"/>
-        <enum value="0x8B83" name="GL_VALIDATE_STATUS"/>
-        <enum value="0x8B83" name="GL_OBJECT_VALIDATE_STATUS_ARB"/>
-        <enum value="0x8B84" name="GL_INFO_LOG_LENGTH"/>
-        <enum value="0x8B84" name="GL_OBJECT_INFO_LOG_LENGTH_ARB"/>
-        <enum value="0x8B85" name="GL_ATTACHED_SHADERS"/>
-        <enum value="0x8B85" name="GL_OBJECT_ATTACHED_OBJECTS_ARB"/>
-        <enum value="0x8B86" name="GL_ACTIVE_UNIFORMS"/>
-        <enum value="0x8B86" name="GL_OBJECT_ACTIVE_UNIFORMS_ARB"/>
-        <enum value="0x8B87" name="GL_ACTIVE_UNIFORM_MAX_LENGTH"/>
-        <enum value="0x8B87" name="GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB"/>
-        <enum value="0x8B88" name="GL_SHADER_SOURCE_LENGTH"/>
-        <enum value="0x8B88" name="GL_OBJECT_SHADER_SOURCE_LENGTH_ARB"/>
-        <enum value="0x8B89" name="GL_ACTIVE_ATTRIBUTES"/>
-        <enum value="0x8B89" name="GL_OBJECT_ACTIVE_ATTRIBUTES_ARB"/>
-        <enum value="0x8B8A" name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"/>
-        <enum value="0x8B8A" name="GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB"/>
-        <enum value="0x8B8B" name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT"/>
-        <enum value="0x8B8B" name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB"/>
-        <enum value="0x8B8B" name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES"/>
-        <enum value="0x8B8C" name="GL_SHADING_LANGUAGE_VERSION"/>
-        <enum value="0x8B8C" name="GL_SHADING_LANGUAGE_VERSION_ARB"/>
-        <enum value="0x8B8D" name="GL_CURRENT_PROGRAM"/>
-        <enum value="0x8B8D" api="gl" name="GL_ACTIVE_PROGRAM_EXT" alias="GL_CURRENT_PROGRAM" comment="For the OpenGL version of EXT_separate_shader_objects"/>
-            <unused start="0x8B8E" end="0x8B8F"/>
+    <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" 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" start="0x8B90" end="0x8B9F" vendor="OES">
-        <enum value="0x8B90" name="GL_PALETTE4_RGB8_OES"/>
-        <enum value="0x8B91" name="GL_PALETTE4_RGBA8_OES"/>
-        <enum value="0x8B92" name="GL_PALETTE4_R5_G6_B5_OES"/>
-        <enum value="0x8B93" name="GL_PALETTE4_RGBA4_OES"/>
-        <enum value="0x8B94" name="GL_PALETTE4_RGB5_A1_OES"/>
-        <enum value="0x8B95" name="GL_PALETTE8_RGB8_OES"/>
-        <enum value="0x8B96" name="GL_PALETTE8_RGBA8_OES"/>
-        <enum value="0x8B97" name="GL_PALETTE8_R5_G6_B5_OES"/>
-        <enum value="0x8B98" name="GL_PALETTE8_RGBA4_OES"/>
-        <enum value="0x8B99" name="GL_PALETTE8_RGB5_A1_OES"/>
-        <enum value="0x8B9A" name="GL_IMPLEMENTATION_COLOR_READ_TYPE"/>
-        <enum value="0x8B9A" name="GL_IMPLEMENTATION_COLOR_READ_TYPE_OES"/>
-        <enum value="0x8B9B" name="GL_IMPLEMENTATION_COLOR_READ_FORMAT"/>
-        <enum value="0x8B9B" name="GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES"/>
-        <enum value="0x8B9C" name="GL_POINT_SIZE_ARRAY_OES"/>
-        <enum value="0x8B9D" name="GL_TEXTURE_CROP_RECT_OES"/>
-        <enum value="0x8B9E" name="GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES"/>
-        <enum value="0x8B9F" name="GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES"/>
+    <enums namespace="GL" group="ContextProfileMask" type="bitmask">
+        <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" start="0x8BA0" end="0x8BAF" vendor="Seaweed"/>
+    <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" start="0x8BB0" end="0x8BBF" vendor="MESA">
-        <enum value="0x8BB0" name="GL_FRAGMENT_PROGRAM_POSITION_MESA"/>
-        <enum value="0x8BB1" name="GL_FRAGMENT_PROGRAM_CALLBACK_MESA"/>
-        <enum value="0x8BB2" name="GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA"/>
-        <enum value="0x8BB3" name="GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA"/>
-        <enum value="0x8BB4" name="GL_VERTEX_PROGRAM_POSITION_MESA"/>
-        <enum value="0x8BB5" name="GL_VERTEX_PROGRAM_CALLBACK_MESA"/>
-        <enum value="0x8BB6" name="GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA"/>
-        <enum value="0x8BB7" name="GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA"/>
+    <enums namespace="GL" group="MemoryBarrierMask" type="bitmask">
+        <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="GL" start="0x8BC0" end="0x8BFF" vendor="AMD">
-        <enum value="0x8BC0" name="GL_COUNTER_TYPE_AMD"/>
-        <enum value="0x8BC1" name="GL_COUNTER_RANGE_AMD"/>
-        <enum value="0x8BC2" name="GL_UNSIGNED_INT64_AMD"/>
-        <enum value="0x8BC3" name="GL_PERCENTAGE_AMD"/>
-        <enum value="0x8BC4" name="GL_PERFMON_RESULT_AVAILABLE_AMD"/>
-        <enum value="0x8BC5" name="GL_PERFMON_RESULT_SIZE_AMD"/>
-        <enum value="0x8BC6" name="GL_PERFMON_RESULT_AMD"/>
-            <unused start="0x8BC7" end="0x8BD1"/>
-        <enum value="0x8BD2" name="GL_TEXTURE_WIDTH_QCOM"/>
-        <enum value="0x8BD3" name="GL_TEXTURE_HEIGHT_QCOM"/>
-        <enum value="0x8BD4" name="GL_TEXTURE_DEPTH_QCOM"/>
-        <enum value="0x8BD5" name="GL_TEXTURE_INTERNAL_FORMAT_QCOM"/>
-        <enum value="0x8BD6" name="GL_TEXTURE_FORMAT_QCOM"/>
-        <enum value="0x8BD7" name="GL_TEXTURE_TYPE_QCOM"/>
-        <enum value="0x8BD8" name="GL_TEXTURE_IMAGE_VALID_QCOM"/>
-        <enum value="0x8BD9" name="GL_TEXTURE_NUM_LEVELS_QCOM"/>
-        <enum value="0x8BDA" name="GL_TEXTURE_TARGET_QCOM"/>
-        <enum value="0x8BDB" name="GL_TEXTURE_OBJECT_VALID_QCOM"/>
-        <enum value="0x8BDC" name="GL_STATE_RESTORE"/>
-            <unused start="0x8BDD" end="0x8BFF"/>
+    <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" start="0x8C00" end="0x8C0F" vendor="IMG">
-        <enum value="0x8C00" name="GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG"/>
-        <enum value="0x8C01" name="GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG"/>
-        <enum value="0x8C02" name="GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG"/>
-        <enum value="0x8C03" name="GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG"/>
-        <enum value="0x8C04" name="GL_MODULATE_COLOR_IMG"/>
-        <enum value="0x8C05" name="GL_RECIP_ADD_SIGNED_ALPHA_IMG"/>
-        <enum value="0x8C06" name="GL_TEXTURE_ALPHA_MODULATE_IMG"/>
-        <enum value="0x8C07" name="GL_FACTOR_ALPHA_MODULATE_IMG"/>
-        <enum value="0x8C08" name="GL_FRAGMENT_ALPHA_MODULATE_IMG"/>
-        <enum value="0x8C09" name="GL_ADD_BLEND_IMG"/>
-        <enum value="0x8C0A" name="GL_SGX_BINARY_IMG"/>
-            <unused start="0x8C0B" end="0x8C0F"/>
+    <enums namespace="GL" group="SyncObjectMask" type="bitmask">
+        <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" start="0x8C10" end="0x8C8F" vendor="NV" comment="For Pat Brown">
-        <enum value="0x8C10" name="GL_TEXTURE_RED_TYPE"/>
-        <enum value="0x8C10" name="GL_TEXTURE_RED_TYPE_ARB"/>
-        <enum value="0x8C11" name="GL_TEXTURE_GREEN_TYPE"/>
-        <enum value="0x8C11" name="GL_TEXTURE_GREEN_TYPE_ARB"/>
-        <enum value="0x8C12" name="GL_TEXTURE_BLUE_TYPE"/>
-        <enum value="0x8C12" name="GL_TEXTURE_BLUE_TYPE_ARB"/>
-        <enum value="0x8C13" name="GL_TEXTURE_ALPHA_TYPE"/>
-        <enum value="0x8C13" name="GL_TEXTURE_ALPHA_TYPE_ARB"/>
-        <enum value="0x8C14" name="GL_TEXTURE_LUMINANCE_TYPE"/>
-        <enum value="0x8C14" name="GL_TEXTURE_LUMINANCE_TYPE_ARB"/>
-        <enum value="0x8C15" name="GL_TEXTURE_INTENSITY_TYPE"/>
-        <enum value="0x8C15" name="GL_TEXTURE_INTENSITY_TYPE_ARB"/>
-        <enum value="0x8C16" name="GL_TEXTURE_DEPTH_TYPE"/>
-        <enum value="0x8C16" name="GL_TEXTURE_DEPTH_TYPE_ARB"/>
-        <enum value="0x8C17" name="GL_UNSIGNED_NORMALIZED"/>
-        <enum value="0x8C17" name="GL_UNSIGNED_NORMALIZED_ARB"/>
-        <enum value="0x8C17" name="GL_UNSIGNED_NORMALIZED_EXT"/>
-        <enum value="0x8C18" name="GL_TEXTURE_1D_ARRAY"/>
-        <enum value="0x8C18" name="GL_TEXTURE_1D_ARRAY_EXT"/>
-        <enum value="0x8C19" name="GL_PROXY_TEXTURE_1D_ARRAY"/>
-        <enum value="0x8C19" name="GL_PROXY_TEXTURE_1D_ARRAY_EXT"/>
-        <enum value="0x8C1A" name="GL_TEXTURE_2D_ARRAY"/>
-        <enum value="0x8C1A" name="GL_TEXTURE_2D_ARRAY_EXT"/>
-        <enum value="0x8C1B" name="GL_PROXY_TEXTURE_2D_ARRAY"/>
-        <enum value="0x8C1B" name="GL_PROXY_TEXTURE_2D_ARRAY_EXT"/>
-        <enum value="0x8C1C" name="GL_TEXTURE_BINDING_1D_ARRAY"/>
-        <enum value="0x8C1C" name="GL_TEXTURE_BINDING_1D_ARRAY_EXT"/>
-        <enum value="0x8C1D" name="GL_TEXTURE_BINDING_2D_ARRAY"/>
-        <enum value="0x8C1D" name="GL_TEXTURE_BINDING_2D_ARRAY_EXT"/>
-            <unused start="0x8C1E" end="0x8C25"/>
-        <enum value="0x8C26" name="GL_GEOMETRY_PROGRAM_NV"/>
-        <enum value="0x8C27" name="GL_MAX_PROGRAM_OUTPUT_VERTICES_NV"/>
-        <enum value="0x8C28" name="GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV"/>
-        <enum value="0x8C29" name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS"/>
-        <enum value="0x8C29" name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB"/>
-        <enum value="0x8C29" name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT"/>
-        <enum value="0x8C2A" name="GL_TEXTURE_BUFFER"/>
-        <enum value="0x8C2A" name="GL_TEXTURE_BUFFER_ARB"/>
-        <enum value="0x8C2A" name="GL_TEXTURE_BUFFER_EXT"/>
-        <enum value="0x8C2A" name="GL_TEXTURE_BUFFER_BINDING" comment="Equivalent to GL_TEXTURE_BUFFER_ARB query, but named more consistently"/>
-        <enum value="0x8C2B" name="GL_MAX_TEXTURE_BUFFER_SIZE"/>
-        <enum value="0x8C2B" name="GL_MAX_TEXTURE_BUFFER_SIZE_ARB"/>
-        <enum value="0x8C2B" name="GL_MAX_TEXTURE_BUFFER_SIZE_EXT"/>
-        <enum value="0x8C2C" name="GL_TEXTURE_BINDING_BUFFER"/>
-        <enum value="0x8C2C" name="GL_TEXTURE_BINDING_BUFFER_ARB"/>
-        <enum value="0x8C2C" name="GL_TEXTURE_BINDING_BUFFER_EXT"/>
-        <enum value="0x8C2D" name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING"/>
-        <enum value="0x8C2D" name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB"/>
-        <enum value="0x8C2D" name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT"/>
-        <enum value="0x8C2E" name="GL_TEXTURE_BUFFER_FORMAT_ARB"/>
-        <enum value="0x8C2E" name="GL_TEXTURE_BUFFER_FORMAT_EXT"/>
-        <enum value="0x8C2F" name="GL_ANY_SAMPLES_PASSED"/>
-        <enum value="0x8C2F" name="GL_ANY_SAMPLES_PASSED_EXT"/>
-            <unused start="0x8C30" end="0x8C35"/>
-        <enum value="0x8C36" name="GL_SAMPLE_SHADING"/>
-        <enum value="0x8C36" name="GL_SAMPLE_SHADING_ARB"/>
-        <enum value="0x8C37" name="GL_MIN_SAMPLE_SHADING_VALUE"/>
-        <enum value="0x8C37" name="GL_MIN_SAMPLE_SHADING_VALUE_ARB"/>
-            <unused start="0x8C38" end="0x8C39"/>
-        <enum value="0x8C3A" name="GL_R11F_G11F_B10F"/>
-        <enum value="0x8C3A" name="GL_R11F_G11F_B10F_EXT"/>
-        <enum value="0x8C3B" name="GL_UNSIGNED_INT_10F_11F_11F_REV"/>
-        <enum value="0x8C3B" name="GL_UNSIGNED_INT_10F_11F_11F_REV_EXT"/>
-        <enum value="0x8C3C" name="GL_RGBA_SIGNED_COMPONENTS_EXT"/>
-        <enum value="0x8C3D" name="GL_RGB9_E5"/>
-        <enum value="0x8C3D" name="GL_RGB9_E5_EXT"/>
-        <enum value="0x8C3E" name="GL_UNSIGNED_INT_5_9_9_9_REV"/>
-        <enum value="0x8C3E" name="GL_UNSIGNED_INT_5_9_9_9_REV_EXT"/>
-        <enum value="0x8C3F" name="GL_TEXTURE_SHARED_SIZE"/>
-        <enum value="0x8C3F" name="GL_TEXTURE_SHARED_SIZE_EXT"/>
-        <enum value="0x8C40" name="GL_SRGB"/>
-        <enum value="0x8C40" name="GL_SRGB_EXT"/>
-        <enum value="0x8C41" name="GL_SRGB8"/>
-        <enum value="0x8C41" name="GL_SRGB8_EXT"/>
-        <enum value="0x8C41" name="GL_SRGB8_NV"/>
-        <enum value="0x8C42" name="GL_SRGB_ALPHA"/>
-        <enum value="0x8C42" name="GL_SRGB_ALPHA_EXT"/>
-        <enum value="0x8C43" name="GL_SRGB8_ALPHA8"/>
-        <enum value="0x8C43" name="GL_SRGB8_ALPHA8_EXT"/>
-        <enum value="0x8C44" name="GL_SLUMINANCE_ALPHA"/>
-        <enum value="0x8C44" name="GL_SLUMINANCE_ALPHA_EXT"/>
-        <enum value="0x8C44" name="GL_SLUMINANCE_ALPHA_NV"/>
-        <enum value="0x8C45" name="GL_SLUMINANCE8_ALPHA8"/>
-        <enum value="0x8C45" name="GL_SLUMINANCE8_ALPHA8_EXT"/>
-        <enum value="0x8C45" name="GL_SLUMINANCE8_ALPHA8_NV"/>
-        <enum value="0x8C46" name="GL_SLUMINANCE"/>
-        <enum value="0x8C46" name="GL_SLUMINANCE_EXT"/>
-        <enum value="0x8C46" name="GL_SLUMINANCE_NV"/>
-        <enum value="0x8C47" name="GL_SLUMINANCE8"/>
-        <enum value="0x8C47" name="GL_SLUMINANCE8_EXT"/>
-        <enum value="0x8C47" name="GL_SLUMINANCE8_NV"/>
-        <enum value="0x8C48" name="GL_COMPRESSED_SRGB"/>
-        <enum value="0x8C48" name="GL_COMPRESSED_SRGB_EXT"/>
-        <enum value="0x8C49" name="GL_COMPRESSED_SRGB_ALPHA"/>
-        <enum value="0x8C49" name="GL_COMPRESSED_SRGB_ALPHA_EXT"/>
-        <enum value="0x8C4A" name="GL_COMPRESSED_SLUMINANCE"/>
-        <enum value="0x8C4A" name="GL_COMPRESSED_SLUMINANCE_EXT"/>
-        <enum value="0x8C4B" name="GL_COMPRESSED_SLUMINANCE_ALPHA"/>
-        <enum value="0x8C4B" name="GL_COMPRESSED_SLUMINANCE_ALPHA_EXT"/>
-        <enum value="0x8C4C" name="GL_COMPRESSED_SRGB_S3TC_DXT1_EXT"/>
-        <enum value="0x8C4C" name="GL_COMPRESSED_SRGB_S3TC_DXT1_NV"/>
-        <enum value="0x8C4D" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT"/>
-        <enum value="0x8C4D" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV"/>
-        <enum value="0x8C4E" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT"/>
-        <enum value="0x8C4E" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV"/>
-        <enum value="0x8C4F" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT"/>
-        <enum value="0x8C4F" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV"/>
-            <unused start="0x8C50" end="0x8C6F"/>
-        <enum value="0x8C70" name="GL_COMPRESSED_LUMINANCE_LATC1_EXT"/>
-        <enum value="0x8C71" name="GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT"/>
-        <enum value="0x8C72" name="GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT"/>
-        <enum value="0x8C73" name="GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT"/>
-        <enum value="0x8C74" name="GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV"/>
-        <enum value="0x8C75" name="GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV"/>
-        <enum value="0x8C76" name="GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH"/>
-        <enum value="0x8C76" name="GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT"/>
-        <enum value="0x8C77" name="GL_BACK_PRIMARY_COLOR_NV"/>
-        <enum value="0x8C78" name="GL_BACK_SECONDARY_COLOR_NV"/>
-        <enum value="0x8C79" name="GL_TEXTURE_COORD_NV"/>
-        <enum value="0x8C7A" name="GL_CLIP_DISTANCE_NV"/>
-        <enum value="0x8C7B" name="GL_VERTEX_ID_NV"/>
-        <enum value="0x8C7C" name="GL_PRIMITIVE_ID_NV"/>
-        <enum value="0x8C7D" name="GL_GENERIC_ATTRIB_NV"/>
-        <enum value="0x8C7E" name="GL_TRANSFORM_FEEDBACK_ATTRIBS_NV"/>
-        <enum value="0x8C7F" name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE"/>
-        <enum value="0x8C7F" name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT"/>
-        <enum value="0x8C7F" name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV"/>
-        <enum value="0x8C80" name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS"/>
-        <enum value="0x8C80" name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT"/>
-        <enum value="0x8C80" name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV"/>
-        <enum value="0x8C81" name="GL_ACTIVE_VARYINGS_NV"/>
-        <enum value="0x8C82" name="GL_ACTIVE_VARYING_MAX_LENGTH_NV"/>
-        <enum value="0x8C83" name="GL_TRANSFORM_FEEDBACK_VARYINGS"/>
-        <enum value="0x8C83" name="GL_TRANSFORM_FEEDBACK_VARYINGS_EXT"/>
-        <enum value="0x8C83" name="GL_TRANSFORM_FEEDBACK_VARYINGS_NV"/>
-        <enum value="0x8C84" name="GL_TRANSFORM_FEEDBACK_BUFFER_START"/>
-        <enum value="0x8C84" name="GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT"/>
-        <enum value="0x8C84" name="GL_TRANSFORM_FEEDBACK_BUFFER_START_NV"/>
-        <enum value="0x8C85" name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE"/>
-        <enum value="0x8C85" name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT"/>
-        <enum value="0x8C85" name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV"/>
-        <enum value="0x8C86" name="GL_TRANSFORM_FEEDBACK_RECORD_NV"/>
-        <enum value="0x8C87" name="GL_PRIMITIVES_GENERATED"/>
-        <enum value="0x8C87" name="GL_PRIMITIVES_GENERATED_EXT"/>
-        <enum value="0x8C87" name="GL_PRIMITIVES_GENERATED_NV"/>
-        <enum value="0x8C88" name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"/>
-        <enum value="0x8C88" name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT"/>
-        <enum value="0x8C88" name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV"/>
-        <enum value="0x8C89" name="GL_RASTERIZER_DISCARD"/>
-        <enum value="0x8C89" name="GL_RASTERIZER_DISCARD_EXT"/>
-        <enum value="0x8C89" name="GL_RASTERIZER_DISCARD_NV"/>
-        <enum value="0x8C8A" name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS"/>
-        <enum value="0x8C8A" name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT"/>
-        <enum value="0x8C8A" name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV"/>
-        <enum value="0x8C8B" name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS"/>
-        <enum value="0x8C8B" name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT"/>
-        <enum value="0x8C8B" name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV"/>
-        <enum value="0x8C8C" name="GL_INTERLEAVED_ATTRIBS"/>
-        <enum value="0x8C8C" name="GL_INTERLEAVED_ATTRIBS_EXT"/>
-        <enum value="0x8C8C" name="GL_INTERLEAVED_ATTRIBS_NV"/>
-        <enum value="0x8C8D" name="GL_SEPARATE_ATTRIBS"/>
-        <enum value="0x8C8D" name="GL_SEPARATE_ATTRIBS_EXT"/>
-        <enum value="0x8C8D" name="GL_SEPARATE_ATTRIBS_NV"/>
-        <enum value="0x8C8E" name="GL_TRANSFORM_FEEDBACK_BUFFER"/>
-        <enum value="0x8C8E" name="GL_TRANSFORM_FEEDBACK_BUFFER_EXT"/>
-        <enum value="0x8C8E" name="GL_TRANSFORM_FEEDBACK_BUFFER_NV"/>
-        <enum value="0x8C8F" name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING"/>
-        <enum value="0x8C8F" name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT"/>
-        <enum value="0x8C8F" name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV"/>
+    <enums namespace="GL" group="UseProgramStageMask" type="bitmask">
+        <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" start="0x8C90" end="0x8C9F" vendor="QCOM" comment="For Affie Munshi, OpenGL ES extensions">
-            <!-- Reassigned from ATI to QCOM at time of
-                 mobile/desktop split (bug 5874) -->
-            <unused start="0x8C90" end="0x8C91"/>
-        <enum value="0x8C92" name="GL_ATC_RGB_AMD"/>
-        <enum value="0x8C93" name="GL_ATC_RGBA_EXPLICIT_ALPHA_AMD"/>
-            <unused start="0x8C94" end="0x8C9F"/>
+    <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>
 
-    <enums namespace="GL" start="0x8CA0" end="0x8CAF" vendor="ARB">
-        <enum value="0x8CA0" name="GL_POINT_SPRITE_COORD_ORIGIN"/>
-        <enum value="0x8CA1" name="GL_LOWER_LEFT"/>
-        <enum value="0x8CA2" name="GL_UPPER_LEFT"/>
-        <enum value="0x8CA3" name="GL_STENCIL_BACK_REF"/>
-        <enum value="0x8CA4" name="GL_STENCIL_BACK_VALUE_MASK"/>
-        <enum value="0x8CA5" name="GL_STENCIL_BACK_WRITEMASK"/>
-        <enum value="0x8CA6" name="GL_DRAW_FRAMEBUFFER_BINDING"/>
-        <enum value="0x8CA6" name="GL_DRAW_FRAMEBUFFER_BINDING_ANGLE"/>
-        <enum value="0x8CA6" name="GL_DRAW_FRAMEBUFFER_BINDING_APPLE"/>
-        <enum value="0x8CA6" name="GL_DRAW_FRAMEBUFFER_BINDING_EXT"/>
-        <enum value="0x8CA6" name="GL_DRAW_FRAMEBUFFER_BINDING_NV"/>
-        <enum value="0x8CA6" name="GL_FRAMEBUFFER_BINDING"/>
-        <enum value="0x8CA6" name="GL_FRAMEBUFFER_BINDING_ANGLE"/>
-        <enum value="0x8CA6" name="GL_FRAMEBUFFER_BINDING_EXT"/>
-        <enum value="0x8CA6" name="GL_FRAMEBUFFER_BINDING_OES"/>
-        <enum value="0x8CA7" name="GL_RENDERBUFFER_BINDING"/>
-        <enum value="0x8CA7" name="GL_RENDERBUFFER_BINDING_ANGLE"/>
-        <enum value="0x8CA7" name="GL_RENDERBUFFER_BINDING_EXT"/>
-        <enum value="0x8CA7" name="GL_RENDERBUFFER_BINDING_OES"/>
-        <enum value="0x8CA8" name="GL_READ_FRAMEBUFFER"/>
-        <enum value="0x8CA8" name="GL_READ_FRAMEBUFFER_ANGLE"/>
-        <enum value="0x8CA8" name="GL_READ_FRAMEBUFFER_APPLE"/>
-        <enum value="0x8CA8" name="GL_READ_FRAMEBUFFER_EXT"/>
-        <enum value="0x8CA8" name="GL_READ_FRAMEBUFFER_NV"/>
-        <enum value="0x8CA9" name="GL_DRAW_FRAMEBUFFER"/>
-        <enum value="0x8CA9" name="GL_DRAW_FRAMEBUFFER_ANGLE"/>
-        <enum value="0x8CA9" name="GL_DRAW_FRAMEBUFFER_APPLE"/>
-        <enum value="0x8CA9" name="GL_DRAW_FRAMEBUFFER_EXT"/>
-        <enum value="0x8CA9" name="GL_DRAW_FRAMEBUFFER_NV"/>
-        <enum value="0x8CAA" name="GL_READ_FRAMEBUFFER_BINDING"/>
-        <enum value="0x8CAA" name="GL_READ_FRAMEBUFFER_BINDING_ANGLE"/>
-        <enum value="0x8CAA" name="GL_READ_FRAMEBUFFER_BINDING_APPLE"/>
-        <enum value="0x8CAA" name="GL_READ_FRAMEBUFFER_BINDING_EXT"/>
-        <enum value="0x8CAA" name="GL_READ_FRAMEBUFFER_BINDING_NV"/>
-        <enum value="0x8CAB" name="GL_RENDERBUFFER_COVERAGE_SAMPLES_NV"/>
-        <enum value="0x8CAB" name="GL_RENDERBUFFER_SAMPLES"/>
-        <enum value="0x8CAB" name="GL_RENDERBUFFER_SAMPLES_ANGLE"/>
-        <enum value="0x8CAB" name="GL_RENDERBUFFER_SAMPLES_APPLE"/>
-        <enum value="0x8CAB" name="GL_RENDERBUFFER_SAMPLES_EXT"/>
-        <enum value="0x8CAB" name="GL_RENDERBUFFER_SAMPLES_NV"/>
-        <enum value="0x8CAC" name="GL_DEPTH_COMPONENT32F"/>
-        <enum value="0x8CAD" name="GL_DEPTH32F_STENCIL8"/>
-            <unused start="0x8CAE" end="0x8CAF"/>
+    <!-- Bitmasks defined by vendor extensions -->
+
+    <enums namespace="GL" group="TextureStorageMaskAMD" type="bitmask">
+        <enum value="0x00000001" name="GL_TEXTURE_STORAGE_SPARSE_BIT_AMD" group="TextureStorageMaskAMD"/>
     </enums>
 
-    <enums namespace="GL" start="0x8CB0" end="0x8CCF" vendor="ZiiLabs" comment="For Barthold Lichtenbelt 2004/12/1"/>
+    <enums namespace="GL" group="FragmentShaderDestMaskATI" type="bitmask">
+        <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" start="0x8CD0" end="0x8D5F" vendor="ARB" comment="Framebuffer object specification + headroom">
-        <enum value="0x8CD0" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"/>
-        <enum value="0x8CD0" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT"/>
-        <enum value="0x8CD0" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES"/>
-        <enum value="0x8CD1" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME"/>
-        <enum value="0x8CD1" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT"/>
-        <enum value="0x8CD1" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES"/>
-        <enum value="0x8CD2" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL"/>
-        <enum value="0x8CD2" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT"/>
-        <enum value="0x8CD2" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES"/>
-        <enum value="0x8CD3" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE"/>
-        <enum value="0x8CD3" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT"/>
-        <enum value="0x8CD3" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES"/>
-        <enum value="0x8CD4" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT"/>
-        <enum value="0x8CD4" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES"/>
-        <enum value="0x8CD4" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"/>
-        <enum value="0x8CD4" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT"/>
-        <enum value="0x8CD5" name="GL_FRAMEBUFFER_COMPLETE"/>
-        <enum value="0x8CD5" name="GL_FRAMEBUFFER_COMPLETE_EXT"/>
-        <enum value="0x8CD5" name="GL_FRAMEBUFFER_COMPLETE_OES"/>
-        <enum value="0x8CD6" name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"/>
-        <enum value="0x8CD6" name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT"/>
-        <enum value="0x8CD6" name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES"/>
-        <enum value="0x8CD7" name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"/>
-        <enum value="0x8CD7" name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT"/>
-        <enum value="0x8CD7" name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES"/>
-            <unused start="0x8CD8" comment="Removed 2005/09/26 in revision #117 of the FBO extension spec"/>
-            <!-- <enum value="0x8CD8" name="GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT"/> -->
-        <enum value="0x8CD9" name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS"/>
-        <enum value="0x8CD9" name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT"/>
-        <enum value="0x8CD9" name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES"/>
-        <enum value="0x8CDA" name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT"/>
-        <enum value="0x8CDA" name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES"/>
-        <enum value="0x8CDB" name="GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER"/>
-        <enum value="0x8CDB" name="GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT"/>
-        <enum value="0x8CDB" name="GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES"/>
-        <enum value="0x8CDC" name="GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER"/>
-        <enum value="0x8CDC" name="GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT"/>
-        <enum value="0x8CDC" name="GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES"/>
-        <enum value="0x8CDD" name="GL_FRAMEBUFFER_UNSUPPORTED"/>
-        <enum value="0x8CDD" name="GL_FRAMEBUFFER_UNSUPPORTED_EXT"/>
-        <enum value="0x8CDD" name="GL_FRAMEBUFFER_UNSUPPORTED_OES"/>
-            <unused start="0x8CDE" comment="Removed 2005/05/31 in revision #113 of the FBO extension spec"/>
-            <!-- <enum value="0x8CDE" name="GL_FRAMEBUFFER_STATUS_ERROR_EXT"/> -->
-        <enum value="0x8CDF" name="GL_MAX_COLOR_ATTACHMENTS"/>
-        <enum value="0x8CDF" name="GL_MAX_COLOR_ATTACHMENTS_EXT"/>
-        <enum value="0x8CDF" name="GL_MAX_COLOR_ATTACHMENTS_NV"/>
-        <enum value="0x8CE0" name="GL_COLOR_ATTACHMENT0"/>
-        <enum value="0x8CE0" name="GL_COLOR_ATTACHMENT0_EXT"/>
-        <enum value="0x8CE0" name="GL_COLOR_ATTACHMENT0_NV"/>
-        <enum value="0x8CE0" name="GL_COLOR_ATTACHMENT0_OES"/>
-        <enum value="0x8CE1" name="GL_COLOR_ATTACHMENT1"/>
-        <enum value="0x8CE1" name="GL_COLOR_ATTACHMENT1_EXT"/>
-        <enum value="0x8CE1" name="GL_COLOR_ATTACHMENT1_NV"/>
-        <enum value="0x8CE2" name="GL_COLOR_ATTACHMENT2"/>
-        <enum value="0x8CE2" name="GL_COLOR_ATTACHMENT2_EXT"/>
-        <enum value="0x8CE2" name="GL_COLOR_ATTACHMENT2_NV"/>
-        <enum value="0x8CE3" name="GL_COLOR_ATTACHMENT3"/>
-        <enum value="0x8CE3" name="GL_COLOR_ATTACHMENT3_EXT"/>
-        <enum value="0x8CE3" name="GL_COLOR_ATTACHMENT3_NV"/>
-        <enum value="0x8CE4" name="GL_COLOR_ATTACHMENT4"/>
-        <enum value="0x8CE4" name="GL_COLOR_ATTACHMENT4_EXT"/>
-        <enum value="0x8CE4" name="GL_COLOR_ATTACHMENT4_NV"/>
-        <enum value="0x8CE5" name="GL_COLOR_ATTACHMENT5"/>
-        <enum value="0x8CE5" name="GL_COLOR_ATTACHMENT5_EXT"/>
-        <enum value="0x8CE5" name="GL_COLOR_ATTACHMENT5_NV"/>
-        <enum value="0x8CE6" name="GL_COLOR_ATTACHMENT6"/>
-        <enum value="0x8CE6" name="GL_COLOR_ATTACHMENT6_EXT"/>
-        <enum value="0x8CE6" name="GL_COLOR_ATTACHMENT6_NV"/>
-        <enum value="0x8CE7" name="GL_COLOR_ATTACHMENT7"/>
-        <enum value="0x8CE7" name="GL_COLOR_ATTACHMENT7_EXT"/>
-        <enum value="0x8CE7" name="GL_COLOR_ATTACHMENT7_NV"/>
-        <enum value="0x8CE8" name="GL_COLOR_ATTACHMENT8"/>
-        <enum value="0x8CE8" name="GL_COLOR_ATTACHMENT8_EXT"/>
-        <enum value="0x8CE8" name="GL_COLOR_ATTACHMENT8_NV"/>
-        <enum value="0x8CE9" name="GL_COLOR_ATTACHMENT9"/>
-        <enum value="0x8CE9" name="GL_COLOR_ATTACHMENT9_EXT"/>
-        <enum value="0x8CE9" name="GL_COLOR_ATTACHMENT9_NV"/>
-        <enum value="0x8CEA" name="GL_COLOR_ATTACHMENT10"/>
-        <enum value="0x8CEA" name="GL_COLOR_ATTACHMENT10_EXT"/>
-        <enum value="0x8CEA" name="GL_COLOR_ATTACHMENT10_NV"/>
-        <enum value="0x8CEB" name="GL_COLOR_ATTACHMENT11"/>
-        <enum value="0x8CEB" name="GL_COLOR_ATTACHMENT11_EXT"/>
-        <enum value="0x8CEB" name="GL_COLOR_ATTACHMENT11_NV"/>
-        <enum value="0x8CEC" name="GL_COLOR_ATTACHMENT12"/>
-        <enum value="0x8CEC" name="GL_COLOR_ATTACHMENT12_EXT"/>
-        <enum value="0x8CEC" name="GL_COLOR_ATTACHMENT12_NV"/>
-        <enum value="0x8CED" name="GL_COLOR_ATTACHMENT13"/>
-        <enum value="0x8CED" name="GL_COLOR_ATTACHMENT13_EXT"/>
-        <enum value="0x8CED" name="GL_COLOR_ATTACHMENT13_NV"/>
-        <enum value="0x8CEE" name="GL_COLOR_ATTACHMENT14"/>
-        <enum value="0x8CEE" name="GL_COLOR_ATTACHMENT14_EXT"/>
-        <enum value="0x8CEE" name="GL_COLOR_ATTACHMENT14_NV"/>
-        <enum value="0x8CEF" name="GL_COLOR_ATTACHMENT15"/>
-        <enum value="0x8CEF" name="GL_COLOR_ATTACHMENT15_EXT"/>
-        <enum value="0x8CEF" name="GL_COLOR_ATTACHMENT15_NV"/>
-            <unused start="0x8CF0" end="0x8CFF" comment="For color attachments 16-31"/>
-        <enum value="0x8D00" name="GL_DEPTH_ATTACHMENT"/>
-        <enum value="0x8D00" name="GL_DEPTH_ATTACHMENT_EXT"/>
-        <enum value="0x8D00" name="GL_DEPTH_ATTACHMENT_OES"/>
-            <unused start="0x8D01" end="0x8D1F" comment="For depth attachments 16-31"/>
-        <enum value="0x8D20" name="GL_STENCIL_ATTACHMENT"/>
-        <enum value="0x8D20" name="GL_STENCIL_ATTACHMENT_EXT"/>
-        <enum value="0x8D20" name="GL_STENCIL_ATTACHMENT_OES"/>
-            <unused start="0x8D21" end="0x8D3F" comment="For stencil attachments 16-31"/>
-        <enum value="0x8D40" name="GL_FRAMEBUFFER"/>
-        <enum value="0x8D40" name="GL_FRAMEBUFFER_EXT"/>
-        <enum value="0x8D40" name="GL_FRAMEBUFFER_OES"/>
-        <enum value="0x8D41" name="GL_RENDERBUFFER"/>
-        <enum value="0x8D41" name="GL_RENDERBUFFER_EXT"/>
-        <enum value="0x8D41" name="GL_RENDERBUFFER_OES"/>
-        <enum value="0x8D42" name="GL_RENDERBUFFER_WIDTH"/>
-        <enum value="0x8D42" name="GL_RENDERBUFFER_WIDTH_EXT"/>
-        <enum value="0x8D42" name="GL_RENDERBUFFER_WIDTH_OES"/>
-        <enum value="0x8D43" name="GL_RENDERBUFFER_HEIGHT"/>
-        <enum value="0x8D43" name="GL_RENDERBUFFER_HEIGHT_EXT"/>
-        <enum value="0x8D43" name="GL_RENDERBUFFER_HEIGHT_OES"/>
-        <enum value="0x8D44" name="GL_RENDERBUFFER_INTERNAL_FORMAT"/>
-        <enum value="0x8D44" name="GL_RENDERBUFFER_INTERNAL_FORMAT_EXT"/>
-        <enum value="0x8D44" name="GL_RENDERBUFFER_INTERNAL_FORMAT_OES"/>
-            <unused start="0x8D45" comment="Was for GL_STENCIL_INDEX_EXT, but now use core STENCIL_INDEX instead"/>
-        <enum value="0x8D46" name="GL_STENCIL_INDEX1"/>
-        <enum value="0x8D46" name="GL_STENCIL_INDEX1_EXT"/>
-        <enum value="0x8D46" name="GL_STENCIL_INDEX1_OES"/>
-        <enum value="0x8D47" name="GL_STENCIL_INDEX4"/>
-        <enum value="0x8D47" name="GL_STENCIL_INDEX4_EXT"/>
-        <enum value="0x8D47" name="GL_STENCIL_INDEX4_OES"/>
-        <enum value="0x8D48" name="GL_STENCIL_INDEX8"/>
-        <enum value="0x8D48" name="GL_STENCIL_INDEX8_EXT"/>
-        <enum value="0x8D48" name="GL_STENCIL_INDEX8_OES"/>
-        <enum value="0x8D49" name="GL_STENCIL_INDEX16"/>
-        <enum value="0x8D49" name="GL_STENCIL_INDEX16_EXT"/>
-            <unused start="0x8D4A" end="0x8D4F" comment="For additional stencil formats"/>
-        <enum value="0x8D50" name="GL_RENDERBUFFER_RED_SIZE"/>
-        <enum value="0x8D50" name="GL_RENDERBUFFER_RED_SIZE_EXT"/>
-        <enum value="0x8D50" name="GL_RENDERBUFFER_RED_SIZE_OES"/>
-        <enum value="0x8D51" name="GL_RENDERBUFFER_GREEN_SIZE"/>
-        <enum value="0x8D51" name="GL_RENDERBUFFER_GREEN_SIZE_EXT"/>
-        <enum value="0x8D51" name="GL_RENDERBUFFER_GREEN_SIZE_OES"/>
-        <enum value="0x8D52" name="GL_RENDERBUFFER_BLUE_SIZE"/>
-        <enum value="0x8D52" name="GL_RENDERBUFFER_BLUE_SIZE_EXT"/>
-        <enum value="0x8D52" name="GL_RENDERBUFFER_BLUE_SIZE_OES"/>
-        <enum value="0x8D53" name="GL_RENDERBUFFER_ALPHA_SIZE"/>
-        <enum value="0x8D53" name="GL_RENDERBUFFER_ALPHA_SIZE_EXT"/>
-        <enum value="0x8D53" name="GL_RENDERBUFFER_ALPHA_SIZE_OES"/>
-        <enum value="0x8D54" name="GL_RENDERBUFFER_DEPTH_SIZE"/>
-        <enum value="0x8D54" name="GL_RENDERBUFFER_DEPTH_SIZE_EXT"/>
-        <enum value="0x8D54" name="GL_RENDERBUFFER_DEPTH_SIZE_OES"/>
-        <enum value="0x8D55" name="GL_RENDERBUFFER_STENCIL_SIZE"/>
-        <enum value="0x8D55" name="GL_RENDERBUFFER_STENCIL_SIZE_EXT"/>
-        <enum value="0x8D55" name="GL_RENDERBUFFER_STENCIL_SIZE_OES"/>
-        <enum value="0x8D56" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"/>
-        <enum value="0x8D56" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE"/>
-        <enum value="0x8D56" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE"/>
-        <enum value="0x8D56" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT"/>
-        <enum value="0x8D56" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV"/>
-        <enum value="0x8D57" name="GL_MAX_SAMPLES"/>
-        <enum value="0x8D57" name="GL_MAX_SAMPLES_ANGLE"/>
-        <enum value="0x8D57" name="GL_MAX_SAMPLES_APPLE"/>
-        <enum value="0x8D57" name="GL_MAX_SAMPLES_EXT"/>
-        <enum value="0x8D57" name="GL_MAX_SAMPLES_NV"/>
-            <unused start="0x8D58" end="0x8D5F"/>
+    <enums namespace="GL" group="FragmentShaderDestModMaskATI" type="bitmask">
+        <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" start="0x8D60" end="0x8D6F" vendor="OES">
-        <enum value="0x8D60" name="GL_TEXTURE_GEN_STR_OES"/>
-        <enum value="0x8D61" name="GL_HALF_FLOAT_OES"/>
-        <enum value="0x8D62" name="GL_RGB565_OES"/>
-        <enum value="0x8D62" name="GL_RGB565"/>
-            <unused start="0x8D63" comment="Was GL_TEXTURE_IMMUTABLE_LEVELS in draft ES 3.0 spec"/>
-        <enum value="0x8D64" name="GL_ETC1_RGB8_OES"/>
-        <enum value="0x8D65" name="GL_TEXTURE_EXTERNAL_OES"/>
-        <enum value="0x8D66" name="GL_SAMPLER_EXTERNAL_OES"/>
-        <enum value="0x8D67" name="GL_TEXTURE_BINDING_EXTERNAL_OES"/>
-        <enum value="0x8D68" name="GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES"/>
-        <enum value="0x8D69" name="GL_PRIMITIVE_RESTART_FIXED_INDEX"/>
-        <enum value="0x8D6A" name="GL_ANY_SAMPLES_PASSED_CONSERVATIVE"/>
-        <enum value="0x8D6A" name="GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT"/>
-        <enum value="0x8D6B" name="GL_MAX_ELEMENT_INDEX"/>
-        <enum value="0x8D6C" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT"/>
-            <unused start="0x8D6D" end="0x8D6F"/>
+    <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" 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" start="0x8D70" end="0x8DEF" vendor="NV" comment="For Pat Brown 2005/10/13">
-        <enum value="0x8D70" name="GL_RGBA32UI"/>
-        <enum value="0x8D70" name="GL_RGBA32UI_EXT"/>
-        <enum value="0x8D71" name="GL_RGB32UI"/>
-        <enum value="0x8D71" name="GL_RGB32UI_EXT"/>
-        <enum value="0x8D72" name="GL_ALPHA32UI_EXT"/>
-        <enum value="0x8D73" name="GL_INTENSITY32UI_EXT"/>
-        <enum value="0x8D74" name="GL_LUMINANCE32UI_EXT"/>
-        <enum value="0x8D75" name="GL_LUMINANCE_ALPHA32UI_EXT"/>
-        <enum value="0x8D76" name="GL_RGBA16UI"/>
-        <enum value="0x8D76" name="GL_RGBA16UI_EXT"/>
-        <enum value="0x8D77" name="GL_RGB16UI"/>
-        <enum value="0x8D77" name="GL_RGB16UI_EXT"/>
-        <enum value="0x8D78" name="GL_ALPHA16UI_EXT"/>
-        <enum value="0x8D79" name="GL_INTENSITY16UI_EXT"/>
-        <enum value="0x8D7A" name="GL_LUMINANCE16UI_EXT"/>
-        <enum value="0x8D7B" name="GL_LUMINANCE_ALPHA16UI_EXT"/>
-        <enum value="0x8D7C" name="GL_RGBA8UI"/>
-        <enum value="0x8D7C" name="GL_RGBA8UI_EXT"/>
-        <enum value="0x8D7D" name="GL_RGB8UI"/>
-        <enum value="0x8D7D" name="GL_RGB8UI_EXT"/>
-        <enum value="0x8D7E" name="GL_ALPHA8UI_EXT"/>
-        <enum value="0x8D7F" name="GL_INTENSITY8UI_EXT"/>
-        <enum value="0x8D80" name="GL_LUMINANCE8UI_EXT"/>
-        <enum value="0x8D81" name="GL_LUMINANCE_ALPHA8UI_EXT"/>
-        <enum value="0x8D82" name="GL_RGBA32I"/>
-        <enum value="0x8D82" name="GL_RGBA32I_EXT"/>
-        <enum value="0x8D83" name="GL_RGB32I"/>
-        <enum value="0x8D83" name="GL_RGB32I_EXT"/>
-        <enum value="0x8D84" name="GL_ALPHA32I_EXT"/>
-        <enum value="0x8D85" name="GL_INTENSITY32I_EXT"/>
-        <enum value="0x8D86" name="GL_LUMINANCE32I_EXT"/>
-        <enum value="0x8D87" name="GL_LUMINANCE_ALPHA32I_EXT"/>
-        <enum value="0x8D88" name="GL_RGBA16I"/>
-        <enum value="0x8D88" name="GL_RGBA16I_EXT"/>
-        <enum value="0x8D89" name="GL_RGB16I"/>
-        <enum value="0x8D89" name="GL_RGB16I_EXT"/>
-        <enum value="0x8D8A" name="GL_ALPHA16I_EXT"/>
-        <enum value="0x8D8B" name="GL_INTENSITY16I_EXT"/>
-        <enum value="0x8D8C" name="GL_LUMINANCE16I_EXT"/>
-        <enum value="0x8D8D" name="GL_LUMINANCE_ALPHA16I_EXT"/>
-        <enum value="0x8D8E" name="GL_RGBA8I"/>
-        <enum value="0x8D8E" name="GL_RGBA8I_EXT"/>
-        <enum value="0x8D8F" name="GL_RGB8I"/>
-        <enum value="0x8D8F" name="GL_RGB8I_EXT"/>
-        <enum value="0x8D90" name="GL_ALPHA8I_EXT"/>
-        <enum value="0x8D91" name="GL_INTENSITY8I_EXT"/>
-        <enum value="0x8D92" name="GL_LUMINANCE8I_EXT"/>
-        <enum value="0x8D93" name="GL_LUMINANCE_ALPHA8I_EXT"/>
-        <enum value="0x8D94" name="GL_RED_INTEGER"/>
-        <enum value="0x8D94" name="GL_RED_INTEGER_EXT"/>
-        <enum value="0x8D95" name="GL_GREEN_INTEGER"/>
-        <enum value="0x8D95" name="GL_GREEN_INTEGER_EXT"/>
-        <enum value="0x8D96" name="GL_BLUE_INTEGER"/>
-        <enum value="0x8D96" name="GL_BLUE_INTEGER_EXT"/>
-        <enum value="0x8D97" name="GL_ALPHA_INTEGER"/>
-        <enum value="0x8D97" name="GL_ALPHA_INTEGER_EXT"/>
-        <enum value="0x8D98" name="GL_RGB_INTEGER"/>
-        <enum value="0x8D98" name="GL_RGB_INTEGER_EXT"/>
-        <enum value="0x8D99" name="GL_RGBA_INTEGER"/>
-        <enum value="0x8D99" name="GL_RGBA_INTEGER_EXT"/>
-        <enum value="0x8D9A" name="GL_BGR_INTEGER"/>
-        <enum value="0x8D9A" name="GL_BGR_INTEGER_EXT"/>
-        <enum value="0x8D9B" name="GL_BGRA_INTEGER"/>
-        <enum value="0x8D9B" name="GL_BGRA_INTEGER_EXT"/>
-        <enum value="0x8D9C" name="GL_LUMINANCE_INTEGER_EXT"/>
-        <enum value="0x8D9D" name="GL_LUMINANCE_ALPHA_INTEGER_EXT"/>
-        <enum value="0x8D9E" name="GL_RGBA_INTEGER_MODE_EXT"/>
-        <enum value="0x8D9F" name="GL_INT_2_10_10_10_REV"/>
-        <enum value="0x8DA0" name="GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV"/>
-        <enum value="0x8DA1" name="GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV"/>
-        <enum value="0x8DA2" name="GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV"/>
-        <enum value="0x8DA3" name="GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV"/>
-        <enum value="0x8DA4" name="GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV"/>
-        <enum value="0x8DA5" name="GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV"/>
-        <enum value="0x8DA6" name="GL_MAX_PROGRAM_GENERIC_RESULTS_NV"/>
-        <enum value="0x8DA7" name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED"/>
-        <enum value="0x8DA7" name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB"/>
-        <enum value="0x8DA7" name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT"/>
-        <enum value="0x8DA8" name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS"/>
-        <enum value="0x8DA8" name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB"/>
-        <enum value="0x8DA8" name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT"/>
-        <enum value="0x8DA9" name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB"/>
-        <enum value="0x8DA9" name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT"/>
-            <!-- Also see the odd namespace "NVTransformFeedbackToken" above -->
-        <enum value="0x8DAA" name="GL_LAYER_NV"/>
-        <enum value="0x8DAB" name="GL_DEPTH_COMPONENT32F_NV"/>
-        <enum value="0x8DAC" name="GL_DEPTH32F_STENCIL8_NV"/>
-        <enum value="0x8DAD" name="GL_FLOAT_32_UNSIGNED_INT_24_8_REV"/>
-        <enum value="0x8DAD" name="GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV"/>
-        <enum value="0x8DAE" name="GL_SHADER_INCLUDE_ARB"/>
-        <enum value="0x8DAF" name="GL_DEPTH_BUFFER_FLOAT_MODE_NV"/>
-            <unused start="0x8DB0" end="0x8DB8"/>
-        <enum value="0x8DB9" name="GL_FRAMEBUFFER_SRGB"/>
-        <enum value="0x8DB9" name="GL_FRAMEBUFFER_SRGB_EXT"/>
-        <enum value="0x8DBA" name="GL_FRAMEBUFFER_SRGB_CAPABLE_EXT"/>
-        <enum value="0x8DBB" name="GL_COMPRESSED_RED_RGTC1"/>
-        <enum value="0x8DBB" name="GL_COMPRESSED_RED_RGTC1_EXT"/>
-        <enum value="0x8DBC" name="GL_COMPRESSED_SIGNED_RED_RGTC1"/>
-        <enum value="0x8DBC" name="GL_COMPRESSED_SIGNED_RED_RGTC1_EXT"/>
-        <enum value="0x8DBD" name="GL_COMPRESSED_RED_GREEN_RGTC2_EXT"/>
-        <enum value="0x8DBD" name="GL_COMPRESSED_RG_RGTC2"/>
-        <enum value="0x8DBE" name="GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT"/>
-        <enum value="0x8DBE" name="GL_COMPRESSED_SIGNED_RG_RGTC2"/>
-        <enum value="0x8DC0" name="GL_SAMPLER_1D_ARRAY"/>
-        <enum value="0x8DC0" name="GL_SAMPLER_1D_ARRAY_EXT"/>
-        <enum value="0x8DC1" name="GL_SAMPLER_2D_ARRAY"/>
-        <enum value="0x8DC1" name="GL_SAMPLER_2D_ARRAY_EXT"/>
-        <enum value="0x8DC2" name="GL_SAMPLER_BUFFER"/>
-        <enum value="0x8DC2" name="GL_SAMPLER_BUFFER_EXT"/>
-        <enum value="0x8DC3" name="GL_SAMPLER_1D_ARRAY_SHADOW"/>
-        <enum value="0x8DC3" name="GL_SAMPLER_1D_ARRAY_SHADOW_EXT"/>
-        <enum value="0x8DC4" name="GL_SAMPLER_2D_ARRAY_SHADOW"/>
-        <enum value="0x8DC4" name="GL_SAMPLER_2D_ARRAY_SHADOW_EXT"/>
-        <enum value="0x8DC4" name="GL_SAMPLER_2D_ARRAY_SHADOW_NV"/>
-        <enum value="0x8DC5" name="GL_SAMPLER_CUBE_SHADOW"/>
-        <enum value="0x8DC5" name="GL_SAMPLER_CUBE_SHADOW_EXT"/>
-        <enum value="0x8DC5" name="GL_SAMPLER_CUBE_SHADOW_NV"/>
-        <enum value="0x8DC6" name="GL_UNSIGNED_INT_VEC2"/>
-        <enum value="0x8DC6" name="GL_UNSIGNED_INT_VEC2_EXT"/>
-        <enum value="0x8DC7" name="GL_UNSIGNED_INT_VEC3"/>
-        <enum value="0x8DC7" name="GL_UNSIGNED_INT_VEC3_EXT"/>
-        <enum value="0x8DC8" name="GL_UNSIGNED_INT_VEC4"/>
-        <enum value="0x8DC8" name="GL_UNSIGNED_INT_VEC4_EXT"/>
-        <enum value="0x8DC9" name="GL_INT_SAMPLER_1D"/>
-        <enum value="0x8DC9" name="GL_INT_SAMPLER_1D_EXT"/>
-        <enum value="0x8DCA" name="GL_INT_SAMPLER_2D"/>
-        <enum value="0x8DCA" name="GL_INT_SAMPLER_2D_EXT"/>
-        <enum value="0x8DCB" name="GL_INT_SAMPLER_3D"/>
-        <enum value="0x8DCB" name="GL_INT_SAMPLER_3D_EXT"/>
-        <enum value="0x8DCC" name="GL_INT_SAMPLER_CUBE"/>
-        <enum value="0x8DCC" name="GL_INT_SAMPLER_CUBE_EXT"/>
-        <enum value="0x8DCD" name="GL_INT_SAMPLER_2D_RECT"/>
-        <enum value="0x8DCD" name="GL_INT_SAMPLER_2D_RECT_EXT"/>
-        <enum value="0x8DCE" name="GL_INT_SAMPLER_1D_ARRAY"/>
-        <enum value="0x8DCE" name="GL_INT_SAMPLER_1D_ARRAY_EXT"/>
-        <enum value="0x8DCF" name="GL_INT_SAMPLER_2D_ARRAY"/>
-        <enum value="0x8DCF" name="GL_INT_SAMPLER_2D_ARRAY_EXT"/>
-        <enum value="0x8DD0" name="GL_INT_SAMPLER_BUFFER"/>
-        <enum value="0x8DD0" name="GL_INT_SAMPLER_BUFFER_EXT"/>
-        <enum value="0x8DD1" name="GL_UNSIGNED_INT_SAMPLER_1D"/>
-        <enum value="0x8DD1" name="GL_UNSIGNED_INT_SAMPLER_1D_EXT"/>
-        <enum value="0x8DD2" name="GL_UNSIGNED_INT_SAMPLER_2D"/>
-        <enum value="0x8DD2" name="GL_UNSIGNED_INT_SAMPLER_2D_EXT"/>
-        <enum value="0x8DD3" name="GL_UNSIGNED_INT_SAMPLER_3D"/>
-        <enum value="0x8DD3" name="GL_UNSIGNED_INT_SAMPLER_3D_EXT"/>
-        <enum value="0x8DD4" name="GL_UNSIGNED_INT_SAMPLER_CUBE"/>
-        <enum value="0x8DD4" name="GL_UNSIGNED_INT_SAMPLER_CUBE_EXT"/>
-        <enum value="0x8DD5" name="GL_UNSIGNED_INT_SAMPLER_2D_RECT"/>
-        <enum value="0x8DD5" name="GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT"/>
-        <enum value="0x8DD6" name="GL_UNSIGNED_INT_SAMPLER_1D_ARRAY"/>
-        <enum value="0x8DD6" name="GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT"/>
-        <enum value="0x8DD7" name="GL_UNSIGNED_INT_SAMPLER_2D_ARRAY"/>
-        <enum value="0x8DD7" name="GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT"/>
-        <enum value="0x8DD8" name="GL_UNSIGNED_INT_SAMPLER_BUFFER"/>
-        <enum value="0x8DD8" name="GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT"/>
-        <enum value="0x8DD9" name="GL_GEOMETRY_SHADER"/>
-        <enum value="0x8DD9" name="GL_GEOMETRY_SHADER_ARB"/>
-        <enum value="0x8DD9" name="GL_GEOMETRY_SHADER_EXT"/>
-        <enum value="0x8DDA" name="GL_GEOMETRY_VERTICES_OUT_ARB"/>
-        <enum value="0x8DDA" name="GL_GEOMETRY_VERTICES_OUT_EXT"/>
-        <enum value="0x8DDB" name="GL_GEOMETRY_INPUT_TYPE_ARB"/>
-        <enum value="0x8DDB" name="GL_GEOMETRY_INPUT_TYPE_EXT"/>
-        <enum value="0x8DDC" name="GL_GEOMETRY_OUTPUT_TYPE_ARB"/>
-        <enum value="0x8DDC" name="GL_GEOMETRY_OUTPUT_TYPE_EXT"/>
-        <enum value="0x8DDD" name="GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB"/>
-        <enum value="0x8DDD" name="GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT"/>
-        <enum value="0x8DDE" name="GL_MAX_VERTEX_VARYING_COMPONENTS_ARB"/>
-        <enum value="0x8DDE" name="GL_MAX_VERTEX_VARYING_COMPONENTS_EXT"/>
-        <enum value="0x8DDF" name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS"/>
-        <enum value="0x8DDF" name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB"/>
-        <enum value="0x8DDF" name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT"/>
-        <enum value="0x8DE0" name="GL_MAX_GEOMETRY_OUTPUT_VERTICES"/>
-        <enum value="0x8DE0" name="GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB"/>
-        <enum value="0x8DE0" name="GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT"/>
-        <enum value="0x8DE1" name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS"/>
-        <enum value="0x8DE1" name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB"/>
-        <enum value="0x8DE1" name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT"/>
-        <enum value="0x8DE2" name="GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT"/>
-        <enum value="0x8DE3" name="GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT"/>
-        <enum value="0x8DE4" name="GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT"/>
-        <enum value="0x8DE5" name="GL_ACTIVE_SUBROUTINES"/>
-        <enum value="0x8DE6" name="GL_ACTIVE_SUBROUTINE_UNIFORMS"/>
-        <enum value="0x8DE7" name="GL_MAX_SUBROUTINES"/>
-        <enum value="0x8DE8" name="GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS"/>
-        <enum value="0x8DE9" name="GL_NAMED_STRING_LENGTH_ARB"/>
-        <enum value="0x8DEA" name="GL_NAMED_STRING_TYPE_ARB"/>
-            <unused start="0x8DEB" end="0x8DEC"/>
-        <enum value="0x8DED" name="GL_MAX_BINDABLE_UNIFORM_SIZE_EXT"/>
-        <enum value="0x8DEE" name="GL_UNIFORM_BUFFER_EXT"/>
-        <enum value="0x8DEF" name="GL_UNIFORM_BUFFER_BINDING_EXT"/>
+    <enums namespace="GL" group="TraceMaskMESA" type="bitmask">
+        <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" start="0x8DF0" end="0x8E0F" vendor="OES">
-        <enum value="0x8DF0" name="GL_LOW_FLOAT"/>
-        <enum value="0x8DF1" name="GL_MEDIUM_FLOAT"/>
-        <enum value="0x8DF2" name="GL_HIGH_FLOAT"/>
-        <enum value="0x8DF3" name="GL_LOW_INT"/>
-        <enum value="0x8DF4" name="GL_MEDIUM_INT"/>
-        <enum value="0x8DF5" name="GL_HIGH_INT"/>
-        <enum value="0x8DF6" name="GL_UNSIGNED_INT_10_10_10_2_OES"/>
-        <enum value="0x8DF7" name="GL_INT_10_10_10_2_OES"/>
-        <enum value="0x8DF8" name="GL_SHADER_BINARY_FORMATS"/>
-        <enum value="0x8DF9" name="GL_NUM_SHADER_BINARY_FORMATS"/>
-        <enum value="0x8DFA" name="GL_SHADER_COMPILER"/>
-        <enum value="0x8DFB" name="GL_MAX_VERTEX_UNIFORM_VECTORS"/>
-        <enum value="0x8DFC" name="GL_MAX_VARYING_VECTORS"/>
-        <enum value="0x8DFD" name="GL_MAX_FRAGMENT_UNIFORM_VECTORS"/>
-            <unused start="0x8DFE" end="0x8E0F"/>
+    <enums namespace="GL" group="PathRenderingMaskNV" type="bitmask">
+        <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" start="0x8E10" end="0x8E8F" vendor="NV" comment="For Michael Gold 2006/08/07">
-        <enum value="0x8E10" name="GL_RENDERBUFFER_COLOR_SAMPLES_NV"/>
-        <enum value="0x8E11" name="GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV"/>
-        <enum value="0x8E12" name="GL_MULTISAMPLE_COVERAGE_MODES_NV"/>
-        <enum value="0x8E13" name="GL_QUERY_WAIT"/>
-        <enum value="0x8E13" name="GL_QUERY_WAIT_NV"/>
-        <enum value="0x8E14" name="GL_QUERY_NO_WAIT"/>
-        <enum value="0x8E14" name="GL_QUERY_NO_WAIT_NV"/>
-        <enum value="0x8E15" name="GL_QUERY_BY_REGION_WAIT"/>
-        <enum value="0x8E15" name="GL_QUERY_BY_REGION_WAIT_NV"/>
-        <enum value="0x8E16" name="GL_QUERY_BY_REGION_NO_WAIT"/>
-        <enum value="0x8E16" name="GL_QUERY_BY_REGION_NO_WAIT_NV"/>
-            <unused start="0x8E17" end="0x8E1D"/>
-        <enum value="0x8E1E" name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS"/>
-        <enum value="0x8E1F" name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
-        <enum value="0x8E20" name="GL_COLOR_SAMPLES_NV"/>
-            <unused start="0x8E21"/>
-        <enum value="0x8E22" name="GL_TRANSFORM_FEEDBACK"/>
-        <enum value="0x8E22" name="GL_TRANSFORM_FEEDBACK_NV"/>
-        <enum value="0x8E23" name="GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED"/>
-        <enum value="0x8E23" name="GL_TRANSFORM_FEEDBACK_PAUSED" alias="GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED"/>
-        <enum value="0x8E23" name="GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV"/>
-        <enum value="0x8E24" name="GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE"/>
-        <enum value="0x8E24" name="GL_TRANSFORM_FEEDBACK_ACTIVE" alias="GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE"/>
-        <enum value="0x8E24" name="GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV"/>
-        <enum value="0x8E25" name="GL_TRANSFORM_FEEDBACK_BINDING"/>
-        <enum value="0x8E25" name="GL_TRANSFORM_FEEDBACK_BINDING_NV"/>
-        <enum value="0x8E26" name="GL_FRAME_NV"/>
-        <enum value="0x8E27" name="GL_FIELDS_NV"/>
-        <enum value="0x8E28" name="GL_CURRENT_TIME_NV"/>
-        <enum value="0x8E28" name="GL_TIMESTAMP"/>
-        <enum value="0x8E28" name="GL_TIMESTAMP_EXT"/>
-        <enum value="0x8E29" name="GL_NUM_FILL_STREAMS_NV"/>
-        <enum value="0x8E2A" name="GL_PRESENT_TIME_NV"/>
-        <enum value="0x8E2B" name="GL_PRESENT_DURATION_NV"/>
-        <enum value="0x8E2C" name="GL_DEPTH_COMPONENT16_NONLINEAR_NV"/>
-        <enum value="0x8E2D" name="GL_PROGRAM_MATRIX_EXT"/>
-        <enum value="0x8E2E" name="GL_TRANSPOSE_PROGRAM_MATRIX_EXT"/>
-        <enum value="0x8E2F" name="GL_PROGRAM_MATRIX_STACK_DEPTH_EXT"/>
-            <unused start="0x8E30" end="0x8E41"/>
-        <enum value="0x8E42" name="GL_TEXTURE_SWIZZLE_R"/>
-        <enum value="0x8E42" name="GL_TEXTURE_SWIZZLE_R_EXT"/>
-        <enum value="0x8E43" name="GL_TEXTURE_SWIZZLE_G"/>
-        <enum value="0x8E43" name="GL_TEXTURE_SWIZZLE_G_EXT"/>
-        <enum value="0x8E44" name="GL_TEXTURE_SWIZZLE_B"/>
-        <enum value="0x8E44" name="GL_TEXTURE_SWIZZLE_B_EXT"/>
-        <enum value="0x8E45" name="GL_TEXTURE_SWIZZLE_A"/>
-        <enum value="0x8E45" name="GL_TEXTURE_SWIZZLE_A_EXT"/>
-        <enum value="0x8E46" name="GL_TEXTURE_SWIZZLE_RGBA"/>
-        <enum value="0x8E46" name="GL_TEXTURE_SWIZZLE_RGBA_EXT"/>
-        <enum value="0x8E47" name="GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS"/>
-        <enum value="0x8E48" name="GL_ACTIVE_SUBROUTINE_MAX_LENGTH"/>
-        <enum value="0x8E49" name="GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH"/>
-        <enum value="0x8E4A" name="GL_NUM_COMPATIBLE_SUBROUTINES"/>
-        <enum value="0x8E4B" name="GL_COMPATIBLE_SUBROUTINES"/>
-        <enum value="0x8E4C" name="GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION"/>
-        <enum value="0x8E4C" name="GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT"/>
-        <enum value="0x8E4D" name="GL_FIRST_VERTEX_CONVENTION"/>
-        <enum value="0x8E4D" name="GL_FIRST_VERTEX_CONVENTION_EXT"/>
-        <enum value="0x8E4E" name="GL_LAST_VERTEX_CONVENTION"/>
-        <enum value="0x8E4E" name="GL_LAST_VERTEX_CONVENTION_EXT"/>
-        <enum value="0x8E4F" name="GL_PROVOKING_VERTEX"/>
-        <enum value="0x8E4F" name="GL_PROVOKING_VERTEX_EXT"/>
-        <enum value="0x8E50" name="GL_SAMPLE_POSITION"/>
-        <enum value="0x8E50" name="GL_SAMPLE_POSITION_NV"/>
-        <enum value="0x8E51" name="GL_SAMPLE_MASK"/>
-        <enum value="0x8E51" name="GL_SAMPLE_MASK_NV"/>
-        <enum value="0x8E52" name="GL_SAMPLE_MASK_VALUE"/>
-        <enum value="0x8E52" name="GL_SAMPLE_MASK_VALUE_NV"/>
-        <enum value="0x8E53" name="GL_TEXTURE_BINDING_RENDERBUFFER_NV"/>
-        <enum value="0x8E54" name="GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV"/>
-        <enum value="0x8E55" name="GL_TEXTURE_RENDERBUFFER_NV"/>
-        <enum value="0x8E56" name="GL_SAMPLER_RENDERBUFFER_NV"/>
-        <enum value="0x8E57" name="GL_INT_SAMPLER_RENDERBUFFER_NV"/>
-        <enum value="0x8E58" name="GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV"/>
-        <enum value="0x8E59" name="GL_MAX_SAMPLE_MASK_WORDS"/>
-        <enum value="0x8E59" name="GL_MAX_SAMPLE_MASK_WORDS_NV"/>
-        <enum value="0x8E5A" name="GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV"/>
-        <enum value="0x8E5A" name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS"/>
-        <enum value="0x8E5B" name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET"/>
-        <enum value="0x8E5B" name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV"/>
-        <enum value="0x8E5C" name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET"/>
-        <enum value="0x8E5C" name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV"/>
-        <enum value="0x8E5D" name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS"/>
-        <enum value="0x8E5D" name="GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV"/>
-        <enum value="0x8E5E" name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET"/>
-        <enum value="0x8E5E" name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB"/>
-        <enum value="0x8E5E" name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV"/>
-        <enum value="0x8E5F" name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET"/>
-        <enum value="0x8E5F" name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB"/>
-        <enum value="0x8E5F" name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV"/>
-            <unused start="0x8E60" end="0x8E6F"/>
-        <enum value="0x8E70" name="GL_MAX_TRANSFORM_FEEDBACK_BUFFERS"/>
-        <enum value="0x8E71" name="GL_MAX_VERTEX_STREAMS"/>
-        <enum value="0x8E72" name="GL_PATCH_VERTICES"/>
-        <enum value="0x8E73" name="GL_PATCH_DEFAULT_INNER_LEVEL"/>
-        <enum value="0x8E74" name="GL_PATCH_DEFAULT_OUTER_LEVEL"/>
-        <enum value="0x8E75" name="GL_TESS_CONTROL_OUTPUT_VERTICES"/>
-        <enum value="0x8E76" name="GL_TESS_GEN_MODE"/>
-        <enum value="0x8E77" name="GL_TESS_GEN_SPACING"/>
-        <enum value="0x8E78" name="GL_TESS_GEN_VERTEX_ORDER"/>
-        <enum value="0x8E79" name="GL_TESS_GEN_POINT_MODE"/>
-        <enum value="0x8E7A" name="GL_ISOLINES"/>
-        <enum value="0x8E7B" name="GL_FRACTIONAL_ODD"/>
-        <enum value="0x8E7C" name="GL_FRACTIONAL_EVEN"/>
-        <enum value="0x8E7D" name="GL_MAX_PATCH_VERTICES"/>
-        <enum value="0x8E7E" name="GL_MAX_TESS_GEN_LEVEL"/>
-        <enum value="0x8E7F" name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS"/>
-        <enum value="0x8E80" name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
-        <enum value="0x8E81" name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS"/>
-        <enum value="0x8E82" name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS"/>
-        <enum value="0x8E83" name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS"/>
-        <enum value="0x8E84" name="GL_MAX_TESS_PATCH_COMPONENTS"/>
-        <enum value="0x8E85" name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS"/>
-        <enum value="0x8E86" name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS"/>
-        <enum value="0x8E87" name="GL_TESS_EVALUATION_SHADER"/>
-        <enum value="0x8E88" name="GL_TESS_CONTROL_SHADER"/>
-        <enum value="0x8E89" name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS"/>
-        <enum value="0x8E8A" name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS"/>
-        <enum value="0x8E8C" name="GL_COMPRESSED_RGBA_BPTC_UNORM_ARB"/>
-        <enum value="0x8E8D" name="GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB"/>
-        <enum value="0x8E8E" name="GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB"/>
-        <enum value="0x8E8F" name="GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB"/>
+    <enums namespace="GL" group="PerformanceQueryCapsMaskINTEL" type="bitmask">
+        <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" start="0x8E90" end="0x8E9F" vendor="QNX" comment="For QNX_texture_tiling, QNX_complex_polygon, QNX_stippled_lines (Khronos bug 696)">
-            <unused start="0x8E90" end="0x8E9F"/>
+    <enums namespace="GL" group="VertexHintsMaskPGI" type="bitmask">
+        <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" start="0x8EA0" end="0x8EAF" vendor="IMG"/>
-
-    <enums namespace="GL" start="0x8EB0" end="0x8EBF" vendor="OES" comment="For Affie Munshi 2007/07/20"/>
-
-    <enums namespace="GL" start="0x8EC0" end="0x8ECF" vendor="Vincent"/>
-
-    <enums namespace="GL" start="0x8ED0" end="0x8F4F" vendor="NV" comment="For Pat Brown, Khronos bug 3191">
-        <enum value="0x8ED0" name="GL_COVERAGE_COMPONENT_NV"/>
-        <enum value="0x8ED1" name="GL_COVERAGE_COMPONENT4_NV"/>
-        <enum value="0x8ED2" name="GL_COVERAGE_ATTACHMENT_NV"/>
-        <enum value="0x8ED3" name="GL_COVERAGE_BUFFERS_NV"/>
-        <enum value="0x8ED4" name="GL_COVERAGE_SAMPLES_NV"/>
-        <enum value="0x8ED5" name="GL_COVERAGE_ALL_FRAGMENTS_NV"/>
-        <enum value="0x8ED6" name="GL_COVERAGE_EDGE_FRAGMENTS_NV"/>
-        <enum value="0x8ED7" name="GL_COVERAGE_AUTOMATIC_NV"/>
-            <unused start="0x8ED8" end="0x8F1C"/>
-        <enum value="0x8F1D" name="GL_BUFFER_GPU_ADDRESS_NV"/>
-        <enum value="0x8F1E" name="GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV"/>
-        <enum value="0x8F1F" name="GL_ELEMENT_ARRAY_UNIFIED_NV"/>
-        <enum value="0x8F20" name="GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV"/>
-        <enum value="0x8F21" name="GL_VERTEX_ARRAY_ADDRESS_NV"/>
-        <enum value="0x8F22" name="GL_NORMAL_ARRAY_ADDRESS_NV"/>
-        <enum value="0x8F23" name="GL_COLOR_ARRAY_ADDRESS_NV"/>
-        <enum value="0x8F24" name="GL_INDEX_ARRAY_ADDRESS_NV"/>
-        <enum value="0x8F25" name="GL_TEXTURE_COORD_ARRAY_ADDRESS_NV"/>
-        <enum value="0x8F26" name="GL_EDGE_FLAG_ARRAY_ADDRESS_NV"/>
-        <enum value="0x8F27" name="GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV"/>
-        <enum value="0x8F28" name="GL_FOG_COORD_ARRAY_ADDRESS_NV"/>
-        <enum value="0x8F29" name="GL_ELEMENT_ARRAY_ADDRESS_NV"/>
-        <enum value="0x8F2A" name="GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV"/>
-        <enum value="0x8F2B" name="GL_VERTEX_ARRAY_LENGTH_NV"/>
-        <enum value="0x8F2C" name="GL_NORMAL_ARRAY_LENGTH_NV"/>
-        <enum value="0x8F2D" name="GL_COLOR_ARRAY_LENGTH_NV"/>
-        <enum value="0x8F2E" name="GL_INDEX_ARRAY_LENGTH_NV"/>
-        <enum value="0x8F2F" name="GL_TEXTURE_COORD_ARRAY_LENGTH_NV"/>
-        <enum value="0x8F30" name="GL_EDGE_FLAG_ARRAY_LENGTH_NV"/>
-        <enum value="0x8F31" name="GL_SECONDARY_COLOR_ARRAY_LENGTH_NV"/>
-        <enum value="0x8F32" name="GL_FOG_COORD_ARRAY_LENGTH_NV"/>
-        <enum value="0x8F33" name="GL_ELEMENT_ARRAY_LENGTH_NV"/>
-        <enum value="0x8F34" name="GL_GPU_ADDRESS_NV"/>
-        <enum value="0x8F35" name="GL_MAX_SHADER_BUFFER_ADDRESS_NV"/>
-        <enum value="0x8F36" name="GL_COPY_READ_BUFFER"/>
-        <enum value="0x8F36" name="GL_COPY_READ_BUFFER_NV"/>
-        <enum value="0x8F36" name="GL_COPY_READ_BUFFER_BINDING" alias="GL_COPY_READ_BUFFER"/>
-        <enum value="0x8F37" name="GL_COPY_WRITE_BUFFER"/>
-        <enum value="0x8F37" name="GL_COPY_WRITE_BUFFER_NV"/>
-        <enum value="0x8F37" name="GL_COPY_WRITE_BUFFER_BINDING" alias="GL_COPY_WRITE_BUFFER"/>
-        <enum value="0x8F38" name="GL_MAX_IMAGE_UNITS"/>
-        <enum value="0x8F38" name="GL_MAX_IMAGE_UNITS_EXT"/>
-        <enum value="0x8F39" name="GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS"/>
-        <enum value="0x8F39" name="GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT"/>
-        <enum value="0x8F39" name="GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES" alias="GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS"/>
-        <enum value="0x8F3A" name="GL_IMAGE_BINDING_NAME"/>
-        <enum value="0x8F3A" name="GL_IMAGE_BINDING_NAME_EXT"/>
-        <enum value="0x8F3B" name="GL_IMAGE_BINDING_LEVEL"/>
-        <enum value="0x8F3B" name="GL_IMAGE_BINDING_LEVEL_EXT"/>
-        <enum value="0x8F3C" name="GL_IMAGE_BINDING_LAYERED"/>
-        <enum value="0x8F3C" name="GL_IMAGE_BINDING_LAYERED_EXT"/>
-        <enum value="0x8F3D" name="GL_IMAGE_BINDING_LAYER"/>
-        <enum value="0x8F3D" name="GL_IMAGE_BINDING_LAYER_EXT"/>
-        <enum value="0x8F3E" name="GL_IMAGE_BINDING_ACCESS"/>
-        <enum value="0x8F3E" name="GL_IMAGE_BINDING_ACCESS_EXT"/>
-        <enum value="0x8F3F" name="GL_DRAW_INDIRECT_BUFFER"/>
-        <enum value="0x8F40" name="GL_DRAW_INDIRECT_UNIFIED_NV"/>
-        <enum value="0x8F41" name="GL_DRAW_INDIRECT_ADDRESS_NV"/>
-        <enum value="0x8F42" name="GL_DRAW_INDIRECT_LENGTH_NV"/>
-        <enum value="0x8F43" name="GL_DRAW_INDIRECT_BUFFER_BINDING"/>
-        <enum value="0x8F44" name="GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV"/>
-        <enum value="0x8F45" name="GL_MAX_PROGRAM_SUBROUTINE_NUM_NV"/>
-        <enum value="0x8F46" name="GL_DOUBLE_MAT2"/>
-        <enum value="0x8F46" name="GL_DOUBLE_MAT2_EXT"/>
-        <enum value="0x8F47" name="GL_DOUBLE_MAT3"/>
-        <enum value="0x8F47" name="GL_DOUBLE_MAT3_EXT"/>
-        <enum value="0x8F48" name="GL_DOUBLE_MAT4"/>
-        <enum value="0x8F48" name="GL_DOUBLE_MAT4_EXT"/>
-        <enum value="0x8F49" name="GL_DOUBLE_MAT2x3"/>
-        <enum value="0x8F49" name="GL_DOUBLE_MAT2x3_EXT"/>
-        <enum value="0x8F4A" name="GL_DOUBLE_MAT2x4"/>
-        <enum value="0x8F4A" name="GL_DOUBLE_MAT2x4_EXT"/>
-        <enum value="0x8F4B" name="GL_DOUBLE_MAT3x2"/>
-        <enum value="0x8F4B" name="GL_DOUBLE_MAT3x2_EXT"/>
-        <enum value="0x8F4C" name="GL_DOUBLE_MAT3x4"/>
-        <enum value="0x8F4C" name="GL_DOUBLE_MAT3x4_EXT"/>
-        <enum value="0x8F4D" name="GL_DOUBLE_MAT4x2"/>
-        <enum value="0x8F4D" name="GL_DOUBLE_MAT4x2_EXT"/>
-        <enum value="0x8F4E" name="GL_DOUBLE_MAT4x3"/>
-        <enum value="0x8F4E" name="GL_DOUBLE_MAT4x3_EXT"/>
-            <unused start="0x8F4F"/>
+    <enums namespace="GL" group="BufferBitQCOM" type="bitmask">
+        <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" start="0x8F50" end="0x8F5F" vendor="ZiiLabs" comment="For Jon Kennedy, Khronos public bug 75"/>
+    <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" start="0x8F60" end="0x8F6F" vendor="ARM" comment="For Remi Pedersen, Khronos bug 3745">
-        <enum value="0x8F60" name="GL_MALI_SHADER_BINARY_ARM"/>
-        <enum value="0x8F61" name="GL_MALI_PROGRAM_BINARY_ARM"/>
-            <unused start="0x8F62" end="0x8F6F"/>
+    <enums namespace="GL" group="FfdMaskSGIX" type="bitmask">
+        <enum value="0x00000001" name="GL_TEXTURE_DEFORMATION_BIT_SGIX" group="FfdMaskSGIX"/>
+        <enum value="0x00000002" name="GL_GEOMETRY_DEFORMATION_BIT_SGIX" group="FfdMaskSGIX"/>
     </enums>
 
-    <enums namespace="GL" start="0x8F70" end="0x8F7F" vendor="HI" comment="For Mark Callow, Khronos bug 4055. Shared with EGL."/>
 
-    <enums namespace="GL" start="0x8F80" end="0x8F8F" vendor="Zebra" comment="For Mike Weiblen, public bug 910"/>
+    <!-- Non-bitmask enums with their own namespace. Generally small numbers
+         used for indexed access. -->
 
-    <enums namespace="GL" start="0x8F90" end="0x8F9F" vendor="ARB">
-        <enum value="0x8F90" name="GL_RED_SNORM"/>
-        <enum value="0x8F91" name="GL_RG_SNORM"/>
-        <enum value="0x8F92" name="GL_RGB_SNORM"/>
-        <enum value="0x8F93" name="GL_RGBA_SNORM"/>
-        <enum value="0x8F94" name="GL_R8_SNORM"/>
-        <enum value="0x8F95" name="GL_RG8_SNORM"/>
-        <enum value="0x8F96" name="GL_RGB8_SNORM"/>
-        <enum value="0x8F97" name="GL_RGBA8_SNORM"/>
-        <enum value="0x8F98" name="GL_R16_SNORM"/>
-        <enum value="0x8F99" name="GL_RG16_SNORM"/>
-        <enum value="0x8F9A" name="GL_RGB16_SNORM"/>
-        <enum value="0x8F9B" name="GL_RGBA16_SNORM"/>
-        <enum value="0x8F9C" name="GL_SIGNED_NORMALIZED"/>
-        <enum value="0x8F9D" name="GL_PRIMITIVE_RESTART"/>
-        <enum value="0x8F9E" name="GL_PRIMITIVE_RESTART_INDEX"/>
-        <enum value="0x8F9F" name="GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB"/>
+    <enums namespace="GL" group="CommandOpcodesNV" vendor="NV" comment="For NV_command_list.">
+        <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" start="0x8FA0" end="0x8FBF" vendor="QCOM" comment="For Maurice Ribble, bug 4512">
-        <enum value="0x8FA0" name="GL_PERFMON_GLOBAL_MODE_QCOM"/>
-            <unused start="0x8FA1" end="0x8FAF"/>
-        <enum value="0x8FB0" name="GL_BINNING_CONTROL_HINT_QCOM"/>
-        <enum value="0x8FB1" name="GL_CPU_OPTIMIZED_QCOM"/>
-        <enum value="0x8FB2" name="GL_GPU_OPTIMIZED_QCOM"/>
-        <enum value="0x8FB3" name="GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM"/>
-            <unused start="0x8FB4" end="0x8FBA"/>
-        <enum value="0x8FBB" name="GL_GPU_DISJOINT_EXT"/>
-            <unused start="0x8FBC" end="0x8FBF"/>
+    <enums namespace="GL" group="MapTextureFormatINTEL" vendor="INTEL" comment="Texture memory layouts for INTEL_map_texture">
+        <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" start="0x8FC0" end="0x8FDF" vendor="VIV" comment="For Frido Garritsen, bug 4526">
-        <enum value="0x8FC4" name="GL_SHADER_BINARY_VIV"/>
+    <enums namespace="GL" group="PathRenderingTokenNV" vendor="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" 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" start="0x8FE0" end="0x8FFF" vendor="NV" comment="For Pat Brown, bug 4935">
-        <enum value="0x8FE0" name="GL_INT8_NV"/>
-        <enum value="0x8FE1" name="GL_INT8_VEC2_NV"/>
-        <enum value="0x8FE2" name="GL_INT8_VEC3_NV"/>
-        <enum value="0x8FE3" name="GL_INT8_VEC4_NV"/>
-        <enum value="0x8FE4" name="GL_INT16_NV"/>
-        <enum value="0x8FE5" name="GL_INT16_VEC2_NV"/>
-        <enum value="0x8FE6" name="GL_INT16_VEC3_NV"/>
-        <enum value="0x8FE7" name="GL_INT16_VEC4_NV"/>
-        <enum value="0x8FE9" name="GL_INT64_VEC2_NV"/>
-        <enum value="0x8FEA" name="GL_INT64_VEC3_NV"/>
-        <enum value="0x8FEB" name="GL_INT64_VEC4_NV"/>
-        <enum value="0x8FEC" name="GL_UNSIGNED_INT8_NV"/>
-        <enum value="0x8FED" name="GL_UNSIGNED_INT8_VEC2_NV"/>
-        <enum value="0x8FEE" name="GL_UNSIGNED_INT8_VEC3_NV"/>
-        <enum value="0x8FEF" name="GL_UNSIGNED_INT8_VEC4_NV"/>
-        <enum value="0x8FF0" name="GL_UNSIGNED_INT16_NV"/>
-        <enum value="0x8FF1" name="GL_UNSIGNED_INT16_VEC2_NV"/>
-        <enum value="0x8FF2" name="GL_UNSIGNED_INT16_VEC3_NV"/>
-        <enum value="0x8FF3" name="GL_UNSIGNED_INT16_VEC4_NV"/>
-        <enum value="0x8FF5" name="GL_UNSIGNED_INT64_VEC2_NV"/>
-        <enum value="0x8FF6" name="GL_UNSIGNED_INT64_VEC3_NV"/>
-        <enum value="0x8FF7" name="GL_UNSIGNED_INT64_VEC4_NV"/>
-        <enum value="0x8FF8" name="GL_FLOAT16_NV"/>
-        <enum value="0x8FF9" name="GL_FLOAT16_VEC2_NV"/>
-        <enum value="0x8FFA" name="GL_FLOAT16_VEC3_NV"/>
-        <enum value="0x8FFB" name="GL_FLOAT16_VEC4_NV"/>
-        <enum value="0x8FFC" name="GL_DOUBLE_VEC2"/>
-        <enum value="0x8FFC" name="GL_DOUBLE_VEC2_EXT"/>
-        <enum value="0x8FFD" name="GL_DOUBLE_VEC3"/>
-        <enum value="0x8FFD" name="GL_DOUBLE_VEC3_EXT"/>
-        <enum value="0x8FFE" name="GL_DOUBLE_VEC4"/>
-        <enum value="0x8FFE" name="GL_DOUBLE_VEC4_EXT"/>
-            <unused start="0x8FFF"/>
+    <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" 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" start="0x9000" end="0x901F" vendor="AMD" comment="For Bill Licea-Kane">
-        <enum value="0x9001" name="GL_SAMPLER_BUFFER_AMD"/>
-        <enum value="0x9002" name="GL_INT_SAMPLER_BUFFER_AMD"/>
-        <enum value="0x9003" name="GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD"/>
-        <enum value="0x9004" name="GL_TESSELLATION_MODE_AMD"/>
-        <enum value="0x9005" name="GL_TESSELLATION_FACTOR_AMD"/>
-        <enum value="0x9006" name="GL_DISCRETE_AMD"/>
-        <enum value="0x9007" name="GL_CONTINUOUS_AMD"/>
-            <unused start="0x9008"/>
-        <enum value="0x9009" name="GL_TEXTURE_CUBE_MAP_ARRAY"/>
-        <enum value="0x9009" name="GL_TEXTURE_CUBE_MAP_ARRAY_ARB"/>
-        <enum value="0x900A" name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY"/>
-        <enum value="0x900A" name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB"/>
-        <enum value="0x900B" name="GL_PROXY_TEXTURE_CUBE_MAP_ARRAY"/>
-        <enum value="0x900B" name="GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB"/>
-        <enum value="0x900C" name="GL_SAMPLER_CUBE_MAP_ARRAY"/>
-        <enum value="0x900C" name="GL_SAMPLER_CUBE_MAP_ARRAY_ARB"/>
-        <enum value="0x900D" name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW"/>
-        <enum value="0x900D" name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB"/>
-        <enum value="0x900E" name="GL_INT_SAMPLER_CUBE_MAP_ARRAY"/>
-        <enum value="0x900E" name="GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB"/>
-        <enum value="0x900F" name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY"/>
-        <enum value="0x900F" name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB"/>
-        <enum value="0x9010" name="GL_ALPHA_SNORM"/>
-        <enum value="0x9011" name="GL_LUMINANCE_SNORM"/>
-        <enum value="0x9012" name="GL_LUMINANCE_ALPHA_SNORM"/>
-        <enum value="0x9013" name="GL_INTENSITY_SNORM"/>
-        <enum value="0x9014" name="GL_ALPHA8_SNORM"/>
-        <enum value="0x9015" name="GL_LUMINANCE8_SNORM"/>
-        <enum value="0x9016" name="GL_LUMINANCE8_ALPHA8_SNORM"/>
-        <enum value="0x9017" name="GL_INTENSITY8_SNORM"/>
-        <enum value="0x9018" name="GL_ALPHA16_SNORM"/>
-        <enum value="0x9019" name="GL_LUMINANCE16_SNORM"/>
-        <enum value="0x901A" name="GL_LUMINANCE16_ALPHA16_SNORM"/>
-        <enum value="0x901B" name="GL_INTENSITY16_SNORM"/>
-        <enum value="0x901C" name="GL_FACTOR_MIN_AMD"/>
-        <enum value="0x901D" name="GL_FACTOR_MAX_AMD"/>
-        <enum value="0x901E" name="GL_DEPTH_CLAMP_NEAR_AMD"/>
-        <enum value="0x901F" name="GL_DEPTH_CLAMP_FAR_AMD"/>
+    <enums namespace="GL" group="TriangleListSUN" vendor="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>
 
-    <enums namespace="GL" start="0x9020" end="0x90FF" vendor="NV" comment="For Pat Brown, bug 4935">
-        <enum value="0x9020" name="GL_VIDEO_BUFFER_NV"/>
-        <enum value="0x9021" name="GL_VIDEO_BUFFER_BINDING_NV"/>
-        <enum value="0x9022" name="GL_FIELD_UPPER_NV"/>
-        <enum value="0x9023" name="GL_FIELD_LOWER_NV"/>
-        <enum value="0x9024" name="GL_NUM_VIDEO_CAPTURE_STREAMS_NV"/>
-        <enum value="0x9025" name="GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV"/>
-        <enum value="0x9026" name="GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV"/>
-        <enum value="0x9027" name="GL_LAST_VIDEO_CAPTURE_STATUS_NV"/>
-        <enum value="0x9028" name="GL_VIDEO_BUFFER_PITCH_NV"/>
-        <enum value="0x9029" name="GL_VIDEO_COLOR_CONVERSION_MATRIX_NV"/>
-        <enum value="0x902A" name="GL_VIDEO_COLOR_CONVERSION_MAX_NV"/>
-        <enum value="0x902B" name="GL_VIDEO_COLOR_CONVERSION_MIN_NV"/>
-        <enum value="0x902C" name="GL_VIDEO_COLOR_CONVERSION_OFFSET_NV"/>
-        <enum value="0x902D" name="GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV"/>
-        <enum value="0x902E" name="GL_PARTIAL_SUCCESS_NV"/>
-        <enum value="0x902F" name="GL_SUCCESS_NV"/>
-        <enum value="0x9030" name="GL_FAILURE_NV"/>
-        <enum value="0x9031" name="GL_YCBYCR8_422_NV"/>
-        <enum value="0x9032" name="GL_YCBAYCR8A_4224_NV"/>
-        <enum value="0x9033" name="GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV"/>
-        <enum value="0x9034" name="GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV"/>
-        <enum value="0x9035" name="GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV"/>
-        <enum value="0x9036" name="GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV"/>
-        <enum value="0x9037" name="GL_Z4Y12Z4CB12Z4CR12_444_NV"/>
-        <enum value="0x9038" name="GL_VIDEO_CAPTURE_FRAME_WIDTH_NV"/>
-        <enum value="0x9039" name="GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV"/>
-        <enum value="0x903A" name="GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV"/>
-        <enum value="0x903B" name="GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV"/>
-        <enum value="0x903C" name="GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV"/>
-            <unused start="0x903D" end="0x9044"/>
-        <enum value="0x9045" name="GL_TEXTURE_COVERAGE_SAMPLES_NV"/>
-        <enum value="0x9046" name="GL_TEXTURE_COLOR_SAMPLES_NV"/>
-            <unused start="0x9047" end="0x904B"/>
-        <enum value="0x904C" name="GL_IMAGE_1D"/>
-        <enum value="0x904C" name="GL_IMAGE_1D_EXT"/>
-        <enum value="0x904D" name="GL_IMAGE_2D"/>
-        <enum value="0x904D" name="GL_IMAGE_2D_EXT"/>
-        <enum value="0x904E" name="GL_IMAGE_3D"/>
-        <enum value="0x904E" name="GL_IMAGE_3D_EXT"/>
-        <enum value="0x904F" name="GL_IMAGE_2D_RECT"/>
-        <enum value="0x904F" name="GL_IMAGE_2D_RECT_EXT"/>
-        <enum value="0x9050" name="GL_IMAGE_CUBE"/>
-        <enum value="0x9050" name="GL_IMAGE_CUBE_EXT"/>
-        <enum value="0x9051" name="GL_IMAGE_BUFFER"/>
-        <enum value="0x9051" name="GL_IMAGE_BUFFER_EXT"/>
-        <enum value="0x9052" name="GL_IMAGE_1D_ARRAY"/>
-        <enum value="0x9052" name="GL_IMAGE_1D_ARRAY_EXT"/>
-        <enum value="0x9053" name="GL_IMAGE_2D_ARRAY"/>
-        <enum value="0x9053" name="GL_IMAGE_2D_ARRAY_EXT"/>
-        <enum value="0x9054" name="GL_IMAGE_CUBE_MAP_ARRAY"/>
-        <enum value="0x9054" name="GL_IMAGE_CUBE_MAP_ARRAY_EXT"/>
-        <enum value="0x9055" name="GL_IMAGE_2D_MULTISAMPLE"/>
-        <enum value="0x9055" name="GL_IMAGE_2D_MULTISAMPLE_EXT"/>
-        <enum value="0x9056" name="GL_IMAGE_2D_MULTISAMPLE_ARRAY"/>
-        <enum value="0x9056" name="GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT"/>
-        <enum value="0x9057" name="GL_INT_IMAGE_1D"/>
-        <enum value="0x9057" name="GL_INT_IMAGE_1D_EXT"/>
-        <enum value="0x9058" name="GL_INT_IMAGE_2D"/>
-        <enum value="0x9058" name="GL_INT_IMAGE_2D_EXT"/>
-        <enum value="0x9059" name="GL_INT_IMAGE_3D"/>
-        <enum value="0x9059" name="GL_INT_IMAGE_3D_EXT"/>
-        <enum value="0x905A" name="GL_INT_IMAGE_2D_RECT"/>
-        <enum value="0x905A" name="GL_INT_IMAGE_2D_RECT_EXT"/>
-        <enum value="0x905B" name="GL_INT_IMAGE_CUBE"/>
-        <enum value="0x905B" name="GL_INT_IMAGE_CUBE_EXT"/>
-        <enum value="0x905C" name="GL_INT_IMAGE_BUFFER"/>
-        <enum value="0x905C" name="GL_INT_IMAGE_BUFFER_EXT"/>
-        <enum value="0x905D" name="GL_INT_IMAGE_1D_ARRAY"/>
-        <enum value="0x905D" name="GL_INT_IMAGE_1D_ARRAY_EXT"/>
-        <enum value="0x905E" name="GL_INT_IMAGE_2D_ARRAY"/>
-        <enum value="0x905E" name="GL_INT_IMAGE_2D_ARRAY_EXT"/>
-        <enum value="0x905F" name="GL_INT_IMAGE_CUBE_MAP_ARRAY"/>
-        <enum value="0x905F" name="GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT"/>
-        <enum value="0x9060" name="GL_INT_IMAGE_2D_MULTISAMPLE"/>
-        <enum value="0x9060" name="GL_INT_IMAGE_2D_MULTISAMPLE_EXT"/>
-        <enum value="0x9061" name="GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY"/>
-        <enum value="0x9061" name="GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT"/>
-        <enum value="0x9062" name="GL_UNSIGNED_INT_IMAGE_1D"/>
-        <enum value="0x9062" name="GL_UNSIGNED_INT_IMAGE_1D_EXT"/>
-        <enum value="0x9063" name="GL_UNSIGNED_INT_IMAGE_2D"/>
-        <enum value="0x9063" name="GL_UNSIGNED_INT_IMAGE_2D_EXT"/>
-        <enum value="0x9064" name="GL_UNSIGNED_INT_IMAGE_3D"/>
-        <enum value="0x9064" name="GL_UNSIGNED_INT_IMAGE_3D_EXT"/>
-        <enum value="0x9065" name="GL_UNSIGNED_INT_IMAGE_2D_RECT"/>
-        <enum value="0x9065" name="GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT"/>
-        <enum value="0x9066" name="GL_UNSIGNED_INT_IMAGE_CUBE"/>
-        <enum value="0x9066" name="GL_UNSIGNED_INT_IMAGE_CUBE_EXT"/>
-        <enum value="0x9067" name="GL_UNSIGNED_INT_IMAGE_BUFFER"/>
-        <enum value="0x9067" name="GL_UNSIGNED_INT_IMAGE_BUFFER_EXT"/>
-        <enum value="0x9068" name="GL_UNSIGNED_INT_IMAGE_1D_ARRAY"/>
-        <enum value="0x9068" name="GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT"/>
-        <enum value="0x9069" name="GL_UNSIGNED_INT_IMAGE_2D_ARRAY"/>
-        <enum value="0x9069" name="GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT"/>
-        <enum value="0x906A" name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY"/>
-        <enum value="0x906A" name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT"/>
-        <enum value="0x906B" name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE"/>
-        <enum value="0x906B" name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT"/>
-        <enum value="0x906C" name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY"/>
-        <enum value="0x906C" name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT"/>
-        <enum value="0x906D" name="GL_MAX_IMAGE_SAMPLES"/>
-        <enum value="0x906D" name="GL_MAX_IMAGE_SAMPLES_EXT"/>
-        <enum value="0x906E" name="GL_IMAGE_BINDING_FORMAT"/>
-        <enum value="0x906E" name="GL_IMAGE_BINDING_FORMAT_EXT"/>
-        <enum value="0x906F" name="GL_RGB10_A2UI"/>
-        <enum value="0x9070" name="GL_PATH_FORMAT_SVG_NV"/>
-        <enum value="0x9071" name="GL_PATH_FORMAT_PS_NV"/>
-        <enum value="0x9072" name="GL_STANDARD_FONT_NAME_NV"/>
-        <enum value="0x9073" name="GL_SYSTEM_FONT_NAME_NV"/>
-        <enum value="0x9074" name="GL_FILE_NAME_NV"/>
-        <enum value="0x9075" name="GL_PATH_STROKE_WIDTH_NV"/>
-        <enum value="0x9076" name="GL_PATH_END_CAPS_NV"/>
-        <enum value="0x9077" name="GL_PATH_INITIAL_END_CAP_NV"/>
-        <enum value="0x9078" name="GL_PATH_TERMINAL_END_CAP_NV"/>
-        <enum value="0x9079" name="GL_PATH_JOIN_STYLE_NV"/>
-        <enum value="0x907A" name="GL_PATH_MITER_LIMIT_NV"/>
-        <enum value="0x907B" name="GL_PATH_DASH_CAPS_NV"/>
-        <enum value="0x907C" name="GL_PATH_INITIAL_DASH_CAP_NV"/>
-        <enum value="0x907D" name="GL_PATH_TERMINAL_DASH_CAP_NV"/>
-        <enum value="0x907E" name="GL_PATH_DASH_OFFSET_NV"/>
-        <enum value="0x907F" name="GL_PATH_CLIENT_LENGTH_NV"/>
-        <enum value="0x9080" name="GL_PATH_FILL_MODE_NV"/>
-        <enum value="0x9081" name="GL_PATH_FILL_MASK_NV"/>
-        <enum value="0x9082" name="GL_PATH_FILL_COVER_MODE_NV"/>
-        <enum value="0x9083" name="GL_PATH_STROKE_COVER_MODE_NV"/>
-        <enum value="0x9084" name="GL_PATH_STROKE_MASK_NV"/>
-            <!-- <enum value="0x9085" name="GL_PATH_SAMPLE_QUALITY_NV"          comment="Removed from extension"/> -->
-            <!-- <enum value="0x9086" name="GL_PATH_STROKE_BOUND_NV"            comment="Removed from extension"/> -->
-            <!-- <enum value="0x9087" name="GL_PATH_STROKE_OVERSAMPLE_COUNT_NV" comment="Removed from extension"/> -->
-        <enum value="0x9088" name="GL_COUNT_UP_NV"/>
-        <enum value="0x9089" name="GL_COUNT_DOWN_NV"/>
-        <enum value="0x908A" name="GL_PATH_OBJECT_BOUNDING_BOX_NV"/>
-        <enum value="0x908B" name="GL_CONVEX_HULL_NV"/>
-            <!-- <enum value="0x908C" name="GL_MULTI_HULLS_NV"                  comment="Removed from extension"/> -->
-        <enum value="0x908D" name="GL_BOUNDING_BOX_NV"/>
-        <enum value="0x908E" name="GL_TRANSLATE_X_NV"/>
-        <enum value="0x908F" name="GL_TRANSLATE_Y_NV"/>
-        <enum value="0x9090" name="GL_TRANSLATE_2D_NV"/>
-        <enum value="0x9091" name="GL_TRANSLATE_3D_NV"/>
-        <enum value="0x9092" name="GL_AFFINE_2D_NV"/>
-            <!-- <enum value="0x9093" name="GL_PROJECTIVE_2D_NV"                comment="Removed from extension"/> -->
-        <enum value="0x9094" name="GL_AFFINE_3D_NV"/>
-            <!-- <enum value="0x9095" name="GL_PROJECTIVE_3D_NV"                comment="Removed from extension"/> -->
-        <enum value="0x9096" name="GL_TRANSPOSE_AFFINE_2D_NV"/>
-            <!-- <enum value="0x9097" name="GL_TRANSPOSE_PROJECTIVE_2D_NV"      comment="Removed from extension"/> -->
-        <enum value="0x9098" name="GL_TRANSPOSE_AFFINE_3D_NV"/>
-            <!-- <enum value="0x9099" name="GL_TRANSPOSE_PROJECTIVE_3D_NV"      comment="Removed from extension"/> -->
-        <enum value="0x909A" name="GL_UTF8_NV"/>
-        <enum value="0x909B" name="GL_UTF16_NV"/>
-        <enum value="0x909C" name="GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV"/>
-        <enum value="0x909D" name="GL_PATH_COMMAND_COUNT_NV"/>
-        <enum value="0x909E" name="GL_PATH_COORD_COUNT_NV"/>
-        <enum value="0x909F" name="GL_PATH_DASH_ARRAY_COUNT_NV"/>
-        <enum value="0x90A0" name="GL_PATH_COMPUTED_LENGTH_NV"/>
-        <enum value="0x90A1" name="GL_PATH_FILL_BOUNDING_BOX_NV"/>
-        <enum value="0x90A2" name="GL_PATH_STROKE_BOUNDING_BOX_NV"/>
-        <enum value="0x90A3" name="GL_SQUARE_NV"/>
-        <enum value="0x90A4" name="GL_ROUND_NV"/>
-        <enum value="0x90A5" name="GL_TRIANGULAR_NV"/>
-        <enum value="0x90A6" name="GL_BEVEL_NV"/>
-        <enum value="0x90A7" name="GL_MITER_REVERT_NV"/>
-        <enum value="0x90A8" name="GL_MITER_TRUNCATE_NV"/>
-        <enum value="0x90A9" name="GL_SKIP_MISSING_GLYPH_NV"/>
-        <enum value="0x90AA" name="GL_USE_MISSING_GLYPH_NV"/>
-        <enum value="0x90AB" name="GL_PATH_ERROR_POSITION_NV"/>
-        <enum value="0x90AC" name="GL_PATH_FOG_GEN_MODE_NV"/>
-        <enum value="0x90AD" name="GL_ACCUM_ADJACENT_PAIRS_NV"/>
-        <enum value="0x90AE" name="GL_ADJACENT_PAIRS_NV"/>
-        <enum value="0x90AF" name="GL_FIRST_TO_REST_NV"/>
-        <enum value="0x90B0" name="GL_PATH_GEN_MODE_NV"/>
-        <enum value="0x90B1" name="GL_PATH_GEN_COEFF_NV"/>
-        <enum value="0x90B2" name="GL_PATH_GEN_COLOR_FORMAT_NV"/>
-        <enum value="0x90B3" name="GL_PATH_GEN_COMPONENTS_NV"/>
-        <enum value="0x90B4" name="GL_PATH_DASH_OFFSET_RESET_NV"/>
-        <enum value="0x90B5" name="GL_MOVE_TO_RESETS_NV"/>
-        <enum value="0x90B6" name="GL_MOVE_TO_CONTINUES_NV"/>
-        <enum value="0x90B7" name="GL_PATH_STENCIL_FUNC_NV"/>
-        <enum value="0x90B8" name="GL_PATH_STENCIL_REF_NV"/>
-        <enum value="0x90B9" name="GL_PATH_STENCIL_VALUE_MASK_NV"/>
-        <enum value="0x90BA" name="GL_SCALED_RESOLVE_FASTEST_EXT"/>
-        <enum value="0x90BB" name="GL_SCALED_RESOLVE_NICEST_EXT"/>
-        <enum value="0x90BC" name="GL_MIN_MAP_BUFFER_ALIGNMENT"/>
-        <enum value="0x90BD" name="GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV"/>
-        <enum value="0x90BE" name="GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV"/>
-        <enum value="0x90BF" name="GL_PATH_COVER_DEPTH_FUNC_NV"/>
-            <unused start="0x90C0" end="0x90C6"/>
-        <enum value="0x90C7" name="GL_IMAGE_FORMAT_COMPATIBILITY_TYPE"/>
-        <enum value="0x90C8" name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE"/>
-        <enum value="0x90C9" name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS"/>
-        <enum value="0x90CA" name="GL_MAX_VERTEX_IMAGE_UNIFORMS"/>
-        <enum value="0x90CB" name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS"/>
-        <enum value="0x90CC" name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS"/>
-        <enum value="0x90CD" name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS"/>
-        <enum value="0x90CE" name="GL_MAX_FRAGMENT_IMAGE_UNIFORMS"/>
-        <enum value="0x90CF" name="GL_MAX_COMBINED_IMAGE_UNIFORMS"/>
-        <enum value="0x90D0" name="GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV"/>
-        <enum value="0x90D1" name="GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV"/>
-        <enum value="0x90D2" name="GL_SHADER_STORAGE_BUFFER"/>
-        <enum value="0x90D3" name="GL_SHADER_STORAGE_BUFFER_BINDING"/>
-        <enum value="0x90D4" name="GL_SHADER_STORAGE_BUFFER_START"/>
-        <enum value="0x90D5" name="GL_SHADER_STORAGE_BUFFER_SIZE"/>
-        <enum value="0x90D6" name="GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS"/>
-        <enum value="0x90D7" name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS"/>
-        <enum value="0x90D8" name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS"/>
-        <enum value="0x90D9" name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS"/>
-        <enum value="0x90DA" name="GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS"/>
-        <enum value="0x90DB" name="GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS"/>
-        <enum value="0x90DC" name="GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS"/>
-        <enum value="0x90DD" name="GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS"/>
-        <enum value="0x90DE" name="GL_MAX_SHADER_STORAGE_BLOCK_SIZE"/>
-        <enum value="0x90DF" name="GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT"/>
-            <unused start="0x90E0"/>
-        <enum value="0x90E1" name="GL_SYNC_X11_FENCE_EXT"/>
-            <unused start="0x90E2" end="0x90E9"/>
-        <enum value="0x90EA" name="GL_DEPTH_STENCIL_TEXTURE_MODE"/>
-        <enum value="0x90EB" name="GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB" alias="GL_MAX_COMPUTE_LOCAL_INVOCATIONS"/>
-        <enum value="0x90EB" name="GL_MAX_COMPUTE_LOCAL_INVOCATIONS"/>
-        <enum value="0x90EC" name="GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER"/>
-        <enum value="0x90ED" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER"/>
-        <enum value="0x90EE" name="GL_DISPATCH_INDIRECT_BUFFER"/>
-        <enum value="0x90EF" name="GL_DISPATCH_INDIRECT_BUFFER_BINDING"/>
-        <enum value="0x90F0" name="GL_COLOR_ATTACHMENT_EXT"/>
-        <enum value="0x90F1" name="GL_MULTIVIEW_EXT"/>
-        <enum value="0x90F2" name="GL_MAX_MULTIVIEW_BUFFERS_EXT"/>
-        <enum value="0x90F3" name="GL_CONTEXT_ROBUST_ACCESS_EXT"/>
-            <unused start="0x90F4" end="0x90FA"/>
-        <enum value="0x90FB" name="GL_COMPUTE_PROGRAM_NV"/>
-        <enum value="0x90FC" name="GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV"/>
-            <unused start="0x90FD" end="0x90FF"/>
-    </enums>
+    <!-- The default ("API") enum namespace starts here. While some
+         assigned values may overlap, and different parts of the
+         namespace are reserved for different purposes, it is a single
+         namespace. The "class" attribute indicates some of the reserved
+         purposes but is by no means complete (and cannot be, since many
+         tokens are reused for different purposes in different
+         extensions and API versions). -->
 
-    <enums namespace="GL" start="0x9100" end="0x912F" vendor="ARB">
-        <enum value="0x9100" name="GL_TEXTURE_2D_MULTISAMPLE"/>
-        <enum value="0x9101" name="GL_PROXY_TEXTURE_2D_MULTISAMPLE"/>
-        <enum value="0x9102" name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
-        <enum value="0x9103" name="GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
-        <enum value="0x9104" name="GL_TEXTURE_BINDING_2D_MULTISAMPLE"/>
-        <enum value="0x9105" name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY"/>
-        <enum value="0x9106" name="GL_TEXTURE_SAMPLES"/>
-        <enum value="0x9107" name="GL_TEXTURE_FIXED_SAMPLE_LOCATIONS"/>
-        <enum value="0x9108" name="GL_SAMPLER_2D_MULTISAMPLE"/>
-        <enum value="0x9109" name="GL_INT_SAMPLER_2D_MULTISAMPLE"/>
-        <enum value="0x910A" name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE"/>
-        <enum value="0x910B" name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
-        <enum value="0x910C" name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
-        <enum value="0x910D" name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
-        <enum value="0x910E" name="GL_MAX_COLOR_TEXTURE_SAMPLES"/>
-        <enum value="0x910F" name="GL_MAX_DEPTH_TEXTURE_SAMPLES"/>
-        <enum value="0x9110" name="GL_MAX_INTEGER_SAMPLES"/>
-        <enum value="0x9111" name="GL_MAX_SERVER_WAIT_TIMEOUT"/>
-        <enum value="0x9111" name="GL_MAX_SERVER_WAIT_TIMEOUT_APPLE"/>
-        <enum value="0x9112" name="GL_OBJECT_TYPE"/>
-        <enum value="0x9112" name="GL_OBJECT_TYPE_APPLE"/>
-        <enum value="0x9113" name="GL_SYNC_CONDITION"/>
-        <enum value="0x9113" name="GL_SYNC_CONDITION_APPLE"/>
-        <enum value="0x9114" name="GL_SYNC_STATUS"/>
-        <enum value="0x9114" name="GL_SYNC_STATUS_APPLE"/>
-        <enum value="0x9115" name="GL_SYNC_FLAGS"/>
-        <enum value="0x9115" name="GL_SYNC_FLAGS_APPLE"/>
-        <enum value="0x9116" name="GL_SYNC_FENCE"/>
-        <enum value="0x9116" name="GL_SYNC_FENCE_APPLE"/>
-        <enum value="0x9117" name="GL_SYNC_GPU_COMMANDS_COMPLETE"/>
-        <enum value="0x9117" name="GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE"/>
-        <enum value="0x9118" name="GL_UNSIGNALED"/>
-        <enum value="0x9118" name="GL_UNSIGNALED_APPLE"/>
-        <enum value="0x9119" name="GL_SIGNALED"/>
-        <enum value="0x9119" name="GL_SIGNALED_APPLE"/>
-        <enum value="0x911A" name="GL_ALREADY_SIGNALED"/>
-        <enum value="0x911A" name="GL_ALREADY_SIGNALED_APPLE"/>
-        <enum value="0x911B" name="GL_TIMEOUT_EXPIRED"/>
-        <enum value="0x911B" name="GL_TIMEOUT_EXPIRED_APPLE"/>
-        <enum value="0x911C" name="GL_CONDITION_SATISFIED"/>
-        <enum value="0x911C" name="GL_CONDITION_SATISFIED_APPLE"/>
-        <enum value="0x911D" name="GL_WAIT_FAILED"/>
-        <enum value="0x911D" name="GL_WAIT_FAILED_APPLE"/>
-        <enum value="0x911F" name="GL_BUFFER_ACCESS_FLAGS"/>
-        <enum value="0x9120" name="GL_BUFFER_MAP_LENGTH"/>
-        <enum value="0x9121" name="GL_BUFFER_MAP_OFFSET"/>
-        <enum value="0x9122" name="GL_MAX_VERTEX_OUTPUT_COMPONENTS"/>
-        <enum value="0x9123" name="GL_MAX_GEOMETRY_INPUT_COMPONENTS"/>
-        <enum value="0x9124" name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS"/>
-        <enum value="0x9125" name="GL_MAX_FRAGMENT_INPUT_COMPONENTS"/>
-        <enum value="0x9126" name="GL_CONTEXT_PROFILE_MASK"/>
-        <enum value="0x9127" name="GL_UNPACK_COMPRESSED_BLOCK_WIDTH"/>
-        <enum value="0x9128" name="GL_UNPACK_COMPRESSED_BLOCK_HEIGHT"/>
-        <enum value="0x9129" name="GL_UNPACK_COMPRESSED_BLOCK_DEPTH"/>
-        <enum value="0x912A" name="GL_UNPACK_COMPRESSED_BLOCK_SIZE"/>
-        <enum value="0x912B" name="GL_PACK_COMPRESSED_BLOCK_WIDTH"/>
-        <enum value="0x912C" name="GL_PACK_COMPRESSED_BLOCK_HEIGHT"/>
-        <enum value="0x912D" name="GL_PACK_COMPRESSED_BLOCK_DEPTH"/>
-        <enum value="0x912E" name="GL_PACK_COMPRESSED_BLOCK_SIZE"/>
-        <enum value="0x912F" name="GL_TEXTURE_IMMUTABLE_FORMAT"/>
-        <enum value="0x912F" name="GL_TEXTURE_IMMUTABLE_FORMAT_EXT"/>
+    <enums namespace="GL" group="SpecialNumbers" vendor="ARB" comment="Tokens whose numeric value is intrinsically meaningful">
+        <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="0x9130" end="0x913F" vendor="IMG" comment="Khronos bug 882">
-        <enum value="0x9130" name="GL_SGX_PROGRAM_BINARY_IMG"/>
-            <unused start="0x9131" end="0x9132"/>
-        <enum value="0x9133" name="GL_RENDERBUFFER_SAMPLES_IMG"/>
-        <enum value="0x9134" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG"/>
-        <enum value="0x9135" name="GL_MAX_SAMPLES_IMG"/>
-        <enum value="0x9136" name="GL_TEXTURE_SAMPLES_IMG"/>
-        <enum value="0x9137" name="GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG"/>
-        <enum value="0x9138" name="GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG"/>
-            <unused start="0x9139" end="0x913F"/>
+    <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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" group="ErrorCode"/>
+        <enum value="0x0504" name="GL_STACK_UNDERFLOW_KHR"/>
+        <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" 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" 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" 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" 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" 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" 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" 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" group="GetPName"/>
+        <enum value="0x0BA4" name="GL_PATH_PROJECTION_STACK_DEPTH_NV"/>
+        <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" group="GetPName"/>
+        <enum value="0x0BA7" name="GL_PATH_PROJECTION_MATRIX_NV"/>
+        <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" 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" 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" 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" 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" 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" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x1004" name="GL_TEXTURE_BORDER_COLOR_OES"/>
+        <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" 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" 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" 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" 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" group="ListNameType"/>
+        <enum value="0x1408" name="GL_3_BYTES_NV"/>
+        <enum value="0x1409" name="GL_4_BYTES" group="ListNameType"/>
+        <enum value="0x1409" name="GL_4_BYTES_NV"/>
+        <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" 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" 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" group="LogicOp"/>
+        <enum value="0x1501" name="GL_AND" group="LogicOp"/>
+        <enum value="0x1502" name="GL_AND_REVERSE" group="LogicOp"/>
+        <enum value="0x1503" name="GL_COPY" group="LogicOp"/>
+        <enum value="0x1504" name="GL_AND_INVERTED" group="LogicOp"/>
+        <enum value="0x1505" name="GL_NOOP" group="LogicOp"/>
+        <enum value="0x1506" name="GL_XOR" group="LogicOp"/>
+        <enum value="0x1506" name="GL_XOR_NV"/>
+        <enum value="0x1507" name="GL_OR" group="LogicOp"/>
+        <enum value="0x1508" name="GL_NOR" group="LogicOp"/>
+        <enum value="0x1509" name="GL_EQUIV" group="LogicOp"/>
+        <enum value="0x150A" name="GL_INVERT" group="PathFillMode,LogicOp,StencilOp"/>
+        <enum value="0x150B" name="GL_OR_REVERSE" group="LogicOp"/>
+        <enum value="0x150C" name="GL_COPY_INVERTED" group="LogicOp"/>
+        <enum value="0x150D" name="GL_OR_INVERTED" group="LogicOp"/>
+        <enum value="0x150E" name="GL_NAND" group="LogicOp"/>
+        <enum value="0x150F" name="GL_SET" group="LogicOp"/>
+            <unused start="0x1510" end="0x15FF" comment="Unused for LogicOp"/>
+        <enum value="0x1600" name="GL_EMISSION" group="MaterialParameter,ColorMaterialParameter"/>
+        <enum value="0x1601" name="GL_SHININESS" group="MaterialParameter"/>
+        <enum value="0x1602" name="GL_AMBIENT_AND_DIFFUSE" group="MaterialParameter,ColorMaterialParameter"/>
+        <enum value="0x1603" name="GL_COLOR_INDEXES" group="MaterialParameter"/>
+            <unused start="0x1604" end="0x16FF" comment="Unused for MaterialParameter"/>
+        <enum value="0x1700" name="GL_MODELVIEW" group="MatrixMode"/>
+        <enum value="0x1700" name="GL_MODELVIEW0_ARB"/>
+        <enum value="0x1700" name="GL_MODELVIEW0_EXT" group="MatrixMode"/>
+        <enum value="0x1700" name="GL_PATH_MODELVIEW_NV"/>
+        <enum value="0x1701" name="GL_PROJECTION" group="MatrixMode"/>
+        <enum value="0x1701" name="GL_PATH_PROJECTION_NV"/>
+        <enum value="0x1702" name="GL_TEXTURE" group="ObjectIdentifier,MatrixMode"/>
+            <unused start="0x1703" end="0x17FF" comment="Unused for MatrixMode"/>
+        <enum value="0x1800" name="GL_COLOR" group="Buffer,PixelCopyType,InvalidateFramebufferAttachment"/>
+        <enum value="0x1800" name="GL_COLOR_EXT" group="PixelCopyType"/>
+        <enum value="0x1801" name="GL_DEPTH" group="Buffer,PixelCopyType,InvalidateFramebufferAttachment"/>
+        <enum value="0x1801" name="GL_DEPTH_EXT" group="PixelCopyType"/>
+        <enum value="0x1802" name="GL_STENCIL" group="Buffer,PixelCopyType,InvalidateFramebufferAttachment"/>
+        <enum value="0x1802" name="GL_STENCIL_EXT" group="PixelCopyType"/>
+            <unused start="0x1803" end="0x18FF" comment="Unused for PixelCopyType"/>
+        <enum value="0x1900" name="GL_COLOR_INDEX" group="PixelFormat"/>
+        <enum value="0x1901" name="GL_STENCIL_INDEX" group="InternalFormat,PixelFormat"/>
+        <enum value="0x1901" name="GL_STENCIL_INDEX_OES" group="InternalFormat"/>
+        <enum value="0x1902" name="GL_DEPTH_COMPONENT" group="InternalFormat,PixelFormat"/>
+        <enum value="0x1903" name="GL_RED" group="TextureSwizzle,PixelFormat,InternalFormat"/>
+        <enum value="0x1903" name="GL_RED_EXT" group="InternalFormat,PixelFormat"/>
+        <enum value="0x1903" name="GL_RED_NV"/>
+        <enum value="0x1904" name="GL_GREEN" group="TextureSwizzle,PixelFormat"/>
+        <enum value="0x1904" name="GL_GREEN_NV"/>
+        <enum value="0x1905" name="GL_BLUE" group="TextureSwizzle,CombinerComponentUsageNV,PixelFormat"/>
+        <enum value="0x1905" name="GL_BLUE_NV"/>
+        <enum value="0x1906" name="GL_ALPHA" group="TextureSwizzle,CombinerPortionNV,PathColorFormat,CombinerComponentUsageNV,PixelFormat"/>
+        <enum value="0x1907" name="GL_RGB" group="PixelTexGenMode,CombinerPortionNV,PathColorFormat,CombinerComponentUsageNV,PixelFormat,InternalFormat"/>
+        <enum value="0x1908" name="GL_RGBA" group="PixelTexGenMode,PathColorFormat,PixelFormat,InternalFormat"/>
+        <enum value="0x1909" name="GL_LUMINANCE" group="PixelTexGenMode,PathColorFormat,PixelFormat"/>
+        <enum value="0x190A" name="GL_LUMINANCE_ALPHA" group="PixelTexGenMode,PathColorFormat,PixelFormat"/>
+            <unused start="0x1910" end="0x19FF" comment="Unused for PixelFormat"/>
+        <enum value="0x1A00" name="GL_BITMAP" group="PixelType"/>
+            <unused start="0x1A01" end="0x1AFF" comment="Unused for PixelType"/>
+        <enum value="0x1B00" name="GL_POINT" group="PolygonMode,MeshMode1,MeshMode2"/>
+        <enum value="0x1B00" name="GL_POINT_NV"/>
+        <enum value="0x1B01" name="GL_LINE" group="PolygonMode,MeshMode1,MeshMode2"/>
+        <enum value="0x1B01" name="GL_LINE_NV"/>
+        <enum value="0x1B02" name="GL_FILL" group="PolygonMode,MeshMode2"/>
+        <enum value="0x1B02" name="GL_FILL_NV" group="EvalMapsModeNV"/>
+            <unused start="0x1B03" end="0x1BFF" comment="Unused for PolygonMode"/>
+        <enum value="0x1C00" name="GL_RENDER" group="RenderingMode"/>
+        <enum value="0x1C01" name="GL_FEEDBACK" group="RenderingMode"/>
+        <enum value="0x1C02" name="GL_SELECT" group="RenderingMode"/>
+            <unused start="0x1C03" end="0x1CFF" comment="Unused for RenderingMode"/>
+        <enum value="0x1D00" name="GL_FLAT" group="ShadingModel"/>
+        <enum value="0x1D01" name="GL_SMOOTH" group="ShadingModel"/>
+            <unused start="0x1D02" end="0x1DFF" comment="Unused for ShadingModel"/>
+        <enum value="0x1E00" name="GL_KEEP" group="StencilOp"/>
+        <enum value="0x1E01" name="GL_REPLACE" group="StencilOp,LightEnvModeSGIX"/>
+        <enum value="0x1E02" name="GL_INCR" group="StencilOp"/>
+        <enum value="0x1E03" name="GL_DECR" group="StencilOp"/>
+            <unused start="0x1E04" end="0x1EFF" comment="Unused for StencilOp"/>
+        <enum value="0x1F00" name="GL_VENDOR" group="StringName"/>
+        <enum value="0x1F01" name="GL_RENDERER" group="StringName"/>
+        <enum value="0x1F02" name="GL_VERSION" group="StringName"/>
+        <enum value="0x1F03" name="GL_EXTENSIONS" group="StringName"/>
+            <unused start="0x1F04" end="0x1FFF" comment="Unused for StringName"/>
+        <enum value="0x2000" name="GL_S" group="TextureCoordName"/>
+        <enum value="0x2001" name="GL_T" group="TextureCoordName"/>
+        <enum value="0x2002" name="GL_R" group="TextureCoordName"/>
+        <enum value="0x2003" name="GL_Q" group="TextureCoordName"/>
+            <unused start="0x2004" end="0x20FF" comment="Unused for TextureCoordName"/>
+        <enum value="0x2100" name="GL_MODULATE" group="TextureEnvMode,LightEnvModeSGIX"/>
+        <enum value="0x2101" name="GL_DECAL" group="TextureEnvMode"/>
+            <unused start="0x2102" end="0x21FF" comment="Unused for TextureEnvMode"/>
+        <enum value="0x2200" name="GL_TEXTURE_ENV_MODE" group="TextureEnvParameter"/>
+        <enum value="0x2201" name="GL_TEXTURE_ENV_COLOR" group="TextureEnvParameter"/>
+            <unused start="0x2202" end="0x22FF" comment="Unused for TextureEnvParameter"/>
+        <enum value="0x2300" name="GL_TEXTURE_ENV" group="TextureEnvTarget"/>
+            <unused start="0x2301" end="0x23FF" comment="Unused for TextureEnvTarget"/>
+        <enum value="0x2400" name="GL_EYE_LINEAR" group="PathGenMode,TextureGenMode"/>
+        <enum value="0x2400" name="GL_EYE_LINEAR_NV"/>
+        <enum value="0x2401" name="GL_OBJECT_LINEAR" group="PathGenMode,TextureGenMode"/>
+        <enum value="0x2401" name="GL_OBJECT_LINEAR_NV"/>
+        <enum value="0x2402" name="GL_SPHERE_MAP" group="TextureGenMode"/>
+            <unused start="0x2403" end="0x24FF" comment="Unused for TextureGenMode"/>
+        <enum value="0x2500" name="GL_TEXTURE_GEN_MODE" group="TextureGenParameter"/>
+        <enum value="0x2500" name="GL_TEXTURE_GEN_MODE_OES"/>
+        <enum value="0x2501" name="GL_OBJECT_PLANE" group="TextureGenParameter"/>
+        <enum value="0x2502" name="GL_EYE_PLANE" group="TextureGenParameter"/>
+            <unused start="0x2503" end="0x25FF" comment="Unused for TextureGenParameter"/>
+        <enum value="0x2600" name="GL_NEAREST" group="BlitFramebufferFilter,TextureMagFilter,TextureMinFilter"/>
+        <enum value="0x2601" name="GL_LINEAR" group="BlitFramebufferFilter,FogMode,TextureMagFilter,TextureMinFilter"/>
+            <unused start="0x2602" end="0x26FF" comment="Unused for TextureMagFilter"/>
+        <enum value="0x2700" name="GL_NEAREST_MIPMAP_NEAREST" group="TextureMinFilter"/>
+        <enum value="0x2701" name="GL_LINEAR_MIPMAP_NEAREST" group="TextureMinFilter"/>
+        <enum value="0x2702" name="GL_NEAREST_MIPMAP_LINEAR" group="TextureMinFilter"/>
+        <enum value="0x2703" name="GL_LINEAR_MIPMAP_LINEAR" group="TextureWrapMode,TextureMinFilter"/>
+            <unused start="0x2704" end="0x27FF" comment="Unused for TextureMinFilter"/>
+        <enum value="0x2800" name="GL_TEXTURE_MAG_FILTER" group="SamplerParameterI,GetTextureParameter,TextureParameterName"/>
+        <enum value="0x2801" name="GL_TEXTURE_MIN_FILTER" group="SamplerParameterI,GetTextureParameter,TextureParameterName"/>
+        <enum value="0x2802" name="GL_TEXTURE_WRAP_S" group="SamplerParameterI,GetTextureParameter,TextureParameterName"/>
+        <enum value="0x2803" name="GL_TEXTURE_WRAP_T" group="SamplerParameterI,GetTextureParameter,TextureParameterName"/>
+            <unused start="0x2804" end="0x28FF" comment="Unused for TextureParameterName"/>
+        <enum value="0x2900" name="GL_CLAMP" group="TextureWrapMode"/>
+        <enum value="0x2901" name="GL_REPEAT" group="TextureWrapMode"/>
+            <unused start="0x2902" end="0x29FF" comment="Unused for TextureWrapMode"/>
+        <enum value="0x2A00" name="GL_POLYGON_OFFSET_UNITS" group="GetPName"/>
+        <enum value="0x2A01" name="GL_POLYGON_OFFSET_POINT" group="GetPName,EnableCap"/>
+        <enum value="0x2A01" name="GL_POLYGON_OFFSET_POINT_NV"/>
+        <enum value="0x2A02" name="GL_POLYGON_OFFSET_LINE" group="GetPName,EnableCap"/>
+        <enum value="0x2A02" name="GL_POLYGON_OFFSET_LINE_NV"/>
+            <unused start="0x2A03" end="0x2A09" comment="Unused for PolygonOffset"/>
+        <enum value="0x2A10" name="GL_R3_G3_B2" group="InternalFormat"/>
+            <unused start="0x2A11" end="0x2A1F" comment="Unused for InternalFormat"/>
+        <enum value="0x2A20" name="GL_V2F" group="InterleavedArrayFormat"/>
+        <enum value="0x2A21" name="GL_V3F" group="InterleavedArrayFormat"/>
+        <enum value="0x2A22" name="GL_C4UB_V2F" group="InterleavedArrayFormat"/>
+        <enum value="0x2A23" name="GL_C4UB_V3F" group="InterleavedArrayFormat"/>
+        <enum value="0x2A24" name="GL_C3F_V3F" group="InterleavedArrayFormat"/>
+        <enum value="0x2A25" name="GL_N3F_V3F" group="InterleavedArrayFormat"/>
+        <enum value="0x2A26" name="GL_C4F_N3F_V3F" group="InterleavedArrayFormat"/>
+        <enum value="0x2A27" name="GL_T2F_V3F" group="InterleavedArrayFormat"/>
+        <enum value="0x2A28" name="GL_T4F_V4F" group="InterleavedArrayFormat"/>
+        <enum value="0x2A29" name="GL_T2F_C4UB_V3F" group="InterleavedArrayFormat"/>
+        <enum value="0x2A2A" name="GL_T2F_C3F_V3F" group="InterleavedArrayFormat"/>
+        <enum value="0x2A2B" name="GL_T2F_N3F_V3F" group="InterleavedArrayFormat"/>
+        <enum value="0x2A2C" name="GL_T2F_C4F_N3F_V3F" group="InterleavedArrayFormat"/>
+        <enum value="0x2A2D" name="GL_T4F_C4F_N3F_V4F" group="InterleavedArrayFormat"/>
+            <unused start="0x2A2E" end="0x2FFF" comment="Unused for InterleavedArrayFormat"/>
+        <enum value="0x3000" name="GL_CLIP_PLANE0" group="GetPName,ClipPlaneName,EnableCap"/>
+        <enum value="0x3000" name="GL_CLIP_PLANE0_IMG"/>
+        <enum value="0x3000" name="GL_CLIP_DISTANCE0" alias="GL_CLIP_PLANE0" group="EnableCap,ClipPlaneName"/>
+        <enum value="0x3000" name="GL_CLIP_DISTANCE0_EXT" alias="GL_CLIP_PLANE0"/>
+        <enum value="0x3000" name="GL_CLIP_DISTANCE0_APPLE"/>
+        <enum value="0x3001" name="GL_CLIP_PLANE1" group="GetPName,ClipPlaneName,EnableCap"/>
+        <enum value="0x3001" name="GL_CLIP_PLANE1_IMG"/>
+        <enum value="0x3001" name="GL_CLIP_DISTANCE1" alias="GL_CLIP_PLANE1" group="EnableCap,ClipPlaneName"/>
+        <enum value="0x3001" name="GL_CLIP_DISTANCE1_EXT" alias="GL_CLIP_PLANE1"/>
+        <enum value="0x3001" name="GL_CLIP_DISTANCE1_APPLE"/>
+        <enum value="0x3002" name="GL_CLIP_PLANE2" group="GetPName,ClipPlaneName,EnableCap"/>
+        <enum value="0x3002" name="GL_CLIP_PLANE2_IMG"/>
+        <enum value="0x3002" name="GL_CLIP_DISTANCE2" alias="GL_CLIP_PLANE2" group="EnableCap,ClipPlaneName"/>
+        <enum value="0x3002" name="GL_CLIP_DISTANCE2_EXT" alias="GL_CLIP_PLANE2"/>
+        <enum value="0x3002" name="GL_CLIP_DISTANCE2_APPLE"/>
+        <enum value="0x3003" name="GL_CLIP_PLANE3" group="GetPName,ClipPlaneName,EnableCap"/>
+        <enum value="0x3003" name="GL_CLIP_PLANE3_IMG"/>
+        <enum value="0x3003" name="GL_CLIP_DISTANCE3" alias="GL_CLIP_PLANE3" group="EnableCap,ClipPlaneName"/>
+        <enum value="0x3003" name="GL_CLIP_DISTANCE3_EXT" alias="GL_CLIP_PLANE3"/>
+        <enum value="0x3003" name="GL_CLIP_DISTANCE3_APPLE"/>
+        <enum value="0x3004" name="GL_CLIP_PLANE4" group="GetPName,ClipPlaneName,EnableCap"/>
+        <enum value="0x3004" name="GL_CLIP_PLANE4_IMG"/>
+        <enum value="0x3004" name="GL_CLIP_DISTANCE4" alias="GL_CLIP_PLANE4" group="EnableCap,ClipPlaneName"/>
+        <enum value="0x3004" name="GL_CLIP_DISTANCE4_EXT" alias="GL_CLIP_PLANE4"/>
+        <enum value="0x3004" name="GL_CLIP_DISTANCE4_APPLE"/>
+        <enum value="0x3005" name="GL_CLIP_PLANE5" group="GetPName,ClipPlaneName,EnableCap"/>
+        <enum value="0x3005" name="GL_CLIP_PLANE5_IMG"/>
+        <enum value="0x3005" name="GL_CLIP_DISTANCE5" alias="GL_CLIP_PLANE5" group="EnableCap,ClipPlaneName"/>
+        <enum value="0x3005" name="GL_CLIP_DISTANCE5_EXT" alias="GL_CLIP_PLANE5"/>
+        <enum value="0x3005" name="GL_CLIP_DISTANCE5_APPLE"/>
+        <enum value="0x3006" name="GL_CLIP_DISTANCE6" group="EnableCap,ClipPlaneName"/>
+        <enum value="0x3006" name="GL_CLIP_DISTANCE6_EXT" alias="GL_CLIP_DISTANCE6"/>
+        <enum value="0x3006" name="GL_CLIP_DISTANCE6_APPLE"/>
+        <enum value="0x3007" name="GL_CLIP_DISTANCE7" group="EnableCap,ClipPlaneName"/>
+        <enum value="0x3007" name="GL_CLIP_DISTANCE7_EXT" alias="GL_CLIP_DISTANCE7"/>
+        <enum value="0x3007" name="GL_CLIP_DISTANCE7_APPLE"/>
+            <unused start="0x3008" end="0x3FFF" comment="Unused for ClipPlaneName"/>
+        <enum value="0x4000" name="GL_LIGHT0" group="LightName,EnableCap,GetPName"/>
+        <enum value="0x4001" name="GL_LIGHT1" group="LightName,EnableCap,GetPName"/>
+        <enum value="0x4002" name="GL_LIGHT2" group="LightName,EnableCap,GetPName"/>
+        <enum value="0x4003" name="GL_LIGHT3" group="LightName,EnableCap,GetPName"/>
+        <enum value="0x4004" name="GL_LIGHT4" group="LightName,EnableCap,GetPName"/>
+        <enum value="0x4005" name="GL_LIGHT5" group="LightName,EnableCap,GetPName"/>
+        <enum value="0x4006" name="GL_LIGHT6" group="LightName,EnableCap,GetPName"/>
+        <enum value="0x4007" name="GL_LIGHT7" group="LightName,EnableCap,GetPName"/>
+            <unused start="0x4008" end="0x4FFF" comment="Unused for LightName"/>
+            <unused start="0x5000" end="0x5FFF" comment="Unused. Do not use."/>
+            <unused start="0x6000" end="0x6FFF" comment="Experimental (internal/test only) range. DO NOT SHIP VALUES IN THIS RANGE."/>
+            <unused start="0x7000" end="0x7FFF" comment="Unused. Do not use."/>
     </enums>
 
-    <enums namespace="GL" start="0x9140" end="0x923F" vendor="AMD" comment="Khronos bugs 5899, 6004">
-            <unused start="0x9140" end="0x9142"/>
-        <enum value="0x9143" name="GL_MAX_DEBUG_MESSAGE_LENGTH"/>
-        <enum value="0x9143" name="GL_MAX_DEBUG_MESSAGE_LENGTH_AMD"/>
-        <enum value="0x9143" name="GL_MAX_DEBUG_MESSAGE_LENGTH_ARB"/>
-        <enum value="0x9143" name="GL_MAX_DEBUG_MESSAGE_LENGTH_KHR"/>
-        <enum value="0x9144" name="GL_MAX_DEBUG_LOGGED_MESSAGES"/>
-        <enum value="0x9144" name="GL_MAX_DEBUG_LOGGED_MESSAGES_AMD"/>
-        <enum value="0x9144" name="GL_MAX_DEBUG_LOGGED_MESSAGES_ARB"/>
-        <enum value="0x9144" name="GL_MAX_DEBUG_LOGGED_MESSAGES_KHR"/>
-        <enum value="0x9145" name="GL_DEBUG_LOGGED_MESSAGES"/>
-        <enum value="0x9145" name="GL_DEBUG_LOGGED_MESSAGES_AMD"/>
-        <enum value="0x9145" name="GL_DEBUG_LOGGED_MESSAGES_ARB"/>
-        <enum value="0x9145" name="GL_DEBUG_LOGGED_MESSAGES_KHR"/>
-        <enum value="0x9146" name="GL_DEBUG_SEVERITY_HIGH"/>
-        <enum value="0x9146" name="GL_DEBUG_SEVERITY_HIGH_AMD"/>
-        <enum value="0x9146" name="GL_DEBUG_SEVERITY_HIGH_ARB"/>
-        <enum value="0x9146" name="GL_DEBUG_SEVERITY_HIGH_KHR"/>
-        <enum value="0x9147" name="GL_DEBUG_SEVERITY_MEDIUM"/>
-        <enum value="0x9147" name="GL_DEBUG_SEVERITY_MEDIUM_AMD"/>
-        <enum value="0x9147" name="GL_DEBUG_SEVERITY_MEDIUM_ARB"/>
-        <enum value="0x9147" name="GL_DEBUG_SEVERITY_MEDIUM_KHR"/>
-        <enum value="0x9148" name="GL_DEBUG_SEVERITY_LOW"/>
-        <enum value="0x9148" name="GL_DEBUG_SEVERITY_LOW_AMD"/>
-        <enum value="0x9148" name="GL_DEBUG_SEVERITY_LOW_ARB"/>
-        <enum value="0x9148" name="GL_DEBUG_SEVERITY_LOW_KHR"/>
-        <enum value="0x9149" name="GL_DEBUG_CATEGORY_API_ERROR_AMD"/>
-        <enum value="0x914A" name="GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD"/>
-        <enum value="0x914B" name="GL_DEBUG_CATEGORY_DEPRECATION_AMD"/>
-        <enum value="0x914C" name="GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD"/>
-        <enum value="0x914D" name="GL_DEBUG_CATEGORY_PERFORMANCE_AMD"/>
-        <enum value="0x914E" name="GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD"/>
-        <enum value="0x914F" name="GL_DEBUG_CATEGORY_APPLICATION_AMD"/>
-        <enum value="0x9150" name="GL_DEBUG_CATEGORY_OTHER_AMD"/>
-        <enum value="0x9151" name="GL_BUFFER_OBJECT_EXT"/>
-        <enum value="0x9151" name="GL_DATA_BUFFER_AMD"/>
-        <enum value="0x9152" name="GL_PERFORMANCE_MONITOR_AMD"/>
-        <enum value="0x9153" name="GL_QUERY_OBJECT_AMD"/>
-        <enum value="0x9153" name="GL_QUERY_OBJECT_EXT"/>
-        <enum value="0x9154" name="GL_VERTEX_ARRAY_OBJECT_AMD"/>
-        <enum value="0x9154" name="GL_VERTEX_ARRAY_OBJECT_EXT"/>
-        <enum value="0x9155" name="GL_SAMPLER_OBJECT_AMD"/>
-            <unused start="0x9156" end="0x915F"/>
-        <enum value="0x9160" name="GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD"/>
-            <unused start="0x9161"/>
-        <enum value="0x9192" name="GL_QUERY_BUFFER"/>
-        <enum value="0x9192" name="GL_QUERY_BUFFER_AMD"/>
-        <enum value="0x9193" name="GL_QUERY_BUFFER_BINDING"/>
-        <enum value="0x9193" name="GL_QUERY_BUFFER_BINDING_AMD"/>
-        <enum value="0x9194" name="GL_QUERY_RESULT_NO_WAIT"/>
-        <enum value="0x9194" name="GL_QUERY_RESULT_NO_WAIT_AMD"/>
-        <enum value="0x9195" name="GL_VIRTUAL_PAGE_SIZE_X_ARB"/>
-        <enum value="0x9195" name="GL_VIRTUAL_PAGE_SIZE_X_AMD"/>
-        <enum value="0x9196" name="GL_VIRTUAL_PAGE_SIZE_Y_ARB"/>
-        <enum value="0x9196" name="GL_VIRTUAL_PAGE_SIZE_Y_AMD"/>
-        <enum value="0x9197" name="GL_VIRTUAL_PAGE_SIZE_Z_ARB"/>
-        <enum value="0x9197" name="GL_VIRTUAL_PAGE_SIZE_Z_AMD"/>
-        <enum value="0x9198" name="GL_MAX_SPARSE_TEXTURE_SIZE_ARB"/>
-        <enum value="0x9198" name="GL_MAX_SPARSE_TEXTURE_SIZE_AMD"/>
-        <enum value="0x9199" name="GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB"/>
-        <enum value="0x9199" name="GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD"/>
-        <enum value="0x919A" name="GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB"/>
-        <enum value="0x919A" name="GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS"/>
-        <enum value="0x919B" name="GL_MIN_SPARSE_LEVEL_ARB"/>
-        <enum value="0x919B" name="GL_MIN_SPARSE_LEVEL_AMD"/>
-        <enum value="0x919C" name="GL_MIN_LOD_WARNING_AMD"/>
-        <enum value="0x919D" name="GL_TEXTURE_BUFFER_OFFSET"/>
-        <enum value="0x919E" name="GL_TEXTURE_BUFFER_SIZE"/>
-        <enum value="0x919F" name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT"/>
-            <unused start="0x91A0" end="0x91A3"/>
-        <enum value="0x91A4" name="GL_VERTEX_ELEMENT_SWIZZLE_AMD"/>
-        <enum value="0x91A5" name="GL_VERTEX_ID_SWIZZLE_AMD"/>
-        <enum value="0x91A6" name="GL_TEXTURE_SPARSE_ARB"/>
-        <enum value="0x91A7" name="GL_VIRTUAL_PAGE_SIZE_INDEX_ARB"/>
-        <enum value="0x91A8" name="GL_NUM_VIRTUAL_PAGE_SIZES_ARB"/>
-        <enum value="0x91A9" name="GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB"/>
-            <unused start="0x91AA" end="0x91B8"/>
-        <enum value="0x91B9" name="GL_COMPUTE_SHADER"/>
-            <unused start="0x91BA"/>
-        <enum value="0x91BB" name="GL_MAX_COMPUTE_UNIFORM_BLOCKS"/>
-        <enum value="0x91BC" name="GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS"/>
-        <enum value="0x91BD" name="GL_MAX_COMPUTE_IMAGE_UNIFORMS"/>
-        <enum value="0x91BE" name="GL_MAX_COMPUTE_WORK_GROUP_COUNT"/>
-        <enum value="0x91BF" name="GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB" alias="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
-        <enum value="0x91BF" name="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
-            <unused start="0x91C0" end="0x923F"/>
+    <enums namespace="GL" start="0x8000" end="0x80BF" vendor="ARB" comment="The primary GL enumerant space begins here. All modern enum allocations are in this range. These enums are mostly assigned the default class since it's a great deal of not very useful work to be more specific">
+        <enum value="0x8000" name="GL_ABGR_EXT" group="PixelFormat"/>
+        <enum value="0x8001" name="GL_CONSTANT_COLOR" group="BlendingFactor"/>
+        <enum value="0x8001" name="GL_CONSTANT_COLOR_EXT"/>
+        <enum value="0x8002" name="GL_ONE_MINUS_CONSTANT_COLOR" group="BlendingFactor"/>
+        <enum value="0x8002" name="GL_ONE_MINUS_CONSTANT_COLOR_EXT"/>
+        <enum value="0x8003" name="GL_CONSTANT_ALPHA" group="BlendingFactor"/>
+        <enum value="0x8003" name="GL_CONSTANT_ALPHA_EXT"/>
+        <enum value="0x8004" name="GL_ONE_MINUS_CONSTANT_ALPHA" group="BlendingFactor"/>
+        <enum value="0x8004" name="GL_ONE_MINUS_CONSTANT_ALPHA_EXT"/>
+        <enum value="0x8005" name="GL_BLEND_COLOR" group="GetPName"/>
+        <enum value="0x8005" name="GL_BLEND_COLOR_EXT" group="GetPName"/>
+        <enum value="0x8006" name="GL_FUNC_ADD" group="BlendEquationModeEXT"/>
+        <enum value="0x8006" name="GL_FUNC_ADD_EXT" group="BlendEquationModeEXT"/>
+        <enum value="0x8006" name="GL_FUNC_ADD_OES"/>
+        <enum value="0x8007" name="GL_MIN" group="BlendEquationModeEXT"/>
+        <enum value="0x8007" name="GL_MIN_EXT" group="BlendEquationModeEXT"/>
+        <enum value="0x8008" name="GL_MAX" group="BlendEquationModeEXT"/>
+        <enum value="0x8008" name="GL_MAX_EXT" group="BlendEquationModeEXT"/>
+        <enum value="0x8009" name="GL_BLEND_EQUATION"/>
+        <enum value="0x8009" name="GL_BLEND_EQUATION_EXT" group="GetPName"/>
+        <enum value="0x8009" name="GL_BLEND_EQUATION_OES"/>
+        <enum value="0x8009" name="GL_BLEND_EQUATION_RGB" group="GetPName"/>
+        <enum value="0x8009" name="GL_BLEND_EQUATION_RGB_EXT"/>
+        <enum value="0x8009" name="GL_BLEND_EQUATION_RGB_OES"/>
+        <enum value="0x800A" name="GL_FUNC_SUBTRACT" group="BlendEquationModeEXT"/>
+        <enum value="0x800A" name="GL_FUNC_SUBTRACT_EXT" group="BlendEquationModeEXT"/>
+        <enum value="0x800A" name="GL_FUNC_SUBTRACT_OES"/>
+        <enum value="0x800B" name="GL_FUNC_REVERSE_SUBTRACT" group="BlendEquationModeEXT"/>
+        <enum value="0x800B" name="GL_FUNC_REVERSE_SUBTRACT_EXT" group="BlendEquationModeEXT"/>
+        <enum value="0x800B" name="GL_FUNC_REVERSE_SUBTRACT_OES"/>
+        <enum value="0x800C" name="GL_CMYK_EXT" group="PixelFormat"/>
+        <enum value="0x800D" name="GL_CMYKA_EXT" group="PixelFormat"/>
+        <enum value="0x800E" name="GL_PACK_CMYK_HINT_EXT" group="HintTarget,GetPName"/>
+        <enum value="0x800F" name="GL_UNPACK_CMYK_HINT_EXT" group="HintTarget,GetPName"/>
+        <enum value="0x8010" name="GL_CONVOLUTION_1D" group="ConvolutionTarget,ConvolutionTargetEXT"/>
+        <enum value="0x8010" name="GL_CONVOLUTION_1D_EXT" group="GetPName,ConvolutionTargetEXT,EnableCap"/>
+        <enum value="0x8011" name="GL_CONVOLUTION_2D" group="ConvolutionTarget,ConvolutionTargetEXT"/>
+        <enum value="0x8011" name="GL_CONVOLUTION_2D_EXT" group="GetPName,ConvolutionTargetEXT,EnableCap"/>
+        <enum value="0x8012" name="GL_SEPARABLE_2D" group="SeparableTarget,SeparableTargetEXT"/>
+        <enum value="0x8012" name="GL_SEPARABLE_2D_EXT" group="SeparableTargetEXT,EnableCap,GetPName"/>
+        <enum value="0x8013" name="GL_CONVOLUTION_BORDER_MODE" group="GetConvolutionParameter,ConvolutionParameterEXT"/>
+        <enum value="0x8013" name="GL_CONVOLUTION_BORDER_MODE_EXT" group="GetConvolutionParameter,ConvolutionParameterEXT"/>
+        <enum value="0x8014" name="GL_CONVOLUTION_FILTER_SCALE" group="GetConvolutionParameter,ConvolutionParameterEXT"/>
+        <enum value="0x8014" name="GL_CONVOLUTION_FILTER_SCALE_EXT" group="GetConvolutionParameter,ConvolutionParameterEXT"/>
+        <enum value="0x8015" name="GL_CONVOLUTION_FILTER_BIAS" group="GetConvolutionParameter,ConvolutionParameterEXT"/>
+        <enum value="0x8015" name="GL_CONVOLUTION_FILTER_BIAS_EXT" group="GetConvolutionParameter,ConvolutionParameterEXT"/>
+        <enum value="0x8016" name="GL_REDUCE" group="ConvolutionBorderModeEXT"/>
+        <enum value="0x8016" name="GL_REDUCE_EXT" group="ConvolutionBorderModeEXT"/>
+        <enum value="0x8017" name="GL_CONVOLUTION_FORMAT" group="GetConvolutionParameter"/>
+        <enum value="0x8017" name="GL_CONVOLUTION_FORMAT_EXT" group="GetConvolutionParameter"/>
+        <enum value="0x8018" name="GL_CONVOLUTION_WIDTH" group="GetConvolutionParameter"/>
+        <enum value="0x8018" name="GL_CONVOLUTION_WIDTH_EXT" group="GetConvolutionParameter"/>
+        <enum value="0x8019" name="GL_CONVOLUTION_HEIGHT" group="GetConvolutionParameter"/>
+        <enum value="0x8019" name="GL_CONVOLUTION_HEIGHT_EXT" group="GetConvolutionParameter"/>
+        <enum value="0x801A" name="GL_MAX_CONVOLUTION_WIDTH" group="GetConvolutionParameter"/>
+        <enum value="0x801A" name="GL_MAX_CONVOLUTION_WIDTH_EXT" group="GetConvolutionParameter"/>
+        <enum value="0x801B" name="GL_MAX_CONVOLUTION_HEIGHT" group="GetConvolutionParameter"/>
+        <enum value="0x801B" name="GL_MAX_CONVOLUTION_HEIGHT_EXT" group="GetConvolutionParameter"/>
+        <enum value="0x801C" name="GL_POST_CONVOLUTION_RED_SCALE" group="PixelTransferParameter"/>
+        <enum value="0x801C" name="GL_POST_CONVOLUTION_RED_SCALE_EXT" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x801D" name="GL_POST_CONVOLUTION_GREEN_SCALE" group="PixelTransferParameter"/>
+        <enum value="0x801D" name="GL_POST_CONVOLUTION_GREEN_SCALE_EXT" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x801E" name="GL_POST_CONVOLUTION_BLUE_SCALE" group="PixelTransferParameter"/>
+        <enum value="0x801E" name="GL_POST_CONVOLUTION_BLUE_SCALE_EXT" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x801F" name="GL_POST_CONVOLUTION_ALPHA_SCALE" group="PixelTransferParameter"/>
+        <enum value="0x801F" name="GL_POST_CONVOLUTION_ALPHA_SCALE_EXT" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x8020" name="GL_POST_CONVOLUTION_RED_BIAS" group="PixelTransferParameter"/>
+        <enum value="0x8020" name="GL_POST_CONVOLUTION_RED_BIAS_EXT" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x8021" name="GL_POST_CONVOLUTION_GREEN_BIAS" group="PixelTransferParameter"/>
+        <enum value="0x8021" name="GL_POST_CONVOLUTION_GREEN_BIAS_EXT" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x8022" name="GL_POST_CONVOLUTION_BLUE_BIAS" group="PixelTransferParameter"/>
+        <enum value="0x8022" name="GL_POST_CONVOLUTION_BLUE_BIAS_EXT" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x8023" name="GL_POST_CONVOLUTION_ALPHA_BIAS" group="PixelTransferParameter"/>
+        <enum value="0x8023" name="GL_POST_CONVOLUTION_ALPHA_BIAS_EXT" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x8024" name="GL_HISTOGRAM" group="HistogramTarget,HistogramTargetEXT"/>
+        <enum value="0x8024" name="GL_HISTOGRAM_EXT" group="HistogramTargetEXT,EnableCap,GetPName"/>
+        <enum value="0x8025" name="GL_PROXY_HISTOGRAM" group="HistogramTarget,HistogramTargetEXT"/>
+        <enum value="0x8025" name="GL_PROXY_HISTOGRAM_EXT" group="HistogramTargetEXT"/>
+        <enum value="0x8026" name="GL_HISTOGRAM_WIDTH" group="GetHistogramParameterPNameEXT"/>
+        <enum value="0x8026" name="GL_HISTOGRAM_WIDTH_EXT" group="GetHistogramParameterPNameEXT"/>
+        <enum value="0x8027" name="GL_HISTOGRAM_FORMAT" group="GetHistogramParameterPNameEXT"/>
+        <enum value="0x8027" name="GL_HISTOGRAM_FORMAT_EXT" group="GetHistogramParameterPNameEXT"/>
+        <enum value="0x8028" name="GL_HISTOGRAM_RED_SIZE" group="GetHistogramParameterPNameEXT"/>
+        <enum value="0x8028" name="GL_HISTOGRAM_RED_SIZE_EXT" group="GetHistogramParameterPNameEXT"/>
+        <enum value="0x8029" name="GL_HISTOGRAM_GREEN_SIZE" group="GetHistogramParameterPNameEXT"/>
+        <enum value="0x8029" name="GL_HISTOGRAM_GREEN_SIZE_EXT" group="GetHistogramParameterPNameEXT"/>
+        <enum value="0x802A" name="GL_HISTOGRAM_BLUE_SIZE" group="GetHistogramParameterPNameEXT"/>
+        <enum value="0x802A" name="GL_HISTOGRAM_BLUE_SIZE_EXT" group="GetHistogramParameterPNameEXT"/>
+        <enum value="0x802B" name="GL_HISTOGRAM_ALPHA_SIZE" group="GetHistogramParameterPNameEXT"/>
+        <enum value="0x802B" name="GL_HISTOGRAM_ALPHA_SIZE_EXT" group="GetHistogramParameterPNameEXT"/>
+        <enum value="0x802C" name="GL_HISTOGRAM_LUMINANCE_SIZE" group="GetHistogramParameterPNameEXT"/>
+        <enum value="0x802C" name="GL_HISTOGRAM_LUMINANCE_SIZE_EXT" group="GetHistogramParameterPNameEXT"/>
+        <enum value="0x802D" name="GL_HISTOGRAM_SINK" group="GetHistogramParameterPNameEXT"/>
+        <enum value="0x802D" name="GL_HISTOGRAM_SINK_EXT" group="GetHistogramParameterPNameEXT"/>
+        <enum value="0x802E" name="GL_MINMAX" group="MinmaxTarget,MinmaxTargetEXT"/>
+        <enum value="0x802E" name="GL_MINMAX_EXT" group="MinmaxTargetEXT,EnableCap,GetPName"/>
+        <enum value="0x802F" name="GL_MINMAX_FORMAT" group="GetMinmaxParameterPNameEXT"/>
+        <enum value="0x802F" name="GL_MINMAX_FORMAT_EXT" group="GetMinmaxParameterPNameEXT"/>
+        <enum value="0x8030" name="GL_MINMAX_SINK" group="GetMinmaxParameterPNameEXT"/>
+        <enum value="0x8030" name="GL_MINMAX_SINK_EXT" group="GetMinmaxParameterPNameEXT"/>
+        <enum value="0x8031" name="GL_TABLE_TOO_LARGE_EXT" group="ErrorCode"/>
+        <enum value="0x8031" name="GL_TABLE_TOO_LARGE" group="ErrorCode"/>
+        <enum value="0x8032" name="GL_UNSIGNED_BYTE_3_3_2" group="PixelType"/>
+        <enum value="0x8032" name="GL_UNSIGNED_BYTE_3_3_2_EXT" group="PixelType"/>
+        <enum value="0x8033" name="GL_UNSIGNED_SHORT_4_4_4_4" group="PixelType"/>
+        <enum value="0x8033" name="GL_UNSIGNED_SHORT_4_4_4_4_EXT" group="PixelType"/>
+        <enum value="0x8034" name="GL_UNSIGNED_SHORT_5_5_5_1" group="PixelType"/>
+        <enum value="0x8034" name="GL_UNSIGNED_SHORT_5_5_5_1_EXT" group="PixelType"/>
+        <enum value="0x8035" name="GL_UNSIGNED_INT_8_8_8_8" group="PixelType"/>
+        <enum value="0x8035" name="GL_UNSIGNED_INT_8_8_8_8_EXT" group="PixelType"/>
+        <enum value="0x8036" name="GL_UNSIGNED_INT_10_10_10_2" group="PixelType"/>
+        <enum value="0x8036" name="GL_UNSIGNED_INT_10_10_10_2_EXT" group="PixelType"/>
+        <enum value="0x8037" name="GL_POLYGON_OFFSET_EXT"/>
+        <enum value="0x8037" name="GL_POLYGON_OFFSET_FILL" group="GetPName,EnableCap"/>
+        <enum value="0x8038" name="GL_POLYGON_OFFSET_FACTOR" group="GetPName"/>
+        <enum value="0x8038" name="GL_POLYGON_OFFSET_FACTOR_EXT"/>
+        <enum value="0x8039" name="GL_POLYGON_OFFSET_BIAS_EXT" group="GetPName"/>
+        <enum value="0x803A" name="GL_RESCALE_NORMAL"/>
+        <enum value="0x803A" name="GL_RESCALE_NORMAL_EXT" group="GetPName,EnableCap"/>
+        <enum value="0x803B" name="GL_ALPHA4" group="InternalFormat"/>
+        <enum value="0x803B" name="GL_ALPHA4_EXT"/>
+        <enum value="0x803C" name="GL_ALPHA8" group="InternalFormat"/>
+        <enum value="0x803C" name="GL_ALPHA8_EXT"/>
+        <enum value="0x803C" name="GL_ALPHA8_OES"/>
+        <enum value="0x803D" name="GL_ALPHA12" group="InternalFormat"/>
+        <enum value="0x803D" name="GL_ALPHA12_EXT"/>
+        <enum value="0x803E" name="GL_ALPHA16" group="InternalFormat"/>
+        <enum value="0x803E" name="GL_ALPHA16_EXT"/>
+        <enum value="0x803F" name="GL_LUMINANCE4" group="InternalFormat"/>
+        <enum value="0x803F" name="GL_LUMINANCE4_EXT"/>
+        <enum value="0x8040" name="GL_LUMINANCE8" group="InternalFormat"/>
+        <enum value="0x8040" name="GL_LUMINANCE8_EXT"/>
+        <enum value="0x8040" name="GL_LUMINANCE8_OES"/>
+        <enum value="0x8041" name="GL_LUMINANCE12" group="InternalFormat"/>
+        <enum value="0x8041" name="GL_LUMINANCE12_EXT"/>
+        <enum value="0x8042" name="GL_LUMINANCE16" group="InternalFormat"/>
+        <enum value="0x8042" name="GL_LUMINANCE16_EXT"/>
+        <enum value="0x8043" name="GL_LUMINANCE4_ALPHA4" group="InternalFormat"/>
+        <enum value="0x8043" name="GL_LUMINANCE4_ALPHA4_EXT"/>
+        <enum value="0x8043" name="GL_LUMINANCE4_ALPHA4_OES"/>
+        <enum value="0x8044" name="GL_LUMINANCE6_ALPHA2" group="InternalFormat"/>
+        <enum value="0x8044" name="GL_LUMINANCE6_ALPHA2_EXT"/>
+        <enum value="0x8045" name="GL_LUMINANCE8_ALPHA8" group="InternalFormat"/>
+        <enum value="0x8045" name="GL_LUMINANCE8_ALPHA8_EXT"/>
+        <enum value="0x8045" name="GL_LUMINANCE8_ALPHA8_OES"/>
+        <enum value="0x8046" name="GL_LUMINANCE12_ALPHA4" group="InternalFormat"/>
+        <enum value="0x8046" name="GL_LUMINANCE12_ALPHA4_EXT"/>
+        <enum value="0x8047" name="GL_LUMINANCE12_ALPHA12" group="InternalFormat"/>
+        <enum value="0x8047" name="GL_LUMINANCE12_ALPHA12_EXT"/>
+        <enum value="0x8048" name="GL_LUMINANCE16_ALPHA16" group="InternalFormat"/>
+        <enum value="0x8048" name="GL_LUMINANCE16_ALPHA16_EXT"/>
+        <enum value="0x8049" name="GL_INTENSITY" group="InternalFormat,PathColorFormat"/>
+        <enum value="0x8049" name="GL_INTENSITY_EXT"/>
+        <enum value="0x804A" name="GL_INTENSITY4" group="InternalFormat"/>
+        <enum value="0x804A" name="GL_INTENSITY4_EXT"/>
+        <enum value="0x804B" name="GL_INTENSITY8" group="InternalFormat"/>
+        <enum value="0x804B" name="GL_INTENSITY8_EXT"/>
+        <enum value="0x804C" name="GL_INTENSITY12" group="InternalFormat"/>
+        <enum value="0x804C" name="GL_INTENSITY12_EXT"/>
+        <enum value="0x804D" name="GL_INTENSITY16" group="InternalFormat"/>
+        <enum value="0x804D" name="GL_INTENSITY16_EXT"/>
+        <enum value="0x804E" name="GL_RGB2_EXT" group="InternalFormat"/>
+        <enum value="0x804F" name="GL_RGB4" group="InternalFormat"/>
+        <enum value="0x804F" name="GL_RGB4_EXT" group="InternalFormat"/>
+        <enum value="0x8050" name="GL_RGB5" group="InternalFormat"/>
+        <enum value="0x8050" name="GL_RGB5_EXT" group="InternalFormat"/>
+        <enum value="0x8051" name="GL_RGB8" group="InternalFormat"/>
+        <enum value="0x8051" name="GL_RGB8_EXT" group="InternalFormat"/>
+        <enum value="0x8051" name="GL_RGB8_OES" group="InternalFormat"/>
+        <enum value="0x8052" name="GL_RGB10" group="InternalFormat"/>
+        <enum value="0x8052" name="GL_RGB10_EXT" group="InternalFormat"/>
+        <enum value="0x8053" name="GL_RGB12" group="InternalFormat"/>
+        <enum value="0x8053" name="GL_RGB12_EXT" group="InternalFormat"/>
+        <enum value="0x8054" name="GL_RGB16" group="InternalFormat"/>
+        <enum value="0x8054" name="GL_RGB16_EXT" group="InternalFormat"/>
+        <enum value="0x8055" name="GL_RGBA2"/>
+        <enum value="0x8055" name="GL_RGBA2_EXT"/>
+        <enum value="0x8056" name="GL_RGBA4" group="InternalFormat"/>
+        <enum value="0x8056" name="GL_RGBA4_EXT" group="InternalFormat"/>
+        <enum value="0x8056" name="GL_RGBA4_OES" group="InternalFormat"/>
+        <enum value="0x8057" name="GL_RGB5_A1" group="InternalFormat"/>
+        <enum value="0x8057" name="GL_RGB5_A1_EXT" group="InternalFormat"/>
+        <enum value="0x8057" name="GL_RGB5_A1_OES" group="InternalFormat"/>
+        <enum value="0x8058" name="GL_RGBA8" group="InternalFormat"/>
+        <enum value="0x8058" name="GL_RGBA8_EXT" group="InternalFormat"/>
+        <enum value="0x8058" name="GL_RGBA8_OES" group="InternalFormat"/>
+        <enum value="0x8059" name="GL_RGB10_A2" group="InternalFormat"/>
+        <enum value="0x8059" name="GL_RGB10_A2_EXT" group="InternalFormat"/>
+        <enum value="0x805A" name="GL_RGBA12" group="InternalFormat"/>
+        <enum value="0x805A" name="GL_RGBA12_EXT" group="InternalFormat"/>
+        <enum value="0x805B" name="GL_RGBA16" group="InternalFormat"/>
+        <enum value="0x805B" name="GL_RGBA16_EXT" group="InternalFormat"/>
+        <enum value="0x805C" name="GL_TEXTURE_RED_SIZE" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x805C" name="GL_TEXTURE_RED_SIZE_EXT"/>
+        <enum value="0x805D" name="GL_TEXTURE_GREEN_SIZE" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x805D" name="GL_TEXTURE_GREEN_SIZE_EXT"/>
+        <enum value="0x805E" name="GL_TEXTURE_BLUE_SIZE" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x805E" name="GL_TEXTURE_BLUE_SIZE_EXT"/>
+        <enum value="0x805F" name="GL_TEXTURE_ALPHA_SIZE" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x805F" name="GL_TEXTURE_ALPHA_SIZE_EXT"/>
+        <enum value="0x8060" name="GL_TEXTURE_LUMINANCE_SIZE" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8060" name="GL_TEXTURE_LUMINANCE_SIZE_EXT"/>
+        <enum value="0x8061" name="GL_TEXTURE_INTENSITY_SIZE" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8061" name="GL_TEXTURE_INTENSITY_SIZE_EXT"/>
+        <enum value="0x8062" name="GL_REPLACE_EXT" group="TextureEnvMode"/>
+        <enum value="0x8063" name="GL_PROXY_TEXTURE_1D" group="TextureTarget"/>
+        <enum value="0x8063" name="GL_PROXY_TEXTURE_1D_EXT" group="TextureTarget"/>
+        <enum value="0x8064" name="GL_PROXY_TEXTURE_2D" group="TextureTarget"/>
+        <enum value="0x8064" name="GL_PROXY_TEXTURE_2D_EXT" group="TextureTarget"/>
+        <enum value="0x8065" name="GL_TEXTURE_TOO_LARGE_EXT" group="ErrorCode"/>
+        <enum value="0x8066" name="GL_TEXTURE_PRIORITY" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8066" name="GL_TEXTURE_PRIORITY_EXT" group="TextureParameterName"/>
+        <enum value="0x8067" name="GL_TEXTURE_RESIDENT" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8067" name="GL_TEXTURE_RESIDENT_EXT"/>
+        <enum value="0x8068" name="GL_TEXTURE_1D_BINDING_EXT"/>
+        <enum value="0x8068" name="GL_TEXTURE_BINDING_1D" group="GetPName"/>
+        <enum value="0x8069" name="GL_TEXTURE_2D_BINDING_EXT"/>
+        <enum value="0x8069" name="GL_TEXTURE_BINDING_2D" group="GetPName"/>
+        <enum value="0x806A" name="GL_TEXTURE_3D_BINDING_EXT" group="GetPName"/>
+        <enum value="0x806A" name="GL_TEXTURE_3D_BINDING_OES"/>
+        <enum value="0x806A" name="GL_TEXTURE_BINDING_3D" group="GetPName"/>
+        <enum value="0x806A" name="GL_TEXTURE_BINDING_3D_OES"/>
+        <enum value="0x806B" name="GL_PACK_SKIP_IMAGES" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x806B" name="GL_PACK_SKIP_IMAGES_EXT" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x806C" name="GL_PACK_IMAGE_HEIGHT" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x806C" name="GL_PACK_IMAGE_HEIGHT_EXT" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x806D" name="GL_UNPACK_SKIP_IMAGES" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x806D" name="GL_UNPACK_SKIP_IMAGES_EXT" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x806E" name="GL_UNPACK_IMAGE_HEIGHT" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x806E" name="GL_UNPACK_IMAGE_HEIGHT_EXT" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x806F" name="GL_TEXTURE_3D" group="CopyImageSubDataTarget,TextureTarget"/>
+        <enum value="0x806F" name="GL_TEXTURE_3D_EXT" group="TextureTarget,EnableCap,GetPName"/>
+        <enum value="0x806F" name="GL_TEXTURE_3D_OES" group="TextureTarget"/>
+        <enum value="0x8070" name="GL_PROXY_TEXTURE_3D" group="TextureTarget"/>
+        <enum value="0x8070" name="GL_PROXY_TEXTURE_3D_EXT" group="TextureTarget"/>
+        <enum value="0x8071" name="GL_TEXTURE_DEPTH"/>
+        <enum value="0x8071" name="GL_TEXTURE_DEPTH_EXT" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8072" name="GL_TEXTURE_WRAP_R" group="SamplerParameterI,TextureParameterName"/>
+        <enum value="0x8072" name="GL_TEXTURE_WRAP_R_EXT" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8072" name="GL_TEXTURE_WRAP_R_OES" group="TextureParameterName"/>
+        <enum value="0x8073" name="GL_MAX_3D_TEXTURE_SIZE" group="GetPName"/>
+        <enum value="0x8073" name="GL_MAX_3D_TEXTURE_SIZE_EXT" group="GetPName"/>
+        <enum value="0x8073" name="GL_MAX_3D_TEXTURE_SIZE_OES"/>
+        <enum value="0x8074" name="GL_VERTEX_ARRAY" group="ObjectIdentifier,EnableCap,GetPName"/>
+        <enum value="0x8074" name="GL_VERTEX_ARRAY_EXT"/>
+        <enum value="0x8074" name="GL_VERTEX_ARRAY_KHR"/>
+        <enum value="0x8075" name="GL_NORMAL_ARRAY" group="GetPName,EnableCap"/>
+        <enum value="0x8075" name="GL_NORMAL_ARRAY_EXT"/>
+        <enum value="0x8076" name="GL_COLOR_ARRAY" group="GetPName,EnableCap"/>
+        <enum value="0x8076" name="GL_COLOR_ARRAY_EXT"/>
+        <enum value="0x8077" name="GL_INDEX_ARRAY" group="GetPName,EnableCap"/>
+        <enum value="0x8077" name="GL_INDEX_ARRAY_EXT"/>
+        <enum value="0x8078" name="GL_TEXTURE_COORD_ARRAY" group="GetPName,EnableCap"/>
+        <enum value="0x8078" name="GL_TEXTURE_COORD_ARRAY_EXT"/>
+        <enum value="0x8079" name="GL_EDGE_FLAG_ARRAY" group="GetPName,EnableCap"/>
+        <enum value="0x8079" name="GL_EDGE_FLAG_ARRAY_EXT"/>
+        <enum value="0x807A" name="GL_VERTEX_ARRAY_SIZE" group="GetPName"/>
+        <enum value="0x807A" name="GL_VERTEX_ARRAY_SIZE_EXT"/>
+        <enum value="0x807B" name="GL_VERTEX_ARRAY_TYPE" group="GetPName"/>
+        <enum value="0x807B" name="GL_VERTEX_ARRAY_TYPE_EXT"/>
+        <enum value="0x807C" name="GL_VERTEX_ARRAY_STRIDE" group="GetPName"/>
+        <enum value="0x807C" name="GL_VERTEX_ARRAY_STRIDE_EXT"/>
+        <enum value="0x807D" name="GL_VERTEX_ARRAY_COUNT_EXT" group="GetPName"/>
+        <enum value="0x807E" name="GL_NORMAL_ARRAY_TYPE" group="GetPName"/>
+        <enum value="0x807E" name="GL_NORMAL_ARRAY_TYPE_EXT"/>
+        <enum value="0x807F" name="GL_NORMAL_ARRAY_STRIDE" group="GetPName"/>
+        <enum value="0x807F" name="GL_NORMAL_ARRAY_STRIDE_EXT"/>
+        <enum value="0x8080" name="GL_NORMAL_ARRAY_COUNT_EXT" group="GetPName"/>
+        <enum value="0x8081" name="GL_COLOR_ARRAY_SIZE" group="GetPName"/>
+        <enum value="0x8081" name="GL_COLOR_ARRAY_SIZE_EXT"/>
+        <enum value="0x8082" name="GL_COLOR_ARRAY_TYPE" group="GetPName"/>
+        <enum value="0x8082" name="GL_COLOR_ARRAY_TYPE_EXT"/>
+        <enum value="0x8083" name="GL_COLOR_ARRAY_STRIDE" group="GetPName"/>
+        <enum value="0x8083" name="GL_COLOR_ARRAY_STRIDE_EXT"/>
+        <enum value="0x8084" name="GL_COLOR_ARRAY_COUNT_EXT" group="GetPName"/>
+        <enum value="0x8085" name="GL_INDEX_ARRAY_TYPE" group="GetPName"/>
+        <enum value="0x8085" name="GL_INDEX_ARRAY_TYPE_EXT"/>
+        <enum value="0x8086" name="GL_INDEX_ARRAY_STRIDE" group="GetPName"/>
+        <enum value="0x8086" name="GL_INDEX_ARRAY_STRIDE_EXT"/>
+        <enum value="0x8087" name="GL_INDEX_ARRAY_COUNT_EXT" group="GetPName"/>
+        <enum value="0x8088" name="GL_TEXTURE_COORD_ARRAY_SIZE" group="GetPName"/>
+        <enum value="0x8088" name="GL_TEXTURE_COORD_ARRAY_SIZE_EXT"/>
+        <enum value="0x8089" name="GL_TEXTURE_COORD_ARRAY_TYPE" group="GetPName"/>
+        <enum value="0x8089" name="GL_TEXTURE_COORD_ARRAY_TYPE_EXT"/>
+        <enum value="0x808A" name="GL_TEXTURE_COORD_ARRAY_STRIDE" group="GetPName"/>
+        <enum value="0x808A" name="GL_TEXTURE_COORD_ARRAY_STRIDE_EXT"/>
+        <enum value="0x808B" name="GL_TEXTURE_COORD_ARRAY_COUNT_EXT" group="GetPName"/>
+        <enum value="0x808C" name="GL_EDGE_FLAG_ARRAY_STRIDE" group="GetPName"/>
+        <enum value="0x808C" name="GL_EDGE_FLAG_ARRAY_STRIDE_EXT"/>
+        <enum value="0x808D" name="GL_EDGE_FLAG_ARRAY_COUNT_EXT" group="GetPName"/>
+        <enum value="0x808E" name="GL_VERTEX_ARRAY_POINTER" group="GetPointervPName"/>
+        <enum value="0x808E" name="GL_VERTEX_ARRAY_POINTER_EXT" group="GetPointervPName"/>
+        <enum value="0x808F" name="GL_NORMAL_ARRAY_POINTER" group="GetPointervPName"/>
+        <enum value="0x808F" name="GL_NORMAL_ARRAY_POINTER_EXT" group="GetPointervPName"/>
+        <enum value="0x8090" name="GL_COLOR_ARRAY_POINTER" group="GetPointervPName"/>
+        <enum value="0x8090" name="GL_COLOR_ARRAY_POINTER_EXT" group="GetPointervPName"/>
+        <enum value="0x8091" name="GL_INDEX_ARRAY_POINTER" group="GetPointervPName"/>
+        <enum value="0x8091" name="GL_INDEX_ARRAY_POINTER_EXT" group="GetPointervPName"/>
+        <enum value="0x8092" name="GL_TEXTURE_COORD_ARRAY_POINTER" group="GetPointervPName"/>
+        <enum value="0x8092" name="GL_TEXTURE_COORD_ARRAY_POINTER_EXT" group="GetPointervPName"/>
+        <enum value="0x8093" name="GL_EDGE_FLAG_ARRAY_POINTER" group="GetPointervPName"/>
+        <enum value="0x8093" name="GL_EDGE_FLAG_ARRAY_POINTER_EXT" group="GetPointervPName"/>
+        <enum value="0x8094" name="GL_INTERLACE_SGIX" group="GetPName,EnableCap"/>
+        <enum value="0x8095" name="GL_DETAIL_TEXTURE_2D_SGIS" group="TextureTarget"/>
+        <enum value="0x8096" name="GL_DETAIL_TEXTURE_2D_BINDING_SGIS" group="GetPName"/>
+        <enum value="0x8097" name="GL_LINEAR_DETAIL_SGIS" group="TextureMagFilter"/>
+        <enum value="0x8098" name="GL_LINEAR_DETAIL_ALPHA_SGIS" group="TextureMagFilter"/>
+        <enum value="0x8099" name="GL_LINEAR_DETAIL_COLOR_SGIS" group="TextureMagFilter"/>
+        <enum value="0x809A" name="GL_DETAIL_TEXTURE_LEVEL_SGIS" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x809B" name="GL_DETAIL_TEXTURE_MODE_SGIS" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x809C" name="GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x809D" name="GL_MULTISAMPLE" group="EnableCap"/>
+        <enum value="0x809D" name="GL_MULTISAMPLE_ARB"/>
+        <enum value="0x809D" name="GL_MULTISAMPLE_EXT"/>
+        <enum value="0x809D" name="GL_MULTISAMPLE_SGIS" group="GetPName,EnableCap"/>
+        <enum value="0x809E" name="GL_SAMPLE_ALPHA_TO_COVERAGE" group="EnableCap"/>
+        <enum value="0x809E" name="GL_SAMPLE_ALPHA_TO_COVERAGE_ARB"/>
+        <enum value="0x809E" name="GL_SAMPLE_ALPHA_TO_MASK_EXT"/>
+        <enum value="0x809E" name="GL_SAMPLE_ALPHA_TO_MASK_SGIS" group="GetPName,EnableCap"/>
+        <enum value="0x809F" name="GL_SAMPLE_ALPHA_TO_ONE" group="EnableCap"/>
+        <enum value="0x809F" name="GL_SAMPLE_ALPHA_TO_ONE_ARB"/>
+        <enum value="0x809F" name="GL_SAMPLE_ALPHA_TO_ONE_EXT"/>
+        <enum value="0x809F" name="GL_SAMPLE_ALPHA_TO_ONE_SGIS" group="GetPName,EnableCap"/>
+        <enum value="0x80A0" name="GL_SAMPLE_COVERAGE" group="EnableCap"/>
+        <enum value="0x80A0" name="GL_SAMPLE_COVERAGE_ARB"/>
+        <enum value="0x80A0" name="GL_SAMPLE_MASK_EXT"/>
+        <enum value="0x80A0" name="GL_SAMPLE_MASK_SGIS" group="GetPName,EnableCap"/>
+        <enum value="0x80A1" name="GL_1PASS_EXT" group="SamplePatternSGIS,SamplePatternEXT"/>
+        <enum value="0x80A1" name="GL_1PASS_SGIS" group="SamplePatternSGIS"/>
+        <enum value="0x80A2" name="GL_2PASS_0_EXT" group="SamplePatternSGIS,SamplePatternEXT"/>
+        <enum value="0x80A2" name="GL_2PASS_0_SGIS" group="SamplePatternSGIS"/>
+        <enum value="0x80A3" name="GL_2PASS_1_EXT" group="SamplePatternSGIS,SamplePatternEXT"/>
+        <enum value="0x80A3" name="GL_2PASS_1_SGIS" group="SamplePatternSGIS"/>
+        <enum value="0x80A4" name="GL_4PASS_0_EXT" group="SamplePatternSGIS,SamplePatternEXT"/>
+        <enum value="0x80A4" name="GL_4PASS_0_SGIS" group="SamplePatternSGIS"/>
+        <enum value="0x80A5" name="GL_4PASS_1_EXT" group="SamplePatternSGIS,SamplePatternEXT"/>
+        <enum value="0x80A5" name="GL_4PASS_1_SGIS" group="SamplePatternSGIS"/>
+        <enum value="0x80A6" name="GL_4PASS_2_EXT" group="SamplePatternSGIS,SamplePatternEXT"/>
+        <enum value="0x80A6" name="GL_4PASS_2_SGIS" group="SamplePatternSGIS"/>
+        <enum value="0x80A7" name="GL_4PASS_3_EXT" group="SamplePatternSGIS,SamplePatternEXT"/>
+        <enum value="0x80A7" name="GL_4PASS_3_SGIS" group="SamplePatternSGIS"/>
+        <enum value="0x80A8" name="GL_SAMPLE_BUFFERS" group="GetFramebufferParameter,GetPName"/>
+        <enum value="0x80A8" name="GL_SAMPLE_BUFFERS_ARB"/>
+        <enum value="0x80A8" name="GL_SAMPLE_BUFFERS_EXT"/>
+        <enum value="0x80A8" name="GL_SAMPLE_BUFFERS_SGIS" group="GetPName"/>
+        <enum value="0x80A9" name="GL_SAMPLES" group="GetFramebufferParameter,GetPName,InternalFormatPName"/>
+        <enum value="0x80A9" name="GL_SAMPLES_ARB"/>
+        <enum value="0x80A9" name="GL_SAMPLES_EXT"/>
+        <enum value="0x80A9" name="GL_SAMPLES_SGIS" group="GetPName"/>
+        <enum value="0x80AA" name="GL_SAMPLE_COVERAGE_VALUE" group="GetPName"/>
+        <enum value="0x80AA" name="GL_SAMPLE_COVERAGE_VALUE_ARB"/>
+        <enum value="0x80AA" name="GL_SAMPLE_MASK_VALUE_EXT"/>
+        <enum value="0x80AA" name="GL_SAMPLE_MASK_VALUE_SGIS" group="GetPName"/>
+        <enum value="0x80AB" name="GL_SAMPLE_COVERAGE_INVERT" group="GetPName"/>
+        <enum value="0x80AB" name="GL_SAMPLE_COVERAGE_INVERT_ARB"/>
+        <enum value="0x80AB" name="GL_SAMPLE_MASK_INVERT_EXT"/>
+        <enum value="0x80AB" name="GL_SAMPLE_MASK_INVERT_SGIS" group="GetPName"/>
+        <enum value="0x80AC" name="GL_SAMPLE_PATTERN_EXT"/>
+        <enum value="0x80AC" name="GL_SAMPLE_PATTERN_SGIS" group="GetPName"/>
+        <enum value="0x80AD" name="GL_LINEAR_SHARPEN_SGIS" group="TextureMagFilter"/>
+        <enum value="0x80AE" name="GL_LINEAR_SHARPEN_ALPHA_SGIS" group="TextureMagFilter"/>
+        <enum value="0x80AF" name="GL_LINEAR_SHARPEN_COLOR_SGIS" group="TextureMagFilter"/>
+        <enum value="0x80B0" name="GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x80B1" name="GL_COLOR_MATRIX"/>
+        <enum value="0x80B1" name="GL_COLOR_MATRIX_SGI" group="GetPName"/>
+        <enum value="0x80B2" name="GL_COLOR_MATRIX_STACK_DEPTH"/>
+        <enum value="0x80B2" name="GL_COLOR_MATRIX_STACK_DEPTH_SGI" group="GetPName"/>
+        <enum value="0x80B3" name="GL_MAX_COLOR_MATRIX_STACK_DEPTH"/>
+        <enum value="0x80B3" name="GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI" group="GetPName"/>
+        <enum value="0x80B4" name="GL_POST_COLOR_MATRIX_RED_SCALE" group="PixelTransferParameter"/>
+        <enum value="0x80B4" name="GL_POST_COLOR_MATRIX_RED_SCALE_SGI" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x80B5" name="GL_POST_COLOR_MATRIX_GREEN_SCALE" group="PixelTransferParameter"/>
+        <enum value="0x80B5" name="GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x80B6" name="GL_POST_COLOR_MATRIX_BLUE_SCALE" group="PixelTransferParameter"/>
+        <enum value="0x80B6" name="GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x80B7" name="GL_POST_COLOR_MATRIX_ALPHA_SCALE" group="PixelTransferParameter"/>
+        <enum value="0x80B7" name="GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x80B8" name="GL_POST_COLOR_MATRIX_RED_BIAS" group="PixelTransferParameter"/>
+        <enum value="0x80B8" name="GL_POST_COLOR_MATRIX_RED_BIAS_SGI" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x80B9" name="GL_POST_COLOR_MATRIX_GREEN_BIAS" group="PixelTransferParameter"/>
+        <enum value="0x80B9" name="GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x80BA" name="GL_POST_COLOR_MATRIX_BLUE_BIAS" group="PixelTransferParameter"/>
+        <enum value="0x80BA" name="GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x80BB" name="GL_POST_COLOR_MATRIX_ALPHA_BIAS" group="PixelTransferParameter"/>
+        <enum value="0x80BB" name="GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI" group="PixelTransferParameter,GetPName"/>
+        <enum value="0x80BC" name="GL_TEXTURE_COLOR_TABLE_SGI" group="GetPName,ColorTableTargetSGI,EnableCap"/>
+        <enum value="0x80BD" name="GL_PROXY_TEXTURE_COLOR_TABLE_SGI" group="ColorTableTargetSGI"/>
+        <enum value="0x80BE" name="GL_TEXTURE_ENV_BIAS_SGIX" group="TextureEnvMode"/>
+        <enum value="0x80BF" name="GL_SHADOW_AMBIENT_SGIX" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x80BF" name="GL_TEXTURE_COMPARE_FAIL_VALUE_ARB"/>
     </enums>
 
-    <enums namespace="GL" start="0x9240" end="0x924F" vendor="WEBGL" comment="Khronos bug 6473,6884">
-        <enum value="0x9240" name="GL_UNPACK_FLIP_Y_WEBGL"/>
-        <enum value="0x9241" name="GL_UNPACK_PREMULTIPLY_ALPHA_WEBGL"/>
-        <enum value="0x9242" name="GL_CONTEXT_LOST_WEBGL"/>
-        <enum value="0x9243" name="GL_UNPACK_COLORSPACE_CONVERSION_WEBGL"/>
-        <enum value="0x9244" name="GL_BROWSER_DEFAULT_WEBGL"/>
-            <unused start="0x9245" end="0x924F"/>
+    <enums namespace="GL" start="0x80C0" end="0x80CF" vendor="ZiiLabs">
+            <unused start="0x80C0" end="0x80C7" vendor="ZiiLabs"/>
+        <enum value="0x80C8" name="GL_BLEND_DST_RGB" group="GetPName"/>
+        <enum value="0x80C8" name="GL_BLEND_DST_RGB_EXT"/>
+        <enum value="0x80C8" name="GL_BLEND_DST_RGB_OES"/>
+        <enum value="0x80C9" name="GL_BLEND_SRC_RGB" group="GetPName"/>
+        <enum value="0x80C9" name="GL_BLEND_SRC_RGB_EXT"/>
+        <enum value="0x80C9" name="GL_BLEND_SRC_RGB_OES"/>
+        <enum value="0x80CA" name="GL_BLEND_DST_ALPHA" group="GetPName"/>
+        <enum value="0x80CA" name="GL_BLEND_DST_ALPHA_EXT"/>
+        <enum value="0x80CA" name="GL_BLEND_DST_ALPHA_OES"/>
+        <enum value="0x80CB" name="GL_BLEND_SRC_ALPHA" group="GetPName"/>
+        <enum value="0x80CB" name="GL_BLEND_SRC_ALPHA_EXT"/>
+        <enum value="0x80CB" name="GL_BLEND_SRC_ALPHA_OES"/>
+        <enum value="0x80CC" name="GL_422_EXT"/>
+        <enum value="0x80CD" name="GL_422_REV_EXT"/>
+        <enum value="0x80CE" name="GL_422_AVERAGE_EXT"/>
+        <enum value="0x80CF" name="GL_422_REV_AVERAGE_EXT"/>
     </enums>
 
-    <enums namespace="GL" start="0x9250" end="0x925F" vendor="DMP" comment="For Eisaku Ohbuchi via email">
-        <enum value="0x9250" name="GL_SHADER_BINARY_DMP"/>
-            <unused start="0x9251" end="0x925F"/>
+    <enums namespace="GL" start="0x80D0" end="0x80DF" vendor="SGI">
+        <enum value="0x80D0" name="GL_COLOR_TABLE" group="ColorTableTarget,ColorTableTargetSGI,EnableCap"/>
+        <enum value="0x80D0" name="GL_COLOR_TABLE_SGI" group="GetPName,ColorTableTargetSGI,EnableCap"/>
+        <enum value="0x80D1" name="GL_POST_CONVOLUTION_COLOR_TABLE" group="ColorTableTarget,ColorTableTargetSGI,EnableCap"/>
+        <enum value="0x80D1" name="GL_POST_CONVOLUTION_COLOR_TABLE_SGI" group="GetPName,ColorTableTargetSGI,EnableCap"/>
+        <enum value="0x80D2" name="GL_POST_COLOR_MATRIX_COLOR_TABLE" group="ColorTableTarget,ColorTableTargetSGI,EnableCap"/>
+        <enum value="0x80D2" name="GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI" group="GetPName,ColorTableTargetSGI,EnableCap"/>
+        <enum value="0x80D3" name="GL_PROXY_COLOR_TABLE" group="ColorTableTargetSGI,ColorTableTarget"/>
+        <enum value="0x80D3" name="GL_PROXY_COLOR_TABLE_SGI" group="ColorTableTargetSGI"/>
+        <enum value="0x80D4" name="GL_PROXY_POST_CONVOLUTION_COLOR_TABLE" group="ColorTableTargetSGI,ColorTableTarget"/>
+        <enum value="0x80D4" name="GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI" group="ColorTableTargetSGI"/>
+        <enum value="0x80D5" name="GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE" group="ColorTableTargetSGI,ColorTableTarget"/>
+        <enum value="0x80D5" name="GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI" group="ColorTableTargetSGI"/>
+        <enum value="0x80D6" name="GL_COLOR_TABLE_SCALE" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI,GetColorTableParameterPName,ColorTableParameterPName"/>
+        <enum value="0x80D6" name="GL_COLOR_TABLE_SCALE_SGI" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI"/>
+        <enum value="0x80D7" name="GL_COLOR_TABLE_BIAS" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI,GetColorTableParameterPName,ColorTableParameterPName"/>
+        <enum value="0x80D7" name="GL_COLOR_TABLE_BIAS_SGI" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI"/>
+        <enum value="0x80D8" name="GL_COLOR_TABLE_FORMAT" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI,GetColorTableParameterPName,ColorTableParameterPName"/>
+        <enum value="0x80D8" name="GL_COLOR_TABLE_FORMAT_SGI" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI"/>
+        <enum value="0x80D9" name="GL_COLOR_TABLE_WIDTH" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI,GetColorTableParameterPName,ColorTableParameterPName"/>
+        <enum value="0x80D9" name="GL_COLOR_TABLE_WIDTH_SGI" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI"/>
+        <enum value="0x80DA" name="GL_COLOR_TABLE_RED_SIZE" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI,GetColorTableParameterPName,ColorTableParameterPName"/>
+        <enum value="0x80DA" name="GL_COLOR_TABLE_RED_SIZE_SGI" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI"/>
+        <enum value="0x80DB" name="GL_COLOR_TABLE_GREEN_SIZE" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI,GetColorTableParameterPName,ColorTableParameterPName"/>
+        <enum value="0x80DB" name="GL_COLOR_TABLE_GREEN_SIZE_SGI" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI"/>
+        <enum value="0x80DC" name="GL_COLOR_TABLE_BLUE_SIZE" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI,GetColorTableParameterPName,ColorTableParameterPName"/>
+        <enum value="0x80DC" name="GL_COLOR_TABLE_BLUE_SIZE_SGI" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI"/>
+        <enum value="0x80DD" name="GL_COLOR_TABLE_ALPHA_SIZE" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI,GetColorTableParameterPName,ColorTableParameterPName"/>
+        <enum value="0x80DD" name="GL_COLOR_TABLE_ALPHA_SIZE_SGI" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI"/>
+        <enum value="0x80DE" name="GL_COLOR_TABLE_LUMINANCE_SIZE" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI,GetColorTableParameterPName,ColorTableParameterPName"/>
+        <enum value="0x80DE" name="GL_COLOR_TABLE_LUMINANCE_SIZE_SGI" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI"/>
+        <enum value="0x80DF" name="GL_COLOR_TABLE_INTENSITY_SIZE" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI,GetColorTableParameterPName,ColorTableParameterPName"/>
+        <enum value="0x80DF" name="GL_COLOR_TABLE_INTENSITY_SIZE_SGI" group="GetColorTableParameterPNameSGI,ColorTableParameterPNameSGI"/>
     </enums>
 
-    <enums namespace="GL" start="0x9260" end="0x926F" vendor="FJ" comment="Khronos bug 7486">
-        <enum value="0x9260" name="GL_GCCSO_SHADER_BINARY_FJ"/>
-            <unused start="0x9261" end="0x926F"/>
+    <enums namespace="GL" start="0x80E0" end="0x810F" vendor="MS">
+        <enum value="0x80E0" name="GL_BGR" group="PixelFormat"/>
+        <enum value="0x80E0" name="GL_BGR_EXT"/>
+        <enum value="0x80E1" name="GL_BGRA" group="PixelFormat"/>
+        <enum value="0x80E1" name="GL_BGRA_EXT"/>
+        <enum value="0x80E1" name="GL_BGRA_IMG"/>
+        <enum value="0x80E2" name="GL_COLOR_INDEX1_EXT"/>
+        <enum value="0x80E3" name="GL_COLOR_INDEX2_EXT"/>
+        <enum value="0x80E4" name="GL_COLOR_INDEX4_EXT"/>
+        <enum value="0x80E5" name="GL_COLOR_INDEX8_EXT"/>
+        <enum value="0x80E6" name="GL_COLOR_INDEX12_EXT"/>
+        <enum value="0x80E7" name="GL_COLOR_INDEX16_EXT"/>
+        <enum value="0x80E8" name="GL_MAX_ELEMENTS_VERTICES" group="GetPName"/>
+        <enum value="0x80E8" name="GL_MAX_ELEMENTS_VERTICES_EXT"/>
+        <enum value="0x80E9" name="GL_MAX_ELEMENTS_INDICES" group="GetPName"/>
+        <enum value="0x80E9" name="GL_MAX_ELEMENTS_INDICES_EXT"/>
+        <enum value="0x80EA" name="GL_PHONG_WIN"/>
+        <enum value="0x80EB" name="GL_PHONG_HINT_WIN" group="HintTarget"/>
+        <enum value="0x80EC" name="GL_FOG_SPECULAR_TEXTURE_WIN"/>
+        <enum value="0x80ED" name="GL_TEXTURE_INDEX_SIZE_EXT"/>
+        <enum value="0x80EE" name="GL_PARAMETER_BUFFER" group="BufferTargetARB"/>
+        <enum value="0x80EE" name="GL_PARAMETER_BUFFER_ARB" alias="GL_PARAMETER_BUFFER"/>
+        <enum value="0x80EF" name="GL_PARAMETER_BUFFER_BINDING"/>
+        <enum value="0x80EF" name="GL_PARAMETER_BUFFER_BINDING_ARB" alias="GL_PARAMETER_BUFFER_BINDING"/>
+        <enum value="0x80F0" name="GL_CLIP_VOLUME_CLIPPING_HINT_EXT" group="HintTarget"/>
+            <unused start="0x80F1" end="0x810F" vendor="MS"/>
     </enums>
 
-    <enums namespace="GL" start="0x9270" end="0x927F" vendor="OES" comment="Khronos bug 7625">
-        <enum value="0x9270" name="GL_COMPRESSED_R11_EAC"/>
-        <enum value="0x9270" name="GL_COMPRESSED_R11_EAC_OES"/>
-        <enum value="0x9271" name="GL_COMPRESSED_SIGNED_R11_EAC"/>
-        <enum value="0x9271" name="GL_COMPRESSED_SIGNED_R11_EAC_OES"/>
-        <enum value="0x9272" name="GL_COMPRESSED_RG11_EAC"/>
-        <enum value="0x9272" name="GL_COMPRESSED_RG11_EAC_OES"/>
-        <enum value="0x9273" name="GL_COMPRESSED_SIGNED_RG11_EAC"/>
-        <enum value="0x9273" name="GL_COMPRESSED_SIGNED_RG11_EAC_OES"/>
-        <enum value="0x9274" name="GL_COMPRESSED_RGB8_ETC2"/>
-        <enum value="0x9274" name="GL_COMPRESSED_RGB8_ETC2_OES"/>
-        <enum value="0x9275" name="GL_COMPRESSED_SRGB8_ETC2"/>
-        <enum value="0x9275" name="GL_COMPRESSED_SRGB8_ETC2_OES"/>
-        <enum value="0x9276" name="GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2"/>
-        <enum value="0x9276" name="GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES"/>
-        <enum value="0x9277" name="GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2"/>
-        <enum value="0x9277" name="GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES"/>
-        <enum value="0x9278" name="GL_COMPRESSED_RGBA8_ETC2_EAC"/>
-        <enum value="0x9278" name="GL_COMPRESSED_RGBA8_ETC2_EAC_OES"/>
-        <enum value="0x9279" name="GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"/>
-        <enum value="0x9279" name="GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES"/>
-            <unused start="0x927A" end="0x927F"/>
+    <enums namespace="GL" start="0x8110" end="0x814F" vendor="SGI">
+        <enum value="0x8110" name="GL_DUAL_ALPHA4_SGIS" group="InternalFormat"/>
+        <enum value="0x8111" name="GL_DUAL_ALPHA8_SGIS" group="InternalFormat"/>
+        <enum value="0x8112" name="GL_DUAL_ALPHA12_SGIS" group="InternalFormat"/>
+        <enum value="0x8113" name="GL_DUAL_ALPHA16_SGIS" group="InternalFormat"/>
+        <enum value="0x8114" name="GL_DUAL_LUMINANCE4_SGIS" group="InternalFormat"/>
+        <enum value="0x8115" name="GL_DUAL_LUMINANCE8_SGIS" group="InternalFormat"/>
+        <enum value="0x8116" name="GL_DUAL_LUMINANCE12_SGIS" group="InternalFormat"/>
+        <enum value="0x8117" name="GL_DUAL_LUMINANCE16_SGIS" group="InternalFormat"/>
+        <enum value="0x8118" name="GL_DUAL_INTENSITY4_SGIS" group="InternalFormat"/>
+        <enum value="0x8119" name="GL_DUAL_INTENSITY8_SGIS" group="InternalFormat"/>
+        <enum value="0x811A" name="GL_DUAL_INTENSITY12_SGIS" group="InternalFormat"/>
+        <enum value="0x811B" name="GL_DUAL_INTENSITY16_SGIS" group="InternalFormat"/>
+        <enum value="0x811C" name="GL_DUAL_LUMINANCE_ALPHA4_SGIS" group="InternalFormat"/>
+        <enum value="0x811D" name="GL_DUAL_LUMINANCE_ALPHA8_SGIS" group="InternalFormat"/>
+        <enum value="0x811E" name="GL_QUAD_ALPHA4_SGIS" group="InternalFormat"/>
+        <enum value="0x811F" name="GL_QUAD_ALPHA8_SGIS" group="InternalFormat"/>
+        <enum value="0x8120" name="GL_QUAD_LUMINANCE4_SGIS" group="InternalFormat"/>
+        <enum value="0x8121" name="GL_QUAD_LUMINANCE8_SGIS" group="InternalFormat"/>
+        <enum value="0x8122" name="GL_QUAD_INTENSITY4_SGIS" group="InternalFormat"/>
+        <enum value="0x8123" name="GL_QUAD_INTENSITY8_SGIS" group="InternalFormat"/>
+        <enum value="0x8124" name="GL_DUAL_TEXTURE_SELECT_SGIS" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8125" name="GL_QUAD_TEXTURE_SELECT_SGIS" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8126" name="GL_POINT_SIZE_MIN" group="PointParameterNameSGIS"/>
+        <enum value="0x8126" name="GL_POINT_SIZE_MIN_ARB" group="PointParameterNameSGIS"/>
+        <enum value="0x8126" name="GL_POINT_SIZE_MIN_EXT" group="PointParameterNameSGIS,PointParameterNameARB"/>
+        <enum value="0x8126" name="GL_POINT_SIZE_MIN_SGIS" group="PointParameterNameSGIS,GetPName"/>
+        <enum value="0x8127" name="GL_POINT_SIZE_MAX" group="PointParameterNameSGIS"/>
+        <enum value="0x8127" name="GL_POINT_SIZE_MAX_ARB" group="PointParameterNameSGIS"/>
+        <enum value="0x8127" name="GL_POINT_SIZE_MAX_EXT" group="PointParameterNameSGIS,PointParameterNameARB"/>
+        <enum value="0x8127" name="GL_POINT_SIZE_MAX_SGIS" group="PointParameterNameSGIS,GetPName"/>
+        <enum value="0x8128" name="GL_POINT_FADE_THRESHOLD_SIZE" group="PointParameterNameSGIS,PointParameterNameARB,GetPName"/>
+        <enum value="0x8128" name="GL_POINT_FADE_THRESHOLD_SIZE_ARB" group="PointParameterNameSGIS"/>
+        <enum value="0x8128" name="GL_POINT_FADE_THRESHOLD_SIZE_EXT" group="PointParameterNameSGIS,PointParameterNameARB"/>
+        <enum value="0x8128" name="GL_POINT_FADE_THRESHOLD_SIZE_SGIS" group="PointParameterNameSGIS,GetPName"/>
+        <enum value="0x8129" name="GL_DISTANCE_ATTENUATION_EXT" group="PointParameterNameSGIS"/>
+        <enum value="0x8129" name="GL_DISTANCE_ATTENUATION_SGIS" group="PointParameterNameSGIS,GetPName"/>
+        <enum value="0x8129" name="GL_POINT_DISTANCE_ATTENUATION" group="PointParameterNameSGIS"/>
+        <enum value="0x8129" name="GL_POINT_DISTANCE_ATTENUATION_ARB" group="PointParameterNameSGIS"/>
+        <enum value="0x812A" name="GL_FOG_FUNC_SGIS" group="FogMode"/>
+        <enum value="0x812B" name="GL_FOG_FUNC_POINTS_SGIS" group="GetPName"/>
+        <enum value="0x812C" name="GL_MAX_FOG_FUNC_POINTS_SGIS" group="GetPName"/>
+        <enum value="0x812D" name="GL_CLAMP_TO_BORDER" group="TextureWrapMode"/>
+        <enum value="0x812D" name="GL_CLAMP_TO_BORDER_ARB" group="TextureWrapMode"/>
+        <enum value="0x812D" name="GL_CLAMP_TO_BORDER_EXT"/>
+        <enum value="0x812D" name="GL_CLAMP_TO_BORDER_NV" group="TextureWrapMode"/>
+        <enum value="0x812D" name="GL_CLAMP_TO_BORDER_SGIS" group="TextureWrapMode"/>
+        <enum value="0x812D" name="GL_CLAMP_TO_BORDER_OES"/>
+        <enum value="0x812E" name="GL_TEXTURE_MULTI_BUFFER_HINT_SGIX" group="HintTarget"/>
+        <enum value="0x812F" name="GL_CLAMP_TO_EDGE" group="TextureWrapMode"/>
+        <enum value="0x812F" name="GL_CLAMP_TO_EDGE_SGIS" group="TextureWrapMode"/>
+        <enum value="0x8130" name="GL_PACK_SKIP_VOLUMES_SGIS" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x8131" name="GL_PACK_IMAGE_DEPTH_SGIS" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x8132" name="GL_UNPACK_SKIP_VOLUMES_SGIS" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x8133" name="GL_UNPACK_IMAGE_DEPTH_SGIS" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x8134" name="GL_TEXTURE_4D_SGIS" group="TextureTarget,EnableCap,GetPName"/>
+        <enum value="0x8135" name="GL_PROXY_TEXTURE_4D_SGIS" group="TextureTarget"/>
+        <enum value="0x8136" name="GL_TEXTURE_4DSIZE_SGIS" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8137" name="GL_TEXTURE_WRAP_Q_SGIS" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8138" name="GL_MAX_4D_TEXTURE_SIZE_SGIS" group="GetPName"/>
+        <enum value="0x8139" name="GL_PIXEL_TEX_GEN_SGIX" group="GetPName,EnableCap"/>
+        <enum value="0x813A" name="GL_TEXTURE_MIN_LOD" group="SamplerParameterF,TextureParameterName"/>
+        <enum value="0x813A" name="GL_TEXTURE_MIN_LOD_SGIS" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x813B" name="GL_TEXTURE_MAX_LOD" group="SamplerParameterF,TextureParameterName"/>
+        <enum value="0x813B" name="GL_TEXTURE_MAX_LOD_SGIS" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x813C" name="GL_TEXTURE_BASE_LEVEL" group="TextureParameterName"/>
+        <enum value="0x813C" name="GL_TEXTURE_BASE_LEVEL_SGIS" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x813D" name="GL_TEXTURE_MAX_LEVEL" group="TextureParameterName"/>
+        <enum value="0x813D" name="GL_TEXTURE_MAX_LEVEL_APPLE"/>
+        <enum value="0x813D" name="GL_TEXTURE_MAX_LEVEL_SGIS" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x813E" name="GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX" group="GetPName"/>
+        <enum value="0x813F" name="GL_PIXEL_TILE_CACHE_INCREMENT_SGIX" group="GetPName"/>
+        <enum value="0x8140" name="GL_PIXEL_TILE_WIDTH_SGIX" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x8141" name="GL_PIXEL_TILE_HEIGHT_SGIX" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x8142" name="GL_PIXEL_TILE_GRID_WIDTH_SGIX" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x8143" name="GL_PIXEL_TILE_GRID_HEIGHT_SGIX" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x8144" name="GL_PIXEL_TILE_GRID_DEPTH_SGIX" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x8145" name="GL_PIXEL_TILE_CACHE_SIZE_SGIX" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x8146" name="GL_FILTER4_SGIS" group="TextureMinFilter,TextureFilterSGIS,TextureFilterFuncSGIS,TextureMagFilter"/>
+        <enum value="0x8147" name="GL_TEXTURE_FILTER4_SIZE_SGIS" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8148" name="GL_SPRITE_SGIX" group="GetPName,EnableCap"/>
+        <enum value="0x8149" name="GL_SPRITE_MODE_SGIX" group="GetPName,SpriteParameterNameSGIX"/>
+        <enum value="0x814A" name="GL_SPRITE_AXIS_SGIX" group="GetPName"/>
+        <enum value="0x814B" name="GL_SPRITE_TRANSLATION_SGIX" group="GetPName"/>
+        <enum value="0x814C" name="GL_SPRITE_AXIAL_SGIX"/>
+        <enum value="0x814D" name="GL_SPRITE_OBJECT_ALIGNED_SGIX"/>
+        <enum value="0x814E" name="GL_SPRITE_EYE_ALIGNED_SGIX"/>
+        <enum value="0x814F" name="GL_TEXTURE_4D_BINDING_SGIS" group="GetPName"/>
     </enums>
 
-    <enums namespace="GL" start="0x9280" end="0x937F" vendor="NV" comment="Khronos bug 7658">
-        <enum value="0x9280" name="GL_BLEND_PREMULTIPLIED_SRC_NV"/>
-        <enum value="0x9281" name="GL_BLEND_OVERLAP_NV"/>
-        <enum value="0x9282" name="GL_UNCORRELATED_NV"/>
-        <enum value="0x9283" name="GL_DISJOINT_NV"/>
-        <enum value="0x9284" name="GL_CONJOINT_NV"/>
-        <enum value="0x9285" name="GL_BLEND_ADVANCED_COHERENT_NV"/>
-        <enum value="0x9286" name="GL_SRC_NV"/>
-        <enum value="0x9287" name="GL_DST_NV"/>
-        <enum value="0x9288" name="GL_SRC_OVER_NV"/>
-        <enum value="0x9289" name="GL_DST_OVER_NV"/>
-        <enum value="0x928A" name="GL_SRC_IN_NV"/>
-        <enum value="0x928B" name="GL_DST_IN_NV"/>
-        <enum value="0x928C" name="GL_SRC_OUT_NV"/>
-        <enum value="0x928D" name="GL_DST_OUT_NV"/>
-        <enum value="0x928E" name="GL_SRC_ATOP_NV"/>
-        <enum value="0x928F" name="GL_DST_ATOP_NV"/>
-            <unused start="0x9290"/>
-        <enum value="0x9291" name="GL_PLUS_NV"/>
-        <enum value="0x9292" name="GL_PLUS_DARKER_NV"/>
-            <unused start="0x9293"/>
-        <enum value="0x9294" name="GL_MULTIPLY_NV"/>
-        <enum value="0x9295" name="GL_SCREEN_NV"/>
-        <enum value="0x9296" name="GL_OVERLAY_NV"/>
-        <enum value="0x9297" name="GL_DARKEN_NV"/>
-        <enum value="0x9298" name="GL_LIGHTEN_NV"/>
-        <enum value="0x9299" name="GL_COLORDODGE_NV"/>
-        <enum value="0x929A" name="GL_COLORBURN_NV"/>
-        <enum value="0x929B" name="GL_HARDLIGHT_NV"/>
-        <enum value="0x929C" name="GL_SOFTLIGHT_NV"/>
-            <unused start="0x929D"/>
-        <enum value="0x929E" name="GL_DIFFERENCE_NV"/>
-        <enum value="0x929F" name="GL_MINUS_NV"/>
-        <enum value="0x92A0" name="GL_EXCLUSION_NV"/>
-        <enum value="0x92A1" name="GL_CONTRAST_NV"/>
-            <unused start="0x92A2"/>
-        <enum value="0x92A3" name="GL_INVERT_RGB_NV"/>
-        <enum value="0x92A4" name="GL_LINEARDODGE_NV"/>
-        <enum value="0x92A5" name="GL_LINEARBURN_NV"/>
-        <enum value="0x92A6" name="GL_VIVIDLIGHT_NV"/>
-        <enum value="0x92A7" name="GL_LINEARLIGHT_NV"/>
-        <enum value="0x92A8" name="GL_PINLIGHT_NV"/>
-        <enum value="0x92A9" name="GL_HARDMIX_NV"/>
-            <unused start="0x92AA" end="0x92AC"/>
-        <enum value="0x92AD" name="GL_HSL_HUE_NV"/>
-        <enum value="0x92AE" name="GL_HSL_SATURATION_NV"/>
-        <enum value="0x92AF" name="GL_HSL_COLOR_NV"/>
-        <enum value="0x92B0" name="GL_HSL_LUMINOSITY_NV"/>
-        <enum value="0x92B1" name="GL_PLUS_CLAMPED_NV"/>
-        <enum value="0x92B2" name="GL_PLUS_CLAMPED_ALPHA_NV"/>
-        <enum value="0x92B3" name="GL_MINUS_CLAMPED_NV"/>
-        <enum value="0x92B4" name="GL_INVERT_OVG_NV"/>
-            <unused start="0x92B5" end="0x92BF"/>
-        <enum value="0x92C0" name="GL_ATOMIC_COUNTER_BUFFER"/>
-        <enum value="0x92C1" name="GL_ATOMIC_COUNTER_BUFFER_BINDING"/>
-        <enum value="0x92C2" name="GL_ATOMIC_COUNTER_BUFFER_START"/>
-        <enum value="0x92C3" name="GL_ATOMIC_COUNTER_BUFFER_SIZE"/>
-        <enum value="0x92C4" name="GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE"/>
-        <enum value="0x92C5" name="GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS"/>
-        <enum value="0x92C6" name="GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES"/>
-        <enum value="0x92C7" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER"/>
-        <enum value="0x92C8" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER"/>
-        <enum value="0x92C9" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
-        <enum value="0x92CA" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER"/>
-        <enum value="0x92CB" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER"/>
-        <enum value="0x92CC" name="GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS"/>
-        <enum value="0x92CD" name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS"/>
-        <enum value="0x92CE" name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS"/>
-        <enum value="0x92CF" name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS"/>
-        <enum value="0x92D0" name="GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS"/>
-        <enum value="0x92D1" name="GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS"/>
-        <enum value="0x92D2" name="GL_MAX_VERTEX_ATOMIC_COUNTERS"/>
-        <enum value="0x92D3" name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS"/>
-        <enum value="0x92D4" name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS"/>
-        <enum value="0x92D5" name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS"/>
-        <enum value="0x92D6" name="GL_MAX_FRAGMENT_ATOMIC_COUNTERS"/>
-        <enum value="0x92D7" name="GL_MAX_COMBINED_ATOMIC_COUNTERS"/>
-        <enum value="0x92D8" name="GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE"/>
-        <enum value="0x92D9" name="GL_ACTIVE_ATOMIC_COUNTER_BUFFERS"/>
-        <enum value="0x92DA" name="GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX"/>
-        <enum value="0x92DB" name="GL_UNSIGNED_INT_ATOMIC_COUNTER"/>
-        <enum value="0x92DC" name="GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS"/>
-            <unused start="0x92DC" end="0x92DF"/>
-        <enum value="0x92E0" name="GL_DEBUG_OUTPUT"/>
-        <enum value="0x92E0" name="GL_DEBUG_OUTPUT_KHR"/>
-        <enum value="0x92E1" name="GL_UNIFORM"/>
-        <enum value="0x92E2" name="GL_UNIFORM_BLOCK"/>
-        <enum value="0x92E3" name="GL_PROGRAM_INPUT"/>
-        <enum value="0x92E4" name="GL_PROGRAM_OUTPUT"/>
-        <enum value="0x92E5" name="GL_BUFFER_VARIABLE"/>
-        <enum value="0x92E6" name="GL_SHADER_STORAGE_BLOCK"/>
-        <enum value="0x92E7" name="GL_IS_PER_PATCH"/>
-        <enum value="0x92E8" name="GL_VERTEX_SUBROUTINE"/>
-        <enum value="0x92E9" name="GL_TESS_CONTROL_SUBROUTINE"/>
-        <enum value="0x92EA" name="GL_TESS_EVALUATION_SUBROUTINE"/>
-        <enum value="0x92EB" name="GL_GEOMETRY_SUBROUTINE"/>
-        <enum value="0x92EC" name="GL_FRAGMENT_SUBROUTINE"/>
-        <enum value="0x92ED" name="GL_COMPUTE_SUBROUTINE"/>
-        <enum value="0x92EE" name="GL_VERTEX_SUBROUTINE_UNIFORM"/>
-        <enum value="0x92EF" name="GL_TESS_CONTROL_SUBROUTINE_UNIFORM"/>
-        <enum value="0x92F0" name="GL_TESS_EVALUATION_SUBROUTINE_UNIFORM"/>
-        <enum value="0x92F1" name="GL_GEOMETRY_SUBROUTINE_UNIFORM"/>
-        <enum value="0x92F2" name="GL_FRAGMENT_SUBROUTINE_UNIFORM"/>
-        <enum value="0x92F3" name="GL_COMPUTE_SUBROUTINE_UNIFORM"/>
-        <enum value="0x92F4" name="GL_TRANSFORM_FEEDBACK_VARYING"/>
-        <enum value="0x92F5" name="GL_ACTIVE_RESOURCES"/>
-        <enum value="0x92F6" name="GL_MAX_NAME_LENGTH"/>
-        <enum value="0x92F7" name="GL_MAX_NUM_ACTIVE_VARIABLES"/>
-        <enum value="0x92F8" name="GL_MAX_NUM_COMPATIBLE_SUBROUTINES"/>
-        <enum value="0x92F9" name="GL_NAME_LENGTH"/>
-        <enum value="0x92FA" name="GL_TYPE"/>
-        <enum value="0x92FB" name="GL_ARRAY_SIZE"/>
-        <enum value="0x92FC" name="GL_OFFSET"/>
-        <enum value="0x92FD" name="GL_BLOCK_INDEX"/>
-        <enum value="0x92FE" name="GL_ARRAY_STRIDE"/>
-        <enum value="0x92FF" name="GL_MATRIX_STRIDE"/>
-        <enum value="0x9300" name="GL_IS_ROW_MAJOR"/>
-        <enum value="0x9301" name="GL_ATOMIC_COUNTER_BUFFER_INDEX"/>
-        <enum value="0x9302" name="GL_BUFFER_BINDING"/>
-        <enum value="0x9303" name="GL_BUFFER_DATA_SIZE"/>
-        <enum value="0x9304" name="GL_NUM_ACTIVE_VARIABLES"/>
-        <enum value="0x9305" name="GL_ACTIVE_VARIABLES"/>
-        <enum value="0x9306" name="GL_REFERENCED_BY_VERTEX_SHADER"/>
-        <enum value="0x9307" name="GL_REFERENCED_BY_TESS_CONTROL_SHADER"/>
-        <enum value="0x9308" name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
-        <enum value="0x9309" name="GL_REFERENCED_BY_GEOMETRY_SHADER"/>
-        <enum value="0x930A" name="GL_REFERENCED_BY_FRAGMENT_SHADER"/>
-        <enum value="0x930B" name="GL_REFERENCED_BY_COMPUTE_SHADER"/>
-        <enum value="0x930C" name="GL_TOP_LEVEL_ARRAY_SIZE"/>
-        <enum value="0x930D" name="GL_TOP_LEVEL_ARRAY_STRIDE"/>
-        <enum value="0x930E" name="GL_LOCATION"/>
-        <enum value="0x930F" name="GL_LOCATION_INDEX"/>
-        <enum value="0x9310" name="GL_FRAMEBUFFER_DEFAULT_WIDTH"/>
-        <enum value="0x9311" name="GL_FRAMEBUFFER_DEFAULT_HEIGHT"/>
-        <enum value="0x9312" name="GL_FRAMEBUFFER_DEFAULT_LAYERS"/>
-        <enum value="0x9313" name="GL_FRAMEBUFFER_DEFAULT_SAMPLES"/>
-        <enum value="0x9314" name="GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS"/>
-        <enum value="0x9315" name="GL_MAX_FRAMEBUFFER_WIDTH"/>
-        <enum value="0x9316" name="GL_MAX_FRAMEBUFFER_HEIGHT"/>
-        <enum value="0x9317" name="GL_MAX_FRAMEBUFFER_LAYERS"/>
-        <enum value="0x9318" name="GL_MAX_FRAMEBUFFER_SAMPLES"/>
-            <unused start="0x9319" end="0x9343"/>
-        <enum value="0x9344" name="GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB"/>
-        <enum value="0x9345" name="GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB"/>
-            <unused start="0x9346" end="0x9349"/>
-        <enum value="0x934A" name="GL_LOCATION_COMPONENT"/>
-        <enum value="0x934B" name="GL_TRANSFORM_FEEDBACK_BUFFER_INDEX"/>
-        <enum value="0x934C" name="GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE"/>
-            <unused start="0x934D" end="0x9364"/>
-        <enum value="0x9365" name="GL_CLEAR_TEXTURE"/>
-            <unused start="0x9366" end="0x937F"/>
+    <enums namespace="GL" start="0x8150" end="0x816F" vendor="HP">
+        <enum value="0x8150" name="GL_IGNORE_BORDER_HP"/>
+        <enum value="0x8151" name="GL_CONSTANT_BORDER"/>
+        <enum value="0x8151" name="GL_CONSTANT_BORDER_HP"/>
+            <unused start="0x8152" vendor="HP" comment="GL_WRAP_BORDER = 0x8152 was proposed, but not actually promoted to core"/>
+        <enum value="0x8153" name="GL_REPLICATE_BORDER"/>
+        <enum value="0x8153" name="GL_REPLICATE_BORDER_HP"/>
+        <enum value="0x8154" name="GL_CONVOLUTION_BORDER_COLOR" group="GetConvolutionParameter"/>
+        <enum value="0x8154" name="GL_CONVOLUTION_BORDER_COLOR_HP"/>
+        <enum value="0x8155" name="GL_IMAGE_SCALE_X_HP" group="ImageTransformPNameHP"/>
+        <enum value="0x8156" name="GL_IMAGE_SCALE_Y_HP" group="ImageTransformPNameHP"/>
+        <enum value="0x8157" name="GL_IMAGE_TRANSLATE_X_HP" group="ImageTransformPNameHP"/>
+        <enum value="0x8158" name="GL_IMAGE_TRANSLATE_Y_HP" group="ImageTransformPNameHP"/>
+        <enum value="0x8159" name="GL_IMAGE_ROTATE_ANGLE_HP" group="ImageTransformPNameHP"/>
+        <enum value="0x815A" name="GL_IMAGE_ROTATE_ORIGIN_X_HP" group="ImageTransformPNameHP"/>
+        <enum value="0x815B" name="GL_IMAGE_ROTATE_ORIGIN_Y_HP" group="ImageTransformPNameHP"/>
+        <enum value="0x815C" name="GL_IMAGE_MAG_FILTER_HP" group="ImageTransformPNameHP"/>
+        <enum value="0x815D" name="GL_IMAGE_MIN_FILTER_HP" group="ImageTransformPNameHP"/>
+        <enum value="0x815E" name="GL_IMAGE_CUBIC_WEIGHT_HP" group="ImageTransformPNameHP"/>
+        <enum value="0x815F" name="GL_CUBIC_HP"/>
+        <enum value="0x8160" name="GL_AVERAGE_HP"/>
+        <enum value="0x8161" name="GL_IMAGE_TRANSFORM_2D_HP" group="ImageTransformTargetHP"/>
+        <enum value="0x8162" name="GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP"/>
+        <enum value="0x8163" name="GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP"/>
+            <unused start="0x8164" vendor="HP"/>
+        <enum value="0x8165" name="GL_OCCLUSION_TEST_HP"/>
+        <enum value="0x8166" name="GL_OCCLUSION_TEST_RESULT_HP"/>
+        <enum value="0x8167" name="GL_TEXTURE_LIGHTING_MODE_HP"/>
+        <enum value="0x8168" name="GL_TEXTURE_POST_SPECULAR_HP"/>
+        <enum value="0x8169" name="GL_TEXTURE_PRE_SPECULAR_HP"/>
+            <unused start="0x816A" end="0x816F" vendor="HP"/>
     </enums>
 
-    <enums namespace="GL" start="0x9380" end="0x939F" vendor="ARB">
-        <enum value="0x9380" name="GL_NUM_SAMPLE_COUNTS"/>
-            <unused start="0x9381" end="0x939F"/>
+    <enums namespace="GL" start="0x8170" end="0x81CF" vendor="SGI">
+        <enum value="0x8170" name="GL_LINEAR_CLIPMAP_LINEAR_SGIX" group="TextureMinFilter"/>
+        <enum value="0x8171" name="GL_TEXTURE_CLIPMAP_CENTER_SGIX" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8172" name="GL_TEXTURE_CLIPMAP_FRAME_SGIX" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8173" name="GL_TEXTURE_CLIPMAP_OFFSET_SGIX" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8174" name="GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8175" name="GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8176" name="GL_TEXTURE_CLIPMAP_DEPTH_SGIX" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8177" name="GL_MAX_CLIPMAP_DEPTH_SGIX" group="GetPName"/>
+        <enum value="0x8178" name="GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX" group="GetPName"/>
+        <enum value="0x8179" name="GL_POST_TEXTURE_FILTER_BIAS_SGIX" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x817A" name="GL_POST_TEXTURE_FILTER_SCALE_SGIX" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x817B" name="GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX" group="GetPName"/>
+        <enum value="0x817C" name="GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX" group="GetPName"/>
+        <enum value="0x817D" name="GL_REFERENCE_PLANE_SGIX" group="GetPName,EnableCap"/>
+        <enum value="0x817E" name="GL_REFERENCE_PLANE_EQUATION_SGIX" group="GetPName"/>
+        <enum value="0x817F" name="GL_IR_INSTRUMENT1_SGIX" group="GetPName,EnableCap"/>
+        <enum value="0x8180" name="GL_INSTRUMENT_BUFFER_POINTER_SGIX" group="GetPointervPName"/>
+        <enum value="0x8181" name="GL_INSTRUMENT_MEASUREMENTS_SGIX" group="GetPName"/>
+        <enum value="0x8182" name="GL_LIST_PRIORITY_SGIX" group="ListParameterName"/>
+        <enum value="0x8183" name="GL_CALLIGRAPHIC_FRAGMENT_SGIX" group="GetPName,EnableCap"/>
+        <enum value="0x8184" name="GL_PIXEL_TEX_GEN_Q_CEILING_SGIX" group="TextureMinFilter,PixelTexGenModeSGIX,TextureMagFilter"/>
+        <enum value="0x8185" name="GL_PIXEL_TEX_GEN_Q_ROUND_SGIX" group="TextureMinFilter,PixelTexGenModeSGIX,TextureMagFilter"/>
+        <enum value="0x8186" name="GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX" group="TextureMinFilter,PixelTexGenModeSGIX,TextureMagFilter"/>
+        <enum value="0x8187" name="GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX" group="PixelTexGenMode"/>
+        <enum value="0x8188" name="GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX" group="PixelTexGenMode"/>
+        <enum value="0x8189" name="GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX" group="PixelTexGenMode,PixelTexGenModeSGIX"/>
+        <enum value="0x818A" name="GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX" group="PixelTexGenMode,PixelTexGenModeSGIX"/>
+        <enum value="0x818B" name="GL_FRAMEZOOM_SGIX" group="GetPName,EnableCap"/>
+        <enum value="0x818C" name="GL_FRAMEZOOM_FACTOR_SGIX" group="GetPName"/>
+        <enum value="0x818D" name="GL_MAX_FRAMEZOOM_FACTOR_SGIX" group="GetPName"/>
+        <enum value="0x818E" name="GL_TEXTURE_LOD_BIAS_S_SGIX" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x818F" name="GL_TEXTURE_LOD_BIAS_T_SGIX" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8190" name="GL_TEXTURE_LOD_BIAS_R_SGIX" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8191" name="GL_GENERATE_MIPMAP" group="InternalFormatPName,TextureParameterName"/>
+        <enum value="0x8191" name="GL_GENERATE_MIPMAP_SGIS" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x8192" name="GL_GENERATE_MIPMAP_HINT" group="HintTarget"/>
+        <enum value="0x8192" name="GL_GENERATE_MIPMAP_HINT_SGIS" group="HintTarget,GetPName"/>
+            <unused start="0x8193" end="0x8193" comment="Incomplete extension SGIX_spotlight_cutoff"/>
+            <!-- <enum value="0x8193" name="GL_SPOT_CUTOFF_DELTA_SGIX"/> -->
+        <enum value="0x8194" name="GL_GEOMETRY_DEFORMATION_SGIX" group="MapTarget,FfdTargetSGIX"/>
+        <enum value="0x8195" name="GL_TEXTURE_DEFORMATION_SGIX" group="MapTarget,FfdTargetSGIX"/>
+        <enum value="0x8196" name="GL_DEFORMATIONS_MASK_SGIX" group="GetPName"/>
+        <enum value="0x8197" name="GL_MAX_DEFORMATION_ORDER_SGIX"/>
+        <enum value="0x8198" name="GL_FOG_OFFSET_SGIX" group="GetPName,EnableCap"/>
+        <enum value="0x8199" name="GL_FOG_OFFSET_VALUE_SGIX" group="GetPName,FogParameter"/>
+        <enum value="0x819A" name="GL_TEXTURE_COMPARE_SGIX" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x819B" name="GL_TEXTURE_COMPARE_OPERATOR_SGIX" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x819C" name="GL_TEXTURE_LEQUAL_R_SGIX" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x819D" name="GL_TEXTURE_GEQUAL_R_SGIX" group="TextureParameterName,GetTextureParameter"/>
+            <unused start="0x819E" end="0x81A4" comment="Private (internal) extension SGIX_igloo_interface"/>
+            <!-- <enum value="0x819E" name="GL_IGLOO_FULLSCREEN_SGIX"/> -->
+            <!-- <enum value="0x819F" name="GL_IGLOO_VIEWPORT_OFFSET_SGIX"/> -->
+            <!-- <enum value="0x81A0" name="GL_IGLOO_SWAPTMESH_SGIX"/> -->
+            <!-- <enum value="0x81A1" name="GL_IGLOO_COLORNORMAL_SGIX"/> -->
+            <!-- <enum value="0x81A2" name="GL_IGLOO_IRISGL_MODE_SGIX"/> -->
+            <!-- <enum value="0x81A3" name="GL_IGLOO_LMC_COLOR_SGIX"/> -->
+            <!-- <enum value="0x81A4" name="GL_IGLOO_TMESHMODE_SGIX"/> -->
+        <enum value="0x81A5" name="GL_DEPTH_COMPONENT16" group="InternalFormat"/>
+        <enum value="0x81A5" name="GL_DEPTH_COMPONENT16_ARB" group="InternalFormat"/>
+        <enum value="0x81A5" name="GL_DEPTH_COMPONENT16_OES" group="InternalFormat"/>
+        <enum value="0x81A5" name="GL_DEPTH_COMPONENT16_SGIX" group="InternalFormat"/>
+        <enum value="0x81A6" name="GL_DEPTH_COMPONENT24"/>
+        <enum value="0x81A6" name="GL_DEPTH_COMPONENT24_ARB" group="InternalFormat"/>
+        <enum value="0x81A6" name="GL_DEPTH_COMPONENT24_OES" group="InternalFormat"/>
+        <enum value="0x81A6" name="GL_DEPTH_COMPONENT24_SGIX" group="InternalFormat"/>
+        <enum value="0x81A7" name="GL_DEPTH_COMPONENT32"/>
+        <enum value="0x81A7" name="GL_DEPTH_COMPONENT32_ARB" group="InternalFormat"/>
+        <enum value="0x81A7" name="GL_DEPTH_COMPONENT32_OES" group="InternalFormat"/>
+        <enum value="0x81A7" name="GL_DEPTH_COMPONENT32_SGIX" group="InternalFormat"/>
+        <enum value="0x81A8" name="GL_ARRAY_ELEMENT_LOCK_FIRST_EXT"/>
+        <enum value="0x81A9" name="GL_ARRAY_ELEMENT_LOCK_COUNT_EXT"/>
+        <enum value="0x81AA" name="GL_CULL_VERTEX_EXT"/>
+        <enum value="0x81AB" name="GL_CULL_VERTEX_EYE_POSITION_EXT" group="CullParameterEXT"/>
+        <enum value="0x81AC" name="GL_CULL_VERTEX_OBJECT_POSITION_EXT" group="CullParameterEXT"/>
+        <enum value="0x81AD" name="GL_IUI_V2F_EXT"/>
+        <enum value="0x81AE" name="GL_IUI_V3F_EXT"/>
+        <enum value="0x81AF" name="GL_IUI_N3F_V2F_EXT"/>
+        <enum value="0x81B0" name="GL_IUI_N3F_V3F_EXT"/>
+        <enum value="0x81B1" name="GL_T2F_IUI_V2F_EXT"/>
+        <enum value="0x81B2" name="GL_T2F_IUI_V3F_EXT"/>
+        <enum value="0x81B3" name="GL_T2F_IUI_N3F_V2F_EXT"/>
+        <enum value="0x81B4" name="GL_T2F_IUI_N3F_V3F_EXT"/>
+        <enum value="0x81B5" name="GL_INDEX_TEST_EXT"/>
+        <enum value="0x81B6" name="GL_INDEX_TEST_FUNC_EXT"/>
+        <enum value="0x81B7" name="GL_INDEX_TEST_REF_EXT"/>
+        <enum value="0x81B8" name="GL_INDEX_MATERIAL_EXT"/>
+        <enum value="0x81B9" name="GL_INDEX_MATERIAL_PARAMETER_EXT"/>
+        <enum value="0x81BA" name="GL_INDEX_MATERIAL_FACE_EXT"/>
+        <enum value="0x81BB" name="GL_YCRCB_422_SGIX" group="PixelFormat"/>
+        <enum value="0x81BC" name="GL_YCRCB_444_SGIX" group="PixelFormat"/>
+            <unused start="0x81BD" end="0x81C3" comment="Incomplete extension SGI_complex_type"/>
+            <!-- <enum value="0x81BD" name="GL_COMPLEX_UNSIGNED_BYTE_SGI"/> -->
+            <!-- <enum value="0x81BE" name="GL_COMPLEX_BYTE_SGI"/> -->
+            <!-- <enum value="0x81BF" name="GL_COMPLEX_UNSIGNED_SHORT_SGI"/> -->
+            <!-- <enum value="0x81C0" name="GL_COMPLEX_SHORT_SGI"/> -->
+            <!-- <enum value="0x81C1" name="GL_COMPLEX_UNSIGNED_INT_SGI"/> -->
+            <!-- <enum value="0x81C2" name="GL_COMPLEX_INT_SGI"/> -->
+            <!-- <enum value="0x81C3" name="GL_COMPLEX_FLOAT_SGI"/> -->
+            <unused start="0x81C4" end="0x81CA" comment="Incomplete extension SGI_fft"/>
+            <!-- <enum value="0x81C4" name="GL_PIXEL_TRANSFORM_OPERATOR_SGI"/> -->
+            <!-- <enum value="0x81C5" name="GL_CONVOLUTION_SGI"/> -->
+            <!-- <enum value="0x81C6" name="GL_FFT_1D_SGI"/> -->
+            <!-- <enum value="0x81C7" name="GL_PIXEL_TRANSFORM_SGI"/> -->
+            <!-- <enum value="0x81C8" name="GL_MAX_FFT_WIDTH_SGI"/> -->
+            <!-- <enum value="0x81C9" name="GL_SORT_SGI"/> -->
+            <!-- <enum value="0x81CA" name="GL_TRANSPOSE_SGI"/> -->
+            <unused start="0x81CB" end="0x81CF" comment="Incomplete extension SGIX_nurbs_eval"/>
+            <!-- <enum value="0x81CB" name="GL_MAP1_VERTEX_3_NURBS_SGIX"/> -->
+            <!-- <enum value="0x81CC" name="GL_MAP1_VERTEX_4_NURBS_SGIX"/> -->
+            <!-- <enum value="0x81CD" name="GL_MAP1_INDEX_NURBS_SGIX"/> -->
+            <!-- <enum value="0x81CE" name="GL_MAP1_COLOR_4_NURBS_SGIX"/> -->
+            <!-- <enum value="0x81CF" name="GL_MAP1_NORMAL_NURBS_SGIX"/> -->
     </enums>
 
-    <enums namespace="GL" start="0x93A0" end="0x93AF" vendor="ANGLE" comment="Khronos bug 8100">
-        <enum value="0x93A0" name="GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE"/>
-        <enum value="0x93A1" name="GL_BGRA8_EXT"/>
-        <enum value="0x93A2" name="GL_TEXTURE_USAGE_ANGLE"/>
-        <enum value="0x93A3" name="GL_FRAMEBUFFER_ATTACHMENT_ANGLE"/>
-        <enum value="0x93A4" name="GL_PACK_REVERSE_ROW_ORDER_ANGLE"/>
-            <unused start="0x93A5"/>
-        <enum value="0x93A6" name="GL_PROGRAM_BINARY_ANGLE"/>
-            <unused start="0x93A7" end="0x93AF"/>
+    <enums namespace="GL" start="0x81D0" end="0x81DF" vendor="SUN">
+            <unused start="0x81D0" end="0x81D1" vendor="SUN"/>
+            <unused start="0x81D2" end="0x81D3" comment="No extension spec SUNX_surface_hint"/>
+            <!-- <enum value="0x81D2" name="GL_SURFACE_SIZE_HINT_SUNX"/> -->
+            <!-- <enum value="0x81D3" name="GL_LARGE_SUNX"/> -->
+        <enum value="0x81D4" name="GL_WRAP_BORDER_SUN"/>
+        <enum value="0x81D5" name="GL_UNPACK_CONSTANT_DATA_SUNX"/>
+        <enum value="0x81D6" name="GL_TEXTURE_CONSTANT_DATA_SUNX"/>
+        <enum value="0x81D7" name="GL_TRIANGLE_LIST_SUN"/>
+        <enum value="0x81D8" name="GL_REPLACEMENT_CODE_SUN"/>
+        <enum value="0x81D9" name="GL_GLOBAL_ALPHA_SUN"/>
+        <enum value="0x81DA" name="GL_GLOBAL_ALPHA_FACTOR_SUN"/>
+            <unused start="0x81DB" end="0x81DF" vendor="SUN"/>
     </enums>
 
-    <enums namespace="GL" start="0x93B0" end="0x93EF" vendor="OES" comment="Khronos bug 8853">
-        <enum value="0x93B0" name="GL_COMPRESSED_RGBA_ASTC_4x4_KHR"/>
-        <enum value="0x93B1" name="GL_COMPRESSED_RGBA_ASTC_5x4_KHR"/>
-        <enum value="0x93B2" name="GL_COMPRESSED_RGBA_ASTC_5x5_KHR"/>
-        <enum value="0x93B3" name="GL_COMPRESSED_RGBA_ASTC_6x5_KHR"/>
-        <enum value="0x93B4" name="GL_COMPRESSED_RGBA_ASTC_6x6_KHR"/>
-        <enum value="0x93B5" name="GL_COMPRESSED_RGBA_ASTC_8x5_KHR"/>
-        <enum value="0x93B6" name="GL_COMPRESSED_RGBA_ASTC_8x6_KHR"/>
-        <enum value="0x93B7" name="GL_COMPRESSED_RGBA_ASTC_8x8_KHR"/>
-        <enum value="0x93B8" name="GL_COMPRESSED_RGBA_ASTC_10x5_KHR"/>
-        <enum value="0x93B9" name="GL_COMPRESSED_RGBA_ASTC_10x6_KHR"/>
-        <enum value="0x93BA" name="GL_COMPRESSED_RGBA_ASTC_10x8_KHR"/>
-        <enum value="0x93BB" name="GL_COMPRESSED_RGBA_ASTC_10x10_KHR"/>
-        <enum value="0x93BC" name="GL_COMPRESSED_RGBA_ASTC_12x10_KHR"/>
-        <enum value="0x93BD" name="GL_COMPRESSED_RGBA_ASTC_12x12_KHR"/>
-            <unused start="0x93BE" end="0x93CF"/>
-        <enum value="0x93D0" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"/>
-        <enum value="0x93D1" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"/>
-        <enum value="0x93D2" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"/>
-        <enum value="0x93D3" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR"/>
-        <enum value="0x93D4" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR"/>
-        <enum value="0x93D5" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"/>
-        <enum value="0x93D6" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"/>
-        <enum value="0x93D7" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"/>
-        <enum value="0x93D8" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR"/>
-        <enum value="0x93D9" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR"/>
-        <enum value="0x93DA" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"/>
-        <enum value="0x93DB" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"/>
-        <enum value="0x93DC" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"/>
-        <enum value="0x93DD" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"/>
-            <unused start="0x93DE" end="0x93EF"/>
+    <enums namespace="GL" start="0x81E0" end="0x81FF" vendor="SGI">
+            <unused start="0x81E0" end="0x81EE" comment="Incomplete extension SGIX_nurbs_eval"/>
+            <!-- <enum value="0x81E0" name="GL_MAP1_TEXTURE_COORD_1_NURBS_SGIX"/> -->
+            <!-- <enum value="0x81E1" name="GL_MAP1_TEXTURE_COORD_2_NURBS_SGIX"/> -->
+            <!-- <enum value="0x81E2" name="GL_MAP1_TEXTURE_COORD_3_NURBS_SGIX"/> -->
+            <!-- <enum value="0x81E3" name="GL_MAP1_TEXTURE_COORD_4_NURBS_SGIX"/> -->
+            <!-- <enum value="0x81E4" name="GL_MAP2_VERTEX_3_NURBS_SGIX"/> -->
+            <!-- <enum value="0x81E5" name="GL_MAP2_VERTEX_4_NURBS_SGIX"/> -->
+            <!-- <enum value="0x81E6" name="GL_MAP2_INDEX_NURBS_SGIX"/> -->
+            <!-- <enum value="0x81E7" name="GL_MAP2_COLOR_4_NURBS_SGIX"/> -->
+            <!-- <enum value="0x81E8" name="GL_MAP2_NORMAL_NURBS_SGIX"/> -->
+            <!-- <enum value="0x81E9" name="GL_MAP2_TEXTURE_COORD_1_NURBS_SGIX"/> -->
+            <!-- <enum value="0x81EA" name="GL_MAP2_TEXTURE_COORD_2_NURBS_SGIX"/> -->
+            <!-- <enum value="0x81EB" name="GL_MAP2_TEXTURE_COORD_3_NURBS_SGIX"/> -->
+            <!-- <enum value="0x81EC" name="GL_MAP2_TEXTURE_COORD_4_NURBS_SGIX"/> -->
+            <!-- <enum value="0x81ED" name="GL_NURBS_KNOT_COUNT_SGIX"/> -->
+            <!-- <enum value="0x81EE" name="GL_NURBS_KNOT_VECTOR_SGIX"/> -->
+        <enum value="0x81EF" name="GL_TEXTURE_COLOR_WRITEMASK_SGIS"/>
+        <enum value="0x81F0" name="GL_EYE_DISTANCE_TO_POINT_SGIS" group="TextureGenMode"/>
+        <enum value="0x81F1" name="GL_OBJECT_DISTANCE_TO_POINT_SGIS" group="TextureGenMode"/>
+        <enum value="0x81F2" name="GL_EYE_DISTANCE_TO_LINE_SGIS" group="TextureGenMode"/>
+        <enum value="0x81F3" name="GL_OBJECT_DISTANCE_TO_LINE_SGIS" group="TextureGenMode"/>
+        <enum value="0x81F4" name="GL_EYE_POINT_SGIS" group="TextureGenParameter"/>
+        <enum value="0x81F5" name="GL_OBJECT_POINT_SGIS" group="TextureGenParameter"/>
+        <enum value="0x81F6" name="GL_EYE_LINE_SGIS" group="TextureGenParameter"/>
+        <enum value="0x81F7" name="GL_OBJECT_LINE_SGIS" group="TextureGenParameter"/>
+        <enum value="0x81F8" name="GL_LIGHT_MODEL_COLOR_CONTROL" group="LightModelParameter,GetPName"/>
+        <enum value="0x81F8" name="GL_LIGHT_MODEL_COLOR_CONTROL_EXT" group="LightModelParameter"/>
+        <enum value="0x81F9" name="GL_SINGLE_COLOR" group="LightModelColorControl"/>
+        <enum value="0x81F9" name="GL_SINGLE_COLOR_EXT" group="LightModelColorControl"/>
+        <enum value="0x81FA" name="GL_SEPARATE_SPECULAR_COLOR" group="LightModelColorControl"/>
+        <enum value="0x81FA" name="GL_SEPARATE_SPECULAR_COLOR_EXT" group="LightModelColorControl"/>
+        <enum value="0x81FB" name="GL_SHARED_TEXTURE_PALETTE_EXT" group="GetPName,EnableCap"/>
+            <unused start="0x81FC" end="0x81FD" comment="Incomplete extension SGIX_fog_scale"/>
+            <!-- <enum value="0x81FC" name="GL_FOG_SCALE_SGIX"/> -->
+            <!-- <enum value="0x81FD" name="GL_FOG_SCALE_VALUE_SGIX"/> -->
+            <unused start="0x81FE" end="0x81FF" comment="Incomplete extension SGIX_fog_blend"/>
+            <!-- <enum value="0x81FE" name="GL_FOG_BLEND_ALPHA_SGIX"/> -->
+            <!-- <enum value="0x81FF" name="GL_FOG_BLEND_COLOR_SGIX"/> -->
     </enums>
 
-    <enums namespace="GL" start="0x93F0" end="0x94EF" vendor="APPLE" comment="Khronos bug 10233">
-            <unused start="0x93F0" end="0x94EF"/>
+    <enums namespace="GL" start="0x8200" end="0x820F" vendor="AMD" comment="Range released by MS 2002/9/16">
+        <enum value="0x8200" name="GL_TEXT_FRAGMENT_SHADER_ATI" group="ProgramTarget"/>
+            <unused start="0x8201" end="0x820F" vendor="AMD"/>
     </enums>
 
-<!-- Enums reservable for future use. To reserve a new range, allocate one
-     or more multiples of 16 starting at the lowest available point in this
-     block and note it in a new <enums> block immediately above.
-
-     Please remember that new enumerant allocations must be obtained by
-     request to the Khronos API registrar (see comments at the top of this
-     file) File requests in the Khronos Bugzilla, OpenGL project, Registry
-     component. -->
-
-    <enums namespace="GL" start="0x94F0" end="99999" vendor="ARB" comment="RESERVED FOR FUTURE ALLOCATIONS BY KHRONOS">
-        <unused start="0x94F0" end="99999"/>
+    <enums namespace="GL" start="0x8210" end="0x823F" vendor="ARB">
+        <enum value="0x8210" name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8210" name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8211" name="GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8211" name="GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8212" name="GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8213" name="GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8214" name="GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8215" name="GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8216" name="GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8217" name="GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8218" name="GL_FRAMEBUFFER_DEFAULT"/>
+        <enum value="0x8219" name="GL_FRAMEBUFFER_UNDEFINED" group="FramebufferStatus"/>
+        <enum value="0x8219" name="GL_FRAMEBUFFER_UNDEFINED_OES"/>
+        <enum value="0x821A" name="GL_DEPTH_STENCIL_ATTACHMENT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x821B" name="GL_MAJOR_VERSION" group="GetPName"/>
+        <enum value="0x821C" name="GL_MINOR_VERSION" group="GetPName"/>
+        <enum value="0x821D" name="GL_NUM_EXTENSIONS" group="GetPName"/>
+        <enum value="0x821E" name="GL_CONTEXT_FLAGS" group="GetPName"/>
+        <enum value="0x821F" name="GL_BUFFER_IMMUTABLE_STORAGE" group="VertexBufferObjectParameter,BufferPNameARB"/>
+        <enum value="0x821F" name="GL_BUFFER_IMMUTABLE_STORAGE_EXT"/>
+        <enum value="0x8220" name="GL_BUFFER_STORAGE_FLAGS" group="VertexBufferObjectParameter,BufferPNameARB"/>
+        <enum value="0x8220" name="GL_BUFFER_STORAGE_FLAGS_EXT"/>
+        <enum value="0x8221" name="GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED"/>
+        <enum value="0x8221" name="GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES"/>
+        <enum value="0x8222" name="GL_INDEX"/>
+            <unused start="0x8223" vendor="ARB" comment="GL_DEPTH_BUFFER = 0x8223 not actually used in the API"/>
+            <unused start="0x8224" vendor="ARB" comment="GL_STENCIL_BUFFER = 0x8224 not actually used in the API"/>
+        <enum value="0x8225" name="GL_COMPRESSED_RED" group="InternalFormat"/>
+        <enum value="0x8226" name="GL_COMPRESSED_RG" group="InternalFormat"/>
+        <enum value="0x8227" name="GL_RG" group="InternalFormat,PixelFormat"/>
+        <enum value="0x8227" name="GL_RG_EXT"/>
+        <enum value="0x8228" name="GL_RG_INTEGER" group="PixelFormat"/>
+        <enum value="0x8229" name="GL_R8" group="InternalFormat"/>
+        <enum value="0x8229" name="GL_R8_EXT" group="InternalFormat"/>
+        <enum value="0x822A" name="GL_R16" group="InternalFormat"/>
+        <enum value="0x822A" name="GL_R16_EXT" group="InternalFormat"/>
+        <enum value="0x822B" name="GL_RG8" group="InternalFormat"/>
+        <enum value="0x822B" name="GL_RG8_EXT" group="InternalFormat"/>
+        <enum value="0x822C" name="GL_RG16" group="InternalFormat"/>
+        <enum value="0x822C" name="GL_RG16_EXT" group="InternalFormat"/>
+        <enum value="0x822D" name="GL_R16F" group="InternalFormat"/>
+        <enum value="0x822D" name="GL_R16F_EXT" group="InternalFormat"/>
+        <enum value="0x822E" name="GL_R32F" group="InternalFormat"/>
+        <enum value="0x822E" name="GL_R32F_EXT" group="InternalFormat"/>
+        <enum value="0x822F" name="GL_RG16F" group="InternalFormat"/>
+        <enum value="0x822F" name="GL_RG16F_EXT" group="InternalFormat"/>
+        <enum value="0x8230" name="GL_RG32F" group="InternalFormat"/>
+        <enum value="0x8230" name="GL_RG32F_EXT" group="InternalFormat"/>
+        <enum value="0x8231" name="GL_R8I" group="InternalFormat"/>
+        <enum value="0x8232" name="GL_R8UI" group="InternalFormat"/>
+        <enum value="0x8233" name="GL_R16I" group="InternalFormat"/>
+        <enum value="0x8234" name="GL_R16UI" group="InternalFormat"/>
+        <enum value="0x8235" name="GL_R32I" group="InternalFormat"/>
+        <enum value="0x8236" name="GL_R32UI" group="InternalFormat"/>
+        <enum value="0x8237" name="GL_RG8I" group="InternalFormat"/>
+        <enum value="0x8238" name="GL_RG8UI" group="InternalFormat"/>
+        <enum value="0x8239" name="GL_RG16I" group="InternalFormat"/>
+        <enum value="0x823A" name="GL_RG16UI" group="InternalFormat"/>
+        <enum value="0x823B" name="GL_RG32I" group="InternalFormat"/>
+        <enum value="0x823C" name="GL_RG32UI" group="InternalFormat"/>
+            <unused start="0x823D" end="0x823F" vendor="ARB"/>
     </enums>
 
-<!-- Historical large block allocations, all unused except (in older days) by IBM -->
-    <enums namespace="GL" start="100000" end="100999" vendor="ARB" comment="GLU enums"/>
-    <enums namespace="GL" start="101000" end="101999" vendor="ARB" comment="Conformance test enums"/>
-    <enums namespace="GL" start="102000" end="102999" vendor="ARB" comment="Unused, unlikely to ever be used"/>
-
-    <enums namespace="GL" start="103000" end="103999" vendor="IBM" comment="IBM is out of the graphics hardware business. Most of this range will remain unused.">
-        <enum value="0x19262" name="GL_RASTER_POSITION_UNCLIPPED_IBM"/>
-        <enum value="103050" name="GL_CULL_VERTEX_IBM"/>
-        <enum value="103060" name="GL_ALL_STATIC_DATA_IBM"/>
-        <enum value="103061" name="GL_STATIC_VERTEX_ARRAY_IBM"/>
-        <enum value="103070" name="GL_VERTEX_ARRAY_LIST_IBM"/>
-        <enum value="103071" name="GL_NORMAL_ARRAY_LIST_IBM"/>
-        <enum value="103072" name="GL_COLOR_ARRAY_LIST_IBM"/>
-        <enum value="103073" name="GL_INDEX_ARRAY_LIST_IBM"/>
-        <enum value="103074" name="GL_TEXTURE_COORD_ARRAY_LIST_IBM"/>
-        <enum value="103075" name="GL_EDGE_FLAG_ARRAY_LIST_IBM"/>
-        <enum value="103076" name="GL_FOG_COORDINATE_ARRAY_LIST_IBM"/>
-        <enum value="103077" name="GL_SECONDARY_COLOR_ARRAY_LIST_IBM"/>
-        <enum value="103080" name="GL_VERTEX_ARRAY_LIST_STRIDE_IBM"/>
-        <enum value="103081" name="GL_NORMAL_ARRAY_LIST_STRIDE_IBM"/>
-        <enum value="103082" name="GL_COLOR_ARRAY_LIST_STRIDE_IBM"/>
-        <enum value="103083" name="GL_INDEX_ARRAY_LIST_STRIDE_IBM"/>
-        <enum value="103084" name="GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM"/>
-        <enum value="103085" name="GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM"/>
-        <enum value="103086" name="GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM"/>
-        <enum value="103087" name="GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM"/>
+    <enums namespace="GL" start="0x8240" end="0x82AF" vendor="ARB" comment="Range released by MS on 2002/9/16">
+        <enum value="0x8240" name="GL_SYNC_CL_EVENT_ARB"/>
+        <enum value="0x8241" name="GL_SYNC_CL_EVENT_COMPLETE_ARB"/>
+        <enum value="0x8242" name="GL_DEBUG_OUTPUT_SYNCHRONOUS" group="EnableCap"/>
+        <enum value="0x8242" name="GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB"/>
+        <enum value="0x8242" name="GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR"/>
+        <enum value="0x8243" name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH"/>
+        <enum value="0x8243" name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB"/>
+        <enum value="0x8243" name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR"/>
+        <enum value="0x8244" name="GL_DEBUG_CALLBACK_FUNCTION" group="GetPointervPName"/>
+        <enum value="0x8244" name="GL_DEBUG_CALLBACK_FUNCTION_ARB"/>
+        <enum value="0x8244" name="GL_DEBUG_CALLBACK_FUNCTION_KHR"/>
+        <enum value="0x8245" name="GL_DEBUG_CALLBACK_USER_PARAM" group="GetPointervPName"/>
+        <enum value="0x8245" name="GL_DEBUG_CALLBACK_USER_PARAM_ARB"/>
+        <enum value="0x8245" name="GL_DEBUG_CALLBACK_USER_PARAM_KHR"/>
+        <enum value="0x8246" name="GL_DEBUG_SOURCE_API" group="DebugSource"/>
+        <enum value="0x8246" name="GL_DEBUG_SOURCE_API_ARB"/>
+        <enum value="0x8246" name="GL_DEBUG_SOURCE_API_KHR"/>
+        <enum value="0x8247" name="GL_DEBUG_SOURCE_WINDOW_SYSTEM" group="DebugSource"/>
+        <enum value="0x8247" name="GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB"/>
+        <enum value="0x8247" name="GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR"/>
+        <enum value="0x8248" name="GL_DEBUG_SOURCE_SHADER_COMPILER" group="DebugSource"/>
+        <enum value="0x8248" name="GL_DEBUG_SOURCE_SHADER_COMPILER_ARB"/>
+        <enum value="0x8248" name="GL_DEBUG_SOURCE_SHADER_COMPILER_KHR"/>
+        <enum value="0x8249" name="GL_DEBUG_SOURCE_THIRD_PARTY" group="DebugSource"/>
+        <enum value="0x8249" name="GL_DEBUG_SOURCE_THIRD_PARTY_ARB"/>
+        <enum value="0x8249" name="GL_DEBUG_SOURCE_THIRD_PARTY_KHR"/>
+        <enum value="0x824A" name="GL_DEBUG_SOURCE_APPLICATION" group="DebugSource"/>
+        <enum value="0x824A" name="GL_DEBUG_SOURCE_APPLICATION_ARB"/>
+        <enum value="0x824A" name="GL_DEBUG_SOURCE_APPLICATION_KHR"/>
+        <enum value="0x824B" name="GL_DEBUG_SOURCE_OTHER" group="DebugSource"/>
+        <enum value="0x824B" name="GL_DEBUG_SOURCE_OTHER_ARB"/>
+        <enum value="0x824B" name="GL_DEBUG_SOURCE_OTHER_KHR"/>
+        <enum value="0x824C" name="GL_DEBUG_TYPE_ERROR" group="DebugType"/>
+        <enum value="0x824C" name="GL_DEBUG_TYPE_ERROR_ARB"/>
+        <enum value="0x824C" name="GL_DEBUG_TYPE_ERROR_KHR"/>
+        <enum value="0x824D" name="GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR" group="DebugType"/>
+        <enum value="0x824D" name="GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB"/>
+        <enum value="0x824D" name="GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR"/>
+        <enum value="0x824E" name="GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR" group="DebugType"/>
+        <enum value="0x824E" name="GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB"/>
+        <enum value="0x824E" name="GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR"/>
+        <enum value="0x824F" name="GL_DEBUG_TYPE_PORTABILITY" group="DebugType"/>
+        <enum value="0x824F" name="GL_DEBUG_TYPE_PORTABILITY_ARB"/>
+        <enum value="0x824F" name="GL_DEBUG_TYPE_PORTABILITY_KHR"/>
+        <enum value="0x8250" name="GL_DEBUG_TYPE_PERFORMANCE" group="DebugType"/>
+        <enum value="0x8250" name="GL_DEBUG_TYPE_PERFORMANCE_ARB"/>
+        <enum value="0x8250" name="GL_DEBUG_TYPE_PERFORMANCE_KHR"/>
+        <enum value="0x8251" name="GL_DEBUG_TYPE_OTHER" group="DebugType"/>
+        <enum value="0x8251" name="GL_DEBUG_TYPE_OTHER_ARB"/>
+        <enum value="0x8251" name="GL_DEBUG_TYPE_OTHER_KHR"/>
+        <enum value="0x8252" name="GL_LOSE_CONTEXT_ON_RESET"/>
+        <enum value="0x8252" name="GL_LOSE_CONTEXT_ON_RESET_ARB"/>
+        <enum value="0x8252" name="GL_LOSE_CONTEXT_ON_RESET_EXT"/>
+        <enum value="0x8252" name="GL_LOSE_CONTEXT_ON_RESET_KHR"/>
+        <enum value="0x8253" name="GL_GUILTY_CONTEXT_RESET" group="GraphicsResetStatus"/>
+        <enum value="0x8253" name="GL_GUILTY_CONTEXT_RESET_ARB"/>
+        <enum value="0x8253" name="GL_GUILTY_CONTEXT_RESET_EXT"/>
+        <enum value="0x8253" name="GL_GUILTY_CONTEXT_RESET_KHR"/>
+        <enum value="0x8254" name="GL_INNOCENT_CONTEXT_RESET" group="GraphicsResetStatus"/>
+        <enum value="0x8254" name="GL_INNOCENT_CONTEXT_RESET_ARB"/>
+        <enum value="0x8254" name="GL_INNOCENT_CONTEXT_RESET_EXT"/>
+        <enum value="0x8254" name="GL_INNOCENT_CONTEXT_RESET_KHR"/>
+        <enum value="0x8255" name="GL_UNKNOWN_CONTEXT_RESET" group="GraphicsResetStatus"/>
+        <enum value="0x8255" name="GL_UNKNOWN_CONTEXT_RESET_ARB"/>
+        <enum value="0x8255" name="GL_UNKNOWN_CONTEXT_RESET_EXT"/>
+        <enum value="0x8255" name="GL_UNKNOWN_CONTEXT_RESET_KHR"/>
+        <enum value="0x8256" name="GL_RESET_NOTIFICATION_STRATEGY"/>
+        <enum value="0x8256" name="GL_RESET_NOTIFICATION_STRATEGY_ARB"/>
+        <enum value="0x8256" name="GL_RESET_NOTIFICATION_STRATEGY_EXT"/>
+        <enum value="0x8256" name="GL_RESET_NOTIFICATION_STRATEGY_KHR"/>
+        <enum value="0x8257" name="GL_PROGRAM_BINARY_RETRIEVABLE_HINT" group="ProgramParameterPName,HintTarget"/>
+        <enum value="0x8258" name="GL_PROGRAM_SEPARABLE" group="ProgramParameterPName"/>
+        <enum value="0x8258" name="GL_PROGRAM_SEPARABLE_EXT"/>
+        <enum value="0x8259" name="GL_ACTIVE_PROGRAM" group="PipelineParameterName"/>
+        <enum value="0x8259" api="gles2" name="GL_ACTIVE_PROGRAM_EXT" comment="For the OpenGL ES version of EXT_separate_shader_objects"/>
+        <enum value="0x825A" name="GL_PROGRAM_PIPELINE_BINDING" group="GetPName"/>
+        <enum value="0x825A" name="GL_PROGRAM_PIPELINE_BINDING_EXT"/>
+        <enum value="0x825B" name="GL_MAX_VIEWPORTS" group="GetPName"/>
+        <enum value="0x825B" name="GL_MAX_VIEWPORTS_NV"/>
+        <enum value="0x825B" name="GL_MAX_VIEWPORTS_OES"/>
+        <enum value="0x825C" name="GL_VIEWPORT_SUBPIXEL_BITS" group="GetPName"/>
+        <enum value="0x825C" name="GL_VIEWPORT_SUBPIXEL_BITS_EXT"/>
+        <enum value="0x825C" name="GL_VIEWPORT_SUBPIXEL_BITS_NV"/>
+        <enum value="0x825C" name="GL_VIEWPORT_SUBPIXEL_BITS_OES"/>
+        <enum value="0x825D" name="GL_VIEWPORT_BOUNDS_RANGE" group="GetPName"/>
+        <enum value="0x825D" name="GL_VIEWPORT_BOUNDS_RANGE_EXT"/>
+        <enum value="0x825D" name="GL_VIEWPORT_BOUNDS_RANGE_NV"/>
+        <enum value="0x825D" name="GL_VIEWPORT_BOUNDS_RANGE_OES"/>
+        <enum value="0x825E" name="GL_LAYER_PROVOKING_VERTEX" group="GetPName"/>
+        <enum value="0x825E" name="GL_LAYER_PROVOKING_VERTEX_EXT"/>
+        <enum value="0x825E" name="GL_LAYER_PROVOKING_VERTEX_OES"/>
+        <enum value="0x825F" name="GL_VIEWPORT_INDEX_PROVOKING_VERTEX" group="GetPName"/>
+        <enum value="0x825F" name="GL_VIEWPORT_INDEX_PROVOKING_VERTEX_EXT"/>
+        <enum value="0x825F" name="GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV"/>
+        <enum value="0x825F" name="GL_VIEWPORT_INDEX_PROVOKING_VERTEX_OES"/>
+        <enum value="0x8260" name="GL_UNDEFINED_VERTEX"/>
+        <enum value="0x8260" name="GL_UNDEFINED_VERTEX_EXT"/>
+        <enum value="0x8260" name="GL_UNDEFINED_VERTEX_OES"/>
+        <enum value="0x8261" name="GL_NO_RESET_NOTIFICATION"/>
+        <enum value="0x8261" name="GL_NO_RESET_NOTIFICATION_ARB"/>
+        <enum value="0x8261" name="GL_NO_RESET_NOTIFICATION_EXT"/>
+        <enum value="0x8261" name="GL_NO_RESET_NOTIFICATION_KHR"/>
+        <enum value="0x8262" name="GL_MAX_COMPUTE_SHARED_MEMORY_SIZE"/>
+        <enum value="0x8263" name="GL_MAX_COMPUTE_UNIFORM_COMPONENTS" group="GetPName"/>
+        <enum value="0x8264" name="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS" group="GetPName"/>
+        <enum value="0x8265" name="GL_MAX_COMPUTE_ATOMIC_COUNTERS" group="GetPName"/>
+        <enum value="0x8266" name="GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS" group="GetPName"/>
+        <enum value="0x8267" name="GL_COMPUTE_WORK_GROUP_SIZE" group="ProgramPropertyARB"/>
+        <enum value="0x8268" name="GL_DEBUG_TYPE_MARKER" group="DebugType"/>
+        <enum value="0x8268" name="GL_DEBUG_TYPE_MARKER_KHR"/>
+        <enum value="0x8269" name="GL_DEBUG_TYPE_PUSH_GROUP" group="DebugType"/>
+        <enum value="0x8269" name="GL_DEBUG_TYPE_PUSH_GROUP_KHR"/>
+        <enum value="0x826A" name="GL_DEBUG_TYPE_POP_GROUP" group="DebugType"/>
+        <enum value="0x826A" name="GL_DEBUG_TYPE_POP_GROUP_KHR"/>
+        <enum value="0x826B" name="GL_DEBUG_SEVERITY_NOTIFICATION" group="DebugSeverity"/>
+        <enum value="0x826B" name="GL_DEBUG_SEVERITY_NOTIFICATION_KHR"/>
+        <enum value="0x826C" name="GL_MAX_DEBUG_GROUP_STACK_DEPTH" group="GetPName"/>
+        <enum value="0x826C" name="GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR"/>
+        <enum value="0x826D" name="GL_DEBUG_GROUP_STACK_DEPTH" group="GetPName"/>
+        <enum value="0x826D" name="GL_DEBUG_GROUP_STACK_DEPTH_KHR"/>
+        <enum value="0x826E" name="GL_MAX_UNIFORM_LOCATIONS" group="GetPName"/>
+        <enum value="0x826F" name="GL_INTERNALFORMAT_SUPPORTED" group="InternalFormatPName"/>
+        <enum value="0x8270" name="GL_INTERNALFORMAT_PREFERRED" group="InternalFormatPName"/>
+        <enum value="0x8271" name="GL_INTERNALFORMAT_RED_SIZE" group="InternalFormatPName"/>
+        <enum value="0x8272" name="GL_INTERNALFORMAT_GREEN_SIZE" group="InternalFormatPName"/>
+        <enum value="0x8273" name="GL_INTERNALFORMAT_BLUE_SIZE" group="InternalFormatPName"/>
+        <enum value="0x8274" name="GL_INTERNALFORMAT_ALPHA_SIZE" group="InternalFormatPName"/>
+        <enum value="0x8275" name="GL_INTERNALFORMAT_DEPTH_SIZE" group="InternalFormatPName"/>
+        <enum value="0x8276" name="GL_INTERNALFORMAT_STENCIL_SIZE" group="InternalFormatPName"/>
+        <enum value="0x8277" name="GL_INTERNALFORMAT_SHARED_SIZE" group="InternalFormatPName"/>
+        <enum value="0x8278" name="GL_INTERNALFORMAT_RED_TYPE" group="InternalFormatPName"/>
+        <enum value="0x8279" name="GL_INTERNALFORMAT_GREEN_TYPE" group="InternalFormatPName"/>
+        <enum value="0x827A" name="GL_INTERNALFORMAT_BLUE_TYPE" group="InternalFormatPName"/>
+        <enum value="0x827B" name="GL_INTERNALFORMAT_ALPHA_TYPE" group="InternalFormatPName"/>
+        <enum value="0x827C" name="GL_INTERNALFORMAT_DEPTH_TYPE" group="InternalFormatPName"/>
+        <enum value="0x827D" name="GL_INTERNALFORMAT_STENCIL_TYPE" group="InternalFormatPName"/>
+        <enum value="0x827E" name="GL_MAX_WIDTH" group="InternalFormatPName"/>
+        <enum value="0x827F" name="GL_MAX_HEIGHT" group="InternalFormatPName"/>
+        <enum value="0x8280" name="GL_MAX_DEPTH" group="InternalFormatPName"/>
+        <enum value="0x8281" name="GL_MAX_LAYERS" group="InternalFormatPName"/>
+        <enum value="0x8282" name="GL_MAX_COMBINED_DIMENSIONS"/>
+        <enum value="0x8283" name="GL_COLOR_COMPONENTS" group="InternalFormatPName"/>
+        <enum value="0x8284" name="GL_DEPTH_COMPONENTS"/>
+        <enum value="0x8285" name="GL_STENCIL_COMPONENTS"/>
+        <enum value="0x8286" name="GL_COLOR_RENDERABLE" group="InternalFormatPName"/>
+        <enum value="0x8287" name="GL_DEPTH_RENDERABLE" group="InternalFormatPName"/>
+        <enum value="0x8288" name="GL_STENCIL_RENDERABLE" group="InternalFormatPName"/>
+        <enum value="0x8289" name="GL_FRAMEBUFFER_RENDERABLE" group="InternalFormatPName"/>
+        <enum value="0x828A" name="GL_FRAMEBUFFER_RENDERABLE_LAYERED" group="InternalFormatPName"/>
+        <enum value="0x828B" name="GL_FRAMEBUFFER_BLEND" group="InternalFormatPName"/>
+        <enum value="0x828C" name="GL_READ_PIXELS" group="InternalFormatPName"/>
+        <enum value="0x828D" name="GL_READ_PIXELS_FORMAT" group="InternalFormatPName"/>
+        <enum value="0x828E" name="GL_READ_PIXELS_TYPE" group="InternalFormatPName"/>
+        <enum value="0x828F" name="GL_TEXTURE_IMAGE_FORMAT" group="InternalFormatPName"/>
+        <enum value="0x8290" name="GL_TEXTURE_IMAGE_TYPE" group="InternalFormatPName"/>
+        <enum value="0x8291" name="GL_GET_TEXTURE_IMAGE_FORMAT" group="InternalFormatPName"/>
+        <enum value="0x8292" name="GL_GET_TEXTURE_IMAGE_TYPE" group="InternalFormatPName"/>
+        <enum value="0x8293" name="GL_MIPMAP" group="InternalFormatPName"/>
+        <enum value="0x8294" name="GL_MANUAL_GENERATE_MIPMAP"/>
+        <enum value="0x8295" name="GL_AUTO_GENERATE_MIPMAP" comment="Should be deprecated" group="InternalFormatPName"/>
+        <enum value="0x8296" name="GL_COLOR_ENCODING" group="InternalFormatPName"/>
+        <enum value="0x8297" name="GL_SRGB_READ" group="InternalFormatPName"/>
+        <enum value="0x8298" name="GL_SRGB_WRITE" group="InternalFormatPName"/>
+        <enum value="0x8299" name="GL_SRGB_DECODE_ARB"/>
+        <enum value="0x829A" name="GL_FILTER" group="InternalFormatPName"/>
+        <enum value="0x829B" name="GL_VERTEX_TEXTURE" group="InternalFormatPName"/>
+        <enum value="0x829C" name="GL_TESS_CONTROL_TEXTURE" group="InternalFormatPName"/>
+        <enum value="0x829D" name="GL_TESS_EVALUATION_TEXTURE" group="InternalFormatPName"/>
+        <enum value="0x829E" name="GL_GEOMETRY_TEXTURE" group="InternalFormatPName"/>
+        <enum value="0x829F" name="GL_FRAGMENT_TEXTURE" group="InternalFormatPName"/>
+        <enum value="0x82A0" name="GL_COMPUTE_TEXTURE" group="InternalFormatPName"/>
+        <enum value="0x82A1" name="GL_TEXTURE_SHADOW" group="InternalFormatPName"/>
+        <enum value="0x82A2" name="GL_TEXTURE_GATHER" group="InternalFormatPName"/>
+        <enum value="0x82A3" name="GL_TEXTURE_GATHER_SHADOW" group="InternalFormatPName"/>
+        <enum value="0x82A4" name="GL_SHADER_IMAGE_LOAD" group="InternalFormatPName"/>
+        <enum value="0x82A5" name="GL_SHADER_IMAGE_STORE" group="InternalFormatPName"/>
+        <enum value="0x82A6" name="GL_SHADER_IMAGE_ATOMIC" group="InternalFormatPName"/>
+        <enum value="0x82A7" name="GL_IMAGE_TEXEL_SIZE" group="InternalFormatPName"/>
+        <enum value="0x82A8" name="GL_IMAGE_COMPATIBILITY_CLASS" group="InternalFormatPName"/>
+        <enum value="0x82A9" name="GL_IMAGE_PIXEL_FORMAT" group="InternalFormatPName"/>
+        <enum value="0x82AA" name="GL_IMAGE_PIXEL_TYPE" group="InternalFormatPName"/>
+            <unused start="0x82AB" vendor="ARB"/>
+        <enum value="0x82AC" name="GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST" group="InternalFormatPName"/>
+        <enum value="0x82AD" name="GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST" group="InternalFormatPName"/>
+        <enum value="0x82AE" name="GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE" group="InternalFormatPName"/>
+        <enum value="0x82AF" name="GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE" group="InternalFormatPName"/>
     </enums>
 
-    <enums namespace="GL" start="104000" end="104999" vendor="NEC" comment="NEC may be out of the graphics hardware business?"/>
-    <enums namespace="GL" start="105000" end="105999" vendor="Compaq" comment="Compaq was acquired by HP"/>
-    <enums namespace="GL" start="106000" end="106999" vendor="KPC" comment="Kubota Pacific is out of business"/>
-    <enums namespace="GL" start="107000" end="107999" vendor="PGI" comment="Portland Graphics was acquired by Template Graphics, which is out of business">
-            <!-- lots of <unused> areas here which won't be computed yet -->
-        <enum value="0x1A1F8" name="GL_PREFER_DOUBLEBUFFER_HINT_PGI"/>
-        <enum value="0x1A1FD" name="GL_CONSERVE_MEMORY_HINT_PGI"/>
-        <enum value="0x1A1FE" name="GL_RECLAIM_MEMORY_HINT_PGI"/>
-        <enum value="0x1A202" name="GL_NATIVE_GRAPHICS_HANDLE_PGI"/>
-        <enum value="0x1A203" name="GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI"/>
-        <enum value="0x1A204" name="GL_NATIVE_GRAPHICS_END_HINT_PGI"/>
-        <enum value="0x1A20C" name="GL_ALWAYS_FAST_HINT_PGI"/>
-        <enum value="0x1A20D" name="GL_ALWAYS_SOFT_HINT_PGI"/>
-        <enum value="0x1A20E" name="GL_ALLOW_DRAW_OBJ_HINT_PGI"/>
-        <enum value="0x1A20F" name="GL_ALLOW_DRAW_WIN_HINT_PGI"/>
-        <enum value="0x1A210" name="GL_ALLOW_DRAW_FRG_HINT_PGI"/>
-        <enum value="0x1A211" name="GL_ALLOW_DRAW_MEM_HINT_PGI"/>
-        <enum value="0x1A216" name="GL_STRICT_DEPTHFUNC_HINT_PGI"/>
-        <enum value="0x1A217" name="GL_STRICT_LIGHTING_HINT_PGI"/>
-        <enum value="0x1A218" name="GL_STRICT_SCISSOR_HINT_PGI"/>
-        <enum value="0x1A219" name="GL_FULL_STIPPLE_HINT_PGI"/>
-        <enum value="0x1A220" name="GL_CLIP_NEAR_HINT_PGI"/>
-        <enum value="0x1A221" name="GL_CLIP_FAR_HINT_PGI"/>
-        <enum value="0x1A222" name="GL_WIDE_LINE_HINT_PGI"/>
-        <enum value="0x1A223" name="GL_BACK_NORMALS_HINT_PGI"/>
-        <enum value="0x1A22A" name="GL_VERTEX_DATA_HINT_PGI"/>
-        <enum value="0x1A22B" name="GL_VERTEX_CONSISTENT_HINT_PGI"/>
-        <enum value="0x1A22C" name="GL_MATERIAL_SIDE_HINT_PGI"/>
-        <enum value="0x1A22D" name="GL_MAX_VERTEX_HINT_PGI"/>
+    <enums namespace="GL" start="0x82B0" end="0x830F" vendor="ARB" comment="Range reclaimed from ADD on 2012/05/10">
+            <unused start="0x82B0" vendor="ARB"/>
+        <enum value="0x82B1" name="GL_TEXTURE_COMPRESSED_BLOCK_WIDTH" group="InternalFormatPName"/>
+        <enum value="0x82B2" name="GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT" group="InternalFormatPName"/>
+        <enum value="0x82B3" name="GL_TEXTURE_COMPRESSED_BLOCK_SIZE" group="InternalFormatPName"/>
+        <enum value="0x82B4" name="GL_CLEAR_BUFFER" group="InternalFormatPName"/>
+        <enum value="0x82B5" name="GL_TEXTURE_VIEW" group="InternalFormatPName"/>
+        <enum value="0x82B6" name="GL_VIEW_COMPATIBILITY_CLASS" group="InternalFormatPName"/>
+        <enum value="0x82B7" name="GL_FULL_SUPPORT"/>
+        <enum value="0x82B8" name="GL_CAVEAT_SUPPORT"/>
+        <enum value="0x82B9" name="GL_IMAGE_CLASS_4_X_32"/>
+        <enum value="0x82BA" name="GL_IMAGE_CLASS_2_X_32"/>
+        <enum value="0x82BB" name="GL_IMAGE_CLASS_1_X_32"/>
+        <enum value="0x82BC" name="GL_IMAGE_CLASS_4_X_16"/>
+        <enum value="0x82BD" name="GL_IMAGE_CLASS_2_X_16"/>
+        <enum value="0x82BE" name="GL_IMAGE_CLASS_1_X_16"/>
+        <enum value="0x82BF" name="GL_IMAGE_CLASS_4_X_8"/>
+        <enum value="0x82C0" name="GL_IMAGE_CLASS_2_X_8"/>
+        <enum value="0x82C1" name="GL_IMAGE_CLASS_1_X_8"/>
+        <enum value="0x82C2" name="GL_IMAGE_CLASS_11_11_10"/>
+        <enum value="0x82C3" name="GL_IMAGE_CLASS_10_10_10_2"/>
+        <enum value="0x82C4" name="GL_VIEW_CLASS_128_BITS"/>
+        <enum value="0x82C5" name="GL_VIEW_CLASS_96_BITS"/>
+        <enum value="0x82C6" name="GL_VIEW_CLASS_64_BITS"/>
+        <enum value="0x82C7" name="GL_VIEW_CLASS_48_BITS"/>
+        <enum value="0x82C8" name="GL_VIEW_CLASS_32_BITS"/>
+        <enum value="0x82C9" name="GL_VIEW_CLASS_24_BITS"/>
+        <enum value="0x82CA" name="GL_VIEW_CLASS_16_BITS"/>
+        <enum value="0x82CB" name="GL_VIEW_CLASS_8_BITS"/>
+        <enum value="0x82CC" name="GL_VIEW_CLASS_S3TC_DXT1_RGB"/>
+        <enum value="0x82CD" name="GL_VIEW_CLASS_S3TC_DXT1_RGBA"/>
+        <enum value="0x82CE" name="GL_VIEW_CLASS_S3TC_DXT3_RGBA"/>
+        <enum value="0x82CF" name="GL_VIEW_CLASS_S3TC_DXT5_RGBA"/>
+        <enum value="0x82D0" name="GL_VIEW_CLASS_RGTC1_RED"/>
+        <enum value="0x82D1" name="GL_VIEW_CLASS_RGTC2_RG"/>
+        <enum value="0x82D2" name="GL_VIEW_CLASS_BPTC_UNORM"/>
+        <enum value="0x82D3" name="GL_VIEW_CLASS_BPTC_FLOAT"/>
+        <enum value="0x82D4" name="GL_VERTEX_ATTRIB_BINDING" group="VertexAttribPropertyARB"/>
+        <enum value="0x82D5" name="GL_VERTEX_ATTRIB_RELATIVE_OFFSET" group="VertexArrayPName,VertexAttribPropertyARB"/>
+        <enum value="0x82D6" name="GL_VERTEX_BINDING_DIVISOR" group="GetPName"/>
+        <enum value="0x82D7" name="GL_VERTEX_BINDING_OFFSET" group="GetPName"/>
+        <enum value="0x82D8" name="GL_VERTEX_BINDING_STRIDE" group="GetPName"/>
+        <enum value="0x82D9" name="GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET" group="GetPName"/>
+        <enum value="0x82DA" name="GL_MAX_VERTEX_ATTRIB_BINDINGS" group="GetPName"/>
+        <enum value="0x82DB" name="GL_TEXTURE_VIEW_MIN_LEVEL"/>
+        <enum value="0x82DB" name="GL_TEXTURE_VIEW_MIN_LEVEL_EXT"/>
+        <enum value="0x82DB" name="GL_TEXTURE_VIEW_MIN_LEVEL_OES"/>
+        <enum value="0x82DC" name="GL_TEXTURE_VIEW_NUM_LEVELS"/>
+        <enum value="0x82DC" name="GL_TEXTURE_VIEW_NUM_LEVELS_EXT"/>
+        <enum value="0x82DC" name="GL_TEXTURE_VIEW_NUM_LEVELS_OES"/>
+        <enum value="0x82DD" name="GL_TEXTURE_VIEW_MIN_LAYER"/>
+        <enum value="0x82DD" name="GL_TEXTURE_VIEW_MIN_LAYER_EXT"/>
+        <enum value="0x82DD" name="GL_TEXTURE_VIEW_MIN_LAYER_OES"/>
+        <enum value="0x82DE" name="GL_TEXTURE_VIEW_NUM_LAYERS"/>
+        <enum value="0x82DE" name="GL_TEXTURE_VIEW_NUM_LAYERS_EXT"/>
+        <enum value="0x82DE" name="GL_TEXTURE_VIEW_NUM_LAYERS_OES"/>
+        <enum value="0x82DF" name="GL_TEXTURE_IMMUTABLE_LEVELS"/>
+        <enum value="0x82E0" name="GL_BUFFER" group="ObjectIdentifier"/>
+        <enum value="0x82E0" name="GL_BUFFER_KHR"/>
+        <enum value="0x82E1" name="GL_SHADER" group="ObjectIdentifier"/>
+        <enum value="0x82E1" name="GL_SHADER_KHR"/>
+        <enum value="0x82E2" name="GL_PROGRAM" group="ObjectIdentifier"/>
+        <enum value="0x82E2" name="GL_PROGRAM_KHR"/>
+        <enum value="0x82E3" name="GL_QUERY" group="ObjectIdentifier"/>
+        <enum value="0x82E3" name="GL_QUERY_KHR"/>
+        <enum value="0x82E4" name="GL_PROGRAM_PIPELINE" group="ObjectIdentifier"/>
+        <enum value="0x82E4" name="GL_PROGRAM_PIPELINE_KHR"/>
+        <enum value="0x82E5" name="GL_MAX_VERTEX_ATTRIB_STRIDE"/>
+        <enum value="0x82E6" name="GL_SAMPLER" group="ObjectIdentifier"/>
+        <enum value="0x82E6" name="GL_SAMPLER_KHR"/>
+        <enum value="0x82E7" name="GL_DISPLAY_LIST"/>
+        <enum value="0x82E8" name="GL_MAX_LABEL_LENGTH" group="GetPName"/>
+        <enum value="0x82E8" name="GL_MAX_LABEL_LENGTH_KHR"/>
+        <enum value="0x82E9" name="GL_NUM_SHADING_LANGUAGE_VERSIONS"/>
+        <enum value="0x82EA" name="GL_QUERY_TARGET" group="QueryObjectParameterName"/>
+        <!-- 0x82EB = GL_TEXTURE_BINDING was removed in GL 4.5 and
+             ARB_direct_state_access in February 2015 after determining it
+             was not well defined or implementable. -->
+            <unused start="0x82EB" vendor="ARB" comment="Reserved. Formerly used for GL_TEXTURE_BINDING."/>
+        <enum value="0x82EC" name="GL_TRANSFORM_FEEDBACK_OVERFLOW" group="QueryTarget"/>
+        <enum value="0x82EC" name="GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB" alias="GL_TRANSFORM_FEEDBACK_OVERFLOW"/>
+        <enum value="0x82ED" name="GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW"/>
+        <enum value="0x82ED" name="GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB" alias="GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW"/>
+        <enum value="0x82EE" name="GL_VERTICES_SUBMITTED" group="QueryTarget"/>
+        <enum value="0x82EE" name="GL_VERTICES_SUBMITTED_ARB" alias="GL_VERTICES_SUBMITTED"/>
+        <enum value="0x82EF" name="GL_PRIMITIVES_SUBMITTED" group="QueryTarget"/>
+        <enum value="0x82EF" name="GL_PRIMITIVES_SUBMITTED_ARB" alias="GL_PRIMITIVES_SUBMITTED"/>
+        <enum value="0x82F0" name="GL_VERTEX_SHADER_INVOCATIONS" group="QueryTarget"/>
+        <enum value="0x82F0" name="GL_VERTEX_SHADER_INVOCATIONS_ARB" alias="GL_VERTEX_SHADER_INVOCATIONS"/>
+        <enum value="0x82F1" name="GL_TESS_CONTROL_SHADER_PATCHES"/>
+        <enum value="0x82F1" name="GL_TESS_CONTROL_SHADER_PATCHES_ARB" alias="GL_TESS_CONTROL_SHADER_PATCHES"/>
+        <enum value="0x82F2" name="GL_TESS_EVALUATION_SHADER_INVOCATIONS"/>
+        <enum value="0x82F2" name="GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB" alias="GL_TESS_EVALUATION_SHADER_INVOCATIONS"/>
+        <enum value="0x82F3" name="GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED"/>
+        <enum value="0x82F3" name="GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB" alias="GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED"/>
+        <enum value="0x82F4" name="GL_FRAGMENT_SHADER_INVOCATIONS"/>
+        <enum value="0x82F4" name="GL_FRAGMENT_SHADER_INVOCATIONS_ARB" alias="GL_FRAGMENT_SHADER_INVOCATIONS"/>
+        <enum value="0x82F5" name="GL_COMPUTE_SHADER_INVOCATIONS"/>
+        <enum value="0x82F5" name="GL_COMPUTE_SHADER_INVOCATIONS_ARB" alias="GL_COMPUTE_SHADER_INVOCATIONS"/>
+        <enum value="0x82F6" name="GL_CLIPPING_INPUT_PRIMITIVES"/>
+        <enum value="0x82F6" name="GL_CLIPPING_INPUT_PRIMITIVES_ARB" alias="GL_CLIPPING_INPUT_PRIMITIVES"/>
+        <enum value="0x82F7" name="GL_CLIPPING_OUTPUT_PRIMITIVES"/>
+        <enum value="0x82F7" name="GL_CLIPPING_OUTPUT_PRIMITIVES_ARB" alias="GL_CLIPPING_OUTPUT_PRIMITIVES"/>
+        <enum value="0x82F8" name="GL_SPARSE_BUFFER_PAGE_SIZE_ARB"/>
+        <enum value="0x82F9" name="GL_MAX_CULL_DISTANCES"/>
+        <enum value="0x82F9" name="GL_MAX_CULL_DISTANCES_EXT" alias="GL_MAX_CULL_DISTANCES"/>
+        <enum value="0x82FA" name="GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES"/>
+        <enum value="0x82FA" name="GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT" alias="GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES"/>
+        <enum value="0x82FB" name="GL_CONTEXT_RELEASE_BEHAVIOR"/>
+        <enum value="0x82FB" name="GL_CONTEXT_RELEASE_BEHAVIOR_KHR"/>
+        <enum value="0x82FC" name="GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH"/>
+        <enum value="0x82FC" name="GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR"/>
+        <enum value="0x82FD" name="GL_ROBUST_GPU_TIMEOUT_MS_KHR" comment="Reserved for future"/>
+            <unused start="0x82FE" end="0x830F" vendor="ARB"/>
     </enums>
 
-    <enums namespace="GL" start="108000" end="108999" vendor="ES" comment="Evans and Sutherland is out of the graphics hardware business"/>
+    <enums namespace="GL" start="0x8310" end="0x832F" vendor="SGI">
+        <enum value="0x8310" name="GL_DEPTH_PASS_INSTRUMENT_SGIX"/>
+        <enum value="0x8311" name="GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX"/>
+        <enum value="0x8312" name="GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX"/>
+        <enum value="0x8313" name="GL_FRAGMENTS_INSTRUMENT_SGIX"/>
+        <enum value="0x8314" name="GL_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX"/>
+        <enum value="0x8315" name="GL_FRAGMENTS_INSTRUMENT_MAX_SGIX"/>
+        <enum value="0x8316" name="GL_CONVOLUTION_HINT_SGIX" group="HintTarget,GetPName"/>
+            <unused start="0x8317" comment="Incomplete extension SGIX_color_matrix_accuracy"/>
+            <!-- <enum value="0x8317" name="GL_COLOR_MATRIX_HINT"/> -->
+        <enum value="0x8318" name="GL_YCRCB_SGIX"/>
+        <enum value="0x8319" name="GL_YCRCBA_SGIX"/>
+        <enum value="0x831A" name="GL_UNPACK_COMPRESSED_SIZE_SGIX"/>
+        <enum value="0x831B" name="GL_PACK_MAX_COMPRESSED_SIZE_SGIX"/>
+        <enum value="0x831C" name="GL_PACK_COMPRESSED_SIZE_SGIX"/>
+        <enum value="0x831D" name="GL_SLIM8U_SGIX"/>
+        <enum value="0x831E" name="GL_SLIM10U_SGIX"/>
+        <enum value="0x831F" name="GL_SLIM12S_SGIX"/>
+        <enum value="0x8320" name="GL_ALPHA_MIN_SGIX" group="BlendEquationModeEXT"/>
+        <enum value="0x8321" name="GL_ALPHA_MAX_SGIX" group="BlendEquationModeEXT"/>
+        <enum value="0x8322" name="GL_SCALEBIAS_HINT_SGIX" group="HintTarget"/>
+            <unused start="0x8323" end="0x8328" comment="Incomplete extension SGIX_fog_layers"/>
+            <!-- <enum value="0x8323" name="GL_FOG_TYPE_SGIX"/> -->
+            <!-- <enum value="0x8324" name="GL_UNIFORM_SGIX"/> -->
+            <!-- <enum value="0x8325" name="GL_LAYERED_SGIX"/> -->
+            <!-- <enum value="0x8326" name="GL_FOG_GROUND_PLANE_SGIX"/> -->
+            <!-- <enum value="0x8327" name="GL_FOG_LAYERS_POINTS_SGIX"/> -->
+            <!-- <enum value="0x8328" name="GL_MAX_FOG_LAYERS_POINTS_SGIX"/> -->
+        <enum value="0x8329" name="GL_ASYNC_MARKER_SGIX" group="GetPName"/>
+            <unused start="0x832A" comment="Incomplete extension SGIX_texture_phase"/>
+            <!-- <enum value="0x832A" name="GL_PHASE_SGIX"/> -->
+        <enum value="0x832B" name="GL_PIXEL_TEX_GEN_MODE_SGIX" group="GetPName"/>
+        <enum value="0x832C" name="GL_ASYNC_HISTOGRAM_SGIX" group="GetPName,EnableCap"/>
+        <enum value="0x832D" name="GL_MAX_ASYNC_HISTOGRAM_SGIX" group="GetPName"/>
+            <unused start="0x832E" end="0x832F" comment="Incomplete extension SGIX_texture_mipmap_anisotropic"/>
+            <!-- <enum value="0x832E" name="GL_TEXTURE_MIPMAP_ANISOTROPY_SGIX"/> -->
+            <!-- <enum value="0x832F" name="GL_MAX_MIPMAP_ANISOTROPY_SGIX"/> -->
+    </enums>
 
-    <!-- SECTION: GL command definitions. -->
-    <commands namespace="GL">
-        <command>
-            <proto>void <name>glAccum</name></proto>
-            <param group="AccumOp"><ptype>GLenum</ptype> <name>op</name></param>
-            <param group="CoordF"><ptype>GLfloat</ptype> <name>value</name></param>
-            <glx type="render" opcode="137"/>
-        </command>
-        <command>
-            <proto>void <name>glAccumxOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>op</name></param>
-            <param><ptype>GLfixed</ptype> <name>value</name></param>
-        </command>
-        <command>
-            <proto>void <name>glActiveProgramEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-        </command>
-        <command>
-            <proto>void <name>glActiveShaderProgram</name></proto>
-            <param><ptype>GLuint</ptype> <name>pipeline</name></param>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-        </command>
-        <command>
-            <proto>void <name>glActiveShaderProgramEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>pipeline</name></param>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-        </command>
-        <command>
-            <proto>void <name>glActiveStencilFaceEXT</name></proto>
-            <param group="StencilFaceDirection"><ptype>GLenum</ptype> <name>face</name></param>
-            <glx type="render" opcode="4220"/>
-        </command>
-        <command>
-            <proto>void <name>glActiveTexture</name></proto>
-            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
-            <glx type="render" opcode="197"/>
-        </command>
-        <command>
-            <proto>void <name>glActiveTextureARB</name></proto>
-            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
-            <alias name="glActiveTexture"/>
-            <glx type="render" opcode="197"/>
-        </command>
-        <command>
-            <proto>void <name>glActiveVaryingNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
-        </command>
-        <command>
-            <proto>void <name>glAlphaFragmentOp1ATI</name></proto>
-            <param group="FragmentOpATI"><ptype>GLenum</ptype> <name>op</name></param>
-            <param><ptype>GLuint</ptype> <name>dst</name></param>
-            <param><ptype>GLuint</ptype> <name>dstMod</name></param>
-            <param><ptype>GLuint</ptype> <name>arg1</name></param>
-            <param><ptype>GLuint</ptype> <name>arg1Rep</name></param>
-            <param><ptype>GLuint</ptype> <name>arg1Mod</name></param>
-        </command>
-        <command>
-            <proto>void <name>glAlphaFragmentOp2ATI</name></proto>
-            <param group="FragmentOpATI"><ptype>GLenum</ptype> <name>op</name></param>
-            <param><ptype>GLuint</ptype> <name>dst</name></param>
-            <param><ptype>GLuint</ptype> <name>dstMod</name></param>
-            <param><ptype>GLuint</ptype> <name>arg1</name></param>
-            <param><ptype>GLuint</ptype> <name>arg1Rep</name></param>
-            <param><ptype>GLuint</ptype> <name>arg1Mod</name></param>
-            <param><ptype>GLuint</ptype> <name>arg2</name></param>
-            <param><ptype>GLuint</ptype> <name>arg2Rep</name></param>
-            <param><ptype>GLuint</ptype> <name>arg2Mod</name></param>
-        </command>
-        <command>
-            <proto>void <name>glAlphaFragmentOp3ATI</name></proto>
-            <param group="FragmentOpATI"><ptype>GLenum</ptype> <name>op</name></param>
-            <param><ptype>GLuint</ptype> <name>dst</name></param>
-            <param><ptype>GLuint</ptype> <name>dstMod</name></param>
-            <param><ptype>GLuint</ptype> <name>arg1</name></param>
-            <param><ptype>GLuint</ptype> <name>arg1Rep</name></param>
-            <param><ptype>GLuint</ptype> <name>arg1Mod</name></param>
-            <param><ptype>GLuint</ptype> <name>arg2</name></param>
-            <param><ptype>GLuint</ptype> <name>arg2Rep</name></param>
-            <param><ptype>GLuint</ptype> <name>arg2Mod</name></param>
-            <param><ptype>GLuint</ptype> <name>arg3</name></param>
-            <param><ptype>GLuint</ptype> <name>arg3Rep</name></param>
-            <param><ptype>GLuint</ptype> <name>arg3Mod</name></param>
-        </command>
-        <command>
-            <proto>void <name>glAlphaFunc</name></proto>
-            <param group="AlphaFunction"><ptype>GLenum</ptype> <name>func</name></param>
-            <param><ptype>GLfloat</ptype> <name>ref</name></param>
-            <glx type="render" opcode="159"/>
-        </command>
-        <command>
-            <proto>void <name>glAlphaFuncQCOM</name></proto>
-            <param><ptype>GLenum</ptype> <name>func</name></param>
-            <param><ptype>GLclampf</ptype> <name>ref</name></param>
-        </command>
-        <command>
-            <proto>void <name>glAlphaFuncx</name></proto>
-            <param><ptype>GLenum</ptype> <name>func</name></param>
-            <param><ptype>GLfixed</ptype> <name>ref</name></param>
-        </command>
-        <command>
-            <proto>void <name>glAlphaFuncxOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>func</name></param>
-            <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>ref</name></param>
-        </command>
-        <command>
-            <proto>void <name>glApplyTextureEXT</name></proto>
-            <param group="LightTextureModeEXT"><ptype>GLenum</ptype> <name>mode</name></param>
-        </command>
-        <command>
-            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glAreProgramsResidentNV</name></proto>
-            <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n">const <ptype>GLuint</ptype> *<name>programs</name></param>
-            <param group="Boolean" len="n"><ptype>GLboolean</ptype> *<name>residences</name></param>
-            <glx type="vendor" opcode="1293"/>
-        </command>
-        <command>
-            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glAreTexturesResident</name></proto>
-            <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
-            <param group="Boolean" len="n"><ptype>GLboolean</ptype> *<name>residences</name></param>
-            <glx type="single" opcode="143"/>
-        </command>
-        <command>
-            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glAreTexturesResidentEXT</name></proto>
-            <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
-            <param group="Boolean" len="n"><ptype>GLboolean</ptype> *<name>residences</name></param>
-            <glx type="vendor" opcode="11"/>
-        </command>
-        <command>
-            <proto>void <name>glArrayElement</name></proto>
-            <param><ptype>GLint</ptype> <name>i</name></param>
-        </command>
-        <command>
-            <proto>void <name>glArrayElementEXT</name></proto>
-            <param><ptype>GLint</ptype> <name>i</name></param>
-            <alias name="glArrayElement"/>
-        </command>
-        <command>
-            <proto>void <name>glArrayObjectATI</name></proto>
-            <param group="EnableCap"><ptype>GLenum</ptype> <name>array</name></param>
-            <param><ptype>GLint</ptype> <name>size</name></param>
-            <param group="ScalarType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
-            <param><ptype>GLuint</ptype> <name>offset</name></param>
-        </command>
-        <command>
-            <proto>void <name>glAsyncMarkerSGIX</name></proto>
-            <param><ptype>GLuint</ptype> <name>marker</name></param>
-        </command>
-        <command>
-            <proto>void <name>glAttachObjectARB</name></proto>
-            <param group="handleARB"><ptype>GLhandleARB</ptype> <name>containerObj</name></param>
-            <param group="handleARB"><ptype>GLhandleARB</ptype> <name>obj</name></param>
-            <alias name="glAttachShader"/>
-        </command>
-        <command>
-            <proto>void <name>glAttachShader</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLuint</ptype> <name>shader</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBegin</name></proto>
-            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
-            <glx type="render" opcode="4"/>
-        </command>
-        <command>
-            <proto>void <name>glBeginConditionalRender</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-            <param group="TypeEnum"><ptype>GLenum</ptype> <name>mode</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBeginConditionalRenderNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-            <param group="TypeEnum"><ptype>GLenum</ptype> <name>mode</name></param>
-            <alias name="glBeginConditionalRender"/>
-            <glx type="render" opcode="348"/>
-        </command>
-        <command>
-            <proto>void <name>glBeginConditionalRenderNVX</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBeginFragmentShaderATI</name></proto>
-        </command>
-        <command>
-            <proto>void <name>glBeginOcclusionQueryNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBeginPerfMonitorAMD</name></proto>
-            <param><ptype>GLuint</ptype> <name>monitor</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBeginQuery</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-            <glx type="render" opcode="231"/>
-        </command>
-        <command>
-            <proto>void <name>glBeginQueryARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-            <alias name="glBeginQuery"/>
-        </command>
-        <command>
-            <proto>void <name>glBeginQueryEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBeginQueryIndexed</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBeginTransformFeedback</name></proto>
-            <param><ptype>GLenum</ptype> <name>primitiveMode</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBeginTransformFeedbackEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>primitiveMode</name></param>
-            <alias name="glBeginTransformFeedback"/>
-        </command>
-        <command>
-            <proto>void <name>glBeginTransformFeedbackNV</name></proto>
-            <param><ptype>GLenum</ptype> <name>primitiveMode</name></param>
-            <alias name="glBeginTransformFeedback"/>
-        </command>
-        <command>
-            <proto>void <name>glBeginVertexShaderEXT</name></proto>
-        </command>
-        <command>
-            <proto>void <name>glBeginVideoCaptureNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>video_capture_slot</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBindAttribLocation</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param>const <ptype>GLchar</ptype> *<name>name</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBindAttribLocationARB</name></proto>
-            <param group="handleARB"><ptype>GLhandleARB</ptype> <name>programObj</name></param>
-            <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param>const <ptype>GLcharARB</ptype> *<name>name</name></param>
-            <alias name="glBindAttribLocation"/>
-        </command>
-        <command>
-            <proto>void <name>glBindBuffer</name></proto>
-            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBindBufferARB</name></proto>
-            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
-            <alias name="glBindBuffer"/>
-        </command>
-        <command>
-            <proto>void <name>glBindBufferBase</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBindBufferBaseEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
-            <alias name="glBindBufferBase"/>
-        </command>
-        <command>
-            <proto>void <name>glBindBufferBaseNV</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
-            <alias name="glBindBufferBase"/>
-        </command>
-        <command>
-            <proto>void <name>glBindBufferOffsetEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
-            <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBindBufferOffsetNV</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
-            <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
-            <alias name="glBindBufferOffsetEXT"/>
-        </command>
-        <command>
-            <proto>void <name>glBindBufferRange</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
-            <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
-            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBindBufferRangeEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
-            <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
-            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
-            <alias name="glBindBufferRange"/>
-        </command>
-        <command>
-            <proto>void <name>glBindBufferRangeNV</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
-            <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
-            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
-            <alias name="glBindBufferRange"/>
-        </command>
-        <command>
-            <proto>void <name>glBindBuffersBase</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>first</name></param>
-            <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param>const <ptype>GLuint</ptype> *<name>buffers</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBindBuffersRange</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>first</name></param>
-            <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param>const <ptype>GLuint</ptype> *<name>buffers</name></param>
-            <param>const <ptype>GLintptr</ptype> *<name>offsets</name></param>
-            <param>const <ptype>GLsizeiptr</ptype> *<name>sizes</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBindFragDataLocation</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLuint</ptype> <name>color</name></param>
-            <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBindFragDataLocationEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLuint</ptype> <name>color</name></param>
-            <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
-            <alias name="glBindFragDataLocation"/>
-        </command>
-        <command>
-            <proto>void <name>glBindFragDataLocationIndexed</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLuint</ptype> <name>colorNumber</name></param>
-            <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param>const <ptype>GLchar</ptype> *<name>name</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBindFragmentShaderATI</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-        </command>
-        <command>
-            <proto>void <name>glBindFramebuffer</name></proto>
-            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>framebuffer</name></param>
+    <enums namespace="GL" start="0x8330" end="0x833F" vendor="SUN">
+        <enum value="0x8330" name="GL_PIXEL_TRANSFORM_2D_EXT" group="PixelTransformTargetEXT"/>
+        <enum value="0x8331" name="GL_PIXEL_MAG_FILTER_EXT" group="PixelTransformPNameEXT"/>
+        <enum value="0x8332" name="GL_PIXEL_MIN_FILTER_EXT" group="PixelTransformPNameEXT"/>
+        <enum value="0x8333" name="GL_PIXEL_CUBIC_WEIGHT_EXT" group="PixelTransformPNameEXT"/>
+        <enum value="0x8334" name="GL_CUBIC_EXT"/>
+        <enum value="0x8335" name="GL_AVERAGE_EXT"/>
+        <enum value="0x8336" name="GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT"/>
+        <enum value="0x8337" name="GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT"/>
+        <enum value="0x8338" name="GL_PIXEL_TRANSFORM_2D_MATRIX_EXT"/>
+            <unused start="0x8339" end="0x833F" vendor="SUN"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8340" end="0x836F" vendor="SGI">
+            <unused start="0x8340" end="0x8348" comment="Incomplete extension SGIX_cube_map"/>
+            <!-- <enum value="0x8340" name="GL_ENV_MAP_SGIX"/> -->
+            <!-- <enum value="0x8341" name="GL_CUBE_MAP_SGIX"/> -->
+            <!-- <enum value="0x8342" name="GL_CUBE_MAP_ZP_SGIX"/> -->
+            <!-- <enum value="0x8343" name="GL_CUBE_MAP_ZN_SGIX"/> -->
+            <!-- <enum value="0x8344" name="GL_CUBE_MAP_XN_SGIX"/> -->
+            <!-- <enum value="0x8345" name="GL_CUBE_MAP_XP_SGIX"/> -->
+            <!-- <enum value="0x8346" name="GL_CUBE_MAP_YN_SGIX"/> -->
+            <!-- <enum value="0x8347" name="GL_CUBE_MAP_YP_SGIX"/> -->
+            <!-- <enum value="0x8348" name="GL_CUBE_MAP_BINDING_SGIX"/> -->
+        <enum value="0x8349" name="GL_FRAGMENT_MATERIAL_EXT" group="LightTextureModeEXT"/>
+        <enum value="0x834A" name="GL_FRAGMENT_NORMAL_EXT" group="LightTextureModeEXT"/>
+            <!-- Unfortunately, there was a collision promoting to EXT
+                 from SGIX. Use fog_coord's value of 0x8452 instead of
+                 the old assigned FRAGMENT_DEPTH_EXT (0x834B). -->
+        <enum value="0x834C" name="GL_FRAGMENT_COLOR_EXT" group="LightTextureModeEXT"/>
+        <enum value="0x834D" name="GL_ATTENUATION_EXT" group="LightTexturePNameEXT"/>
+        <enum value="0x834E" name="GL_SHADOW_ATTENUATION_EXT" group="LightTexturePNameEXT"/>
+        <enum value="0x834F" name="GL_TEXTURE_APPLICATION_MODE_EXT"/>
+        <enum value="0x8350" name="GL_TEXTURE_LIGHT_EXT"/>
+        <enum value="0x8351" name="GL_TEXTURE_MATERIAL_FACE_EXT"/>
+        <enum value="0x8352" name="GL_TEXTURE_MATERIAL_PARAMETER_EXT"/>
+        <enum value="0x8353" name="GL_PIXEL_TEXTURE_SGIS" group="GetPName,EnableCap"/>
+        <enum value="0x8354" name="GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS" group="PixelTexGenParameterNameSGIS"/>
+        <enum value="0x8355" name="GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS" group="PixelTexGenParameterNameSGIS"/>
+        <enum value="0x8356" name="GL_PIXEL_GROUP_COLOR_SGIS"/>
+            <unused start="0x8357" end="0x8359" comment="Incomplete extension SGIX_pixel_texture_bits"/>
+            <!-- <enum value="0x8357" name="GL_COLOR_TO_TEXTURE_COORD_SGIX"/> -->
+            <!-- <enum value="0x8358" name="GL_COLOR_BIT_PATTERN_SGIX"/> -->
+            <!-- <enum value="0x8359" name="GL_COLOR_VALUE_SGIX"/> -->
+            <unused start="0x835A" comment="Incomplete extension SGIX_pixel_texture_lod"/>
+            <!-- <enum value="0x835A" name="GL_PIXEL_TEX_GEN_LAMBDA_SOURCE_SGIX"/> -->
+        <enum value="0x835B" name="GL_LINE_QUALITY_HINT_SGIX" group="HintTarget"/>
+        <enum value="0x835C" name="GL_ASYNC_TEX_IMAGE_SGIX" group="GetPName,EnableCap"/>
+        <enum value="0x835D" name="GL_ASYNC_DRAW_PIXELS_SGIX" group="GetPName,EnableCap"/>
+        <enum value="0x835E" name="GL_ASYNC_READ_PIXELS_SGIX" group="GetPName,EnableCap"/>
+        <enum value="0x835F" name="GL_MAX_ASYNC_TEX_IMAGE_SGIX" group="GetPName"/>
+        <enum value="0x8360" name="GL_MAX_ASYNC_DRAW_PIXELS_SGIX" group="GetPName"/>
+        <enum value="0x8361" name="GL_MAX_ASYNC_READ_PIXELS_SGIX" group="GetPName"/>
+        <enum value="0x8362" name="GL_UNSIGNED_BYTE_2_3_3_REV"/>
+        <enum value="0x8362" name="GL_UNSIGNED_BYTE_2_3_3_REV_EXT"/>
+        <enum value="0x8363" name="GL_UNSIGNED_SHORT_5_6_5"/>
+        <enum value="0x8363" name="GL_UNSIGNED_SHORT_5_6_5_EXT"/>
+        <enum value="0x8364" name="GL_UNSIGNED_SHORT_5_6_5_REV"/>
+        <enum value="0x8364" name="GL_UNSIGNED_SHORT_5_6_5_REV_EXT"/>
+        <enum value="0x8365" name="GL_UNSIGNED_SHORT_4_4_4_4_REV"/>
+        <enum value="0x8365" name="GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT"/>
+        <enum value="0x8365" name="GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG"/>
+        <enum value="0x8366" name="GL_UNSIGNED_SHORT_1_5_5_5_REV"/>
+        <enum value="0x8366" name="GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT"/>
+        <enum value="0x8367" name="GL_UNSIGNED_INT_8_8_8_8_REV"/>
+        <enum value="0x8367" name="GL_UNSIGNED_INT_8_8_8_8_REV_EXT"/>
+        <enum value="0x8368" name="GL_UNSIGNED_INT_2_10_10_10_REV" group="VertexAttribPointerType,VertexAttribType"/>
+        <enum value="0x8368" name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT"/>
+        <enum value="0x8369" name="GL_TEXTURE_MAX_CLAMP_S_SGIX" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x836A" name="GL_TEXTURE_MAX_CLAMP_T_SGIX" group="TextureParameterName,GetTextureParameter"/>
+        <enum value="0x836B" name="GL_TEXTURE_MAX_CLAMP_R_SGIX" group="TextureParameterName,GetTextureParameter"/>
+            <unused start="0x836C" end="0x836E" comment="Incomplete extension SGIX_fog_texture"/>
+            <!-- <enum value="0x836C" name="GL_FRAGMENT_FOG_SGIX"/> -->
+            <!-- <enum value="0x836D" name="GL_TEXTURE_FOG_SGIX"/> -->
+            <!-- <enum value="0x836E" name="GL_FOG_PATCHY_FACTOR_SGIX"/> -->
+            <unused start="0x836F" comment="Incomplete extension SGIX_fog_factor_to_alpha"/>
+            <!-- <enum value="0x836F" name="GL_FOG_FACTOR_TO_ALPHA_SGIX"/> -->
+    </enums>
+
+    <enums namespace="GL" start="0x8370" end="0x837F" vendor="HP">
+            <!-- NOTE: IBM is using values in this range, because of a
+                 bobble when an employee left DEC for IBM at the same
+                 time as they were assigned the range. their registry
+                 became inconsistent. It's unknown whether HP has any
+                 conflicts. They have never reported using any values in
+                 this range. Lesson: assigned ranges belong to vendors,
+                 not engineers! -->
+        <enum value="0x8370" name="GL_MIRRORED_REPEAT" group="TextureWrapMode"/>
+        <enum value="0x8370" name="GL_MIRRORED_REPEAT_ARB"/>
+        <enum value="0x8370" name="GL_MIRRORED_REPEAT_IBM"/>
+        <enum value="0x8370" name="GL_MIRRORED_REPEAT_OES"/>
+            <unused start="0x8371" end="0x837F" vendor="HP"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8380" end="0x839F" vendor="IBM">
+            <unused start="0x8380" end="0x839F" vendor="IBM"/>
+    </enums>
+
+    <enums namespace="GL" start="0x83A0" end="0x83BF" vendor="S3">
+        <enum value="0x83A0" name="GL_RGB_S3TC"/>
+        <enum value="0x83A1" name="GL_RGB4_S3TC"/>
+        <enum value="0x83A2" name="GL_RGBA_S3TC"/>
+        <enum value="0x83A3" name="GL_RGBA4_S3TC"/>
+        <enum value="0x83A4" name="GL_RGBA_DXT5_S3TC"/>
+        <enum value="0x83A5" name="GL_RGBA4_DXT5_S3TC"/>
+            <unused start="0x83A6" end="0x83BF" vendor="S3"/>
+    </enums>
+
+    <enums namespace="GL" start="0x83C0" end="0x83EF" vendor="SGI" comment="Most of this could be reclaimed">
+            <unused start="0x83C0" end="0x83CA" comment="Withdrawn extension SGIS_multitexture"/>
+            <!-- <enum value="0x83C0" name="GL_SELECTED_TEXTURE_SGIS"/> -->
+            <!-- <enum value="0x83C1" name="GL_SELECTED_TEXTURE_COORD_SET_SGIS"/> -->
+            <!-- <enum value="0x83C2" name="GL_SELECTED_TEXTURE_TRANSFORM_SGIS"/> -->
+            <!-- <enum value="0x83C3" name="GL_MAX_TEXTURES_SGIS"/> -->
+            <!-- <enum value="0x83C4" name="GL_MAX_TEXTURE_COORD_SETS_SGIS"/> -->
+            <!-- <enum value="0x83C5" name="GL_TEXTURE_COORD_SET_INTERLEAVE_FACTOR_SGIS"/> -->
+            <!-- <enum value="0x83C6" name="GL_TEXTURE_ENV_COORD_SET_SGIS"/> -->
+            <!-- <enum value="0x83C7" name="GL_TEXTURE0_SGIS"/> -->
+            <!-- <enum value="0x83C8" name="GL_TEXTURE1_SGIS"/> -->
+            <!-- <enum value="0x83C9" name="GL_TEXTURE2_SGIS"/> -->
+            <!-- <enum value="0x83CA" name="GL_TEXTURE3_SGIS"/> -->
+            <unused start="0x83CB" end="0x83E5" vendor="SGI"/>
+            <unused start="0x83E6" end="0x83E9" comment="Incomplete extension SGIX_bali_g_instruments"/>
+            <!-- <enum value="0x83E6" name="GL_BALI_NUM_TRIS_CULLED_INSTRUMENT_SGIX"/> -->
+            <!-- <enum value="0x83E7" name="GL_BALI_NUM_PRIMS_CLIPPED_INSTRUMENT_SGIX"/> -->
+            <!-- <enum value="0x83E8" name="GL_BALI_NUM_PRIMS_REJECT_INSTRUMENT_SGIX"/> -->
+            <!-- <enum value="0x83E9" name="GL_BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT_SGIX"/> -->
+            <unused start="0x83EA" end="0x83EC" comment="Incomplete extension SGIX_bali_r_instruments"/>
+            <!-- <enum value="0x83EA" name="GL_BALI_FRAGMENTS_GENERATED_INSTRUMENT_SGIX"/> -->
+            <!-- <enum value="0x83EB" name="GL_BALI_DEPTH_PASS_INSTRUMENT_SGIX"/> -->
+            <!-- <enum value="0x83EC" name="GL_BALI_R_CHIP_COUNT_SGIX"/> -->
+            <unused start="0x83ED" comment="Incomplete extension SGIX_occlusion_instrument"/>
+            <!-- <enum value="0x83ED" name="GL_OCCLUSION_INSTRUMENT_SGIX"/> -->
+        <enum value="0x83EE" name="GL_VERTEX_PRECLIP_SGIX" group="HintTarget,GetPName"/>
+        <enum value="0x83EF" name="GL_VERTEX_PRECLIP_HINT_SGIX" group="HintTarget,GetPName"/>
+    </enums>
+
+    <enums namespace="GL" start="0x83F0" end="0x83FF" vendor="INTEL">
+            <!-- This block was reclaimed from NTP, who never shipped
+                 it, and reassigned to Intel. -->
+        <enum value="0x83F0" name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT" group="InternalFormat"/>
+        <enum value="0x83F1" name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT" group="InternalFormat"/>
+        <enum value="0x83F2" name="GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE"/>
+        <enum value="0x83F2" name="GL_COMPRESSED_RGBA_S3TC_DXT3_EXT" group="InternalFormat"/>
+        <enum value="0x83F3" name="GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE"/>
+        <enum value="0x83F3" name="GL_COMPRESSED_RGBA_S3TC_DXT5_EXT" group="InternalFormat"/>
+        <enum value="0x83F4" name="GL_PARALLEL_ARRAYS_INTEL"/>
+        <enum value="0x83F5" name="GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL"/>
+        <enum value="0x83F6" name="GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL"/>
+        <enum value="0x83F7" name="GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL"/>
+        <enum value="0x83F8" name="GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL"/>
+        <enum value="0x83F9" name="GL_PERFQUERY_DONOT_FLUSH_INTEL"/>
+        <enum value="0x83FA" name="GL_PERFQUERY_FLUSH_INTEL"/>
+        <enum value="0x83FB" name="GL_PERFQUERY_WAIT_INTEL"/>
+        <enum value="0x83FC" name="GL_BLACKHOLE_RENDER_INTEL"/>
+            <unused start="0x83FD" vendor="INTEL"/>
+        <enum value="0x83FE" name="GL_CONSERVATIVE_RASTERIZATION_INTEL"/>
+        <enum value="0x83FF" name="GL_TEXTURE_MEMORY_LAYOUT_INTEL"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8400" end="0x846F" vendor="SGI">
+        <enum value="0x8400" name="GL_FRAGMENT_LIGHTING_SGIX" group="GetPName,EnableCap"/>
+        <enum value="0x8401" name="GL_FRAGMENT_COLOR_MATERIAL_SGIX" group="GetPName,EnableCap"/>
+        <enum value="0x8402" name="GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX" group="GetPName"/>
+        <enum value="0x8403" name="GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX" group="GetPName"/>
+        <enum value="0x8404" name="GL_MAX_FRAGMENT_LIGHTS_SGIX" group="GetPName"/>
+        <enum value="0x8405" name="GL_MAX_ACTIVE_LIGHTS_SGIX" group="GetPName"/>
+        <enum value="0x8406" name="GL_CURRENT_RASTER_NORMAL_SGIX"/>
+        <enum value="0x8407" name="GL_LIGHT_ENV_MODE_SGIX" group="LightEnvParameterSGIX,GetPName"/>
+        <enum value="0x8408" name="GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX" group="GetPName,FragmentLightModelParameterSGIX"/>
+        <enum value="0x8409" name="GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX" group="GetPName,FragmentLightModelParameterSGIX"/>
+        <enum value="0x840A" name="GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX" group="GetPName,FragmentLightModelParameterSGIX"/>
+        <enum value="0x840B" name="GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX" group="GetPName,FragmentLightModelParameterSGIX"/>
+        <enum value="0x840C" name="GL_FRAGMENT_LIGHT0_SGIX" group="LightName,FragmentLightNameSGIX,EnableCap,GetPName"/>
+        <enum value="0x840D" name="GL_FRAGMENT_LIGHT1_SGIX" group="LightName,FragmentLightNameSGIX,EnableCap"/>
+        <enum value="0x840E" name="GL_FRAGMENT_LIGHT2_SGIX" group="LightName,FragmentLightNameSGIX,EnableCap"/>
+        <enum value="0x840F" name="GL_FRAGMENT_LIGHT3_SGIX" group="LightName,FragmentLightNameSGIX,EnableCap"/>
+        <enum value="0x8410" name="GL_FRAGMENT_LIGHT4_SGIX" group="LightName,FragmentLightNameSGIX,EnableCap"/>
+        <enum value="0x8411" name="GL_FRAGMENT_LIGHT5_SGIX" group="LightName,FragmentLightNameSGIX,EnableCap"/>
+        <enum value="0x8412" name="GL_FRAGMENT_LIGHT6_SGIX" group="LightName,FragmentLightNameSGIX,EnableCap"/>
+        <enum value="0x8413" name="GL_FRAGMENT_LIGHT7_SGIX" group="LightName,FragmentLightNameSGIX,EnableCap"/>
+            <unused start="0x8414" end="0x842D" vendor="SGI"/>
+        <enum value="0x842E" name="GL_PACK_RESAMPLE_SGIX" comment="Formerly 0x842C in SGI specfile" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x842F" name="GL_UNPACK_RESAMPLE_SGIX" comment="Formerly 0x842D in SGI specfile" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x8430" name="GL_RESAMPLE_DECIMATE_SGIX" comment="Formerly 0x8430 in SGI specfile" group="PixelStoreResampleMode"/>
+            <unused start="0x8431" end="0x8432" vendor="SGI"/>
+        <enum value="0x8433" name="GL_RESAMPLE_REPLICATE_SGIX" comment="Formerly 0x842E in SGI specfile" group="PixelStoreResampleMode"/>
+        <enum value="0x8434" name="GL_RESAMPLE_ZERO_FILL_SGIX" comment="Formerly 0x842F in SGI specfile" group="PixelStoreResampleMode"/>
+            <unused start="0x8435" vendor="SGI"/>
+            <!-- Incomplete extension SGIX_fragment_lighting -->
+            <!-- <enum value="0x8436"      name="GL_EYE_SPACE_SGIX"/> -->
+            <!-- <enum value="0x8437"      name="GL_TANGENT_SPACE_SGIX"/> -->
+            <!-- <enum value="0x8438"      name="GL_OBJECT_SPACE_SGIX"/> -->
+            <!-- <enum value="0x8439"      name="GL_TANGENT_ARRAY_SGIX"/> -->
+            <!-- <enum value="0x843A"      name="GL_BINORMAL_ARRAY_SGIX"/> -->
+            <!-- <enum value="0x843B"      name="GL_CURRENT_TANGENT_SGIX"/> -->
+            <!-- <enum value="0x843C"      name="GL_CURRENT_BINORMAL_SGIX"/> -->
+            <!-- <enum value="0x843D"      name="GL_FRAGMENT_LIGHT_SPACE_SGIX"/> -->
+            <!-- <enum value="0x843E"      name="GL_TANGENT_ARRAY_TYPE_SGIX"/> -->
+            <!-- <enum value="0x843F"      name="GL_TANGENT_ARRAY_STRIDE_SGIX"/> -->
+            <!-- <enum value="0x8440"      name="GL_TANGENT_ARRAY_COUNT_SGIX"/> -->
+            <!-- <enum value="0x8441"      name="GL_BINORMAL_ARRAY_TYPE_SGIX"/> -->
+            <!-- <enum value="0x8442"      name="GL_BINORMAL_ARRAY_STRIDE_SGIX"/> -->
+            <!-- <enum value="0x8443"      name="GL_BINORMAL_ARRAY_COUNT_SGIX"/> -->
+            <!-- <enum value="0x8444"      name="GL_TANGENT_ARRAY_POINTER_SGIX"/> -->
+            <!-- <enum value="0x8445"      name="GL_BINORMAL_ARRAY_POINTER_SGIX"/> -->
+            <!-- <enum value="0x8446"      name="GL_MAP1_TANGENT_SGIX"/> -->
+            <!-- <enum value="0x8447"      name="GL_MAP2_TANGENT_SGIX"/> -->
+            <!-- <enum value="0x8448"      name="GL_MAP1_BINORMAL_SGIX"/> -->
+            <!-- <enum value="0x8449"      name="GL_MAP2_BINORMAL_SGIX"/> -->
+        <enum value="0x8439" name="GL_TANGENT_ARRAY_EXT"/>
+        <enum value="0x843A" name="GL_BINORMAL_ARRAY_EXT"/>
+        <enum value="0x843B" name="GL_CURRENT_TANGENT_EXT"/>
+        <enum value="0x843C" name="GL_CURRENT_BINORMAL_EXT"/>
+            <unused start="0x844D" vendor="SGI"/>
+        <enum value="0x843E" name="GL_TANGENT_ARRAY_TYPE_EXT"/>
+        <enum value="0x843F" name="GL_TANGENT_ARRAY_STRIDE_EXT"/>
+        <enum value="0x8440" name="GL_BINORMAL_ARRAY_TYPE_EXT"/>
+        <enum value="0x8441" name="GL_BINORMAL_ARRAY_STRIDE_EXT"/>
+        <enum value="0x8442" name="GL_TANGENT_ARRAY_POINTER_EXT"/>
+        <enum value="0x8443" name="GL_BINORMAL_ARRAY_POINTER_EXT"/>
+        <enum value="0x8444" name="GL_MAP1_TANGENT_EXT"/>
+        <enum value="0x8445" name="GL_MAP2_TANGENT_EXT"/>
+        <enum value="0x8446" name="GL_MAP1_BINORMAL_EXT"/>
+        <enum value="0x8447" name="GL_MAP2_BINORMAL_EXT"/>
+            <unused start="0x8448" end="0x8449" comment="Incomplete extension SGIX_fragment_lighting"/>
+            <unused start="0x844A" end="0x844C" comment="Incomplete extension SGIX_bali_timer_instruments"/>
+            <!-- <enum value="0x844A" name="GL_BALI_GEOM_TIMER_INSTRUMENT_SGIX"/> -->
+            <!-- <enum value="0x844B" name="GL_BALI_RASTER_TIMER_INSTRUMENT_SGIX"/> -->
+            <!-- <enum value="0x844C" name="GL_BALI_INSTRUMENT_TIME_UNIT_SGIX"/> -->
+        <enum value="0x844D" name="GL_NEAREST_CLIPMAP_NEAREST_SGIX" group="TextureMinFilter"/>
+        <enum value="0x844E" name="GL_NEAREST_CLIPMAP_LINEAR_SGIX" group="TextureMinFilter"/>
+        <enum value="0x844F" name="GL_LINEAR_CLIPMAP_NEAREST_SGIX" group="TextureMinFilter"/>
+            <!-- 0x8450-0x845F range brokered for Id Software -->
+        <enum value="0x8450" name="GL_FOG_COORDINATE_SOURCE"/>
+        <enum value="0x8450" name="GL_FOG_COORDINATE_SOURCE_EXT"/>
+        <enum value="0x8450" name="GL_FOG_COORD_SRC" alias="GL_FOG_COORDINATE_SOURCE" group="FogPName"/>
+        <enum value="0x8451" name="GL_FOG_COORDINATE"/>
+        <enum value="0x8451" name="GL_FOG_COORD" alias="GL_FOG_COORDINATE"/>
+        <enum value="0x8451" name="GL_FOG_COORDINATE_EXT"/>
+        <enum value="0x8452" name="GL_FRAGMENT_DEPTH"/>
+        <enum value="0x8452" name="GL_FRAGMENT_DEPTH_EXT" group="LightTextureModeEXT"/>
+        <enum value="0x8453" name="GL_CURRENT_FOG_COORDINATE"/>
+        <enum value="0x8453" name="GL_CURRENT_FOG_COORD" alias="GL_CURRENT_FOG_COORDINATE"/>
+        <enum value="0x8453" name="GL_CURRENT_FOG_COORDINATE_EXT"/>
+        <enum value="0x8454" name="GL_FOG_COORDINATE_ARRAY_TYPE"/>
+        <enum value="0x8454" name="GL_FOG_COORDINATE_ARRAY_TYPE_EXT"/>
+        <enum value="0x8454" name="GL_FOG_COORD_ARRAY_TYPE" alias="GL_FOG_COORDINATE_ARRAY_TYPE"/>
+        <enum value="0x8455" name="GL_FOG_COORDINATE_ARRAY_STRIDE"/>
+        <enum value="0x8455" name="GL_FOG_COORDINATE_ARRAY_STRIDE_EXT"/>
+        <enum value="0x8455" name="GL_FOG_COORD_ARRAY_STRIDE" alias="GL_FOG_COORDINATE_ARRAY_STRIDE"/>
+        <enum value="0x8456" name="GL_FOG_COORDINATE_ARRAY_POINTER"/>
+        <enum value="0x8456" name="GL_FOG_COORDINATE_ARRAY_POINTER_EXT"/>
+        <enum value="0x8456" name="GL_FOG_COORD_ARRAY_POINTER" alias="GL_FOG_COORDINATE_ARRAY_POINTER"/>
+        <enum value="0x8457" name="GL_FOG_COORDINATE_ARRAY"/>
+        <enum value="0x8457" name="GL_FOG_COORDINATE_ARRAY_EXT"/>
+        <enum value="0x8457" name="GL_FOG_COORD_ARRAY" alias="GL_FOG_COORDINATE_ARRAY"/>
+        <enum value="0x8458" name="GL_COLOR_SUM"/>
+        <enum value="0x8458" name="GL_COLOR_SUM_ARB"/>
+        <enum value="0x8458" name="GL_COLOR_SUM_EXT"/>
+        <enum value="0x8459" name="GL_CURRENT_SECONDARY_COLOR"/>
+        <enum value="0x8459" name="GL_CURRENT_SECONDARY_COLOR_EXT"/>
+        <enum value="0x845A" name="GL_SECONDARY_COLOR_ARRAY_SIZE"/>
+        <enum value="0x845A" name="GL_SECONDARY_COLOR_ARRAY_SIZE_EXT"/>
+        <enum value="0x845B" name="GL_SECONDARY_COLOR_ARRAY_TYPE"/>
+        <enum value="0x845B" name="GL_SECONDARY_COLOR_ARRAY_TYPE_EXT"/>
+        <enum value="0x845C" name="GL_SECONDARY_COLOR_ARRAY_STRIDE"/>
+        <enum value="0x845C" name="GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT"/>
+        <enum value="0x845D" name="GL_SECONDARY_COLOR_ARRAY_POINTER"/>
+        <enum value="0x845D" name="GL_SECONDARY_COLOR_ARRAY_POINTER_EXT"/>
+        <enum value="0x845E" name="GL_SECONDARY_COLOR_ARRAY"/>
+        <enum value="0x845E" name="GL_SECONDARY_COLOR_ARRAY_EXT"/>
+        <enum value="0x845F" name="GL_CURRENT_RASTER_SECONDARY_COLOR"/>
+            <unused start="0x8460" end="0x846B" comment="Incomplete extension SGIX_icc_texture"/>
+            <!-- <enum value="0x8460" name="GL_RGB_ICC_SGIX"/> -->
+            <!-- <enum value="0x8461" name="GL_RGBA_ICC_SGIX"/> -->
+            <!-- <enum value="0x8462" name="GL_ALPHA_ICC_SGIX"/> -->
+            <!-- <enum value="0x8463" name="GL_LUMINANCE_ICC_SGIX"/> -->
+            <!-- <enum value="0x8464" name="GL_INTENSITY_ICC_SGIX"/> -->
+            <!-- <enum value="0x8465" name="GL_LUMINANCE_ALPHA_ICC_SGIX"/> -->
+            <!-- <enum value="0x8466" name="GL_R5_G6_B5_ICC_SGIX"/> -->
+            <!-- <enum value="0x8467" name="GL_R5_G6_B5_A8_ICC_SGIX"/> -->
+            <!-- <enum value="0x8468" name="GL_ALPHA16_ICC_SGIX"/> -->
+            <!-- <enum value="0x8469" name="GL_LUMINANCE16_ICC_SGIX"/> -->
+            <!-- <enum value="0x846A" name="GL_INTENSITY16_ICC_SGIX"/> -->
+            <!-- <enum value="0x846B" name="GL_LUMINANCE16_ALPHA8_ICC_SGIX"/> -->
+            <unused start="0x846C" vendor="SGI"/>
+        <enum value="0x846D" name="GL_ALIASED_POINT_SIZE_RANGE" group="GetPName"/>
+        <enum value="0x846E" name="GL_ALIASED_LINE_WIDTH_RANGE" group="GetPName"/>
+            <unused start="0x846F" vendor="SGI"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8470" end="0x848F" vendor="AMD">
+            <unused start="0x8470" end="0x848F" vendor="AMD"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8490" end="0x849F" vendor="REND">
+        <enum value="0x8490" name="GL_SCREEN_COORDINATES_REND"/>
+        <enum value="0x8491" name="GL_INVERTED_SCREEN_W_REND"/>
+            <unused start="0x8492" end="0x849F" vendor="REND"/>
+    </enums>
+
+    <enums namespace="GL" start="0x84A0" end="0x84BF" vendor="AMD">
+            <unused start="0x84A0" end="0x84BF" vendor="AMD"/>
+    </enums>
+
+    <enums namespace="GL" start="0x84C0" end="0x84EF" vendor="ARB">
+        <enum value="0x84C0" name="GL_TEXTURE0" group="TextureUnit"/>
+        <enum value="0x84C0" name="GL_TEXTURE0_ARB" group="CombinerRegisterNV"/>
+        <enum value="0x84C1" name="GL_TEXTURE1" group="TextureUnit"/>
+        <enum value="0x84C1" name="GL_TEXTURE1_ARB" group="CombinerRegisterNV"/>
+        <enum value="0x84C2" name="GL_TEXTURE2" group="TextureUnit"/>
+        <enum value="0x84C2" name="GL_TEXTURE2_ARB"/>
+        <enum value="0x84C3" name="GL_TEXTURE3" group="TextureUnit"/>
+        <enum value="0x84C3" name="GL_TEXTURE3_ARB"/>
+        <enum value="0x84C4" name="GL_TEXTURE4" group="TextureUnit"/>
+        <enum value="0x84C4" name="GL_TEXTURE4_ARB"/>
+        <enum value="0x84C5" name="GL_TEXTURE5" group="TextureUnit"/>
+        <enum value="0x84C5" name="GL_TEXTURE5_ARB"/>
+        <enum value="0x84C6" name="GL_TEXTURE6" group="TextureUnit"/>
+        <enum value="0x84C6" name="GL_TEXTURE6_ARB"/>
+        <enum value="0x84C7" name="GL_TEXTURE7" group="TextureUnit"/>
+        <enum value="0x84C7" name="GL_TEXTURE7_ARB"/>
+        <enum value="0x84C8" name="GL_TEXTURE8" group="TextureUnit"/>
+        <enum value="0x84C8" name="GL_TEXTURE8_ARB"/>
+        <enum value="0x84C9" name="GL_TEXTURE9" group="TextureUnit"/>
+        <enum value="0x84C9" name="GL_TEXTURE9_ARB"/>
+        <enum value="0x84CA" name="GL_TEXTURE10" group="TextureUnit"/>
+        <enum value="0x84CA" name="GL_TEXTURE10_ARB"/>
+        <enum value="0x84CB" name="GL_TEXTURE11" group="TextureUnit"/>
+        <enum value="0x84CB" name="GL_TEXTURE11_ARB"/>
+        <enum value="0x84CC" name="GL_TEXTURE12" group="TextureUnit"/>
+        <enum value="0x84CC" name="GL_TEXTURE12_ARB"/>
+        <enum value="0x84CD" name="GL_TEXTURE13" group="TextureUnit"/>
+        <enum value="0x84CD" name="GL_TEXTURE13_ARB"/>
+        <enum value="0x84CE" name="GL_TEXTURE14" group="TextureUnit"/>
+        <enum value="0x84CE" name="GL_TEXTURE14_ARB"/>
+        <enum value="0x84CF" name="GL_TEXTURE15" group="TextureUnit"/>
+        <enum value="0x84CF" name="GL_TEXTURE15_ARB"/>
+        <enum value="0x84D0" name="GL_TEXTURE16" group="TextureUnit"/>
+        <enum value="0x84D0" name="GL_TEXTURE16_ARB"/>
+        <enum value="0x84D1" name="GL_TEXTURE17" group="TextureUnit"/>
+        <enum value="0x84D1" name="GL_TEXTURE17_ARB"/>
+        <enum value="0x84D2" name="GL_TEXTURE18" group="TextureUnit"/>
+        <enum value="0x84D2" name="GL_TEXTURE18_ARB"/>
+        <enum value="0x84D3" name="GL_TEXTURE19" group="TextureUnit"/>
+        <enum value="0x84D3" name="GL_TEXTURE19_ARB"/>
+        <enum value="0x84D4" name="GL_TEXTURE20" group="TextureUnit"/>
+        <enum value="0x84D4" name="GL_TEXTURE20_ARB"/>
+        <enum value="0x84D5" name="GL_TEXTURE21" group="TextureUnit"/>
+        <enum value="0x84D5" name="GL_TEXTURE21_ARB"/>
+        <enum value="0x84D6" name="GL_TEXTURE22" group="TextureUnit"/>
+        <enum value="0x84D6" name="GL_TEXTURE22_ARB"/>
+        <enum value="0x84D7" name="GL_TEXTURE23" group="TextureUnit"/>
+        <enum value="0x84D7" name="GL_TEXTURE23_ARB"/>
+        <enum value="0x84D8" name="GL_TEXTURE24" group="TextureUnit"/>
+        <enum value="0x84D8" name="GL_TEXTURE24_ARB"/>
+        <enum value="0x84D9" name="GL_TEXTURE25" group="TextureUnit"/>
+        <enum value="0x84D9" name="GL_TEXTURE25_ARB"/>
+        <enum value="0x84DA" name="GL_TEXTURE26" group="TextureUnit"/>
+        <enum value="0x84DA" name="GL_TEXTURE26_ARB"/>
+        <enum value="0x84DB" name="GL_TEXTURE27" group="TextureUnit"/>
+        <enum value="0x84DB" name="GL_TEXTURE27_ARB"/>
+        <enum value="0x84DC" name="GL_TEXTURE28" group="TextureUnit"/>
+        <enum value="0x84DC" name="GL_TEXTURE28_ARB"/>
+        <enum value="0x84DD" name="GL_TEXTURE29" group="TextureUnit"/>
+        <enum value="0x84DD" name="GL_TEXTURE29_ARB"/>
+        <enum value="0x84DE" name="GL_TEXTURE30" group="TextureUnit"/>
+        <enum value="0x84DE" name="GL_TEXTURE30_ARB"/>
+        <enum value="0x84DF" name="GL_TEXTURE31" group="TextureUnit"/>
+        <enum value="0x84DF" name="GL_TEXTURE31_ARB"/>
+        <enum value="0x84E0" name="GL_ACTIVE_TEXTURE" group="GetPName"/>
+        <enum value="0x84E0" name="GL_ACTIVE_TEXTURE_ARB"/>
+        <enum value="0x84E1" name="GL_CLIENT_ACTIVE_TEXTURE"/>
+        <enum value="0x84E1" name="GL_CLIENT_ACTIVE_TEXTURE_ARB"/>
+        <enum value="0x84E2" name="GL_MAX_TEXTURE_UNITS"/>
+        <enum value="0x84E2" name="GL_MAX_TEXTURE_UNITS_ARB"/>
+        <enum value="0x84E3" name="GL_TRANSPOSE_MODELVIEW_MATRIX"/>
+        <enum value="0x84E3" name="GL_TRANSPOSE_MODELVIEW_MATRIX_ARB"/>
+        <enum value="0x84E3" name="GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV"/>
+        <enum value="0x84E4" name="GL_TRANSPOSE_PROJECTION_MATRIX"/>
+        <enum value="0x84E4" name="GL_TRANSPOSE_PROJECTION_MATRIX_ARB"/>
+        <enum value="0x84E4" name="GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV"/>
+        <enum value="0x84E5" name="GL_TRANSPOSE_TEXTURE_MATRIX"/>
+        <enum value="0x84E5" name="GL_TRANSPOSE_TEXTURE_MATRIX_ARB"/>
+        <enum value="0x84E6" name="GL_TRANSPOSE_COLOR_MATRIX"/>
+        <enum value="0x84E6" name="GL_TRANSPOSE_COLOR_MATRIX_ARB"/>
+        <enum value="0x84E7" name="GL_SUBTRACT"/>
+        <enum value="0x84E7" name="GL_SUBTRACT_ARB"/>
+        <enum value="0x84E8" name="GL_MAX_RENDERBUFFER_SIZE" group="GetPName"/>
+        <enum value="0x84E8" name="GL_MAX_RENDERBUFFER_SIZE_EXT"/>
+        <enum value="0x84E8" name="GL_MAX_RENDERBUFFER_SIZE_OES"/>
+        <enum value="0x84E9" name="GL_COMPRESSED_ALPHA"/>
+        <enum value="0x84E9" name="GL_COMPRESSED_ALPHA_ARB"/>
+        <enum value="0x84EA" name="GL_COMPRESSED_LUMINANCE"/>
+        <enum value="0x84EA" name="GL_COMPRESSED_LUMINANCE_ARB"/>
+        <enum value="0x84EB" name="GL_COMPRESSED_LUMINANCE_ALPHA"/>
+        <enum value="0x84EB" name="GL_COMPRESSED_LUMINANCE_ALPHA_ARB"/>
+        <enum value="0x84EC" name="GL_COMPRESSED_INTENSITY"/>
+        <enum value="0x84EC" name="GL_COMPRESSED_INTENSITY_ARB"/>
+        <enum value="0x84ED" name="GL_COMPRESSED_RGB" group="InternalFormat"/>
+        <enum value="0x84ED" name="GL_COMPRESSED_RGB_ARB"/>
+        <enum value="0x84EE" name="GL_COMPRESSED_RGBA" group="InternalFormat"/>
+        <enum value="0x84EE" name="GL_COMPRESSED_RGBA_ARB"/>
+        <enum value="0x84EF" name="GL_TEXTURE_COMPRESSION_HINT" group="HintTarget,GetPName"/>
+        <enum value="0x84EF" name="GL_TEXTURE_COMPRESSION_HINT_ARB" group="HintTarget"/>
+    </enums>
+
+    <enums namespace="GL" start="0x84F0" end="0x855F" vendor="NV">
+        <enum value="0x84F0" name="GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER" group="UniformBlockPName"/>
+        <enum value="0x84F1" name="GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER" group="UniformBlockPName"/>
+        <enum value="0x84F2" name="GL_ALL_COMPLETED_NV" group="FenceConditionNV"/>
+        <enum value="0x84F3" name="GL_FENCE_STATUS_NV" group="FenceParameterNameNV"/>
+        <enum value="0x84F4" name="GL_FENCE_CONDITION_NV" group="FenceParameterNameNV"/>
+        <enum value="0x84F5" name="GL_TEXTURE_RECTANGLE" group="CopyImageSubDataTarget,TextureTarget"/>
+        <enum value="0x84F5" name="GL_TEXTURE_RECTANGLE_ARB"/>
+        <enum value="0x84F5" name="GL_TEXTURE_RECTANGLE_NV"/>
+        <enum value="0x84F6" name="GL_TEXTURE_BINDING_RECTANGLE" group="GetPName"/>
+        <enum value="0x84F6" name="GL_TEXTURE_BINDING_RECTANGLE_ARB"/>
+        <enum value="0x84F6" name="GL_TEXTURE_BINDING_RECTANGLE_NV"/>
+        <enum value="0x84F7" name="GL_PROXY_TEXTURE_RECTANGLE" group="TextureTarget"/>
+        <enum value="0x84F7" name="GL_PROXY_TEXTURE_RECTANGLE_ARB" group="TextureTarget"/>
+        <enum value="0x84F7" name="GL_PROXY_TEXTURE_RECTANGLE_NV" group="TextureTarget"/>
+        <enum value="0x84F8" name="GL_MAX_RECTANGLE_TEXTURE_SIZE" group="GetPName"/>
+        <enum value="0x84F8" name="GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB"/>
+        <enum value="0x84F8" name="GL_MAX_RECTANGLE_TEXTURE_SIZE_NV"/>
+        <enum value="0x84F9" name="GL_DEPTH_STENCIL" group="InternalFormat,PixelFormat"/>
+        <enum value="0x84F9" name="GL_DEPTH_STENCIL_EXT" group="InternalFormat"/>
+        <enum value="0x84F9" name="GL_DEPTH_STENCIL_NV" group="InternalFormat"/>
+        <enum value="0x84F9" name="GL_DEPTH_STENCIL_OES" group="InternalFormat"/>
+        <enum value="0x84FA" name="GL_UNSIGNED_INT_24_8"/>
+        <enum value="0x84FA" name="GL_UNSIGNED_INT_24_8_EXT"/>
+        <enum value="0x84FA" name="GL_UNSIGNED_INT_24_8_NV"/>
+        <enum value="0x84FA" name="GL_UNSIGNED_INT_24_8_OES"/>
+            <unused start="0x84FB" end="0x84FC" vendor="NV"/>
+        <enum value="0x84FD" name="GL_MAX_TEXTURE_LOD_BIAS" group="GetPName"/>
+        <enum value="0x84FD" name="GL_MAX_TEXTURE_LOD_BIAS_EXT"/>
+        <enum value="0x84FE" name="GL_TEXTURE_MAX_ANISOTROPY" group="SamplerParameterF"/>
+        <enum value="0x84FE" name="GL_TEXTURE_MAX_ANISOTROPY_EXT" alias="GL_TEXTURE_MAX_ANISOTROPY"/>
+        <enum value="0x84FF" name="GL_MAX_TEXTURE_MAX_ANISOTROPY"/>
+        <enum value="0x84FF" name="GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT" alias="GL_MAX_TEXTURE_MAX_ANISOTROPY"/>
+        <enum value="0x8500" name="GL_TEXTURE_FILTER_CONTROL"/>
+        <enum value="0x8500" name="GL_TEXTURE_FILTER_CONTROL_EXT"/>
+        <enum value="0x8501" name="GL_TEXTURE_LOD_BIAS" group="TextureParameterName,SamplerParameterF"/>
+        <enum value="0x8501" name="GL_TEXTURE_LOD_BIAS_EXT"/>
+        <enum value="0x8502" name="GL_MODELVIEW1_STACK_DEPTH_EXT"/>
+        <enum value="0x8503" name="GL_COMBINE4_NV"/>
+        <enum value="0x8504" name="GL_MAX_SHININESS_NV"/>
+        <enum value="0x8505" name="GL_MAX_SPOT_EXPONENT_NV"/>
+        <enum value="0x8506" name="GL_MODELVIEW1_MATRIX_EXT"/>
+        <enum value="0x8507" name="GL_INCR_WRAP" group="StencilOp"/>
+        <enum value="0x8507" name="GL_INCR_WRAP_EXT"/>
+        <enum value="0x8507" name="GL_INCR_WRAP_OES"/>
+        <enum value="0x8508" name="GL_DECR_WRAP" group="StencilOp"/>
+        <enum value="0x8508" name="GL_DECR_WRAP_EXT"/>
+        <enum value="0x8508" name="GL_DECR_WRAP_OES"/>
+        <enum value="0x8509" name="GL_VERTEX_WEIGHTING_EXT"/>
+        <enum value="0x850A" name="GL_MODELVIEW1_ARB"/>
+        <enum value="0x850A" name="GL_MODELVIEW1_EXT"/>
+        <enum value="0x850B" name="GL_CURRENT_VERTEX_WEIGHT_EXT"/>
+        <enum value="0x850C" name="GL_VERTEX_WEIGHT_ARRAY_EXT"/>
+        <enum value="0x850D" name="GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT"/>
+        <enum value="0x850E" name="GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT"/>
+        <enum value="0x850F" name="GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT"/>
+        <enum value="0x8510" name="GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT"/>
+        <enum value="0x8511" name="GL_NORMAL_MAP"/>
+        <enum value="0x8511" name="GL_NORMAL_MAP_ARB"/>
+        <enum value="0x8511" name="GL_NORMAL_MAP_EXT"/>
+        <enum value="0x8511" name="GL_NORMAL_MAP_NV"/>
+        <enum value="0x8511" name="GL_NORMAL_MAP_OES"/>
+        <enum value="0x8512" name="GL_REFLECTION_MAP"/>
+        <enum value="0x8512" name="GL_REFLECTION_MAP_ARB"/>
+        <enum value="0x8512" name="GL_REFLECTION_MAP_EXT"/>
+        <enum value="0x8512" name="GL_REFLECTION_MAP_NV"/>
+        <enum value="0x8512" name="GL_REFLECTION_MAP_OES"/>
+        <enum value="0x8513" name="GL_TEXTURE_CUBE_MAP" group="CopyImageSubDataTarget,TextureTarget"/>
+        <enum value="0x8513" name="GL_TEXTURE_CUBE_MAP_ARB"/>
+        <enum value="0x8513" name="GL_TEXTURE_CUBE_MAP_EXT"/>
+        <enum value="0x8513" name="GL_TEXTURE_CUBE_MAP_OES"/>
+        <enum value="0x8514" name="GL_TEXTURE_BINDING_CUBE_MAP" group="GetPName"/>
+        <enum value="0x8514" name="GL_TEXTURE_BINDING_CUBE_MAP_ARB"/>
+        <enum value="0x8514" name="GL_TEXTURE_BINDING_CUBE_MAP_EXT"/>
+        <enum value="0x8514" name="GL_TEXTURE_BINDING_CUBE_MAP_OES"/>
+        <enum value="0x8515" name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" group="TextureTarget"/>
+        <enum value="0x8515" name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB"/>
+        <enum value="0x8515" name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT"/>
+        <enum value="0x8515" name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES"/>
+        <enum value="0x8516" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" group="TextureTarget"/>
+        <enum value="0x8516" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB"/>
+        <enum value="0x8516" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT"/>
+        <enum value="0x8516" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES"/>
+        <enum value="0x8517" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" group="TextureTarget"/>
+        <enum value="0x8517" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB"/>
+        <enum value="0x8517" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT"/>
+        <enum value="0x8517" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES"/>
+        <enum value="0x8518" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" group="TextureTarget"/>
+        <enum value="0x8518" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB"/>
+        <enum value="0x8518" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT"/>
+        <enum value="0x8518" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES"/>
+        <enum value="0x8519" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" group="TextureTarget"/>
+        <enum value="0x8519" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB"/>
+        <enum value="0x8519" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT"/>
+        <enum value="0x8519" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES"/>
+        <enum value="0x851A" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" group="TextureTarget"/>
+        <enum value="0x851A" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB"/>
+        <enum value="0x851A" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT"/>
+        <enum value="0x851A" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES"/>
+        <enum value="0x851B" name="GL_PROXY_TEXTURE_CUBE_MAP" group="TextureTarget"/>
+        <enum value="0x851B" name="GL_PROXY_TEXTURE_CUBE_MAP_ARB" group="TextureTarget"/>
+        <enum value="0x851B" name="GL_PROXY_TEXTURE_CUBE_MAP_EXT" group="TextureTarget"/>
+        <enum value="0x851C" name="GL_MAX_CUBE_MAP_TEXTURE_SIZE" group="GetPName"/>
+        <enum value="0x851C" name="GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB"/>
+        <enum value="0x851C" name="GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT"/>
+        <enum value="0x851C" name="GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES"/>
+        <enum value="0x851D" name="GL_VERTEX_ARRAY_RANGE_APPLE"/>
+        <enum value="0x851D" name="GL_VERTEX_ARRAY_RANGE_NV"/>
+        <enum value="0x851E" name="GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE"/>
+        <enum value="0x851E" name="GL_VERTEX_ARRAY_RANGE_LENGTH_NV"/>
+        <enum value="0x851F" name="GL_VERTEX_ARRAY_RANGE_VALID_NV"/>
+        <enum value="0x851F" name="GL_VERTEX_ARRAY_STORAGE_HINT_APPLE" group="HintTarget"/>
+        <enum value="0x8520" name="GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV"/>
+        <enum value="0x8521" name="GL_VERTEX_ARRAY_RANGE_POINTER_APPLE"/>
+        <enum value="0x8521" name="GL_VERTEX_ARRAY_RANGE_POINTER_NV"/>
+        <enum value="0x8522" name="GL_REGISTER_COMBINERS_NV"/>
+        <enum value="0x8523" name="GL_VARIABLE_A_NV" group="CombinerVariableNV"/>
+        <enum value="0x8524" name="GL_VARIABLE_B_NV" group="CombinerVariableNV"/>
+        <enum value="0x8525" name="GL_VARIABLE_C_NV" group="CombinerVariableNV"/>
+        <enum value="0x8526" name="GL_VARIABLE_D_NV" group="CombinerVariableNV"/>
+        <enum value="0x8527" name="GL_VARIABLE_E_NV" group="CombinerVariableNV"/>
+        <enum value="0x8528" name="GL_VARIABLE_F_NV" group="CombinerVariableNV"/>
+        <enum value="0x8529" name="GL_VARIABLE_G_NV" group="CombinerVariableNV"/>
+        <enum value="0x852A" name="GL_CONSTANT_COLOR0_NV"/>
+        <enum value="0x852B" name="GL_CONSTANT_COLOR1_NV"/>
+        <enum value="0x852C" name="GL_PRIMARY_COLOR_NV" group="PathColor,CombinerRegisterNV"/>
+        <enum value="0x852D" name="GL_SECONDARY_COLOR_NV" group="PathColor,CombinerRegisterNV"/>
+        <enum value="0x852E" name="GL_SPARE0_NV" group="CombinerRegisterNV"/>
+        <enum value="0x852F" name="GL_SPARE1_NV" group="CombinerRegisterNV"/>
+        <enum value="0x8530" name="GL_DISCARD_NV" group="CombinerRegisterNV"/>
+        <enum value="0x8531" name="GL_E_TIMES_F_NV"/>
+        <enum value="0x8532" name="GL_SPARE0_PLUS_SECONDARY_COLOR_NV"/>
+        <enum value="0x8533" name="GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV"/>
+        <enum value="0x8534" name="GL_MULTISAMPLE_FILTER_HINT_NV" group="HintTarget"/>
+        <enum value="0x8535" name="GL_PER_STAGE_CONSTANTS_NV"/>
+        <enum value="0x8536" name="GL_UNSIGNED_IDENTITY_NV" group="CombinerMappingNV"/>
+        <enum value="0x8537" name="GL_UNSIGNED_INVERT_NV" group="CombinerMappingNV"/>
+        <enum value="0x8538" name="GL_EXPAND_NORMAL_NV" group="CombinerMappingNV"/>
+        <enum value="0x8539" name="GL_EXPAND_NEGATE_NV" group="CombinerMappingNV"/>
+        <enum value="0x853A" name="GL_HALF_BIAS_NORMAL_NV" group="CombinerMappingNV"/>
+        <enum value="0x853B" name="GL_HALF_BIAS_NEGATE_NV" group="CombinerMappingNV"/>
+        <enum value="0x853C" name="GL_SIGNED_IDENTITY_NV" group="CombinerMappingNV"/>
+        <enum value="0x853D" name="GL_SIGNED_NEGATE_NV" group="CombinerMappingNV"/>
+        <enum value="0x853E" name="GL_SCALE_BY_TWO_NV" group="CombinerScaleNV"/>
+        <enum value="0x853F" name="GL_SCALE_BY_FOUR_NV" group="CombinerScaleNV"/>
+        <enum value="0x8540" name="GL_SCALE_BY_ONE_HALF_NV" group="CombinerScaleNV"/>
+        <enum value="0x8541" name="GL_BIAS_BY_NEGATIVE_ONE_HALF_NV" group="CombinerBiasNV"/>
+        <enum value="0x8542" name="GL_COMBINER_INPUT_NV" group="CombinerParameterNV"/>
+        <enum value="0x8543" name="GL_COMBINER_MAPPING_NV" group="CombinerParameterNV"/>
+        <enum value="0x8544" name="GL_COMBINER_COMPONENT_USAGE_NV" group="CombinerParameterNV"/>
+        <enum value="0x8545" name="GL_COMBINER_AB_DOT_PRODUCT_NV"/>
+        <enum value="0x8546" name="GL_COMBINER_CD_DOT_PRODUCT_NV"/>
+        <enum value="0x8547" name="GL_COMBINER_MUX_SUM_NV"/>
+        <enum value="0x8548" name="GL_COMBINER_SCALE_NV"/>
+        <enum value="0x8549" name="GL_COMBINER_BIAS_NV"/>
+        <enum value="0x854A" name="GL_COMBINER_AB_OUTPUT_NV"/>
+        <enum value="0x854B" name="GL_COMBINER_CD_OUTPUT_NV"/>
+        <enum value="0x854C" name="GL_COMBINER_SUM_OUTPUT_NV"/>
+        <enum value="0x854D" name="GL_MAX_GENERAL_COMBINERS_NV"/>
+        <enum value="0x854E" name="GL_NUM_GENERAL_COMBINERS_NV"/>
+        <enum value="0x854F" name="GL_COLOR_SUM_CLAMP_NV"/>
+        <enum value="0x8550" name="GL_COMBINER0_NV" group="CombinerStageNV"/>
+        <enum value="0x8551" name="GL_COMBINER1_NV" group="CombinerStageNV"/>
+        <enum value="0x8552" name="GL_COMBINER2_NV" group="CombinerStageNV"/>
+        <enum value="0x8553" name="GL_COMBINER3_NV" group="CombinerStageNV"/>
+        <enum value="0x8554" name="GL_COMBINER4_NV" group="CombinerStageNV"/>
+        <enum value="0x8555" name="GL_COMBINER5_NV" group="CombinerStageNV"/>
+        <enum value="0x8556" name="GL_COMBINER6_NV" group="CombinerStageNV"/>
+        <enum value="0x8557" name="GL_COMBINER7_NV" group="CombinerStageNV"/>
+        <enum value="0x8558" name="GL_PRIMITIVE_RESTART_NV"/>
+        <enum value="0x8559" name="GL_PRIMITIVE_RESTART_INDEX_NV"/>
+        <enum value="0x855A" name="GL_FOG_DISTANCE_MODE_NV"/>
+        <enum value="0x855B" name="GL_EYE_RADIAL_NV"/>
+        <enum value="0x855C" name="GL_EYE_PLANE_ABSOLUTE_NV"/>
+        <enum value="0x855D" name="GL_EMBOSS_LIGHT_NV"/>
+        <enum value="0x855E" name="GL_EMBOSS_CONSTANT_NV"/>
+        <enum value="0x855F" name="GL_EMBOSS_MAP_NV"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8560" end="0x856F" vendor="ZiiLabs">
+        <enum value="0x8560" name="GL_RED_MIN_CLAMP_INGR"/>
+        <enum value="0x8561" name="GL_GREEN_MIN_CLAMP_INGR"/>
+        <enum value="0x8562" name="GL_BLUE_MIN_CLAMP_INGR"/>
+        <enum value="0x8563" name="GL_ALPHA_MIN_CLAMP_INGR"/>
+        <enum value="0x8564" name="GL_RED_MAX_CLAMP_INGR"/>
+        <enum value="0x8565" name="GL_GREEN_MAX_CLAMP_INGR"/>
+        <enum value="0x8566" name="GL_BLUE_MAX_CLAMP_INGR"/>
+        <enum value="0x8567" name="GL_ALPHA_MAX_CLAMP_INGR"/>
+        <enum value="0x8568" name="GL_INTERLACE_READ_INGR"/>
+            <unused start="0x8569" end="0x856F" vendor="ZiiLabs"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8570" end="0x859F" group="RegisterCombinerPname" vendor="AMD/NV">
+        <enum value="0x8570" name="GL_COMBINE"/>
+        <enum value="0x8570" name="GL_COMBINE_ARB"/>
+        <enum value="0x8570" name="GL_COMBINE_EXT"/>
+        <enum value="0x8571" name="GL_COMBINE_RGB"/>
+        <enum value="0x8571" name="GL_COMBINE_RGB_ARB"/>
+        <enum value="0x8571" name="GL_COMBINE_RGB_EXT"/>
+        <enum value="0x8572" name="GL_COMBINE_ALPHA"/>
+        <enum value="0x8572" name="GL_COMBINE_ALPHA_ARB"/>
+        <enum value="0x8572" name="GL_COMBINE_ALPHA_EXT"/>
+        <enum value="0x8573" name="GL_RGB_SCALE"/>
+        <enum value="0x8573" name="GL_RGB_SCALE_ARB"/>
+        <enum value="0x8573" name="GL_RGB_SCALE_EXT"/>
+        <enum value="0x8574" name="GL_ADD_SIGNED"/>
+        <enum value="0x8574" name="GL_ADD_SIGNED_ARB"/>
+        <enum value="0x8574" name="GL_ADD_SIGNED_EXT"/>
+        <enum value="0x8575" name="GL_INTERPOLATE"/>
+        <enum value="0x8575" name="GL_INTERPOLATE_ARB"/>
+        <enum value="0x8575" name="GL_INTERPOLATE_EXT"/>
+        <enum value="0x8576" name="GL_CONSTANT" group="PathGenMode"/>
+        <enum value="0x8576" name="GL_CONSTANT_ARB"/>
+        <enum value="0x8576" name="GL_CONSTANT_EXT"/>
+        <enum value="0x8576" name="GL_CONSTANT_NV"/>
+        <enum value="0x8577" name="GL_PRIMARY_COLOR" group="PathColor"/>
+        <enum value="0x8577" name="GL_PRIMARY_COLOR_ARB"/>
+        <enum value="0x8577" name="GL_PRIMARY_COLOR_EXT"/>
+        <enum value="0x8578" name="GL_PREVIOUS"/>
+        <enum value="0x8578" name="GL_PREVIOUS_ARB"/>
+        <enum value="0x8578" name="GL_PREVIOUS_EXT"/>
+            <unused start="0x8579" end="0x857F" comment="Additional combiner enums only"/>
+        <enum value="0x8580" name="GL_SOURCE0_RGB"/>
+        <enum value="0x8580" name="GL_SOURCE0_RGB_ARB"/>
+        <enum value="0x8580" name="GL_SOURCE0_RGB_EXT"/>
+        <enum value="0x8580" name="GL_SRC0_RGB" alias="GL_SOURCE0_RGB"/>
+        <enum value="0x8581" name="GL_SOURCE1_RGB"/>
+        <enum value="0x8581" name="GL_SOURCE1_RGB_ARB"/>
+        <enum value="0x8581" name="GL_SOURCE1_RGB_EXT"/>
+        <enum value="0x8581" name="GL_SRC1_RGB" alias="GL_SOURCE1_RGB"/>
+        <enum value="0x8582" name="GL_SOURCE2_RGB"/>
+        <enum value="0x8582" name="GL_SOURCE2_RGB_ARB"/>
+        <enum value="0x8582" name="GL_SOURCE2_RGB_EXT"/>
+        <enum value="0x8582" name="GL_SRC2_RGB" alias="GL_SOURCE2_RGB"/>
+        <enum value="0x8583" name="GL_SOURCE3_RGB_NV"/>
+            <unused start="0x8584" end="0x8587" comment="Additional combiner enums only"/>
+        <enum value="0x8588" name="GL_SOURCE0_ALPHA"/>
+        <enum value="0x8588" name="GL_SOURCE0_ALPHA_ARB"/>
+        <enum value="0x8588" name="GL_SOURCE0_ALPHA_EXT"/>
+        <enum value="0x8588" name="GL_SRC0_ALPHA" alias="GL_SOURCE0_ALPHA"/>
+        <enum value="0x8589" name="GL_SOURCE1_ALPHA"/>
+        <enum value="0x8589" name="GL_SOURCE1_ALPHA_ARB"/>
+        <enum value="0x8589" name="GL_SOURCE1_ALPHA_EXT"/>
+        <enum value="0x8589" name="GL_SRC1_ALPHA" alias="GL_SOURCE1_ALPHA" group="BlendingFactor"/>
+        <enum value="0x8589" name="GL_SRC1_ALPHA_EXT"/>
+        <enum value="0x858A" name="GL_SOURCE2_ALPHA"/>
+        <enum value="0x858A" name="GL_SOURCE2_ALPHA_ARB"/>
+        <enum value="0x858A" name="GL_SOURCE2_ALPHA_EXT"/>
+        <enum value="0x858A" name="GL_SRC2_ALPHA" alias="GL_SOURCE2_ALPHA"/>
+        <enum value="0x858B" name="GL_SOURCE3_ALPHA_NV"/>
+            <unused start="0x858C" end="0x858F" comment="Additional combiner enums only"/>
+        <enum value="0x8590" name="GL_OPERAND0_RGB"/>
+        <enum value="0x8590" name="GL_OPERAND0_RGB_ARB"/>
+        <enum value="0x8590" name="GL_OPERAND0_RGB_EXT"/>
+        <enum value="0x8591" name="GL_OPERAND1_RGB"/>
+        <enum value="0x8591" name="GL_OPERAND1_RGB_ARB"/>
+        <enum value="0x8591" name="GL_OPERAND1_RGB_EXT"/>
+        <enum value="0x8592" name="GL_OPERAND2_RGB"/>
+        <enum value="0x8592" name="GL_OPERAND2_RGB_ARB"/>
+        <enum value="0x8592" name="GL_OPERAND2_RGB_EXT"/>
+        <enum value="0x8593" name="GL_OPERAND3_RGB_NV"/>
+            <unused start="0x8594" end="0x8597" comment="Additional combiner enums only"/>
+        <enum value="0x8598" name="GL_OPERAND0_ALPHA"/>
+        <enum value="0x8598" name="GL_OPERAND0_ALPHA_ARB"/>
+        <enum value="0x8598" name="GL_OPERAND0_ALPHA_EXT"/>
+        <enum value="0x8599" name="GL_OPERAND1_ALPHA"/>
+        <enum value="0x8599" name="GL_OPERAND1_ALPHA_ARB"/>
+        <enum value="0x8599" name="GL_OPERAND1_ALPHA_EXT"/>
+        <enum value="0x859A" name="GL_OPERAND2_ALPHA"/>
+        <enum value="0x859A" name="GL_OPERAND2_ALPHA_ARB"/>
+        <enum value="0x859A" name="GL_OPERAND2_ALPHA_EXT"/>
+        <enum value="0x859B" name="GL_OPERAND3_ALPHA_NV"/>
+            <unused start="0x859C" end="0x859F" comment="Additional combiner enums only"/>
+    </enums>
+
+    <enums namespace="GL" start="0x85A0" end="0x85AF" vendor="SGI">
+        <enum value="0x85A0" name="GL_PACK_SUBSAMPLE_RATE_SGIX" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x85A1" name="GL_UNPACK_SUBSAMPLE_RATE_SGIX" group="PixelStoreParameter,GetPName"/>
+        <enum value="0x85A2" name="GL_PIXEL_SUBSAMPLE_4444_SGIX" group="PixelStoreSubsampleRate"/>
+        <enum value="0x85A3" name="GL_PIXEL_SUBSAMPLE_2424_SGIX" group="PixelStoreSubsampleRate"/>
+        <enum value="0x85A4" name="GL_PIXEL_SUBSAMPLE_4242_SGIX" group="PixelStoreSubsampleRate"/>
+            <unused start="0x85A5" end="0x85AD" comment="Incomplete extension SGIS_color_range"/>
+            <!-- <enum value="0x85A5" name="GL_EXTENDED_RANGE_SGIS"/> -->
+            <!-- <enum value="0x85A6" name="GL_MIN_RED_SGIS"/> -->
+            <!-- <enum value="0x85A7" name="GL_MAX_RED_SGIS"/> -->
+            <!-- <enum value="0x85A8" name="GL_MIN_GREEN_SGIS"/> -->
+            <!-- <enum value="0x85A9" name="GL_MAX_GREEN_SGIS"/> -->
+            <!-- <enum value="0x85AA" name="GL_MIN_BLUE_SGIS"/> -->
+            <!-- <enum value="0x85AB" name="GL_MAX_BLUE_SGIS"/> -->
+            <!-- <enum value="0x85AC" name="GL_MIN_ALPHA_SGIS"/> -->
+            <!-- <enum value="0x85AD" name="GL_MAX_ALPHA_SGIS"/> -->
+        <enum value="0x85AE" name="GL_PERTURB_EXT" group="TextureNormalModeEXT"/>
+        <enum value="0x85AF" name="GL_TEXTURE_NORMAL_EXT"/>
+    </enums>
+
+    <enums namespace="GL" start="0x85B0" end="0x85BF" vendor="APPLE">
+        <enum value="0x85B0" name="GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE"/>
+        <enum value="0x85B1" name="GL_TRANSFORM_HINT_APPLE" group="HintTarget"/>
+        <enum value="0x85B2" name="GL_UNPACK_CLIENT_STORAGE_APPLE"/>
+        <enum value="0x85B3" name="GL_BUFFER_OBJECT_APPLE"/>
+        <enum value="0x85B4" name="GL_STORAGE_CLIENT_APPLE" group="VertexArrayPNameAPPLE"/>
+        <enum value="0x85B5" name="GL_VERTEX_ARRAY_BINDING" group="GetPName"/>
+        <enum value="0x85B5" name="GL_VERTEX_ARRAY_BINDING_APPLE"/>
+        <enum value="0x85B5" name="GL_VERTEX_ARRAY_BINDING_OES"/>
+            <unused start="0x85B6" vendor="APPLE" comment="Unknown extension (Khronos bug 632)"/>
+            <!-- <enum value="0x85B6" name="GL_TEXTURE_MINIMIZE_STORAGE_APPLE"/> -->
+        <enum value="0x85B7" name="GL_TEXTURE_RANGE_LENGTH_APPLE"/>
+        <enum value="0x85B8" name="GL_TEXTURE_RANGE_POINTER_APPLE"/>
+        <enum value="0x85B9" name="GL_YCBCR_422_APPLE"/>
+        <enum value="0x85BA" name="GL_UNSIGNED_SHORT_8_8_APPLE"/>
+        <enum value="0x85BA" name="GL_UNSIGNED_SHORT_8_8_MESA"/>
+        <enum value="0x85BB" name="GL_UNSIGNED_SHORT_8_8_REV_APPLE"/>
+        <enum value="0x85BB" name="GL_UNSIGNED_SHORT_8_8_REV_MESA"/>
+        <enum value="0x85BC" name="GL_TEXTURE_STORAGE_HINT_APPLE" group="HintTarget"/>
+        <enum value="0x85BD" name="GL_STORAGE_PRIVATE_APPLE"/>
+        <enum value="0x85BE" name="GL_STORAGE_CACHED_APPLE" group="VertexArrayPNameAPPLE"/>
+        <enum value="0x85BF" name="GL_STORAGE_SHARED_APPLE" group="VertexArrayPNameAPPLE"/>
+    </enums>
+
+    <enums namespace="GL" start="0x85C0" end="0x85CF" vendor="SUN">
+        <enum value="0x85C0" name="GL_REPLACEMENT_CODE_ARRAY_SUN"/>
+        <enum value="0x85C1" name="GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN"/>
+        <enum value="0x85C2" name="GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN"/>
+        <enum value="0x85C3" name="GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN"/>
+        <enum value="0x85C4" name="GL_R1UI_V3F_SUN"/>
+        <enum value="0x85C5" name="GL_R1UI_C4UB_V3F_SUN"/>
+        <enum value="0x85C6" name="GL_R1UI_C3F_V3F_SUN"/>
+        <enum value="0x85C7" name="GL_R1UI_N3F_V3F_SUN"/>
+        <enum value="0x85C8" name="GL_R1UI_C4F_N3F_V3F_SUN"/>
+        <enum value="0x85C9" name="GL_R1UI_T2F_V3F_SUN"/>
+        <enum value="0x85CA" name="GL_R1UI_T2F_N3F_V3F_SUN"/>
+        <enum value="0x85CB" name="GL_R1UI_T2F_C4F_N3F_V3F_SUN"/>
+        <enum value="0x85CC" name="GL_SLICE_ACCUM_SUN"/>
+            <unused start="0x85CD" end="0x85CF" vendor="SUN"/>
+    </enums>
+
+    <enums namespace="GL" start="0x85D0" end="0x85DF" vendor="ZiiLabs" comment="3Dlabs private extension for Autodesk">
+            <unused start="0x85D0" end="0x85D1" comment="Unknown 3Dlabs private extension for Autodesk (but we know the enum values)"/>
+            <!-- <enum value="0x85D0" name="GL_FACET_NORMAL_AUTODESK"/> -->
+            <!-- <enum value="0x85D1" name="GL_FACET_NORMAL_ARRAY_AUTODESK"/> -->
+            <unused start="0x85D2" end="0x85DF" vendor="ZiiLabs"/>
+    </enums>
+
+    <enums namespace="GL" start="0x85E0" end="0x85FF" vendor="SGI">
+            <unused start="0x85E0" end="0x85FB" comment="Incomplete extension SGIX_texture_range"/>
+            <!-- <enum value="0x85E0" name="GL_RGB_SIGNED_SGIX"/> -->
+            <!-- <enum value="0x85E1" name="GL_RGBA_SIGNED_SGIX"/> -->
+            <!-- <enum value="0x85E2" name="GL_ALPHA_SIGNED_SGIX"/> -->
+            <!-- <enum value="0x85E3" name="GL_LUMINANCE_SIGNED_SGIX"/> -->
+            <!-- <enum value="0x85E4" name="GL_INTENSITY_SIGNED_SGIX"/> -->
+            <!-- <enum value="0x85E5" name="GL_LUMINANCE_ALPHA_SIGNED_SGIX"/> -->
+            <!-- <enum value="0x85E6" name="GL_RGB16_SIGNED_SGIX"/> -->
+            <!-- <enum value="0x85E7" name="GL_RGBA16_SIGNED_SGIX"/> -->
+            <!-- <enum value="0x85E8" name="GL_ALPHA16_SIGNED_SGIX"/> -->
+            <!-- <enum value="0x85E9" name="GL_LUMINANCE16_SIGNED_SGIX"/> -->
+            <!-- <enum value="0x85EA" name="GL_INTENSITY16_SIGNED_SGIX"/> -->
+            <!-- <enum value="0x85EB" name="GL_LUMINANCE16_ALPHA16_SIGNED_SGIX"/> -->
+            <!-- <enum value="0x85EC" name="GL_RGB_EXTENDED_RANGE_SGIX"/> -->
+            <!-- <enum value="0x85ED" name="GL_RGBA_EXTENDED_RANGE_SGIX"/> -->
+            <!-- <enum value="0x85EE" name="GL_ALPHA_EXTENDED_RANGE_SGIX"/> -->
+            <!-- <enum value="0x85EF" name="GL_LUMINANCE_EXTENDED_RANGE_SGIX"/> -->
+            <!-- <enum value="0x85F0" name="GL_INTENSITY_EXTENDED_RANGE_SGIX"/> -->
+            <!-- <enum value="0x85F1" name="GL_LUMINANCE_ALPHA_EXTENDED_RANGE_SGIX"/> -->
+            <!-- <enum value="0x85F2" name="GL_RGB16_EXTENDED_RANGE_SGIX"/> -->
+            <!-- <enum value="0x85F3" name="GL_RGBA16_EXTENDED_RANGE_SGIX"/> -->
+            <!-- <enum value="0x85F4" name="GL_ALPHA16_EXTENDED_RANGE_SGIX"/> -->
+            <!-- <enum value="0x85F5" name="GL_LUMINANCE16_EXTENDED_RANGE_SGIX"/> -->
+            <!-- <enum value="0x85F6" name="GL_INTENSITY16_EXTENDED_RANGE_SGIX"/> -->
+            <!-- <enum value="0x85F7" name="GL_LUMINANCE16_ALPHA16_EXTENDED_RANGE_SGIX"/> -->
+            <!-- <enum value="0x85F8" name="GL_MIN_LUMINANCE_SGIS"/> -->
+            <!-- <enum value="0x85F9" name="GL_MAX_LUMINANCE_SGIS"/> -->
+            <!-- <enum value="0x85FA" name="GL_MIN_INTENSITY_SGIS"/> -->
+            <!-- <enum value="0x85FB" name="GL_MAX_INTENSITY_SGIS"/> -->
+            <unused start="0x85FC" end="0x85FF" vendor="SGI"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8600" end="0x861F" vendor="SUN">
+            <unused start="0x8600" end="0x8613" vendor="SUN"/>
+        <enum value="0x8614" name="GL_QUAD_MESH_SUN"/>
+        <enum value="0x8615" name="GL_TRIANGLE_MESH_SUN"/>
+            <unused start="0x8614" end="0x861F" vendor="SUN"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8620" end="0x867F" vendor="NV">
+        <enum value="0x8620" name="GL_VERTEX_PROGRAM_ARB" group="ProgramTarget"/>
+        <enum value="0x8620" name="GL_VERTEX_PROGRAM_NV"/>
+        <enum value="0x8621" name="GL_VERTEX_STATE_PROGRAM_NV"/>
+        <enum value="0x8622" name="GL_VERTEX_ATTRIB_ARRAY_ENABLED" group="VertexAttribEnum,VertexAttribPropertyARB,VertexArrayPName"/>
+        <enum value="0x8622" name="GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB"/>
+        <enum value="0x8623" name="GL_ATTRIB_ARRAY_SIZE_NV"/>
+        <enum value="0x8623" name="GL_VERTEX_ATTRIB_ARRAY_SIZE" group="VertexAttribEnum,VertexAttribPropertyARB,VertexArrayPName"/>
+        <enum value="0x8623" name="GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB"/>
+        <enum value="0x8624" name="GL_ATTRIB_ARRAY_STRIDE_NV"/>
+        <enum value="0x8624" name="GL_VERTEX_ATTRIB_ARRAY_STRIDE" group="VertexAttribEnum,VertexAttribPropertyARB,VertexArrayPName"/>
+        <enum value="0x8624" name="GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB"/>
+        <enum value="0x8625" name="GL_ATTRIB_ARRAY_TYPE_NV"/>
+        <enum value="0x8625" name="GL_VERTEX_ATTRIB_ARRAY_TYPE" group="VertexAttribEnum,VertexAttribPropertyARB,VertexArrayPName"/>
+        <enum value="0x8625" name="GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB"/>
+        <enum value="0x8626" name="GL_CURRENT_ATTRIB_NV"/>
+        <enum value="0x8626" name="GL_CURRENT_VERTEX_ATTRIB" group="VertexAttribEnum,VertexAttribPropertyARB"/>
+        <enum value="0x8626" name="GL_CURRENT_VERTEX_ATTRIB_ARB"/>
+        <enum value="0x8627" name="GL_PROGRAM_LENGTH_ARB"/>
+        <enum value="0x8627" name="GL_PROGRAM_LENGTH_NV"/>
+        <enum value="0x8628" name="GL_PROGRAM_STRING_ARB" group="ProgramStringProperty"/>
+        <enum value="0x8628" name="GL_PROGRAM_STRING_NV"/>
+        <enum value="0x8629" name="GL_MODELVIEW_PROJECTION_NV"/>
+        <enum value="0x862A" name="GL_IDENTITY_NV"/>
+        <enum value="0x862B" name="GL_INVERSE_NV"/>
+        <enum value="0x862C" name="GL_TRANSPOSE_NV"/>
+        <enum value="0x862D" name="GL_INVERSE_TRANSPOSE_NV"/>
+        <enum value="0x862E" name="GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB"/>
+        <enum value="0x862E" name="GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV"/>
+        <enum value="0x862F" name="GL_MAX_PROGRAM_MATRICES_ARB"/>
+        <enum value="0x862F" name="GL_MAX_TRACK_MATRICES_NV"/>
+        <enum value="0x8630" name="GL_MATRIX0_NV"/>
+        <enum value="0x8631" name="GL_MATRIX1_NV"/>
+        <enum value="0x8632" name="GL_MATRIX2_NV"/>
+        <enum value="0x8633" name="GL_MATRIX3_NV"/>
+        <enum value="0x8634" name="GL_MATRIX4_NV"/>
+        <enum value="0x8635" name="GL_MATRIX5_NV"/>
+        <enum value="0x8636" name="GL_MATRIX6_NV"/>
+        <enum value="0x8637" name="GL_MATRIX7_NV"/>
+            <unused start="0x8638" end="0x863F" comment="Reserved for MATRIX{8-15}_NV"/>
+            <!-- <enum value="0x8638" name="GL_MATRIX8_NV"/> -->
+            <!-- <enum value="0x8639" name="GL_MATRIX9_NV"/> -->
+            <!-- <enum value="0x863A" name="GL_MATRIX10_NV"/> -->
+            <!-- <enum value="0x863B" name="GL_MATRIX11_NV"/> -->
+            <!-- <enum value="0x863C" name="GL_MATRIX12_NV"/> -->
+            <!-- <enum value="0x863D" name="GL_MATRIX13_NV"/> -->
+            <!-- <enum value="0x863E" name="GL_MATRIX14_NV"/> -->
+            <!-- <enum value="0x863F" name="GL_MATRIX15_NV"/> -->
+        <enum value="0x8640" name="GL_CURRENT_MATRIX_STACK_DEPTH_ARB"/>
+        <enum value="0x8640" name="GL_CURRENT_MATRIX_STACK_DEPTH_NV"/>
+        <enum value="0x8641" name="GL_CURRENT_MATRIX_ARB"/>
+        <enum value="0x8641" name="GL_CURRENT_MATRIX_NV"/>
+        <enum value="0x8642" name="GL_VERTEX_PROGRAM_POINT_SIZE"/>
+        <enum value="0x8642" name="GL_VERTEX_PROGRAM_POINT_SIZE_ARB"/>
+        <enum value="0x8642" name="GL_VERTEX_PROGRAM_POINT_SIZE_NV"/>
+        <enum value="0x8642" name="GL_PROGRAM_POINT_SIZE" alias="GL_VERTEX_PROGRAM_POINT_SIZE" group="GetPName,EnableCap"/>
+        <enum value="0x8642" name="GL_PROGRAM_POINT_SIZE_ARB"/>
+        <enum value="0x8642" name="GL_PROGRAM_POINT_SIZE_EXT"/>
+        <enum value="0x8643" name="GL_VERTEX_PROGRAM_TWO_SIDE"/>
+        <enum value="0x8643" name="GL_VERTEX_PROGRAM_TWO_SIDE_ARB"/>
+        <enum value="0x8643" name="GL_VERTEX_PROGRAM_TWO_SIDE_NV"/>
+        <enum value="0x8644" name="GL_PROGRAM_PARAMETER_NV" group="VertexAttribEnumNV"/>
+        <enum value="0x8645" name="GL_ATTRIB_ARRAY_POINTER_NV"/>
+        <enum value="0x8645" name="GL_VERTEX_ATTRIB_ARRAY_POINTER" group="VertexAttribPointerPropertyARB"/>
+        <enum value="0x8645" name="GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB" group="VertexAttribPointerPropertyARB"/>
+        <enum value="0x8646" name="GL_PROGRAM_TARGET_NV"/>
+        <enum value="0x8647" name="GL_PROGRAM_RESIDENT_NV"/>
+        <enum value="0x8648" name="GL_TRACK_MATRIX_NV"/>
+        <enum value="0x8649" name="GL_TRACK_MATRIX_TRANSFORM_NV"/>
+        <enum value="0x864A" name="GL_VERTEX_PROGRAM_BINDING_NV"/>
+        <enum value="0x864B" name="GL_PROGRAM_ERROR_POSITION_ARB"/>
+        <enum value="0x864B" name="GL_PROGRAM_ERROR_POSITION_NV"/>
+        <enum value="0x864C" name="GL_OFFSET_TEXTURE_RECTANGLE_NV"/>
+        <enum value="0x864D" name="GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV"/>
+        <enum value="0x864E" name="GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV"/>
+        <enum value="0x864F" name="GL_DEPTH_CLAMP" group="EnableCap"/>
+        <enum value="0x864F" name="GL_DEPTH_CLAMP_NV"/>
+        <enum value="0x864F" name="GL_DEPTH_CLAMP_EXT"/>
+        <enum value="0x8650" name="GL_VERTEX_ATTRIB_ARRAY0_NV"/>
+        <enum value="0x8651" name="GL_VERTEX_ATTRIB_ARRAY1_NV"/>
+        <enum value="0x8652" name="GL_VERTEX_ATTRIB_ARRAY2_NV"/>
+        <enum value="0x8653" name="GL_VERTEX_ATTRIB_ARRAY3_NV"/>
+        <enum value="0x8654" name="GL_VERTEX_ATTRIB_ARRAY4_NV"/>
+        <enum value="0x8655" name="GL_VERTEX_ATTRIB_ARRAY5_NV"/>
+        <enum value="0x8656" name="GL_VERTEX_ATTRIB_ARRAY6_NV"/>
+        <enum value="0x8657" name="GL_VERTEX_ATTRIB_ARRAY7_NV"/>
+        <enum value="0x8658" name="GL_VERTEX_ATTRIB_ARRAY8_NV"/>
+        <enum value="0x8659" name="GL_VERTEX_ATTRIB_ARRAY9_NV"/>
+        <enum value="0x865A" name="GL_VERTEX_ATTRIB_ARRAY10_NV"/>
+        <enum value="0x865B" name="GL_VERTEX_ATTRIB_ARRAY11_NV"/>
+        <enum value="0x865C" name="GL_VERTEX_ATTRIB_ARRAY12_NV"/>
+        <enum value="0x865D" name="GL_VERTEX_ATTRIB_ARRAY13_NV"/>
+        <enum value="0x865E" name="GL_VERTEX_ATTRIB_ARRAY14_NV"/>
+        <enum value="0x865F" name="GL_VERTEX_ATTRIB_ARRAY15_NV"/>
+        <enum value="0x8660" name="GL_MAP1_VERTEX_ATTRIB0_4_NV"/>
+        <enum value="0x8661" name="GL_MAP1_VERTEX_ATTRIB1_4_NV"/>
+        <enum value="0x8662" name="GL_MAP1_VERTEX_ATTRIB2_4_NV"/>
+        <enum value="0x8663" name="GL_MAP1_VERTEX_ATTRIB3_4_NV"/>
+        <enum value="0x8664" name="GL_MAP1_VERTEX_ATTRIB4_4_NV"/>
+        <enum value="0x8665" name="GL_MAP1_VERTEX_ATTRIB5_4_NV"/>
+        <enum value="0x8666" name="GL_MAP1_VERTEX_ATTRIB6_4_NV"/>
+        <enum value="0x8667" name="GL_MAP1_VERTEX_ATTRIB7_4_NV"/>
+        <enum value="0x8668" name="GL_MAP1_VERTEX_ATTRIB8_4_NV"/>
+        <enum value="0x8669" name="GL_MAP1_VERTEX_ATTRIB9_4_NV"/>
+        <enum value="0x866A" name="GL_MAP1_VERTEX_ATTRIB10_4_NV"/>
+        <enum value="0x866B" name="GL_MAP1_VERTEX_ATTRIB11_4_NV"/>
+        <enum value="0x866C" name="GL_MAP1_VERTEX_ATTRIB12_4_NV"/>
+        <enum value="0x866D" name="GL_MAP1_VERTEX_ATTRIB13_4_NV"/>
+        <enum value="0x866E" name="GL_MAP1_VERTEX_ATTRIB14_4_NV"/>
+        <enum value="0x866F" name="GL_MAP1_VERTEX_ATTRIB15_4_NV"/>
+        <enum value="0x8670" name="GL_MAP2_VERTEX_ATTRIB0_4_NV"/>
+        <enum value="0x8671" name="GL_MAP2_VERTEX_ATTRIB1_4_NV"/>
+        <enum value="0x8672" name="GL_MAP2_VERTEX_ATTRIB2_4_NV"/>
+        <enum value="0x8673" name="GL_MAP2_VERTEX_ATTRIB3_4_NV"/>
+        <enum value="0x8674" name="GL_MAP2_VERTEX_ATTRIB4_4_NV"/>
+        <enum value="0x8675" name="GL_MAP2_VERTEX_ATTRIB5_4_NV"/>
+        <enum value="0x8676" name="GL_MAP2_VERTEX_ATTRIB6_4_NV"/>
+        <enum value="0x8677" name="GL_MAP2_VERTEX_ATTRIB7_4_NV"/>
+        <enum value="0x8677" name="GL_PROGRAM_BINDING_ARB" comment="NOT an alias. Accidental reuse of GL_MAP2_VERTEX_ATTRIB7_4_NV"/>
+        <enum value="0x8678" name="GL_MAP2_VERTEX_ATTRIB8_4_NV"/>
+        <enum value="0x8679" name="GL_MAP2_VERTEX_ATTRIB9_4_NV"/>
+        <enum value="0x867A" name="GL_MAP2_VERTEX_ATTRIB10_4_NV"/>
+        <enum value="0x867B" name="GL_MAP2_VERTEX_ATTRIB11_4_NV"/>
+        <enum value="0x867C" name="GL_MAP2_VERTEX_ATTRIB12_4_NV"/>
+        <enum value="0x867D" name="GL_MAP2_VERTEX_ATTRIB13_4_NV"/>
+        <enum value="0x867E" name="GL_MAP2_VERTEX_ATTRIB14_4_NV"/>
+        <enum value="0x867F" name="GL_MAP2_VERTEX_ATTRIB15_4_NV"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8680" end="0x869F" vendor="Pixelfusion">
+            <unused start="0x8680" end="0x869F" vendor="Pixelfusion"/>
+    </enums>
+
+    <enums namespace="GL" start="0x86A0" end="0x86AF" vendor="ARB">
+        <enum value="0x86A0" name="GL_TEXTURE_COMPRESSED_IMAGE_SIZE"/>
+        <enum value="0x86A0" name="GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB"/>
+        <enum value="0x86A1" name="GL_TEXTURE_COMPRESSED" group="InternalFormatPName"/>
+        <enum value="0x86A1" name="GL_TEXTURE_COMPRESSED_ARB"/>
+        <enum value="0x86A2" name="GL_NUM_COMPRESSED_TEXTURE_FORMATS" group="GetPName"/>
+        <enum value="0x86A2" name="GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB"/>
+        <enum value="0x86A3" name="GL_COMPRESSED_TEXTURE_FORMATS" group="GetPName"/>
+        <enum value="0x86A3" name="GL_COMPRESSED_TEXTURE_FORMATS_ARB"/>
+        <enum value="0x86A4" name="GL_MAX_VERTEX_UNITS_ARB"/>
+        <enum value="0x86A4" name="GL_MAX_VERTEX_UNITS_OES"/>
+        <enum value="0x86A5" name="GL_ACTIVE_VERTEX_UNITS_ARB"/>
+        <enum value="0x86A6" name="GL_WEIGHT_SUM_UNITY_ARB"/>
+        <enum value="0x86A7" name="GL_VERTEX_BLEND_ARB"/>
+        <enum value="0x86A8" name="GL_CURRENT_WEIGHT_ARB"/>
+        <enum value="0x86A9" name="GL_WEIGHT_ARRAY_TYPE_ARB"/>
+        <enum value="0x86A9" name="GL_WEIGHT_ARRAY_TYPE_OES"/>
+        <enum value="0x86AA" name="GL_WEIGHT_ARRAY_STRIDE_ARB"/>
+        <enum value="0x86AA" name="GL_WEIGHT_ARRAY_STRIDE_OES"/>
+        <enum value="0x86AB" name="GL_WEIGHT_ARRAY_SIZE_ARB"/>
+        <enum value="0x86AB" name="GL_WEIGHT_ARRAY_SIZE_OES"/>
+        <enum value="0x86AC" name="GL_WEIGHT_ARRAY_POINTER_ARB"/>
+        <enum value="0x86AC" name="GL_WEIGHT_ARRAY_POINTER_OES"/>
+        <enum value="0x86AD" name="GL_WEIGHT_ARRAY_ARB"/>
+        <enum value="0x86AD" name="GL_WEIGHT_ARRAY_OES"/>
+        <enum value="0x86AE" name="GL_DOT3_RGB"/>
+        <enum value="0x86AE" name="GL_DOT3_RGB_ARB"/>
+        <enum value="0x86AF" name="GL_DOT3_RGBA"/>
+        <enum value="0x86AF" name="GL_DOT3_RGBA_ARB"/>
+        <enum value="0x86AF" name="GL_DOT3_RGBA_IMG"/>
+    </enums>
+
+    <enums namespace="GL" start="0x86B0" end="0x86BF" vendor="3DFX">
+        <enum value="0x86B0" name="GL_COMPRESSED_RGB_FXT1_3DFX"/>
+        <enum value="0x86B1" name="GL_COMPRESSED_RGBA_FXT1_3DFX"/>
+        <enum value="0x86B2" name="GL_MULTISAMPLE_3DFX"/>
+        <enum value="0x86B3" name="GL_SAMPLE_BUFFERS_3DFX"/>
+        <enum value="0x86B4" name="GL_SAMPLES_3DFX"/>
+            <unused start="0x86B5" end="0x86BF" vendor="3DFX"/>
+    </enums>
+
+    <enums namespace="GL" start="0x86C0" end="0x871F" vendor="NV">
+        <enum value="0x86C0" name="GL_EVAL_2D_NV" group="EvalTargetNV"/>
+        <enum value="0x86C1" name="GL_EVAL_TRIANGULAR_2D_NV" group="EvalTargetNV"/>
+        <enum value="0x86C2" name="GL_MAP_TESSELLATION_NV" group="MapParameterNV"/>
+        <enum value="0x86C3" name="GL_MAP_ATTRIB_U_ORDER_NV" group="MapAttribParameterNV"/>
+        <enum value="0x86C4" name="GL_MAP_ATTRIB_V_ORDER_NV" group="MapAttribParameterNV"/>
+        <enum value="0x86C5" name="GL_EVAL_FRACTIONAL_TESSELLATION_NV"/>
+        <enum value="0x86C6" name="GL_EVAL_VERTEX_ATTRIB0_NV"/>
+        <enum value="0x86C7" name="GL_EVAL_VERTEX_ATTRIB1_NV"/>
+        <enum value="0x86C8" name="GL_EVAL_VERTEX_ATTRIB2_NV"/>
+        <enum value="0x86C9" name="GL_EVAL_VERTEX_ATTRIB3_NV"/>
+        <enum value="0x86CA" name="GL_EVAL_VERTEX_ATTRIB4_NV"/>
+        <enum value="0x86CB" name="GL_EVAL_VERTEX_ATTRIB5_NV"/>
+        <enum value="0x86CC" name="GL_EVAL_VERTEX_ATTRIB6_NV"/>
+        <enum value="0x86CD" name="GL_EVAL_VERTEX_ATTRIB7_NV"/>
+        <enum value="0x86CE" name="GL_EVAL_VERTEX_ATTRIB8_NV"/>
+        <enum value="0x86CF" name="GL_EVAL_VERTEX_ATTRIB9_NV"/>
+        <enum value="0x86D0" name="GL_EVAL_VERTEX_ATTRIB10_NV"/>
+        <enum value="0x86D1" name="GL_EVAL_VERTEX_ATTRIB11_NV"/>
+        <enum value="0x86D2" name="GL_EVAL_VERTEX_ATTRIB12_NV"/>
+        <enum value="0x86D3" name="GL_EVAL_VERTEX_ATTRIB13_NV"/>
+        <enum value="0x86D4" name="GL_EVAL_VERTEX_ATTRIB14_NV"/>
+        <enum value="0x86D5" name="GL_EVAL_VERTEX_ATTRIB15_NV"/>
+        <enum value="0x86D6" name="GL_MAX_MAP_TESSELLATION_NV"/>
+        <enum value="0x86D7" name="GL_MAX_RATIONAL_EVAL_ORDER_NV"/>
+        <enum value="0x86D8" name="GL_MAX_PROGRAM_PATCH_ATTRIBS_NV"/>
+        <enum value="0x86D9" name="GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV"/>
+        <enum value="0x86DA" name="GL_UNSIGNED_INT_S8_S8_8_8_NV"/>
+        <enum value="0x86DB" name="GL_UNSIGNED_INT_8_8_S8_S8_REV_NV"/>
+        <enum value="0x86DC" name="GL_DSDT_MAG_INTENSITY_NV"/>
+        <enum value="0x86DD" name="GL_SHADER_CONSISTENT_NV"/>
+        <enum value="0x86DE" name="GL_TEXTURE_SHADER_NV"/>
+        <enum value="0x86DF" name="GL_SHADER_OPERATION_NV"/>
+        <enum value="0x86E0" name="GL_CULL_MODES_NV"/>
+        <enum value="0x86E1" name="GL_OFFSET_TEXTURE_MATRIX_NV"/>
+        <enum value="0x86E1" name="GL_OFFSET_TEXTURE_2D_MATRIX_NV" alias="GL_OFFSET_TEXTURE_MATRIX_NV"/>
+        <enum value="0x86E2" name="GL_OFFSET_TEXTURE_SCALE_NV"/>
+        <enum value="0x86E2" name="GL_OFFSET_TEXTURE_2D_SCALE_NV" alias="GL_OFFSET_TEXTURE_SCALE_NV"/>
+        <enum value="0x86E3" name="GL_OFFSET_TEXTURE_BIAS_NV"/>
+        <enum value="0x86E3" name="GL_OFFSET_TEXTURE_2D_BIAS_NV" alias="GL_OFFSET_TEXTURE_BIAS_NV"/>
+        <enum value="0x86E4" name="GL_PREVIOUS_TEXTURE_INPUT_NV"/>
+        <enum value="0x86E5" name="GL_CONST_EYE_NV"/>
+        <enum value="0x86E6" name="GL_PASS_THROUGH_NV"/>
+        <enum value="0x86E7" name="GL_CULL_FRAGMENT_NV"/>
+        <enum value="0x86E8" name="GL_OFFSET_TEXTURE_2D_NV"/>
+        <enum value="0x86E9" name="GL_DEPENDENT_AR_TEXTURE_2D_NV"/>
+        <enum value="0x86EA" name="GL_DEPENDENT_GB_TEXTURE_2D_NV"/>
+        <enum value="0x86EB" name="GL_SURFACE_STATE_NV"/>
+        <enum value="0x86EC" name="GL_DOT_PRODUCT_NV"/>
+        <enum value="0x86ED" name="GL_DOT_PRODUCT_DEPTH_REPLACE_NV"/>
+        <enum value="0x86EE" name="GL_DOT_PRODUCT_TEXTURE_2D_NV"/>
+        <enum value="0x86EF" name="GL_DOT_PRODUCT_TEXTURE_3D_NV"/>
+        <enum value="0x86F0" name="GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV"/>
+        <enum value="0x86F1" name="GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV"/>
+        <enum value="0x86F2" name="GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV"/>
+        <enum value="0x86F3" name="GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV"/>
+        <enum value="0x86F4" name="GL_HILO_NV"/>
+        <enum value="0x86F5" name="GL_DSDT_NV"/>
+        <enum value="0x86F6" name="GL_DSDT_MAG_NV"/>
+        <enum value="0x86F7" name="GL_DSDT_MAG_VIB_NV"/>
+        <enum value="0x86F8" name="GL_HILO16_NV"/>
+        <enum value="0x86F9" name="GL_SIGNED_HILO_NV"/>
+        <enum value="0x86FA" name="GL_SIGNED_HILO16_NV"/>
+        <enum value="0x86FB" name="GL_SIGNED_RGBA_NV"/>
+        <enum value="0x86FC" name="GL_SIGNED_RGBA8_NV"/>
+        <enum value="0x86FD" name="GL_SURFACE_REGISTERED_NV"/>
+        <enum value="0x86FE" name="GL_SIGNED_RGB_NV"/>
+        <enum value="0x86FF" name="GL_SIGNED_RGB8_NV"/>
+        <enum value="0x8700" name="GL_SURFACE_MAPPED_NV"/>
+        <enum value="0x8701" name="GL_SIGNED_LUMINANCE_NV"/>
+        <enum value="0x8702" name="GL_SIGNED_LUMINANCE8_NV"/>
+        <enum value="0x8703" name="GL_SIGNED_LUMINANCE_ALPHA_NV"/>
+        <enum value="0x8704" name="GL_SIGNED_LUMINANCE8_ALPHA8_NV"/>
+        <enum value="0x8705" name="GL_SIGNED_ALPHA_NV"/>
+        <enum value="0x8706" name="GL_SIGNED_ALPHA8_NV"/>
+        <enum value="0x8707" name="GL_SIGNED_INTENSITY_NV"/>
+        <enum value="0x8708" name="GL_SIGNED_INTENSITY8_NV"/>
+        <enum value="0x8709" name="GL_DSDT8_NV"/>
+        <enum value="0x870A" name="GL_DSDT8_MAG8_NV"/>
+        <enum value="0x870B" name="GL_DSDT8_MAG8_INTENSITY8_NV"/>
+        <enum value="0x870C" name="GL_SIGNED_RGB_UNSIGNED_ALPHA_NV"/>
+        <enum value="0x870D" name="GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV"/>
+        <enum value="0x870E" name="GL_HI_SCALE_NV"/>
+        <enum value="0x870F" name="GL_LO_SCALE_NV"/>
+        <enum value="0x8710" name="GL_DS_SCALE_NV"/>
+        <enum value="0x8711" name="GL_DT_SCALE_NV"/>
+        <enum value="0x8712" name="GL_MAGNITUDE_SCALE_NV"/>
+        <enum value="0x8713" name="GL_VIBRANCE_SCALE_NV"/>
+        <enum value="0x8714" name="GL_HI_BIAS_NV"/>
+        <enum value="0x8715" name="GL_LO_BIAS_NV"/>
+        <enum value="0x8716" name="GL_DS_BIAS_NV"/>
+        <enum value="0x8717" name="GL_DT_BIAS_NV"/>
+        <enum value="0x8718" name="GL_MAGNITUDE_BIAS_NV"/>
+        <enum value="0x8719" name="GL_VIBRANCE_BIAS_NV"/>
+        <enum value="0x871A" name="GL_TEXTURE_BORDER_VALUES_NV"/>
+        <enum value="0x871B" name="GL_TEXTURE_HI_SIZE_NV"/>
+        <enum value="0x871C" name="GL_TEXTURE_LO_SIZE_NV"/>
+        <enum value="0x871D" name="GL_TEXTURE_DS_SIZE_NV"/>
+        <enum value="0x871E" name="GL_TEXTURE_DT_SIZE_NV"/>
+        <enum value="0x871F" name="GL_TEXTURE_MAG_SIZE_NV"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8720" end="0x873F" vendor="ARB">
+            <unused start="0x8720" end="0x8721" comment="MODELVIEW0/1 already exist"/>
+        <enum value="0x8722" name="GL_MODELVIEW2_ARB"/>
+        <enum value="0x8723" name="GL_MODELVIEW3_ARB"/>
+        <enum value="0x8724" name="GL_MODELVIEW4_ARB"/>
+        <enum value="0x8725" name="GL_MODELVIEW5_ARB"/>
+        <enum value="0x8726" name="GL_MODELVIEW6_ARB"/>
+        <enum value="0x8727" name="GL_MODELVIEW7_ARB"/>
+        <enum value="0x8728" name="GL_MODELVIEW8_ARB"/>
+        <enum value="0x8729" name="GL_MODELVIEW9_ARB"/>
+        <enum value="0x872A" name="GL_MODELVIEW10_ARB"/>
+        <enum value="0x872B" name="GL_MODELVIEW11_ARB"/>
+        <enum value="0x872C" name="GL_MODELVIEW12_ARB"/>
+        <enum value="0x872D" name="GL_MODELVIEW13_ARB"/>
+        <enum value="0x872E" name="GL_MODELVIEW14_ARB"/>
+        <enum value="0x872F" name="GL_MODELVIEW15_ARB"/>
+        <enum value="0x8730" name="GL_MODELVIEW16_ARB"/>
+        <enum value="0x8731" name="GL_MODELVIEW17_ARB"/>
+        <enum value="0x8732" name="GL_MODELVIEW18_ARB"/>
+        <enum value="0x8733" name="GL_MODELVIEW19_ARB"/>
+        <enum value="0x8734" name="GL_MODELVIEW20_ARB"/>
+        <enum value="0x8735" name="GL_MODELVIEW21_ARB"/>
+        <enum value="0x8736" name="GL_MODELVIEW22_ARB"/>
+        <enum value="0x8737" name="GL_MODELVIEW23_ARB"/>
+        <enum value="0x8738" name="GL_MODELVIEW24_ARB"/>
+        <enum value="0x8739" name="GL_MODELVIEW25_ARB"/>
+        <enum value="0x873A" name="GL_MODELVIEW26_ARB"/>
+        <enum value="0x873B" name="GL_MODELVIEW27_ARB"/>
+        <enum value="0x873C" name="GL_MODELVIEW28_ARB"/>
+        <enum value="0x873D" name="GL_MODELVIEW29_ARB"/>
+        <enum value="0x873E" name="GL_MODELVIEW30_ARB"/>
+        <enum value="0x873F" name="GL_MODELVIEW31_ARB"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8740" end="0x874F" vendor="AMD">
+        <enum value="0x8740" name="GL_DOT3_RGB_EXT"/>
+        <enum value="0x8740" name="GL_Z400_BINARY_AMD" comment="NOT an alias. Accidental reuse of GL_DOT3_RGB_EXT"/>
+        <enum value="0x8741" name="GL_DOT3_RGBA_EXT"/>
+        <enum value="0x8741" name="GL_PROGRAM_BINARY_LENGTH_OES" comment="NOT an alias. Accidental reuse of GL_DOT3_RGBA_EXT"/>
+        <enum value="0x8741" name="GL_PROGRAM_BINARY_LENGTH" group="ProgramPropertyARB"/>
+        <enum value="0x8742" name="GL_MIRROR_CLAMP_ATI"/>
+        <enum value="0x8742" name="GL_MIRROR_CLAMP_EXT"/>
+        <enum value="0x8743" name="GL_MIRROR_CLAMP_TO_EDGE"/>
+        <enum value="0x8743" name="GL_MIRROR_CLAMP_TO_EDGE_ATI"/>
+        <enum value="0x8743" name="GL_MIRROR_CLAMP_TO_EDGE_EXT"/>
+        <enum value="0x8744" name="GL_MODULATE_ADD_ATI"/>
+        <enum value="0x8745" name="GL_MODULATE_SIGNED_ADD_ATI"/>
+        <enum value="0x8746" name="GL_MODULATE_SUBTRACT_ATI"/>
+            <unused start="0x8747" end="0x8749" vendor="AMD"/>
+        <enum value="0x874A" name="GL_SET_AMD"/>
+        <enum value="0x874B" name="GL_REPLACE_VALUE_AMD"/>
+        <enum value="0x874C" name="GL_STENCIL_OP_VALUE_AMD"/>
+        <enum value="0x874D" name="GL_STENCIL_BACK_OP_VALUE_AMD"/>
+        <enum value="0x874E" name="GL_VERTEX_ATTRIB_ARRAY_LONG" group="VertexArrayPName,VertexAttribPropertyARB"/>
+        <enum value="0x874F" name="GL_OCCLUSION_QUERY_EVENT_MASK_AMD"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8750" end="0x875F" vendor="MESA">
+        <enum value="0x8750" name="GL_DEPTH_STENCIL_MESA" group="InternalFormat"/>
+        <enum value="0x8751" name="GL_UNSIGNED_INT_24_8_MESA"/>
+        <enum value="0x8752" name="GL_UNSIGNED_INT_8_24_REV_MESA"/>
+        <enum value="0x8753" name="GL_UNSIGNED_SHORT_15_1_MESA"/>
+        <enum value="0x8754" name="GL_UNSIGNED_SHORT_1_15_REV_MESA"/>
+        <enum value="0x8755" name="GL_TRACE_MASK_MESA"/>
+        <enum value="0x8756" name="GL_TRACE_NAME_MESA"/>
+        <enum value="0x8757" name="GL_YCBCR_MESA"/>
+        <enum value="0x8758" name="GL_PACK_INVERT_MESA"/>
+        <enum value="0x8759" name="GL_DEBUG_OBJECT_MESA" comment="NOT an alias. Accidental reuse of GL_TEXTURE_1D_STACK_MESAX"/>
+        <enum value="0x8759" name="GL_TEXTURE_1D_STACK_MESAX"/>
+        <enum value="0x875A" name="GL_DEBUG_PRINT_MESA" comment="NOT an alias. Accidental reuse of GL_TEXTURE_2D_STACK_MESAX"/>
+        <enum value="0x875A" name="GL_TEXTURE_2D_STACK_MESAX"/>
+        <enum value="0x875B" name="GL_DEBUG_ASSERT_MESA" comment="NOT an alias. Accidental reuse of GL_PROXY_TEXTURE_1D_STACK_MESAX"/>
+        <enum value="0x875B" name="GL_PROXY_TEXTURE_1D_STACK_MESAX"/>
+        <enum value="0x875C" name="GL_PROXY_TEXTURE_2D_STACK_MESAX"/>
+        <enum value="0x875D" name="GL_TEXTURE_1D_STACK_BINDING_MESAX"/>
+        <enum value="0x875E" name="GL_TEXTURE_2D_STACK_BINDING_MESAX"/>
+        <enum value="0x875F" name="GL_PROGRAM_BINARY_FORMAT_MESA"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8760" end="0x883F" vendor="AMD">
+        <enum value="0x8760" name="GL_STATIC_ATI" group="ArrayObjectUsageATI"/>
+        <enum value="0x8761" name="GL_DYNAMIC_ATI" group="ArrayObjectUsageATI"/>
+        <enum value="0x8762" name="GL_PRESERVE_ATI" group="PreserveModeATI"/>
+        <enum value="0x8763" name="GL_DISCARD_ATI" group="PreserveModeATI"/>
+        <enum value="0x8764" name="GL_BUFFER_SIZE" group="VertexBufferObjectParameter,BufferPNameARB"/>
+        <enum value="0x8764" name="GL_BUFFER_SIZE_ARB" group="BufferPNameARB"/>
+        <enum value="0x8764" name="GL_OBJECT_BUFFER_SIZE_ATI" group="ArrayObjectPNameATI"/>
+        <enum value="0x8765" name="GL_BUFFER_USAGE" group="VertexBufferObjectParameter,BufferPNameARB"/>
+        <enum value="0x8765" name="GL_BUFFER_USAGE_ARB" group="BufferPNameARB"/>
+        <enum value="0x8765" name="GL_OBJECT_BUFFER_USAGE_ATI" group="ArrayObjectPNameATI"/>
+        <enum value="0x8766" name="GL_ARRAY_OBJECT_BUFFER_ATI"/>
+        <enum value="0x8767" name="GL_ARRAY_OBJECT_OFFSET_ATI"/>
+        <enum value="0x8768" name="GL_ELEMENT_ARRAY_ATI"/>
+        <enum value="0x8769" name="GL_ELEMENT_ARRAY_TYPE_ATI"/>
+        <enum value="0x876A" name="GL_ELEMENT_ARRAY_POINTER_ATI"/>
+        <enum value="0x876B" name="GL_MAX_VERTEX_STREAMS_ATI"/>
+        <enum value="0x876C" name="GL_VERTEX_STREAM0_ATI" group="VertexStreamATI"/>
+        <enum value="0x876D" name="GL_VERTEX_STREAM1_ATI" group="VertexStreamATI"/>
+        <enum value="0x876E" name="GL_VERTEX_STREAM2_ATI" group="VertexStreamATI"/>
+        <enum value="0x876F" name="GL_VERTEX_STREAM3_ATI" group="VertexStreamATI"/>
+        <enum value="0x8770" name="GL_VERTEX_STREAM4_ATI" group="VertexStreamATI"/>
+        <enum value="0x8771" name="GL_VERTEX_STREAM5_ATI" group="VertexStreamATI"/>
+        <enum value="0x8772" name="GL_VERTEX_STREAM6_ATI" group="VertexStreamATI"/>
+        <enum value="0x8773" name="GL_VERTEX_STREAM7_ATI" group="VertexStreamATI"/>
+        <enum value="0x8774" name="GL_VERTEX_SOURCE_ATI"/>
+        <enum value="0x8775" name="GL_BUMP_ROT_MATRIX_ATI" group="GetTexBumpParameterATI,TexBumpParameterATI"/>
+        <enum value="0x8776" name="GL_BUMP_ROT_MATRIX_SIZE_ATI" group="GetTexBumpParameterATI"/>
+        <enum value="0x8777" name="GL_BUMP_NUM_TEX_UNITS_ATI" group="GetTexBumpParameterATI"/>
+        <enum value="0x8778" name="GL_BUMP_TEX_UNITS_ATI" group="GetTexBumpParameterATI"/>
+        <enum value="0x8779" name="GL_DUDV_ATI"/>
+        <enum value="0x877A" name="GL_DU8DV8_ATI"/>
+        <enum value="0x877B" name="GL_BUMP_ENVMAP_ATI"/>
+        <enum value="0x877C" name="GL_BUMP_TARGET_ATI"/>
+            <unused start="0x877D" end="0x877F" vendor="AMD"/>
+        <enum value="0x8780" name="GL_VERTEX_SHADER_EXT"/>
+        <enum value="0x8781" name="GL_VERTEX_SHADER_BINDING_EXT"/>
+        <enum value="0x8782" name="GL_OP_INDEX_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x8783" name="GL_OP_NEGATE_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x8784" name="GL_OP_DOT3_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x8785" name="GL_OP_DOT4_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x8786" name="GL_OP_MUL_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x8787" name="GL_OP_ADD_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x8788" name="GL_OP_MADD_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x8789" name="GL_OP_FRAC_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x878A" name="GL_OP_MAX_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x878B" name="GL_OP_MIN_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x878C" name="GL_OP_SET_GE_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x878D" name="GL_OP_SET_LT_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x878E" name="GL_OP_CLAMP_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x878F" name="GL_OP_FLOOR_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x8790" name="GL_OP_ROUND_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x8791" name="GL_OP_EXP_BASE_2_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x8792" name="GL_OP_LOG_BASE_2_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x8793" name="GL_OP_POWER_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x8794" name="GL_OP_RECIP_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x8795" name="GL_OP_RECIP_SQRT_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x8796" name="GL_OP_SUB_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x8797" name="GL_OP_CROSS_PRODUCT_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x8798" name="GL_OP_MULTIPLY_MATRIX_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x8799" name="GL_OP_MOV_EXT" group="VertexShaderOpEXT"/>
+        <enum value="0x879A" name="GL_OUTPUT_VERTEX_EXT"/>
+        <enum value="0x879B" name="GL_OUTPUT_COLOR0_EXT"/>
+        <enum value="0x879C" name="GL_OUTPUT_COLOR1_EXT"/>
+        <enum value="0x879D" name="GL_OUTPUT_TEXTURE_COORD0_EXT"/>
+        <enum value="0x879E" name="GL_OUTPUT_TEXTURE_COORD1_EXT"/>
+        <enum value="0x879F" name="GL_OUTPUT_TEXTURE_COORD2_EXT"/>
+        <enum value="0x87A0" name="GL_OUTPUT_TEXTURE_COORD3_EXT"/>
+        <enum value="0x87A1" name="GL_OUTPUT_TEXTURE_COORD4_EXT"/>
+        <enum value="0x87A2" name="GL_OUTPUT_TEXTURE_COORD5_EXT"/>
+        <enum value="0x87A3" name="GL_OUTPUT_TEXTURE_COORD6_EXT"/>
+        <enum value="0x87A4" name="GL_OUTPUT_TEXTURE_COORD7_EXT"/>
+        <enum value="0x87A5" name="GL_OUTPUT_TEXTURE_COORD8_EXT"/>
+        <enum value="0x87A6" name="GL_OUTPUT_TEXTURE_COORD9_EXT"/>
+        <enum value="0x87A7" name="GL_OUTPUT_TEXTURE_COORD10_EXT"/>
+        <enum value="0x87A8" name="GL_OUTPUT_TEXTURE_COORD11_EXT"/>
+        <enum value="0x87A9" name="GL_OUTPUT_TEXTURE_COORD12_EXT"/>
+        <enum value="0x87AA" name="GL_OUTPUT_TEXTURE_COORD13_EXT"/>
+        <enum value="0x87AB" name="GL_OUTPUT_TEXTURE_COORD14_EXT"/>
+        <enum value="0x87AC" name="GL_OUTPUT_TEXTURE_COORD15_EXT"/>
+        <enum value="0x87AD" name="GL_OUTPUT_TEXTURE_COORD16_EXT"/>
+        <enum value="0x87AE" name="GL_OUTPUT_TEXTURE_COORD17_EXT"/>
+        <enum value="0x87AF" name="GL_OUTPUT_TEXTURE_COORD18_EXT"/>
+        <enum value="0x87B0" name="GL_OUTPUT_TEXTURE_COORD19_EXT"/>
+        <enum value="0x87B1" name="GL_OUTPUT_TEXTURE_COORD20_EXT"/>
+        <enum value="0x87B2" name="GL_OUTPUT_TEXTURE_COORD21_EXT"/>
+        <enum value="0x87B3" name="GL_OUTPUT_TEXTURE_COORD22_EXT"/>
+        <enum value="0x87B4" name="GL_OUTPUT_TEXTURE_COORD23_EXT"/>
+        <enum value="0x87B5" name="GL_OUTPUT_TEXTURE_COORD24_EXT"/>
+        <enum value="0x87B6" name="GL_OUTPUT_TEXTURE_COORD25_EXT"/>
+        <enum value="0x87B7" name="GL_OUTPUT_TEXTURE_COORD26_EXT"/>
+        <enum value="0x87B8" name="GL_OUTPUT_TEXTURE_COORD27_EXT"/>
+        <enum value="0x87B9" name="GL_OUTPUT_TEXTURE_COORD28_EXT"/>
+        <enum value="0x87BA" name="GL_OUTPUT_TEXTURE_COORD29_EXT"/>
+        <enum value="0x87BB" name="GL_OUTPUT_TEXTURE_COORD30_EXT"/>
+        <enum value="0x87BC" name="GL_OUTPUT_TEXTURE_COORD31_EXT"/>
+        <enum value="0x87BD" name="GL_OUTPUT_FOG_EXT"/>
+        <enum value="0x87BE" name="GL_SCALAR_EXT" group="DataTypeEXT"/>
+        <enum value="0x87BF" name="GL_VECTOR_EXT" group="DataTypeEXT"/>
+        <enum value="0x87C0" name="GL_MATRIX_EXT" group="DataTypeEXT"/>
+        <enum value="0x87C1" name="GL_VARIANT_EXT" group="VertexShaderStorageTypeEXT"/>
+        <enum value="0x87C2" name="GL_INVARIANT_EXT" group="VertexShaderStorageTypeEXT"/>
+        <enum value="0x87C3" name="GL_LOCAL_CONSTANT_EXT" group="VertexShaderStorageTypeEXT"/>
+        <enum value="0x87C4" name="GL_LOCAL_EXT" group="VertexShaderStorageTypeEXT"/>
+        <enum value="0x87C5" name="GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT"/>
+        <enum value="0x87C6" name="GL_MAX_VERTEX_SHADER_VARIANTS_EXT"/>
+        <enum value="0x87C7" name="GL_MAX_VERTEX_SHADER_INVARIANTS_EXT"/>
+        <enum value="0x87C8" name="GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"/>
+        <enum value="0x87C9" name="GL_MAX_VERTEX_SHADER_LOCALS_EXT"/>
+        <enum value="0x87CA" name="GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT"/>
+        <enum value="0x87CB" name="GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT"/>
+        <enum value="0x87CC" name="GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"/>
+        <enum value="0x87CD" name="GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT"/>
+        <enum value="0x87CE" name="GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT"/>
+        <enum value="0x87CF" name="GL_VERTEX_SHADER_INSTRUCTIONS_EXT"/>
+        <enum value="0x87D0" name="GL_VERTEX_SHADER_VARIANTS_EXT"/>
+        <enum value="0x87D1" name="GL_VERTEX_SHADER_INVARIANTS_EXT"/>
+        <enum value="0x87D2" name="GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"/>
+        <enum value="0x87D3" name="GL_VERTEX_SHADER_LOCALS_EXT"/>
+        <enum value="0x87D4" name="GL_VERTEX_SHADER_OPTIMIZED_EXT"/>
+        <enum value="0x87D5" name="GL_X_EXT" group="VertexShaderCoordOutEXT"/>
+        <enum value="0x87D6" name="GL_Y_EXT" group="VertexShaderCoordOutEXT"/>
+        <enum value="0x87D7" name="GL_Z_EXT" group="VertexShaderCoordOutEXT"/>
+        <enum value="0x87D8" name="GL_W_EXT" group="VertexShaderCoordOutEXT"/>
+        <enum value="0x87D9" name="GL_NEGATIVE_X_EXT" group="VertexShaderCoordOutEXT"/>
+        <enum value="0x87DA" name="GL_NEGATIVE_Y_EXT" group="VertexShaderCoordOutEXT"/>
+        <enum value="0x87DB" name="GL_NEGATIVE_Z_EXT" group="VertexShaderCoordOutEXT"/>
+        <enum value="0x87DC" name="GL_NEGATIVE_W_EXT" group="VertexShaderCoordOutEXT"/>
+        <enum value="0x87DD" name="GL_ZERO_EXT" group="VertexShaderCoordOutEXT"/>
+        <enum value="0x87DE" name="GL_ONE_EXT" group="VertexShaderCoordOutEXT"/>
+        <enum value="0x87DF" name="GL_NEGATIVE_ONE_EXT" group="VertexShaderCoordOutEXT"/>
+        <enum value="0x87E0" name="GL_NORMALIZED_RANGE_EXT" group="ParameterRangeEXT"/>
+        <enum value="0x87E1" name="GL_FULL_RANGE_EXT" group="ParameterRangeEXT"/>
+        <enum value="0x87E2" name="GL_CURRENT_VERTEX_EXT" group="VertexShaderParameterEXT"/>
+        <enum value="0x87E3" name="GL_MVP_MATRIX_EXT" group="VertexShaderParameterEXT"/>
+        <enum value="0x87E4" name="GL_VARIANT_VALUE_EXT" group="GetVariantValueEXT"/>
+        <enum value="0x87E5" name="GL_VARIANT_DATATYPE_EXT" group="GetVariantValueEXT"/>
+        <enum value="0x87E6" name="GL_VARIANT_ARRAY_STRIDE_EXT" group="GetVariantValueEXT"/>
+        <enum value="0x87E7" name="GL_VARIANT_ARRAY_TYPE_EXT" group="GetVariantValueEXT"/>
+        <enum value="0x87E8" name="GL_VARIANT_ARRAY_EXT" group="VariantCapEXT"/>
+        <enum value="0x87E9" name="GL_VARIANT_ARRAY_POINTER_EXT"/>
+        <enum value="0x87EA" name="GL_INVARIANT_VALUE_EXT"/>
+        <enum value="0x87EB" name="GL_INVARIANT_DATATYPE_EXT"/>
+        <enum value="0x87EC" name="GL_LOCAL_CONSTANT_VALUE_EXT"/>
+        <enum value="0x87ED" name="GL_LOCAL_CONSTANT_DATATYPE_EXT"/>
+        <enum value="0x87EE" name="GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD"/>
+        <enum value="0x87F0" name="GL_PN_TRIANGLES_ATI"/>
+        <enum value="0x87F1" name="GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI"/>
+        <enum value="0x87F2" name="GL_PN_TRIANGLES_POINT_MODE_ATI" group="PNTrianglesPNameATI"/>
+        <enum value="0x87F3" name="GL_PN_TRIANGLES_NORMAL_MODE_ATI" group="PNTrianglesPNameATI"/>
+        <enum value="0x87F4" name="GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI" group="PNTrianglesPNameATI"/>
+        <enum value="0x87F5" name="GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI"/>
+        <enum value="0x87F6" name="GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI"/>
+        <enum value="0x87F7" name="GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI"/>
+        <enum value="0x87F8" name="GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI"/>
+        <enum value="0x87F9" name="GL_3DC_X_AMD"/>
+        <enum value="0x87FA" name="GL_3DC_XY_AMD"/>
+        <enum value="0x87FB" name="GL_VBO_FREE_MEMORY_ATI"/>
+        <enum value="0x87FC" name="GL_TEXTURE_FREE_MEMORY_ATI"/>
+        <enum value="0x87FD" name="GL_RENDERBUFFER_FREE_MEMORY_ATI"/>
+        <enum value="0x87FE" name="GL_NUM_PROGRAM_BINARY_FORMATS" group="GetPName"/>
+        <enum value="0x87FE" name="GL_NUM_PROGRAM_BINARY_FORMATS_OES"/>
+        <enum value="0x87FF" name="GL_PROGRAM_BINARY_FORMATS" group="GetPName"/>
+        <enum value="0x87FF" name="GL_PROGRAM_BINARY_FORMATS_OES"/>
+        <enum value="0x8800" name="GL_STENCIL_BACK_FUNC" group="GetPName"/>
+        <enum value="0x8800" name="GL_STENCIL_BACK_FUNC_ATI"/>
+        <enum value="0x8801" name="GL_STENCIL_BACK_FAIL" group="GetPName"/>
+        <enum value="0x8801" name="GL_STENCIL_BACK_FAIL_ATI"/>
+        <enum value="0x8802" name="GL_STENCIL_BACK_PASS_DEPTH_FAIL" group="GetPName"/>
+        <enum value="0x8802" name="GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI"/>
+        <enum value="0x8803" name="GL_STENCIL_BACK_PASS_DEPTH_PASS" group="GetPName"/>
+        <enum value="0x8803" name="GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI"/>
+        <enum value="0x8804" name="GL_FRAGMENT_PROGRAM_ARB" group="ProgramTarget"/>
+        <enum value="0x8805" name="GL_PROGRAM_ALU_INSTRUCTIONS_ARB"/>
+        <enum value="0x8806" name="GL_PROGRAM_TEX_INSTRUCTIONS_ARB"/>
+        <enum value="0x8807" name="GL_PROGRAM_TEX_INDIRECTIONS_ARB"/>
+        <enum value="0x8808" name="GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"/>
+        <enum value="0x8809" name="GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"/>
+        <enum value="0x880A" name="GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"/>
+        <enum value="0x880B" name="GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB"/>
+        <enum value="0x880C" name="GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB"/>
+        <enum value="0x880D" name="GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB"/>
+        <enum value="0x880E" name="GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"/>
+        <enum value="0x880F" name="GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"/>
+        <enum value="0x8810" name="GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"/>
+            <unused start="0x8811" end="0x8813" vendor="AMD"/>
+        <enum value="0x8814" name="GL_RGBA32F" group="InternalFormat"/>
+        <enum value="0x8814" name="GL_RGBA32F_ARB" group="InternalFormat"/>
+        <enum value="0x8814" name="GL_RGBA32F_EXT" group="InternalFormat"/>
+        <enum value="0x8814" name="GL_RGBA_FLOAT32_APPLE"/>
+        <enum value="0x8814" name="GL_RGBA_FLOAT32_ATI"/>
+        <enum value="0x8815" name="GL_RGB32F" group="InternalFormat"/>
+        <enum value="0x8815" name="GL_RGB32F_ARB"/>
+        <enum value="0x8815" name="GL_RGB32F_EXT"/>
+        <enum value="0x8815" name="GL_RGB_FLOAT32_APPLE"/>
+        <enum value="0x8815" name="GL_RGB_FLOAT32_ATI"/>
+        <enum value="0x8816" name="GL_ALPHA32F_ARB"/>
+        <enum value="0x8816" name="GL_ALPHA32F_EXT"/>
+        <enum value="0x8816" name="GL_ALPHA_FLOAT32_APPLE"/>
+        <enum value="0x8816" name="GL_ALPHA_FLOAT32_ATI"/>
+        <enum value="0x8817" name="GL_INTENSITY32F_ARB"/>
+        <enum value="0x8817" name="GL_INTENSITY_FLOAT32_APPLE"/>
+        <enum value="0x8817" name="GL_INTENSITY_FLOAT32_ATI"/>
+        <enum value="0x8818" name="GL_LUMINANCE32F_ARB"/>
+        <enum value="0x8818" name="GL_LUMINANCE32F_EXT"/>
+        <enum value="0x8818" name="GL_LUMINANCE_FLOAT32_APPLE"/>
+        <enum value="0x8818" name="GL_LUMINANCE_FLOAT32_ATI"/>
+        <enum value="0x8819" name="GL_LUMINANCE_ALPHA32F_ARB"/>
+        <enum value="0x8819" name="GL_LUMINANCE_ALPHA32F_EXT"/>
+        <enum value="0x8819" name="GL_LUMINANCE_ALPHA_FLOAT32_APPLE"/>
+        <enum value="0x8819" name="GL_LUMINANCE_ALPHA_FLOAT32_ATI"/>
+        <enum value="0x881A" name="GL_RGBA16F" group="InternalFormat"/>
+        <enum value="0x881A" name="GL_RGBA16F_ARB" group="InternalFormat"/>
+        <enum value="0x881A" name="GL_RGBA16F_EXT" group="InternalFormat"/>
+        <enum value="0x881A" name="GL_RGBA_FLOAT16_APPLE"/>
+        <enum value="0x881A" name="GL_RGBA_FLOAT16_ATI"/>
+        <enum value="0x881B" name="GL_RGB16F" group="InternalFormat"/>
+        <enum value="0x881B" name="GL_RGB16F_ARB" group="InternalFormat"/>
+        <enum value="0x881B" name="GL_RGB16F_EXT" group="InternalFormat"/>
+        <enum value="0x881B" name="GL_RGB_FLOAT16_APPLE"/>
+        <enum value="0x881B" name="GL_RGB_FLOAT16_ATI"/>
+        <enum value="0x881C" name="GL_ALPHA16F_ARB"/>
+        <enum value="0x881C" name="GL_ALPHA16F_EXT"/>
+        <enum value="0x881C" name="GL_ALPHA_FLOAT16_APPLE"/>
+        <enum value="0x881C" name="GL_ALPHA_FLOAT16_ATI"/>
+        <enum value="0x881D" name="GL_INTENSITY16F_ARB"/>
+        <enum value="0x881D" name="GL_INTENSITY_FLOAT16_APPLE"/>
+        <enum value="0x881D" name="GL_INTENSITY_FLOAT16_ATI"/>
+        <enum value="0x881E" name="GL_LUMINANCE16F_ARB"/>
+        <enum value="0x881E" name="GL_LUMINANCE16F_EXT"/>
+        <enum value="0x881E" name="GL_LUMINANCE_FLOAT16_APPLE"/>
+        <enum value="0x881E" name="GL_LUMINANCE_FLOAT16_ATI"/>
+        <enum value="0x881F" name="GL_LUMINANCE_ALPHA16F_ARB"/>
+        <enum value="0x881F" name="GL_LUMINANCE_ALPHA16F_EXT"/>
+        <enum value="0x881F" name="GL_LUMINANCE_ALPHA_FLOAT16_APPLE"/>
+        <enum value="0x881F" name="GL_LUMINANCE_ALPHA_FLOAT16_ATI"/>
+            <!-- RGBA_FLOAT_MODE_ARB equivalent to TYPE_RGBA_FLOAT_ATI -->
+        <enum value="0x8820" name="GL_RGBA_FLOAT_MODE_ARB"/>
+        <enum value="0x8820" name="GL_RGBA_FLOAT_MODE_ATI"/>
+            <unused start="0x8821" end="0x8822" vendor="AMD"/>
+        <enum value="0x8823" name="GL_WRITEONLY_RENDERING_QCOM"/>
+        <enum value="0x8824" name="GL_MAX_DRAW_BUFFERS" group="GetPName"/>
+        <enum value="0x8824" name="GL_MAX_DRAW_BUFFERS_ARB"/>
+        <enum value="0x8824" name="GL_MAX_DRAW_BUFFERS_ATI"/>
+        <enum value="0x8824" name="GL_MAX_DRAW_BUFFERS_EXT"/>
+        <enum value="0x8824" name="GL_MAX_DRAW_BUFFERS_NV"/>
+        <enum value="0x8825" name="GL_DRAW_BUFFER0"/>
+        <enum value="0x8825" name="GL_DRAW_BUFFER0_ARB"/>
+        <enum value="0x8825" name="GL_DRAW_BUFFER0_ATI"/>
+        <enum value="0x8825" name="GL_DRAW_BUFFER0_EXT"/>
+        <enum value="0x8825" name="GL_DRAW_BUFFER0_NV"/>
+        <enum value="0x8826" name="GL_DRAW_BUFFER1"/>
+        <enum value="0x8826" name="GL_DRAW_BUFFER1_ARB"/>
+        <enum value="0x8826" name="GL_DRAW_BUFFER1_ATI"/>
+        <enum value="0x8826" name="GL_DRAW_BUFFER1_EXT"/>
+        <enum value="0x8826" name="GL_DRAW_BUFFER1_NV"/>
+        <enum value="0x8827" name="GL_DRAW_BUFFER2"/>
+        <enum value="0x8827" name="GL_DRAW_BUFFER2_ARB"/>
+        <enum value="0x8827" name="GL_DRAW_BUFFER2_ATI"/>
+        <enum value="0x8827" name="GL_DRAW_BUFFER2_EXT"/>
+        <enum value="0x8827" name="GL_DRAW_BUFFER2_NV"/>
+        <enum value="0x8828" name="GL_DRAW_BUFFER3"/>
+        <enum value="0x8828" name="GL_DRAW_BUFFER3_ARB"/>
+        <enum value="0x8828" name="GL_DRAW_BUFFER3_ATI"/>
+        <enum value="0x8828" name="GL_DRAW_BUFFER3_EXT"/>
+        <enum value="0x8828" name="GL_DRAW_BUFFER3_NV"/>
+        <enum value="0x8829" name="GL_DRAW_BUFFER4"/>
+        <enum value="0x8829" name="GL_DRAW_BUFFER4_ARB"/>
+        <enum value="0x8829" name="GL_DRAW_BUFFER4_ATI"/>
+        <enum value="0x8829" name="GL_DRAW_BUFFER4_EXT"/>
+        <enum value="0x8829" name="GL_DRAW_BUFFER4_NV"/>
+        <enum value="0x882A" name="GL_DRAW_BUFFER5"/>
+        <enum value="0x882A" name="GL_DRAW_BUFFER5_ARB"/>
+        <enum value="0x882A" name="GL_DRAW_BUFFER5_ATI"/>
+        <enum value="0x882A" name="GL_DRAW_BUFFER5_EXT"/>
+        <enum value="0x882A" name="GL_DRAW_BUFFER5_NV"/>
+        <enum value="0x882B" name="GL_DRAW_BUFFER6"/>
+        <enum value="0x882B" name="GL_DRAW_BUFFER6_ARB"/>
+        <enum value="0x882B" name="GL_DRAW_BUFFER6_ATI"/>
+        <enum value="0x882B" name="GL_DRAW_BUFFER6_EXT"/>
+        <enum value="0x882B" name="GL_DRAW_BUFFER6_NV"/>
+        <enum value="0x882C" name="GL_DRAW_BUFFER7"/>
+        <enum value="0x882C" name="GL_DRAW_BUFFER7_ARB"/>
+        <enum value="0x882C" name="GL_DRAW_BUFFER7_ATI"/>
+        <enum value="0x882C" name="GL_DRAW_BUFFER7_EXT"/>
+        <enum value="0x882C" name="GL_DRAW_BUFFER7_NV"/>
+        <enum value="0x882D" name="GL_DRAW_BUFFER8"/>
+        <enum value="0x882D" name="GL_DRAW_BUFFER8_ARB"/>
+        <enum value="0x882D" name="GL_DRAW_BUFFER8_ATI"/>
+        <enum value="0x882D" name="GL_DRAW_BUFFER8_EXT"/>
+        <enum value="0x882D" name="GL_DRAW_BUFFER8_NV"/>
+        <enum value="0x882E" name="GL_DRAW_BUFFER9"/>
+        <enum value="0x882E" name="GL_DRAW_BUFFER9_ARB"/>
+        <enum value="0x882E" name="GL_DRAW_BUFFER9_ATI"/>
+        <enum value="0x882E" name="GL_DRAW_BUFFER9_EXT"/>
+        <enum value="0x882E" name="GL_DRAW_BUFFER9_NV"/>
+        <enum value="0x882F" name="GL_DRAW_BUFFER10"/>
+        <enum value="0x882F" name="GL_DRAW_BUFFER10_ARB"/>
+        <enum value="0x882F" name="GL_DRAW_BUFFER10_ATI"/>
+        <enum value="0x882F" name="GL_DRAW_BUFFER10_EXT"/>
+        <enum value="0x882F" name="GL_DRAW_BUFFER10_NV"/>
+        <enum value="0x8830" name="GL_DRAW_BUFFER11"/>
+        <enum value="0x8830" name="GL_DRAW_BUFFER11_ARB"/>
+        <enum value="0x8830" name="GL_DRAW_BUFFER11_ATI"/>
+        <enum value="0x8830" name="GL_DRAW_BUFFER11_EXT"/>
+        <enum value="0x8830" name="GL_DRAW_BUFFER11_NV"/>
+        <enum value="0x8831" name="GL_DRAW_BUFFER12"/>
+        <enum value="0x8831" name="GL_DRAW_BUFFER12_ARB"/>
+        <enum value="0x8831" name="GL_DRAW_BUFFER12_ATI"/>
+        <enum value="0x8831" name="GL_DRAW_BUFFER12_EXT"/>
+        <enum value="0x8831" name="GL_DRAW_BUFFER12_NV"/>
+        <enum value="0x8832" name="GL_DRAW_BUFFER13"/>
+        <enum value="0x8832" name="GL_DRAW_BUFFER13_ARB"/>
+        <enum value="0x8832" name="GL_DRAW_BUFFER13_ATI"/>
+        <enum value="0x8832" name="GL_DRAW_BUFFER13_EXT"/>
+        <enum value="0x8832" name="GL_DRAW_BUFFER13_NV"/>
+        <enum value="0x8833" name="GL_DRAW_BUFFER14"/>
+        <enum value="0x8833" name="GL_DRAW_BUFFER14_ARB"/>
+        <enum value="0x8833" name="GL_DRAW_BUFFER14_ATI"/>
+        <enum value="0x8833" name="GL_DRAW_BUFFER14_EXT"/>
+        <enum value="0x8833" name="GL_DRAW_BUFFER14_NV"/>
+        <enum value="0x8834" name="GL_DRAW_BUFFER15"/>
+        <enum value="0x8834" name="GL_DRAW_BUFFER15_ARB"/>
+        <enum value="0x8834" name="GL_DRAW_BUFFER15_ATI"/>
+        <enum value="0x8834" name="GL_DRAW_BUFFER15_EXT"/>
+        <enum value="0x8834" name="GL_DRAW_BUFFER15_NV"/>
+        <enum value="0x8835" name="GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI"/>
+            <unused start="0x8836" vendor="AMD"/>
+        <enum value="0x8837" name="GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI" comment="Defined by Mesa but not ATI"/>
+            <unused start="0x8838" end="0x883C" vendor="AMD"/>
+        <enum value="0x883D" name="GL_BLEND_EQUATION_ALPHA" group="GetPName"/>
+        <enum value="0x883D" name="GL_BLEND_EQUATION_ALPHA_EXT"/>
+        <enum value="0x883D" name="GL_BLEND_EQUATION_ALPHA_OES"/>
+            <unused start="0x883E" vendor="AMD"/>
+        <enum value="0x883F" name="GL_SUBSAMPLE_DISTANCE_AMD"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8840" end="0x884F" vendor="ARB">
+        <enum value="0x8840" name="GL_MATRIX_PALETTE_ARB"/>
+        <enum value="0x8840" name="GL_MATRIX_PALETTE_OES"/>
+        <enum value="0x8841" name="GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB"/>
+        <enum value="0x8842" name="GL_MAX_PALETTE_MATRICES_ARB"/>
+        <enum value="0x8842" name="GL_MAX_PALETTE_MATRICES_OES"/>
+        <enum value="0x8843" name="GL_CURRENT_PALETTE_MATRIX_ARB"/>
+        <enum value="0x8843" name="GL_CURRENT_PALETTE_MATRIX_OES"/>
+        <enum value="0x8844" name="GL_MATRIX_INDEX_ARRAY_ARB"/>
+        <enum value="0x8844" name="GL_MATRIX_INDEX_ARRAY_OES"/>
+        <enum value="0x8845" name="GL_CURRENT_MATRIX_INDEX_ARB"/>
+        <enum value="0x8846" name="GL_MATRIX_INDEX_ARRAY_SIZE_ARB"/>
+        <enum value="0x8846" name="GL_MATRIX_INDEX_ARRAY_SIZE_OES"/>
+        <enum value="0x8847" name="GL_MATRIX_INDEX_ARRAY_TYPE_ARB"/>
+        <enum value="0x8847" name="GL_MATRIX_INDEX_ARRAY_TYPE_OES"/>
+        <enum value="0x8848" name="GL_MATRIX_INDEX_ARRAY_STRIDE_ARB"/>
+        <enum value="0x8848" name="GL_MATRIX_INDEX_ARRAY_STRIDE_OES"/>
+        <enum value="0x8849" name="GL_MATRIX_INDEX_ARRAY_POINTER_ARB"/>
+        <enum value="0x8849" name="GL_MATRIX_INDEX_ARRAY_POINTER_OES"/>
+        <enum value="0x884A" name="GL_TEXTURE_DEPTH_SIZE"/>
+        <enum value="0x884A" name="GL_TEXTURE_DEPTH_SIZE_ARB"/>
+        <enum value="0x884B" name="GL_DEPTH_TEXTURE_MODE"/>
+        <enum value="0x884B" name="GL_DEPTH_TEXTURE_MODE_ARB"/>
+        <enum value="0x884C" name="GL_TEXTURE_COMPARE_MODE" group="SamplerParameterI,TextureParameterName"/>
+        <enum value="0x884C" name="GL_TEXTURE_COMPARE_MODE_ARB"/>
+        <enum value="0x884C" name="GL_TEXTURE_COMPARE_MODE_EXT"/>
+        <enum value="0x884D" name="GL_TEXTURE_COMPARE_FUNC" group="SamplerParameterI,TextureParameterName"/>
+        <enum value="0x884D" name="GL_TEXTURE_COMPARE_FUNC_ARB"/>
+        <enum value="0x884D" name="GL_TEXTURE_COMPARE_FUNC_EXT"/>
+        <enum value="0x884E" name="GL_COMPARE_R_TO_TEXTURE" group="TextureCompareMode"/>
+        <enum value="0x884E" name="GL_COMPARE_R_TO_TEXTURE_ARB"/>
+        <enum value="0x884E" name="GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT"/>
+        <enum value="0x884E" name="GL_COMPARE_REF_TO_TEXTURE" alias="GL_COMPARE_R_TO_TEXTURE" group="TextureCompareMode"/>
+        <enum value="0x884E" name="GL_COMPARE_REF_TO_TEXTURE_EXT"/>
+        <enum value="0x884F" name="GL_TEXTURE_CUBE_MAP_SEAMLESS" group="EnableCap"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8850" end="0x891F" vendor="NV">
+        <enum value="0x8850" name="GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV"/>
+        <enum value="0x8851" name="GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV"/>
+        <enum value="0x8852" name="GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV"/>
+        <enum value="0x8853" name="GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV"/>
+        <enum value="0x8854" name="GL_OFFSET_HILO_TEXTURE_2D_NV"/>
+        <enum value="0x8855" name="GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV"/>
+        <enum value="0x8856" name="GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV"/>
+        <enum value="0x8857" name="GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV"/>
+        <enum value="0x8858" name="GL_DEPENDENT_HILO_TEXTURE_2D_NV"/>
+        <enum value="0x8859" name="GL_DEPENDENT_RGB_TEXTURE_3D_NV"/>
+        <enum value="0x885A" name="GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV"/>
+        <enum value="0x885B" name="GL_DOT_PRODUCT_PASS_THROUGH_NV"/>
+        <enum value="0x885C" name="GL_DOT_PRODUCT_TEXTURE_1D_NV"/>
+        <enum value="0x885D" name="GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV"/>
+        <enum value="0x885E" name="GL_HILO8_NV"/>
+        <enum value="0x885F" name="GL_SIGNED_HILO8_NV"/>
+        <enum value="0x8860" name="GL_FORCE_BLUE_TO_ONE_NV"/>
+        <enum value="0x8861" name="GL_POINT_SPRITE"/>
+        <enum value="0x8861" name="GL_POINT_SPRITE_ARB"/>
+        <enum value="0x8861" name="GL_POINT_SPRITE_NV"/>
+        <enum value="0x8861" name="GL_POINT_SPRITE_OES"/>
+        <enum value="0x8862" name="GL_COORD_REPLACE"/>
+        <enum value="0x8862" name="GL_COORD_REPLACE_ARB"/>
+        <enum value="0x8862" name="GL_COORD_REPLACE_NV"/>
+        <enum value="0x8862" name="GL_COORD_REPLACE_OES"/>
+        <enum value="0x8863" name="GL_POINT_SPRITE_R_MODE_NV"/>
+        <enum value="0x8864" name="GL_PIXEL_COUNTER_BITS_NV"/>
+        <enum value="0x8864" name="GL_QUERY_COUNTER_BITS" group="QueryParameterName"/>
+        <enum value="0x8864" name="GL_QUERY_COUNTER_BITS_ARB"/>
+        <enum value="0x8864" name="GL_QUERY_COUNTER_BITS_EXT"/>
+        <enum value="0x8865" name="GL_CURRENT_OCCLUSION_QUERY_ID_NV"/>
+        <enum value="0x8865" name="GL_CURRENT_QUERY" group="QueryParameterName"/>
+        <enum value="0x8865" name="GL_CURRENT_QUERY_ARB"/>
+        <enum value="0x8865" name="GL_CURRENT_QUERY_EXT"/>
+        <enum value="0x8866" name="GL_PIXEL_COUNT_NV" group="OcclusionQueryParameterNameNV"/>
+        <enum value="0x8866" name="GL_QUERY_RESULT" group="QueryObjectParameterName"/>
+        <enum value="0x8866" name="GL_QUERY_RESULT_ARB"/>
+        <enum value="0x8866" name="GL_QUERY_RESULT_EXT"/>
+        <enum value="0x8867" name="GL_PIXEL_COUNT_AVAILABLE_NV" group="OcclusionQueryParameterNameNV"/>
+        <enum value="0x8867" name="GL_QUERY_RESULT_AVAILABLE" group="QueryObjectParameterName"/>
+        <enum value="0x8867" name="GL_QUERY_RESULT_AVAILABLE_ARB"/>
+        <enum value="0x8867" name="GL_QUERY_RESULT_AVAILABLE_EXT"/>
+        <enum value="0x8868" name="GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV"/>
+        <enum value="0x8869" name="GL_MAX_VERTEX_ATTRIBS" group="GetPName"/>
+        <enum value="0x8869" name="GL_MAX_VERTEX_ATTRIBS_ARB"/>
+        <enum value="0x886A" name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED" group="VertexAttribEnum,VertexAttribPropertyARB,VertexArrayPName"/>
+        <enum value="0x886A" name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB"/>
+            <unused start="0x886B" vendor="NV"/>
+        <enum value="0x886C" name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS"/>
+        <enum value="0x886C" name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT"/>
+        <enum value="0x886C" name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES"/>
+        <enum value="0x886D" name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS"/>
+        <enum value="0x886D" name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT"/>
+        <enum value="0x886D" name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES"/>
+        <enum value="0x886E" name="GL_DEPTH_STENCIL_TO_RGBA_NV"/>
+        <enum value="0x886F" name="GL_DEPTH_STENCIL_TO_BGRA_NV"/>
+        <enum value="0x8870" name="GL_FRAGMENT_PROGRAM_NV"/>
+        <enum value="0x8871" name="GL_MAX_TEXTURE_COORDS"/>
+        <enum value="0x8871" name="GL_MAX_TEXTURE_COORDS_ARB"/>
+        <enum value="0x8871" name="GL_MAX_TEXTURE_COORDS_NV"/>
+        <enum value="0x8872" name="GL_MAX_TEXTURE_IMAGE_UNITS" group="GetPName"/>
+        <enum value="0x8872" name="GL_MAX_TEXTURE_IMAGE_UNITS_ARB"/>
+        <enum value="0x8872" name="GL_MAX_TEXTURE_IMAGE_UNITS_NV"/>
+        <enum value="0x8873" name="GL_FRAGMENT_PROGRAM_BINDING_NV"/>
+        <enum value="0x8874" name="GL_PROGRAM_ERROR_STRING_ARB"/>
+        <enum value="0x8874" name="GL_PROGRAM_ERROR_STRING_NV"/>
+        <enum value="0x8875" name="GL_PROGRAM_FORMAT_ASCII_ARB" group="ProgramFormat"/>
+        <enum value="0x8876" name="GL_PROGRAM_FORMAT_ARB"/>
+            <unused start="0x8877" vendor="NV" comment="Should have been assigned to PROGRAM_BINDING_ARB"/>
+        <enum value="0x8878" name="GL_WRITE_PIXEL_DATA_RANGE_NV" group="PixelDataRangeTargetNV"/>
+        <enum value="0x8879" name="GL_READ_PIXEL_DATA_RANGE_NV" group="PixelDataRangeTargetNV"/>
+        <enum value="0x887A" name="GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV"/>
+        <enum value="0x887B" name="GL_READ_PIXEL_DATA_RANGE_LENGTH_NV"/>
+        <enum value="0x887C" name="GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV"/>
+        <enum value="0x887D" name="GL_READ_PIXEL_DATA_RANGE_POINTER_NV"/>
+            <unused start="0x887E" vendor="NV"/>
+        <enum value="0x887F" name="GL_GEOMETRY_SHADER_INVOCATIONS"/>
+        <enum value="0x887F" name="GL_GEOMETRY_SHADER_INVOCATIONS_EXT"/>
+        <enum value="0x887F" name="GL_GEOMETRY_SHADER_INVOCATIONS_OES"/>
+        <enum value="0x8880" name="GL_FLOAT_R_NV"/>
+        <enum value="0x8881" name="GL_FLOAT_RG_NV"/>
+        <enum value="0x8882" name="GL_FLOAT_RGB_NV"/>
+        <enum value="0x8883" name="GL_FLOAT_RGBA_NV"/>
+        <enum value="0x8884" name="GL_FLOAT_R16_NV"/>
+        <enum value="0x8885" name="GL_FLOAT_R32_NV"/>
+        <enum value="0x8886" name="GL_FLOAT_RG16_NV"/>
+        <enum value="0x8887" name="GL_FLOAT_RG32_NV"/>
+        <enum value="0x8888" name="GL_FLOAT_RGB16_NV"/>
+        <enum value="0x8889" name="GL_FLOAT_RGB32_NV"/>
+        <enum value="0x888A" name="GL_FLOAT_RGBA16_NV"/>
+        <enum value="0x888B" name="GL_FLOAT_RGBA32_NV"/>
+        <enum value="0x888C" name="GL_TEXTURE_FLOAT_COMPONENTS_NV"/>
+        <enum value="0x888D" name="GL_FLOAT_CLEAR_COLOR_VALUE_NV"/>
+        <enum value="0x888E" name="GL_FLOAT_RGBA_MODE_NV"/>
+        <enum value="0x888F" name="GL_TEXTURE_UNSIGNED_REMAP_MODE_NV"/>
+        <enum value="0x8890" name="GL_DEPTH_BOUNDS_TEST_EXT"/>
+        <enum value="0x8891" name="GL_DEPTH_BOUNDS_EXT"/>
+        <enum value="0x8892" name="GL_ARRAY_BUFFER" group="CopyBufferSubDataTarget,BufferTargetARB,BufferStorageTarget"/>
+        <enum value="0x8892" name="GL_ARRAY_BUFFER_ARB"/>
+        <enum value="0x8893" name="GL_ELEMENT_ARRAY_BUFFER" group="CopyBufferSubDataTarget,BufferTargetARB,BufferStorageTarget"/>
+        <enum value="0x8893" name="GL_ELEMENT_ARRAY_BUFFER_ARB"/>
+        <enum value="0x8894" name="GL_ARRAY_BUFFER_BINDING" group="GetPName"/>
+        <enum value="0x8894" name="GL_ARRAY_BUFFER_BINDING_ARB"/>
+        <enum value="0x8895" name="GL_ELEMENT_ARRAY_BUFFER_BINDING" group="GetPName"/>
+        <enum value="0x8895" name="GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB"/>
+        <enum value="0x8896" name="GL_VERTEX_ARRAY_BUFFER_BINDING"/>
+        <enum value="0x8896" name="GL_VERTEX_ARRAY_BUFFER_BINDING_ARB"/>
+        <enum value="0x8897" name="GL_NORMAL_ARRAY_BUFFER_BINDING"/>
+        <enum value="0x8897" name="GL_NORMAL_ARRAY_BUFFER_BINDING_ARB"/>
+        <enum value="0x8898" name="GL_COLOR_ARRAY_BUFFER_BINDING"/>
+        <enum value="0x8898" name="GL_COLOR_ARRAY_BUFFER_BINDING_ARB"/>
+        <enum value="0x8899" name="GL_INDEX_ARRAY_BUFFER_BINDING"/>
+        <enum value="0x8899" name="GL_INDEX_ARRAY_BUFFER_BINDING_ARB"/>
+        <enum value="0x889A" name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING"/>
+        <enum value="0x889A" name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB"/>
+        <enum value="0x889B" name="GL_EDGE_FLAG_ARRAY_BUFFER_BINDING"/>
+        <enum value="0x889B" name="GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB"/>
+        <enum value="0x889C" name="GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING"/>
+        <enum value="0x889C" name="GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB"/>
+        <enum value="0x889D" name="GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB"/>
+        <enum value="0x889D" name="GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING"/>
+        <enum value="0x889D" name="GL_FOG_COORD_ARRAY_BUFFER_BINDING" alias="GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING"/>
+        <enum value="0x889E" name="GL_WEIGHT_ARRAY_BUFFER_BINDING"/>
+        <enum value="0x889E" name="GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB"/>
+        <enum value="0x889E" name="GL_WEIGHT_ARRAY_BUFFER_BINDING_OES"/>
+        <enum value="0x889F" name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING" group="VertexAttribEnum,VertexAttribPropertyARB"/>
+        <enum value="0x889F" name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB"/>
+        <enum value="0x88A0" name="GL_PROGRAM_INSTRUCTIONS_ARB"/>
+        <enum value="0x88A1" name="GL_MAX_PROGRAM_INSTRUCTIONS_ARB"/>
+        <enum value="0x88A2" name="GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB"/>
+        <enum value="0x88A3" name="GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB"/>
+        <enum value="0x88A4" name="GL_PROGRAM_TEMPORARIES_ARB"/>
+        <enum value="0x88A5" name="GL_MAX_PROGRAM_TEMPORARIES_ARB"/>
+        <enum value="0x88A6" name="GL_PROGRAM_NATIVE_TEMPORARIES_ARB"/>
+        <enum value="0x88A7" name="GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB"/>
+        <enum value="0x88A8" name="GL_PROGRAM_PARAMETERS_ARB"/>
+        <enum value="0x88A9" name="GL_MAX_PROGRAM_PARAMETERS_ARB"/>
+        <enum value="0x88AA" name="GL_PROGRAM_NATIVE_PARAMETERS_ARB"/>
+        <enum value="0x88AB" name="GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB"/>
+        <enum value="0x88AC" name="GL_PROGRAM_ATTRIBS_ARB"/>
+        <enum value="0x88AD" name="GL_MAX_PROGRAM_ATTRIBS_ARB"/>
+        <enum value="0x88AE" name="GL_PROGRAM_NATIVE_ATTRIBS_ARB"/>
+        <enum value="0x88AF" name="GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB"/>
+        <enum value="0x88B0" name="GL_PROGRAM_ADDRESS_REGISTERS_ARB"/>
+        <enum value="0x88B1" name="GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB"/>
+        <enum value="0x88B2" name="GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB"/>
+        <enum value="0x88B3" name="GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB"/>
+        <enum value="0x88B4" name="GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB"/>
+        <enum value="0x88B5" name="GL_MAX_PROGRAM_ENV_PARAMETERS_ARB"/>
+        <enum value="0x88B6" name="GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB"/>
+        <enum value="0x88B7" name="GL_TRANSPOSE_CURRENT_MATRIX_ARB"/>
+        <enum value="0x88B8" name="GL_READ_ONLY" group="BufferAccessARB"/>
+        <enum value="0x88B8" name="GL_READ_ONLY_ARB"/>
+        <enum value="0x88B9" name="GL_WRITE_ONLY" group="BufferAccessARB"/>
+        <enum value="0x88B9" name="GL_WRITE_ONLY_ARB"/>
+        <enum value="0x88B9" name="GL_WRITE_ONLY_OES"/>
+        <enum value="0x88BA" name="GL_READ_WRITE" group="BufferAccessARB"/>
+        <enum value="0x88BA" name="GL_READ_WRITE_ARB"/>
+        <enum value="0x88BB" name="GL_BUFFER_ACCESS" group="VertexBufferObjectParameter,BufferPNameARB"/>
+        <enum value="0x88BB" name="GL_BUFFER_ACCESS_ARB" group="BufferPNameARB"/>
+        <enum value="0x88BB" name="GL_BUFFER_ACCESS_OES"/>
+        <enum value="0x88BC" name="GL_BUFFER_MAPPED" group="VertexBufferObjectParameter,BufferPNameARB"/>
+        <enum value="0x88BC" name="GL_BUFFER_MAPPED_ARB" group="BufferPNameARB"/>
+        <enum value="0x88BC" name="GL_BUFFER_MAPPED_OES"/>
+        <enum value="0x88BD" name="GL_BUFFER_MAP_POINTER" group="BufferPointerNameARB"/>
+        <enum value="0x88BD" name="GL_BUFFER_MAP_POINTER_ARB" group="BufferPointerNameARB"/>
+        <enum value="0x88BD" name="GL_BUFFER_MAP_POINTER_OES"/>
+        <enum value="0x88BE" name="GL_WRITE_DISCARD_NV"/>
+        <enum value="0x88BF" name="GL_TIME_ELAPSED" group="QueryTarget"/>
+        <enum value="0x88BF" name="GL_TIME_ELAPSED_EXT"/>
+        <enum value="0x88C0" name="GL_MATRIX0_ARB"/>
+        <enum value="0x88C1" name="GL_MATRIX1_ARB"/>
+        <enum value="0x88C2" name="GL_MATRIX2_ARB"/>
+        <enum value="0x88C3" name="GL_MATRIX3_ARB"/>
+        <enum value="0x88C4" name="GL_MATRIX4_ARB"/>
+        <enum value="0x88C5" name="GL_MATRIX5_ARB"/>
+        <enum value="0x88C6" name="GL_MATRIX6_ARB"/>
+        <enum value="0x88C7" name="GL_MATRIX7_ARB"/>
+        <enum value="0x88C8" name="GL_MATRIX8_ARB"/>
+        <enum value="0x88C9" name="GL_MATRIX9_ARB"/>
+        <enum value="0x88CA" name="GL_MATRIX10_ARB"/>
+        <enum value="0x88CB" name="GL_MATRIX11_ARB"/>
+        <enum value="0x88CC" name="GL_MATRIX12_ARB"/>
+        <enum value="0x88CD" name="GL_MATRIX13_ARB"/>
+        <enum value="0x88CE" name="GL_MATRIX14_ARB"/>
+        <enum value="0x88CF" name="GL_MATRIX15_ARB"/>
+        <enum value="0x88D0" name="GL_MATRIX16_ARB"/>
+        <enum value="0x88D1" name="GL_MATRIX17_ARB"/>
+        <enum value="0x88D2" name="GL_MATRIX18_ARB"/>
+        <enum value="0x88D3" name="GL_MATRIX19_ARB"/>
+        <enum value="0x88D4" name="GL_MATRIX20_ARB"/>
+        <enum value="0x88D5" name="GL_MATRIX21_ARB"/>
+        <enum value="0x88D6" name="GL_MATRIX22_ARB"/>
+        <enum value="0x88D7" name="GL_MATRIX23_ARB"/>
+        <enum value="0x88D8" name="GL_MATRIX24_ARB"/>
+        <enum value="0x88D9" name="GL_MATRIX25_ARB"/>
+        <enum value="0x88DA" name="GL_MATRIX26_ARB"/>
+        <enum value="0x88DB" name="GL_MATRIX27_ARB"/>
+        <enum value="0x88DC" name="GL_MATRIX28_ARB"/>
+        <enum value="0x88DD" name="GL_MATRIX29_ARB"/>
+        <enum value="0x88DE" name="GL_MATRIX30_ARB"/>
+        <enum value="0x88DF" name="GL_MATRIX31_ARB"/>
+        <enum value="0x88E0" name="GL_STREAM_DRAW" group="VertexBufferObjectUsage,BufferUsageARB"/>
+        <enum value="0x88E0" name="GL_STREAM_DRAW_ARB"/>
+        <enum value="0x88E1" name="GL_STREAM_READ" group="VertexBufferObjectUsage,BufferUsageARB"/>
+        <enum value="0x88E1" name="GL_STREAM_READ_ARB"/>
+        <enum value="0x88E2" name="GL_STREAM_COPY" group="VertexBufferObjectUsage,BufferUsageARB"/>
+        <enum value="0x88E2" name="GL_STREAM_COPY_ARB"/>
+            <unused start="0x88E3" vendor="NV" comment="To extend ARB_vbo"/>
+        <enum value="0x88E4" name="GL_STATIC_DRAW" group="VertexBufferObjectUsage,BufferUsageARB"/>
+        <enum value="0x88E4" name="GL_STATIC_DRAW_ARB"/>
+        <enum value="0x88E5" name="GL_STATIC_READ" group="VertexBufferObjectUsage,BufferUsageARB"/>
+        <enum value="0x88E5" name="GL_STATIC_READ_ARB"/>
+        <enum value="0x88E6" name="GL_STATIC_COPY" group="VertexBufferObjectUsage,BufferUsageARB"/>
+        <enum value="0x88E6" name="GL_STATIC_COPY_ARB"/>
+            <unused start="0x88E7" vendor="NV" comment="To extend ARB_vbo"/>
+        <enum value="0x88E8" name="GL_DYNAMIC_DRAW" group="VertexBufferObjectUsage,BufferUsageARB"/>
+        <enum value="0x88E8" name="GL_DYNAMIC_DRAW_ARB"/>
+        <enum value="0x88E9" name="GL_DYNAMIC_READ" group="VertexBufferObjectUsage,BufferUsageARB"/>
+        <enum value="0x88E9" name="GL_DYNAMIC_READ_ARB"/>
+        <enum value="0x88EA" name="GL_DYNAMIC_COPY" group="VertexBufferObjectUsage,BufferUsageARB"/>
+        <enum value="0x88EA" name="GL_DYNAMIC_COPY_ARB"/>
+        <enum value="0x88EB" name="GL_PIXEL_PACK_BUFFER" group="CopyBufferSubDataTarget,BufferTargetARB,BufferStorageTarget"/>
+        <enum value="0x88EB" name="GL_PIXEL_PACK_BUFFER_ARB"/>
+        <enum value="0x88EB" name="GL_PIXEL_PACK_BUFFER_EXT"/>
+        <enum value="0x88EB" name="GL_PIXEL_PACK_BUFFER_NV"/>
+        <enum value="0x88EC" name="GL_PIXEL_UNPACK_BUFFER" group="CopyBufferSubDataTarget,BufferTargetARB,BufferStorageTarget"/>
+        <enum value="0x88EC" name="GL_PIXEL_UNPACK_BUFFER_ARB"/>
+        <enum value="0x88EC" name="GL_PIXEL_UNPACK_BUFFER_EXT"/>
+        <enum value="0x88EC" name="GL_PIXEL_UNPACK_BUFFER_NV"/>
+        <enum value="0x88ED" name="GL_PIXEL_PACK_BUFFER_BINDING" group="GetPName"/>
+        <enum value="0x88ED" name="GL_PIXEL_PACK_BUFFER_BINDING_ARB"/>
+        <enum value="0x88ED" name="GL_PIXEL_PACK_BUFFER_BINDING_EXT"/>
+        <enum value="0x88ED" name="GL_PIXEL_PACK_BUFFER_BINDING_NV"/>
+        <enum value="0x88EE" name="GL_ETC1_SRGB8_NV"/>
+        <enum value="0x88EF" name="GL_PIXEL_UNPACK_BUFFER_BINDING" group="GetPName"/>
+        <enum value="0x88EF" name="GL_PIXEL_UNPACK_BUFFER_BINDING_ARB"/>
+        <enum value="0x88EF" name="GL_PIXEL_UNPACK_BUFFER_BINDING_EXT"/>
+        <enum value="0x88EF" name="GL_PIXEL_UNPACK_BUFFER_BINDING_NV"/>
+        <enum value="0x88F0" name="GL_DEPTH24_STENCIL8" group="InternalFormat"/>
+        <enum value="0x88F0" name="GL_DEPTH24_STENCIL8_EXT" group="InternalFormat"/>
+        <enum value="0x88F0" name="GL_DEPTH24_STENCIL8_OES" group="InternalFormat"/>
+        <enum value="0x88F1" name="GL_TEXTURE_STENCIL_SIZE"/>
+        <enum value="0x88F1" name="GL_TEXTURE_STENCIL_SIZE_EXT"/>
+        <enum value="0x88F2" name="GL_STENCIL_TAG_BITS_EXT"/>
+        <enum value="0x88F3" name="GL_STENCIL_CLEAR_TAG_VALUE_EXT"/>
+        <enum value="0x88F4" name="GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV"/>
+        <enum value="0x88F5" name="GL_MAX_PROGRAM_CALL_DEPTH_NV"/>
+        <enum value="0x88F6" name="GL_MAX_PROGRAM_IF_DEPTH_NV"/>
+        <enum value="0x88F7" name="GL_MAX_PROGRAM_LOOP_DEPTH_NV"/>
+        <enum value="0x88F8" name="GL_MAX_PROGRAM_LOOP_COUNT_NV"/>
+        <enum value="0x88F9" name="GL_SRC1_COLOR" group="BlendingFactor"/>
+        <enum value="0x88F9" name="GL_SRC1_COLOR_EXT"/>
+        <enum value="0x88FA" name="GL_ONE_MINUS_SRC1_COLOR" group="BlendingFactor"/>
+        <enum value="0x88FA" name="GL_ONE_MINUS_SRC1_COLOR_EXT"/>
+        <enum value="0x88FB" name="GL_ONE_MINUS_SRC1_ALPHA" group="BlendingFactor"/>
+        <enum value="0x88FB" name="GL_ONE_MINUS_SRC1_ALPHA_EXT"/>
+        <enum value="0x88FC" name="GL_MAX_DUAL_SOURCE_DRAW_BUFFERS" group="GetPName"/>
+        <enum value="0x88FC" name="GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT"/>
+        <enum value="0x88FD" name="GL_VERTEX_ATTRIB_ARRAY_INTEGER" group="VertexAttribEnum,VertexAttribPropertyARB,VertexArrayPName"/>
+        <enum value="0x88FD" name="GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT" group="VertexAttribPropertyARB"/>
+        <enum value="0x88FD" name="GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV"/>
+        <enum value="0x88FE" name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR" group="VertexAttribEnum,VertexAttribPropertyARB,VertexArrayPName"/>
+        <enum value="0x88FE" name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE"/>
+        <enum value="0x88FE" name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB"/>
+        <enum value="0x88FE" name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT"/>
+        <enum value="0x88FE" name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV"/>
+        <enum value="0x88FF" name="GL_MAX_ARRAY_TEXTURE_LAYERS" group="GetPName"/>
+        <enum value="0x88FF" name="GL_MAX_ARRAY_TEXTURE_LAYERS_EXT"/>
+        <enum value="0x8904" name="GL_MIN_PROGRAM_TEXEL_OFFSET" group="GetPName"/>
+        <enum value="0x8904" name="GL_MIN_PROGRAM_TEXEL_OFFSET_EXT"/>
+        <enum value="0x8904" name="GL_MIN_PROGRAM_TEXEL_OFFSET_NV"/>
+        <enum value="0x8905" name="GL_MAX_PROGRAM_TEXEL_OFFSET" group="GetPName"/>
+        <enum value="0x8905" name="GL_MAX_PROGRAM_TEXEL_OFFSET_EXT"/>
+        <enum value="0x8905" name="GL_MAX_PROGRAM_TEXEL_OFFSET_NV"/>
+        <enum value="0x8906" name="GL_PROGRAM_ATTRIB_COMPONENTS_NV"/>
+        <enum value="0x8907" name="GL_PROGRAM_RESULT_COMPONENTS_NV"/>
+        <enum value="0x8908" name="GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV"/>
+        <enum value="0x8909" name="GL_MAX_PROGRAM_RESULT_COMPONENTS_NV"/>
+        <enum value="0x8910" name="GL_STENCIL_TEST_TWO_SIDE_EXT"/>
+        <enum value="0x8911" name="GL_ACTIVE_STENCIL_FACE_EXT"/>
+        <enum value="0x8912" name="GL_MIRROR_CLAMP_TO_BORDER_EXT"/>
+            <unused start="0x8913" vendor="NV"/>
+        <enum value="0x8914" name="GL_SAMPLES_PASSED" group="QueryTarget"/>
+        <enum value="0x8914" name="GL_SAMPLES_PASSED_ARB"/>
+            <unused start="0x8915" vendor="NV"/>
+        <enum value="0x8916" name="GL_GEOMETRY_VERTICES_OUT" group="ProgramPropertyARB"/>
+        <enum value="0x8916" name="GL_GEOMETRY_LINKED_VERTICES_OUT_EXT"/>
+        <enum value="0x8916" name="GL_GEOMETRY_LINKED_VERTICES_OUT_OES"/>
+        <enum value="0x8917" name="GL_GEOMETRY_INPUT_TYPE" group="ProgramPropertyARB"/>
+        <enum value="0x8917" name="GL_GEOMETRY_LINKED_INPUT_TYPE_EXT"/>
+        <enum value="0x8917" name="GL_GEOMETRY_LINKED_INPUT_TYPE_OES"/>
+        <enum value="0x8918" name="GL_GEOMETRY_OUTPUT_TYPE" group="ProgramPropertyARB"/>
+        <enum value="0x8918" name="GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT"/>
+        <enum value="0x8918" name="GL_GEOMETRY_LINKED_OUTPUT_TYPE_OES"/>
+        <enum value="0x8919" name="GL_SAMPLER_BINDING" group="GetPName"/>
+        <enum value="0x891A" name="GL_CLAMP_VERTEX_COLOR"/>
+        <enum value="0x891A" name="GL_CLAMP_VERTEX_COLOR_ARB" group="ClampColorTargetARB"/>
+        <enum value="0x891B" name="GL_CLAMP_FRAGMENT_COLOR"/>
+        <enum value="0x891B" name="GL_CLAMP_FRAGMENT_COLOR_ARB" group="ClampColorTargetARB"/>
+        <enum value="0x891C" name="GL_CLAMP_READ_COLOR" group="ClampColorTargetARB"/>
+        <enum value="0x891C" name="GL_CLAMP_READ_COLOR_ARB" group="ClampColorTargetARB"/>
+        <enum value="0x891D" name="GL_FIXED_ONLY" group="ClampColorModeARB"/>
+        <enum value="0x891D" name="GL_FIXED_ONLY_ARB" group="ClampColorModeARB"/>
+        <enum value="0x891E" name="GL_TESS_CONTROL_PROGRAM_NV" group="ProgramTarget"/>
+        <enum value="0x891F" name="GL_TESS_EVALUATION_PROGRAM_NV" group="ProgramTarget"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8920" end="0x897F" vendor="AMD">
+        <enum value="0x8920" name="GL_FRAGMENT_SHADER_ATI"/>
+        <enum value="0x8921" name="GL_REG_0_ATI"/>
+        <enum value="0x8922" name="GL_REG_1_ATI"/>
+        <enum value="0x8923" name="GL_REG_2_ATI"/>
+        <enum value="0x8924" name="GL_REG_3_ATI"/>
+        <enum value="0x8925" name="GL_REG_4_ATI"/>
+        <enum value="0x8926" name="GL_REG_5_ATI"/>
+        <enum value="0x8927" name="GL_REG_6_ATI"/>
+        <enum value="0x8928" name="GL_REG_7_ATI"/>
+        <enum value="0x8929" name="GL_REG_8_ATI"/>
+        <enum value="0x892A" name="GL_REG_9_ATI"/>
+        <enum value="0x892B" name="GL_REG_10_ATI"/>
+        <enum value="0x892C" name="GL_REG_11_ATI"/>
+        <enum value="0x892D" name="GL_REG_12_ATI"/>
+        <enum value="0x892E" name="GL_REG_13_ATI"/>
+        <enum value="0x892F" name="GL_REG_14_ATI"/>
+        <enum value="0x8930" name="GL_REG_15_ATI"/>
+        <enum value="0x8931" name="GL_REG_16_ATI"/>
+        <enum value="0x8932" name="GL_REG_17_ATI"/>
+        <enum value="0x8933" name="GL_REG_18_ATI"/>
+        <enum value="0x8934" name="GL_REG_19_ATI"/>
+        <enum value="0x8935" name="GL_REG_20_ATI"/>
+        <enum value="0x8936" name="GL_REG_21_ATI"/>
+        <enum value="0x8937" name="GL_REG_22_ATI"/>
+        <enum value="0x8938" name="GL_REG_23_ATI"/>
+        <enum value="0x8939" name="GL_REG_24_ATI"/>
+        <enum value="0x893A" name="GL_REG_25_ATI"/>
+        <enum value="0x893B" name="GL_REG_26_ATI"/>
+        <enum value="0x893C" name="GL_REG_27_ATI"/>
+        <enum value="0x893D" name="GL_REG_28_ATI"/>
+        <enum value="0x893E" name="GL_REG_29_ATI"/>
+        <enum value="0x893F" name="GL_REG_30_ATI"/>
+        <enum value="0x8940" name="GL_REG_31_ATI"/>
+        <enum value="0x8941" name="GL_CON_0_ATI"/>
+        <enum value="0x8942" name="GL_CON_1_ATI"/>
+        <enum value="0x8943" name="GL_CON_2_ATI"/>
+        <enum value="0x8944" name="GL_CON_3_ATI"/>
+        <enum value="0x8945" name="GL_CON_4_ATI"/>
+        <enum value="0x8946" name="GL_CON_5_ATI"/>
+        <enum value="0x8947" name="GL_CON_6_ATI"/>
+        <enum value="0x8948" name="GL_CON_7_ATI"/>
+        <enum value="0x8949" name="GL_CON_8_ATI"/>
+        <enum value="0x894A" name="GL_CON_9_ATI"/>
+        <enum value="0x894B" name="GL_CON_10_ATI"/>
+        <enum value="0x894C" name="GL_CON_11_ATI"/>
+        <enum value="0x894D" name="GL_CON_12_ATI"/>
+        <enum value="0x894E" name="GL_CON_13_ATI"/>
+        <enum value="0x894F" name="GL_CON_14_ATI"/>
+        <enum value="0x8950" name="GL_CON_15_ATI"/>
+        <enum value="0x8951" name="GL_CON_16_ATI"/>
+        <enum value="0x8952" name="GL_CON_17_ATI"/>
+        <enum value="0x8953" name="GL_CON_18_ATI"/>
+        <enum value="0x8954" name="GL_CON_19_ATI"/>
+        <enum value="0x8955" name="GL_CON_20_ATI"/>
+        <enum value="0x8956" name="GL_CON_21_ATI"/>
+        <enum value="0x8957" name="GL_CON_22_ATI"/>
+        <enum value="0x8958" name="GL_CON_23_ATI"/>
+        <enum value="0x8959" name="GL_CON_24_ATI"/>
+        <enum value="0x895A" name="GL_CON_25_ATI"/>
+        <enum value="0x895B" name="GL_CON_26_ATI"/>
+        <enum value="0x895C" name="GL_CON_27_ATI"/>
+        <enum value="0x895D" name="GL_CON_28_ATI"/>
+        <enum value="0x895E" name="GL_CON_29_ATI"/>
+        <enum value="0x895F" name="GL_CON_30_ATI"/>
+        <enum value="0x8960" name="GL_CON_31_ATI"/>
+        <enum value="0x8961" name="GL_MOV_ATI" group="FragmentOpATI"/>
+        <enum value="0x8963" name="GL_ADD_ATI" group="FragmentOpATI"/>
+        <enum value="0x8964" name="GL_MUL_ATI" group="FragmentOpATI"/>
+        <enum value="0x8965" name="GL_SUB_ATI" group="FragmentOpATI"/>
+        <enum value="0x8966" name="GL_DOT3_ATI" group="FragmentOpATI"/>
+        <enum value="0x8967" name="GL_DOT4_ATI" group="FragmentOpATI"/>
+        <enum value="0x8968" name="GL_MAD_ATI" group="FragmentOpATI"/>
+        <enum value="0x8969" name="GL_LERP_ATI" group="FragmentOpATI"/>
+        <enum value="0x896A" name="GL_CND_ATI" group="FragmentOpATI"/>
+        <enum value="0x896B" name="GL_CND0_ATI" group="FragmentOpATI"/>
+        <enum value="0x896C" name="GL_DOT2_ADD_ATI" group="FragmentOpATI"/>
+        <enum value="0x896D" name="GL_SECONDARY_INTERPOLATOR_ATI"/>
+        <enum value="0x896E" name="GL_NUM_FRAGMENT_REGISTERS_ATI"/>
+        <enum value="0x896F" name="GL_NUM_FRAGMENT_CONSTANTS_ATI"/>
+        <enum value="0x8970" name="GL_NUM_PASSES_ATI"/>
+        <enum value="0x8971" name="GL_NUM_INSTRUCTIONS_PER_PASS_ATI"/>
+        <enum value="0x8972" name="GL_NUM_INSTRUCTIONS_TOTAL_ATI"/>
+        <enum value="0x8973" name="GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI"/>
+        <enum value="0x8974" name="GL_NUM_LOOPBACK_COMPONENTS_ATI"/>
+        <enum value="0x8975" name="GL_COLOR_ALPHA_PAIRING_ATI"/>
+        <enum value="0x8976" name="GL_SWIZZLE_STR_ATI" group="SwizzleOpATI"/>
+        <enum value="0x8977" name="GL_SWIZZLE_STQ_ATI" group="SwizzleOpATI"/>
+        <enum value="0x8978" name="GL_SWIZZLE_STR_DR_ATI" group="SwizzleOpATI"/>
+        <enum value="0x8979" name="GL_SWIZZLE_STQ_DQ_ATI" group="SwizzleOpATI"/>
+        <enum value="0x897A" name="GL_SWIZZLE_STRQ_ATI"/>
+        <enum value="0x897B" name="GL_SWIZZLE_STRQ_DQ_ATI"/>
+            <unused start="0x897C" end="0x897F" vendor="AMD"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8980" end="0x898F" vendor="OML">
+        <enum value="0x8980" name="GL_INTERLACE_OML"/>
+        <enum value="0x8981" name="GL_INTERLACE_READ_OML"/>
+        <enum value="0x8982" name="GL_FORMAT_SUBSAMPLE_24_24_OML"/>
+        <enum value="0x8983" name="GL_FORMAT_SUBSAMPLE_244_244_OML"/>
+        <enum value="0x8984" name="GL_PACK_RESAMPLE_OML" group="PixelStoreParameter"/>
+        <enum value="0x8985" name="GL_UNPACK_RESAMPLE_OML" group="PixelStoreParameter"/>
+        <enum value="0x8986" name="GL_RESAMPLE_REPLICATE_OML"/>
+        <enum value="0x8987" name="GL_RESAMPLE_ZERO_FILL_OML"/>
+        <enum value="0x8988" name="GL_RESAMPLE_AVERAGE_OML"/>
+        <enum value="0x8989" name="GL_RESAMPLE_DECIMATE_OML"/>
+        <enum value="0x898A" name="GL_POINT_SIZE_ARRAY_TYPE_OES"/>
+        <enum value="0x898B" name="GL_POINT_SIZE_ARRAY_STRIDE_OES"/>
+        <enum value="0x898C" name="GL_POINT_SIZE_ARRAY_POINTER_OES"/>
+        <enum value="0x898D" name="GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES"/>
+        <enum value="0x898E" name="GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES"/>
+        <enum value="0x898F" name="GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8990" end="0x899F" vendor="ZiiLabs">
+            <unused start="0x8990" end="0x899F" vendor="ZiiLabs"/>
+    </enums>
+
+    <enums namespace="GL" start="0x89A0" end="0x89FF" vendor="Matrox">
+            <unused start="0x89A0" end="0x89FF" vendor="Matrox"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8A00" end="0x8A7F" vendor="APPLE">
+        <enum value="0x8A00" name="GL_VERTEX_ATTRIB_MAP1_APPLE"/>
+        <enum value="0x8A01" name="GL_VERTEX_ATTRIB_MAP2_APPLE"/>
+        <enum value="0x8A02" name="GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE"/>
+        <enum value="0x8A03" name="GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE"/>
+        <enum value="0x8A04" name="GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE"/>
+        <enum value="0x8A05" name="GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE"/>
+        <enum value="0x8A06" name="GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE"/>
+        <enum value="0x8A07" name="GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE"/>
+        <enum value="0x8A08" name="GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE"/>
+        <enum value="0x8A09" name="GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE"/>
+        <enum value="0x8A0A" name="GL_DRAW_PIXELS_APPLE" group="ObjectTypeAPPLE"/>
+        <enum value="0x8A0B" name="GL_FENCE_APPLE" group="ObjectTypeAPPLE"/>
+        <enum value="0x8A0C" name="GL_ELEMENT_ARRAY_APPLE"/>
+        <enum value="0x8A0D" name="GL_ELEMENT_ARRAY_TYPE_APPLE"/>
+        <enum value="0x8A0E" name="GL_ELEMENT_ARRAY_POINTER_APPLE"/>
+        <enum value="0x8A0F" name="GL_COLOR_FLOAT_APPLE"/>
+            <unused start="0x8A10" vendor="APPLE" comment="Unknown extension (Khronos bug 632)"/>
+            <!-- <enum value="0x8A10" name="GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE"/> -->
+        <enum value="0x8A11" name="GL_UNIFORM_BUFFER" group="CopyBufferSubDataTarget,BufferTargetARB,BufferStorageTarget"/>
+        <enum value="0x8A12" name="GL_BUFFER_SERIALIZED_MODIFY_APPLE"/>
+        <enum value="0x8A13" name="GL_BUFFER_FLUSHING_UNMAP_APPLE"/>
+        <enum value="0x8A14" name="GL_AUX_DEPTH_STENCIL_APPLE"/>
+        <enum value="0x8A15" name="GL_PACK_ROW_BYTES_APPLE"/>
+        <enum value="0x8A16" name="GL_UNPACK_ROW_BYTES_APPLE"/>
+            <unused start="0x8A17" end="0x8A18" vendor="APPLE"/>
+        <enum value="0x8A19" name="GL_RELEASED_APPLE"/>
+        <enum value="0x8A1A" name="GL_VOLATILE_APPLE"/>
+        <enum value="0x8A1B" name="GL_RETAINED_APPLE"/>
+        <enum value="0x8A1C" name="GL_UNDEFINED_APPLE"/>
+        <enum value="0x8A1D" name="GL_PURGEABLE_APPLE"/>
+            <unused start="0x8A1E" vendor="APPLE"/>
+        <enum value="0x8A1F" name="GL_RGB_422_APPLE"/>
+            <unused start="0x8A20" end="0x8A27" vendor="APPLE"/>
+        <enum value="0x8A28" name="GL_UNIFORM_BUFFER_BINDING" group="GetPName"/>
+        <enum value="0x8A29" name="GL_UNIFORM_BUFFER_START" group="GetPName"/>
+        <enum value="0x8A2A" name="GL_UNIFORM_BUFFER_SIZE" group="GetPName"/>
+        <enum value="0x8A2B" name="GL_MAX_VERTEX_UNIFORM_BLOCKS" group="GetPName"/>
+        <enum value="0x8A2C" name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS" group="GetPName"/>
+        <enum value="0x8A2C" name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT"/>
+        <enum value="0x8A2C" name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS_OES"/>
+        <enum value="0x8A2D" name="GL_MAX_FRAGMENT_UNIFORM_BLOCKS" group="GetPName"/>
+        <enum value="0x8A2E" name="GL_MAX_COMBINED_UNIFORM_BLOCKS" group="GetPName"/>
+        <enum value="0x8A2F" name="GL_MAX_UNIFORM_BUFFER_BINDINGS" group="GetPName"/>
+        <enum value="0x8A30" name="GL_MAX_UNIFORM_BLOCK_SIZE" group="GetPName"/>
+        <enum value="0x8A31" name="GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS" group="GetPName"/>
+        <enum value="0x8A32" name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS" group="GetPName"/>
+        <enum value="0x8A32" name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT"/>
+        <enum value="0x8A32" name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES"/>
+        <enum value="0x8A33" name="GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS" group="GetPName"/>
+        <enum value="0x8A34" name="GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT" group="GetPName"/>
+        <enum value="0x8A35" name="GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH" group="ProgramPropertyARB"/>
+        <enum value="0x8A36" name="GL_ACTIVE_UNIFORM_BLOCKS" group="ProgramPropertyARB"/>
+        <enum value="0x8A37" name="GL_UNIFORM_TYPE" group="UniformPName"/>
+        <enum value="0x8A38" name="GL_UNIFORM_SIZE" group="SubroutineParameterName,UniformPName"/>
+        <enum value="0x8A39" name="GL_UNIFORM_NAME_LENGTH" group="SubroutineParameterName,UniformPName"/>
+        <enum value="0x8A3A" name="GL_UNIFORM_BLOCK_INDEX" group="UniformPName"/>
+        <enum value="0x8A3B" name="GL_UNIFORM_OFFSET" group="UniformPName"/>
+        <enum value="0x8A3C" name="GL_UNIFORM_ARRAY_STRIDE" group="UniformPName"/>
+        <enum value="0x8A3D" name="GL_UNIFORM_MATRIX_STRIDE" group="UniformPName"/>
+        <enum value="0x8A3E" name="GL_UNIFORM_IS_ROW_MAJOR" group="UniformPName"/>
+        <enum value="0x8A3F" name="GL_UNIFORM_BLOCK_BINDING" group="UniformBlockPName"/>
+        <enum value="0x8A40" name="GL_UNIFORM_BLOCK_DATA_SIZE" group="UniformBlockPName"/>
+        <enum value="0x8A41" name="GL_UNIFORM_BLOCK_NAME_LENGTH" group="UniformBlockPName"/>
+        <enum value="0x8A42" name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS" group="UniformBlockPName"/>
+        <enum value="0x8A43" name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES" group="UniformBlockPName"/>
+        <enum value="0x8A44" name="GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER" group="UniformBlockPName"/>
+        <enum value="0x8A45" name="GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER" group="UniformBlockPName"/>
+        <enum value="0x8A46" name="GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER" group="UniformBlockPName"/>
+            <unused start="0x8A47" vendor="APPLE"/>
+        <enum value="0x8A48" name="GL_TEXTURE_SRGB_DECODE_EXT"/>
+        <enum value="0x8A49" name="GL_DECODE_EXT"/>
+        <enum value="0x8A4A" name="GL_SKIP_DECODE_EXT"/>
+            <unused start="0x8A4B" end="0x8A4E" vendor="APPLE"/>
+        <enum value="0x8A4F" name="GL_PROGRAM_PIPELINE_OBJECT_EXT"/>
+            <unused start="0x8A50" vendor="APPLE"/>
+        <enum value="0x8A51" name="GL_RGB_RAW_422_APPLE"/>
+        <enum value="0x8A52" name="GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT"/>
+        <enum value="0x8A53" name="GL_SYNC_OBJECT_APPLE"/>
+        <enum value="0x8A54" name="GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT"/>
+        <enum value="0x8A55" name="GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT"/>
+        <enum value="0x8A56" name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT"/>
+        <enum value="0x8A57" name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT"/>
+            <unused start="0x8A58" end="0x8A7F" vendor="APPLE"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8A80" end="0x8AEF" vendor="Matrox">
+            <unused start="0x8A80" end="0x8AEF" vendor="Matrox"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8AF0" end="0x8B2F" vendor="Chromium" comment="For Brian Paul">
+            <unused start="0x8AF0" end="0x8B2F" vendor="Chromium"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8B30" end="0x8B3F" group="ShaderType" vendor="ARB">
+        <enum value="0x8B30" name="GL_FRAGMENT_SHADER" group="PipelineParameterName,ShaderType"/>
+        <enum value="0x8B30" name="GL_FRAGMENT_SHADER_ARB" group="ShaderType"/>
+        <enum value="0x8B31" name="GL_VERTEX_SHADER" group="PipelineParameterName,ShaderType"/>
+        <enum value="0x8B31" name="GL_VERTEX_SHADER_ARB" group="ShaderType"/>
+            <unused start="0x8B32" end="0x8B3F" comment="For shader types"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8B40" end="0x8B47" group="ContainerType" vendor="ARB">
+        <enum value="0x8B40" name="GL_PROGRAM_OBJECT_ARB"/>
+        <enum value="0x8B40" name="GL_PROGRAM_OBJECT_EXT"/>
+            <unused start="0x8B41" end="0x8B47" comment="For container types"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8B48" end="0x8B4F" vendor="ARB">
+        <enum value="0x8B48" name="GL_SHADER_OBJECT_ARB"/>
+        <enum value="0x8B48" name="GL_SHADER_OBJECT_EXT"/>
+        <enum value="0x8B49" name="GL_MAX_FRAGMENT_UNIFORM_COMPONENTS" group="GetPName"/>
+        <enum value="0x8B49" name="GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB"/>
+        <enum value="0x8B4A" name="GL_MAX_VERTEX_UNIFORM_COMPONENTS" group="GetPName"/>
+        <enum value="0x8B4A" name="GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB"/>
+        <enum value="0x8B4B" name="GL_MAX_VARYING_FLOATS" group="GetPName"/>
+        <enum value="0x8B4B" name="GL_MAX_VARYING_COMPONENTS" alias="MAX_VARYING_FLOATS" group="GetPName"/>
+        <enum value="0x8B4B" name="GL_MAX_VARYING_COMPONENTS_EXT"/>
+        <enum value="0x8B4B" name="GL_MAX_VARYING_FLOATS_ARB"/>
+        <enum value="0x8B4C" name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS" group="GetPName"/>
+        <enum value="0x8B4C" name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB"/>
+        <enum value="0x8B4D" name="GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS" group="GetPName"/>
+        <enum value="0x8B4D" name="GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB"/>
+        <enum value="0x8B4E" name="GL_OBJECT_TYPE_ARB"/>
+        <enum value="0x8B4F" name="GL_SHADER_TYPE" group="ShaderParameterName"/>
+        <enum value="0x8B4F" name="GL_OBJECT_SUBTYPE_ARB"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8B50" end="0x8B7F" group="AttributeType" vendor="ARB">
+        <enum value="0x8B50" name="GL_FLOAT_VEC2" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B50" name="GL_FLOAT_VEC2_ARB" group="AttributeType"/>
+        <enum value="0x8B51" name="GL_FLOAT_VEC3" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B51" name="GL_FLOAT_VEC3_ARB" group="AttributeType"/>
+        <enum value="0x8B52" name="GL_FLOAT_VEC4" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B52" name="GL_FLOAT_VEC4_ARB" group="AttributeType"/>
+        <enum value="0x8B53" name="GL_INT_VEC2" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B53" name="GL_INT_VEC2_ARB" group="AttributeType"/>
+        <enum value="0x8B54" name="GL_INT_VEC3" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B54" name="GL_INT_VEC3_ARB" group="AttributeType"/>
+        <enum value="0x8B55" name="GL_INT_VEC4" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B55" name="GL_INT_VEC4_ARB" group="AttributeType"/>
+        <enum value="0x8B56" name="GL_BOOL" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B56" name="GL_BOOL_ARB" group="AttributeType"/>
+        <enum value="0x8B57" name="GL_BOOL_VEC2" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B57" name="GL_BOOL_VEC2_ARB" group="AttributeType"/>
+        <enum value="0x8B58" name="GL_BOOL_VEC3" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B58" name="GL_BOOL_VEC3_ARB" group="AttributeType"/>
+        <enum value="0x8B59" name="GL_BOOL_VEC4" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B59" name="GL_BOOL_VEC4_ARB" group="AttributeType"/>
+        <enum value="0x8B5A" name="GL_FLOAT_MAT2" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B5A" name="GL_FLOAT_MAT2_ARB" group="AttributeType"/>
+        <enum value="0x8B5B" name="GL_FLOAT_MAT3" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B5B" name="GL_FLOAT_MAT3_ARB" group="AttributeType"/>
+        <enum value="0x8B5C" name="GL_FLOAT_MAT4" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B5C" name="GL_FLOAT_MAT4_ARB" group="AttributeType"/>
+        <enum value="0x8B5D" name="GL_SAMPLER_1D" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B5D" name="GL_SAMPLER_1D_ARB" group="AttributeType"/>
+        <enum value="0x8B5E" name="GL_SAMPLER_2D" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B5E" name="GL_SAMPLER_2D_ARB" group="AttributeType"/>
+        <enum value="0x8B5F" name="GL_SAMPLER_3D" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B5F" name="GL_SAMPLER_3D_ARB" group="AttributeType"/>
+        <enum value="0x8B5F" name="GL_SAMPLER_3D_OES" group="AttributeType"/>
+        <enum value="0x8B60" name="GL_SAMPLER_CUBE" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B60" name="GL_SAMPLER_CUBE_ARB" group="AttributeType"/>
+        <enum value="0x8B61" name="GL_SAMPLER_1D_SHADOW" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B61" name="GL_SAMPLER_1D_SHADOW_ARB" group="AttributeType"/>
+        <enum value="0x8B62" name="GL_SAMPLER_2D_SHADOW" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B62" name="GL_SAMPLER_2D_SHADOW_ARB" group="AttributeType"/>
+        <enum value="0x8B62" name="GL_SAMPLER_2D_SHADOW_EXT" group="AttributeType"/>
+        <enum value="0x8B63" name="GL_SAMPLER_2D_RECT" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B63" name="GL_SAMPLER_2D_RECT_ARB" group="AttributeType"/>
+        <enum value="0x8B64" name="GL_SAMPLER_2D_RECT_SHADOW" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B64" name="GL_SAMPLER_2D_RECT_SHADOW_ARB" group="AttributeType"/>
+        <enum value="0x8B65" name="GL_FLOAT_MAT2x3" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B65" name="GL_FLOAT_MAT2x3_NV" group="AttributeType"/>
+        <enum value="0x8B66" name="GL_FLOAT_MAT2x4" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B66" name="GL_FLOAT_MAT2x4_NV" group="AttributeType"/>
+        <enum value="0x8B67" name="GL_FLOAT_MAT3x2" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B67" name="GL_FLOAT_MAT3x2_NV" group="AttributeType"/>
+        <enum value="0x8B68" name="GL_FLOAT_MAT3x4" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B68" name="GL_FLOAT_MAT3x4_NV" group="AttributeType"/>
+        <enum value="0x8B69" name="GL_FLOAT_MAT4x2" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B69" name="GL_FLOAT_MAT4x2_NV" group="AttributeType"/>
+        <enum value="0x8B6A" name="GL_FLOAT_MAT4x3" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8B6A" name="GL_FLOAT_MAT4x3_NV" group="AttributeType"/>
+            <unused start="0x8B6B" end="0x8B7F" comment="For attribute types"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8B80" end="0x8B8F" vendor="ARB">
+        <enum value="0x8B80" name="GL_DELETE_STATUS" group="ProgramPropertyARB,ShaderParameterName"/>
+        <enum value="0x8B80" name="GL_OBJECT_DELETE_STATUS_ARB"/>
+        <enum value="0x8B81" name="GL_COMPILE_STATUS" group="ShaderParameterName"/>
+        <enum value="0x8B81" name="GL_OBJECT_COMPILE_STATUS_ARB"/>
+        <enum value="0x8B82" name="GL_LINK_STATUS" group="ProgramPropertyARB"/>
+        <enum value="0x8B82" name="GL_OBJECT_LINK_STATUS_ARB"/>
+        <enum value="0x8B83" name="GL_VALIDATE_STATUS" group="ProgramPropertyARB"/>
+        <enum value="0x8B83" name="GL_OBJECT_VALIDATE_STATUS_ARB"/>
+        <enum value="0x8B84" name="GL_INFO_LOG_LENGTH" group="ProgramPropertyARB,ShaderParameterName,PipelineParameterName"/>
+        <enum value="0x8B84" name="GL_OBJECT_INFO_LOG_LENGTH_ARB"/>
+        <enum value="0x8B85" name="GL_ATTACHED_SHADERS" group="ProgramPropertyARB"/>
+        <enum value="0x8B85" name="GL_OBJECT_ATTACHED_OBJECTS_ARB"/>
+        <enum value="0x8B86" name="GL_ACTIVE_UNIFORMS" group="ProgramPropertyARB"/>
+        <enum value="0x8B86" name="GL_OBJECT_ACTIVE_UNIFORMS_ARB"/>
+        <enum value="0x8B87" name="GL_ACTIVE_UNIFORM_MAX_LENGTH" group="ProgramPropertyARB"/>
+        <enum value="0x8B87" name="GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB"/>
+        <enum value="0x8B88" name="GL_SHADER_SOURCE_LENGTH" group="ShaderParameterName"/>
+        <enum value="0x8B88" name="GL_OBJECT_SHADER_SOURCE_LENGTH_ARB"/>
+        <enum value="0x8B89" name="GL_ACTIVE_ATTRIBUTES" group="ProgramPropertyARB"/>
+        <enum value="0x8B89" name="GL_OBJECT_ACTIVE_ATTRIBUTES_ARB"/>
+        <enum value="0x8B8A" name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH" group="ProgramPropertyARB"/>
+        <enum value="0x8B8A" name="GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB"/>
+        <enum value="0x8B8B" name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT" group="HintTarget,GetPName"/>
+        <enum value="0x8B8B" name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB" group="HintTarget"/>
+        <enum value="0x8B8B" name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES" group="HintTarget"/>
+        <enum value="0x8B8C" name="GL_SHADING_LANGUAGE_VERSION" group="StringName"/>
+        <enum value="0x8B8C" name="GL_SHADING_LANGUAGE_VERSION_ARB"/>
+        <enum value="0x8B8D" name="GL_CURRENT_PROGRAM" group="GetPName"/>
+        <enum value="0x8B8D" api="gl" name="GL_ACTIVE_PROGRAM_EXT" alias="GL_CURRENT_PROGRAM" comment="For the OpenGL version of EXT_separate_shader_objects"/>
+            <unused start="0x8B8E" end="0x8B8F" vendor="ARB"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8B90" end="0x8B9F" vendor="OES">
+        <enum value="0x8B90" name="GL_PALETTE4_RGB8_OES"/>
+        <enum value="0x8B91" name="GL_PALETTE4_RGBA8_OES"/>
+        <enum value="0x8B92" name="GL_PALETTE4_R5_G6_B5_OES"/>
+        <enum value="0x8B93" name="GL_PALETTE4_RGBA4_OES"/>
+        <enum value="0x8B94" name="GL_PALETTE4_RGB5_A1_OES"/>
+        <enum value="0x8B95" name="GL_PALETTE8_RGB8_OES"/>
+        <enum value="0x8B96" name="GL_PALETTE8_RGBA8_OES"/>
+        <enum value="0x8B97" name="GL_PALETTE8_R5_G6_B5_OES"/>
+        <enum value="0x8B98" name="GL_PALETTE8_RGBA4_OES"/>
+        <enum value="0x8B99" name="GL_PALETTE8_RGB5_A1_OES"/>
+        <enum value="0x8B9A" name="GL_IMPLEMENTATION_COLOR_READ_TYPE" group="GetFramebufferParameter,GetPName"/>
+        <enum value="0x8B9A" name="GL_IMPLEMENTATION_COLOR_READ_TYPE_OES"/>
+        <enum value="0x8B9B" name="GL_IMPLEMENTATION_COLOR_READ_FORMAT" group="GetFramebufferParameter,GetPName"/>
+        <enum value="0x8B9B" name="GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES"/>
+        <enum value="0x8B9C" name="GL_POINT_SIZE_ARRAY_OES"/>
+        <enum value="0x8B9D" name="GL_TEXTURE_CROP_RECT_OES"/>
+        <enum value="0x8B9E" name="GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES"/>
+        <enum value="0x8B9F" name="GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8BA0" end="0x8BAF" vendor="Seaweed">
+            <unused start="0x8BA0" end="0x8BAF" vendor="Seaweed"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8BB0" end="0x8BBF" vendor="MESA">
+        <enum value="0x8BB0" name="GL_FRAGMENT_PROGRAM_POSITION_MESA"/>
+        <enum value="0x8BB1" name="GL_FRAGMENT_PROGRAM_CALLBACK_MESA"/>
+        <enum value="0x8BB2" name="GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA"/>
+        <enum value="0x8BB3" name="GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA"/>
+        <enum value="0x8BB4" name="GL_VERTEX_PROGRAM_POSITION_MESA"/>
+        <enum value="0x8BB5" name="GL_VERTEX_PROGRAM_CALLBACK_MESA"/>
+        <enum value="0x8BB6" name="GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA"/>
+        <enum value="0x8BB7" name="GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA"/>
+        <enum value="0x8BB8" name="GL_TILE_RASTER_ORDER_FIXED_MESA"/>
+        <enum value="0x8BB9" name="GL_TILE_RASTER_ORDER_INCREASING_X_MESA"/>
+        <enum value="0x8BBA" name="GL_TILE_RASTER_ORDER_INCREASING_Y_MESA"/>
+        <enum value="0x8BBB" name="GL_FRAMEBUFFER_FLIP_Y_MESA"/>
+        <enum value="0x8BBC" name="GL_FRAMEBUFFER_FLIP_X_MESA" />
+        <enum value="0x8BBD" name="GL_FRAMEBUFFER_SWAP_XY_MESA" />
+    </enums>
+
+    <enums namespace="GL" start="0x8BC0" end="0x8BFF" vendor="QCOM" comment="Reassigned from AMD to QCOM">
+        <enum value="0x8BC0" name="GL_COUNTER_TYPE_AMD"/>
+        <enum value="0x8BC1" name="GL_COUNTER_RANGE_AMD"/>
+        <enum value="0x8BC2" name="GL_UNSIGNED_INT64_AMD"/>
+        <enum value="0x8BC3" name="GL_PERCENTAGE_AMD"/>
+        <enum value="0x8BC4" name="GL_PERFMON_RESULT_AVAILABLE_AMD"/>
+        <enum value="0x8BC5" name="GL_PERFMON_RESULT_SIZE_AMD"/>
+        <enum value="0x8BC6" name="GL_PERFMON_RESULT_AMD"/>
+            <unused start="0x8BC7" end="0x8BD1" vendor="QCOM"/>
+        <enum value="0x8BD2" name="GL_TEXTURE_WIDTH_QCOM"/>
+        <enum value="0x8BD3" name="GL_TEXTURE_HEIGHT_QCOM"/>
+        <enum value="0x8BD4" name="GL_TEXTURE_DEPTH_QCOM"/>
+        <enum value="0x8BD5" name="GL_TEXTURE_INTERNAL_FORMAT_QCOM"/>
+        <enum value="0x8BD6" name="GL_TEXTURE_FORMAT_QCOM"/>
+        <enum value="0x8BD7" name="GL_TEXTURE_TYPE_QCOM"/>
+        <enum value="0x8BD8" name="GL_TEXTURE_IMAGE_VALID_QCOM"/>
+        <enum value="0x8BD9" name="GL_TEXTURE_NUM_LEVELS_QCOM"/>
+        <enum value="0x8BDA" name="GL_TEXTURE_TARGET_QCOM"/>
+        <enum value="0x8BDB" name="GL_TEXTURE_OBJECT_VALID_QCOM"/>
+        <enum value="0x8BDC" name="GL_STATE_RESTORE"/>
+            <unused start="0x8BDD" end="0x8BE6" vendor="QCOM"/>
+        <enum value="0x8BE7" name="GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT"/>
+            <unused start="0x8BE8" end="0x8BEF" vendor="QCOM"/>
+        <enum value="0x8BFA" name="GL_TEXTURE_PROTECTED_EXT"/>
+        <enum value="0x8BFB" name="GL_TEXTURE_FOVEATED_FEATURE_BITS_QCOM"/>
+        <enum value="0x8BFC" name="GL_TEXTURE_FOVEATED_MIN_PIXEL_DENSITY_QCOM"/>
+        <enum value="0x8BFD" name="GL_TEXTURE_FOVEATED_FEATURE_QUERY_QCOM"/>
+        <enum value="0x8BFE" name="GL_TEXTURE_FOVEATED_NUM_FOCAL_POINTS_QUERY_QCOM"/>
+        <enum value="0x8BFF" name="GL_FRAMEBUFFER_INCOMPLETE_FOVEATION_QCOM"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8C00" end="0x8C0F" vendor="IMG">
+        <enum value="0x8C00" name="GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG"/>
+        <enum value="0x8C01" name="GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG"/>
+        <enum value="0x8C02" name="GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG"/>
+        <enum value="0x8C03" name="GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG"/>
+        <enum value="0x8C04" name="GL_MODULATE_COLOR_IMG"/>
+        <enum value="0x8C05" name="GL_RECIP_ADD_SIGNED_ALPHA_IMG"/>
+        <enum value="0x8C06" name="GL_TEXTURE_ALPHA_MODULATE_IMG"/>
+        <enum value="0x8C07" name="GL_FACTOR_ALPHA_MODULATE_IMG"/>
+        <enum value="0x8C08" name="GL_FRAGMENT_ALPHA_MODULATE_IMG"/>
+        <enum value="0x8C09" name="GL_ADD_BLEND_IMG"/>
+        <enum value="0x8C0A" name="GL_SGX_BINARY_IMG" group="ShaderBinaryFormat"/>
+            <unused start="0x8C0B" end="0x8C0F" vendor="IMG"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8C10" end="0x8C8F" vendor="NV" comment="For Pat Brown">
+        <enum value="0x8C10" name="GL_TEXTURE_RED_TYPE"/>
+        <enum value="0x8C10" name="GL_TEXTURE_RED_TYPE_ARB"/>
+        <enum value="0x8C11" name="GL_TEXTURE_GREEN_TYPE"/>
+        <enum value="0x8C11" name="GL_TEXTURE_GREEN_TYPE_ARB"/>
+        <enum value="0x8C12" name="GL_TEXTURE_BLUE_TYPE"/>
+        <enum value="0x8C12" name="GL_TEXTURE_BLUE_TYPE_ARB"/>
+        <enum value="0x8C13" name="GL_TEXTURE_ALPHA_TYPE"/>
+        <enum value="0x8C13" name="GL_TEXTURE_ALPHA_TYPE_ARB"/>
+        <enum value="0x8C14" name="GL_TEXTURE_LUMINANCE_TYPE"/>
+        <enum value="0x8C14" name="GL_TEXTURE_LUMINANCE_TYPE_ARB"/>
+        <enum value="0x8C15" name="GL_TEXTURE_INTENSITY_TYPE"/>
+        <enum value="0x8C15" name="GL_TEXTURE_INTENSITY_TYPE_ARB"/>
+        <enum value="0x8C16" name="GL_TEXTURE_DEPTH_TYPE"/>
+        <enum value="0x8C16" name="GL_TEXTURE_DEPTH_TYPE_ARB"/>
+        <enum value="0x8C17" name="GL_UNSIGNED_NORMALIZED"/>
+        <enum value="0x8C17" name="GL_UNSIGNED_NORMALIZED_ARB"/>
+        <enum value="0x8C17" name="GL_UNSIGNED_NORMALIZED_EXT"/>
+        <enum value="0x8C18" name="GL_TEXTURE_1D_ARRAY" group="CopyImageSubDataTarget,TextureTarget"/>
+        <enum value="0x8C18" name="GL_TEXTURE_1D_ARRAY_EXT"/>
+        <enum value="0x8C19" name="GL_PROXY_TEXTURE_1D_ARRAY" group="TextureTarget"/>
+        <enum value="0x8C19" name="GL_PROXY_TEXTURE_1D_ARRAY_EXT" group="TextureTarget"/>
+        <enum value="0x8C1A" name="GL_TEXTURE_2D_ARRAY" group="CopyImageSubDataTarget,TextureTarget"/>
+        <enum value="0x8C1A" name="GL_TEXTURE_2D_ARRAY_EXT"/>
+        <enum value="0x8C1B" name="GL_PROXY_TEXTURE_2D_ARRAY" group="TextureTarget"/>
+        <enum value="0x8C1B" name="GL_PROXY_TEXTURE_2D_ARRAY_EXT" group="TextureTarget"/>
+        <enum value="0x8C1C" name="GL_TEXTURE_BINDING_1D_ARRAY" group="GetPName"/>
+        <enum value="0x8C1C" name="GL_TEXTURE_BINDING_1D_ARRAY_EXT"/>
+        <enum value="0x8C1D" name="GL_TEXTURE_BINDING_2D_ARRAY" group="GetPName"/>
+        <enum value="0x8C1D" name="GL_TEXTURE_BINDING_2D_ARRAY_EXT"/>
+            <unused start="0x8C1E" end="0x8C25" vendor="NV"/>
+        <enum value="0x8C26" name="GL_GEOMETRY_PROGRAM_NV" group="ProgramTarget"/>
+        <enum value="0x8C27" name="GL_MAX_PROGRAM_OUTPUT_VERTICES_NV"/>
+        <enum value="0x8C28" name="GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV"/>
+        <enum value="0x8C29" name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS" group="GetPName"/>
+        <enum value="0x8C29" name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB"/>
+        <enum value="0x8C29" name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT"/>
+        <enum value="0x8C29" name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES"/>
+        <enum value="0x8C2A" name="GL_TEXTURE_BUFFER" group="TextureTarget,CopyBufferSubDataTarget,BufferTargetARB,BufferStorageTarget"/>
+        <enum value="0x8C2A" name="GL_TEXTURE_BUFFER_ARB"/>
+        <enum value="0x8C2A" name="GL_TEXTURE_BUFFER_EXT"/>
+        <enum value="0x8C2A" name="GL_TEXTURE_BUFFER_OES"/>
+        <enum value="0x8C2A" name="GL_TEXTURE_BUFFER_BINDING" comment="Equivalent to GL_TEXTURE_BUFFER_ARB query, but named more consistently"/>
+        <enum value="0x8C2A" name="GL_TEXTURE_BUFFER_BINDING_EXT"/>
+        <enum value="0x8C2A" name="GL_TEXTURE_BUFFER_BINDING_OES"/>
+        <enum value="0x8C2B" name="GL_MAX_TEXTURE_BUFFER_SIZE" group="GetPName"/>
+        <enum value="0x8C2B" name="GL_MAX_TEXTURE_BUFFER_SIZE_ARB"/>
+        <enum value="0x8C2B" name="GL_MAX_TEXTURE_BUFFER_SIZE_EXT"/>
+        <enum value="0x8C2B" name="GL_MAX_TEXTURE_BUFFER_SIZE_OES"/>
+        <enum value="0x8C2C" name="GL_TEXTURE_BINDING_BUFFER" group="GetPName"/>
+        <enum value="0x8C2C" name="GL_TEXTURE_BINDING_BUFFER_ARB"/>
+        <enum value="0x8C2C" name="GL_TEXTURE_BINDING_BUFFER_EXT"/>
+        <enum value="0x8C2C" name="GL_TEXTURE_BINDING_BUFFER_OES"/>
+        <enum value="0x8C2D" name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING"/>
+        <enum value="0x8C2D" name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB"/>
+        <enum value="0x8C2D" name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT"/>
+        <enum value="0x8C2D" name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING_OES"/>
+        <enum value="0x8C2E" name="GL_TEXTURE_BUFFER_FORMAT_ARB"/>
+        <enum value="0x8C2E" name="GL_TEXTURE_BUFFER_FORMAT_EXT"/>
+        <enum value="0x8C2F" name="GL_ANY_SAMPLES_PASSED" group="QueryTarget"/>
+        <enum value="0x8C2F" name="GL_ANY_SAMPLES_PASSED_EXT"/>
+            <unused start="0x8C30" end="0x8C35" vendor="NV"/>
+        <enum value="0x8C36" name="GL_SAMPLE_SHADING" group="EnableCap"/>
+        <enum value="0x8C36" name="GL_SAMPLE_SHADING_ARB"/>
+        <enum value="0x8C36" name="GL_SAMPLE_SHADING_OES"/>
+        <enum value="0x8C37" name="GL_MIN_SAMPLE_SHADING_VALUE"/>
+        <enum value="0x8C37" name="GL_MIN_SAMPLE_SHADING_VALUE_ARB"/>
+        <enum value="0x8C37" name="GL_MIN_SAMPLE_SHADING_VALUE_OES"/>
+            <unused start="0x8C38" end="0x8C39" vendor="NV"/>
+        <enum value="0x8C3A" name="GL_R11F_G11F_B10F" group="InternalFormat"/>
+        <enum value="0x8C3A" name="GL_R11F_G11F_B10F_APPLE" group="InternalFormat"/>
+        <enum value="0x8C3A" name="GL_R11F_G11F_B10F_EXT" group="InternalFormat"/>
+        <enum value="0x8C3B" name="GL_UNSIGNED_INT_10F_11F_11F_REV" group="VertexAttribPointerType,VertexAttribType"/>
+        <enum value="0x8C3B" name="GL_UNSIGNED_INT_10F_11F_11F_REV_APPLE"/>
+        <enum value="0x8C3B" name="GL_UNSIGNED_INT_10F_11F_11F_REV_EXT"/>
+        <enum value="0x8C3C" name="GL_RGBA_SIGNED_COMPONENTS_EXT"/>
+        <enum value="0x8C3D" name="GL_RGB9_E5" group="InternalFormat"/>
+        <enum value="0x8C3D" name="GL_RGB9_E5_APPLE" group="InternalFormat"/>
+        <enum value="0x8C3D" name="GL_RGB9_E5_EXT" group="InternalFormat"/>
+        <enum value="0x8C3E" name="GL_UNSIGNED_INT_5_9_9_9_REV"/>
+        <enum value="0x8C3E" name="GL_UNSIGNED_INT_5_9_9_9_REV_APPLE"/>
+        <enum value="0x8C3E" name="GL_UNSIGNED_INT_5_9_9_9_REV_EXT"/>
+        <enum value="0x8C3F" name="GL_TEXTURE_SHARED_SIZE"/>
+        <enum value="0x8C3F" name="GL_TEXTURE_SHARED_SIZE_EXT"/>
+        <enum value="0x8C40" name="GL_SRGB" group="InternalFormat"/>
+        <enum value="0x8C40" name="GL_SRGB_EXT" group="InternalFormat"/>
+        <enum value="0x8C41" name="GL_SRGB8" group="InternalFormat"/>
+        <enum value="0x8C41" name="GL_SRGB8_EXT" group="InternalFormat"/>
+        <enum value="0x8C41" name="GL_SRGB8_NV" group="InternalFormat"/>
+        <enum value="0x8C42" name="GL_SRGB_ALPHA" group="InternalFormat"/>
+        <enum value="0x8C42" name="GL_SRGB_ALPHA_EXT" group="InternalFormat"/>
+        <enum value="0x8C43" name="GL_SRGB8_ALPHA8" group="InternalFormat"/>
+        <enum value="0x8C43" name="GL_SRGB8_ALPHA8_EXT" group="InternalFormat"/>
+        <enum value="0x8C44" name="GL_SLUMINANCE_ALPHA"/>
+        <enum value="0x8C44" name="GL_SLUMINANCE_ALPHA_EXT"/>
+        <enum value="0x8C44" name="GL_SLUMINANCE_ALPHA_NV"/>
+        <enum value="0x8C45" name="GL_SLUMINANCE8_ALPHA8"/>
+        <enum value="0x8C45" name="GL_SLUMINANCE8_ALPHA8_EXT"/>
+        <enum value="0x8C45" name="GL_SLUMINANCE8_ALPHA8_NV"/>
+        <enum value="0x8C46" name="GL_SLUMINANCE"/>
+        <enum value="0x8C46" name="GL_SLUMINANCE_EXT"/>
+        <enum value="0x8C46" name="GL_SLUMINANCE_NV"/>
+        <enum value="0x8C47" name="GL_SLUMINANCE8"/>
+        <enum value="0x8C47" name="GL_SLUMINANCE8_EXT"/>
+        <enum value="0x8C47" name="GL_SLUMINANCE8_NV"/>
+        <enum value="0x8C48" name="GL_COMPRESSED_SRGB" group="InternalFormat"/>
+        <enum value="0x8C48" name="GL_COMPRESSED_SRGB_EXT"/>
+        <enum value="0x8C49" name="GL_COMPRESSED_SRGB_ALPHA" group="InternalFormat"/>
+        <enum value="0x8C49" name="GL_COMPRESSED_SRGB_ALPHA_EXT"/>
+        <enum value="0x8C4A" name="GL_COMPRESSED_SLUMINANCE"/>
+        <enum value="0x8C4A" name="GL_COMPRESSED_SLUMINANCE_EXT"/>
+        <enum value="0x8C4B" name="GL_COMPRESSED_SLUMINANCE_ALPHA"/>
+        <enum value="0x8C4B" name="GL_COMPRESSED_SLUMINANCE_ALPHA_EXT"/>
+        <enum value="0x8C4C" name="GL_COMPRESSED_SRGB_S3TC_DXT1_EXT" group="InternalFormat"/>
+        <enum value="0x8C4C" name="GL_COMPRESSED_SRGB_S3TC_DXT1_NV"/>
+        <enum value="0x8C4D" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT" group="InternalFormat"/>
+        <enum value="0x8C4D" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV"/>
+        <enum value="0x8C4E" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT" group="InternalFormat"/>
+        <enum value="0x8C4E" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV"/>
+        <enum value="0x8C4F" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT" group="InternalFormat"/>
+        <enum value="0x8C4F" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV"/>
+            <unused start="0x8C50" end="0x8C6F" vendor="NV"/>
+        <enum value="0x8C70" name="GL_COMPRESSED_LUMINANCE_LATC1_EXT"/>
+        <enum value="0x8C71" name="GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT"/>
+        <enum value="0x8C72" name="GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT"/>
+        <enum value="0x8C73" name="GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT"/>
+        <enum value="0x8C74" name="GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV"/>
+        <enum value="0x8C75" name="GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV"/>
+        <enum value="0x8C76" name="GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH" group="ProgramPropertyARB"/>
+        <enum value="0x8C76" name="GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT"/>
+        <enum value="0x8C77" name="GL_BACK_PRIMARY_COLOR_NV"/>
+        <enum value="0x8C78" name="GL_BACK_SECONDARY_COLOR_NV"/>
+        <enum value="0x8C79" name="GL_TEXTURE_COORD_NV"/>
+        <enum value="0x8C7A" name="GL_CLIP_DISTANCE_NV"/>
+        <enum value="0x8C7B" name="GL_VERTEX_ID_NV"/>
+        <enum value="0x8C7C" name="GL_PRIMITIVE_ID_NV"/>
+        <enum value="0x8C7D" name="GL_GENERIC_ATTRIB_NV"/>
+        <enum value="0x8C7E" name="GL_TRANSFORM_FEEDBACK_ATTRIBS_NV"/>
+        <enum value="0x8C7F" name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE" group="ProgramPropertyARB"/>
+        <enum value="0x8C7F" name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT"/>
+        <enum value="0x8C7F" name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV"/>
+        <enum value="0x8C80" name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS"/>
+        <enum value="0x8C80" name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT"/>
+        <enum value="0x8C80" name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV"/>
+        <enum value="0x8C81" name="GL_ACTIVE_VARYINGS_NV"/>
+        <enum value="0x8C82" name="GL_ACTIVE_VARYING_MAX_LENGTH_NV"/>
+        <enum value="0x8C83" name="GL_TRANSFORM_FEEDBACK_VARYINGS" group="ProgramPropertyARB"/>
+        <enum value="0x8C83" name="GL_TRANSFORM_FEEDBACK_VARYINGS_EXT"/>
+        <enum value="0x8C83" name="GL_TRANSFORM_FEEDBACK_VARYINGS_NV"/>
+        <enum value="0x8C84" name="GL_TRANSFORM_FEEDBACK_BUFFER_START" group="TransformFeedbackPName,GetPName"/>
+        <enum value="0x8C84" name="GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT"/>
+        <enum value="0x8C84" name="GL_TRANSFORM_FEEDBACK_BUFFER_START_NV"/>
+        <enum value="0x8C85" name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE" group="TransformFeedbackPName,GetPName"/>
+        <enum value="0x8C85" name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT"/>
+        <enum value="0x8C85" name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV"/>
+        <enum value="0x8C86" name="GL_TRANSFORM_FEEDBACK_RECORD_NV"/>
+        <enum value="0x8C87" name="GL_PRIMITIVES_GENERATED" group="QueryTarget"/>
+        <enum value="0x8C87" name="GL_PRIMITIVES_GENERATED_EXT"/>
+        <enum value="0x8C87" name="GL_PRIMITIVES_GENERATED_NV"/>
+        <enum value="0x8C87" name="GL_PRIMITIVES_GENERATED_OES"/>
+        <enum value="0x8C88" name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN" group="QueryTarget"/>
+        <enum value="0x8C88" name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT"/>
+        <enum value="0x8C88" name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV"/>
+        <enum value="0x8C89" name="GL_RASTERIZER_DISCARD" group="EnableCap"/>
+        <enum value="0x8C89" name="GL_RASTERIZER_DISCARD_EXT"/>
+        <enum value="0x8C89" name="GL_RASTERIZER_DISCARD_NV"/>
+        <enum value="0x8C8A" name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS"/>
+        <enum value="0x8C8A" name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT"/>
+        <enum value="0x8C8A" name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV"/>
+        <enum value="0x8C8B" name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS"/>
+        <enum value="0x8C8B" name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT"/>
+        <enum value="0x8C8B" name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV"/>
+        <enum value="0x8C8C" name="GL_INTERLEAVED_ATTRIBS" group="TransformFeedbackBufferMode"/>
+        <enum value="0x8C8C" name="GL_INTERLEAVED_ATTRIBS_EXT"/>
+        <enum value="0x8C8C" name="GL_INTERLEAVED_ATTRIBS_NV"/>
+        <enum value="0x8C8D" name="GL_SEPARATE_ATTRIBS" group="TransformFeedbackBufferMode"/>
+        <enum value="0x8C8D" name="GL_SEPARATE_ATTRIBS_EXT"/>
+        <enum value="0x8C8D" name="GL_SEPARATE_ATTRIBS_NV"/>
+        <enum value="0x8C8E" name="GL_TRANSFORM_FEEDBACK_BUFFER" group="ProgramInterface,BufferTargetARB,BufferStorageTarget,CopyBufferSubDataTarget"/>
+        <enum value="0x8C8E" name="GL_TRANSFORM_FEEDBACK_BUFFER_EXT"/>
+        <enum value="0x8C8E" name="GL_TRANSFORM_FEEDBACK_BUFFER_NV"/>
+        <enum value="0x8C8F" name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING" group="TransformFeedbackPName,GetPName"/>
+        <enum value="0x8C8F" name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT"/>
+        <enum value="0x8C8F" name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8C90" end="0x8C9F" vendor="QCOM" comment="For Affie Munshi. Reassigned from AMD to QCOM (bug 5874)">
+        <enum value="0x8C90" name="GL_MOTION_ESTIMATION_SEARCH_BLOCK_X_QCOM" group="GetPName"/>
+        <enum value="0x8C91" name="GL_MOTION_ESTIMATION_SEARCH_BLOCK_Y_QCOM" group="GetPName"/>
+        <enum value="0x8C92" name="GL_ATC_RGB_AMD"/>
+        <enum value="0x8C93" name="GL_ATC_RGBA_EXPLICIT_ALPHA_AMD"/>
+            <unused start="0x8C94" end="0x8C9F" vendor="QCOM"/>
+    </enums>
+    <enums namespace="GL" start="0x8CA0" end="0x8CAF" vendor="ARB">
+        <enum value="0x8CA0" name="GL_POINT_SPRITE_COORD_ORIGIN"/>
+        <enum value="0x8CA1" name="GL_LOWER_LEFT" group="ClipControlOrigin"/>
+        <enum value="0x8CA1" name="GL_LOWER_LEFT_EXT" alias="GL_LOWER_LEFT"/>
+        <enum value="0x8CA2" name="GL_UPPER_LEFT" group="ClipControlOrigin"/>
+        <enum value="0x8CA2" name="GL_UPPER_LEFT_EXT" alias="GL_UPPER_LEFT"/>
+        <enum value="0x8CA3" name="GL_STENCIL_BACK_REF" group="GetPName"/>
+        <enum value="0x8CA4" name="GL_STENCIL_BACK_VALUE_MASK" group="GetPName"/>
+        <enum value="0x8CA5" name="GL_STENCIL_BACK_WRITEMASK" group="GetPName"/>
+        <enum value="0x8CA6" name="GL_DRAW_FRAMEBUFFER_BINDING" group="GetPName"/>
+        <enum value="0x8CA6" name="GL_DRAW_FRAMEBUFFER_BINDING_ANGLE"/>
+        <enum value="0x8CA6" name="GL_DRAW_FRAMEBUFFER_BINDING_APPLE"/>
+        <enum value="0x8CA6" name="GL_DRAW_FRAMEBUFFER_BINDING_EXT"/>
+        <enum value="0x8CA6" name="GL_DRAW_FRAMEBUFFER_BINDING_NV"/>
+        <enum value="0x8CA6" name="GL_FRAMEBUFFER_BINDING"/>
+        <enum value="0x8CA6" name="GL_FRAMEBUFFER_BINDING_ANGLE"/>
+        <enum value="0x8CA6" name="GL_FRAMEBUFFER_BINDING_EXT"/>
+        <enum value="0x8CA6" name="GL_FRAMEBUFFER_BINDING_OES"/>
+        <enum value="0x8CA7" name="GL_RENDERBUFFER_BINDING" group="GetPName"/>
+        <enum value="0x8CA7" name="GL_RENDERBUFFER_BINDING_ANGLE"/>
+        <enum value="0x8CA7" name="GL_RENDERBUFFER_BINDING_EXT"/>
+        <enum value="0x8CA7" name="GL_RENDERBUFFER_BINDING_OES"/>
+        <enum value="0x8CA8" name="GL_READ_FRAMEBUFFER" group="CheckFramebufferStatusTarget,FramebufferTarget"/>
+        <enum value="0x8CA8" name="GL_READ_FRAMEBUFFER_ANGLE"/>
+        <enum value="0x8CA8" name="GL_READ_FRAMEBUFFER_APPLE"/>
+        <enum value="0x8CA8" name="GL_READ_FRAMEBUFFER_EXT"/>
+        <enum value="0x8CA8" name="GL_READ_FRAMEBUFFER_NV"/>
+        <enum value="0x8CA9" name="GL_DRAW_FRAMEBUFFER" group="CheckFramebufferStatusTarget,FramebufferTarget"/>
+        <enum value="0x8CA9" name="GL_DRAW_FRAMEBUFFER_ANGLE"/>
+        <enum value="0x8CA9" name="GL_DRAW_FRAMEBUFFER_APPLE"/>
+        <enum value="0x8CA9" name="GL_DRAW_FRAMEBUFFER_EXT"/>
+        <enum value="0x8CA9" name="GL_DRAW_FRAMEBUFFER_NV"/>
+        <enum value="0x8CAA" name="GL_READ_FRAMEBUFFER_BINDING" group="GetPName"/>
+        <enum value="0x8CAA" name="GL_READ_FRAMEBUFFER_BINDING_ANGLE"/>
+        <enum value="0x8CAA" name="GL_READ_FRAMEBUFFER_BINDING_APPLE"/>
+        <enum value="0x8CAA" name="GL_READ_FRAMEBUFFER_BINDING_EXT"/>
+        <enum value="0x8CAA" name="GL_READ_FRAMEBUFFER_BINDING_NV"/>
+        <enum value="0x8CAB" name="GL_RENDERBUFFER_COVERAGE_SAMPLES_NV" group="RenderbufferParameterName"/>
+        <enum value="0x8CAB" name="GL_RENDERBUFFER_SAMPLES" group="RenderbufferParameterName"/>
+        <enum value="0x8CAB" name="GL_RENDERBUFFER_SAMPLES_ANGLE" group="RenderbufferParameterName"/>
+        <enum value="0x8CAB" name="GL_RENDERBUFFER_SAMPLES_APPLE" group="RenderbufferParameterName"/>
+        <enum value="0x8CAB" name="GL_RENDERBUFFER_SAMPLES_EXT" group="RenderbufferParameterName"/>
+        <enum value="0x8CAB" name="GL_RENDERBUFFER_SAMPLES_NV" group="RenderbufferParameterName"/>
+        <enum value="0x8CAC" name="GL_DEPTH_COMPONENT32F" group="InternalFormat"/>
+        <enum value="0x8CAD" name="GL_DEPTH32F_STENCIL8" group="InternalFormat"/>
+            <unused start="0x8CAE" end="0x8CAF" vendor="ARB"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8CB0" end="0x8CCF" vendor="ZiiLabs" comment="For Barthold Lichtenbelt 2004/12/1">
+            <unused start="0x8CB0" end="0x8CCF" vendor="ZiiLabs"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8CD0" end="0x8D5F" vendor="ARB" comment="Framebuffer object specification + headroom">
+        <enum value="0x8CD0" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8CD0" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8CD0" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8CD1" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8CD1" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8CD1" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8CD2" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8CD2" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8CD2" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8CD3" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8CD3" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8CD3" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8CD4" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8CD4" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8CD4" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8CD4" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8CD5" name="GL_FRAMEBUFFER_COMPLETE" group="FramebufferStatus"/>
+        <enum value="0x8CD5" name="GL_FRAMEBUFFER_COMPLETE_EXT"/>
+        <enum value="0x8CD5" name="GL_FRAMEBUFFER_COMPLETE_OES"/>
+        <enum value="0x8CD6" name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT" group="FramebufferStatus"/>
+        <enum value="0x8CD6" name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT"/>
+        <enum value="0x8CD6" name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES"/>
+        <enum value="0x8CD7" name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT" group="FramebufferStatus"/>
+        <enum value="0x8CD7" name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT"/>
+        <enum value="0x8CD7" name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES"/>
+            <unused start="0x8CD8" vendor="ARB" comment="Removed 2005/09/26 in revision #117 of the FBO extension spec"/>
+            <!-- <enum value="0x8CD8" name="GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT"/> -->
+        <enum value="0x8CD9" name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS"/>
+        <enum value="0x8CD9" name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT"/>
+        <enum value="0x8CD9" name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES"/>
+        <enum value="0x8CDA" name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT"/>
+        <enum value="0x8CDA" name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES"/>
+        <enum value="0x8CDB" name="GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER" group="FramebufferStatus"/>
+        <enum value="0x8CDB" name="GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT"/>
+        <enum value="0x8CDB" name="GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES"/>
+        <enum value="0x8CDC" name="GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER" group="FramebufferStatus"/>
+        <enum value="0x8CDC" name="GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT"/>
+        <enum value="0x8CDC" name="GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES"/>
+        <enum value="0x8CDD" name="GL_FRAMEBUFFER_UNSUPPORTED" group="FramebufferStatus"/>
+        <enum value="0x8CDD" name="GL_FRAMEBUFFER_UNSUPPORTED_EXT"/>
+        <enum value="0x8CDD" name="GL_FRAMEBUFFER_UNSUPPORTED_OES"/>
+            <unused start="0x8CDE" vendor="ARB" comment="Removed 2005/05/31 in revision #113 of the FBO extension spec"/>
+            <!-- <enum value="0x8CDE" name="GL_FRAMEBUFFER_STATUS_ERROR_EXT"/> -->
+        <enum value="0x8CDF" name="GL_MAX_COLOR_ATTACHMENTS"/>
+        <enum value="0x8CDF" name="GL_MAX_COLOR_ATTACHMENTS_EXT"/>
+        <enum value="0x8CDF" name="GL_MAX_COLOR_ATTACHMENTS_NV"/>
+        <enum value="0x8CE0" name="GL_COLOR_ATTACHMENT0" group="ColorBuffer,DrawBufferMode,ReadBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE0" name="GL_COLOR_ATTACHMENT0_EXT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE0" name="GL_COLOR_ATTACHMENT0_NV" group="InvalidateFramebufferAttachment,DrawBufferModeATI"/>
+        <enum value="0x8CE0" name="GL_COLOR_ATTACHMENT0_OES" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE1" name="GL_COLOR_ATTACHMENT1" group="ColorBuffer,DrawBufferMode,ReadBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE1" name="GL_COLOR_ATTACHMENT1_EXT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE1" name="GL_COLOR_ATTACHMENT1_NV" group="InvalidateFramebufferAttachment,DrawBufferModeATI"/>
+        <enum value="0x8CE2" name="GL_COLOR_ATTACHMENT2" group="ColorBuffer,DrawBufferMode,ReadBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE2" name="GL_COLOR_ATTACHMENT2_EXT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE2" name="GL_COLOR_ATTACHMENT2_NV" group="InvalidateFramebufferAttachment,DrawBufferModeATI"/>
+        <enum value="0x8CE3" name="GL_COLOR_ATTACHMENT3" group="ColorBuffer,DrawBufferMode,ReadBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE3" name="GL_COLOR_ATTACHMENT3_EXT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE3" name="GL_COLOR_ATTACHMENT3_NV" group="InvalidateFramebufferAttachment,DrawBufferModeATI"/>
+        <enum value="0x8CE4" name="GL_COLOR_ATTACHMENT4" group="ColorBuffer,DrawBufferMode,ReadBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE4" name="GL_COLOR_ATTACHMENT4_EXT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE4" name="GL_COLOR_ATTACHMENT4_NV" group="InvalidateFramebufferAttachment,DrawBufferModeATI"/>
+        <enum value="0x8CE5" name="GL_COLOR_ATTACHMENT5" group="ColorBuffer,DrawBufferMode,ReadBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE5" name="GL_COLOR_ATTACHMENT5_EXT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE5" name="GL_COLOR_ATTACHMENT5_NV" group="InvalidateFramebufferAttachment,DrawBufferModeATI"/>
+        <enum value="0x8CE6" name="GL_COLOR_ATTACHMENT6" group="ColorBuffer,DrawBufferMode,ReadBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE6" name="GL_COLOR_ATTACHMENT6_EXT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE6" name="GL_COLOR_ATTACHMENT6_NV" group="InvalidateFramebufferAttachment,DrawBufferModeATI"/>
+        <enum value="0x8CE7" name="GL_COLOR_ATTACHMENT7" group="ColorBuffer,DrawBufferMode,ReadBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE7" name="GL_COLOR_ATTACHMENT7_EXT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE7" name="GL_COLOR_ATTACHMENT7_NV" group="InvalidateFramebufferAttachment,DrawBufferModeATI"/>
+        <enum value="0x8CE8" name="GL_COLOR_ATTACHMENT8" group="ColorBuffer,DrawBufferMode,ReadBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE8" name="GL_COLOR_ATTACHMENT8_EXT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE8" name="GL_COLOR_ATTACHMENT8_NV" group="InvalidateFramebufferAttachment,DrawBufferModeATI"/>
+        <enum value="0x8CE9" name="GL_COLOR_ATTACHMENT9" group="ColorBuffer,DrawBufferMode,ReadBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE9" name="GL_COLOR_ATTACHMENT9_EXT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8CE9" name="GL_COLOR_ATTACHMENT9_NV" group="InvalidateFramebufferAttachment,DrawBufferModeATI"/>
+        <enum value="0x8CEA" name="GL_COLOR_ATTACHMENT10" group="ColorBuffer,DrawBufferMode,ReadBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CEA" name="GL_COLOR_ATTACHMENT10_EXT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8CEA" name="GL_COLOR_ATTACHMENT10_NV" group="InvalidateFramebufferAttachment,DrawBufferModeATI"/>
+        <enum value="0x8CEB" name="GL_COLOR_ATTACHMENT11" group="ColorBuffer,DrawBufferMode,ReadBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CEB" name="GL_COLOR_ATTACHMENT11_EXT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8CEB" name="GL_COLOR_ATTACHMENT11_NV" group="InvalidateFramebufferAttachment,DrawBufferModeATI"/>
+        <enum value="0x8CEC" name="GL_COLOR_ATTACHMENT12" group="ColorBuffer,DrawBufferMode,ReadBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CEC" name="GL_COLOR_ATTACHMENT12_EXT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8CEC" name="GL_COLOR_ATTACHMENT12_NV" group="InvalidateFramebufferAttachment,DrawBufferModeATI"/>
+        <enum value="0x8CED" name="GL_COLOR_ATTACHMENT13" group="ColorBuffer,DrawBufferMode,ReadBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CED" name="GL_COLOR_ATTACHMENT13_EXT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8CED" name="GL_COLOR_ATTACHMENT13_NV" group="InvalidateFramebufferAttachment,DrawBufferModeATI"/>
+        <enum value="0x8CEE" name="GL_COLOR_ATTACHMENT14" group="ColorBuffer,DrawBufferMode,ReadBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CEE" name="GL_COLOR_ATTACHMENT14_EXT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8CEE" name="GL_COLOR_ATTACHMENT14_NV" group="InvalidateFramebufferAttachment,DrawBufferModeATI"/>
+        <enum value="0x8CEF" name="GL_COLOR_ATTACHMENT15" group="ColorBuffer,DrawBufferMode,ReadBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CEF" name="GL_COLOR_ATTACHMENT15_EXT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8CEF" name="GL_COLOR_ATTACHMENT15_NV" group="InvalidateFramebufferAttachment,DrawBufferModeATI"/>
+        <enum value="0x8CF0" name="GL_COLOR_ATTACHMENT16" group="ColorBuffer,DrawBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CF1" name="GL_COLOR_ATTACHMENT17" group="ColorBuffer,DrawBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CF2" name="GL_COLOR_ATTACHMENT18" group="ColorBuffer,DrawBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CF3" name="GL_COLOR_ATTACHMENT19" group="ColorBuffer,DrawBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CF4" name="GL_COLOR_ATTACHMENT20" group="ColorBuffer,DrawBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CF5" name="GL_COLOR_ATTACHMENT21" group="ColorBuffer,DrawBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CF6" name="GL_COLOR_ATTACHMENT22" group="ColorBuffer,DrawBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CF7" name="GL_COLOR_ATTACHMENT23" group="ColorBuffer,DrawBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CF8" name="GL_COLOR_ATTACHMENT24" group="ColorBuffer,DrawBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CF9" name="GL_COLOR_ATTACHMENT25" group="ColorBuffer,DrawBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CFA" name="GL_COLOR_ATTACHMENT26" group="ColorBuffer,DrawBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CFB" name="GL_COLOR_ATTACHMENT27" group="ColorBuffer,DrawBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CFC" name="GL_COLOR_ATTACHMENT28" group="ColorBuffer,DrawBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CFD" name="GL_COLOR_ATTACHMENT29" group="ColorBuffer,DrawBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CFE" name="GL_COLOR_ATTACHMENT30" group="ColorBuffer,DrawBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8CFF" name="GL_COLOR_ATTACHMENT31" group="ColorBuffer,DrawBufferMode,FramebufferAttachment,InvalidateFramebufferAttachment"/>
+        <enum value="0x8D00" name="GL_DEPTH_ATTACHMENT" group="InvalidateFramebufferAttachment,FramebufferAttachment"/>
+        <enum value="0x8D00" name="GL_DEPTH_ATTACHMENT_EXT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8D00" name="GL_DEPTH_ATTACHMENT_OES" group="InvalidateFramebufferAttachment"/>
+            <unused start="0x8D01" end="0x8D1F" vendor="ARB" comment="For depth attachments 16-31"/>
+        <enum value="0x8D20" name="GL_STENCIL_ATTACHMENT" group="FramebufferAttachment"/>
+        <enum value="0x8D20" name="GL_STENCIL_ATTACHMENT_EXT" group="InvalidateFramebufferAttachment"/>
+        <enum value="0x8D20" name="GL_STENCIL_ATTACHMENT_OES" group="InvalidateFramebufferAttachment"/>
+            <unused start="0x8D21" end="0x8D3F" vendor="ARB" comment="For stencil attachments 16-31"/>
+        <enum value="0x8D40" name="GL_FRAMEBUFFER" group="ObjectIdentifier,FramebufferTarget,CheckFramebufferStatusTarget"/>
+        <enum value="0x8D40" name="GL_FRAMEBUFFER_EXT"/>
+        <enum value="0x8D40" name="GL_FRAMEBUFFER_OES" group="FramebufferTarget"/>
+        <enum value="0x8D41" name="GL_RENDERBUFFER" group="ObjectIdentifier,RenderbufferTarget,CopyImageSubDataTarget"/>
+        <enum value="0x8D41" name="GL_RENDERBUFFER_EXT"/>
+        <enum value="0x8D41" name="GL_RENDERBUFFER_OES" group="RenderbufferTarget"/>
+        <enum value="0x8D42" name="GL_RENDERBUFFER_WIDTH" group="RenderbufferParameterName"/>
+        <enum value="0x8D42" name="GL_RENDERBUFFER_WIDTH_EXT" group="RenderbufferParameterName"/>
+        <enum value="0x8D42" name="GL_RENDERBUFFER_WIDTH_OES" group="RenderbufferParameterName"/>
+        <enum value="0x8D43" name="GL_RENDERBUFFER_HEIGHT" group="RenderbufferParameterName"/>
+        <enum value="0x8D43" name="GL_RENDERBUFFER_HEIGHT_EXT" group="RenderbufferParameterName"/>
+        <enum value="0x8D43" name="GL_RENDERBUFFER_HEIGHT_OES" group="RenderbufferParameterName"/>
+        <enum value="0x8D44" name="GL_RENDERBUFFER_INTERNAL_FORMAT" group="RenderbufferParameterName"/>
+        <enum value="0x8D44" name="GL_RENDERBUFFER_INTERNAL_FORMAT_EXT" group="RenderbufferParameterName"/>
+        <enum value="0x8D44" name="GL_RENDERBUFFER_INTERNAL_FORMAT_OES" group="RenderbufferParameterName"/>
+            <unused start="0x8D45" vendor="ARB" comment="Was for GL_STENCIL_INDEX_EXT, but now use core STENCIL_INDEX instead"/>
+        <enum value="0x8D46" name="GL_STENCIL_INDEX1" group="InternalFormat"/>
+        <enum value="0x8D46" name="GL_STENCIL_INDEX1_EXT" group="InternalFormat"/>
+        <enum value="0x8D46" name="GL_STENCIL_INDEX1_OES" group="InternalFormat"/>
+        <enum value="0x8D47" name="GL_STENCIL_INDEX4" group="InternalFormat"/>
+        <enum value="0x8D47" name="GL_STENCIL_INDEX4_EXT" group="InternalFormat"/>
+        <enum value="0x8D47" name="GL_STENCIL_INDEX4_OES" group="InternalFormat"/>
+        <enum value="0x8D48" name="GL_STENCIL_INDEX8" group="InternalFormat"/>
+        <enum value="0x8D48" name="GL_STENCIL_INDEX8_EXT" group="InternalFormat"/>
+        <enum value="0x8D48" name="GL_STENCIL_INDEX8_OES" group="InternalFormat"/>
+        <enum value="0x8D49" name="GL_STENCIL_INDEX16" group="InternalFormat"/>
+        <enum value="0x8D49" name="GL_STENCIL_INDEX16_EXT" group="InternalFormat"/>
+            <unused start="0x8D4A" end="0x8D4F" vendor="ARB" comment="For additional stencil formats"/>
+        <enum value="0x8D50" name="GL_RENDERBUFFER_RED_SIZE" group="RenderbufferParameterName"/>
+        <enum value="0x8D50" name="GL_RENDERBUFFER_RED_SIZE_EXT" group="RenderbufferParameterName"/>
+        <enum value="0x8D50" name="GL_RENDERBUFFER_RED_SIZE_OES" group="RenderbufferParameterName"/>
+        <enum value="0x8D51" name="GL_RENDERBUFFER_GREEN_SIZE" group="RenderbufferParameterName"/>
+        <enum value="0x8D51" name="GL_RENDERBUFFER_GREEN_SIZE_EXT" group="RenderbufferParameterName"/>
+        <enum value="0x8D51" name="GL_RENDERBUFFER_GREEN_SIZE_OES" group="RenderbufferParameterName"/>
+        <enum value="0x8D52" name="GL_RENDERBUFFER_BLUE_SIZE" group="RenderbufferParameterName"/>
+        <enum value="0x8D52" name="GL_RENDERBUFFER_BLUE_SIZE_EXT" group="RenderbufferParameterName"/>
+        <enum value="0x8D52" name="GL_RENDERBUFFER_BLUE_SIZE_OES" group="RenderbufferParameterName"/>
+        <enum value="0x8D53" name="GL_RENDERBUFFER_ALPHA_SIZE" group="RenderbufferParameterName"/>
+        <enum value="0x8D53" name="GL_RENDERBUFFER_ALPHA_SIZE_EXT" group="RenderbufferParameterName"/>
+        <enum value="0x8D53" name="GL_RENDERBUFFER_ALPHA_SIZE_OES" group="RenderbufferParameterName"/>
+        <enum value="0x8D54" name="GL_RENDERBUFFER_DEPTH_SIZE" group="RenderbufferParameterName"/>
+        <enum value="0x8D54" name="GL_RENDERBUFFER_DEPTH_SIZE_EXT" group="RenderbufferParameterName"/>
+        <enum value="0x8D54" name="GL_RENDERBUFFER_DEPTH_SIZE_OES" group="RenderbufferParameterName"/>
+        <enum value="0x8D55" name="GL_RENDERBUFFER_STENCIL_SIZE" group="RenderbufferParameterName"/>
+        <enum value="0x8D55" name="GL_RENDERBUFFER_STENCIL_SIZE_EXT" group="RenderbufferParameterName"/>
+        <enum value="0x8D55" name="GL_RENDERBUFFER_STENCIL_SIZE_OES" group="RenderbufferParameterName"/>
+        <enum value="0x8D56" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE" group="FramebufferStatus"/>
+        <enum value="0x8D56" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE"/>
+        <enum value="0x8D56" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE"/>
+        <enum value="0x8D56" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT"/>
+        <enum value="0x8D56" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV"/>
+        <enum value="0x8D57" name="GL_MAX_SAMPLES"/>
+        <enum value="0x8D57" name="GL_MAX_SAMPLES_ANGLE"/>
+        <enum value="0x8D57" name="GL_MAX_SAMPLES_APPLE"/>
+        <enum value="0x8D57" name="GL_MAX_SAMPLES_EXT"/>
+        <enum value="0x8D57" name="GL_MAX_SAMPLES_NV"/>
+            <unused start="0x8D58" end="0x8D5F" vendor="ARB"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8D60" end="0x8D6F" vendor="OES">
+        <enum value="0x8D60" name="GL_TEXTURE_GEN_STR_OES"/>
+        <enum value="0x8D61" name="GL_HALF_FLOAT_OES"/>
+        <enum value="0x8D62" name="GL_RGB565_OES"/>
+        <enum value="0x8D62" name="GL_RGB565"/>
+            <unused start="0x8D63" vendor="OES" comment="Was GL_TEXTURE_IMMUTABLE_LEVELS in draft ES 3.0 spec"/>
+        <enum value="0x8D64" name="GL_ETC1_RGB8_OES"/>
+        <enum value="0x8D65" name="GL_TEXTURE_EXTERNAL_OES"/>
+        <enum value="0x8D66" name="GL_SAMPLER_EXTERNAL_OES"/>
+        <enum value="0x8D67" name="GL_TEXTURE_BINDING_EXTERNAL_OES"/>
+        <enum value="0x8D68" name="GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES"/>
+        <enum value="0x8D69" name="GL_PRIMITIVE_RESTART_FIXED_INDEX" group="EnableCap"/>
+        <enum value="0x8D6A" name="GL_ANY_SAMPLES_PASSED_CONSERVATIVE" group="QueryTarget"/>
+        <enum value="0x8D6A" name="GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT"/>
+        <enum value="0x8D6B" name="GL_MAX_ELEMENT_INDEX" group="GetPName"/>
+        <enum value="0x8D6C" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT" group="FramebufferAttachmentParameterName"/>
+            <unused start="0x8D6D" end="0x8D6F" vendor="OES"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8D70" end="0x8DEF" vendor="NV" comment="For Pat Brown 2005/10/13">
+        <enum value="0x8D70" name="GL_RGBA32UI" group="InternalFormat"/>
+        <enum value="0x8D70" name="GL_RGBA32UI_EXT"/>
+        <enum value="0x8D71" name="GL_RGB32UI" group="InternalFormat"/>
+        <enum value="0x8D71" name="GL_RGB32UI_EXT"/>
+        <enum value="0x8D72" name="GL_ALPHA32UI_EXT"/>
+        <enum value="0x8D73" name="GL_INTENSITY32UI_EXT"/>
+        <enum value="0x8D74" name="GL_LUMINANCE32UI_EXT"/>
+        <enum value="0x8D75" name="GL_LUMINANCE_ALPHA32UI_EXT"/>
+        <enum value="0x8D76" name="GL_RGBA16UI" group="InternalFormat"/>
+        <enum value="0x8D76" name="GL_RGBA16UI_EXT"/>
+        <enum value="0x8D77" name="GL_RGB16UI" group="InternalFormat"/>
+        <enum value="0x8D77" name="GL_RGB16UI_EXT"/>
+        <enum value="0x8D78" name="GL_ALPHA16UI_EXT"/>
+        <enum value="0x8D79" name="GL_INTENSITY16UI_EXT"/>
+        <enum value="0x8D7A" name="GL_LUMINANCE16UI_EXT"/>
+        <enum value="0x8D7B" name="GL_LUMINANCE_ALPHA16UI_EXT"/>
+        <enum value="0x8D7C" name="GL_RGBA8UI" group="InternalFormat"/>
+        <enum value="0x8D7C" name="GL_RGBA8UI_EXT"/>
+        <enum value="0x8D7D" name="GL_RGB8UI" group="InternalFormat"/>
+        <enum value="0x8D7D" name="GL_RGB8UI_EXT"/>
+        <enum value="0x8D7E" name="GL_ALPHA8UI_EXT"/>
+        <enum value="0x8D7F" name="GL_INTENSITY8UI_EXT"/>
+        <enum value="0x8D80" name="GL_LUMINANCE8UI_EXT"/>
+        <enum value="0x8D81" name="GL_LUMINANCE_ALPHA8UI_EXT"/>
+        <enum value="0x8D82" name="GL_RGBA32I" group="InternalFormat"/>
+        <enum value="0x8D82" name="GL_RGBA32I_EXT"/>
+        <enum value="0x8D83" name="GL_RGB32I" group="InternalFormat"/>
+        <enum value="0x8D83" name="GL_RGB32I_EXT"/>
+        <enum value="0x8D84" name="GL_ALPHA32I_EXT"/>
+        <enum value="0x8D85" name="GL_INTENSITY32I_EXT"/>
+        <enum value="0x8D86" name="GL_LUMINANCE32I_EXT"/>
+        <enum value="0x8D87" name="GL_LUMINANCE_ALPHA32I_EXT"/>
+        <enum value="0x8D88" name="GL_RGBA16I" group="InternalFormat"/>
+        <enum value="0x8D88" name="GL_RGBA16I_EXT"/>
+        <enum value="0x8D89" name="GL_RGB16I" group="InternalFormat"/>
+        <enum value="0x8D89" name="GL_RGB16I_EXT"/>
+        <enum value="0x8D8A" name="GL_ALPHA16I_EXT"/>
+        <enum value="0x8D8B" name="GL_INTENSITY16I_EXT"/>
+        <enum value="0x8D8C" name="GL_LUMINANCE16I_EXT"/>
+        <enum value="0x8D8D" name="GL_LUMINANCE_ALPHA16I_EXT"/>
+        <enum value="0x8D8E" name="GL_RGBA8I" group="InternalFormat"/>
+        <enum value="0x8D8E" name="GL_RGBA8I_EXT"/>
+        <enum value="0x8D8F" name="GL_RGB8I" group="InternalFormat"/>
+        <enum value="0x8D8F" name="GL_RGB8I_EXT"/>
+        <enum value="0x8D90" name="GL_ALPHA8I_EXT"/>
+        <enum value="0x8D91" name="GL_INTENSITY8I_EXT"/>
+        <enum value="0x8D92" name="GL_LUMINANCE8I_EXT"/>
+        <enum value="0x8D93" name="GL_LUMINANCE_ALPHA8I_EXT"/>
+        <enum value="0x8D94" name="GL_RED_INTEGER" group="PixelFormat"/>
+        <enum value="0x8D94" name="GL_RED_INTEGER_EXT"/>
+        <enum value="0x8D95" name="GL_GREEN_INTEGER" group="PixelFormat"/>
+        <enum value="0x8D95" name="GL_GREEN_INTEGER_EXT"/>
+        <enum value="0x8D96" name="GL_BLUE_INTEGER" group="PixelFormat"/>
+        <enum value="0x8D96" name="GL_BLUE_INTEGER_EXT"/>
+        <enum value="0x8D97" name="GL_ALPHA_INTEGER"/>
+        <enum value="0x8D97" name="GL_ALPHA_INTEGER_EXT"/>
+        <enum value="0x8D98" name="GL_RGB_INTEGER" group="PixelFormat"/>
+        <enum value="0x8D98" name="GL_RGB_INTEGER_EXT"/>
+        <enum value="0x8D99" name="GL_RGBA_INTEGER" group="PixelFormat"/>
+        <enum value="0x8D99" name="GL_RGBA_INTEGER_EXT"/>
+        <enum value="0x8D9A" name="GL_BGR_INTEGER" group="PixelFormat"/>
+        <enum value="0x8D9A" name="GL_BGR_INTEGER_EXT"/>
+        <enum value="0x8D9B" name="GL_BGRA_INTEGER" group="PixelFormat"/>
+        <enum value="0x8D9B" name="GL_BGRA_INTEGER_EXT"/>
+        <enum value="0x8D9C" name="GL_LUMINANCE_INTEGER_EXT"/>
+        <enum value="0x8D9D" name="GL_LUMINANCE_ALPHA_INTEGER_EXT"/>
+        <enum value="0x8D9E" name="GL_RGBA_INTEGER_MODE_EXT"/>
+        <enum value="0x8D9F" name="GL_INT_2_10_10_10_REV" group="VertexAttribPointerType,VertexAttribType"/>
+        <enum value="0x8DA0" name="GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV"/>
+        <enum value="0x8DA1" name="GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV"/>
+        <enum value="0x8DA2" name="GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV"/>
+        <enum value="0x8DA3" name="GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV"/>
+        <enum value="0x8DA4" name="GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV"/>
+        <enum value="0x8DA5" name="GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV"/>
+        <enum value="0x8DA6" name="GL_MAX_PROGRAM_GENERIC_RESULTS_NV"/>
+        <enum value="0x8DA7" name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8DA7" name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8DA7" name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8DA7" name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_OES" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x8DA8" name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS" group="FramebufferStatus"/>
+        <enum value="0x8DA8" name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB"/>
+        <enum value="0x8DA8" name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT"/>
+        <enum value="0x8DA8" name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES"/>
+        <enum value="0x8DA9" name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB"/>
+        <enum value="0x8DA9" name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT"/>
+            <!-- Also see the odd namespace "NVTransformFeedbackToken" above -->
+        <enum value="0x8DAA" name="GL_LAYER_NV"/>
+        <enum value="0x8DAB" name="GL_DEPTH_COMPONENT32F_NV" group="InternalFormat"/>
+        <enum value="0x8DAC" name="GL_DEPTH32F_STENCIL8_NV" group="InternalFormat"/>
+        <enum value="0x8DAD" name="GL_FLOAT_32_UNSIGNED_INT_24_8_REV"/>
+        <enum value="0x8DAD" name="GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV"/>
+        <enum value="0x8DAE" name="GL_SHADER_INCLUDE_ARB"/>
+        <enum value="0x8DAF" name="GL_DEPTH_BUFFER_FLOAT_MODE_NV"/>
+            <unused start="0x8DB0" end="0x8DB8" vendor="NV"/>
+        <enum value="0x8DB9" name="GL_FRAMEBUFFER_SRGB" group="EnableCap"/>
+        <enum value="0x8DB9" name="GL_FRAMEBUFFER_SRGB_EXT"/>
+        <enum value="0x8DBA" name="GL_FRAMEBUFFER_SRGB_CAPABLE_EXT"/>
+        <enum value="0x8DBB" name="GL_COMPRESSED_RED_RGTC1" group="InternalFormat"/>
+        <enum value="0x8DBB" name="GL_COMPRESSED_RED_RGTC1_EXT" group="InternalFormat"/>
+        <enum value="0x8DBC" name="GL_COMPRESSED_SIGNED_RED_RGTC1" group="InternalFormat"/>
+        <enum value="0x8DBC" name="GL_COMPRESSED_SIGNED_RED_RGTC1_EXT" group="InternalFormat"/>
+        <enum value="0x8DBD" name="GL_COMPRESSED_RED_GREEN_RGTC2_EXT"/>
+        <enum value="0x8DBD" name="GL_COMPRESSED_RG_RGTC2" group="InternalFormat"/>
+        <enum value="0x8DBE" name="GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT"/>
+        <enum value="0x8DBE" name="GL_COMPRESSED_SIGNED_RG_RGTC2" group="InternalFormat"/>
+        <enum value="0x8DC0" name="GL_SAMPLER_1D_ARRAY" group="GlslTypeToken,UniformType"/>
+        <enum value="0x8DC0" name="GL_SAMPLER_1D_ARRAY_EXT"/>
+        <enum value="0x8DC1" name="GL_SAMPLER_2D_ARRAY" group="GlslTypeToken,UniformType"/>
+        <enum value="0x8DC1" name="GL_SAMPLER_2D_ARRAY_EXT"/>
+        <enum value="0x8DC2" name="GL_SAMPLER_BUFFER" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DC2" name="GL_SAMPLER_BUFFER_EXT"/>
+        <enum value="0x8DC2" name="GL_SAMPLER_BUFFER_OES"/>
+        <enum value="0x8DC3" name="GL_SAMPLER_1D_ARRAY_SHADOW" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DC3" name="GL_SAMPLER_1D_ARRAY_SHADOW_EXT"/>
+        <enum value="0x8DC4" name="GL_SAMPLER_2D_ARRAY_SHADOW" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DC4" name="GL_SAMPLER_2D_ARRAY_SHADOW_EXT"/>
+        <enum value="0x8DC4" name="GL_SAMPLER_2D_ARRAY_SHADOW_NV"/>
+        <enum value="0x8DC5" name="GL_SAMPLER_CUBE_SHADOW" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DC5" name="GL_SAMPLER_CUBE_SHADOW_EXT"/>
+        <enum value="0x8DC5" name="GL_SAMPLER_CUBE_SHADOW_NV"/>
+        <enum value="0x8DC6" name="GL_UNSIGNED_INT_VEC2" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DC6" name="GL_UNSIGNED_INT_VEC2_EXT"/>
+        <enum value="0x8DC7" name="GL_UNSIGNED_INT_VEC3" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DC7" name="GL_UNSIGNED_INT_VEC3_EXT"/>
+        <enum value="0x8DC8" name="GL_UNSIGNED_INT_VEC4" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DC8" name="GL_UNSIGNED_INT_VEC4_EXT"/>
+        <enum value="0x8DC9" name="GL_INT_SAMPLER_1D" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DC9" name="GL_INT_SAMPLER_1D_EXT"/>
+        <enum value="0x8DCA" name="GL_INT_SAMPLER_2D" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DCA" name="GL_INT_SAMPLER_2D_EXT"/>
+        <enum value="0x8DCB" name="GL_INT_SAMPLER_3D" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DCB" name="GL_INT_SAMPLER_3D_EXT"/>
+        <enum value="0x8DCC" name="GL_INT_SAMPLER_CUBE" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DCC" name="GL_INT_SAMPLER_CUBE_EXT"/>
+        <enum value="0x8DCD" name="GL_INT_SAMPLER_2D_RECT" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DCD" name="GL_INT_SAMPLER_2D_RECT_EXT"/>
+        <enum value="0x8DCE" name="GL_INT_SAMPLER_1D_ARRAY" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DCE" name="GL_INT_SAMPLER_1D_ARRAY_EXT"/>
+        <enum value="0x8DCF" name="GL_INT_SAMPLER_2D_ARRAY" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DCF" name="GL_INT_SAMPLER_2D_ARRAY_EXT"/>
+        <enum value="0x8DD0" name="GL_INT_SAMPLER_BUFFER" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DD0" name="GL_INT_SAMPLER_BUFFER_EXT"/>
+        <enum value="0x8DD0" name="GL_INT_SAMPLER_BUFFER_OES"/>
+        <enum value="0x8DD1" name="GL_UNSIGNED_INT_SAMPLER_1D" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DD1" name="GL_UNSIGNED_INT_SAMPLER_1D_EXT"/>
+        <enum value="0x8DD2" name="GL_UNSIGNED_INT_SAMPLER_2D" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DD2" name="GL_UNSIGNED_INT_SAMPLER_2D_EXT"/>
+        <enum value="0x8DD3" name="GL_UNSIGNED_INT_SAMPLER_3D" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DD3" name="GL_UNSIGNED_INT_SAMPLER_3D_EXT"/>
+        <enum value="0x8DD4" name="GL_UNSIGNED_INT_SAMPLER_CUBE" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DD4" name="GL_UNSIGNED_INT_SAMPLER_CUBE_EXT"/>
+        <enum value="0x8DD5" name="GL_UNSIGNED_INT_SAMPLER_2D_RECT" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DD5" name="GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT"/>
+        <enum value="0x8DD6" name="GL_UNSIGNED_INT_SAMPLER_1D_ARRAY" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DD6" name="GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT"/>
+        <enum value="0x8DD7" name="GL_UNSIGNED_INT_SAMPLER_2D_ARRAY" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DD7" name="GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT"/>
+        <enum value="0x8DD8" name="GL_UNSIGNED_INT_SAMPLER_BUFFER" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8DD8" name="GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT"/>
+        <enum value="0x8DD8" name="GL_UNSIGNED_INT_SAMPLER_BUFFER_OES"/>
+        <enum value="0x8DD9" name="GL_GEOMETRY_SHADER" group="PipelineParameterName,ShaderType"/>
+        <enum value="0x8DD9" name="GL_GEOMETRY_SHADER_ARB"/>
+        <enum value="0x8DD9" name="GL_GEOMETRY_SHADER_EXT"/>
+        <enum value="0x8DD9" name="GL_GEOMETRY_SHADER_OES"/>
+        <enum value="0x8DDA" name="GL_GEOMETRY_VERTICES_OUT_ARB"/>
+        <enum value="0x8DDA" name="GL_GEOMETRY_VERTICES_OUT_EXT"/>
+        <enum value="0x8DDB" name="GL_GEOMETRY_INPUT_TYPE_ARB"/>
+        <enum value="0x8DDB" name="GL_GEOMETRY_INPUT_TYPE_EXT"/>
+        <enum value="0x8DDC" name="GL_GEOMETRY_OUTPUT_TYPE_ARB"/>
+        <enum value="0x8DDC" name="GL_GEOMETRY_OUTPUT_TYPE_EXT"/>
+        <enum value="0x8DDD" name="GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB"/>
+        <enum value="0x8DDD" name="GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT"/>
+        <enum value="0x8DDE" name="GL_MAX_VERTEX_VARYING_COMPONENTS_ARB"/>
+        <enum value="0x8DDE" name="GL_MAX_VERTEX_VARYING_COMPONENTS_EXT"/>
+        <enum value="0x8DDF" name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS" group="GetPName"/>
+        <enum value="0x8DDF" name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB"/>
+        <enum value="0x8DDF" name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT"/>
+        <enum value="0x8DDF" name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES"/>
+        <enum value="0x8DE0" name="GL_MAX_GEOMETRY_OUTPUT_VERTICES"/>
+        <enum value="0x8DE0" name="GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB"/>
+        <enum value="0x8DE0" name="GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT"/>
+        <enum value="0x8DE0" name="GL_MAX_GEOMETRY_OUTPUT_VERTICES_OES"/>
+        <enum value="0x8DE1" name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS"/>
+        <enum value="0x8DE1" name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB"/>
+        <enum value="0x8DE1" name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT"/>
+        <enum value="0x8DE1" name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES"/>
+        <enum value="0x8DE2" name="GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT"/>
+        <enum value="0x8DE3" name="GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT"/>
+        <enum value="0x8DE4" name="GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT"/>
+        <enum value="0x8DE5" name="GL_ACTIVE_SUBROUTINES" group="ProgramStagePName"/>
+        <enum value="0x8DE6" name="GL_ACTIVE_SUBROUTINE_UNIFORMS" group="ProgramStagePName"/>
+        <enum value="0x8DE7" name="GL_MAX_SUBROUTINES"/>
+        <enum value="0x8DE8" name="GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS"/>
+        <enum value="0x8DE9" name="GL_NAMED_STRING_LENGTH_ARB"/>
+        <enum value="0x8DEA" name="GL_NAMED_STRING_TYPE_ARB"/>
+            <unused start="0x8DEB" end="0x8DEC" vendor="NV"/>
+        <enum value="0x8DED" name="GL_MAX_BINDABLE_UNIFORM_SIZE_EXT"/>
+        <enum value="0x8DEE" name="GL_UNIFORM_BUFFER_EXT"/>
+        <enum value="0x8DEF" name="GL_UNIFORM_BUFFER_BINDING_EXT"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8DF0" end="0x8E0F" vendor="OES">
+        <enum value="0x8DF0" name="GL_LOW_FLOAT" group="PrecisionType"/>
+        <enum value="0x8DF1" name="GL_MEDIUM_FLOAT" group="PrecisionType"/>
+        <enum value="0x8DF2" name="GL_HIGH_FLOAT" group="PrecisionType"/>
+        <enum value="0x8DF3" name="GL_LOW_INT" group="PrecisionType"/>
+        <enum value="0x8DF4" name="GL_MEDIUM_INT" group="PrecisionType"/>
+        <enum value="0x8DF5" name="GL_HIGH_INT" group="PrecisionType"/>
+        <enum value="0x8DF6" name="GL_UNSIGNED_INT_10_10_10_2_OES"/>
+        <enum value="0x8DF7" name="GL_INT_10_10_10_2_OES"/>
+        <enum value="0x8DF8" name="GL_SHADER_BINARY_FORMATS" group="GetPName"/>
+        <enum value="0x8DF9" name="GL_NUM_SHADER_BINARY_FORMATS" group="GetPName"/>
+        <enum value="0x8DFA" name="GL_SHADER_COMPILER" group="GetPName"/>
+        <enum value="0x8DFB" name="GL_MAX_VERTEX_UNIFORM_VECTORS" group="GetPName"/>
+        <enum value="0x8DFC" name="GL_MAX_VARYING_VECTORS" group="GetPName"/>
+        <enum value="0x8DFD" name="GL_MAX_FRAGMENT_UNIFORM_VECTORS" group="GetPName"/>
+            <unused start="0x8DFE" end="0x8E0F" vendor="OES"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8E10" end="0x8E8F" vendor="NV" comment="For Michael Gold 2006/08/07">
+        <enum value="0x8E10" name="GL_RENDERBUFFER_COLOR_SAMPLES_NV" group="RenderbufferParameterName"/>
+        <enum value="0x8E11" name="GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV"/>
+        <enum value="0x8E12" name="GL_MULTISAMPLE_COVERAGE_MODES_NV"/>
+        <enum value="0x8E13" name="GL_QUERY_WAIT" group="ConditionalRenderMode"/>
+        <enum value="0x8E13" name="GL_QUERY_WAIT_NV"/>
+        <enum value="0x8E14" name="GL_QUERY_NO_WAIT" group="ConditionalRenderMode"/>
+        <enum value="0x8E14" name="GL_QUERY_NO_WAIT_NV"/>
+        <enum value="0x8E15" name="GL_QUERY_BY_REGION_WAIT" group="ConditionalRenderMode"/>
+        <enum value="0x8E15" name="GL_QUERY_BY_REGION_WAIT_NV"/>
+        <enum value="0x8E16" name="GL_QUERY_BY_REGION_NO_WAIT" group="ConditionalRenderMode"/>
+        <enum value="0x8E16" name="GL_QUERY_BY_REGION_NO_WAIT_NV"/>
+        <enum value="0x8E17" name="GL_QUERY_WAIT_INVERTED" group="ConditionalRenderMode"/>
+        <enum value="0x8E18" name="GL_QUERY_NO_WAIT_INVERTED" group="ConditionalRenderMode"/>
+        <enum value="0x8E19" name="GL_QUERY_BY_REGION_WAIT_INVERTED" group="ConditionalRenderMode"/>
+        <enum value="0x8E1A" name="GL_QUERY_BY_REGION_NO_WAIT_INVERTED" group="ConditionalRenderMode"/>
+        <enum value="0x8E1B" name="GL_POLYGON_OFFSET_CLAMP"/>
+        <enum value="0x8E1B" name="GL_POLYGON_OFFSET_CLAMP_EXT" alias="GL_POLYGON_OFFSET_CLAMP"/>
+            <unused start="0x8E1C" end="0x8E1D" vendor="NV"/>
+        <enum value="0x8E1E" name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS"/>
+        <enum value="0x8E1E" name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT"/>
+        <enum value="0x8E1E" name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES"/>
+        <enum value="0x8E1F" name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
+        <enum value="0x8E1F" name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT"/>
+        <enum value="0x8E1F" name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES"/>
+        <enum value="0x8E20" name="GL_COLOR_SAMPLES_NV"/>
+            <unused start="0x8E21" vendor="NV"/>
+        <enum value="0x8E22" name="GL_TRANSFORM_FEEDBACK" group="ObjectIdentifier,BindTransformFeedbackTarget"/>
+        <enum value="0x8E22" name="GL_TRANSFORM_FEEDBACK_NV"/>
+        <enum value="0x8E23" name="GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED"/>
+        <enum value="0x8E23" name="GL_TRANSFORM_FEEDBACK_PAUSED" alias="GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED" group="TransformFeedbackPName"/>
+        <enum value="0x8E23" name="GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV"/>
+        <enum value="0x8E24" name="GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE"/>
+        <enum value="0x8E24" name="GL_TRANSFORM_FEEDBACK_ACTIVE" alias="GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE" group="TransformFeedbackPName"/>
+        <enum value="0x8E24" name="GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV"/>
+        <enum value="0x8E25" name="GL_TRANSFORM_FEEDBACK_BINDING"/>
+        <enum value="0x8E25" name="GL_TRANSFORM_FEEDBACK_BINDING_NV"/>
+        <enum value="0x8E26" name="GL_FRAME_NV"/>
+        <enum value="0x8E27" name="GL_FIELDS_NV"/>
+        <enum value="0x8E28" name="GL_CURRENT_TIME_NV"/>
+        <enum value="0x8E28" name="GL_TIMESTAMP" group="QueryCounterTarget,GetPName"/>
+        <enum value="0x8E28" name="GL_TIMESTAMP_EXT"/>
+        <enum value="0x8E29" name="GL_NUM_FILL_STREAMS_NV"/>
+        <enum value="0x8E2A" name="GL_PRESENT_TIME_NV"/>
+        <enum value="0x8E2B" name="GL_PRESENT_DURATION_NV"/>
+        <enum value="0x8E2C" name="GL_DEPTH_COMPONENT16_NONLINEAR_NV"/>
+        <enum value="0x8E2D" name="GL_PROGRAM_MATRIX_EXT"/>
+        <enum value="0x8E2E" name="GL_TRANSPOSE_PROGRAM_MATRIX_EXT"/>
+        <enum value="0x8E2F" name="GL_PROGRAM_MATRIX_STACK_DEPTH_EXT"/>
+            <unused start="0x8E30" end="0x8E41" vendor="NV"/>
+        <enum value="0x8E42" name="GL_TEXTURE_SWIZZLE_R" group="TextureParameterName"/>
+        <enum value="0x8E42" name="GL_TEXTURE_SWIZZLE_R_EXT"/>
+        <enum value="0x8E43" name="GL_TEXTURE_SWIZZLE_G" group="TextureParameterName"/>
+        <enum value="0x8E43" name="GL_TEXTURE_SWIZZLE_G_EXT"/>
+        <enum value="0x8E44" name="GL_TEXTURE_SWIZZLE_B" group="TextureParameterName"/>
+        <enum value="0x8E44" name="GL_TEXTURE_SWIZZLE_B_EXT"/>
+        <enum value="0x8E45" name="GL_TEXTURE_SWIZZLE_A" group="TextureParameterName"/>
+        <enum value="0x8E45" name="GL_TEXTURE_SWIZZLE_A_EXT"/>
+        <enum value="0x8E46" name="GL_TEXTURE_SWIZZLE_RGBA" group="TextureParameterName"/>
+        <enum value="0x8E46" name="GL_TEXTURE_SWIZZLE_RGBA_EXT"/>
+        <enum value="0x8E47" name="GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS" group="ProgramStagePName"/>
+        <enum value="0x8E48" name="GL_ACTIVE_SUBROUTINE_MAX_LENGTH" group="ProgramStagePName"/>
+        <enum value="0x8E49" name="GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH" group="ProgramStagePName"/>
+        <enum value="0x8E4A" name="GL_NUM_COMPATIBLE_SUBROUTINES" group="ProgramResourceProperty,SubroutineParameterName"/>
+        <enum value="0x8E4B" name="GL_COMPATIBLE_SUBROUTINES" group="ProgramResourceProperty,SubroutineParameterName"/>
+        <enum value="0x8E4C" name="GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION"/>
+        <enum value="0x8E4C" name="GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT"/>
+        <enum value="0x8E4D" name="GL_FIRST_VERTEX_CONVENTION" group="VertexProvokingMode"/>
+        <enum value="0x8E4D" name="GL_FIRST_VERTEX_CONVENTION_EXT"/>
+        <enum value="0x8E4D" name="GL_FIRST_VERTEX_CONVENTION_OES"/>
+        <enum value="0x8E4E" name="GL_LAST_VERTEX_CONVENTION" group="VertexProvokingMode"/>
+        <enum value="0x8E4E" name="GL_LAST_VERTEX_CONVENTION_EXT"/>
+        <enum value="0x8E4E" name="GL_LAST_VERTEX_CONVENTION_OES"/>
+        <enum value="0x8E4F" name="GL_PROVOKING_VERTEX" group="GetPName"/>
+        <enum value="0x8E4F" name="GL_PROVOKING_VERTEX_EXT"/>
+        <enum value="0x8E50" name="GL_SAMPLE_POSITION" group="GetMultisamplePNameNV"/>
+        <enum value="0x8E50" name="GL_SAMPLE_POSITION_NV"/>
+        <enum value="0x8E50" name="GL_SAMPLE_LOCATION_ARB" alias="GL_SAMPLE_POSITION" group="GetMultisamplePNameNV"/>
+        <enum value="0x8E50" name="GL_SAMPLE_LOCATION_NV" alias="GL_SAMPLE_POSITION_NV"/>
+        <enum value="0x8E51" name="GL_SAMPLE_MASK" group="EnableCap"/>
+        <enum value="0x8E51" name="GL_SAMPLE_MASK_NV"/>
+        <enum value="0x8E52" name="GL_SAMPLE_MASK_VALUE"/>
+        <enum value="0x8E52" name="GL_SAMPLE_MASK_VALUE_NV"/>
+        <enum value="0x8E53" name="GL_TEXTURE_BINDING_RENDERBUFFER_NV"/>
+        <enum value="0x8E54" name="GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV"/>
+        <enum value="0x8E55" name="GL_TEXTURE_RENDERBUFFER_NV"/>
+        <enum value="0x8E56" name="GL_SAMPLER_RENDERBUFFER_NV"/>
+        <enum value="0x8E57" name="GL_INT_SAMPLER_RENDERBUFFER_NV"/>
+        <enum value="0x8E58" name="GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV"/>
+        <enum value="0x8E59" name="GL_MAX_SAMPLE_MASK_WORDS" group="GetPName"/>
+        <enum value="0x8E59" name="GL_MAX_SAMPLE_MASK_WORDS_NV"/>
+        <enum value="0x8E5A" name="GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV"/>
+        <enum value="0x8E5A" name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS"/>
+        <enum value="0x8E5A" name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT"/>
+        <enum value="0x8E5A" name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS_OES"/>
+        <enum value="0x8E5B" name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET"/>
+        <enum value="0x8E5B" name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES"/>
+        <enum value="0x8E5B" name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV"/>
+        <enum value="0x8E5C" name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET"/>
+        <enum value="0x8E5C" name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES"/>
+        <enum value="0x8E5C" name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV"/>
+        <enum value="0x8E5D" name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS"/>
+        <enum value="0x8E5D" name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES"/>
+        <enum value="0x8E5D" name="GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV"/>
+        <enum value="0x8E5E" name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET"/>
+        <enum value="0x8E5E" name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB"/>
+        <enum value="0x8E5E" name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV"/>
+        <enum value="0x8E5F" name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET"/>
+        <enum value="0x8E5F" name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB"/>
+        <enum value="0x8E5F" name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV"/>
+        <enum value="0x8E60" name="GL_MAX_MESH_UNIFORM_BLOCKS_NV"/>
+        <enum value="0x8E61" name="GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV"/>
+        <enum value="0x8E62" name="GL_MAX_MESH_IMAGE_UNIFORMS_NV"/>
+        <enum value="0x8E63" name="GL_MAX_MESH_UNIFORM_COMPONENTS_NV"/>
+        <enum value="0x8E64" name="GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV"/>
+        <enum value="0x8E65" name="GL_MAX_MESH_ATOMIC_COUNTERS_NV"/>
+        <enum value="0x8E66" name="GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV"/>
+        <enum value="0x8E67" name="GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV"/>
+        <enum value="0x8E68" name="GL_MAX_TASK_UNIFORM_BLOCKS_NV"/>
+        <enum value="0x8E69" name="GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV"/>
+        <enum value="0x8E6A" name="GL_MAX_TASK_IMAGE_UNIFORMS_NV"/>
+        <enum value="0x8E6B" name="GL_MAX_TASK_UNIFORM_COMPONENTS_NV"/>
+        <enum value="0x8E6C" name="GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV"/>
+        <enum value="0x8E6D" name="GL_MAX_TASK_ATOMIC_COUNTERS_NV"/>
+        <enum value="0x8E6E" name="GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV"/>
+        <enum value="0x8E6F" name="GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV"/>
+        <enum value="0x8E70" name="GL_MAX_TRANSFORM_FEEDBACK_BUFFERS"/>
+        <enum value="0x8E71" name="GL_MAX_VERTEX_STREAMS"/>
+        <enum value="0x8E72" name="GL_PATCH_VERTICES" group="PatchParameterName"/>
+        <enum value="0x8E72" name="GL_PATCH_VERTICES_EXT"/>
+        <enum value="0x8E72" name="GL_PATCH_VERTICES_OES"/>
+        <enum value="0x8E73" name="GL_PATCH_DEFAULT_INNER_LEVEL" group="PatchParameterName"/>
+        <enum value="0x8E73" name="GL_PATCH_DEFAULT_INNER_LEVEL_EXT"/>
+        <enum value="0x8E74" name="GL_PATCH_DEFAULT_OUTER_LEVEL" group="PatchParameterName"/>
+        <enum value="0x8E74" name="GL_PATCH_DEFAULT_OUTER_LEVEL_EXT"/>
+        <enum value="0x8E75" name="GL_TESS_CONTROL_OUTPUT_VERTICES"/>
+        <enum value="0x8E75" name="GL_TESS_CONTROL_OUTPUT_VERTICES_EXT"/>
+        <enum value="0x8E75" name="GL_TESS_CONTROL_OUTPUT_VERTICES_OES"/>
+        <enum value="0x8E76" name="GL_TESS_GEN_MODE"/>
+        <enum value="0x8E76" name="GL_TESS_GEN_MODE_EXT"/>
+        <enum value="0x8E76" name="GL_TESS_GEN_MODE_OES"/>
+        <enum value="0x8E77" name="GL_TESS_GEN_SPACING"/>
+        <enum value="0x8E77" name="GL_TESS_GEN_SPACING_EXT"/>
+        <enum value="0x8E77" name="GL_TESS_GEN_SPACING_OES"/>
+        <enum value="0x8E78" name="GL_TESS_GEN_VERTEX_ORDER"/>
+        <enum value="0x8E78" name="GL_TESS_GEN_VERTEX_ORDER_EXT"/>
+        <enum value="0x8E78" name="GL_TESS_GEN_VERTEX_ORDER_OES"/>
+        <enum value="0x8E79" name="GL_TESS_GEN_POINT_MODE"/>
+        <enum value="0x8E79" name="GL_TESS_GEN_POINT_MODE_EXT"/>
+        <enum value="0x8E79" name="GL_TESS_GEN_POINT_MODE_OES"/>
+        <enum value="0x8E7A" name="GL_ISOLINES"/>
+        <enum value="0x8E7A" name="GL_ISOLINES_EXT"/>
+        <enum value="0x8E7A" name="GL_ISOLINES_OES"/>
+        <enum value="0x8E7B" name="GL_FRACTIONAL_ODD"/>
+        <enum value="0x8E7B" name="GL_FRACTIONAL_ODD_EXT"/>
+        <enum value="0x8E7B" name="GL_FRACTIONAL_ODD_OES"/>
+        <enum value="0x8E7C" name="GL_FRACTIONAL_EVEN"/>
+        <enum value="0x8E7C" name="GL_FRACTIONAL_EVEN_EXT"/>
+        <enum value="0x8E7C" name="GL_FRACTIONAL_EVEN_OES"/>
+        <enum value="0x8E7D" name="GL_MAX_PATCH_VERTICES"/>
+        <enum value="0x8E7D" name="GL_MAX_PATCH_VERTICES_EXT"/>
+        <enum value="0x8E7D" name="GL_MAX_PATCH_VERTICES_OES"/>
+        <enum value="0x8E7E" name="GL_MAX_TESS_GEN_LEVEL"/>
+        <enum value="0x8E7E" name="GL_MAX_TESS_GEN_LEVEL_EXT"/>
+        <enum value="0x8E7E" name="GL_MAX_TESS_GEN_LEVEL_OES"/>
+        <enum value="0x8E7F" name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS"/>
+        <enum value="0x8E7F" name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT"/>
+        <enum value="0x8E7F" name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES"/>
+        <enum value="0x8E80" name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
+        <enum value="0x8E80" name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT"/>
+        <enum value="0x8E80" name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES"/>
+        <enum value="0x8E81" name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS"/>
+        <enum value="0x8E81" name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT"/>
+        <enum value="0x8E81" name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES"/>
+        <enum value="0x8E82" name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS"/>
+        <enum value="0x8E82" name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT"/>
+        <enum value="0x8E82" name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES"/>
+        <enum value="0x8E83" name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS"/>
+        <enum value="0x8E83" name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT"/>
+        <enum value="0x8E83" name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES"/>
+        <enum value="0x8E84" name="GL_MAX_TESS_PATCH_COMPONENTS"/>
+        <enum value="0x8E84" name="GL_MAX_TESS_PATCH_COMPONENTS_EXT"/>
+        <enum value="0x8E84" name="GL_MAX_TESS_PATCH_COMPONENTS_OES"/>
+        <enum value="0x8E85" name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS"/>
+        <enum value="0x8E85" name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT"/>
+        <enum value="0x8E85" name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES"/>
+        <enum value="0x8E86" name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS"/>
+        <enum value="0x8E86" name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT"/>
+        <enum value="0x8E86" name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES"/>
+        <enum value="0x8E87" name="GL_TESS_EVALUATION_SHADER" group="PipelineParameterName,ShaderType"/>
+        <enum value="0x8E87" name="GL_TESS_EVALUATION_SHADER_EXT"/>
+        <enum value="0x8E87" name="GL_TESS_EVALUATION_SHADER_OES"/>
+        <enum value="0x8E88" name="GL_TESS_CONTROL_SHADER" group="PipelineParameterName,ShaderType"/>
+        <enum value="0x8E88" name="GL_TESS_CONTROL_SHADER_EXT"/>
+        <enum value="0x8E88" name="GL_TESS_CONTROL_SHADER_OES"/>
+        <enum value="0x8E89" name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS" group="GetPName"/>
+        <enum value="0x8E89" name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT"/>
+        <enum value="0x8E89" name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES"/>
+        <enum value="0x8E8A" name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS" group="GetPName"/>
+        <enum value="0x8E8A" name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT"/>
+        <enum value="0x8E8A" name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES"/>
+            <unused start="0x8E8B" vendor="NV"/>
+        <enum value="0x8E8C" name="GL_COMPRESSED_RGBA_BPTC_UNORM" group="InternalFormat"/>
+        <enum value="0x8E8C" name="GL_COMPRESSED_RGBA_BPTC_UNORM_ARB"/>
+        <enum value="0x8E8C" name="GL_COMPRESSED_RGBA_BPTC_UNORM_EXT"/>
+        <enum value="0x8E8D" name="GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM" group="InternalFormat"/>
+        <enum value="0x8E8D" name="GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB"/>
+        <enum value="0x8E8D" name="GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT"/>
+        <enum value="0x8E8E" name="GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT" group="InternalFormat"/>
+        <enum value="0x8E8E" name="GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB"/>
+        <enum value="0x8E8E" name="GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT"/>
+        <enum value="0x8E8F" name="GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT" group="InternalFormat"/>
+        <enum value="0x8E8F" name="GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB"/>
+        <enum value="0x8E8F" name="GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8E90" end="0x8E9F" vendor="QNX" comment="For QNX_texture_tiling, QNX_complex_polygon, QNX_stippled_lines (Khronos bug 696)">
+            <unused start="0x8E90" end="0x8E9F" vendor="QNX"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8EA0" end="0x8EAF" vendor="IMG">
+            <unused start="0x8EA0" end="0x8EAF" vendor="IMG"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8EB0" end="0x8EBF" vendor="OES" comment="For Affie Munshi 2007/07/20">
+            <unused start="0x8EB0" end="0x8EBF" vendor="OES"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8EC0" end="0x8ECF" vendor="Vincent">
+            <unused start="0x8EC0" end="0x8ECF" vendor="Vincent"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8ED0" end="0x8F4F" vendor="NV" comment="For Pat Brown, Khronos bug 3191">
+        <enum value="0x8ED0" name="GL_COVERAGE_COMPONENT_NV"/>
+        <enum value="0x8ED1" name="GL_COVERAGE_COMPONENT4_NV"/>
+        <enum value="0x8ED2" name="GL_COVERAGE_ATTACHMENT_NV"/>
+        <enum value="0x8ED3" name="GL_COVERAGE_BUFFERS_NV"/>
+        <enum value="0x8ED4" name="GL_COVERAGE_SAMPLES_NV"/>
+        <enum value="0x8ED5" name="GL_COVERAGE_ALL_FRAGMENTS_NV"/>
+        <enum value="0x8ED6" name="GL_COVERAGE_EDGE_FRAGMENTS_NV"/>
+        <enum value="0x8ED7" name="GL_COVERAGE_AUTOMATIC_NV"/>
+            <unused start="0x8ED8" end="0x8F0F" vendor="NV"/>
+        <enum value="0x8F10" name="GL_INCLUSIVE_EXT"/>
+        <enum value="0x8F11" name="GL_EXCLUSIVE_EXT"/>
+        <enum value="0x8F12" name="GL_WINDOW_RECTANGLE_EXT"/>
+        <enum value="0x8F13" name="GL_WINDOW_RECTANGLE_MODE_EXT"/>
+        <enum value="0x8F14" name="GL_MAX_WINDOW_RECTANGLES_EXT"/>
+        <enum value="0x8F15" name="GL_NUM_WINDOW_RECTANGLES_EXT"/>
+            <unused start="0x8F16" end="0x8F1C" vendor="NV"/>
+        <enum value="0x8F1D" name="GL_BUFFER_GPU_ADDRESS_NV"/>
+        <enum value="0x8F1E" name="GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV"/>
+        <enum value="0x8F1F" name="GL_ELEMENT_ARRAY_UNIFIED_NV"/>
+        <enum value="0x8F20" name="GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV"/>
+        <enum value="0x8F21" name="GL_VERTEX_ARRAY_ADDRESS_NV"/>
+        <enum value="0x8F22" name="GL_NORMAL_ARRAY_ADDRESS_NV"/>
+        <enum value="0x8F23" name="GL_COLOR_ARRAY_ADDRESS_NV"/>
+        <enum value="0x8F24" name="GL_INDEX_ARRAY_ADDRESS_NV"/>
+        <enum value="0x8F25" name="GL_TEXTURE_COORD_ARRAY_ADDRESS_NV"/>
+        <enum value="0x8F26" name="GL_EDGE_FLAG_ARRAY_ADDRESS_NV"/>
+        <enum value="0x8F27" name="GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV"/>
+        <enum value="0x8F28" name="GL_FOG_COORD_ARRAY_ADDRESS_NV"/>
+        <enum value="0x8F29" name="GL_ELEMENT_ARRAY_ADDRESS_NV"/>
+        <enum value="0x8F2A" name="GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV"/>
+        <enum value="0x8F2B" name="GL_VERTEX_ARRAY_LENGTH_NV"/>
+        <enum value="0x8F2C" name="GL_NORMAL_ARRAY_LENGTH_NV"/>
+        <enum value="0x8F2D" name="GL_COLOR_ARRAY_LENGTH_NV"/>
+        <enum value="0x8F2E" name="GL_INDEX_ARRAY_LENGTH_NV"/>
+        <enum value="0x8F2F" name="GL_TEXTURE_COORD_ARRAY_LENGTH_NV"/>
+        <enum value="0x8F30" name="GL_EDGE_FLAG_ARRAY_LENGTH_NV"/>
+        <enum value="0x8F31" name="GL_SECONDARY_COLOR_ARRAY_LENGTH_NV"/>
+        <enum value="0x8F32" name="GL_FOG_COORD_ARRAY_LENGTH_NV"/>
+        <enum value="0x8F33" name="GL_ELEMENT_ARRAY_LENGTH_NV"/>
+        <enum value="0x8F34" name="GL_GPU_ADDRESS_NV"/>
+        <enum value="0x8F35" name="GL_MAX_SHADER_BUFFER_ADDRESS_NV"/>
+        <enum value="0x8F36" name="GL_COPY_READ_BUFFER" group="CopyBufferSubDataTarget,BufferTargetARB,BufferStorageTarget"/>
+        <enum value="0x8F36" name="GL_COPY_READ_BUFFER_NV"/>
+        <enum value="0x8F36" name="GL_COPY_READ_BUFFER_BINDING" alias="GL_COPY_READ_BUFFER"/>
+        <enum value="0x8F37" name="GL_COPY_WRITE_BUFFER" group="CopyBufferSubDataTarget,BufferTargetARB,BufferStorageTarget"/>
+        <enum value="0x8F37" name="GL_COPY_WRITE_BUFFER_NV"/>
+        <enum value="0x8F37" name="GL_COPY_WRITE_BUFFER_BINDING" alias="GL_COPY_WRITE_BUFFER"/>
+        <enum value="0x8F38" name="GL_MAX_IMAGE_UNITS"/>
+        <enum value="0x8F38" name="GL_MAX_IMAGE_UNITS_EXT"/>
+        <enum value="0x8F39" name="GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS"/>
+        <enum value="0x8F39" name="GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT"/>
+        <enum value="0x8F39" name="GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES" alias="GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS"/>
+        <enum value="0x8F3A" name="GL_IMAGE_BINDING_NAME"/>
+        <enum value="0x8F3A" name="GL_IMAGE_BINDING_NAME_EXT"/>
+        <enum value="0x8F3B" name="GL_IMAGE_BINDING_LEVEL"/>
+        <enum value="0x8F3B" name="GL_IMAGE_BINDING_LEVEL_EXT"/>
+        <enum value="0x8F3C" name="GL_IMAGE_BINDING_LAYERED"/>
+        <enum value="0x8F3C" name="GL_IMAGE_BINDING_LAYERED_EXT"/>
+        <enum value="0x8F3D" name="GL_IMAGE_BINDING_LAYER"/>
+        <enum value="0x8F3D" name="GL_IMAGE_BINDING_LAYER_EXT"/>
+        <enum value="0x8F3E" name="GL_IMAGE_BINDING_ACCESS"/>
+        <enum value="0x8F3E" name="GL_IMAGE_BINDING_ACCESS_EXT"/>
+        <enum value="0x8F3F" name="GL_DRAW_INDIRECT_BUFFER" group="CopyBufferSubDataTarget,BufferTargetARB,BufferStorageTarget"/>
+        <enum value="0x8F40" name="GL_DRAW_INDIRECT_UNIFIED_NV"/>
+        <enum value="0x8F41" name="GL_DRAW_INDIRECT_ADDRESS_NV"/>
+        <enum value="0x8F42" name="GL_DRAW_INDIRECT_LENGTH_NV"/>
+        <enum value="0x8F43" name="GL_DRAW_INDIRECT_BUFFER_BINDING"/>
+        <enum value="0x8F44" name="GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV"/>
+        <enum value="0x8F45" name="GL_MAX_PROGRAM_SUBROUTINE_NUM_NV"/>
+        <enum value="0x8F46" name="GL_DOUBLE_MAT2" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8F46" name="GL_DOUBLE_MAT2_EXT"/>
+        <enum value="0x8F47" name="GL_DOUBLE_MAT3" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8F47" name="GL_DOUBLE_MAT3_EXT"/>
+        <enum value="0x8F48" name="GL_DOUBLE_MAT4" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8F48" name="GL_DOUBLE_MAT4_EXT"/>
+        <enum value="0x8F49" name="GL_DOUBLE_MAT2x3" group="UniformType,AttributeType"/>
+        <enum value="0x8F49" name="GL_DOUBLE_MAT2x3_EXT"/>
+        <enum value="0x8F4A" name="GL_DOUBLE_MAT2x4" group="UniformType,AttributeType"/>
+        <enum value="0x8F4A" name="GL_DOUBLE_MAT2x4_EXT"/>
+        <enum value="0x8F4B" name="GL_DOUBLE_MAT3x2" group="UniformType,AttributeType"/>
+        <enum value="0x8F4B" name="GL_DOUBLE_MAT3x2_EXT"/>
+        <enum value="0x8F4C" name="GL_DOUBLE_MAT3x4" group="UniformType,AttributeType"/>
+        <enum value="0x8F4C" name="GL_DOUBLE_MAT3x4_EXT"/>
+        <enum value="0x8F4D" name="GL_DOUBLE_MAT4x2" group="UniformType,AttributeType"/>
+        <enum value="0x8F4D" name="GL_DOUBLE_MAT4x2_EXT"/>
+        <enum value="0x8F4E" name="GL_DOUBLE_MAT4x3" group="UniformType,AttributeType"/>
+        <enum value="0x8F4E" name="GL_DOUBLE_MAT4x3_EXT"/>
+        <enum value="0x8F4F" name="GL_VERTEX_BINDING_BUFFER"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8F50" end="0x8F5F" vendor="ZiiLabs" comment="For Jon Kennedy, Khronos public bug 75">
+            <unused start="0x8F50" end="0x8F5F" vendor="ZiiLabs"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8F60" end="0x8F6F" vendor="ARM" comment="For Remi Pedersen, Khronos bug 3745">
+        <enum value="0x8F60" name="GL_MALI_SHADER_BINARY_ARM" group="ShaderBinaryFormat"/>
+        <enum value="0x8F61" name="GL_MALI_PROGRAM_BINARY_ARM"/>
+            <unused start="0x8F62" vendor="ARM"/>
+        <enum value="0x8F63" name="GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT"/>
+        <enum value="0x8F64" name="GL_SHADER_PIXEL_LOCAL_STORAGE_EXT"/>
+        <enum value="0x8F65" name="GL_FETCH_PER_SAMPLE_ARM"/>
+        <enum value="0x8F66" name="GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM"/>
+        <enum value="0x8F67" name="GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT"/>
+            <unused start="0x8F68" vendor="ARM"/>
+        <enum value="0x8F69" name="GL_TEXTURE_ASTC_DECODE_PRECISION_EXT"/>
+        <enum value="0x8F6A" name="GL_TEXTURE_UNNORMALIZED_COORDINATES_ARM" group="SamplerParameterF,SamplerParameterI,GetTextureParameter,TextureParameterName"/>
+            <unused start="0x8F6B" end="0x8F6F" vendor="ARM"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8F70" end="0x8F7F" vendor="HI" comment="For Mark Callow, Khronos bug 4055. Shared with EGL.">
+            <unused start="0x8F70" end="0x8F7F" vendor="HI"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8F80" end="0x8F8F" vendor="Zebra" comment="For Mike Weiblen, public bug 910">
+            <unused start="0x8F80" end="0x8F8F" vendor="Zebra"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8F90" end="0x8F9F" vendor="ARB">
+        <enum value="0x8F90" name="GL_RED_SNORM"/>
+        <enum value="0x8F91" name="GL_RG_SNORM"/>
+        <enum value="0x8F92" name="GL_RGB_SNORM"/>
+        <enum value="0x8F93" name="GL_RGBA_SNORM"/>
+        <enum value="0x8F94" name="GL_R8_SNORM" group="InternalFormat"/>
+        <enum value="0x8F95" name="GL_RG8_SNORM" group="InternalFormat"/>
+        <enum value="0x8F96" name="GL_RGB8_SNORM" group="InternalFormat"/>
+        <enum value="0x8F97" name="GL_RGBA8_SNORM" group="InternalFormat"/>
+        <enum value="0x8F98" name="GL_R16_SNORM" group="InternalFormat"/>
+        <enum value="0x8F98" name="GL_R16_SNORM_EXT" group="InternalFormat"/>
+        <enum value="0x8F99" name="GL_RG16_SNORM" group="InternalFormat"/>
+        <enum value="0x8F99" name="GL_RG16_SNORM_EXT" group="InternalFormat"/>
+        <enum value="0x8F9A" name="GL_RGB16_SNORM" group="InternalFormat"/>
+        <enum value="0x8F9A" name="GL_RGB16_SNORM_EXT" group="InternalFormat"/>
+        <enum value="0x8F9B" name="GL_RGBA16_SNORM"/>
+        <enum value="0x8F9B" name="GL_RGBA16_SNORM_EXT"/>
+        <enum value="0x8F9C" name="GL_SIGNED_NORMALIZED"/>
+        <enum value="0x8F9D" name="GL_PRIMITIVE_RESTART" group="EnableCap"/>
+        <enum value="0x8F9E" name="GL_PRIMITIVE_RESTART_INDEX" group="GetPName"/>
+        <enum value="0x8F9F" name="GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8FA0" end="0x8FBF" vendor="QCOM" comment="For Maurice Ribble, bug 4512">
+        <enum value="0x8FA0" name="GL_PERFMON_GLOBAL_MODE_QCOM"/>
+        <enum value="0x8FA1" name="GL_MAX_SHADER_SUBSAMPLED_IMAGE_UNITS_QCOM"/>
+            <unused start="0x8FA2" end="0x8FAF" vendor="QCOM"/>
+        <enum value="0x8FB0" name="GL_BINNING_CONTROL_HINT_QCOM" group="HintTarget"/>
+        <enum value="0x8FB1" name="GL_CPU_OPTIMIZED_QCOM"/>
+        <enum value="0x8FB2" name="GL_GPU_OPTIMIZED_QCOM"/>
+        <enum value="0x8FB3" name="GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM"/>
+            <unused start="0x8FB4" end="0x8FBA" vendor="QCOM"/>
+        <enum value="0x8FBB" name="GL_GPU_DISJOINT_EXT"/>
+            <unused start="0x8FBC" vendor="QCOM"/>
+        <enum value="0x8FBD" name="GL_SR8_EXT" group="InternalFormat"/>
+        <enum value="0x8FBE" name="GL_SRG8_EXT" group="InternalFormat"/>
+        <enum value="0x8FBF" name="GL_TEXTURE_FORMAT_SRGB_OVERRIDE_EXT"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8FC0" end="0x8FDF" vendor="VIV" comment="For Frido Garritsen, bug 4526">
+        <enum value="0x8FC4" name="GL_SHADER_BINARY_VIV" group="ShaderBinaryFormat"/>
+    </enums>
+
+    <enums namespace="GL" start="0x8FE0" end="0x8FFF" vendor="NV" comment="For Pat Brown, bug 4935">
+        <enum value="0x8FE0" name="GL_INT8_NV"/>
+        <enum value="0x8FE1" name="GL_INT8_VEC2_NV"/>
+        <enum value="0x8FE2" name="GL_INT8_VEC3_NV"/>
+        <enum value="0x8FE3" name="GL_INT8_VEC4_NV"/>
+        <enum value="0x8FE4" name="GL_INT16_NV"/>
+        <enum value="0x8FE5" name="GL_INT16_VEC2_NV"/>
+        <enum value="0x8FE6" name="GL_INT16_VEC3_NV"/>
+        <enum value="0x8FE7" name="GL_INT16_VEC4_NV"/>
+        <enum value="0x8FE9" name="GL_INT64_VEC2_ARB" group="AttributeType"/>
+        <enum value="0x8FE9" name="GL_INT64_VEC2_NV"/>
+        <enum value="0x8FEA" name="GL_INT64_VEC3_ARB" group="AttributeType"/>
+        <enum value="0x8FEA" name="GL_INT64_VEC3_NV"/>
+        <enum value="0x8FEB" name="GL_INT64_VEC4_ARB" group="AttributeType"/>
+        <enum value="0x8FEB" name="GL_INT64_VEC4_NV"/>
+        <enum value="0x8FEC" name="GL_UNSIGNED_INT8_NV"/>
+        <enum value="0x8FED" name="GL_UNSIGNED_INT8_VEC2_NV"/>
+        <enum value="0x8FEE" name="GL_UNSIGNED_INT8_VEC3_NV"/>
+        <enum value="0x8FEF" name="GL_UNSIGNED_INT8_VEC4_NV"/>
+        <enum value="0x8FF0" name="GL_UNSIGNED_INT16_NV"/>
+        <enum value="0x8FF1" name="GL_UNSIGNED_INT16_VEC2_NV"/>
+        <enum value="0x8FF2" name="GL_UNSIGNED_INT16_VEC3_NV"/>
+        <enum value="0x8FF3" name="GL_UNSIGNED_INT16_VEC4_NV"/>
+        <enum value="0x8FF5" name="GL_UNSIGNED_INT64_VEC2_ARB" group="AttributeType"/>
+        <enum value="0x8FF5" name="GL_UNSIGNED_INT64_VEC2_NV"/>
+        <enum value="0x8FF6" name="GL_UNSIGNED_INT64_VEC3_ARB" group="AttributeType"/>
+        <enum value="0x8FF6" name="GL_UNSIGNED_INT64_VEC3_NV"/>
+        <enum value="0x8FF7" name="GL_UNSIGNED_INT64_VEC4_ARB" group="AttributeType"/>
+        <enum value="0x8FF7" name="GL_UNSIGNED_INT64_VEC4_NV"/>
+        <enum value="0x8FF8" name="GL_FLOAT16_NV"/>
+        <enum value="0x8FF9" name="GL_FLOAT16_VEC2_NV"/>
+        <enum value="0x8FFA" name="GL_FLOAT16_VEC3_NV"/>
+        <enum value="0x8FFB" name="GL_FLOAT16_VEC4_NV"/>
+        <enum value="0x8FFC" name="GL_DOUBLE_VEC2" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8FFC" name="GL_DOUBLE_VEC2_EXT"/>
+        <enum value="0x8FFD" name="GL_DOUBLE_VEC3" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8FFD" name="GL_DOUBLE_VEC3_EXT"/>
+        <enum value="0x8FFE" name="GL_DOUBLE_VEC4" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x8FFE" name="GL_DOUBLE_VEC4_EXT"/>
+            <unused start="0x8FFF" vendor="NV"/>
+    </enums>
+
+    <enums namespace="GL" start="0x9000" end="0x901F" vendor="AMD" comment="For Bill Licea-Kane">
+        <enum value="0x9001" name="GL_SAMPLER_BUFFER_AMD"/>
+        <enum value="0x9002" name="GL_INT_SAMPLER_BUFFER_AMD"/>
+        <enum value="0x9003" name="GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD"/>
+        <enum value="0x9004" name="GL_TESSELLATION_MODE_AMD"/>
+        <enum value="0x9005" name="GL_TESSELLATION_FACTOR_AMD"/>
+        <enum value="0x9006" name="GL_DISCRETE_AMD"/>
+        <enum value="0x9007" name="GL_CONTINUOUS_AMD"/>
+            <unused start="0x9008" vendor="AMD"/>
+        <enum value="0x9009" name="GL_TEXTURE_CUBE_MAP_ARRAY" group="CopyImageSubDataTarget,TextureTarget"/>
+        <enum value="0x9009" name="GL_TEXTURE_CUBE_MAP_ARRAY_ARB" group="TextureTarget"/>
+        <enum value="0x9009" name="GL_TEXTURE_CUBE_MAP_ARRAY_EXT" group="TextureTarget"/>
+        <enum value="0x9009" name="GL_TEXTURE_CUBE_MAP_ARRAY_OES" group="TextureTarget"/>
+        <enum value="0x900A" name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY"/>
+        <enum value="0x900A" name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB"/>
+        <enum value="0x900A" name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT"/>
+        <enum value="0x900A" name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES"/>
+        <enum value="0x900B" name="GL_PROXY_TEXTURE_CUBE_MAP_ARRAY" group="TextureTarget"/>
+        <enum value="0x900B" name="GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB" group="TextureTarget"/>
+        <enum value="0x900C" name="GL_SAMPLER_CUBE_MAP_ARRAY" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x900C" name="GL_SAMPLER_CUBE_MAP_ARRAY_ARB"/>
+        <enum value="0x900C" name="GL_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
+        <enum value="0x900C" name="GL_SAMPLER_CUBE_MAP_ARRAY_OES"/>
+        <enum value="0x900D" name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x900D" name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB"/>
+        <enum value="0x900D" name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT"/>
+        <enum value="0x900D" name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES"/>
+        <enum value="0x900E" name="GL_INT_SAMPLER_CUBE_MAP_ARRAY" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x900E" name="GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB"/>
+        <enum value="0x900E" name="GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
+        <enum value="0x900E" name="GL_INT_SAMPLER_CUBE_MAP_ARRAY_OES"/>
+        <enum value="0x900F" name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x900F" name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB"/>
+        <enum value="0x900F" name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
+        <enum value="0x900F" name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES"/>
+        <enum value="0x9010" name="GL_ALPHA_SNORM"/>
+        <enum value="0x9011" name="GL_LUMINANCE_SNORM"/>
+        <enum value="0x9012" name="GL_LUMINANCE_ALPHA_SNORM"/>
+        <enum value="0x9013" name="GL_INTENSITY_SNORM"/>
+        <enum value="0x9014" name="GL_ALPHA8_SNORM"/>
+        <enum value="0x9015" name="GL_LUMINANCE8_SNORM"/>
+        <enum value="0x9016" name="GL_LUMINANCE8_ALPHA8_SNORM"/>
+        <enum value="0x9017" name="GL_INTENSITY8_SNORM"/>
+        <enum value="0x9018" name="GL_ALPHA16_SNORM"/>
+        <enum value="0x9019" name="GL_LUMINANCE16_SNORM"/>
+        <enum value="0x901A" name="GL_LUMINANCE16_ALPHA16_SNORM"/>
+        <enum value="0x901B" name="GL_INTENSITY16_SNORM"/>
+        <enum value="0x901C" name="GL_FACTOR_MIN_AMD"/>
+        <enum value="0x901D" name="GL_FACTOR_MAX_AMD"/>
+        <enum value="0x901E" name="GL_DEPTH_CLAMP_NEAR_AMD"/>
+        <enum value="0x901F" name="GL_DEPTH_CLAMP_FAR_AMD"/>
+    </enums>
+
+    <enums namespace="GL" start="0x9020" end="0x90FF" vendor="NV" comment="For Pat Brown, bug 4935">
+        <enum value="0x9020" name="GL_VIDEO_BUFFER_NV"/>
+        <enum value="0x9021" name="GL_VIDEO_BUFFER_BINDING_NV"/>
+        <enum value="0x9022" name="GL_FIELD_UPPER_NV"/>
+        <enum value="0x9023" name="GL_FIELD_LOWER_NV"/>
+        <enum value="0x9024" name="GL_NUM_VIDEO_CAPTURE_STREAMS_NV"/>
+        <enum value="0x9025" name="GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV"/>
+        <enum value="0x9026" name="GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV"/>
+        <enum value="0x9027" name="GL_LAST_VIDEO_CAPTURE_STATUS_NV"/>
+        <enum value="0x9028" name="GL_VIDEO_BUFFER_PITCH_NV"/>
+        <enum value="0x9029" name="GL_VIDEO_COLOR_CONVERSION_MATRIX_NV"/>
+        <enum value="0x902A" name="GL_VIDEO_COLOR_CONVERSION_MAX_NV"/>
+        <enum value="0x902B" name="GL_VIDEO_COLOR_CONVERSION_MIN_NV"/>
+        <enum value="0x902C" name="GL_VIDEO_COLOR_CONVERSION_OFFSET_NV"/>
+        <enum value="0x902D" name="GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV"/>
+        <enum value="0x902E" name="GL_PARTIAL_SUCCESS_NV"/>
+        <enum value="0x902F" name="GL_SUCCESS_NV"/>
+        <enum value="0x9030" name="GL_FAILURE_NV"/>
+        <enum value="0x9031" name="GL_YCBYCR8_422_NV"/>
+        <enum value="0x9032" name="GL_YCBAYCR8A_4224_NV"/>
+        <enum value="0x9033" name="GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV"/>
+        <enum value="0x9034" name="GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV"/>
+        <enum value="0x9035" name="GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV"/>
+        <enum value="0x9036" name="GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV"/>
+        <enum value="0x9037" name="GL_Z4Y12Z4CB12Z4CR12_444_NV"/>
+        <enum value="0x9038" name="GL_VIDEO_CAPTURE_FRAME_WIDTH_NV"/>
+        <enum value="0x9039" name="GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV"/>
+        <enum value="0x903A" name="GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV"/>
+        <enum value="0x903B" name="GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV"/>
+        <enum value="0x903C" name="GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV"/>
+            <unused start="0x903D" end="0x9044" vendor="NV"/>
+        <enum value="0x9045" name="GL_TEXTURE_COVERAGE_SAMPLES_NV"/>
+        <enum value="0x9046" name="GL_TEXTURE_COLOR_SAMPLES_NV"/>
+        <enum value="0x9047" name="GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX"/>
+        <enum value="0x9048" name="GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX"/>
+        <enum value="0x9049" name="GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX"/>
+        <enum value="0x904A" name="GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX"/>
+        <enum value="0x904B" name="GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX"/>
+        <enum value="0x904C" name="GL_IMAGE_1D" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x904C" name="GL_IMAGE_1D_EXT"/>
+        <enum value="0x904D" name="GL_IMAGE_2D" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x904D" name="GL_IMAGE_2D_EXT"/>
+        <enum value="0x904E" name="GL_IMAGE_3D" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x904E" name="GL_IMAGE_3D_EXT"/>
+        <enum value="0x904F" name="GL_IMAGE_2D_RECT" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x904F" name="GL_IMAGE_2D_RECT_EXT"/>
+        <enum value="0x9050" name="GL_IMAGE_CUBE" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9050" name="GL_IMAGE_CUBE_EXT"/>
+        <enum value="0x9051" name="GL_IMAGE_BUFFER" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9051" name="GL_IMAGE_BUFFER_EXT"/>
+        <enum value="0x9051" name="GL_IMAGE_BUFFER_OES"/>
+        <enum value="0x9052" name="GL_IMAGE_1D_ARRAY" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9052" name="GL_IMAGE_1D_ARRAY_EXT"/>
+        <enum value="0x9053" name="GL_IMAGE_2D_ARRAY" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9053" name="GL_IMAGE_2D_ARRAY_EXT"/>
+        <enum value="0x9054" name="GL_IMAGE_CUBE_MAP_ARRAY" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9054" name="GL_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+        <enum value="0x9054" name="GL_IMAGE_CUBE_MAP_ARRAY_OES"/>
+        <enum value="0x9055" name="GL_IMAGE_2D_MULTISAMPLE" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9055" name="GL_IMAGE_2D_MULTISAMPLE_EXT"/>
+        <enum value="0x9056" name="GL_IMAGE_2D_MULTISAMPLE_ARRAY" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9056" name="GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT"/>
+        <enum value="0x9057" name="GL_INT_IMAGE_1D" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9057" name="GL_INT_IMAGE_1D_EXT"/>
+        <enum value="0x9058" name="GL_INT_IMAGE_2D" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9058" name="GL_INT_IMAGE_2D_EXT"/>
+        <enum value="0x9059" name="GL_INT_IMAGE_3D" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9059" name="GL_INT_IMAGE_3D_EXT"/>
+        <enum value="0x905A" name="GL_INT_IMAGE_2D_RECT" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x905A" name="GL_INT_IMAGE_2D_RECT_EXT"/>
+        <enum value="0x905B" name="GL_INT_IMAGE_CUBE" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x905B" name="GL_INT_IMAGE_CUBE_EXT"/>
+        <enum value="0x905C" name="GL_INT_IMAGE_BUFFER" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x905C" name="GL_INT_IMAGE_BUFFER_EXT"/>
+        <enum value="0x905C" name="GL_INT_IMAGE_BUFFER_OES"/>
+        <enum value="0x905D" name="GL_INT_IMAGE_1D_ARRAY" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x905D" name="GL_INT_IMAGE_1D_ARRAY_EXT"/>
+        <enum value="0x905E" name="GL_INT_IMAGE_2D_ARRAY" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x905E" name="GL_INT_IMAGE_2D_ARRAY_EXT"/>
+        <enum value="0x905F" name="GL_INT_IMAGE_CUBE_MAP_ARRAY" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x905F" name="GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+        <enum value="0x905F" name="GL_INT_IMAGE_CUBE_MAP_ARRAY_OES"/>
+        <enum value="0x9060" name="GL_INT_IMAGE_2D_MULTISAMPLE" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9060" name="GL_INT_IMAGE_2D_MULTISAMPLE_EXT"/>
+        <enum value="0x9061" name="GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9061" name="GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT"/>
+        <enum value="0x9062" name="GL_UNSIGNED_INT_IMAGE_1D" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9062" name="GL_UNSIGNED_INT_IMAGE_1D_EXT"/>
+        <enum value="0x9063" name="GL_UNSIGNED_INT_IMAGE_2D" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9063" name="GL_UNSIGNED_INT_IMAGE_2D_EXT"/>
+        <enum value="0x9064" name="GL_UNSIGNED_INT_IMAGE_3D" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9064" name="GL_UNSIGNED_INT_IMAGE_3D_EXT"/>
+        <enum value="0x9065" name="GL_UNSIGNED_INT_IMAGE_2D_RECT" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9065" name="GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT"/>
+        <enum value="0x9066" name="GL_UNSIGNED_INT_IMAGE_CUBE" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9066" name="GL_UNSIGNED_INT_IMAGE_CUBE_EXT"/>
+        <enum value="0x9067" name="GL_UNSIGNED_INT_IMAGE_BUFFER" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9067" name="GL_UNSIGNED_INT_IMAGE_BUFFER_EXT"/>
+        <enum value="0x9067" name="GL_UNSIGNED_INT_IMAGE_BUFFER_OES"/>
+        <enum value="0x9068" name="GL_UNSIGNED_INT_IMAGE_1D_ARRAY" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9068" name="GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT"/>
+        <enum value="0x9069" name="GL_UNSIGNED_INT_IMAGE_2D_ARRAY" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x9069" name="GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT"/>
+        <enum value="0x906A" name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x906A" name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+        <enum value="0x906A" name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES"/>
+        <enum value="0x906B" name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x906B" name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT"/>
+        <enum value="0x906C" name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY" group="GlslTypeToken,AttributeType"/>
+        <enum value="0x906C" name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT"/>
+        <enum value="0x906D" name="GL_MAX_IMAGE_SAMPLES"/>
+        <enum value="0x906D" name="GL_MAX_IMAGE_SAMPLES_EXT"/>
+        <enum value="0x906E" name="GL_IMAGE_BINDING_FORMAT"/>
+        <enum value="0x906E" name="GL_IMAGE_BINDING_FORMAT_EXT"/>
+        <enum value="0x906F" name="GL_RGB10_A2UI" group="InternalFormat"/>
+        <enum value="0x9070" name="GL_PATH_FORMAT_SVG_NV" group="PathStringFormat"/>
+        <enum value="0x9071" name="GL_PATH_FORMAT_PS_NV" group="PathStringFormat"/>
+        <enum value="0x9072" name="GL_STANDARD_FONT_NAME_NV" group="PathFontTarget"/>
+        <enum value="0x9073" name="GL_SYSTEM_FONT_NAME_NV" group="PathFontTarget"/>
+        <enum value="0x9074" name="GL_FILE_NAME_NV" group="PathFontTarget"/>
+        <enum value="0x9075" name="GL_PATH_STROKE_WIDTH_NV" group="PathParameter"/>
+        <enum value="0x9076" name="GL_PATH_END_CAPS_NV" group="PathParameter"/>
+        <enum value="0x9077" name="GL_PATH_INITIAL_END_CAP_NV" group="PathParameter"/>
+        <enum value="0x9078" name="GL_PATH_TERMINAL_END_CAP_NV" group="PathParameter"/>
+        <enum value="0x9079" name="GL_PATH_JOIN_STYLE_NV" group="PathParameter"/>
+        <enum value="0x907A" name="GL_PATH_MITER_LIMIT_NV" group="PathParameter"/>
+        <enum value="0x907B" name="GL_PATH_DASH_CAPS_NV" group="PathParameter"/>
+        <enum value="0x907C" name="GL_PATH_INITIAL_DASH_CAP_NV" group="PathParameter"/>
+        <enum value="0x907D" name="GL_PATH_TERMINAL_DASH_CAP_NV" group="PathParameter"/>
+        <enum value="0x907E" name="GL_PATH_DASH_OFFSET_NV" group="PathParameter"/>
+        <enum value="0x907F" name="GL_PATH_CLIENT_LENGTH_NV" group="PathParameter"/>
+        <enum value="0x9080" name="GL_PATH_FILL_MODE_NV" group="PathParameter,PathFillMode"/>
+        <enum value="0x9081" name="GL_PATH_FILL_MASK_NV" group="PathParameter"/>
+        <enum value="0x9082" name="GL_PATH_FILL_COVER_MODE_NV" group="PathCoverMode,PathParameter"/>
+        <enum value="0x9083" name="GL_PATH_STROKE_COVER_MODE_NV" group="PathParameter"/>
+        <enum value="0x9084" name="GL_PATH_STROKE_MASK_NV" group="PathParameter"/>
+            <!-- <enum value="0x9085" name="GL_PATH_SAMPLE_QUALITY_NV"          comment="Removed from extension"/> -->
+            <!-- <enum value="0x9086" name="GL_PATH_STROKE_BOUND_NV"            comment="Removed from extension"/> -->
+            <!-- <enum value="0x9087" name="GL_PATH_STROKE_OVERSAMPLE_COUNT_NV" comment="Removed from extension"/> -->
+        <enum value="0x9088" name="GL_COUNT_UP_NV" group="PathFillMode"/>
+        <enum value="0x9089" name="GL_COUNT_DOWN_NV" group="PathFillMode"/>
+        <enum value="0x908A" name="GL_PATH_OBJECT_BOUNDING_BOX_NV" group="PathGenMode,PathParameter"/>
+        <enum value="0x908B" name="GL_CONVEX_HULL_NV" group="PathCoverMode"/>
+            <!-- <enum value="0x908C" name="GL_MULTI_HULLS_NV"                  comment="Removed from extension"/> -->
+        <enum value="0x908D" name="GL_BOUNDING_BOX_NV" group="PathCoverMode"/>
+        <enum value="0x908E" name="GL_TRANSLATE_X_NV" group="PathTransformType"/>
+        <enum value="0x908F" name="GL_TRANSLATE_Y_NV" group="PathTransformType"/>
+        <enum value="0x9090" name="GL_TRANSLATE_2D_NV" group="PathTransformType"/>
+        <enum value="0x9091" name="GL_TRANSLATE_3D_NV" group="PathTransformType"/>
+        <enum value="0x9092" name="GL_AFFINE_2D_NV" group="PathTransformType"/>
+            <!-- <enum value="0x9093" name="GL_PROJECTIVE_2D_NV"                comment="Removed from extension"/> -->
+        <enum value="0x9094" name="GL_AFFINE_3D_NV" group="PathTransformType"/>
+            <!-- <enum value="0x9095" name="GL_PROJECTIVE_3D_NV"                comment="Removed from extension"/> -->
+        <enum value="0x9096" name="GL_TRANSPOSE_AFFINE_2D_NV" group="PathTransformType"/>
+            <!-- <enum value="0x9097" name="GL_TRANSPOSE_PROJECTIVE_2D_NV"      comment="Removed from extension"/> -->
+        <enum value="0x9098" name="GL_TRANSPOSE_AFFINE_3D_NV" group="PathTransformType"/>
+            <!-- <enum value="0x9099" name="GL_TRANSPOSE_PROJECTIVE_3D_NV"      comment="Removed from extension"/> -->
+        <enum value="0x909A" name="GL_UTF8_NV" group="PathElementType"/>
+        <enum value="0x909B" name="GL_UTF16_NV" group="PathElementType"/>
+        <enum value="0x909C" name="GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV" group="PathCoverMode"/>
+        <enum value="0x909D" name="GL_PATH_COMMAND_COUNT_NV" group="PathParameter"/>
+        <enum value="0x909E" name="GL_PATH_COORD_COUNT_NV" group="PathParameter"/>
+        <enum value="0x909F" name="GL_PATH_DASH_ARRAY_COUNT_NV" group="PathParameter"/>
+        <enum value="0x90A0" name="GL_PATH_COMPUTED_LENGTH_NV" group="PathParameter"/>
+        <enum value="0x90A1" name="GL_PATH_FILL_BOUNDING_BOX_NV" group="PathParameter"/>
+        <enum value="0x90A2" name="GL_PATH_STROKE_BOUNDING_BOX_NV" group="PathParameter"/>
+        <enum value="0x90A3" name="GL_SQUARE_NV"/>
+        <enum value="0x90A4" name="GL_ROUND_NV"/>
+        <enum value="0x90A5" name="GL_TRIANGULAR_NV"/>
+        <enum value="0x90A6" name="GL_BEVEL_NV"/>
+        <enum value="0x90A7" name="GL_MITER_REVERT_NV"/>
+        <enum value="0x90A8" name="GL_MITER_TRUNCATE_NV"/>
+        <enum value="0x90A9" name="GL_SKIP_MISSING_GLYPH_NV" group="PathHandleMissingGlyphs"/>
+        <enum value="0x90AA" name="GL_USE_MISSING_GLYPH_NV" group="PathHandleMissingGlyphs"/>
+        <enum value="0x90AB" name="GL_PATH_ERROR_POSITION_NV"/>
+        <enum value="0x90AC" name="GL_PATH_FOG_GEN_MODE_NV"/>
+        <enum value="0x90AD" name="GL_ACCUM_ADJACENT_PAIRS_NV" group="PathListMode"/>
+        <enum value="0x90AE" name="GL_ADJACENT_PAIRS_NV" group="PathListMode"/>
+        <enum value="0x90AF" name="GL_FIRST_TO_REST_NV" group="PathListMode"/>
+        <enum value="0x90B0" name="GL_PATH_GEN_MODE_NV"/>
+        <enum value="0x90B1" name="GL_PATH_GEN_COEFF_NV"/>
+        <enum value="0x90B2" name="GL_PATH_GEN_COLOR_FORMAT_NV"/>
+        <enum value="0x90B3" name="GL_PATH_GEN_COMPONENTS_NV"/>
+        <enum value="0x90B4" name="GL_PATH_DASH_OFFSET_RESET_NV" group="PathParameter"/>
+        <enum value="0x90B5" name="GL_MOVE_TO_RESETS_NV"/>
+        <enum value="0x90B6" name="GL_MOVE_TO_CONTINUES_NV"/>
+        <enum value="0x90B7" name="GL_PATH_STENCIL_FUNC_NV"/>
+        <enum value="0x90B8" name="GL_PATH_STENCIL_REF_NV"/>
+        <enum value="0x90B9" name="GL_PATH_STENCIL_VALUE_MASK_NV"/>
+        <enum value="0x90BA" name="GL_SCALED_RESOLVE_FASTEST_EXT"/>
+        <enum value="0x90BB" name="GL_SCALED_RESOLVE_NICEST_EXT"/>
+        <enum value="0x90BC" name="GL_MIN_MAP_BUFFER_ALIGNMENT" group="GetPName"/>
+        <enum value="0x90BD" name="GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV"/>
+        <enum value="0x90BE" name="GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV"/>
+        <enum value="0x90BF" name="GL_PATH_COVER_DEPTH_FUNC_NV"/>
+            <unused start="0x90C0" end="0x90C6" vendor="NV"/>
+        <enum value="0x90C7" name="GL_IMAGE_FORMAT_COMPATIBILITY_TYPE" group="InternalFormatPName"/>
+        <enum value="0x90C8" name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE"/>
+        <enum value="0x90C9" name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS"/>
+        <enum value="0x90CA" name="GL_MAX_VERTEX_IMAGE_UNIFORMS"/>
+        <enum value="0x90CB" name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS"/>
+        <enum value="0x90CB" name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT"/>
+        <enum value="0x90CB" name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES"/>
+        <enum value="0x90CC" name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS"/>
+        <enum value="0x90CC" name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT"/>
+        <enum value="0x90CC" name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES"/>
+        <enum value="0x90CD" name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS"/>
+        <enum value="0x90CD" name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT"/>
+        <enum value="0x90CD" name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS_OES"/>
+        <enum value="0x90CE" name="GL_MAX_FRAGMENT_IMAGE_UNIFORMS"/>
+        <enum value="0x90CF" name="GL_MAX_COMBINED_IMAGE_UNIFORMS"/>
+        <enum value="0x90D0" name="GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV"/>
+        <enum value="0x90D1" name="GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV"/>
+        <enum value="0x90D2" name="GL_SHADER_STORAGE_BUFFER" group="CopyBufferSubDataTarget,BufferTargetARB,BufferStorageTarget"/>
+        <enum value="0x90D3" name="GL_SHADER_STORAGE_BUFFER_BINDING" group="GetPName"/>
+        <enum value="0x90D4" name="GL_SHADER_STORAGE_BUFFER_START" group="GetPName"/>
+        <enum value="0x90D5" name="GL_SHADER_STORAGE_BUFFER_SIZE" group="GetPName"/>
+        <enum value="0x90D6" name="GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS" group="GetPName"/>
+        <enum value="0x90D7" name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS" group="GetPName"/>
+        <enum value="0x90D7" name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT"/>
+        <enum value="0x90D7" name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES"/>
+        <enum value="0x90D8" name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS" group="GetPName"/>
+        <enum value="0x90D8" name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT"/>
+        <enum value="0x90D8" name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES"/>
+        <enum value="0x90D9" name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS" group="GetPName"/>
+        <enum value="0x90D9" name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT"/>
+        <enum value="0x90D9" name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES"/>
+        <enum value="0x90DA" name="GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS" group="GetPName"/>
+        <enum value="0x90DB" name="GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS" group="GetPName"/>
+        <enum value="0x90DC" name="GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS" group="GetPName"/>
+        <enum value="0x90DD" name="GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS" group="GetPName"/>
+        <enum value="0x90DE" name="GL_MAX_SHADER_STORAGE_BLOCK_SIZE"/>
+        <enum value="0x90DF" name="GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT" group="GetPName"/>
+            <unused start="0x90E0" vendor="NV"/>
+        <enum value="0x90E1" name="GL_SYNC_X11_FENCE_EXT"/>
+            <unused start="0x90E2" end="0x90E9" vendor="NV"/>
+        <enum value="0x90EA" name="GL_DEPTH_STENCIL_TEXTURE_MODE" group="TextureParameterName"/>
+        <enum value="0x90EB" name="GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS" group="GetPName"/>
+        <enum value="0x90EB" name="GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB" alias="GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS"/>
+        <enum value="0x90EC" name="GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER" group="UniformBlockPName"/>
+        <enum value="0x90ED" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER" group="AtomicCounterBufferPName"/>
+        <enum value="0x90EE" name="GL_DISPATCH_INDIRECT_BUFFER" group="CopyBufferSubDataTarget,BufferTargetARB,BufferStorageTarget"/>
+        <enum value="0x90EF" name="GL_DISPATCH_INDIRECT_BUFFER_BINDING" group="GetPName"/>
+        <enum value="0x90F0" name="GL_COLOR_ATTACHMENT_EXT"/>
+        <enum value="0x90F1" name="GL_MULTIVIEW_EXT"/>
+        <enum value="0x90F2" name="GL_MAX_MULTIVIEW_BUFFERS_EXT"/>
+        <enum value="0x90F3" name="GL_CONTEXT_ROBUST_ACCESS"/>
+        <enum value="0x90F3" name="GL_CONTEXT_ROBUST_ACCESS_EXT"/>
+        <enum value="0x90F3" name="GL_CONTEXT_ROBUST_ACCESS_KHR"/>
+            <unused start="0x90F4" end="0x90FA" vendor="NV"/>
+        <enum value="0x90FB" name="GL_COMPUTE_PROGRAM_NV" group="ProgramTarget"/>
+        <enum value="0x90FC" name="GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV"/>
+            <unused start="0x90FD" end="0x90FF" vendor="NV"/>
+    </enums>
+
+    <enums namespace="GL" start="0x9100" end="0x912F" vendor="ARB">
+        <enum value="0x9100" name="GL_TEXTURE_2D_MULTISAMPLE" group="CopyImageSubDataTarget,TextureTarget"/>
+        <enum value="0x9101" name="GL_PROXY_TEXTURE_2D_MULTISAMPLE" group="TextureTarget"/>
+        <enum value="0x9102" name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY" group="CopyImageSubDataTarget,TextureTarget"/>
+        <enum value="0x9102" name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES"/>
+        <enum value="0x9103" name="GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY" group="TextureTarget"/>
+        <enum value="0x9104" name="GL_TEXTURE_BINDING_2D_MULTISAMPLE" group="GetPName"/>
+        <enum value="0x9105" name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY" group="GetPName"/>
+        <enum value="0x9105" name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES"/>
+        <enum value="0x9106" name="GL_TEXTURE_SAMPLES"/>
+        <enum value="0x9107" name="GL_TEXTURE_FIXED_SAMPLE_LOCATIONS"/>
+        <enum value="0x9108" name="GL_SAMPLER_2D_MULTISAMPLE" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x9109" name="GL_INT_SAMPLER_2D_MULTISAMPLE" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x910A" name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x910B" name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x910B" name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
+        <enum value="0x910C" name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x910C" name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
+        <enum value="0x910D" name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY" group="GlslTypeToken,AttributeType,UniformType"/>
+        <enum value="0x910D" name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
+        <enum value="0x910E" name="GL_MAX_COLOR_TEXTURE_SAMPLES" group="GetPName"/>
+        <enum value="0x910F" name="GL_MAX_DEPTH_TEXTURE_SAMPLES" group="GetPName"/>
+        <enum value="0x9110" name="GL_MAX_INTEGER_SAMPLES" group="GetPName"/>
+        <enum value="0x9111" name="GL_MAX_SERVER_WAIT_TIMEOUT" group="GetPName"/>
+        <enum value="0x9111" name="GL_MAX_SERVER_WAIT_TIMEOUT_APPLE"/>
+        <enum value="0x9112" name="GL_OBJECT_TYPE" group="SyncParameterName"/>
+        <enum value="0x9112" name="GL_OBJECT_TYPE_APPLE"/>
+        <enum value="0x9113" name="GL_SYNC_CONDITION" group="SyncParameterName"/>
+        <enum value="0x9113" name="GL_SYNC_CONDITION_APPLE"/>
+        <enum value="0x9114" name="GL_SYNC_STATUS" group="SyncParameterName"/>
+        <enum value="0x9114" name="GL_SYNC_STATUS_APPLE"/>
+        <enum value="0x9115" name="GL_SYNC_FLAGS" group="SyncParameterName"/>
+        <enum value="0x9115" name="GL_SYNC_FLAGS_APPLE"/>
+        <enum value="0x9116" name="GL_SYNC_FENCE"/>
+        <enum value="0x9116" name="GL_SYNC_FENCE_APPLE"/>
+        <enum value="0x9117" name="GL_SYNC_GPU_COMMANDS_COMPLETE" group="SyncCondition"/>
+        <enum value="0x9117" name="GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE"/>
+        <enum value="0x9118" name="GL_UNSIGNALED"/>
+        <enum value="0x9118" name="GL_UNSIGNALED_APPLE"/>
+        <enum value="0x9119" name="GL_SIGNALED"/>
+        <enum value="0x9119" name="GL_SIGNALED_APPLE"/>
+        <enum value="0x911A" name="GL_ALREADY_SIGNALED" group="SyncStatus"/>
+        <enum value="0x911A" name="GL_ALREADY_SIGNALED_APPLE"/>
+        <enum value="0x911B" name="GL_TIMEOUT_EXPIRED" group="SyncStatus"/>
+        <enum value="0x911B" name="GL_TIMEOUT_EXPIRED_APPLE"/>
+        <enum value="0x911C" name="GL_CONDITION_SATISFIED" group="SyncStatus"/>
+        <enum value="0x911C" name="GL_CONDITION_SATISFIED_APPLE"/>
+        <enum value="0x911D" name="GL_WAIT_FAILED" group="SyncStatus"/>
+        <enum value="0x911D" name="GL_WAIT_FAILED_APPLE"/>
+        <enum value="0x911F" name="GL_BUFFER_ACCESS_FLAGS" group="VertexBufferObjectParameter,BufferPNameARB"/>
+        <enum value="0x9120" name="GL_BUFFER_MAP_LENGTH" group="VertexBufferObjectParameter,BufferPNameARB"/>
+        <enum value="0x9121" name="GL_BUFFER_MAP_OFFSET" group="VertexBufferObjectParameter,BufferPNameARB"/>
+        <enum value="0x9122" name="GL_MAX_VERTEX_OUTPUT_COMPONENTS" group="GetPName"/>
+        <enum value="0x9123" name="GL_MAX_GEOMETRY_INPUT_COMPONENTS" group="GetPName"/>
+        <enum value="0x9123" name="GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT"/>
+        <enum value="0x9123" name="GL_MAX_GEOMETRY_INPUT_COMPONENTS_OES"/>
+        <enum value="0x9124" name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS" group="GetPName"/>
+        <enum value="0x9124" name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT"/>
+        <enum value="0x9124" name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES"/>
+        <enum value="0x9125" name="GL_MAX_FRAGMENT_INPUT_COMPONENTS" group="GetPName"/>
+        <enum value="0x9126" name="GL_CONTEXT_PROFILE_MASK" group="GetPName"/>
+        <enum value="0x9127" name="GL_UNPACK_COMPRESSED_BLOCK_WIDTH"/>
+        <enum value="0x9128" name="GL_UNPACK_COMPRESSED_BLOCK_HEIGHT"/>
+        <enum value="0x9129" name="GL_UNPACK_COMPRESSED_BLOCK_DEPTH"/>
+        <enum value="0x912A" name="GL_UNPACK_COMPRESSED_BLOCK_SIZE"/>
+        <enum value="0x912B" name="GL_PACK_COMPRESSED_BLOCK_WIDTH"/>
+        <enum value="0x912C" name="GL_PACK_COMPRESSED_BLOCK_HEIGHT"/>
+        <enum value="0x912D" name="GL_PACK_COMPRESSED_BLOCK_DEPTH"/>
+        <enum value="0x912E" name="GL_PACK_COMPRESSED_BLOCK_SIZE"/>
+        <enum value="0x912F" name="GL_TEXTURE_IMMUTABLE_FORMAT"/>
+        <enum value="0x912F" name="GL_TEXTURE_IMMUTABLE_FORMAT_EXT"/>
+    </enums>
+
+    <enums namespace="GL" start="0x9130" end="0x913F" vendor="IMG" comment="Khronos bug 882">
+        <enum value="0x9130" name="GL_SGX_PROGRAM_BINARY_IMG"/>
+            <unused start="0x9131" end="0x9132" vendor="IMG"/>
+        <enum value="0x9133" name="GL_RENDERBUFFER_SAMPLES_IMG" group="RenderbufferParameterName"/>
+        <enum value="0x9134" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG"/>
+        <enum value="0x9135" name="GL_MAX_SAMPLES_IMG"/>
+        <enum value="0x9136" name="GL_TEXTURE_SAMPLES_IMG"/>
+        <enum value="0x9137" name="GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG"/>
+        <enum value="0x9138" name="GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG"/>
+        <enum value="0x9139" name="GL_CUBIC_IMG"/>
+        <enum value="0x913A" name="GL_CUBIC_MIPMAP_NEAREST_IMG"/>
+        <enum value="0x913B" name="GL_CUBIC_MIPMAP_LINEAR_IMG"/>
+        <enum value="0x913C" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_AND_DOWNSAMPLE_IMG"/>
+        <enum value="0x913D" name="GL_NUM_DOWNSAMPLE_SCALES_IMG"/>
+        <enum value="0x913E" name="GL_DOWNSAMPLE_SCALES_IMG"/>
+        <enum value="0x913F" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SCALE_IMG" group="FramebufferAttachmentParameterName"/>
+    </enums>
+
+    <enums namespace="GL" start="0x9140" end="0x923F" vendor="AMD" comment="Khronos bugs 5899, 6004">
+            <unused start="0x9140" end="0x9142" vendor="AMD"/>
+        <enum value="0x9143" name="GL_MAX_DEBUG_MESSAGE_LENGTH"/>
+        <enum value="0x9143" name="GL_MAX_DEBUG_MESSAGE_LENGTH_AMD"/>
+        <enum value="0x9143" name="GL_MAX_DEBUG_MESSAGE_LENGTH_ARB"/>
+        <enum value="0x9143" name="GL_MAX_DEBUG_MESSAGE_LENGTH_KHR"/>
+        <enum value="0x9144" name="GL_MAX_DEBUG_LOGGED_MESSAGES"/>
+        <enum value="0x9144" name="GL_MAX_DEBUG_LOGGED_MESSAGES_AMD"/>
+        <enum value="0x9144" name="GL_MAX_DEBUG_LOGGED_MESSAGES_ARB"/>
+        <enum value="0x9144" name="GL_MAX_DEBUG_LOGGED_MESSAGES_KHR"/>
+        <enum value="0x9145" name="GL_DEBUG_LOGGED_MESSAGES"/>
+        <enum value="0x9145" name="GL_DEBUG_LOGGED_MESSAGES_AMD"/>
+        <enum value="0x9145" name="GL_DEBUG_LOGGED_MESSAGES_ARB"/>
+        <enum value="0x9145" name="GL_DEBUG_LOGGED_MESSAGES_KHR"/>
+        <enum value="0x9146" name="GL_DEBUG_SEVERITY_HIGH" group="DebugSeverity"/>
+        <enum value="0x9146" name="GL_DEBUG_SEVERITY_HIGH_AMD"/>
+        <enum value="0x9146" name="GL_DEBUG_SEVERITY_HIGH_ARB"/>
+        <enum value="0x9146" name="GL_DEBUG_SEVERITY_HIGH_KHR"/>
+        <enum value="0x9147" name="GL_DEBUG_SEVERITY_MEDIUM" group="DebugSeverity"/>
+        <enum value="0x9147" name="GL_DEBUG_SEVERITY_MEDIUM_AMD"/>
+        <enum value="0x9147" name="GL_DEBUG_SEVERITY_MEDIUM_ARB"/>
+        <enum value="0x9147" name="GL_DEBUG_SEVERITY_MEDIUM_KHR"/>
+        <enum value="0x9148" name="GL_DEBUG_SEVERITY_LOW" group="DebugSeverity"/>
+        <enum value="0x9148" name="GL_DEBUG_SEVERITY_LOW_AMD"/>
+        <enum value="0x9148" name="GL_DEBUG_SEVERITY_LOW_ARB"/>
+        <enum value="0x9148" name="GL_DEBUG_SEVERITY_LOW_KHR"/>
+        <enum value="0x9149" name="GL_DEBUG_CATEGORY_API_ERROR_AMD"/>
+        <enum value="0x914A" name="GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD"/>
+        <enum value="0x914B" name="GL_DEBUG_CATEGORY_DEPRECATION_AMD"/>
+        <enum value="0x914C" name="GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD"/>
+        <enum value="0x914D" name="GL_DEBUG_CATEGORY_PERFORMANCE_AMD"/>
+        <enum value="0x914E" name="GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD"/>
+        <enum value="0x914F" name="GL_DEBUG_CATEGORY_APPLICATION_AMD"/>
+        <enum value="0x9150" name="GL_DEBUG_CATEGORY_OTHER_AMD"/>
+        <enum value="0x9151" name="GL_BUFFER_OBJECT_EXT"/>
+        <enum value="0x9151" name="GL_DATA_BUFFER_AMD"/>
+        <enum value="0x9152" name="GL_PERFORMANCE_MONITOR_AMD"/>
+        <enum value="0x9153" name="GL_QUERY_OBJECT_AMD"/>
+        <enum value="0x9153" name="GL_QUERY_OBJECT_EXT"/>
+        <enum value="0x9154" name="GL_VERTEX_ARRAY_OBJECT_AMD"/>
+        <enum value="0x9154" name="GL_VERTEX_ARRAY_OBJECT_EXT"/>
+        <enum value="0x9155" name="GL_SAMPLER_OBJECT_AMD"/>
+            <unused start="0x9156" end="0x915F" vendor="AMD"/>
+        <enum value="0x9160" name="GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD"/>
+            <unused start="0x9161" vendor="AMD"/>
+        <enum value="0x9192" name="GL_QUERY_BUFFER" group="CopyBufferSubDataTarget,BufferTargetARB,BufferStorageTarget"/>
+        <enum value="0x9192" name="GL_QUERY_BUFFER_AMD"/>
+        <enum value="0x9193" name="GL_QUERY_BUFFER_BINDING"/>
+        <enum value="0x9193" name="GL_QUERY_BUFFER_BINDING_AMD"/>
+        <enum value="0x9194" name="GL_QUERY_RESULT_NO_WAIT" group="QueryObjectParameterName"/>
+        <enum value="0x9194" name="GL_QUERY_RESULT_NO_WAIT_AMD"/>
+        <enum value="0x9195" name="GL_VIRTUAL_PAGE_SIZE_X_ARB"/>
+        <enum value="0x9195" name="GL_VIRTUAL_PAGE_SIZE_X_EXT"/>
+        <enum value="0x9195" name="GL_VIRTUAL_PAGE_SIZE_X_AMD"/>
+        <enum value="0x9196" name="GL_VIRTUAL_PAGE_SIZE_Y_ARB"/>
+        <enum value="0x9196" name="GL_VIRTUAL_PAGE_SIZE_Y_EXT"/>
+        <enum value="0x9196" name="GL_VIRTUAL_PAGE_SIZE_Y_AMD"/>
+        <enum value="0x9197" name="GL_VIRTUAL_PAGE_SIZE_Z_ARB"/>
+        <enum value="0x9197" name="GL_VIRTUAL_PAGE_SIZE_Z_EXT"/>
+        <enum value="0x9197" name="GL_VIRTUAL_PAGE_SIZE_Z_AMD"/>
+        <enum value="0x9198" name="GL_MAX_SPARSE_TEXTURE_SIZE_ARB"/>
+        <enum value="0x9198" name="GL_MAX_SPARSE_TEXTURE_SIZE_EXT"/>
+        <enum value="0x9198" name="GL_MAX_SPARSE_TEXTURE_SIZE_AMD"/>
+        <enum value="0x9199" name="GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB"/>
+        <enum value="0x9199" name="GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT"/>
+        <enum value="0x9199" name="GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD"/>
+        <enum value="0x919A" name="GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS"/>
+        <enum value="0x919A" name="GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB"/>
+        <enum value="0x919A" name="GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT"/>
+        <enum value="0x919B" name="GL_MIN_SPARSE_LEVEL_AMD"/>
+        <enum value="0x919C" name="GL_MIN_LOD_WARNING_AMD"/>
+        <enum value="0x919D" name="GL_TEXTURE_BUFFER_OFFSET"/>
+        <enum value="0x919D" name="GL_TEXTURE_BUFFER_OFFSET_EXT"/>
+        <enum value="0x919D" name="GL_TEXTURE_BUFFER_OFFSET_OES"/>
+        <enum value="0x919E" name="GL_TEXTURE_BUFFER_SIZE"/>
+        <enum value="0x919E" name="GL_TEXTURE_BUFFER_SIZE_EXT"/>
+        <enum value="0x919E" name="GL_TEXTURE_BUFFER_SIZE_OES"/>
+        <enum value="0x919F" name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT" group="GetPName"/>
+        <enum value="0x919F" name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT"/>
+        <enum value="0x919F" name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES"/>
+        <enum value="0x91A0" name="GL_STREAM_RASTERIZATION_AMD"/>
+            <unused start="0x91A1" end="0x91A3" vendor="AMD"/>
+        <enum value="0x91A4" name="GL_VERTEX_ELEMENT_SWIZZLE_AMD"/>
+        <enum value="0x91A5" name="GL_VERTEX_ID_SWIZZLE_AMD"/>
+        <enum value="0x91A6" name="GL_TEXTURE_SPARSE_ARB"/>
+        <enum value="0x91A6" name="GL_TEXTURE_SPARSE_EXT"/>
+        <enum value="0x91A7" name="GL_VIRTUAL_PAGE_SIZE_INDEX_ARB"/>
+        <enum value="0x91A7" name="GL_VIRTUAL_PAGE_SIZE_INDEX_EXT"/>
+        <enum value="0x91A8" name="GL_NUM_VIRTUAL_PAGE_SIZES_ARB"/>
+        <enum value="0x91A8" name="GL_NUM_VIRTUAL_PAGE_SIZES_EXT"/>
+        <enum value="0x91A9" name="GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB"/>
+        <enum value="0x91A9" name="GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT"/>
+        <enum value="0x91AA" name="GL_NUM_SPARSE_LEVELS_ARB"/>
+        <enum value="0x91AA" name="GL_NUM_SPARSE_LEVELS_EXT"/>
+            <unused start="0x91AB" end="0x91AD" vendor="AMD"/>
+        <enum value="0x91AE" name="GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD"/>
+        <enum value="0x91AF" name="GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD"/>
+        <enum value="0x91B0" name="GL_MAX_SHADER_COMPILER_THREADS_KHR"/>
+        <enum value="0x91B0" name="GL_MAX_SHADER_COMPILER_THREADS_ARB" alias="GL_MAX_SHADER_COMPILER_THREADS_KHR"/>
+        <enum value="0x91B1" name="GL_COMPLETION_STATUS_KHR"/>
+        <enum value="0x91B1" name="GL_COMPLETION_STATUS_ARB" alias="GL_COMPLETION_STATUS_KHR"/>
+        <enum value="0x91B2" name="GL_RENDERBUFFER_STORAGE_SAMPLES_AMD" group="RenderbufferParameterName"/>
+        <enum value="0x91B3" name="GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD"/>
+        <enum value="0x91B4" name="GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD"/>
+        <enum value="0x91B5" name="GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD"/>
+        <enum value="0x91B6" name="GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD"/>
+        <enum value="0x91B7" name="GL_SUPPORTED_MULTISAMPLE_MODES_AMD"/>
+            <unused start="0x91B8" end="0x91B8" vendor="AMD"/>
+        <enum value="0x91B9" name="GL_COMPUTE_SHADER" group="ShaderType"/>
+            <unused start="0x91BA" vendor="AMD"/>
+        <enum value="0x91BB" name="GL_MAX_COMPUTE_UNIFORM_BLOCKS" group="GetPName"/>
+        <enum value="0x91BC" name="GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS" group="GetPName"/>
+        <enum value="0x91BD" name="GL_MAX_COMPUTE_IMAGE_UNIFORMS"/>
+        <enum value="0x91BE" name="GL_MAX_COMPUTE_WORK_GROUP_COUNT" group="GetPName"/>
+        <enum value="0x91BF" name="GL_MAX_COMPUTE_WORK_GROUP_SIZE" group="GetPName"/>
+        <enum value="0x91BF" name="GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB" alias="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
+            <unused start="0x91C0" end="0x91C4" vendor="AMD"/>
+        <enum value="0x91C5" name="GL_FLOAT16_MAT2_AMD"/>
+        <enum value="0x91C6" name="GL_FLOAT16_MAT3_AMD"/>
+        <enum value="0x91C7" name="GL_FLOAT16_MAT4_AMD"/>
+        <enum value="0x91C8" name="GL_FLOAT16_MAT2x3_AMD"/>
+        <enum value="0x91C9" name="GL_FLOAT16_MAT2x4_AMD"/>
+        <enum value="0x91CA" name="GL_FLOAT16_MAT3x2_AMD"/>
+        <enum value="0x91CB" name="GL_FLOAT16_MAT3x4_AMD"/>
+        <enum value="0x91CC" name="GL_FLOAT16_MAT4x2_AMD"/>
+        <enum value="0x91CD" name="GL_FLOAT16_MAT4x3_AMD"/>
+            <unused start="0x91CE" end="0x923F" vendor="AMD"/>
+    </enums>
+
+    <enums namespace="GL" start="0x9240" end="0x924F" vendor="WEBGL" comment="Khronos bug 6473,6884">
+        <enum value="0x9240" name="GL_UNPACK_FLIP_Y_WEBGL"/>
+        <enum value="0x9241" name="GL_UNPACK_PREMULTIPLY_ALPHA_WEBGL"/>
+        <enum value="0x9242" name="GL_CONTEXT_LOST_WEBGL"/>
+        <enum value="0x9243" name="GL_UNPACK_COLORSPACE_CONVERSION_WEBGL"/>
+        <enum value="0x9244" name="GL_BROWSER_DEFAULT_WEBGL"/>
+            <unused start="0x9245" end="0x924F" vendor="WEBGL"/>
+    </enums>
+
+    <enums namespace="GL" start="0x9250" end="0x925F" vendor="DMP" comment="For Eisaku Ohbuchi via email">
+        <enum value="0x9250" name="GL_SHADER_BINARY_DMP" group="ShaderBinaryFormat"/>
+        <enum value="0x9251" name="GL_SMAPHS30_PROGRAM_BINARY_DMP"/>
+        <enum value="0x9252" name="GL_SMAPHS_PROGRAM_BINARY_DMP"/>
+        <enum value="0x9253" name="GL_DMP_PROGRAM_BINARY_DMP"/>
+            <unused start="0x9254" end="0x925F" vendor="DMP"/>
+    </enums>
+
+    <enums namespace="GL" start="0x9260" end="0x926F" vendor="FJ" comment="Khronos bug 7486">
+        <enum value="0x9260" name="GL_GCCSO_SHADER_BINARY_FJ" group="ShaderBinaryFormat"/>
+            <unused start="0x9261" end="0x926F" vendor="FJ"/>
+    </enums>
+
+    <enums namespace="GL" start="0x9270" end="0x927F" vendor="OES" comment="Khronos bug 7625">
+        <enum value="0x9270" name="GL_COMPRESSED_R11_EAC" group="InternalFormat"/>
+        <enum value="0x9270" name="GL_COMPRESSED_R11_EAC_OES"/>
+        <enum value="0x9271" name="GL_COMPRESSED_SIGNED_R11_EAC" group="InternalFormat"/>
+        <enum value="0x9271" name="GL_COMPRESSED_SIGNED_R11_EAC_OES"/>
+        <enum value="0x9272" name="GL_COMPRESSED_RG11_EAC" group="InternalFormat"/>
+        <enum value="0x9272" name="GL_COMPRESSED_RG11_EAC_OES"/>
+        <enum value="0x9273" name="GL_COMPRESSED_SIGNED_RG11_EAC" group="InternalFormat"/>
+        <enum value="0x9273" name="GL_COMPRESSED_SIGNED_RG11_EAC_OES"/>
+        <enum value="0x9274" name="GL_COMPRESSED_RGB8_ETC2" group="InternalFormat"/>
+        <enum value="0x9274" name="GL_COMPRESSED_RGB8_ETC2_OES"/>
+        <enum value="0x9275" name="GL_COMPRESSED_SRGB8_ETC2" group="InternalFormat"/>
+        <enum value="0x9275" name="GL_COMPRESSED_SRGB8_ETC2_OES"/>
+        <enum value="0x9276" name="GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2" group="InternalFormat"/>
+        <enum value="0x9276" name="GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES"/>
+        <enum value="0x9277" name="GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2" group="InternalFormat"/>
+        <enum value="0x9277" name="GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES"/>
+        <enum value="0x9278" name="GL_COMPRESSED_RGBA8_ETC2_EAC" group="InternalFormat"/>
+        <enum value="0x9278" name="GL_COMPRESSED_RGBA8_ETC2_EAC_OES"/>
+        <enum value="0x9279" name="GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC" group="InternalFormat"/>
+        <enum value="0x9279" name="GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES"/>
+            <unused start="0x927A" end="0x927F" vendor="OES"/>
+    </enums>
+
+    <enums namespace="GL" start="0x9280" end="0x937F" vendor="NV" comment="Khronos bug 7658">
+        <enum value="0x9280" name="GL_BLEND_PREMULTIPLIED_SRC_NV"/>
+        <enum value="0x9281" name="GL_BLEND_OVERLAP_NV"/>
+        <enum value="0x9282" name="GL_UNCORRELATED_NV"/>
+        <enum value="0x9283" name="GL_DISJOINT_NV"/>
+        <enum value="0x9284" name="GL_CONJOINT_NV"/>
+        <enum value="0x9285" name="GL_BLEND_ADVANCED_COHERENT_KHR"/>
+        <enum value="0x9285" name="GL_BLEND_ADVANCED_COHERENT_NV"/>
+        <enum value="0x9286" name="GL_SRC_NV"/>
+        <enum value="0x9287" name="GL_DST_NV"/>
+        <enum value="0x9288" name="GL_SRC_OVER_NV"/>
+        <enum value="0x9289" name="GL_DST_OVER_NV"/>
+        <enum value="0x928A" name="GL_SRC_IN_NV"/>
+        <enum value="0x928B" name="GL_DST_IN_NV"/>
+        <enum value="0x928C" name="GL_SRC_OUT_NV"/>
+        <enum value="0x928D" name="GL_DST_OUT_NV"/>
+        <enum value="0x928E" name="GL_SRC_ATOP_NV"/>
+        <enum value="0x928F" name="GL_DST_ATOP_NV"/>
+            <unused start="0x9290" vendor="NV"/>
+        <enum value="0x9291" name="GL_PLUS_NV"/>
+        <enum value="0x9292" name="GL_PLUS_DARKER_NV"/>
+            <unused start="0x9293" vendor="NV"/>
+        <enum value="0x9294" name="GL_MULTIPLY"/>
+        <enum value="0x9294" name="GL_MULTIPLY_KHR"/>
+        <enum value="0x9294" name="GL_MULTIPLY_NV"/>
+        <enum value="0x9295" name="GL_SCREEN"/>
+        <enum value="0x9295" name="GL_SCREEN_KHR"/>
+        <enum value="0x9295" name="GL_SCREEN_NV"/>
+        <enum value="0x9296" name="GL_OVERLAY"/>
+        <enum value="0x9296" name="GL_OVERLAY_KHR"/>
+        <enum value="0x9296" name="GL_OVERLAY_NV"/>
+        <enum value="0x9297" name="GL_DARKEN"/>
+        <enum value="0x9297" name="GL_DARKEN_KHR"/>
+        <enum value="0x9297" name="GL_DARKEN_NV"/>
+        <enum value="0x9298" name="GL_LIGHTEN"/>
+        <enum value="0x9298" name="GL_LIGHTEN_KHR"/>
+        <enum value="0x9298" name="GL_LIGHTEN_NV"/>
+        <enum value="0x9299" name="GL_COLORDODGE"/>
+        <enum value="0x9299" name="GL_COLORDODGE_KHR"/>
+        <enum value="0x9299" name="GL_COLORDODGE_NV"/>
+        <enum value="0x929A" name="GL_COLORBURN"/>
+        <enum value="0x929A" name="GL_COLORBURN_KHR"/>
+        <enum value="0x929A" name="GL_COLORBURN_NV"/>
+        <enum value="0x929B" name="GL_HARDLIGHT"/>
+        <enum value="0x929B" name="GL_HARDLIGHT_KHR"/>
+        <enum value="0x929B" name="GL_HARDLIGHT_NV"/>
+        <enum value="0x929C" name="GL_SOFTLIGHT"/>
+        <enum value="0x929C" name="GL_SOFTLIGHT_KHR"/>
+        <enum value="0x929C" name="GL_SOFTLIGHT_NV"/>
+            <unused start="0x929D" vendor="NV"/>
+        <enum value="0x929E" name="GL_DIFFERENCE"/>
+        <enum value="0x929E" name="GL_DIFFERENCE_KHR"/>
+        <enum value="0x929E" name="GL_DIFFERENCE_NV"/>
+        <enum value="0x929F" name="GL_MINUS_NV"/>
+        <enum value="0x92A0" name="GL_EXCLUSION"/>
+        <enum value="0x92A0" name="GL_EXCLUSION_KHR"/>
+        <enum value="0x92A0" name="GL_EXCLUSION_NV"/>
+        <enum value="0x92A1" name="GL_CONTRAST_NV"/>
+            <unused start="0x92A2" vendor="NV"/>
+        <enum value="0x92A3" name="GL_INVERT_RGB_NV"/>
+        <enum value="0x92A4" name="GL_LINEARDODGE_NV"/>
+        <enum value="0x92A5" name="GL_LINEARBURN_NV"/>
+        <enum value="0x92A6" name="GL_VIVIDLIGHT_NV"/>
+        <enum value="0x92A7" name="GL_LINEARLIGHT_NV"/>
+        <enum value="0x92A8" name="GL_PINLIGHT_NV"/>
+        <enum value="0x92A9" name="GL_HARDMIX_NV"/>
+            <unused start="0x92AA" end="0x92AC" vendor="NV"/>
+        <enum value="0x92AD" name="GL_HSL_HUE"/>
+        <enum value="0x92AD" name="GL_HSL_HUE_KHR"/>
+        <enum value="0x92AD" name="GL_HSL_HUE_NV"/>
+        <enum value="0x92AE" name="GL_HSL_SATURATION"/>
+        <enum value="0x92AE" name="GL_HSL_SATURATION_KHR"/>
+        <enum value="0x92AE" name="GL_HSL_SATURATION_NV"/>
+        <enum value="0x92AF" name="GL_HSL_COLOR"/>
+        <enum value="0x92AF" name="GL_HSL_COLOR_KHR"/>
+        <enum value="0x92AF" name="GL_HSL_COLOR_NV"/>
+        <enum value="0x92B0" name="GL_HSL_LUMINOSITY"/>
+        <enum value="0x92B0" name="GL_HSL_LUMINOSITY_KHR"/>
+        <enum value="0x92B0" name="GL_HSL_LUMINOSITY_NV"/>
+        <enum value="0x92B1" name="GL_PLUS_CLAMPED_NV"/>
+        <enum value="0x92B2" name="GL_PLUS_CLAMPED_ALPHA_NV"/>
+        <enum value="0x92B3" name="GL_MINUS_CLAMPED_NV"/>
+        <enum value="0x92B4" name="GL_INVERT_OVG_NV"/>
+            <unused start="0x92B5" end="0x92B9" vendor="NV"/>
+        <enum value="0x92BA" name="GL_MAX_LGPU_GPUS_NVX"/>
+        <enum value="0x92BA" name="GL_MULTICAST_GPUS_NV"/>
+        <enum value="0x92BB" name="GL_PURGED_CONTEXT_RESET_NV"/>
+            <unused start="0x92BC" end="0x92BD" vendor="NV"/>
+        <enum value="0x92BE" name="GL_PRIMITIVE_BOUNDING_BOX_ARB"/>
+        <enum value="0x92BE" name="GL_PRIMITIVE_BOUNDING_BOX"/>
+        <enum value="0x92BE" name="GL_PRIMITIVE_BOUNDING_BOX_EXT"/>
+        <enum value="0x92BE" name="GL_PRIMITIVE_BOUNDING_BOX_OES"/>
+        <enum value="0x92BF" name="GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV"/>
+        <enum value="0x92C0" name="GL_ATOMIC_COUNTER_BUFFER" group="CopyBufferSubDataTarget,BufferTargetARB,BufferStorageTarget"/>
+        <enum value="0x92C1" name="GL_ATOMIC_COUNTER_BUFFER_BINDING" group="AtomicCounterBufferPName"/>
+        <enum value="0x92C2" name="GL_ATOMIC_COUNTER_BUFFER_START"/>
+        <enum value="0x92C3" name="GL_ATOMIC_COUNTER_BUFFER_SIZE"/>
+        <enum value="0x92C4" name="GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE" group="AtomicCounterBufferPName"/>
+        <enum value="0x92C5" name="GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS" group="AtomicCounterBufferPName"/>
+        <enum value="0x92C6" name="GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES" group="AtomicCounterBufferPName"/>
+        <enum value="0x92C7" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER" group="AtomicCounterBufferPName"/>
+        <enum value="0x92C8" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER" group="AtomicCounterBufferPName"/>
+        <enum value="0x92C9" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER" group="AtomicCounterBufferPName"/>
+        <enum value="0x92CA" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER" group="AtomicCounterBufferPName"/>
+        <enum value="0x92CB" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER" group="AtomicCounterBufferPName"/>
+        <enum value="0x92CC" name="GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS"/>
+        <enum value="0x92CD" name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS"/>
+        <enum value="0x92CD" name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT"/>
+        <enum value="0x92CD" name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES"/>
+        <enum value="0x92CE" name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS"/>
+        <enum value="0x92CE" name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT"/>
+        <enum value="0x92CE" name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES"/>
+        <enum value="0x92CF" name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS"/>
+        <enum value="0x92CF" name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT"/>
+        <enum value="0x92CF" name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES"/>
+        <enum value="0x92D0" name="GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS"/>
+        <enum value="0x92D1" name="GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS"/>
+        <enum value="0x92D2" name="GL_MAX_VERTEX_ATOMIC_COUNTERS" group="GetPName"/>
+        <enum value="0x92D3" name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS" group="GetPName"/>
+        <enum value="0x92D3" name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT"/>
+        <enum value="0x92D3" name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES"/>
+        <enum value="0x92D4" name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS" group="GetPName"/>
+        <enum value="0x92D4" name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT"/>
+        <enum value="0x92D4" name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES"/>
+        <enum value="0x92D5" name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS" group="GetPName"/>
+        <enum value="0x92D5" name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT"/>
+        <enum value="0x92D5" name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS_OES"/>
+        <enum value="0x92D6" name="GL_MAX_FRAGMENT_ATOMIC_COUNTERS" group="GetPName"/>
+        <enum value="0x92D7" name="GL_MAX_COMBINED_ATOMIC_COUNTERS" group="GetPName"/>
+        <enum value="0x92D8" name="GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE"/>
+        <enum value="0x92D9" name="GL_ACTIVE_ATOMIC_COUNTER_BUFFERS" group="ProgramPropertyARB"/>
+        <enum value="0x92DA" name="GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX" group="UniformPName"/>
+        <enum value="0x92DB" name="GL_UNSIGNED_INT_ATOMIC_COUNTER" group="GlslTypeToken"/>
+        <enum value="0x92DC" name="GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS"/>
+        <enum value="0x92DD" name="GL_FRAGMENT_COVERAGE_TO_COLOR_NV"/>
+        <enum value="0x92DE" name="GL_FRAGMENT_COVERAGE_COLOR_NV"/>
+        <enum value="0x92DF" name="GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV"/>
+        <enum value="0x92E0" name="GL_DEBUG_OUTPUT" group="EnableCap"/>
+        <enum value="0x92E0" name="GL_DEBUG_OUTPUT_KHR"/>
+        <enum value="0x92E1" name="GL_UNIFORM" group="ProgramResourceProperty,ProgramInterface"/>
+        <enum value="0x92E2" name="GL_UNIFORM_BLOCK" group="ProgramInterface"/>
+        <enum value="0x92E3" name="GL_PROGRAM_INPUT" group="ProgramInterface"/>
+        <enum value="0x92E4" name="GL_PROGRAM_OUTPUT" group="ProgramInterface"/>
+        <enum value="0x92E5" name="GL_BUFFER_VARIABLE" group="ProgramInterface"/>
+        <enum value="0x92E6" name="GL_SHADER_STORAGE_BLOCK" group="ProgramInterface"/>
+        <enum value="0x92E7" name="GL_IS_PER_PATCH" group="ProgramResourceProperty"/>
+        <enum value="0x92E7" name="GL_IS_PER_PATCH_EXT"/>
+        <enum value="0x92E7" name="GL_IS_PER_PATCH_OES"/>
+        <enum value="0x92E8" name="GL_VERTEX_SUBROUTINE" group="ProgramInterface"/>
+        <enum value="0x92E9" name="GL_TESS_CONTROL_SUBROUTINE" group="ProgramInterface"/>
+        <enum value="0x92EA" name="GL_TESS_EVALUATION_SUBROUTINE" group="ProgramInterface"/>
+        <enum value="0x92EB" name="GL_GEOMETRY_SUBROUTINE" group="ProgramInterface"/>
+        <enum value="0x92EC" name="GL_FRAGMENT_SUBROUTINE" group="ProgramInterface"/>
+        <enum value="0x92ED" name="GL_COMPUTE_SUBROUTINE" group="ProgramInterface"/>
+        <enum value="0x92EE" name="GL_VERTEX_SUBROUTINE_UNIFORM" group="ProgramInterface"/>
+        <enum value="0x92EF" name="GL_TESS_CONTROL_SUBROUTINE_UNIFORM" group="ProgramInterface"/>
+        <enum value="0x92F0" name="GL_TESS_EVALUATION_SUBROUTINE_UNIFORM" group="ProgramInterface"/>
+        <enum value="0x92F1" name="GL_GEOMETRY_SUBROUTINE_UNIFORM" group="ProgramInterface"/>
+        <enum value="0x92F2" name="GL_FRAGMENT_SUBROUTINE_UNIFORM" group="ProgramInterface"/>
+        <enum value="0x92F3" name="GL_COMPUTE_SUBROUTINE_UNIFORM" group="ProgramInterface"/>
+        <enum value="0x92F4" name="GL_TRANSFORM_FEEDBACK_VARYING" group="ProgramInterface"/>
+        <enum value="0x92F5" name="GL_ACTIVE_RESOURCES" group="ProgramInterfacePName"/>
+        <enum value="0x92F6" name="GL_MAX_NAME_LENGTH" group="ProgramInterfacePName"/>
+        <enum value="0x92F7" name="GL_MAX_NUM_ACTIVE_VARIABLES" group="ProgramInterfacePName"/>
+        <enum value="0x92F8" name="GL_MAX_NUM_COMPATIBLE_SUBROUTINES" group="ProgramInterfacePName"/>
+        <enum value="0x92F9" name="GL_NAME_LENGTH" group="ProgramResourceProperty"/>
+        <enum value="0x92FA" name="GL_TYPE" group="ProgramResourceProperty"/>
+        <enum value="0x92FB" name="GL_ARRAY_SIZE" group="ProgramResourceProperty"/>
+        <enum value="0x92FC" name="GL_OFFSET" group="ProgramResourceProperty"/>
+        <enum value="0x92FD" name="GL_BLOCK_INDEX" group="ProgramResourceProperty"/>
+        <enum value="0x92FE" name="GL_ARRAY_STRIDE" group="ProgramResourceProperty"/>
+        <enum value="0x92FF" name="GL_MATRIX_STRIDE" group="ProgramResourceProperty"/>
+        <enum value="0x9300" name="GL_IS_ROW_MAJOR" group="ProgramResourceProperty"/>
+        <enum value="0x9301" name="GL_ATOMIC_COUNTER_BUFFER_INDEX" group="ProgramResourceProperty"/>
+        <enum value="0x9302" name="GL_BUFFER_BINDING" group="ProgramResourceProperty"/>
+        <enum value="0x9303" name="GL_BUFFER_DATA_SIZE" group="ProgramResourceProperty"/>
+        <enum value="0x9304" name="GL_NUM_ACTIVE_VARIABLES" group="ProgramResourceProperty"/>
+        <enum value="0x9305" name="GL_ACTIVE_VARIABLES" group="ProgramResourceProperty"/>
+        <enum value="0x9306" name="GL_REFERENCED_BY_VERTEX_SHADER" group="ProgramResourceProperty"/>
+        <enum value="0x9307" name="GL_REFERENCED_BY_TESS_CONTROL_SHADER" group="ProgramResourceProperty"/>
+        <enum value="0x9307" name="GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT"/>
+        <enum value="0x9307" name="GL_REFERENCED_BY_TESS_CONTROL_SHADER_OES"/>
+        <enum value="0x9308" name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER" group="ProgramResourceProperty"/>
+        <enum value="0x9308" name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT"/>
+        <enum value="0x9308" name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER_OES"/>
+        <enum value="0x9309" name="GL_REFERENCED_BY_GEOMETRY_SHADER" group="ProgramResourceProperty"/>
+        <enum value="0x9309" name="GL_REFERENCED_BY_GEOMETRY_SHADER_EXT"/>
+        <enum value="0x9309" name="GL_REFERENCED_BY_GEOMETRY_SHADER_OES"/>
+        <enum value="0x930A" name="GL_REFERENCED_BY_FRAGMENT_SHADER" group="ProgramResourceProperty"/>
+        <enum value="0x930B" name="GL_REFERENCED_BY_COMPUTE_SHADER" group="ProgramResourceProperty"/>
+        <enum value="0x930C" name="GL_TOP_LEVEL_ARRAY_SIZE" group="ProgramResourceProperty"/>
+        <enum value="0x930D" name="GL_TOP_LEVEL_ARRAY_STRIDE" group="ProgramResourceProperty"/>
+        <enum value="0x930E" name="GL_LOCATION" group="ProgramResourceProperty"/>
+        <enum value="0x930F" name="GL_LOCATION_INDEX" group="ProgramResourceProperty"/>
+        <enum value="0x930F" name="GL_LOCATION_INDEX_EXT"/>
+        <enum value="0x9310" name="GL_FRAMEBUFFER_DEFAULT_WIDTH" group="GetFramebufferParameter,FramebufferParameterName"/>
+        <enum value="0x9311" name="GL_FRAMEBUFFER_DEFAULT_HEIGHT" group="GetFramebufferParameter,FramebufferParameterName"/>
+        <enum value="0x9312" name="GL_FRAMEBUFFER_DEFAULT_LAYERS" group="GetFramebufferParameter,FramebufferParameterName"/>
+        <enum value="0x9312" name="GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT"/>
+        <enum value="0x9312" name="GL_FRAMEBUFFER_DEFAULT_LAYERS_OES"/>
+        <enum value="0x9313" name="GL_FRAMEBUFFER_DEFAULT_SAMPLES" group="GetFramebufferParameter,FramebufferParameterName"/>
+        <enum value="0x9314" name="GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS" group="GetFramebufferParameter,FramebufferParameterName"/>
+        <enum value="0x9315" name="GL_MAX_FRAMEBUFFER_WIDTH" group="GetPName"/>
+        <enum value="0x9316" name="GL_MAX_FRAMEBUFFER_HEIGHT" group="GetPName"/>
+        <enum value="0x9317" name="GL_MAX_FRAMEBUFFER_LAYERS" group="GetPName"/>
+        <enum value="0x9317" name="GL_MAX_FRAMEBUFFER_LAYERS_EXT"/>
+        <enum value="0x9317" name="GL_MAX_FRAMEBUFFER_LAYERS_OES"/>
+        <enum value="0x9318" name="GL_MAX_FRAMEBUFFER_SAMPLES" group="GetPName"/>
+            <unused start="0x9319" end="0x9326" vendor="NV"/>
+        <enum value="0x9327" name="GL_RASTER_MULTISAMPLE_EXT"/>
+        <enum value="0x9328" name="GL_RASTER_SAMPLES_EXT"/>
+        <enum value="0x9329" name="GL_MAX_RASTER_SAMPLES_EXT"/>
+        <enum value="0x932A" name="GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT"/>
+        <enum value="0x932B" name="GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT"/>
+        <enum value="0x932C" name="GL_EFFECTIVE_RASTER_SAMPLES_EXT"/>
+        <enum value="0x932D" name="GL_DEPTH_SAMPLES_NV"/>
+        <enum value="0x932E" name="GL_STENCIL_SAMPLES_NV"/>
+        <enum value="0x932F" name="GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV"/>
+        <enum value="0x9330" name="GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV"/>
+        <enum value="0x9331" name="GL_COVERAGE_MODULATION_TABLE_NV"/>
+        <enum value="0x9332" name="GL_COVERAGE_MODULATION_NV"/>
+        <enum value="0x9333" name="GL_COVERAGE_MODULATION_TABLE_SIZE_NV"/>
+            <unused start="0x9334" end="0x9338" vendor="NV"/>
+        <enum value="0x9339" name="GL_WARP_SIZE_NV"/>
+        <enum value="0x933A" name="GL_WARPS_PER_SM_NV"/>
+        <enum value="0x933B" name="GL_SM_COUNT_NV"/>
+        <enum value="0x933C" name="GL_FILL_RECTANGLE_NV"/>
+        <enum value="0x933D" name="GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB"/>
+        <enum value="0x933D" name="GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV"/>
+        <enum value="0x933E" name="GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB"/>
+        <enum value="0x933E" name="GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV"/>
+        <enum value="0x933F" name="GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB"/>
+        <enum value="0x933F" name="GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV"/>
+        <enum value="0x9340" name="GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB"/>
+        <enum value="0x9340" name="GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV"/>
+        <enum value="0x9341" name="GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB" group="GetMultisamplePNameNV"/>
+        <enum value="0x9341" name="GL_PROGRAMMABLE_SAMPLE_LOCATION_NV"/>
+        <enum value="0x9342" name="GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB"/>
+        <enum value="0x9342" name="GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV"/>
+        <enum value="0x9343" name="GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB"/>
+        <enum value="0x9343" name="GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV"/>
+        <enum value="0x9344" name="GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB"/>
+        <enum value="0x9345" name="GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB"/>
+        <enum value="0x9346" name="GL_CONSERVATIVE_RASTERIZATION_NV"/>
+        <enum value="0x9347" name="GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV"/>
+        <enum value="0x9348" name="GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV"/>
+        <enum value="0x9349" name="GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV"/>
+        <enum value="0x934A" name="GL_LOCATION_COMPONENT" group="ProgramResourceProperty"/>
+        <enum value="0x934B" name="GL_TRANSFORM_FEEDBACK_BUFFER_INDEX" group="ProgramResourceProperty"/>
+        <enum value="0x934C" name="GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE" group="ProgramResourceProperty"/>
+        <enum value="0x934D" name="GL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV"/>
+        <enum value="0x934E" name="GL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV"/>
+        <enum value="0x934F" name="GL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV"/>
+        <enum value="0x9350" name="GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV"/>
+        <enum value="0x9351" name="GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV"/>
+        <enum value="0x9352" name="GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV"/>
+        <enum value="0x9353" name="GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV"/>
+        <enum value="0x9354" name="GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV"/>
+        <enum value="0x9355" name="GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV"/>
+        <enum value="0x9356" name="GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV"/>
+        <enum value="0x9357" name="GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV"/>
+        <enum value="0x9358" name="GL_VIEWPORT_SWIZZLE_X_NV"/>
+        <enum value="0x9359" name="GL_VIEWPORT_SWIZZLE_Y_NV"/>
+        <enum value="0x935A" name="GL_VIEWPORT_SWIZZLE_Z_NV"/>
+        <enum value="0x935B" name="GL_VIEWPORT_SWIZZLE_W_NV"/>
+        <enum value="0x935C" name="GL_CLIP_ORIGIN"/>
+        <enum value="0x935C" name="GL_CLIP_ORIGIN_EXT" alias="GL_CLIP_ORIGIN"/>
+        <enum value="0x935D" name="GL_CLIP_DEPTH_MODE"/>
+        <enum value="0x935D" name="GL_CLIP_DEPTH_MODE_EXT" alias="GL_CLIP_DEPTH_MODE"/>
+        <enum value="0x935E" name="GL_NEGATIVE_ONE_TO_ONE" group="ClipControlDepth"/>
+        <enum value="0x935E" name="GL_NEGATIVE_ONE_TO_ONE_EXT" alias="GL_NEGATIVE_ONE_TO_ONE"/>
+        <enum value="0x935F" name="GL_ZERO_TO_ONE" group="ClipControlDepth"/>
+        <enum value="0x935F" name="GL_ZERO_TO_ONE_EXT" alias="GL_ZERO_TO_ONE"/>
+            <unused start="0x9360" end="0x9364" vendor="NV"/>
+        <enum value="0x9365" name="GL_CLEAR_TEXTURE" group="InternalFormatPName"/>
+        <enum value="0x9366" name="GL_TEXTURE_REDUCTION_MODE_ARB"/>
+        <enum value="0x9366" name="GL_TEXTURE_REDUCTION_MODE_EXT" alias="GL_TEXTURE_REDUCTION_MODE_ARB"/>
+        <enum value="0x9367" name="GL_WEIGHTED_AVERAGE_ARB"/>
+        <enum value="0x9367" name="GL_WEIGHTED_AVERAGE_EXT" alias="GL_WEIGHTED_AVERAGE_ARB"/>
+        <enum value="0x9368" name="GL_FONT_GLYPHS_AVAILABLE_NV"/>
+        <enum value="0x9369" name="GL_FONT_TARGET_UNAVAILABLE_NV"/>
+        <enum value="0x936A" name="GL_FONT_UNAVAILABLE_NV"/>
+        <enum value="0x936B" name="GL_FONT_UNINTELLIGIBLE_NV"/>
+        <enum value="0x936C" name="GL_STANDARD_FONT_FORMAT_NV"/>
+        <enum value="0x936D" name="GL_FRAGMENT_INPUT_NV"/>
+        <enum value="0x936E" name="GL_UNIFORM_BUFFER_UNIFIED_NV"/>
+        <enum value="0x936F" name="GL_UNIFORM_BUFFER_ADDRESS_NV"/>
+        <enum value="0x9370" name="GL_UNIFORM_BUFFER_LENGTH_NV"/>
+        <enum value="0x9371" name="GL_MULTISAMPLES_NV"/>
+        <enum value="0x9372" name="GL_SUPERSAMPLE_SCALE_X_NV"/>
+        <enum value="0x9373" name="GL_SUPERSAMPLE_SCALE_Y_NV"/>
+        <enum value="0x9374" name="GL_CONFORMANT_NV"/>
+            <unused start="0x9375" end="0x9378" vendor="NV"/>
+        <enum value="0x9379" name="GL_CONSERVATIVE_RASTER_DILATE_NV"/>
+        <enum value="0x937A" name="GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV"/>
+        <enum value="0x937B" name="GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV"/>
+        <enum value="0x937C" name="GL_VIEWPORT_POSITION_W_SCALE_NV"/>
+        <enum value="0x937D" name="GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV"/>
+        <enum value="0x937E" name="GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV"/>
+        <enum value="0x937F" name="GL_REPRESENTATIVE_FRAGMENT_TEST_NV"/>
+    </enums>
+
+    <enums namespace="GL" start="0x9380" end="0x939F" vendor="ARB">
+        <enum value="0x9380" name="GL_NUM_SAMPLE_COUNTS" group="InternalFormatPName"/>
+        <enum value="0x9381" name="GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB"/>
+        <enum value="0x9381" name="GL_MULTISAMPLE_LINE_WIDTH_RANGE"/>
+        <enum value="0x9382" name="GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB"/>
+        <enum value="0x9382" name="GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY"/>
+        <enum value="0x9383" name="GL_VIEW_CLASS_EAC_R11"/>
+        <enum value="0x9384" name="GL_VIEW_CLASS_EAC_RG11"/>
+        <enum value="0x9385" name="GL_VIEW_CLASS_ETC2_RGB"/>
+        <enum value="0x9386" name="GL_VIEW_CLASS_ETC2_RGBA"/>
+        <enum value="0x9387" name="GL_VIEW_CLASS_ETC2_EAC_RGBA"/>
+        <enum value="0x9388" name="GL_VIEW_CLASS_ASTC_4x4_RGBA"/>
+        <enum value="0x9389" name="GL_VIEW_CLASS_ASTC_5x4_RGBA"/>
+        <enum value="0x938A" name="GL_VIEW_CLASS_ASTC_5x5_RGBA"/>
+        <enum value="0x938B" name="GL_VIEW_CLASS_ASTC_6x5_RGBA"/>
+        <enum value="0x938C" name="GL_VIEW_CLASS_ASTC_6x6_RGBA"/>
+        <enum value="0x938D" name="GL_VIEW_CLASS_ASTC_8x5_RGBA"/>
+        <enum value="0x938E" name="GL_VIEW_CLASS_ASTC_8x6_RGBA"/>
+        <enum value="0x938F" name="GL_VIEW_CLASS_ASTC_8x8_RGBA"/>
+        <enum value="0x9390" name="GL_VIEW_CLASS_ASTC_10x5_RGBA"/>
+        <enum value="0x9391" name="GL_VIEW_CLASS_ASTC_10x6_RGBA"/>
+        <enum value="0x9392" name="GL_VIEW_CLASS_ASTC_10x8_RGBA"/>
+        <enum value="0x9393" name="GL_VIEW_CLASS_ASTC_10x10_RGBA"/>
+        <enum value="0x9394" name="GL_VIEW_CLASS_ASTC_12x10_RGBA"/>
+        <enum value="0x9395" name="GL_VIEW_CLASS_ASTC_12x12_RGBA"/>
+            <unused start="0x9396" end="0x939F" vendor="ARB" comment="reserved for ASTC 3D interactions with ARB_ifq2"/>
+            <!-- <enum value="0x9396" name="GL_VIEW_CLASS_ASTC_3x3x3_RGBA"/> -->
+            <!-- <enum value="0x9397" name="GL_VIEW_CLASS_ASTC_4x3x3_RGBA"/> -->
+            <!-- <enum value="0x9398" name="GL_VIEW_CLASS_ASTC_4x4x3_RGBA"/> -->
+            <!-- <enum value="0x9399" name="GL_VIEW_CLASS_ASTC_4x4x4_RGBA"/> -->
+            <!-- <enum value="0x939A" name="GL_VIEW_CLASS_ASTC_5x4x4_RGBA"/> -->
+            <!-- <enum value="0x939B" name="GL_VIEW_CLASS_ASTC_5x5x4_RGBA"/> -->
+            <!-- <enum value="0x939C" name="GL_VIEW_CLASS_ASTC_5x5x5_RGBA"/> -->
+            <!-- <enum value="0x939D" name="GL_VIEW_CLASS_ASTC_6x5x5_RGBA"/> -->
+            <!-- <enum value="0x939E" name="GL_VIEW_CLASS_ASTC_6x6x5_RGBA"/> -->
+            <!-- <enum value="0x939F" name="GL_VIEW_CLASS_ASTC_6x6x6_RGBA"/> -->
+    </enums>
+
+    <enums namespace="GL" start="0x93A0" end="0x93AF" vendor="ANGLE" comment="Khronos bug 8100">
+        <enum value="0x93A0" name="GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE"/>
+        <enum value="0x93A1" name="GL_BGRA8_EXT"/>
+        <enum value="0x93A2" name="GL_TEXTURE_USAGE_ANGLE"/>
+        <enum value="0x93A3" name="GL_FRAMEBUFFER_ATTACHMENT_ANGLE"/>
+        <enum value="0x93A4" name="GL_PACK_REVERSE_ROW_ORDER_ANGLE"/>
+            <unused start="0x93A5" vendor="ANGLE"/>
+        <enum value="0x93A6" name="GL_PROGRAM_BINARY_ANGLE"/>
+            <unused start="0x93A7" end="0x93AF" vendor="ANGLE"/>
+    </enums>
+
+    <enums namespace="GL" start="0x93B0" end="0x93EF" vendor="OES" comment="Khronos bug 8853">
+        <enum value="0x93B0" name="GL_COMPRESSED_RGBA_ASTC_4x4" group="InternalFormat"/>
+        <enum value="0x93B0" name="GL_COMPRESSED_RGBA_ASTC_4x4_KHR" group="InternalFormat"/>
+        <enum value="0x93B1" name="GL_COMPRESSED_RGBA_ASTC_5x4" group="InternalFormat"/>
+        <enum value="0x93B1" name="GL_COMPRESSED_RGBA_ASTC_5x4_KHR" group="InternalFormat"/>
+        <enum value="0x93B2" name="GL_COMPRESSED_RGBA_ASTC_5x5" group="InternalFormat"/>
+        <enum value="0x93B2" name="GL_COMPRESSED_RGBA_ASTC_5x5_KHR" group="InternalFormat"/>
+        <enum value="0x93B3" name="GL_COMPRESSED_RGBA_ASTC_6x5" group="InternalFormat"/>
+        <enum value="0x93B3" name="GL_COMPRESSED_RGBA_ASTC_6x5_KHR" group="InternalFormat"/>
+        <enum value="0x93B4" name="GL_COMPRESSED_RGBA_ASTC_6x6" group="InternalFormat"/>
+        <enum value="0x93B4" name="GL_COMPRESSED_RGBA_ASTC_6x6_KHR" group="InternalFormat"/>
+        <enum value="0x93B5" name="GL_COMPRESSED_RGBA_ASTC_8x5" group="InternalFormat"/>
+        <enum value="0x93B5" name="GL_COMPRESSED_RGBA_ASTC_8x5_KHR" group="InternalFormat"/>
+        <enum value="0x93B6" name="GL_COMPRESSED_RGBA_ASTC_8x6" group="InternalFormat"/>
+        <enum value="0x93B6" name="GL_COMPRESSED_RGBA_ASTC_8x6_KHR" group="InternalFormat"/>
+        <enum value="0x93B7" name="GL_COMPRESSED_RGBA_ASTC_8x8" group="InternalFormat"/>
+        <enum value="0x93B7" name="GL_COMPRESSED_RGBA_ASTC_8x8_KHR" group="InternalFormat"/>
+        <enum value="0x93B8" name="GL_COMPRESSED_RGBA_ASTC_10x5" group="InternalFormat"/>
+        <enum value="0x93B8" name="GL_COMPRESSED_RGBA_ASTC_10x5_KHR" group="InternalFormat"/>
+        <enum value="0x93B9" name="GL_COMPRESSED_RGBA_ASTC_10x6" group="InternalFormat"/>
+        <enum value="0x93B9" name="GL_COMPRESSED_RGBA_ASTC_10x6_KHR" group="InternalFormat"/>
+        <enum value="0x93BA" name="GL_COMPRESSED_RGBA_ASTC_10x8" group="InternalFormat"/>
+        <enum value="0x93BA" name="GL_COMPRESSED_RGBA_ASTC_10x8_KHR" group="InternalFormat"/>
+        <enum value="0x93BB" name="GL_COMPRESSED_RGBA_ASTC_10x10" group="InternalFormat"/>
+        <enum value="0x93BB" name="GL_COMPRESSED_RGBA_ASTC_10x10_KHR" group="InternalFormat"/>
+        <enum value="0x93BC" name="GL_COMPRESSED_RGBA_ASTC_12x10" group="InternalFormat"/>
+        <enum value="0x93BC" name="GL_COMPRESSED_RGBA_ASTC_12x10_KHR" group="InternalFormat"/>
+        <enum value="0x93BD" name="GL_COMPRESSED_RGBA_ASTC_12x12" group="InternalFormat"/>
+        <enum value="0x93BD" name="GL_COMPRESSED_RGBA_ASTC_12x12_KHR" group="InternalFormat"/>
+            <unused start="0x93BE" end="0x93BF" vendor="OES"/>
+        <enum value="0x93C0" name="GL_COMPRESSED_RGBA_ASTC_3x3x3_OES" group="InternalFormat"/>
+        <enum value="0x93C1" name="GL_COMPRESSED_RGBA_ASTC_4x3x3_OES" group="InternalFormat"/>
+        <enum value="0x93C2" name="GL_COMPRESSED_RGBA_ASTC_4x4x3_OES" group="InternalFormat"/>
+        <enum value="0x93C3" name="GL_COMPRESSED_RGBA_ASTC_4x4x4_OES" group="InternalFormat"/>
+        <enum value="0x93C4" name="GL_COMPRESSED_RGBA_ASTC_5x4x4_OES" group="InternalFormat"/>
+        <enum value="0x93C5" name="GL_COMPRESSED_RGBA_ASTC_5x5x4_OES" group="InternalFormat"/>
+        <enum value="0x93C6" name="GL_COMPRESSED_RGBA_ASTC_5x5x5_OES" group="InternalFormat"/>
+        <enum value="0x93C7" name="GL_COMPRESSED_RGBA_ASTC_6x5x5_OES" group="InternalFormat"/>
+        <enum value="0x93C8" name="GL_COMPRESSED_RGBA_ASTC_6x6x5_OES" group="InternalFormat"/>
+        <enum value="0x93C9" name="GL_COMPRESSED_RGBA_ASTC_6x6x6_OES" group="InternalFormat"/>
+            <unused start="0x93CA" end="0x93CF" vendor="OES"/>
+        <enum value="0x93D0" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4" group="InternalFormat"/>
+        <enum value="0x93D0" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR" group="InternalFormat"/>
+        <enum value="0x93D1" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4" group="InternalFormat"/>
+        <enum value="0x93D1" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR" group="InternalFormat"/>
+        <enum value="0x93D2" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5" group="InternalFormat"/>
+        <enum value="0x93D2" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR" group="InternalFormat"/>
+        <enum value="0x93D3" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5" group="InternalFormat"/>
+        <enum value="0x93D3" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR" group="InternalFormat"/>
+        <enum value="0x93D4" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6" group="InternalFormat"/>
+        <enum value="0x93D4" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR" group="InternalFormat"/>
+        <enum value="0x93D5" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5" group="InternalFormat"/>
+        <enum value="0x93D5" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR" group="InternalFormat"/>
+        <enum value="0x93D6" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6" group="InternalFormat"/>
+        <enum value="0x93D6" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR" group="InternalFormat"/>
+        <enum value="0x93D7" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8" group="InternalFormat"/>
+        <enum value="0x93D7" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR" group="InternalFormat"/>
+        <enum value="0x93D8" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5" group="InternalFormat"/>
+        <enum value="0x93D8" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR" group="InternalFormat"/>
+        <enum value="0x93D9" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6" group="InternalFormat"/>
+        <enum value="0x93D9" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR" group="InternalFormat"/>
+        <enum value="0x93DA" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8" group="InternalFormat"/>
+        <enum value="0x93DA" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR" group="InternalFormat"/>
+        <enum value="0x93DB" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10" group="InternalFormat"/>
+        <enum value="0x93DB" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR" group="InternalFormat"/>
+        <enum value="0x93DC" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10" group="InternalFormat"/>
+        <enum value="0x93DC" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR" group="InternalFormat"/>
+        <enum value="0x93DD" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12" group="InternalFormat"/>
+        <enum value="0x93DD" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR" group="InternalFormat"/>
+            <unused start="0x93DE" end="0x93DF" vendor="OES"/>
+        <enum value="0x93E0" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES" group="InternalFormat"/>
+        <enum value="0x93E1" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES" group="InternalFormat"/>
+        <enum value="0x93E2" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES" group="InternalFormat"/>
+        <enum value="0x93E3" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES" group="InternalFormat"/>
+        <enum value="0x93E4" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES" group="InternalFormat"/>
+        <enum value="0x93E5" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES" group="InternalFormat"/>
+        <enum value="0x93E6" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES" group="InternalFormat"/>
+        <enum value="0x93E7" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES" group="InternalFormat"/>
+        <enum value="0x93E8" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES" group="InternalFormat"/>
+        <enum value="0x93E9" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES" group="InternalFormat"/>
+            <unused start="0x93EA" end="0x93EF" vendor="OES"/>
+    </enums>
+
+    <enums namespace="GL" start="0x93F0" end="0x94EF" vendor="APPLE" comment="Khronos bug 10233">
+        <enum value="0x93F0" name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG"/>
+        <enum value="0x93F1" name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG"/>
+            <unused start="0x93F2" end="0x94EF" vendor="APPLE"/>
+    </enums>
+
+    <enums namespace="GL" start="0x94F0" end="0x950F" vendor="INTEL" comment="Khronos bug 11345">
+        <enum value="0x94F0" name="GL_PERFQUERY_COUNTER_EVENT_INTEL"/>
+        <enum value="0x94F1" name="GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL"/>
+        <enum value="0x94F2" name="GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL"/>
+        <enum value="0x94F3" name="GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL"/>
+        <enum value="0x94F4" name="GL_PERFQUERY_COUNTER_RAW_INTEL"/>
+        <enum value="0x94F5" name="GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL"/>
+            <unused start="0x94F6" end="0x94F7" vendor="INTEL"/>
+        <enum value="0x94F8" name="GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL"/>
+        <enum value="0x94F9" name="GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL"/>
+        <enum value="0x94FA" name="GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL"/>
+        <enum value="0x94FB" name="GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL"/>
+        <enum value="0x94FC" name="GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL"/>
+        <enum value="0x94FD" name="GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL"/>
+        <enum value="0x94FE" name="GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL"/>
+        <enum value="0x94FF" name="GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL"/>
+        <enum value="0x9500" name="GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL"/>
+            <unused start="0x9501" end="0x950F" vendor="INTEL"/>
+    </enums>
+
+    <enums namespace="GL" start="0x9510" end="0x952F" vendor="Broadcom" comment="Khronos bug 12203">
+            <unused start="0x9510" end="0x952F" vendor="Broadcom"/>
+    </enums>
+
+    <enums namespace="GL" start="0x9530" end="0x962F" vendor="NV" comment="Khronos bug 12977">
+        <enum value="0x9530" name="GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT" group="TextureLayout"/>
+        <enum value="0x9531" name="GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT" group="TextureLayout"/>
+        <enum value="0x9532" name="GL_SUBGROUP_SIZE_KHR"/>
+        <enum value="0x9533" name="GL_SUBGROUP_SUPPORTED_STAGES_KHR"/>
+        <enum value="0x9534" name="GL_SUBGROUP_SUPPORTED_FEATURES_KHR"/>
+        <enum value="0x9535" name="GL_SUBGROUP_QUAD_ALL_STAGES_KHR"/>
+        <enum value="0x9536" name="GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV"/>
+        <enum value="0x9537" name="GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV"/>
+        <enum value="0x9538" name="GL_MAX_MESH_OUTPUT_VERTICES_NV"/>
+        <enum value="0x9539" name="GL_MAX_MESH_OUTPUT_PRIMITIVES_NV"/>
+        <enum value="0x953A" name="GL_MAX_TASK_OUTPUT_COUNT_NV"/>
+        <enum value="0x953B" name="GL_MAX_MESH_WORK_GROUP_SIZE_NV"/>
+        <enum value="0x953C" name="GL_MAX_TASK_WORK_GROUP_SIZE_NV"/>
+        <enum value="0x953D" name="GL_MAX_DRAW_MESH_TASKS_COUNT_NV"/>
+        <enum value="0x953E" name="GL_MESH_WORK_GROUP_SIZE_NV"/>
+        <enum value="0x953F" name="GL_TASK_WORK_GROUP_SIZE_NV"/>
+        <enum value="0x9540" name="GL_QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV"/>
+            <unused start="0x9541" vendor="NV"/>
+        <enum value="0x9542" name="GL_QUERY_RESOURCE_MEMTYPE_VIDMEM_NV"/>
+        <enum value="0x9543" name="GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV"/>
+        <enum value="0x9544" name="GL_QUERY_RESOURCE_SYS_RESERVED_NV"/>
+        <enum value="0x9545" name="GL_QUERY_RESOURCE_TEXTURE_NV"/>
+        <enum value="0x9546" name="GL_QUERY_RESOURCE_RENDERBUFFER_NV"/>
+        <enum value="0x9547" name="GL_QUERY_RESOURCE_BUFFEROBJECT_NV"/>
+        <enum value="0x9548" name="GL_PER_GPU_STORAGE_NV"/>
+        <enum value="0x9549" name="GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV"/>
+        <enum value="0x954A" name="GL_UPLOAD_GPU_MASK_NVX"/>
+            <unused start="0x954B" end="0x954C" vendor="NV"/>
+        <enum value="0x954D" name="GL_CONSERVATIVE_RASTER_MODE_NV"/>
+        <enum value="0x954E" name="GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV"/>
+        <enum value="0x954F" name="GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV"/>
+        <enum value="0x9550" name="GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV"/>
+        <enum value="0x9551" name="GL_SHADER_BINARY_FORMAT_SPIR_V" group="ShaderBinaryFormat"/>
+        <enum value="0x9551" name="GL_SHADER_BINARY_FORMAT_SPIR_V_ARB" alias="GL_SHADER_BINARY_FORMAT_SPIR_V"/>
+        <enum value="0x9552" name="GL_SPIR_V_BINARY"/>
+        <enum value="0x9552" name="GL_SPIR_V_BINARY_ARB" alias="GL_SPIR_V_BINARY"/>
+        <enum value="0x9553" name="GL_SPIR_V_EXTENSIONS"/>
+        <enum value="0x9554" name="GL_NUM_SPIR_V_EXTENSIONS"/>
+        <enum value="0x9555" name="GL_SCISSOR_TEST_EXCLUSIVE_NV"/>
+        <enum value="0x9556" name="GL_SCISSOR_BOX_EXCLUSIVE_NV"/>
+        <enum value="0x9557" name="GL_MAX_MESH_VIEWS_NV"/>
+        <enum value="0x9558" name="GL_RENDER_GPU_MASK_NV"/>
+        <enum value="0x9559" name="GL_MESH_SHADER_NV"/>
+        <enum value="0x955A" name="GL_TASK_SHADER_NV"/>
+        <enum value="0x955B" name="GL_SHADING_RATE_IMAGE_BINDING_NV"/>
+        <enum value="0x955C" name="GL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV"/>
+        <enum value="0x955D" name="GL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV"/>
+        <enum value="0x955E" name="GL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV"/>
+        <enum value="0x955F" name="GL_MAX_COARSE_FRAGMENT_SAMPLES_NV"/>
+            <unused start="0x9560" end="0x9562" vendor="NV"/>
+        <enum value="0x9563" name="GL_SHADING_RATE_IMAGE_NV"/>
+        <enum value="0x9564" name="GL_SHADING_RATE_NO_INVOCATIONS_NV"/>
+        <enum value="0x9565" name="GL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV"/>
+        <enum value="0x9566" name="GL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV"/>
+        <enum value="0x9567" name="GL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV"/>
+        <enum value="0x9568" name="GL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV"/>
+        <enum value="0x9569" name="GL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV"/>
+        <enum value="0x956A" name="GL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV"/>
+        <enum value="0x956B" name="GL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV"/>
+        <enum value="0x956C" name="GL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV"/>
+        <enum value="0x956D" name="GL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV"/>
+        <enum value="0x956E" name="GL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV"/>
+        <enum value="0x956F" name="GL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV"/>
+            <unused start="0x9570" end="0x9578" vendor="NV"/>
+        <enum value="0x9579" name="GL_MESH_VERTICES_OUT_NV"/>
+        <enum value="0x957A" name="GL_MESH_PRIMITIVES_OUT_NV"/>
+        <enum value="0x957B" name="GL_MESH_OUTPUT_TYPE_NV"/>
+        <enum value="0x957C" name="GL_MESH_SUBROUTINE_NV"/>
+        <enum value="0x957D" name="GL_TASK_SUBROUTINE_NV"/>
+        <enum value="0x957E" name="GL_MESH_SUBROUTINE_UNIFORM_NV"/>
+        <enum value="0x957F" name="GL_TASK_SUBROUTINE_UNIFORM_NV"/>
+        <enum value="0x9580" name="GL_TEXTURE_TILING_EXT" group="TextureParameterName"/>
+        <enum value="0x9581" name="GL_DEDICATED_MEMORY_OBJECT_EXT" group="MemoryObjectParameterName"/>
+        <enum value="0x9582" name="GL_NUM_TILING_TYPES_EXT"/>
+        <enum value="0x9583" name="GL_TILING_TYPES_EXT"/>
+        <enum value="0x9584" name="GL_OPTIMAL_TILING_EXT"/>
+        <enum value="0x9585" name="GL_LINEAR_TILING_EXT"/>
+        <enum value="0x9586" name="GL_HANDLE_TYPE_OPAQUE_FD_EXT" group="ExternalHandleType"/>
+        <enum value="0x9587" name="GL_HANDLE_TYPE_OPAQUE_WIN32_EXT" group="ExternalHandleType"/>
+        <enum value="0x9588" name="GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT" group="ExternalHandleType"/>
+        <enum value="0x9589" name="GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT" group="ExternalHandleType"/>
+        <enum value="0x958A" name="GL_HANDLE_TYPE_D3D12_RESOURCE_EXT" group="ExternalHandleType"/>
+        <enum value="0x958B" name="GL_HANDLE_TYPE_D3D11_IMAGE_EXT" group="ExternalHandleType"/>
+        <enum value="0x958C" name="GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT" group="ExternalHandleType"/>
+        <enum value="0x958D" name="GL_LAYOUT_GENERAL_EXT" group="TextureLayout"/>
+        <enum value="0x958E" name="GL_LAYOUT_COLOR_ATTACHMENT_EXT" group="TextureLayout"/>
+        <enum value="0x958F" name="GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT" group="TextureLayout"/>
+        <enum value="0x9590" name="GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT" group="TextureLayout"/>
+        <enum value="0x9591" name="GL_LAYOUT_SHADER_READ_ONLY_EXT" group="TextureLayout"/>
+        <enum value="0x9592" name="GL_LAYOUT_TRANSFER_SRC_EXT" group="TextureLayout"/>
+        <enum value="0x9593" name="GL_LAYOUT_TRANSFER_DST_EXT" group="TextureLayout"/>
+        <enum value="0x9594" name="GL_HANDLE_TYPE_D3D12_FENCE_EXT" group="ExternalHandleType"/>
+        <enum value="0x9595" name="GL_D3D12_FENCE_VALUE_EXT" group="SemaphoreParameterName"/>
+        <enum value="0x9595" name="GL_TIMELINE_SEMAPHORE_VALUE_NV" group="SemaphoreParameterName"/>
+        <enum value="0x9596" name="GL_NUM_DEVICE_UUIDS_EXT" group="GetPName"/>
+        <enum value="0x9597" name="GL_DEVICE_UUID_EXT" group="GetPName"/>
+        <enum value="0x9598" name="GL_DRIVER_UUID_EXT" group="GetPName"/>
+        <enum value="0x9599" name="GL_DEVICE_LUID_EXT" group="GetPName"/>
+        <enum value="0x959A" name="GL_DEVICE_NODE_MASK_EXT" group="GetPName"/>
+        <enum value="0x959B" name="GL_PROTECTED_MEMORY_OBJECT_EXT" group="MemoryObjectParameterName"/>
+        <enum value="0x959C" name="GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV"/>
+        <enum value="0x959D" name="GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV"/>
+        <enum value="0x959E" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV"/>
+        <enum value="0x959F" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV"/>
+        <enum value="0x95A0" name="GL_REFERENCED_BY_MESH_SHADER_NV"/>
+        <enum value="0x95A1" name="GL_REFERENCED_BY_TASK_SHADER_NV"/>
+        <enum value="0x95A2" name="GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV"/>
+        <enum value="0x95A3" name="GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV"/>
+        <enum value="0x95A4" name="GL_ATTACHED_MEMORY_OBJECT_NV"/>
+        <enum value="0x95A5" name="GL_ATTACHED_MEMORY_OFFSET_NV"/>
+        <enum value="0x95A6" name="GL_MEMORY_ATTACHABLE_ALIGNMENT_NV"/>
+        <enum value="0x95A7" name="GL_MEMORY_ATTACHABLE_SIZE_NV"/>
+        <enum value="0x95A8" name="GL_MEMORY_ATTACHABLE_NV"/>
+        <enum value="0x95A9" name="GL_DETACHED_MEMORY_INCARNATION_NV"/>
+        <enum value="0x95AA" name="GL_DETACHED_TEXTURES_NV"/>
+        <enum value="0x95AB" name="GL_DETACHED_BUFFERS_NV"/>
+        <enum value="0x95AC" name="GL_MAX_DETACHED_TEXTURES_NV"/>
+        <enum value="0x95AD" name="GL_MAX_DETACHED_BUFFERS_NV"/>
+        <enum value="0x95AE" name="GL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV"/>
+        <enum value="0x95AF" name="GL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV"/>
+        <enum value="0x95B0" name="GL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV"/>
+        <enum value="0x95B1" name="GL_SHADING_RATE_IMAGE_PER_PRIMITIVE_NV" group="EnableCap,GetPName"/>
+        <enum value="0x95B2" name="GL_SHADING_RATE_IMAGE_PALETTE_COUNT_NV" group="GetPName"/>
+        <enum value="0x95B3" name="GL_SEMAPHORE_TYPE_NV" group="SemaphoreParameterName"/>
+        <enum value="0x95B4" name="GL_SEMAPHORE_TYPE_BINARY_NV" group="SemaphoreParameterName"/>
+        <enum value="0x95B5" name="GL_SEMAPHORE_TYPE_TIMELINE_NV" group="SemaphoreParameterName"/>
+        <enum value="0x95B6" name="GL_MAX_TIMELINE_SEMAPHORE_VALUE_DIFFERENCE_NV" group="GetPName"/>
+        <unused start="0x95B7" end="0x962F" vendor="NV"/>
+    </enums>
+
+    <enums namespace="GL" start="0x9630" end="0x963F" vendor="Oculus" comment="Email from Cass Everitt">
+        <enum value="0x9630" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x9631" name="GL_MAX_VIEWS_OVR"/>
+        <enum value="0x9632" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR" group="FramebufferAttachmentParameterName"/>
+        <enum value="0x9633" name="GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR"/>
+            <unused start="0x9634" end="0x963F" vendor="Oculus"/>
+    </enums>
+
+    <enums namespace="GL" start="0x9640" end="0x964F" vendor="Mediatek" comment="Khronos bug 14294">
+        <enum value="0x9640" name="GL_GS_SHADER_BINARY_MTK"/>
+        <enum value="0x9641" name="GL_GS_PROGRAM_BINARY_MTK"/>
+            <unused start="0x9642" end="0x964F" vendor="Mediatek"/>
+    </enums>
+
+    <enums namespace="GL" start="0x9650" end="0x968F" vendor="IMG" comment="Khronos bug 14977">
+        <enum value="0x9650" name="GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_FAST_SIZE_EXT"/>
+        <enum value="0x9651" name="GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_SIZE_EXT"/>
+        <enum value="0x9652" name="GL_FRAMEBUFFER_INCOMPLETE_INSUFFICIENT_SHADER_COMBINED_LOCAL_STORAGE_EXT"/>
+            <unused start="0x9653" end="0x968F" vendor="IMG"/>
+    </enums>
+
+    <enums namespace="GL" start="0x9690" end="0x969F" vendor="ANGLE" comment="Khronos bug 15423">
+            <unused start="0x9690" end="0x969F" vendor="ANGLE"/>
+    </enums>
+
+    <enums namespace="GL" start="0x96A0" end="0x96AF" vendor="Qualcomm" comment="contact Jeff Leger">
+        <enum value="0x96A0" name="GL_TEXTURE_FOVEATED_CUTOFF_DENSITY_QCOM" group="TextureParameterName"/>
+            <unused start="0x96A1" end="0x96A1" vendor="Qualcomm"/>
+        <enum value="0x96A2" name="GL_FRAMEBUFFER_FETCH_NONCOHERENT_QCOM" group="FramebufferFetchNoncoherent"/>
+        <enum value="0x96A3" name="GL_VALIDATE_SHADER_BINARY_QCOM"/>
+        <enum value="0x96A4" name="GL_SHADING_RATE_QCOM" group="GetPName"/>
+        <enum value="0x96A5" name="GL_SHADING_RATE_PRESERVE_ASPECT_RATIO_QCOM" group="EnableCap"/>
+        <enum value="0x96A6" name="GL_SHADING_RATE_1X1_PIXELS_QCOM" group="ShadingRateQCOM"/>
+        <enum value="0x96A7" name="GL_SHADING_RATE_1X2_PIXELS_QCOM" group="ShadingRateQCOM"/>
+        <enum value="0x96A8" name="GL_SHADING_RATE_2X1_PIXELS_QCOM" group="ShadingRateQCOM"/>
+        <enum value="0x96A9" name="GL_SHADING_RATE_2X2_PIXELS_QCOM" group="ShadingRateQCOM"/>
+        <enum value="0x96AA" name="GL_SHADING_RATE_1X4_PIXELS_QCOM" group="ShadingRateQCOM"/>
+        <enum value="0x96AB" name="GL_SHADING_RATE_4X1_PIXELS_QCOM" group="ShadingRateQCOM"/>
+        <enum value="0x96AC" name="GL_SHADING_RATE_4X2_PIXELS_QCOM" group="ShadingRateQCOM"/>
+        <enum value="0x96AD" name="GL_SHADING_RATE_2X4_PIXELS_QCOM" group="ShadingRateQCOM"/>
+        <enum value="0x96AE" name="GL_SHADING_RATE_4X4_PIXELS_QCOM" group="ShadingRateQCOM"/>
+            <unused start="0x96AF" end="0x96AF" vendor="Qualcomm"/>
+    </enums>
+
+    <enums namespace="GL" start="0x96B0" end="0x96BF" vendor="ANGLE" comment="github pull request">
+            <unused start="0x96B0" end="0x96BF" vendor="ANGLE"/>
+    </enums>
+
+    <enums namespace="GL" start="0x96C0" end="0x96CF" vendor="ARM" comment="Contact Jan-Harald Fredriksen">
+            <unused start="0x96C0" end="0x96CF" vendor="ARM"/>
+    </enums>
+
+<!-- Enums reservable for future use. To reserve a new range, allocate one
+     or more multiples of 16 starting at the lowest available point in this
+     block and note it in a new <enums> block immediately above.
+
+     Please remember that new enumerant allocations must be obtained by
+     request to the Khronos API registrar (see comments at the top of this
+     file) File requests in the Khronos Bugzilla, OpenGL project, Registry
+     component. -->
+
+    <enums namespace="GL" start="0x96D0" end="99999" vendor="ARB" comment="RESERVED FOR FUTURE ALLOCATIONS BY KHRONOS">
+        <unused start="0x96D0" end="99999" comment="RESERVED"/>
+    </enums>
+
+<!-- Historical large block allocations, all unused except (in older days) by IBM -->
+    <enums namespace="GL" start="100000" end="100999" vendor="ARB" comment="GLU enums"/>
+    <enums namespace="GL" start="101000" end="101999" vendor="ARB" comment="Conformance test enums"/>
+    <enums namespace="GL" start="102000" end="102999" vendor="ARB" comment="Unused, unlikely to ever be used"/>
+
+    <enums namespace="GL" start="103000" end="103999" vendor="IBM" comment="IBM is out of the graphics hardware business. Most of this range will remain unused.">
+        <enum value="0x19262" name="GL_RASTER_POSITION_UNCLIPPED_IBM"/>
+        <enum value="103050" name="GL_CULL_VERTEX_IBM"/>
+        <enum value="103060" name="GL_ALL_STATIC_DATA_IBM"/>
+        <enum value="103061" name="GL_STATIC_VERTEX_ARRAY_IBM"/>
+        <enum value="103070" name="GL_VERTEX_ARRAY_LIST_IBM"/>
+        <enum value="103071" name="GL_NORMAL_ARRAY_LIST_IBM"/>
+        <enum value="103072" name="GL_COLOR_ARRAY_LIST_IBM"/>
+        <enum value="103073" name="GL_INDEX_ARRAY_LIST_IBM"/>
+        <enum value="103074" name="GL_TEXTURE_COORD_ARRAY_LIST_IBM"/>
+        <enum value="103075" name="GL_EDGE_FLAG_ARRAY_LIST_IBM"/>
+        <enum value="103076" name="GL_FOG_COORDINATE_ARRAY_LIST_IBM"/>
+        <enum value="103077" name="GL_SECONDARY_COLOR_ARRAY_LIST_IBM"/>
+        <enum value="103080" name="GL_VERTEX_ARRAY_LIST_STRIDE_IBM"/>
+        <enum value="103081" name="GL_NORMAL_ARRAY_LIST_STRIDE_IBM"/>
+        <enum value="103082" name="GL_COLOR_ARRAY_LIST_STRIDE_IBM"/>
+        <enum value="103083" name="GL_INDEX_ARRAY_LIST_STRIDE_IBM"/>
+        <enum value="103084" name="GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM"/>
+        <enum value="103085" name="GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM"/>
+        <enum value="103086" name="GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM"/>
+        <enum value="103087" name="GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM"/>
+    </enums>
+
+    <enums namespace="GL" start="104000" end="104999" vendor="NEC" comment="NEC may be out of the graphics hardware business?"/>
+    <enums namespace="GL" start="105000" end="105999" vendor="Compaq" comment="Compaq was acquired by HP"/>
+    <enums namespace="GL" start="106000" end="106999" vendor="KPC" comment="Kubota Pacific is out of business"/>
+    <enums namespace="GL" start="107000" end="107999" vendor="PGI" comment="Portland Graphics was acquired by Template Graphics, which is out of business">
+            <!-- lots of <unused> areas here which won't be computed yet -->
+        <enum value="0x1A1F8" name="GL_PREFER_DOUBLEBUFFER_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A1FD" name="GL_CONSERVE_MEMORY_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A1FE" name="GL_RECLAIM_MEMORY_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A202" name="GL_NATIVE_GRAPHICS_HANDLE_PGI"/>
+        <enum value="0x1A203" name="GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A204" name="GL_NATIVE_GRAPHICS_END_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A20C" name="GL_ALWAYS_FAST_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A20D" name="GL_ALWAYS_SOFT_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A20E" name="GL_ALLOW_DRAW_OBJ_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A20F" name="GL_ALLOW_DRAW_WIN_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A210" name="GL_ALLOW_DRAW_FRG_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A211" name="GL_ALLOW_DRAW_MEM_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A216" name="GL_STRICT_DEPTHFUNC_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A217" name="GL_STRICT_LIGHTING_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A218" name="GL_STRICT_SCISSOR_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A219" name="GL_FULL_STIPPLE_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A220" name="GL_CLIP_NEAR_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A221" name="GL_CLIP_FAR_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A222" name="GL_WIDE_LINE_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A223" name="GL_BACK_NORMALS_HINT_PGI" group="HintTarget"/>
+        <enum value="0x1A22A" name="GL_VERTEX_DATA_HINT_PGI" group="HintTarget,HintTargetPGI"/>
+        <enum value="0x1A22B" name="GL_VERTEX_CONSISTENT_HINT_PGI" group="HintTarget,HintTargetPGI"/>
+        <enum value="0x1A22C" name="GL_MATERIAL_SIDE_HINT_PGI" group="HintTarget,HintTargetPGI"/>
+        <enum value="0x1A22D" name="GL_MAX_VERTEX_HINT_PGI" group="HintTarget,HintTargetPGI"/>
+    </enums>
+
+    <enums namespace="GL" start="108000" end="108999" vendor="ES" comment="Evans and Sutherland is out of the graphics hardware business"/>
+
+    <!-- SECTION: GL command definitions. -->
+    <commands namespace="GL">
+        <command>
+            <proto>void <name>glAccum</name></proto>
+            <param group="AccumOp"><ptype>GLenum</ptype> <name>op</name></param>
+            <param group="CoordF"><ptype>GLfloat</ptype> <name>value</name></param>
+            <glx type="render" opcode="137"/>
+        </command>
+        <command>
+            <proto>void <name>glAccumxOES</name></proto>
+            <param><ptype>GLenum</ptype> <name>op</name></param>
+            <param><ptype>GLfixed</ptype> <name>value</name></param>
+        </command>
+        <command>
+            <proto>void <name>glActiveProgramEXT</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+        </command>
+        <command>
+            <proto>void <name>glActiveShaderProgram</name></proto>
+            <param class="program pipeline"><ptype>GLuint</ptype> <name>pipeline</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+        </command>
+        <command>
+            <proto>void <name>glActiveShaderProgramEXT</name></proto>
+            <param class="program pipeline"><ptype>GLuint</ptype> <name>pipeline</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+        </command>
+        <command>
+            <proto>void <name>glActiveStencilFaceEXT</name></proto>
+            <param group="StencilFaceDirection"><ptype>GLenum</ptype> <name>face</name></param>
+            <glx type="render" opcode="4220"/>
+        </command>
+        <command>
+            <proto>void <name>glActiveTexture</name></proto>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
+            <glx type="render" opcode="197"/>
+        </command>
+        <command>
+            <proto>void <name>glActiveTextureARB</name></proto>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
+            <alias name="glActiveTexture"/>
+            <glx type="render" opcode="197"/>
+        </command>
+        <command>
+            <proto>void <name>glActiveVaryingNV</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
+        </command>
+        <command>
+            <proto>void <name>glAlphaFragmentOp1ATI</name></proto>
+            <param group="FragmentOpATI"><ptype>GLenum</ptype> <name>op</name></param>
+            <param><ptype>GLuint</ptype> <name>dst</name></param>
+            <param><ptype>GLuint</ptype> <name>dstMod</name></param>
+            <param><ptype>GLuint</ptype> <name>arg1</name></param>
+            <param><ptype>GLuint</ptype> <name>arg1Rep</name></param>
+            <param><ptype>GLuint</ptype> <name>arg1Mod</name></param>
+        </command>
+        <command>
+            <proto>void <name>glAlphaFragmentOp2ATI</name></proto>
+            <param group="FragmentOpATI"><ptype>GLenum</ptype> <name>op</name></param>
+            <param><ptype>GLuint</ptype> <name>dst</name></param>
+            <param><ptype>GLuint</ptype> <name>dstMod</name></param>
+            <param><ptype>GLuint</ptype> <name>arg1</name></param>
+            <param><ptype>GLuint</ptype> <name>arg1Rep</name></param>
+            <param><ptype>GLuint</ptype> <name>arg1Mod</name></param>
+            <param><ptype>GLuint</ptype> <name>arg2</name></param>
+            <param><ptype>GLuint</ptype> <name>arg2Rep</name></param>
+            <param><ptype>GLuint</ptype> <name>arg2Mod</name></param>
+        </command>
+        <command>
+            <proto>void <name>glAlphaFragmentOp3ATI</name></proto>
+            <param group="FragmentOpATI"><ptype>GLenum</ptype> <name>op</name></param>
+            <param><ptype>GLuint</ptype> <name>dst</name></param>
+            <param><ptype>GLuint</ptype> <name>dstMod</name></param>
+            <param><ptype>GLuint</ptype> <name>arg1</name></param>
+            <param><ptype>GLuint</ptype> <name>arg1Rep</name></param>
+            <param><ptype>GLuint</ptype> <name>arg1Mod</name></param>
+            <param><ptype>GLuint</ptype> <name>arg2</name></param>
+            <param><ptype>GLuint</ptype> <name>arg2Rep</name></param>
+            <param><ptype>GLuint</ptype> <name>arg2Mod</name></param>
+            <param><ptype>GLuint</ptype> <name>arg3</name></param>
+            <param><ptype>GLuint</ptype> <name>arg3Rep</name></param>
+            <param><ptype>GLuint</ptype> <name>arg3Mod</name></param>
+        </command>
+        <command>
+            <proto>void <name>glAlphaFunc</name></proto>
+            <param group="AlphaFunction"><ptype>GLenum</ptype> <name>func</name></param>
+            <param><ptype>GLfloat</ptype> <name>ref</name></param>
+            <glx type="render" opcode="159"/>
+        </command>
+        <command>
+            <proto>void <name>glAlphaFuncQCOM</name></proto>
+            <param><ptype>GLenum</ptype> <name>func</name></param>
+            <param><ptype>GLclampf</ptype> <name>ref</name></param>
+        </command>
+        <command>
+            <proto>void <name>glAlphaFuncx</name></proto>
+            <param group="AlphaFunction"><ptype>GLenum</ptype> <name>func</name></param>
+            <param><ptype>GLfixed</ptype> <name>ref</name></param>
+        </command>
+        <command>
+            <proto>void <name>glAlphaFuncxOES</name></proto>
+            <param group="AlphaFunction"><ptype>GLenum</ptype> <name>func</name></param>
+            <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>ref</name></param>
+        </command>
+        <command>
+            <proto>void <name>glAlphaToCoverageDitherControlNV</name></proto>
+            <param><ptype>GLenum</ptype> <name>mode</name></param>
+        </command>
+        <command>
+            <proto>void <name>glApplyFramebufferAttachmentCMAAINTEL</name></proto>
+        </command>
+        <command>
+            <proto>void <name>glApplyTextureEXT</name></proto>
+            <param group="LightTextureModeEXT"><ptype>GLenum</ptype> <name>mode</name></param>
+        </command>
+        <command>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glAcquireKeyedMutexWin32EXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>key</name></param>
+            <param><ptype>GLuint</ptype> <name>timeout</name></param>
+        </command>
+        <command>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glAreProgramsResidentNV</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param class="program" len="n">const <ptype>GLuint</ptype> *<name>programs</name></param>
+            <param group="Boolean" len="n"><ptype>GLboolean</ptype> *<name>residences</name></param>
+            <glx type="vendor" opcode="1293"/>
+        </command>
+        <command>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glAreTexturesResident</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param class="texture" group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
+            <param group="Boolean" len="n"><ptype>GLboolean</ptype> *<name>residences</name></param>
+            <glx type="single" opcode="143"/>
+        </command>
+        <command>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glAreTexturesResidentEXT</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param class="texture" group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
+            <param group="Boolean" len="n"><ptype>GLboolean</ptype> *<name>residences</name></param>
+            <glx type="vendor" opcode="11"/>
+        </command>
+        <command>
+            <proto>void <name>glArrayElement</name></proto>
+            <param><ptype>GLint</ptype> <name>i</name></param>
+        </command>
+        <command>
+            <proto>void <name>glArrayElementEXT</name></proto>
+            <param><ptype>GLint</ptype> <name>i</name></param>
+            <alias name="glArrayElement"/>
+        </command>
+        <command>
+            <proto>void <name>glArrayObjectATI</name></proto>
+            <param group="EnableCap"><ptype>GLenum</ptype> <name>array</name></param>
+            <param><ptype>GLint</ptype> <name>size</name></param>
+            <param group="ScalarType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param><ptype>GLsizei</ptype> <name>stride</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param><ptype>GLuint</ptype> <name>offset</name></param>
+        </command>
+        <command>
+            <proto><ptype>GLuint</ptype> <name>glAsyncCopyBufferSubDataNVX</name></proto>
+            <param><ptype>GLsizei</ptype> <name>waitSemaphoreCount</name></param>
+            <param len="waitSemaphoreCount">const <ptype>GLuint</ptype> *<name>waitSemaphoreArray</name></param>
+            <param len="waitSemaphoreCount">const <ptype>GLuint64</ptype> *<name>fenceValueArray</name></param>
+            <param><ptype>GLuint</ptype> <name>readGpu</name></param>
+            <param><ptype>GLbitfield</ptype> <name>writeGpuMask</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>readBuffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>writeBuffer</name></param>
+            <param><ptype>GLintptr</ptype> <name>readOffset</name></param>
+            <param><ptype>GLintptr</ptype> <name>writeOffset</name></param>
+            <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <param><ptype>GLsizei</ptype> <name>signalSemaphoreCount</name></param>
+            <param len="signalSemaphoreCount">const <ptype>GLuint</ptype> *<name>signalSemaphoreArray</name></param>
+            <param len="signalSemaphoreCount">const <ptype>GLuint64</ptype> *<name>signalValueArray</name></param>
+        </command>
+        <command>
+            <proto><ptype>GLuint</ptype> <name>glAsyncCopyImageSubDataNVX</name></proto>
+            <param><ptype>GLsizei</ptype> <name>waitSemaphoreCount</name></param>
+            <param len="waitSemaphoreCount">const <ptype>GLuint</ptype> *<name>waitSemaphoreArray</name></param>
+            <param len="waitSemaphoreCount">const <ptype>GLuint64</ptype> *<name>waitValueArray</name></param>
+            <param><ptype>GLuint</ptype> <name>srcGpu</name></param>
+            <param><ptype>GLbitfield</ptype> <name>dstGpuMask</name></param>
+            <param><ptype>GLuint</ptype> <name>srcName</name></param>
+            <param><ptype>GLenum</ptype> <name>srcTarget</name></param>
+            <param><ptype>GLint</ptype> <name>srcLevel</name></param>
+            <param><ptype>GLint</ptype> <name>srcX</name></param>
+            <param><ptype>GLint</ptype> <name>srcY</name></param>
+            <param><ptype>GLint</ptype> <name>srcZ</name></param>
+            <param><ptype>GLuint</ptype> <name>dstName</name></param>
+            <param><ptype>GLenum</ptype> <name>dstTarget</name></param>
+            <param><ptype>GLint</ptype> <name>dstLevel</name></param>
+            <param><ptype>GLint</ptype> <name>dstX</name></param>
+            <param><ptype>GLint</ptype> <name>dstY</name></param>
+            <param><ptype>GLint</ptype> <name>dstZ</name></param>
+            <param><ptype>GLsizei</ptype> <name>srcWidth</name></param>
+            <param><ptype>GLsizei</ptype> <name>srcHeight</name></param>
+            <param><ptype>GLsizei</ptype> <name>srcDepth</name></param>
+            <param><ptype>GLsizei</ptype> <name>signalSemaphoreCount</name></param>
+            <param len="signalSemaphoreCount">const <ptype>GLuint</ptype> *<name>signalSemaphoreArray</name></param>
+            <param len="signalSemaphoreCount">const <ptype>GLuint64</ptype> *<name>signalValueArray</name></param>
+        </command>
+        <command>
+            <proto>void <name>glAsyncMarkerSGIX</name></proto>
+            <param><ptype>GLuint</ptype> <name>marker</name></param>
+        </command>
+        <command>
+            <proto>void <name>glAttachObjectARB</name></proto>
+            <param group="handleARB"><ptype>GLhandleARB</ptype> <name>containerObj</name></param>
+            <param group="handleARB"><ptype>GLhandleARB</ptype> <name>obj</name></param>
+            <alias name="glAttachShader"/>
+        </command>
+        <command>
+            <proto>void <name>glAttachShader</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="shader"><ptype>GLuint</ptype> <name>shader</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBegin</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <glx type="render" opcode="4"/>
+        </command>
+        <command>
+            <proto>void <name>glBeginConditionalRender</name></proto>
+            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param group="ConditionalRenderMode"><ptype>GLenum</ptype> <name>mode</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBeginConditionalRenderNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param group="ConditionalRenderMode"><ptype>GLenum</ptype> <name>mode</name></param>
+            <alias name="glBeginConditionalRender"/>
+            <glx type="render" opcode="348"/>
+        </command>
+        <command>
+            <proto>void <name>glBeginConditionalRenderNVX</name></proto>
+            <param><ptype>GLuint</ptype> <name>id</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBeginFragmentShaderATI</name></proto>
+        </command>
+        <command>
+            <proto>void <name>glBeginOcclusionQueryNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>id</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBeginPerfMonitorAMD</name></proto>
+            <param><ptype>GLuint</ptype> <name>monitor</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBeginPerfQueryINTEL</name></proto>
+            <param><ptype>GLuint</ptype> <name>queryHandle</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBeginQuery</name></proto>
+            <param group="QueryTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <glx type="render" opcode="231"/>
+        </command>
+        <command>
+            <proto>void <name>glBeginQueryARB</name></proto>
+            <param group="QueryTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <alias name="glBeginQuery"/>
+        </command>
+        <command>
+            <proto>void <name>glBeginQueryEXT</name></proto>
+            <param group="QueryTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBeginQueryIndexed</name></proto>
+            <param group="QueryTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBeginTransformFeedback</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>primitiveMode</name></param>
+            <glx type="render" opcode="357"/>
+        </command>
+        <command>
+            <proto>void <name>glBeginTransformFeedbackEXT</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>primitiveMode</name></param>
+            <alias name="glBeginTransformFeedback"/>
+        </command>
+        <command>
+            <proto>void <name>glBeginTransformFeedbackNV</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>primitiveMode</name></param>
+            <alias name="glBeginTransformFeedback"/>
+        </command>
+        <command>
+            <proto>void <name>glBeginVertexShaderEXT</name></proto>
+        </command>
+        <command>
+            <proto>void <name>glBeginVideoCaptureNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>video_capture_slot</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBindAttribLocation</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param>const <ptype>GLchar</ptype> *<name>name</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBindAttribLocationARB</name></proto>
+            <param group="handleARB"><ptype>GLhandleARB</ptype> <name>programObj</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param>const <ptype>GLcharARB</ptype> *<name>name</name></param>
+            <alias name="glBindAttribLocation"/>
+        </command>
+        <command>
+            <proto>void <name>glBindBuffer</name></proto>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBindBufferARB</name></proto>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <alias name="glBindBuffer"/>
+        </command>
+        <command>
+            <proto>void <name>glBindBufferBase</name></proto>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <glx type="render" opcode="356"/>
+        </command>
+        <command>
+            <proto>void <name>glBindBufferBaseEXT</name></proto>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <alias name="glBindBufferBase"/>
+        </command>
+        <command>
+            <proto>void <name>glBindBufferBaseNV</name></proto>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <alias name="glBindBufferBase"/>
+        </command>
+        <command>
+            <proto>void <name>glBindBufferOffsetEXT</name></proto>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBindBufferOffsetNV</name></proto>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+            <alias name="glBindBufferOffsetEXT"/>
+        </command>
+        <command>
+            <proto>void <name>glBindBufferRange</name></proto>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <glx type="render" opcode="355"/>
+        </command>
+        <command>
+            <proto>void <name>glBindBufferRangeEXT</name></proto>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <alias name="glBindBufferRange"/>
+        </command>
+        <command>
+            <proto>void <name>glBindBufferRangeNV</name></proto>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <alias name="glBindBufferRange"/>
+        </command>
+        <command>
+            <proto>void <name>glBindBuffersBase</name></proto>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>first</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param class="buffer" len="count">const <ptype>GLuint</ptype> *<name>buffers</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBindBuffersRange</name></proto>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>first</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param class="buffer" len="count">const <ptype>GLuint</ptype> *<name>buffers</name></param>
+            <param len="count">const <ptype>GLintptr</ptype> *<name>offsets</name></param>
+            <param len="count">const <ptype>GLsizeiptr</ptype> *<name>sizes</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBindFragDataLocation</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLuint</ptype> <name>color</name></param>
+            <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBindFragDataLocationEXT</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLuint</ptype> <name>color</name></param>
+            <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
+            <alias name="glBindFragDataLocation"/>
+        </command>
+        <command>
+            <proto>void <name>glBindFragDataLocationIndexed</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLuint</ptype> <name>colorNumber</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param>const <ptype>GLchar</ptype> *<name>name</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBindFragDataLocationIndexedEXT</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLuint</ptype> <name>colorNumber</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param>const <ptype>GLchar</ptype> *<name>name</name></param>
+            <alias name="glBindFragDataLocationIndexed"/>
+        </command>
+        <command>
+            <proto>void <name>glBindFragmentShaderATI</name></proto>
+            <param><ptype>GLuint</ptype> <name>id</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBindFramebuffer</name></proto>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <glx type="render" opcode="236"/>
         </command>
         <command>
             <proto>void <name>glBindFramebufferEXT</name></proto>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <glx type="render" opcode="4319"/>
         </command>
         <command>
             <proto>void <name>glBindFramebufferOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
         </command>
         <command>
             <proto>void <name>glBindImageTexture</name></proto>
             <param><ptype>GLuint</ptype> <name>unit</name></param>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>layered</name></param>
             <param><ptype>GLint</ptype> <name>layer</name></param>
-            <param><ptype>GLenum</ptype> <name>access</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="BufferAccessARB"><ptype>GLenum</ptype> <name>access</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>format</name></param>
         </command>
         <command>
             <proto>void <name>glBindImageTextureEXT</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>layered</name></param>
             <param><ptype>GLint</ptype> <name>layer</name></param>
-            <param><ptype>GLenum</ptype> <name>access</name></param>
+            <param group="BufferAccessARB"><ptype>GLenum</ptype> <name>access</name></param>
             <param><ptype>GLint</ptype> <name>format</name></param>
         </command>
         <command>
             <proto>void <name>glBindImageTextures</name></proto>
             <param><ptype>GLuint</ptype> <name>first</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param>const <ptype>GLuint</ptype> *<name>textures</name></param>
+            <param class="texture" len="count">const <ptype>GLuint</ptype> *<name>textures</name></param>
         </command>
         <command>
             <proto><ptype>GLuint</ptype> <name>glBindLightParameterEXT</name></proto>
@@ -8295,7 +12212,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glBindMultiTextureEXT</name></proto>
             <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
         </command>
         <command>
             <proto><ptype>GLuint</ptype> <name>glBindParameterEXT</name></proto>
@@ -8303,52 +12220,56 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glBindProgramARB</name></proto>
-            <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <glx type="render" opcode="4180"/>
         </command>
         <command>
             <proto>void <name>glBindProgramNV</name></proto>
             <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>id</name></param>
             <alias name="glBindProgramARB"/>
             <glx type="render" opcode="4180"/>
         </command>
         <command>
             <proto>void <name>glBindProgramPipeline</name></proto>
-            <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+            <param class="program pipeline"><ptype>GLuint</ptype> <name>pipeline</name></param>
         </command>
         <command>
             <proto>void <name>glBindProgramPipelineEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+            <param class="program pipeline"><ptype>GLuint</ptype> <name>pipeline</name></param>
         </command>
         <command>
             <proto>void <name>glBindRenderbuffer</name></proto>
             <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param class="renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
             <glx type="render" opcode="235"/>
         </command>
         <command>
             <proto>void <name>glBindRenderbufferEXT</name></proto>
             <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param class="renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
             <glx type="render" opcode="4316"/>
         </command>
         <command>
             <proto>void <name>glBindRenderbufferOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
         </command>
         <command>
             <proto>void <name>glBindSampler</name></proto>
             <param><ptype>GLuint</ptype> <name>unit</name></param>
-            <param><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
         </command>
         <command>
             <proto>void <name>glBindSamplers</name></proto>
             <param><ptype>GLuint</ptype> <name>first</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param>const <ptype>GLuint</ptype> *<name>samplers</name></param>
+            <param class="sampler" len="count">const <ptype>GLuint</ptype> *<name>samplers</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBindShadingRateImageNV</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
         </command>
         <command>
             <proto><ptype>GLuint</ptype> <name>glBindTexGenParameterEXT</name></proto>
@@ -8359,16 +12280,21 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glBindTexture</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <glx type="render" opcode="4117"/>
         </command>
         <command>
             <proto>void <name>glBindTextureEXT</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <alias name="glBindTexture"/>
             <glx type="render" opcode="4117"/>
         </command>
+        <command>
+            <proto>void <name>glBindTextureUnit</name></proto>
+            <param><ptype>GLuint</ptype> <name>unit</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+        </command>
         <command>
             <proto><ptype>GLuint</ptype> <name>glBindTextureUnitParameterEXT</name></proto>
             <param group="TextureUnit"><ptype>GLenum</ptype> <name>unit</name></param>
@@ -8378,36 +12304,36 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glBindTextures</name></proto>
             <param><ptype>GLuint</ptype> <name>first</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param>const <ptype>GLuint</ptype> *<name>textures</name></param>
+            <param class="texture" len="count">const <ptype>GLuint</ptype> *<name>textures</name></param>
         </command>
         <command>
             <proto>void <name>glBindTransformFeedback</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param group="BindTransformFeedbackTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="transform feedback"><ptype>GLuint</ptype> <name>id</name></param>
         </command>
         <command>
             <proto>void <name>glBindTransformFeedbackNV</name></proto>
             <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="transform feedback"><ptype>GLuint</ptype> <name>id</name></param>
         </command>
         <command>
             <proto>void <name>glBindVertexArray</name></proto>
-            <param><ptype>GLuint</ptype> <name>array</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>array</name></param>
             <glx type="render" opcode="350"/>
         </command>
         <command>
             <proto>void <name>glBindVertexArrayAPPLE</name></proto>
-            <param><ptype>GLuint</ptype> <name>array</name></param>
-            <alias name="glBindVertexArray"/>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>array</name></param>
         </command>
         <command>
             <proto>void <name>glBindVertexArrayOES</name></proto>
-            <param><ptype>GLuint</ptype> <name>array</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>array</name></param>
+            <alias name="glBindVertexArray"/>
         </command>
         <command>
             <proto>void <name>glBindVertexBuffer</name></proto>
             <param><ptype>GLuint</ptype> <name>bindingindex</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
         </command>
@@ -8415,9 +12341,9 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glBindVertexBuffers</name></proto>
             <param><ptype>GLuint</ptype> <name>first</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param>const <ptype>GLuint</ptype> *<name>buffers</name></param>
-            <param>const <ptype>GLintptr</ptype> *<name>offsets</name></param>
-            <param>const <ptype>GLsizei</ptype> *<name>strides</name></param>
+            <param len="count" class="buffer">const <ptype>GLuint</ptype> *<name>buffers</name></param>
+            <param len="count">const <ptype>GLintptr</ptype> *<name>offsets</name></param>
+            <param len="count">const <ptype>GLsizei</ptype> *<name>strides</name></param>
         </command>
         <command>
             <proto>void <name>glBindVertexShaderEXT</name></proto>
@@ -8436,7 +12362,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLuint</ptype> <name>stream</name></param>
             <param><ptype>GLenum</ptype> <name>frame_region</name></param>
             <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
         </command>
         <command>
             <proto>void <name>glBinormal3bEXT</name></proto>
@@ -8497,7 +12423,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glBinormalPointerEXT</name></proto>
             <param group="BinormalPointerTypeEXT"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glBitmap</name></proto>
@@ -8519,7 +12445,18 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLfixed</ptype> <name>yorig</name></param>
             <param><ptype>GLfixed</ptype> <name>xmove</name></param>
             <param><ptype>GLfixed</ptype> <name>ymove</name></param>
-            <param len="COMPSIZE()">const <ptype>GLubyte</ptype> *<name>bitmap</name></param>
+            <param len="COMPSIZE(width,height)">const <ptype>GLubyte</ptype> *<name>bitmap</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBlendBarrier</name></proto>
+        </command>
+        <command>
+            <proto>void <name>glBlendBarrierKHR</name></proto>
+            <alias name="glBlendBarrier"/>
+        </command>
+        <command>
+            <proto>void <name>glBlendBarrierNV</name></proto>
+            <alias name="glBlendBarrier"/>
         </command>
         <command>
             <proto>void <name>glBlendColor</name></proto>
@@ -8547,7 +12484,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glBlendEquation</name></proto>
-            <param group="BlendEquationMode"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>mode</name></param>
             <glx type="render" opcode="4097"/>
         </command>
         <command>
@@ -8559,12 +12496,12 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glBlendEquationIndexedAMD</name></proto>
             <param><ptype>GLuint</ptype> <name>buf</name></param>
-            <param><ptype>GLenum</ptype> <name>mode</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>mode</name></param>
             <alias name="glBlendEquationi"/>
         </command>
         <command>
             <proto>void <name>glBlendEquationOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>mode</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>mode</name></param>
         </command>
         <command>
             <proto>void <name>glBlendEquationSeparate</name></proto>
@@ -8582,43 +12519,69 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glBlendEquationSeparateIndexedAMD</name></proto>
             <param><ptype>GLuint</ptype> <name>buf</name></param>
-            <param><ptype>GLenum</ptype> <name>modeRGB</name></param>
-            <param><ptype>GLenum</ptype> <name>modeAlpha</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>modeRGB</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>modeAlpha</name></param>
             <alias name="glBlendEquationSeparatei"/>
         </command>
         <command>
             <proto>void <name>glBlendEquationSeparateOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>modeRGB</name></param>
-            <param><ptype>GLenum</ptype> <name>modeAlpha</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>modeRGB</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>modeAlpha</name></param>
         </command>
         <command>
             <proto>void <name>glBlendEquationSeparatei</name></proto>
             <param><ptype>GLuint</ptype> <name>buf</name></param>
-            <param><ptype>GLenum</ptype> <name>modeRGB</name></param>
-            <param><ptype>GLenum</ptype> <name>modeAlpha</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>modeRGB</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>modeAlpha</name></param>
         </command>
         <command>
             <proto>void <name>glBlendEquationSeparateiARB</name></proto>
             <param><ptype>GLuint</ptype> <name>buf</name></param>
-            <param><ptype>GLenum</ptype> <name>modeRGB</name></param>
-            <param><ptype>GLenum</ptype> <name>modeAlpha</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>modeRGB</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>modeAlpha</name></param>
+            <alias name="glBlendEquationSeparatei"/>
+        </command>
+        <command>
+            <proto>void <name>glBlendEquationSeparateiEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>buf</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>modeRGB</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>modeAlpha</name></param>
+            <alias name="glBlendEquationSeparatei"/>
+        </command>
+        <command>
+            <proto>void <name>glBlendEquationSeparateiOES</name></proto>
+            <param><ptype>GLuint</ptype> <name>buf</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>modeRGB</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>modeAlpha</name></param>
             <alias name="glBlendEquationSeparatei"/>
         </command>
         <command>
             <proto>void <name>glBlendEquationi</name></proto>
             <param><ptype>GLuint</ptype> <name>buf</name></param>
-            <param><ptype>GLenum</ptype> <name>mode</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>mode</name></param>
         </command>
         <command>
             <proto>void <name>glBlendEquationiARB</name></proto>
             <param><ptype>GLuint</ptype> <name>buf</name></param>
-            <param><ptype>GLenum</ptype> <name>mode</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>mode</name></param>
+            <alias name="glBlendEquationi"/>
+        </command>
+        <command>
+            <proto>void <name>glBlendEquationiEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>buf</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>mode</name></param>
+            <alias name="glBlendEquationi"/>
+        </command>
+        <command>
+            <proto>void <name>glBlendEquationiOES</name></proto>
+            <param><ptype>GLuint</ptype> <name>buf</name></param>
+            <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>mode</name></param>
             <alias name="glBlendEquationi"/>
         </command>
         <command>
             <proto>void <name>glBlendFunc</name></proto>
-            <param group="BlendingFactorSrc"><ptype>GLenum</ptype> <name>sfactor</name></param>
-            <param group="BlendingFactorDest"><ptype>GLenum</ptype> <name>dfactor</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>sfactor</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dfactor</name></param>
             <glx type="render" opcode="160"/>
         </command>
         <command>
@@ -8630,74 +12593,106 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glBlendFuncSeparate</name></proto>
-            <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>sfactorRGB</name></param>
-            <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>dfactorRGB</name></param>
-            <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>sfactorAlpha</name></param>
-            <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>dfactorAlpha</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>sfactorRGB</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dfactorRGB</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>sfactorAlpha</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dfactorAlpha</name></param>
             <glx type="render" opcode="4134"/>
         </command>
         <command>
             <proto>void <name>glBlendFuncSeparateEXT</name></proto>
-            <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>sfactorRGB</name></param>
-            <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>dfactorRGB</name></param>
-            <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>sfactorAlpha</name></param>
-            <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>dfactorAlpha</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>sfactorRGB</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dfactorRGB</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>sfactorAlpha</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dfactorAlpha</name></param>
             <alias name="glBlendFuncSeparate"/>
             <glx type="render" opcode="4134"/>
         </command>
         <command>
             <proto>void <name>glBlendFuncSeparateINGR</name></proto>
-            <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>sfactorRGB</name></param>
-            <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>dfactorRGB</name></param>
-            <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>sfactorAlpha</name></param>
-            <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>dfactorAlpha</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>sfactorRGB</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dfactorRGB</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>sfactorAlpha</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dfactorAlpha</name></param>
             <alias name="glBlendFuncSeparate"/>
             <glx type="render" opcode="4134"/>
         </command>
         <command>
             <proto>void <name>glBlendFuncSeparateIndexedAMD</name></proto>
             <param><ptype>GLuint</ptype> <name>buf</name></param>
-            <param><ptype>GLenum</ptype> <name>srcRGB</name></param>
-            <param><ptype>GLenum</ptype> <name>dstRGB</name></param>
-            <param><ptype>GLenum</ptype> <name>srcAlpha</name></param>
-            <param><ptype>GLenum</ptype> <name>dstAlpha</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>srcRGB</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dstRGB</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>srcAlpha</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dstAlpha</name></param>
             <alias name="glBlendFuncSeparatei"/>
         </command>
         <command>
             <proto>void <name>glBlendFuncSeparateOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>srcRGB</name></param>
-            <param><ptype>GLenum</ptype> <name>dstRGB</name></param>
-            <param><ptype>GLenum</ptype> <name>srcAlpha</name></param>
-            <param><ptype>GLenum</ptype> <name>dstAlpha</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>srcRGB</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dstRGB</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>srcAlpha</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dstAlpha</name></param>
         </command>
         <command>
             <proto>void <name>glBlendFuncSeparatei</name></proto>
             <param><ptype>GLuint</ptype> <name>buf</name></param>
-            <param><ptype>GLenum</ptype> <name>srcRGB</name></param>
-            <param><ptype>GLenum</ptype> <name>dstRGB</name></param>
-            <param><ptype>GLenum</ptype> <name>srcAlpha</name></param>
-            <param><ptype>GLenum</ptype> <name>dstAlpha</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>srcRGB</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dstRGB</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>srcAlpha</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dstAlpha</name></param>
         </command>
         <command>
             <proto>void <name>glBlendFuncSeparateiARB</name></proto>
             <param><ptype>GLuint</ptype> <name>buf</name></param>
-            <param><ptype>GLenum</ptype> <name>srcRGB</name></param>
-            <param><ptype>GLenum</ptype> <name>dstRGB</name></param>
-            <param><ptype>GLenum</ptype> <name>srcAlpha</name></param>
-            <param><ptype>GLenum</ptype> <name>dstAlpha</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>srcRGB</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dstRGB</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>srcAlpha</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dstAlpha</name></param>
+            <alias name="glBlendFuncSeparatei"/>
+        </command>
+        <command>
+            <proto>void <name>glBlendFuncSeparateiEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>buf</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>srcRGB</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dstRGB</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>srcAlpha</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dstAlpha</name></param>
+            <alias name="glBlendFuncSeparatei"/>
+        </command>
+        <command>
+            <proto>void <name>glBlendFuncSeparateiOES</name></proto>
+            <param><ptype>GLuint</ptype> <name>buf</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>srcRGB</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dstRGB</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>srcAlpha</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dstAlpha</name></param>
             <alias name="glBlendFuncSeparatei"/>
         </command>
         <command>
             <proto>void <name>glBlendFunci</name></proto>
             <param><ptype>GLuint</ptype> <name>buf</name></param>
-            <param><ptype>GLenum</ptype> <name>src</name></param>
-            <param><ptype>GLenum</ptype> <name>dst</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>src</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dst</name></param>
         </command>
         <command>
             <proto>void <name>glBlendFunciARB</name></proto>
             <param><ptype>GLuint</ptype> <name>buf</name></param>
-            <param><ptype>GLenum</ptype> <name>src</name></param>
-            <param><ptype>GLenum</ptype> <name>dst</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>src</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dst</name></param>
+            <alias name="glBlendFunci"/>
+        </command>
+        <command>
+            <proto>void <name>glBlendFunciEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>buf</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>src</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dst</name></param>
+            <alias name="glBlendFunci"/>
+        </command>
+        <command>
+            <proto>void <name>glBlendFunciOES</name></proto>
+            <param><ptype>GLuint</ptype> <name>buf</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>src</name></param>
+            <param group="BlendingFactor"><ptype>GLenum</ptype> <name>dst</name></param>
             <alias name="glBlendFunci"/>
         </command>
         <command>
@@ -8705,9 +12700,6 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLint</ptype> <name>value</name></param>
         </command>
-        <command>
-            <proto>void <name>glBlendBarrierNV</name></proto>
-        </command>
         <command>
             <proto>void <name>glBlitFramebuffer</name></proto>
             <param><ptype>GLint</ptype> <name>srcX0</name></param>
@@ -8719,7 +12711,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>dstX1</name></param>
             <param><ptype>GLint</ptype> <name>dstY1</name></param>
             <param group="ClearBufferMask"><ptype>GLbitfield</ptype> <name>mask</name></param>
-            <param><ptype>GLenum</ptype> <name>filter</name></param>
+            <param group="BlitFramebufferFilter"><ptype>GLenum</ptype> <name>filter</name></param>
             <glx type="render" opcode="4330"/>
         </command>
         <command>
@@ -8732,8 +12724,8 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>dstY0</name></param>
             <param><ptype>GLint</ptype> <name>dstX1</name></param>
             <param><ptype>GLint</ptype> <name>dstY1</name></param>
-            <param><ptype>GLbitfield</ptype> <name>mask</name></param>
-            <param><ptype>GLenum</ptype> <name>filter</name></param>
+            <param group="ClearBufferMask"><ptype>GLbitfield</ptype> <name>mask</name></param>
+            <param group="BlitFramebufferFilter"><ptype>GLenum</ptype> <name>filter</name></param>
         </command>
         <command>
             <proto>void <name>glBlitFramebufferEXT</name></proto>
@@ -8746,7 +12738,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>dstX1</name></param>
             <param><ptype>GLint</ptype> <name>dstY1</name></param>
             <param group="ClearBufferMask"><ptype>GLbitfield</ptype> <name>mask</name></param>
-            <param><ptype>GLenum</ptype> <name>filter</name></param>
+            <param group="BlitFramebufferFilter"><ptype>GLenum</ptype> <name>filter</name></param>
             <alias name="glBlitFramebuffer"/>
             <glx type="render" opcode="4330"/>
         </command>
@@ -8760,8 +12752,24 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>dstY0</name></param>
             <param><ptype>GLint</ptype> <name>dstX1</name></param>
             <param><ptype>GLint</ptype> <name>dstY1</name></param>
-            <param><ptype>GLbitfield</ptype> <name>mask</name></param>
-            <param><ptype>GLenum</ptype> <name>filter</name></param>
+            <param group="ClearBufferMask"><ptype>GLbitfield</ptype> <name>mask</name></param>
+            <param group="BlitFramebufferFilter"><ptype>GLenum</ptype> <name>filter</name></param>
+            <alias name="glBlitFramebuffer"/>
+        </command>
+        <command>
+            <proto>void <name>glBlitNamedFramebuffer</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>readFramebuffer</name></param>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>drawFramebuffer</name></param>
+            <param><ptype>GLint</ptype> <name>srcX0</name></param>
+            <param><ptype>GLint</ptype> <name>srcY0</name></param>
+            <param><ptype>GLint</ptype> <name>srcX1</name></param>
+            <param><ptype>GLint</ptype> <name>srcY1</name></param>
+            <param><ptype>GLint</ptype> <name>dstX0</name></param>
+            <param><ptype>GLint</ptype> <name>dstY0</name></param>
+            <param><ptype>GLint</ptype> <name>dstX1</name></param>
+            <param><ptype>GLint</ptype> <name>dstY1</name></param>
+            <param group="ClearBufferMask"><ptype>GLbitfield</ptype> <name>mask</name></param>
+            <param group="BlitFramebufferFilter"><ptype>GLenum</ptype> <name>filter</name></param>
         </command>
         <command>
             <proto>void <name>glBufferAddressRangeNV</name></proto>
@@ -8770,21 +12778,43 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLuint64EXT</ptype> <name>address</name></param>
             <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>length</name></param>
         </command>
+        <command>
+            <proto>void <name>glBufferAttachMemoryNV</name></proto>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>offset</name></param>
+        </command>
         <command>
             <proto>void <name>glBufferData</name></proto>
             <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
-            <param len="size">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param len="size">const void *<name>data</name></param>
             <param group="BufferUsageARB"><ptype>GLenum</ptype> <name>usage</name></param>
         </command>
         <command>
             <proto>void <name>glBufferDataARB</name></proto>
             <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="BufferSizeARB"><ptype>GLsizeiptrARB</ptype> <name>size</name></param>
-            <param len="size">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param len="size">const void *<name>data</name></param>
             <param group="BufferUsageARB"><ptype>GLenum</ptype> <name>usage</name></param>
             <alias name="glBufferData"/>
         </command>
+        <command>
+            <proto>void <name>glBufferPageCommitmentARB</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>commit</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBufferPageCommitmentMemNV</name></proto>
+            <param group="BufferStorageTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>memOffset</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>commit</name></param>
+        </command>
         <command>
             <proto>void <name>glBufferParameteriAPPLE</name></proto>
             <param><ptype>GLenum</ptype> <name>target</name></param>
@@ -8793,26 +12823,53 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glBufferStorage</name></proto>
+            <param group="BufferStorageTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <param len="size">const void *<name>data</name></param>
+            <param group="BufferStorageMask"><ptype>GLbitfield</ptype> <name>flags</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBufferStorageEXT</name></proto>
+            <param group="BufferStorageTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <param len="size">const void *<name>data</name></param>
+            <param group="BufferStorageMask"><ptype>GLbitfield</ptype> <name>flags</name></param>
+            <alias name="glBufferStorage"/>
+        </command>
+        <command>
+            <proto>void <name>glBufferStorageExternalEXT</name></proto>
             <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
             <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
-            <param>const void *<name>data</name></param>
-            <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+            <param><ptype>GLeglClientBufferEXT</ptype> <name>clientBuffer</name></param>
+            <param group="BufferStorageMask"><ptype>GLbitfield</ptype> <name>flags</name></param>
+        </command>
+        <command>
+            <proto>void <name>glBufferStorageMemEXT</name></proto>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>offset</name></param>
         </command>
         <command>
             <proto>void <name>glBufferSubData</name></proto>
             <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
             <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
-            <param len="size">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param len="size">const void *<name>data</name></param>
         </command>
         <command>
             <proto>void <name>glBufferSubDataARB</name></proto>
             <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="BufferOffsetARB"><ptype>GLintptrARB</ptype> <name>offset</name></param>
             <param group="BufferSizeARB"><ptype>GLsizeiptrARB</ptype> <name>size</name></param>
-            <param len="size">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param len="size">const void *<name>data</name></param>
             <alias name="glBufferSubData"/>
         </command>
+        <command>
+            <proto>void <name>glCallCommandListNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>list</name></param>
+        </command>
         <command>
             <proto>void <name>glCallList</name></proto>
             <param group="List"><ptype>GLuint</ptype> <name>list</name></param>
@@ -8822,27 +12879,32 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glCallLists</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
             <param group="ListNameType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(n,type)">const <ptype>GLvoid</ptype> *<name>lists</name></param>
+            <param len="COMPSIZE(n,type)">const void *<name>lists</name></param>
             <glx type="render" opcode="2"/>
         </command>
         <command>
-            <proto><ptype>GLenum</ptype> <name>glCheckFramebufferStatus</name></proto>
+            <proto group="FramebufferStatus"><ptype>GLenum</ptype> <name>glCheckFramebufferStatus</name></proto>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <glx type="vendor" opcode="1427"/>
         </command>
         <command>
-            <proto><ptype>GLenum</ptype> <name>glCheckFramebufferStatusEXT</name></proto>
+            <proto group="FramebufferStatus"><ptype>GLenum</ptype> <name>glCheckFramebufferStatusEXT</name></proto>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <alias name="glCheckFramebufferStatus"/>
             <glx type="vendor" opcode="1427"/>
         </command>
         <command>
-            <proto><ptype>GLenum</ptype> <name>glCheckFramebufferStatusOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <proto group="FramebufferStatus"><ptype>GLenum</ptype> <name>glCheckFramebufferStatusOES</name></proto>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+        </command>
+        <command>
+            <proto group="FramebufferStatus"><ptype>GLenum</ptype> <name>glCheckNamedFramebufferStatus</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
         </command>
         <command>
             <proto group="FramebufferStatus"><ptype>GLenum</ptype> <name>glCheckNamedFramebufferStatusEXT</name></proto>
-            <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param class="framebuffer" group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
         </command>
         <command>
@@ -8880,46 +12942,50 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glClearBufferData</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="BufferStorageTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="COMPSIZE(format,type)">const void *<name>data</name></param>
         </command>
         <command>
             <proto>void <name>glClearBufferSubData</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
             <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="COMPSIZE(format,type)">const void *<name>data</name></param>
         </command>
         <command>
             <proto>void <name>glClearBufferfi</name></proto>
-            <param><ptype>GLenum</ptype> <name>buffer</name></param>
+            <param group="Buffer"><ptype>GLenum</ptype> <name>buffer</name></param>
             <param group="DrawBufferName"><ptype>GLint</ptype> <name>drawbuffer</name></param>
             <param><ptype>GLfloat</ptype> <name>depth</name></param>
             <param><ptype>GLint</ptype> <name>stencil</name></param>
+            <glx type="render" opcode="360"/>
         </command>
         <command>
             <proto>void <name>glClearBufferfv</name></proto>
-            <param><ptype>GLenum</ptype> <name>buffer</name></param>
+            <param group="Buffer"><ptype>GLenum</ptype> <name>buffer</name></param>
             <param group="DrawBufferName"><ptype>GLint</ptype> <name>drawbuffer</name></param>
             <param len="COMPSIZE(buffer)">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <glx type="render" opcode="361"/>
         </command>
         <command>
             <proto>void <name>glClearBufferiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>buffer</name></param>
+            <param group="Buffer"><ptype>GLenum</ptype> <name>buffer</name></param>
             <param group="DrawBufferName"><ptype>GLint</ptype> <name>drawbuffer</name></param>
             <param len="COMPSIZE(buffer)">const <ptype>GLint</ptype> *<name>value</name></param>
+            <glx type="render" opcode="362"/>
         </command>
         <command>
             <proto>void <name>glClearBufferuiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>buffer</name></param>
+            <param group="Buffer"><ptype>GLenum</ptype> <name>buffer</name></param>
             <param group="DrawBufferName"><ptype>GLint</ptype> <name>drawbuffer</name></param>
             <param len="COMPSIZE(buffer)">const <ptype>GLuint</ptype> *<name>value</name></param>
+            <glx type="render" opcode="363"/>
         </command>
         <command>
             <proto>void <name>glClearColor</name></proto>
@@ -8992,24 +13058,77 @@ typedef unsigned int GLhandleARB;
             <param group="MaskedColorIndexValueF"><ptype>GLfloat</ptype> <name>c</name></param>
             <glx type="render" opcode="129"/>
         </command>
+        <command>
+            <proto>void <name>glClearNamedBufferData</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param>const void *<name>data</name></param>
+        </command>
         <command>
             <proto>void <name>glClearNamedBufferDataEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="COMPSIZE(format,type)">const void *<name>data</name></param>
         </command>
         <command>
-            <proto>void <name>glClearNamedBufferSubDataEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <proto>void <name>glClearNamedBufferSubData</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param>const void *<name>data</name></param>
+        </command>
+        <command>
+            <proto>void <name>glClearNamedBufferSubDataEXT</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>offset</name></param>
             <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="COMPSIZE(format,type)">const void *<name>data</name></param>
         </command>
+        <command>
+            <proto>void <name>glClearNamedFramebufferfi</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param group="Buffer"><ptype>GLenum</ptype> <name>buffer</name></param>
+            <param><ptype>GLint</ptype> <name>drawbuffer</name></param>
+            <param><ptype>GLfloat</ptype> <name>depth</name></param>
+            <param><ptype>GLint</ptype> <name>stencil</name></param>
+        </command>
+        <command>
+            <proto>void <name>glClearNamedFramebufferfv</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param group="Buffer"><ptype>GLenum</ptype> <name>buffer</name></param>
+            <param><ptype>GLint</ptype> <name>drawbuffer</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>value</name></param>
+        </command>
+        <command>
+            <proto>void <name>glClearNamedFramebufferiv</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param group="Buffer"><ptype>GLenum</ptype> <name>buffer</name></param>
+            <param><ptype>GLint</ptype> <name>drawbuffer</name></param>
+            <param>const <ptype>GLint</ptype> *<name>value</name></param>
+        </command>
+        <command>
+            <proto>void <name>glClearNamedFramebufferuiv</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param group="Buffer"><ptype>GLenum</ptype> <name>buffer</name></param>
+            <param><ptype>GLint</ptype> <name>drawbuffer</name></param>
+            <param>const <ptype>GLuint</ptype> *<name>value</name></param>
+        </command>
+        <command>
+            <proto>void <name>glClearPixelLocalStorageuiEXT</name></proto>
+            <param><ptype>GLsizei</ptype> <name>offset</name></param>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param len="n">const <ptype>GLuint</ptype> *<name>values</name></param>
+        </command>
         <command>
             <proto>void <name>glClearStencil</name></proto>
             <param group="StencilValue"><ptype>GLint</ptype> <name>s</name></param>
@@ -9017,15 +13136,24 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glClearTexImage</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
-            <param>const void *<name>data</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param len="COMPSIZE(format,type)">const void *<name>data</name></param>
+        </command>
+        <command>
+            <proto>void <name>glClearTexImageEXT</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param len="COMPSIZE(format,type)">const void *<name>data</name></param>
+            <alias name="glClearTexImage"/>
         </command>
         <command>
             <proto>void <name>glClearTexSubImage</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <param><ptype>GLint</ptype> <name>xoffset</name></param>
             <param><ptype>GLint</ptype> <name>yoffset</name></param>
@@ -9033,9 +13161,24 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
-            <param>const void *<name>data</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param len="COMPSIZE(format,type)">const void *<name>data</name></param>
+        </command>
+        <command>
+            <proto>void <name>glClearTexSubImageEXT</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLint</ptype> <name>xoffset</name></param>
+            <param><ptype>GLint</ptype> <name>yoffset</name></param>
+            <param><ptype>GLint</ptype> <name>zoffset</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLsizei</ptype> <name>depth</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param len="COMPSIZE(format,type)">const void *<name>data</name></param>
+            <alias name="glClearTexSubImage"/>
         </command>
         <command>
             <proto>void <name>glClientActiveTexture</name></proto>
@@ -9055,21 +13198,34 @@ typedef unsigned int GLhandleARB;
             <param group="ClientAttribMask"><ptype>GLbitfield</ptype> <name>mask</name></param>
         </command>
         <command>
-            <proto><ptype>GLenum</ptype> <name>glClientWaitSync</name></proto>
-            <param group="sync"><ptype>GLsync</ptype> <name>sync</name></param>
-            <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+            <proto>void <name>glClientWaitSemaphoreui64NVX</name></proto>
+            <param><ptype>GLsizei</ptype> <name>fenceObjectCount</name></param>
+            <param len="fenceObjectCount">const <ptype>GLuint</ptype> *<name>semaphoreArray</name></param>
+            <param len="fenceObjectCount">const <ptype>GLuint64</ptype> *<name>fenceValueArray</name></param>
+        </command>
+        <command>
+            <proto group="SyncStatus"><ptype>GLenum</ptype> <name>glClientWaitSync</name></proto>
+            <param class="sync" group="sync"><ptype>GLsync</ptype> <name>sync</name></param>
+            <param group="SyncObjectMask"><ptype>GLbitfield</ptype> <name>flags</name></param>
             <param><ptype>GLuint64</ptype> <name>timeout</name></param>
         </command>
         <command>
-            <proto><ptype>GLenum</ptype> <name>glClientWaitSyncAPPLE</name></proto>
-            <param><ptype>GLsync</ptype> <name>sync</name></param>
-            <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+            <proto group="SyncStatus"><ptype>GLenum</ptype> <name>glClientWaitSyncAPPLE</name></proto>
+            <param class="sync" group="sync"><ptype>GLsync</ptype> <name>sync</name></param>
+            <param group="SyncObjectMask"><ptype>GLbitfield</ptype> <name>flags</name></param>
             <param><ptype>GLuint64</ptype> <name>timeout</name></param>
+            <alias name="glClientWaitSync"/>
+        </command>
+        <command>
+            <proto>void <name>glClipControl</name></proto>
+            <param group="ClipControlOrigin"><ptype>GLenum</ptype> <name>origin</name></param>
+            <param group="ClipControlDepth"><ptype>GLenum</ptype> <name>depth</name></param>
         </command>
         <command>
-            <proto>void <name>glClipControlARB</name></proto>
+            <proto>void <name>glClipControlEXT</name></proto>
             <param><ptype>GLenum</ptype> <name>origin</name></param>
             <param><ptype>GLenum</ptype> <name>depth</name></param>
+            <alias name="glClipControl"/>
         </command>
         <command>
             <proto>void <name>glClipPlane</name></proto>
@@ -9079,33 +13235,33 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glClipPlanef</name></proto>
-            <param><ptype>GLenum</ptype> <name>p</name></param>
-            <param>const <ptype>GLfloat</ptype> *<name>eqn</name></param>
+            <param group="ClipPlaneName"><ptype>GLenum</ptype> <name>p</name></param>
+            <param len="4">const <ptype>GLfloat</ptype> *<name>eqn</name></param>
         </command>
         <command>
             <proto>void <name>glClipPlanefIMG</name></proto>
-            <param><ptype>GLenum</ptype> <name>p</name></param>
-            <param>const <ptype>GLfloat</ptype> *<name>eqn</name></param>
+            <param group="ClipPlaneName"><ptype>GLenum</ptype> <name>p</name></param>
+            <param len="4">const <ptype>GLfloat</ptype> *<name>eqn</name></param>
         </command>
         <command>
             <proto>void <name>glClipPlanefOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>plane</name></param>
+            <param group="ClipPlaneName"><ptype>GLenum</ptype> <name>plane</name></param>
             <param len="4">const <ptype>GLfloat</ptype> *<name>equation</name></param>
             <glx type="render" opcode="4312"/>
         </command>
         <command>
             <proto>void <name>glClipPlanex</name></proto>
-            <param><ptype>GLenum</ptype> <name>plane</name></param>
-            <param>const <ptype>GLfixed</ptype> *<name>equation</name></param>
+            <param group="ClipPlaneName"><ptype>GLenum</ptype> <name>plane</name></param>
+            <param len="4">const <ptype>GLfixed</ptype> *<name>equation</name></param>
         </command>
         <command>
             <proto>void <name>glClipPlanexIMG</name></proto>
-            <param><ptype>GLenum</ptype> <name>p</name></param>
-            <param>const <ptype>GLfixed</ptype> *<name>eqn</name></param>
+            <param group="ClipPlaneName"><ptype>GLenum</ptype> <name>p</name></param>
+            <param len="4">const <ptype>GLfixed</ptype> *<name>eqn</name></param>
         </command>
         <command>
             <proto>void <name>glClipPlanexOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>plane</name></param>
+            <param group="ClipPlaneName"><ptype>GLenum</ptype> <name>plane</name></param>
             <param len="4">const <ptype>GLfixed</ptype> *<name>equation</name></param>
         </command>
         <command>
@@ -9484,6 +13640,7 @@ typedef unsigned int GLhandleARB;
             <param group="Boolean"><ptype>GLboolean</ptype> <name>b</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>a</name></param>
             <alias name="glColorMaski"/>
+            <glx type="render" opcode="352"/>
         </command>
         <command>
             <proto>void <name>glColorMaski</name></proto>
@@ -9493,6 +13650,24 @@ typedef unsigned int GLhandleARB;
             <param group="Boolean"><ptype>GLboolean</ptype> <name>b</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>a</name></param>
         </command>
+        <command>
+            <proto>void <name>glColorMaskiEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>r</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>g</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>b</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>a</name></param>
+            <alias name="glColorMaski"/>
+        </command>
+        <command>
+            <proto>void <name>glColorMaskiOES</name></proto>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>r</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>g</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>b</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>a</name></param>
+            <alias name="glColorMaski"/>
+        </command>
         <command>
             <proto>void <name>glColorMaterial</name></proto>
             <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
@@ -9501,22 +13676,22 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glColorP3ui</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>color</name></param>
         </command>
         <command>
             <proto>void <name>glColorP3uiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>color</name></param>
         </command>
         <command>
             <proto>void <name>glColorP4ui</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>color</name></param>
         </command>
         <command>
             <proto>void <name>glColorP4uiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>color</name></param>
         </command>
         <command>
@@ -9524,7 +13699,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(size,type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glColorPointerEXT</name></proto>
@@ -9532,21 +13707,21 @@ typedef unsigned int GLhandleARB;
             <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="COMPSIZE(size,type,stride,count)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride,count)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glColorPointerListIBM</name></proto>
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLint</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(size,type,stride)">const <ptype>GLvoid</ptype> **<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride)">const void **<name>pointer</name></param>
             <param><ptype>GLint</ptype> <name>ptrstride</name></param>
         </command>
         <command>
             <proto>void <name>glColorPointervINTEL</name></proto>
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="4">const <ptype>GLvoid</ptype> **<name>pointer</name></param>
+            <param len="4">const void **<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glColorSubTable</name></proto>
@@ -9555,7 +13730,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,count)">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param len="COMPSIZE(format,type,count)">const void *<name>data</name></param>
             <glx type="render" opcode="195"/>
             <glx type="render" opcode="312" name="glColorSubTablePBO" comment="PBO protocol"/>
         </command>
@@ -9566,34 +13741,34 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,count)">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param len="COMPSIZE(format,type,count)">const void *<name>data</name></param>
             <alias name="glColorSubTable"/>
         </command>
         <command>
             <proto>void <name>glColorTable</name></proto>
             <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width)">const <ptype>GLvoid</ptype> *<name>table</name></param>
+            <param len="COMPSIZE(format,type,width)">const void *<name>table</name></param>
             <glx type="render" opcode="2053"/>
             <glx type="render" opcode="313" name="glColorTablePBO" comment="PBO protocol"/>
         </command>
         <command>
             <proto>void <name>glColorTableEXT</name></proto>
             <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalFormat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalFormat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width)">const <ptype>GLvoid</ptype> *<name>table</name></param>
+            <param len="COMPSIZE(format,type,width)">const void *<name>table</name></param>
             <alias name="glColorTable"/>
         </command>
         <command>
             <proto>void <name>glColorTableParameterfv</name></proto>
             <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="ColorTableParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="ColorTableParameterPNameSGI"><ptype>GLenum</ptype> <name>pname</name></param>
             <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
             <glx type="render" opcode="2054"/>
         </command>
@@ -9608,7 +13783,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glColorTableParameteriv</name></proto>
             <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="ColorTableParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="ColorTableParameterPNameSGI"><ptype>GLenum</ptype> <name>pname</name></param>
             <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
             <glx type="render" opcode="2055"/>
         </command>
@@ -9623,11 +13798,11 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glColorTableSGI</name></proto>
             <param group="ColorTableTargetSGI"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width)">const <ptype>GLvoid</ptype> *<name>table</name></param>
+            <param len="COMPSIZE(format,type,width)">const void *<name>table</name></param>
             <alias name="glColorTable"/>
             <glx type="render" opcode="2053"/>
         </command>
@@ -9685,9 +13860,18 @@ typedef unsigned int GLhandleARB;
             <param group="CombinerParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
             <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
+        <command>
+            <proto>void <name>glCommandListSegmentsNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>list</name></param>
+            <param><ptype>GLuint</ptype> <name>segments</name></param>
+        </command>
+        <command>
+            <proto>void <name>glCompileCommandListNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>list</name></param>
+        </command>
         <command>
             <proto>void <name>glCompileShader</name></proto>
-            <param><ptype>GLuint</ptype> <name>shader</name></param>
+            <param class="shader"><ptype>GLuint</ptype> <name>shader</name></param>
         </command>
         <command>
             <proto>void <name>glCompileShaderARB</name></proto>
@@ -9696,7 +13880,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glCompileShaderIncludeARB</name></proto>
-            <param><ptype>GLuint</ptype> <name>shader</name></param>
+            <param class="shader"><ptype>GLuint</ptype> <name>shader</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLchar</ptype> *const*<name>path</name></param>
             <param len="count">const <ptype>GLint</ptype> *<name>length</name></param>
@@ -9706,36 +13890,36 @@ typedef unsigned int GLhandleARB;
             <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param len="imageSize">const <ptype>GLvoid</ptype> *<name>bits</name></param>
+            <param len="imageSize">const void *<name>bits</name></param>
         </command>
         <command>
             <proto>void <name>glCompressedMultiTexImage2DEXT</name></proto>
             <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param len="imageSize">const <ptype>GLvoid</ptype> *<name>bits</name></param>
+            <param len="imageSize">const void *<name>bits</name></param>
         </command>
         <command>
             <proto>void <name>glCompressedMultiTexImage3DEXT</name></proto>
             <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param len="imageSize">const <ptype>GLvoid</ptype> *<name>bits</name></param>
+            <param len="imageSize">const void *<name>bits</name></param>
         </command>
         <command>
             <proto>void <name>glCompressedMultiTexSubImage1DEXT</name></proto>
@@ -9746,7 +13930,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param len="imageSize">const <ptype>GLvoid</ptype> *<name>bits</name></param>
+            <param len="imageSize">const void *<name>bits</name></param>
         </command>
         <command>
             <proto>void <name>glCompressedMultiTexSubImage2DEXT</name></proto>
@@ -9759,7 +13943,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param len="imageSize">const <ptype>GLvoid</ptype> *<name>bits</name></param>
+            <param len="imageSize">const void *<name>bits</name></param>
         </command>
         <command>
             <proto>void <name>glCompressedMultiTexSubImage3DEXT</name></proto>
@@ -9774,17 +13958,17 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param len="imageSize">const <ptype>GLvoid</ptype> *<name>bits</name></param>
+            <param len="imageSize">const void *<name>bits</name></param>
         </command>
         <command>
             <proto>void <name>glCompressedTexImage1D</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param group="CompressedTextureARB" len="imageSize">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
             <glx type="render" opcode="214"/>
             <glx type="render" opcode="314" name="glCompressedTexImage1DPBO" comment="PBO protocol"/>
         </command>
@@ -9792,11 +13976,11 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glCompressedTexImage1DARB</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param group="CompressedTextureARB" len="imageSize">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
             <alias name="glCompressedTexImage1D"/>
             <glx type="render" opcode="214"/>
         </command>
@@ -9804,12 +13988,12 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glCompressedTexImage2D</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param group="CompressedTextureARB" len="imageSize">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
             <glx type="render" opcode="215"/>
             <glx type="render" opcode="315" name="glCompressedTexImage2DPBO" comment="PBO protocol"/>
         </command>
@@ -9817,12 +14001,12 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glCompressedTexImage2DARB</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param group="CompressedTextureARB" len="imageSize">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
             <alias name="glCompressedTexImage2D"/>
             <glx type="render" opcode="215"/>
         </command>
@@ -9830,13 +14014,13 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glCompressedTexImage3D</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param group="CompressedTextureARB" len="imageSize">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
             <glx type="render" opcode="216"/>
             <glx type="render" opcode="316" name="glCompressedTexImage3DPBO" comment="PBO protocol"/>
         </command>
@@ -9844,27 +14028,27 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glCompressedTexImage3DARB</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param group="CompressedTextureARB" len="imageSize">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
             <alias name="glCompressedTexImage3D"/>
             <glx type="render" opcode="216"/>
         </command>
         <command>
             <proto>void <name>glCompressedTexImage3DOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param><ptype>GLint</ptype> <name>border</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param>const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param len="imageSize">const void *<name>data</name></param>
         </command>
         <command>
             <proto>void <name>glCompressedTexSubImage1D</name></proto>
@@ -9874,7 +14058,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param group="CompressedTextureARB" len="imageSize">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
             <glx type="render" opcode="217"/>
             <glx type="render" opcode="317" name="glCompressedTexSubImage1DPBO" comment="PBO protocol"/>
         </command>
@@ -9886,7 +14070,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param group="CompressedTextureARB" len="imageSize">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
             <alias name="glCompressedTexSubImage1D"/>
             <glx type="render" opcode="217"/>
         </command>
@@ -9900,7 +14084,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param group="CompressedTextureARB" len="imageSize">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
             <glx type="render" opcode="218"/>
             <glx type="render" opcode="318" name="glCompressedTexSubImage2DPBO" comment="PBO protocol"/>
         </command>
@@ -9914,7 +14098,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param group="CompressedTextureARB" len="imageSize">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
             <alias name="glCompressedTexSubImage2D"/>
             <glx type="render" opcode="218"/>
         </command>
@@ -9930,7 +14114,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param group="CompressedTextureARB" len="imageSize">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
             <glx type="render" opcode="219"/>
             <glx type="render" opcode="319" name="glCompressedTexSubImage3DPBO" comment="PBO protocol"/>
         </command>
@@ -9946,13 +14130,13 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param group="CompressedTextureARB" len="imageSize">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
             <alias name="glCompressedTexSubImage3D"/>
             <glx type="render" opcode="219"/>
         </command>
         <command>
             <proto>void <name>glCompressedTexSubImage3DOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <param><ptype>GLint</ptype> <name>xoffset</name></param>
             <param><ptype>GLint</ptype> <name>yoffset</name></param>
@@ -9960,60 +14144,82 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param>const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param len="imageSize">const void *<name>data</name></param>
         </command>
         <command>
             <proto>void <name>glCompressedTextureImage1DEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param len="imageSize">const <ptype>GLvoid</ptype> *<name>bits</name></param>
+            <param len="imageSize">const void *<name>bits</name></param>
         </command>
         <command>
             <proto>void <name>glCompressedTextureImage2DEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param len="imageSize">const <ptype>GLvoid</ptype> *<name>bits</name></param>
+            <param len="imageSize">const void *<name>bits</name></param>
         </command>
         <command>
             <proto>void <name>glCompressedTextureImage3DEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param len="imageSize">const <ptype>GLvoid</ptype> *<name>bits</name></param>
+            <param len="imageSize">const void *<name>bits</name></param>
+        </command>
+        <command>
+            <proto>void <name>glCompressedTextureSubImage1D</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLint</ptype> <name>xoffset</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+            <param>const void *<name>data</name></param>
         </command>
         <command>
             <proto>void <name>glCompressedTextureSubImage1DEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param len="imageSize">const <ptype>GLvoid</ptype> *<name>bits</name></param>
+            <param len="imageSize">const void *<name>bits</name></param>
+        </command>
+        <command>
+            <proto>void <name>glCompressedTextureSubImage2D</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLint</ptype> <name>xoffset</name></param>
+            <param><ptype>GLint</ptype> <name>yoffset</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+            <param>const void *<name>data</name></param>
         </command>
         <command>
             <proto>void <name>glCompressedTextureSubImage2DEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
@@ -10022,11 +14228,25 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param len="imageSize">const <ptype>GLvoid</ptype> *<name>bits</name></param>
+            <param len="imageSize">const void *<name>bits</name></param>
+        </command>
+        <command>
+            <proto>void <name>glCompressedTextureSubImage3D</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLint</ptype> <name>xoffset</name></param>
+            <param><ptype>GLint</ptype> <name>yoffset</name></param>
+            <param><ptype>GLint</ptype> <name>zoffset</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLsizei</ptype> <name>depth</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+            <param>const void *<name>data</name></param>
         </command>
         <command>
             <proto>void <name>glCompressedTextureSubImage3DEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
@@ -10037,58 +14257,68 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
-            <param len="imageSize">const <ptype>GLvoid</ptype> *<name>bits</name></param>
+            <param len="imageSize">const void *<name>bits</name></param>
+        </command>
+        <command>
+            <proto>void <name>glConservativeRasterParameterfNV</name></proto>
+            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLfloat</ptype> <name>value</name></param>
+        </command>
+        <command>
+            <proto>void <name>glConservativeRasterParameteriNV</name></proto>
+            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glConvolutionFilter1D</name></proto>
             <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width)">const <ptype>GLvoid</ptype> *<name>image</name></param>
+            <param len="COMPSIZE(format,type,width)">const void *<name>image</name></param>
             <glx type="render" opcode="4101"/>
             <glx type="render" opcode="320" name="glConvolutionFilter1DPBO" comment="PBO protocol"/>
         </command>
         <command>
             <proto>void <name>glConvolutionFilter1DEXT</name></proto>
             <param group="ConvolutionTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width)">const <ptype>GLvoid</ptype> *<name>image</name></param>
+            <param len="COMPSIZE(format,type,width)">const void *<name>image</name></param>
             <alias name="glConvolutionFilter1D"/>
             <glx type="render" opcode="4101"/>
         </command>
         <command>
             <proto>void <name>glConvolutionFilter2D</name></proto>
             <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height)">const <ptype>GLvoid</ptype> *<name>image</name></param>
+            <param len="COMPSIZE(format,type,width,height)">const void *<name>image</name></param>
             <glx type="render" opcode="4102"/>
             <glx type="render" opcode="321" name="glConvolutionFilter2DPBO" comment="PBO protocol"/>
         </command>
         <command>
             <proto>void <name>glConvolutionFilter2DEXT</name></proto>
             <param group="ConvolutionTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height)">const <ptype>GLvoid</ptype> *<name>image</name></param>
+            <param len="COMPSIZE(format,type,width,height)">const void *<name>image</name></param>
             <alias name="glConvolutionFilter2D"/>
             <glx type="render" opcode="4102"/>
         </command>
         <command>
             <proto>void <name>glConvolutionParameterf</name></proto>
             <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="ConvolutionParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="ConvolutionParameterEXT"><ptype>GLenum</ptype> <name>pname</name></param>
             <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>params</name></param>
             <glx type="render" opcode="4103"/>
         </command>
@@ -10103,7 +14333,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glConvolutionParameterfv</name></proto>
             <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="ConvolutionParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="ConvolutionParameterEXT"><ptype>GLenum</ptype> <name>pname</name></param>
             <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
             <glx type="render" opcode="4104"/>
         </command>
@@ -10118,7 +14348,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glConvolutionParameteri</name></proto>
             <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="ConvolutionParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="ConvolutionParameterEXT"><ptype>GLenum</ptype> <name>pname</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>params</name></param>
             <glx type="render" opcode="4105"/>
         </command>
@@ -10133,7 +14363,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glConvolutionParameteriv</name></proto>
             <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="ConvolutionParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="ConvolutionParameterEXT"><ptype>GLenum</ptype> <name>pname</name></param>
             <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
             <glx type="render" opcode="4106"/>
         </command>
@@ -10147,28 +14377,29 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glConvolutionParameterxOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="ConvolutionTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ConvolutionParameterEXT"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glConvolutionParameterxvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="ConvolutionTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ConvolutionParameterEXT"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glCopyBufferSubData</name></proto>
-            <param><ptype>GLenum</ptype> <name>readTarget</name></param>
-            <param><ptype>GLenum</ptype> <name>writeTarget</name></param>
+            <param group="CopyBufferSubDataTarget"><ptype>GLenum</ptype> <name>readTarget</name></param>
+            <param group="CopyBufferSubDataTarget"><ptype>GLenum</ptype> <name>writeTarget</name></param>
             <param group="BufferOffset"><ptype>GLintptr</ptype> <name>readOffset</name></param>
             <param group="BufferOffset"><ptype>GLintptr</ptype> <name>writeOffset</name></param>
             <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <glx type="single" opcode="221"/>
         </command>
         <command>
             <proto>void <name>glCopyBufferSubDataNV</name></proto>
-            <param><ptype>GLenum</ptype> <name>readTarget</name></param>
-            <param><ptype>GLenum</ptype> <name>writeTarget</name></param>
+            <param group="CopyBufferSubDataTarget"><ptype>GLenum</ptype> <name>readTarget</name></param>
+            <param group="CopyBufferSubDataTarget"><ptype>GLenum</ptype> <name>writeTarget</name></param>
             <param group="BufferOffset"><ptype>GLintptr</ptype> <name>readOffset</name></param>
             <param group="BufferOffset"><ptype>GLintptr</ptype> <name>writeOffset</name></param>
             <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
@@ -10195,7 +14426,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glCopyColorTable</name></proto>
             <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
@@ -10204,7 +14435,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glCopyColorTableSGI</name></proto>
             <param group="ColorTableTargetSGI"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
@@ -10214,7 +14445,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glCopyConvolutionFilter1D</name></proto>
             <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
@@ -10223,7 +14454,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glCopyConvolutionFilter1DEXT</name></proto>
             <param group="ConvolutionTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
@@ -10233,7 +14464,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glCopyConvolutionFilter2D</name></proto>
             <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
@@ -10243,7 +14474,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glCopyConvolutionFilter2DEXT</name></proto>
             <param group="ConvolutionTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
@@ -10254,13 +14485,13 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glCopyImageSubData</name></proto>
             <param><ptype>GLuint</ptype> <name>srcName</name></param>
-            <param><ptype>GLenum</ptype> <name>srcTarget</name></param>
+            <param group="CopyImageSubDataTarget"><ptype>GLenum</ptype> <name>srcTarget</name></param>
             <param><ptype>GLint</ptype> <name>srcLevel</name></param>
             <param><ptype>GLint</ptype> <name>srcX</name></param>
             <param><ptype>GLint</ptype> <name>srcY</name></param>
             <param><ptype>GLint</ptype> <name>srcZ</name></param>
             <param><ptype>GLuint</ptype> <name>dstName</name></param>
-            <param><ptype>GLenum</ptype> <name>dstTarget</name></param>
+            <param group="CopyImageSubDataTarget"><ptype>GLenum</ptype> <name>dstTarget</name></param>
             <param><ptype>GLint</ptype> <name>dstLevel</name></param>
             <param><ptype>GLint</ptype> <name>dstX</name></param>
             <param><ptype>GLint</ptype> <name>dstY</name></param>
@@ -10269,16 +14500,35 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>srcHeight</name></param>
             <param><ptype>GLsizei</ptype> <name>srcDepth</name></param>
         </command>
+        <command>
+            <proto>void <name>glCopyImageSubDataEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>srcName</name></param>
+            <param group="CopyBufferSubDataTarget"><ptype>GLenum</ptype> <name>srcTarget</name></param>
+            <param><ptype>GLint</ptype> <name>srcLevel</name></param>
+            <param><ptype>GLint</ptype> <name>srcX</name></param>
+            <param><ptype>GLint</ptype> <name>srcY</name></param>
+            <param><ptype>GLint</ptype> <name>srcZ</name></param>
+            <param><ptype>GLuint</ptype> <name>dstName</name></param>
+            <param group="CopyBufferSubDataTarget"><ptype>GLenum</ptype> <name>dstTarget</name></param>
+            <param><ptype>GLint</ptype> <name>dstLevel</name></param>
+            <param><ptype>GLint</ptype> <name>dstX</name></param>
+            <param><ptype>GLint</ptype> <name>dstY</name></param>
+            <param><ptype>GLint</ptype> <name>dstZ</name></param>
+            <param><ptype>GLsizei</ptype> <name>srcWidth</name></param>
+            <param><ptype>GLsizei</ptype> <name>srcHeight</name></param>
+            <param><ptype>GLsizei</ptype> <name>srcDepth</name></param>
+            <alias name="glCopyImageSubData"/>
+        </command>
         <command>
             <proto>void <name>glCopyImageSubDataNV</name></proto>
             <param><ptype>GLuint</ptype> <name>srcName</name></param>
-            <param><ptype>GLenum</ptype> <name>srcTarget</name></param>
+            <param group="CopyBufferSubDataTarget"><ptype>GLenum</ptype> <name>srcTarget</name></param>
             <param><ptype>GLint</ptype> <name>srcLevel</name></param>
             <param><ptype>GLint</ptype> <name>srcX</name></param>
             <param><ptype>GLint</ptype> <name>srcY</name></param>
             <param><ptype>GLint</ptype> <name>srcZ</name></param>
             <param><ptype>GLuint</ptype> <name>dstName</name></param>
-            <param><ptype>GLenum</ptype> <name>dstTarget</name></param>
+            <param group="CopyBufferSubDataTarget"><ptype>GLenum</ptype> <name>dstTarget</name></param>
             <param><ptype>GLint</ptype> <name>dstLevel</name></param>
             <param><ptype>GLint</ptype> <name>dstX</name></param>
             <param><ptype>GLint</ptype> <name>dstY</name></param>
@@ -10288,12 +14538,31 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <glx type="render" opcode="4291"/>
         </command>
+        <command>
+            <proto>void <name>glCopyImageSubDataOES</name></proto>
+            <param><ptype>GLuint</ptype> <name>srcName</name></param>
+            <param group="CopyBufferSubDataTarget"><ptype>GLenum</ptype> <name>srcTarget</name></param>
+            <param><ptype>GLint</ptype> <name>srcLevel</name></param>
+            <param><ptype>GLint</ptype> <name>srcX</name></param>
+            <param><ptype>GLint</ptype> <name>srcY</name></param>
+            <param><ptype>GLint</ptype> <name>srcZ</name></param>
+            <param><ptype>GLuint</ptype> <name>dstName</name></param>
+            <param group="CopyBufferSubDataTarget"><ptype>GLenum</ptype> <name>dstTarget</name></param>
+            <param><ptype>GLint</ptype> <name>dstLevel</name></param>
+            <param><ptype>GLint</ptype> <name>dstX</name></param>
+            <param><ptype>GLint</ptype> <name>dstY</name></param>
+            <param><ptype>GLint</ptype> <name>dstZ</name></param>
+            <param><ptype>GLsizei</ptype> <name>srcWidth</name></param>
+            <param><ptype>GLsizei</ptype> <name>srcHeight</name></param>
+            <param><ptype>GLsizei</ptype> <name>srcDepth</name></param>
+            <alias name="glCopyImageSubData"/>
+        </command>
         <command>
             <proto>void <name>glCopyMultiTexImage1DEXT</name></proto>
             <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
@@ -10304,7 +14573,7 @@ typedef unsigned int GLhandleARB;
             <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
@@ -10346,6 +14615,14 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
         </command>
+        <command>
+            <proto>void <name>glCopyNamedBufferSubData</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>readBuffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>writeBuffer</name></param>
+            <param><ptype>GLintptr</ptype> <name>readOffset</name></param>
+            <param><ptype>GLintptr</ptype> <name>writeOffset</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+        </command>
         <command>
             <proto>void <name>glCopyPathNV</name></proto>
             <param group="Path"><ptype>GLuint</ptype> <name>resultPath</name></param>
@@ -10364,7 +14641,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glCopyTexImage1D</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
@@ -10375,7 +14652,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glCopyTexImage1DEXT</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
@@ -10387,7 +14664,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glCopyTexImage2D</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
@@ -10399,7 +14676,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glCopyTexImage2DEXT</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
@@ -10495,10 +14772,10 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glCopyTextureImage1DEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
@@ -10506,10 +14783,10 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glCopyTextureImage2DEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
             <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
@@ -10523,9 +14800,18 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>sourceBaseLevel</name></param>
             <param><ptype>GLsizei</ptype> <name>sourceLevelCount</name></param>
         </command>
+        <command>
+            <proto>void <name>glCopyTextureSubImage1D</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLint</ptype> <name>xoffset</name></param>
+            <param><ptype>GLint</ptype> <name>x</name></param>
+            <param><ptype>GLint</ptype> <name>y</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+        </command>
         <command>
             <proto>void <name>glCopyTextureSubImage1DEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
@@ -10533,9 +14819,20 @@ typedef unsigned int GLhandleARB;
             <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
         </command>
+        <command>
+            <proto>void <name>glCopyTextureSubImage2D</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLint</ptype> <name>xoffset</name></param>
+            <param><ptype>GLint</ptype> <name>yoffset</name></param>
+            <param><ptype>GLint</ptype> <name>x</name></param>
+            <param><ptype>GLint</ptype> <name>y</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+        </command>
         <command>
             <proto>void <name>glCopyTextureSubImage2DEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
@@ -10545,9 +14842,21 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
         </command>
+        <command>
+            <proto>void <name>glCopyTextureSubImage3D</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLint</ptype> <name>xoffset</name></param>
+            <param><ptype>GLint</ptype> <name>yoffset</name></param>
+            <param><ptype>GLint</ptype> <name>zoffset</name></param>
+            <param><ptype>GLint</ptype> <name>x</name></param>
+            <param><ptype>GLint</ptype> <name>y</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+        </command>
         <command>
             <proto>void <name>glCopyTextureSubImage3DEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
@@ -10562,7 +14871,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glCoverFillPathInstancedNV</name></proto>
             <param><ptype>GLsizei</ptype> <name>numPaths</name></param>
             <param group="PathElementType"><ptype>GLenum</ptype> <name>pathNameType</name></param>
-            <param group="PathElement" len="COMPSIZE(numPaths,pathNameType,paths)">const <ptype>GLvoid</ptype> *<name>paths</name></param>
+            <param group="PathElement" len="COMPSIZE(numPaths,pathNameType,paths)">const void *<name>paths</name></param>
             <param group="Path"><ptype>GLuint</ptype> <name>pathBase</name></param>
             <param group="PathCoverMode"><ptype>GLenum</ptype> <name>coverMode</name></param>
             <param group="PathTransformType"><ptype>GLenum</ptype> <name>transformType</name></param>
@@ -10577,7 +14886,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glCoverStrokePathInstancedNV</name></proto>
             <param><ptype>GLsizei</ptype> <name>numPaths</name></param>
             <param group="PathElementType"><ptype>GLenum</ptype> <name>pathNameType</name></param>
-            <param group="PathElement" len="COMPSIZE(numPaths,pathNameType,paths)">const <ptype>GLvoid</ptype> *<name>paths</name></param>
+            <param group="PathElement" len="COMPSIZE(numPaths,pathNameType,paths)">const void *<name>paths</name></param>
             <param group="Path"><ptype>GLuint</ptype> <name>pathBase</name></param>
             <param group="PathCoverMode"><ptype>GLenum</ptype> <name>coverMode</name></param>
             <param group="PathTransformType"><ptype>GLenum</ptype> <name>transformType</name></param>
@@ -10590,51 +14899,135 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glCoverageMaskNV</name></proto>
-            <param><ptype>GLboolean</ptype> <name>mask</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>mask</name></param>
+        </command>
+        <command>
+            <proto>void <name>glCoverageModulationNV</name></proto>
+            <param><ptype>GLenum</ptype> <name>components</name></param>
+        </command>
+        <command>
+            <proto>void <name>glCoverageModulationTableNV</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param len="n">const <ptype>GLfloat</ptype> *<name>v</name></param>
         </command>
         <command>
             <proto>void <name>glCoverageOperationNV</name></proto>
             <param><ptype>GLenum</ptype> <name>operation</name></param>
         </command>
         <command>
-            <proto><ptype>GLuint</ptype> <name>glCreateProgram</name></proto>
+            <proto>void <name>glCreateBuffers</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param class="buffer" len="n"><ptype>GLuint</ptype> *<name>buffers</name></param>
+        </command>
+        <command>
+            <proto>void <name>glCreateCommandListsNV</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param len="n"><ptype>GLuint</ptype> *<name>lists</name></param>
+        </command>
+        <command>
+            <proto>void <name>glCreateFramebuffers</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param class="framebuffer" len="n"><ptype>GLuint</ptype> *<name>framebuffers</name></param>
+        </command>
+        <command>
+            <proto>void <name>glCreateMemoryObjectsEXT</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param><ptype>GLuint</ptype> *<name>memoryObjects</name></param>
+        </command>
+        <command>
+            <proto>void <name>glCreatePerfQueryINTEL</name></proto>
+            <param><ptype>GLuint</ptype> <name>queryId</name></param>
+            <param><ptype>GLuint</ptype> *<name>queryHandle</name></param>
+        </command>
+        <command>
+            <proto class="program"><ptype>GLuint</ptype> <name>glCreateProgram</name></proto>
         </command>
         <command>
             <proto group="handleARB"><ptype>GLhandleARB</ptype> <name>glCreateProgramObjectARB</name></proto>
             <alias name="glCreateProgram"/>
         </command>
         <command>
-            <proto><ptype>GLuint</ptype> <name>glCreateShader</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <proto>void <name>glCreateProgramPipelines</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param class="program pipeline" len="n"><ptype>GLuint</ptype> *<name>pipelines</name></param>
+        </command>
+        <command>
+            <proto><ptype>GLuint</ptype> <name>glCreateProgressFenceNVX</name></proto>
+        </command>
+        <command>
+            <proto>void <name>glCreateQueries</name></proto>
+            <param group="QueryTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param class="query" len="n"><ptype>GLuint</ptype> *<name>ids</name></param>
+        </command>
+        <command>
+            <proto>void <name>glCreateRenderbuffers</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param class="renderbuffer" len="n"><ptype>GLuint</ptype> *<name>renderbuffers</name></param>
+        </command>
+        <command>
+            <proto>void <name>glCreateSamplers</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param class="sampler" len="n"><ptype>GLuint</ptype> *<name>samplers</name></param>
+        </command>
+        <command>
+            <proto>void <name>glCreateSemaphoresNV</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param len="n"><ptype>GLuint</ptype> *<name>semaphores</name></param>
+        </command>
+        <command>
+            <proto class="shader"><ptype>GLuint</ptype> <name>glCreateShader</name></proto>
+            <param group="ShaderType"><ptype>GLenum</ptype> <name>type</name></param>
         </command>
         <command>
             <proto group="handleARB"><ptype>GLhandleARB</ptype> <name>glCreateShaderObjectARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>shaderType</name></param>
+            <param group="ShaderType"><ptype>GLenum</ptype> <name>shaderType</name></param>
             <alias name="glCreateShader"/>
         </command>
         <command>
-            <proto><ptype>GLuint</ptype> <name>glCreateShaderProgramEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <proto class="program"><ptype>GLuint</ptype> <name>glCreateShaderProgramEXT</name></proto>
+            <param group="ShaderType"><ptype>GLenum</ptype> <name>type</name></param>
             <param>const <ptype>GLchar</ptype> *<name>string</name></param>
         </command>
         <command>
-            <proto><ptype>GLuint</ptype> <name>glCreateShaderProgramv</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <proto class="program"><ptype>GLuint</ptype> <name>glCreateShaderProgramv</name></proto>
+            <param group="ShaderType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLchar</ptype> *const*<name>strings</name></param>
         </command>
         <command>
-            <proto><ptype>GLuint</ptype> <name>glCreateShaderProgramvEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <proto class="program"><ptype>GLuint</ptype> <name>glCreateShaderProgramvEXT</name></proto>
+            <param group="ShaderType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param>const <ptype>GLchar</ptype> **<name>strings</name></param>
+            <param len="count">const <ptype>GLchar</ptype> **<name>strings</name></param>
+        </command>
+        <command>
+            <proto>void <name>glCreateStatesNV</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param len="n"><ptype>GLuint</ptype> *<name>states</name></param>
         </command>
         <command>
-            <proto group="sync"><ptype>GLsync</ptype> <name>glCreateSyncFromCLeventARB</name></proto>
+            <proto class="sync" group="sync"><ptype>GLsync</ptype> <name>glCreateSyncFromCLeventARB</name></proto>
             <param group="cl_context"><ptype>struct _cl_context</ptype> *<name>context</name></param>
             <param group="cl_event"><ptype>struct _cl_event</ptype> *<name>event</name></param>
             <param><ptype>GLbitfield</ptype> <name>flags</name></param>
         </command>
+        <command>
+            <proto>void <name>glCreateTextures</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param class="texture" len="n"><ptype>GLuint</ptype> *<name>textures</name></param>
+        </command>
+        <command>
+            <proto>void <name>glCreateTransformFeedbacks</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param class="transform feedback" len="n"><ptype>GLuint</ptype> *<name>ids</name></param>
+        </command>
+        <command>
+            <proto>void <name>glCreateVertexArrays</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param class="vertex array" len="n"><ptype>GLuint</ptype> *<name>arrays</name></param>
+        </command>
         <command>
             <proto>void <name>glCullFace</name></proto>
             <param group="CullFaceMode"><ptype>GLenum</ptype> <name>mode</name></param>
@@ -10683,18 +15076,18 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glDebugMessageControl</name></proto>
-            <param><ptype>GLenum</ptype> <name>source</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
-            <param><ptype>GLenum</ptype> <name>severity</name></param>
+            <param group="DebugSource"><ptype>GLenum</ptype> <name>source</name></param>
+            <param group="DebugType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="DebugSeverity"><ptype>GLenum</ptype> <name>severity</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLuint</ptype> *<name>ids</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>enabled</name></param>
         </command>
         <command>
             <proto>void <name>glDebugMessageControlARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>source</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
-            <param><ptype>GLenum</ptype> <name>severity</name></param>
+            <param group="DebugSource"><ptype>GLenum</ptype> <name>source</name></param>
+            <param group="DebugType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="DebugSeverity"><ptype>GLenum</ptype> <name>severity</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLuint</ptype> *<name>ids</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>enabled</name></param>
@@ -10702,55 +15095,55 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glDebugMessageControlKHR</name></proto>
-            <param><ptype>GLenum</ptype> <name>source</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
-            <param><ptype>GLenum</ptype> <name>severity</name></param>
+            <param group="DebugSource"><ptype>GLenum</ptype> <name>source</name></param>
+            <param group="DebugType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="DebugSeverity"><ptype>GLenum</ptype> <name>severity</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param>const <ptype>GLuint</ptype> *<name>ids</name></param>
-            <param><ptype>GLboolean</ptype> <name>enabled</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>enabled</name></param>
             <alias name="glDebugMessageControl"/>
         </command>
         <command>
             <proto>void <name>glDebugMessageEnableAMD</name></proto>
             <param><ptype>GLenum</ptype> <name>category</name></param>
-            <param><ptype>GLenum</ptype> <name>severity</name></param>
+            <param group="DebugSeverity"><ptype>GLenum</ptype> <name>severity</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLuint</ptype> *<name>ids</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>enabled</name></param>
         </command>
         <command>
             <proto>void <name>glDebugMessageInsert</name></proto>
-            <param><ptype>GLenum</ptype> <name>source</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="DebugSource"><ptype>GLenum</ptype> <name>source</name></param>
+            <param group="DebugType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>id</name></param>
-            <param><ptype>GLenum</ptype> <name>severity</name></param>
+            <param group="DebugSeverity"><ptype>GLenum</ptype> <name>severity</name></param>
             <param><ptype>GLsizei</ptype> <name>length</name></param>
             <param len="COMPSIZE(buf,length)">const <ptype>GLchar</ptype> *<name>buf</name></param>
         </command>
         <command>
             <proto>void <name>glDebugMessageInsertAMD</name></proto>
             <param><ptype>GLenum</ptype> <name>category</name></param>
-            <param><ptype>GLenum</ptype> <name>severity</name></param>
+            <param group="DebugSeverity"><ptype>GLenum</ptype> <name>severity</name></param>
             <param><ptype>GLuint</ptype> <name>id</name></param>
             <param><ptype>GLsizei</ptype> <name>length</name></param>
             <param len="length">const <ptype>GLchar</ptype> *<name>buf</name></param>
         </command>
         <command>
             <proto>void <name>glDebugMessageInsertARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>source</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="DebugSource"><ptype>GLenum</ptype> <name>source</name></param>
+            <param group="DebugType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>id</name></param>
-            <param><ptype>GLenum</ptype> <name>severity</name></param>
+            <param group="DebugSeverity"><ptype>GLenum</ptype> <name>severity</name></param>
             <param><ptype>GLsizei</ptype> <name>length</name></param>
             <param len="length">const <ptype>GLchar</ptype> *<name>buf</name></param>
             <alias name="glDebugMessageInsert"/>
         </command>
         <command>
             <proto>void <name>glDebugMessageInsertKHR</name></proto>
-            <param><ptype>GLenum</ptype> <name>source</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="DebugSource"><ptype>GLenum</ptype> <name>source</name></param>
+            <param group="DebugType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>id</name></param>
-            <param><ptype>GLenum</ptype> <name>severity</name></param>
+            <param group="DebugSeverity"><ptype>GLenum</ptype> <name>severity</name></param>
             <param><ptype>GLsizei</ptype> <name>length</name></param>
             <param>const <ptype>GLchar</ptype> *<name>buf</name></param>
             <alias name="glDebugMessageInsert"/>
@@ -10804,14 +15197,19 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glDeleteBuffers</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n">const <ptype>GLuint</ptype> *<name>buffers</name></param>
+            <param class="buffer" len="n">const <ptype>GLuint</ptype> *<name>buffers</name></param>
         </command>
         <command>
             <proto>void <name>glDeleteBuffersARB</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n">const <ptype>GLuint</ptype> *<name>buffers</name></param>
+            <param class="buffer" len="n">const <ptype>GLuint</ptype> *<name>buffers</name></param>
             <alias name="glDeleteBuffers"/>
         </command>
+        <command>
+            <proto>void <name>glDeleteCommandListsNV</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param len="n">const <ptype>GLuint</ptype> *<name>lists</name></param>
+        </command>
         <command>
             <proto>void <name>glDeleteFencesAPPLE</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
@@ -10830,27 +15228,32 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glDeleteFramebuffers</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n">const <ptype>GLuint</ptype> *<name>framebuffers</name></param>
+            <param class="framebuffer" len="n">const <ptype>GLuint</ptype> *<name>framebuffers</name></param>
             <glx type="render" opcode="4320"/>
         </command>
         <command>
             <proto>void <name>glDeleteFramebuffersEXT</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n">const <ptype>GLuint</ptype> *<name>framebuffers</name></param>
+            <param class="framebuffer" len="n">const <ptype>GLuint</ptype> *<name>framebuffers</name></param>
             <alias name="glDeleteFramebuffers"/>
             <glx type="render" opcode="4320"/>
         </command>
         <command>
             <proto>void <name>glDeleteFramebuffersOES</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param>const <ptype>GLuint</ptype> *<name>framebuffers</name></param>
+            <param class="framebuffer" len="n">const <ptype>GLuint</ptype> *<name>framebuffers</name></param>
         </command>
         <command>
             <proto>void <name>glDeleteLists</name></proto>
-            <param group="List"><ptype>GLuint</ptype> <name>list</name></param>
+            <param class="display list" group="List"><ptype>GLuint</ptype> <name>list</name></param>
             <param><ptype>GLsizei</ptype> <name>range</name></param>
             <glx type="single" opcode="103"/>
         </command>
+        <command>
+            <proto>void <name>glDeleteMemoryObjectsEXT</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param len="n">const <ptype>GLuint</ptype> *<name>memoryObjects</name></param>
+        </command>
         <command>
             <proto>void <name>glDeleteNamedStringARB</name></proto>
             <param><ptype>GLint</ptype> <name>namelen</name></param>
@@ -10881,126 +15284,147 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>n</name></param>
             <param len="n"><ptype>GLuint</ptype> *<name>monitors</name></param>
         </command>
+        <command>
+            <proto>void <name>glDeletePerfQueryINTEL</name></proto>
+            <param><ptype>GLuint</ptype> <name>queryHandle</name></param>
+        </command>
         <command>
             <proto>void <name>glDeleteProgram</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <glx type="single" opcode="202"/>
         </command>
         <command>
             <proto>void <name>glDeleteProgramPipelines</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n">const <ptype>GLuint</ptype> *<name>pipelines</name></param>
+            <param class="program pipeline" len="n">const <ptype>GLuint</ptype> *<name>pipelines</name></param>
         </command>
         <command>
             <proto>void <name>glDeleteProgramPipelinesEXT</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param>const <ptype>GLuint</ptype> *<name>pipelines</name></param>
+            <param class="program pipeline" len="n">const <ptype>GLuint</ptype> *<name>pipelines</name></param>
         </command>
         <command>
             <proto>void <name>glDeleteProgramsARB</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n">const <ptype>GLuint</ptype> *<name>programs</name></param>
+            <param class="program" len="n">const <ptype>GLuint</ptype> *<name>programs</name></param>
             <glx type="vendor" opcode="1294"/>
         </command>
         <command>
             <proto>void <name>glDeleteProgramsNV</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n">const <ptype>GLuint</ptype> *<name>programs</name></param>
+            <param class="program" len="n">const <ptype>GLuint</ptype> *<name>programs</name></param>
             <alias name="glDeleteProgramsARB"/>
             <glx type="vendor" opcode="1294"/>
         </command>
         <command>
             <proto>void <name>glDeleteQueries</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n">const <ptype>GLuint</ptype> *<name>ids</name></param>
+            <param class="query" len="n">const <ptype>GLuint</ptype> *<name>ids</name></param>
             <glx type="single" opcode="161"/>
         </command>
         <command>
             <proto>void <name>glDeleteQueriesARB</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n">const <ptype>GLuint</ptype> *<name>ids</name></param>
+            <param class="query" len="n">const <ptype>GLuint</ptype> *<name>ids</name></param>
             <alias name="glDeleteQueries"/>
         </command>
         <command>
             <proto>void <name>glDeleteQueriesEXT</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param>const <ptype>GLuint</ptype> *<name>ids</name></param>
+            <param class="query" len="n">const <ptype>GLuint</ptype> *<name>ids</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDeleteQueryResourceTagNV</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param len="n">const <ptype>GLint</ptype> *<name>tagIds</name></param>
         </command>
         <command>
             <proto>void <name>glDeleteRenderbuffers</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n">const <ptype>GLuint</ptype> *<name>renderbuffers</name></param>
+            <param class="renderbuffer" len="n">const <ptype>GLuint</ptype> *<name>renderbuffers</name></param>
             <glx type="render" opcode="4317"/>
         </command>
         <command>
             <proto>void <name>glDeleteRenderbuffersEXT</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n">const <ptype>GLuint</ptype> *<name>renderbuffers</name></param>
+            <param class="renderbuffer" len="n">const <ptype>GLuint</ptype> *<name>renderbuffers</name></param>
             <alias name="glDeleteRenderbuffers"/>
             <glx type="render" opcode="4317"/>
         </command>
         <command>
             <proto>void <name>glDeleteRenderbuffersOES</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param>const <ptype>GLuint</ptype> *<name>renderbuffers</name></param>
+            <param class="renderbuffer" len="n">const <ptype>GLuint</ptype> *<name>renderbuffers</name></param>
         </command>
         <command>
             <proto>void <name>glDeleteSamplers</name></proto>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLuint</ptype> *<name>samplers</name></param>
+            <param class="sampler" len="count">const <ptype>GLuint</ptype> *<name>samplers</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDeleteSemaphoresEXT</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param len="n">const <ptype>GLuint</ptype> *<name>semaphores</name></param>
         </command>
         <command>
             <proto>void <name>glDeleteShader</name></proto>
-            <param><ptype>GLuint</ptype> <name>shader</name></param>
+            <param class="shader"><ptype>GLuint</ptype> <name>shader</name></param>
             <glx type="single" opcode="195"/>
         </command>
+        <command>
+            <proto>void <name>glDeleteStatesNV</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param len="n">const <ptype>GLuint</ptype> *<name>states</name></param>
+        </command>
         <command>
             <proto>void <name>glDeleteSync</name></proto>
-            <param group="sync"><ptype>GLsync</ptype> <name>sync</name></param>
+            <param class="sync" group="sync"><ptype>GLsync</ptype> <name>sync</name></param>
         </command>
         <command>
             <proto>void <name>glDeleteSyncAPPLE</name></proto>
-            <param><ptype>GLsync</ptype> <name>sync</name></param>
+            <param class="sync"><ptype>GLsync</ptype> <name>sync</name></param>
+            <alias name="glDeleteSync"/>
         </command>
         <command>
             <proto>void <name>glDeleteTextures</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
+            <param class="texture" group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
             <glx type="single" opcode="144"/>
         </command>
         <command>
             <proto>void <name>glDeleteTexturesEXT</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
+            <param class="texture" group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
             <glx type="vendor" opcode="12"/>
         </command>
         <command>
             <proto>void <name>glDeleteTransformFeedbacks</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n">const <ptype>GLuint</ptype> *<name>ids</name></param>
+            <param class="transform feedback" len="n">const <ptype>GLuint</ptype> *<name>ids</name></param>
         </command>
         <command>
             <proto>void <name>glDeleteTransformFeedbacksNV</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n">const <ptype>GLuint</ptype> *<name>ids</name></param>
+            <param class="transform feedback" len="n">const <ptype>GLuint</ptype> *<name>ids</name></param>
             <alias name="glDeleteTransformFeedbacks"/>
         </command>
         <command>
             <proto>void <name>glDeleteVertexArrays</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n">const <ptype>GLuint</ptype> *<name>arrays</name></param>
+            <param class="vertex array" len="n">const <ptype>GLuint</ptype> *<name>arrays</name></param>
             <glx type="render" opcode="351"/>
         </command>
         <command>
             <proto>void <name>glDeleteVertexArraysAPPLE</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n">const <ptype>GLuint</ptype> *<name>arrays</name></param>
+            <param class="vertex array" len="n">const <ptype>GLuint</ptype> *<name>arrays</name></param>
             <alias name="glDeleteVertexArrays"/>
         </command>
         <command>
             <proto>void <name>glDeleteVertexArraysOES</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param>const <ptype>GLuint</ptype> *<name>arrays</name></param>
+            <param class="vertex array" len="n">const <ptype>GLuint</ptype> *<name>arrays</name></param>
+            <alias name="glDeleteVertexArrays"/>
         </command>
         <command>
             <proto>void <name>glDeleteVertexShaderEXT</name></proto>
@@ -11030,10 +15454,28 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glDepthRange</name></proto>
-            <param><ptype>GLdouble</ptype> <name>near</name></param>
-            <param><ptype>GLdouble</ptype> <name>far</name></param>
+            <param><ptype>GLdouble</ptype> <name>n</name></param>
+            <param><ptype>GLdouble</ptype> <name>f</name></param>
             <glx type="render" opcode="174"/>
         </command>
+        <command>
+            <proto>void <name>glDepthRangeArraydvNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>first</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param>const <ptype>GLdouble</ptype> *<name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDepthRangeArrayfvNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>first</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDepthRangeArrayfvOES</name></proto>
+            <param><ptype>GLuint</ptype> <name>first</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>v</name></param>
+        </command>
         <command>
             <proto>void <name>glDepthRangeArrayv</name></proto>
             <param><ptype>GLuint</ptype> <name>first</name></param>
@@ -11046,6 +15488,24 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLdouble</ptype> <name>n</name></param>
             <param><ptype>GLdouble</ptype> <name>f</name></param>
         </command>
+        <command>
+            <proto>void <name>glDepthRangeIndexeddNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param><ptype>GLdouble</ptype> <name>n</name></param>
+            <param><ptype>GLdouble</ptype> <name>f</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDepthRangeIndexedfNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param><ptype>GLfloat</ptype> <name>n</name></param>
+            <param><ptype>GLfloat</ptype> <name>f</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDepthRangeIndexedfOES</name></proto>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param><ptype>GLfloat</ptype> <name>n</name></param>
+            <param><ptype>GLfloat</ptype> <name>f</name></param>
+        </command>
         <command>
             <proto>void <name>glDepthRangedNV</name></proto>
             <param><ptype>GLdouble</ptype> <name>zNear</name></param>
@@ -11082,8 +15542,8 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glDetachShader</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLuint</ptype> <name>shader</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="shader"><ptype>GLuint</ptype> <name>shader</name></param>
         </command>
         <command>
             <proto>void <name>glDetailTexFuncSGIS</name></proto>
@@ -11117,22 +15577,28 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glDisableIndexedEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="EnableCap"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <alias name="glDisablei"/>
+            <glx type="render" opcode="354"/>
         </command>
         <command>
             <proto>void <name>glDisableVariantClientStateEXT</name></proto>
             <param><ptype>GLuint</ptype> <name>id</name></param>
         </command>
+        <command>
+            <proto>void <name>glDisableVertexArrayAttrib</name></proto>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+        </command>
         <command>
             <proto>void <name>glDisableVertexArrayAttribEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
         </command>
         <command>
             <proto>void <name>glDisableVertexArrayEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
             <param group="EnableCap"><ptype>GLenum</ptype> <name>array</name></param>
         </command>
         <command>
@@ -11151,14 +15617,32 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glDisablei</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="EnableCap"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDisableiEXT</name></proto>
+            <param group="EnableCap"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
+            <alias name="glDisablei"/>
+        </command>
+        <command>
+            <proto>void <name>glDisableiNV</name></proto>
+            <param group="EnableCap"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <alias name="glDisablei"/>
+        </command>
+        <command>
+            <proto>void <name>glDisableiOES</name></proto>
+            <param group="EnableCap"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <alias name="glDisablei"/>
         </command>
         <command>
             <proto>void <name>glDiscardFramebufferEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>numAttachments</name></param>
-            <param>const <ptype>GLenum</ptype> *<name>attachments</name></param>
+            <param group="InvalidateFramebufferAttachment" len="numAttachments">const <ptype>GLenum</ptype> *<name>attachments</name></param>
         </command>
         <command>
             <proto>void <name>glDispatchCompute</name></proto>
@@ -11197,7 +15681,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glDrawArraysIndirect</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
-            <param>const <ptype>GLvoid</ptype> *<name>indirect</name></param>
+            <param>const void *<name>indirect</name></param>
         </command>
         <command>
             <proto>void <name>glDrawArraysInstanced</name></proto>
@@ -11212,6 +15696,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>first</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+            <alias name="glDrawArraysInstanced"/>
         </command>
         <command>
             <proto>void <name>glDrawArraysInstancedARB</name></proto>
@@ -11229,6 +15714,15 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
             <param><ptype>GLuint</ptype> <name>baseinstance</name></param>
         </command>
+        <command>
+            <proto>void <name>glDrawArraysInstancedBaseInstanceEXT</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param><ptype>GLint</ptype> <name>first</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
+            <param><ptype>GLuint</ptype> <name>baseinstance</name></param>
+            <alias name="glDrawArraysInstancedBaseInstance"/>
+        </command>
         <command comment="primcount should be renamed to instanceCount for OpenGL ES">
             <proto>void <name>glDrawArraysInstancedEXT</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
@@ -11243,47 +15737,80 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>first</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+            <alias name="glDrawArraysInstanced"/>
         </command>
         <command>
             <proto>void <name>glDrawBuffer</name></proto>
-            <param group="DrawBufferMode"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param group="DrawBufferMode"><ptype>GLenum</ptype> <name>buf</name></param>
             <glx type="render" opcode="126"/>
         </command>
         <command>
             <proto>void <name>glDrawBuffers</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param group="DrawBufferModeATI" len="n">const <ptype>GLenum</ptype> *<name>bufs</name></param>
+            <param group="DrawBufferMode" len="n">const <ptype>GLenum</ptype> *<name>bufs</name></param>
             <glx type="render" opcode="233"/>
         </command>
         <command>
             <proto>void <name>glDrawBuffersARB</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param group="DrawBufferModeATI" len="n">const <ptype>GLenum</ptype> *<name>bufs</name></param>
+            <param group="DrawBufferMode" len="n">const <ptype>GLenum</ptype> *<name>bufs</name></param>
             <alias name="glDrawBuffers"/>
         </command>
         <command>
             <proto>void <name>glDrawBuffersATI</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param group="DrawBufferModeATI" len="n">const <ptype>GLenum</ptype> *<name>bufs</name></param>
+            <param group="DrawBufferMode" len="n">const <ptype>GLenum</ptype> *<name>bufs</name></param>
             <alias name="glDrawBuffers"/>
             <glx type="render" opcode="233"/>
         </command>
         <command>
             <proto>void <name>glDrawBuffersEXT</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param>const <ptype>GLenum</ptype> *<name>bufs</name></param>
+            <param len="n">const <ptype>GLenum</ptype> *<name>bufs</name></param>
             <alias name="glDrawBuffers"/>
         </command>
         <command>
             <proto>void <name>glDrawBuffersIndexedEXT</name></proto>
             <param><ptype>GLint</ptype> <name>n</name></param>
-            <param>const <ptype>GLenum</ptype> *<name>location</name></param>
-            <param>const <ptype>GLint</ptype> *<name>indices</name></param>
+            <param len="n">const <ptype>GLenum</ptype> *<name>location</name></param>
+            <param len="n">const <ptype>GLint</ptype> *<name>indices</name></param>
         </command>
         <command>
             <proto>void <name>glDrawBuffersNV</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param>const <ptype>GLenum</ptype> *<name>bufs</name></param>
+            <param len="n">const <ptype>GLenum</ptype> *<name>bufs</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDrawCommandsAddressNV</name></proto>
+            <param><ptype>GLenum</ptype> <name>primitiveMode</name></param>
+            <param>const <ptype>GLuint64</ptype> *<name>indirects</name></param>
+            <param>const <ptype>GLsizei</ptype> *<name>sizes</name></param>
+            <param><ptype>GLuint</ptype> <name>count</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDrawCommandsNV</name></proto>
+            <param><ptype>GLenum</ptype> <name>primitiveMode</name></param>
+            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param>const <ptype>GLintptr</ptype> *<name>indirects</name></param>
+            <param>const <ptype>GLsizei</ptype> *<name>sizes</name></param>
+            <param><ptype>GLuint</ptype> <name>count</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDrawCommandsStatesAddressNV</name></proto>
+            <param>const <ptype>GLuint64</ptype> *<name>indirects</name></param>
+            <param>const <ptype>GLsizei</ptype> *<name>sizes</name></param>
+            <param>const <ptype>GLuint</ptype> *<name>states</name></param>
+            <param>const <ptype>GLuint</ptype> *<name>fbos</name></param>
+            <param><ptype>GLuint</ptype> <name>count</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDrawCommandsStatesNV</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param>const <ptype>GLintptr</ptype> *<name>indirects</name></param>
+            <param>const <ptype>GLsizei</ptype> *<name>sizes</name></param>
+            <param>const <ptype>GLuint</ptype> *<name>states</name></param>
+            <param>const <ptype>GLuint</ptype> *<name>fbos</name></param>
+            <param><ptype>GLuint</ptype> <name>count</name></param>
         </command>
         <command>
             <proto>void <name>glDrawElementArrayAPPLE</name></proto>
@@ -11301,44 +15828,63 @@ typedef unsigned int GLhandleARB;
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(count,type)">const <ptype>GLvoid</ptype> *<name>indices</name></param>
+            <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
         </command>
         <command>
             <proto>void <name>glDrawElementsBaseVertex</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(count,type)">const <ptype>GLvoid</ptype> *<name>indices</name></param>
+            <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
+            <param><ptype>GLint</ptype> <name>basevertex</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDrawElementsBaseVertexEXT</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
+            <param><ptype>GLint</ptype> <name>basevertex</name></param>
+            <alias name="glDrawElementsBaseVertex"/>
+        </command>
+        <command>
+            <proto>void <name>glDrawElementsBaseVertexOES</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
             <param><ptype>GLint</ptype> <name>basevertex</name></param>
+            <alias name="glDrawElementsBaseVertex"/>
         </command>
         <command>
             <proto>void <name>glDrawElementsIndirect</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
-            <param>const <ptype>GLvoid</ptype> *<name>indirect</name></param>
+            <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param>const void *<name>indirect</name></param>
         </command>
         <command>
             <proto>void <name>glDrawElementsInstanced</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(count,type)">const <ptype>GLvoid</ptype> *<name>indices</name></param>
+            <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
             <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
         </command>
         <command>
             <proto>void <name>glDrawElementsInstancedANGLE</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
-            <param>const void *<name>indices</name></param>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
             <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+            <alias name="glDrawElementsInstanced"/>
         </command>
         <command>
             <proto>void <name>glDrawElementsInstancedARB</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(count,type)">const <ptype>GLvoid</ptype> *<name>indices</name></param>
+            <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
             <param><ptype>GLsizei</ptype> <name>primcount</name></param>
             <alias name="glDrawElementsInstanced"/>
         </command>
@@ -11346,17 +15892,27 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glDrawElementsInstancedBaseInstance</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param len="count">const void *<name>indices</name></param>
+            <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
+            <param><ptype>GLuint</ptype> <name>baseinstance</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDrawElementsInstancedBaseInstanceEXT</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="count">const void *<name>indices</name></param>
             <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
             <param><ptype>GLuint</ptype> <name>baseinstance</name></param>
+            <alias name="glDrawElementsInstancedBaseInstance"/>
         </command>
         <command>
             <proto>void <name>glDrawElementsInstancedBaseVertex</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(count,type)">const <ptype>GLvoid</ptype> *<name>indices</name></param>
+            <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
             <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
             <param><ptype>GLint</ptype> <name>basevertex</name></param>
         </command>
@@ -11364,18 +15920,49 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glDrawElementsInstancedBaseVertexBaseInstance</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="count">const void *<name>indices</name></param>
             <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
             <param><ptype>GLint</ptype> <name>basevertex</name></param>
             <param><ptype>GLuint</ptype> <name>baseinstance</name></param>
         </command>
+        <command>
+            <proto>void <name>glDrawElementsInstancedBaseVertexBaseInstanceEXT</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param len="count">const void *<name>indices</name></param>
+            <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
+            <param><ptype>GLint</ptype> <name>basevertex</name></param>
+            <param><ptype>GLuint</ptype> <name>baseinstance</name></param>
+            <alias name="glDrawElementsInstancedBaseVertexBaseInstance"/>
+        </command>
+        <command>
+            <proto>void <name>glDrawElementsInstancedBaseVertexEXT</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
+            <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
+            <param><ptype>GLint</ptype> <name>basevertex</name></param>
+            <alias name="glDrawElementsInstancedBaseVertex"/>
+        </command>
+        <command>
+            <proto>void <name>glDrawElementsInstancedBaseVertexOES</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
+            <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
+            <param><ptype>GLint</ptype> <name>basevertex</name></param>
+            <alias name="glDrawElementsInstancedBaseVertex"/>
+        </command>
         <command comment="primcount should be renamed to instanceCount for OpenGL ES">
             <proto>void <name>glDrawElementsInstancedEXT</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(count,type)">const <ptype>GLvoid</ptype> *<name>indices</name></param>
+            <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
             <param><ptype>GLsizei</ptype> <name>primcount</name></param>
             <alias name="glDrawElementsInstanced"/>
         </command>
@@ -11383,9 +15970,10 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glDrawElementsInstancedNV</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
-            <param>const <ptype>GLvoid</ptype> *<name>indices</name></param>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
             <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+            <alias name="glDrawElementsInstanced"/>
         </command>
         <command>
             <proto>void <name>glDrawMeshArraysSUN</name></proto>
@@ -11394,13 +15982,22 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
         </command>
+        <command>
+            <proto>void <name>glDrawMeshTasksNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>first</name></param>
+            <param><ptype>GLuint</ptype> <name>count</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDrawMeshTasksIndirectNV</name></proto>
+            <param><ptype>GLintptr</ptype> <name>indirect</name></param>
+        </command>
         <command>
             <proto>void <name>glDrawPixels</name></proto>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height)">const void *<name>pixels</name></param>
             <glx type="render" opcode="173"/>
             <glx type="render" opcode="322" name="glDrawPixelsPBO" comment="PBO protocol"/>
         </command>
@@ -11426,7 +16023,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLuint</ptype> <name>end</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(count,type)">const <ptype>GLvoid</ptype> *<name>indices</name></param>
+            <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
         </command>
         <command>
             <proto>void <name>glDrawRangeElementsBaseVertex</name></proto>
@@ -11435,8 +16032,30 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLuint</ptype> <name>end</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(count,type)">const <ptype>GLvoid</ptype> *<name>indices</name></param>
+            <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
+            <param><ptype>GLint</ptype> <name>basevertex</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDrawRangeElementsBaseVertexEXT</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param><ptype>GLuint</ptype> <name>start</name></param>
+            <param><ptype>GLuint</ptype> <name>end</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
+            <param><ptype>GLint</ptype> <name>basevertex</name></param>
+            <alias name="glDrawRangeElementsBaseVertex"/>
+        </command>
+        <command>
+            <proto>void <name>glDrawRangeElementsBaseVertexOES</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param><ptype>GLuint</ptype> <name>start</name></param>
+            <param><ptype>GLuint</ptype> <name>end</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
             <param><ptype>GLint</ptype> <name>basevertex</name></param>
+            <alias name="glDrawRangeElementsBaseVertex"/>
         </command>
         <command>
             <proto>void <name>glDrawRangeElementsEXT</name></proto>
@@ -11445,7 +16064,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLuint</ptype> <name>end</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(count,type)">const <ptype>GLvoid</ptype> *<name>indices</name></param>
+            <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
             <alias name="glDrawRangeElements"/>
         </command>
         <command>
@@ -11455,10 +16074,11 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLfloat</ptype> <name>z</name></param>
             <param><ptype>GLfloat</ptype> <name>width</name></param>
             <param><ptype>GLfloat</ptype> <name>height</name></param>
+            <vecequiv name="glDrawTexfvOES"/>
         </command>
         <command>
             <proto>void <name>glDrawTexfvOES</name></proto>
-            <param>const <ptype>GLfloat</ptype> *<name>coords</name></param>
+            <param len="5">const <ptype>GLfloat</ptype> *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glDrawTexiOES</name></proto>
@@ -11467,10 +16087,11 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>z</name></param>
             <param><ptype>GLint</ptype> <name>width</name></param>
             <param><ptype>GLint</ptype> <name>height</name></param>
+            <vecequiv name="glDrawTexivOES"/>
         </command>
         <command>
             <proto>void <name>glDrawTexivOES</name></proto>
-            <param>const <ptype>GLint</ptype> *<name>coords</name></param>
+            <param len="5">const <ptype>GLint</ptype> *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glDrawTexsOES</name></proto>
@@ -11479,15 +16100,16 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLshort</ptype> <name>z</name></param>
             <param><ptype>GLshort</ptype> <name>width</name></param>
             <param><ptype>GLshort</ptype> <name>height</name></param>
+            <vecequiv name="glDrawTexsvOES"/>
         </command>
         <command>
             <proto>void <name>glDrawTexsvOES</name></proto>
-            <param>const <ptype>GLshort</ptype> *<name>coords</name></param>
+            <param len="5">const <ptype>GLshort</ptype> *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glDrawTextureNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
-            <param><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
             <param><ptype>GLfloat</ptype> <name>x0</name></param>
             <param><ptype>GLfloat</ptype> <name>y0</name></param>
             <param><ptype>GLfloat</ptype> <name>x1</name></param>
@@ -11505,38 +16127,52 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLfixed</ptype> <name>z</name></param>
             <param><ptype>GLfixed</ptype> <name>width</name></param>
             <param><ptype>GLfixed</ptype> <name>height</name></param>
+            <vecequiv name="glDrawTexxvOES"/>
         </command>
         <command>
             <proto>void <name>glDrawTexxvOES</name></proto>
-            <param>const <ptype>GLfixed</ptype> *<name>coords</name></param>
+            <param len="5">const <ptype>GLfixed</ptype> *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glDrawTransformFeedback</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="transform feedback"><ptype>GLuint</ptype> <name>id</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDrawTransformFeedbackEXT</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param class="transform feedback"><ptype>GLuint</ptype> <name>id</name></param>
+            <alias name="glDrawTransformFeedback"/>
         </command>
         <command>
             <proto>void <name>glDrawTransformFeedbackInstanced</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="transform feedback"><ptype>GLuint</ptype> <name>id</name></param>
+            <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDrawTransformFeedbackInstancedEXT</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param class="transform feedback"><ptype>GLuint</ptype> <name>id</name></param>
             <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
+            <alias name="glDrawTransformFeedbackInstanced"/>
         </command>
         <command>
             <proto>void <name>glDrawTransformFeedbackNV</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="transform feedback"><ptype>GLuint</ptype> <name>id</name></param>
             <alias name="glDrawTransformFeedback"/>
         </command>
         <command>
             <proto>void <name>glDrawTransformFeedbackStream</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="transform feedback"><ptype>GLuint</ptype> <name>id</name></param>
             <param><ptype>GLuint</ptype> <name>stream</name></param>
         </command>
         <command>
             <proto>void <name>glDrawTransformFeedbackStreamInstanced</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="transform feedback"><ptype>GLuint</ptype> <name>id</name></param>
             <param><ptype>GLuint</ptype> <name>stream</name></param>
             <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
         </command>
@@ -11545,11 +16181,23 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLeglImageOES</ptype> <name>image</name></param>
         </command>
+        <command>
+            <proto>void <name>glEGLImageTargetTexStorageEXT</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLeglImageOES</ptype> <name>image</name></param>
+            <param>const <ptype>GLint</ptype>* <name>attrib_list</name></param>
+        </command>
         <command>
             <proto>void <name>glEGLImageTargetTexture2DOES</name></proto>
             <param><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLeglImageOES</ptype> <name>image</name></param>
         </command>
+        <command>
+            <proto>void <name>glEGLImageTargetTextureStorageEXT</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLeglImageOES</ptype> <name>image</name></param>
+            <param>const <ptype>GLint</ptype>* <name>attrib_list</name></param>
+        </command>
         <command>
             <proto>void <name>glEdgeFlag</name></proto>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>flag</name></param>
@@ -11562,7 +16210,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glEdgeFlagPointer</name></proto>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glEdgeFlagPointerEXT</name></proto>
@@ -11578,18 +16226,18 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glEdgeFlagv</name></proto>
-            <param group="Boolean">const <ptype>GLboolean</ptype> *<name>flag</name></param>
+            <param group="Boolean" len="1">const <ptype>GLboolean</ptype> *<name>flag</name></param>
             <glx type="render" opcode="22"/>
         </command>
         <command>
             <proto>void <name>glElementPointerAPPLE</name></proto>
             <param group="ElementPointerTypeATI"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="type">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(type)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glElementPointerATI</name></proto>
             <param group="ElementPointerTypeATI"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(type)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(type)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glEnable</name></proto>
@@ -11616,22 +16264,28 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glEnableIndexedEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="EnableCap"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <alias name="glEnablei"/>
+            <glx type="render" opcode="353"/>
         </command>
         <command>
             <proto>void <name>glEnableVariantClientStateEXT</name></proto>
             <param><ptype>GLuint</ptype> <name>id</name></param>
         </command>
+        <command>
+            <proto>void <name>glEnableVertexArrayAttrib</name></proto>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+        </command>
         <command>
             <proto>void <name>glEnableVertexArrayAttribEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
         </command>
         <command>
             <proto>void <name>glEnableVertexArrayEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
             <param group="EnableCap"><ptype>GLenum</ptype> <name>array</name></param>
         </command>
         <command>
@@ -11650,8 +16304,26 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glEnablei</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="EnableCap"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+        </command>
+        <command>
+            <proto>void <name>glEnableiEXT</name></proto>
+            <param group="EnableCap"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <alias name="glEnablei"/>
+        </command>
+        <command>
+            <proto>void <name>glEnableiNV</name></proto>
+            <param group="EnableCap"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <alias name="glEnablei"/>
+        </command>
+        <command>
+            <proto>void <name>glEnableiOES</name></proto>
+            <param group="EnableCap"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
+            <alias name="glEnablei"/>
         </command>
         <command>
             <proto>void <name>glEnd</name></proto>
@@ -11683,31 +16355,36 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glEndPerfMonitorAMD</name></proto>
             <param><ptype>GLuint</ptype> <name>monitor</name></param>
         </command>
+        <command>
+            <proto>void <name>glEndPerfQueryINTEL</name></proto>
+            <param><ptype>GLuint</ptype> <name>queryHandle</name></param>
+        </command>
         <command>
             <proto>void <name>glEndQuery</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="QueryTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <glx type="render" opcode="232"/>
         </command>
         <command>
             <proto>void <name>glEndQueryARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="QueryTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <alias name="glEndQuery"/>
         </command>
         <command>
             <proto>void <name>glEndQueryEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="QueryTarget"><ptype>GLenum</ptype> <name>target</name></param>
         </command>
         <command>
             <proto>void <name>glEndQueryIndexed</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="QueryTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
         </command>
         <command>
             <proto>void <name>glEndTilingQCOM</name></proto>
-            <param><ptype>GLbitfield</ptype> <name>preserveMask</name></param>
+            <param group="BufferBitQCOM"><ptype>GLbitfield</ptype> <name>preserveMask</name></param>
         </command>
         <command>
             <proto>void <name>glEndTransformFeedback</name></proto>
+            <glx type="render" opcode="358"/>
         </command>
         <command>
             <proto>void <name>glEndTransformFeedbackEXT</name></proto>
@@ -11815,6 +16492,9 @@ typedef unsigned int GLhandleARB;
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>j</name></param>
             <glx type="render" opcode="158"/>
         </command>
+        <command>
+            <proto>void <name>glEvaluateDepthValuesARB</name></proto>
+        </command>
         <command>
             <proto>void <name>glExecuteProgramNV</name></proto>
             <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>target</name></param>
@@ -11825,48 +16505,48 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glExtGetBufferPointervQCOM</name></proto>
             <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLvoid</ptype> **<name>params</name></param>
+            <param len="1">void **<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glExtGetBuffersQCOM</name></proto>
-            <param><ptype>GLuint</ptype> *<name>buffers</name></param>
+            <param class="buffer" len="maxBuffers"><ptype>GLuint</ptype> *<name>buffers</name></param>
             <param><ptype>GLint</ptype> <name>maxBuffers</name></param>
-            <param><ptype>GLint</ptype> *<name>numBuffers</name></param>
+            <param len="1"><ptype>GLint</ptype> *<name>numBuffers</name></param>
         </command>
         <command>
             <proto>void <name>glExtGetFramebuffersQCOM</name></proto>
-            <param><ptype>GLuint</ptype> *<name>framebuffers</name></param>
+            <param class="framebuffer" len="maxFramebuffers"><ptype>GLuint</ptype> *<name>framebuffers</name></param>
             <param><ptype>GLint</ptype> <name>maxFramebuffers</name></param>
-            <param><ptype>GLint</ptype> *<name>numFramebuffers</name></param>
+            <param len="1"><ptype>GLint</ptype> *<name>numFramebuffers</name></param>
         </command>
         <command>
             <proto>void <name>glExtGetProgramBinarySourceQCOM</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLenum</ptype> <name>shadertype</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param group="ShaderType"><ptype>GLenum</ptype> <name>shadertype</name></param>
             <param><ptype>GLchar</ptype> *<name>source</name></param>
             <param><ptype>GLint</ptype> *<name>length</name></param>
         </command>
         <command>
             <proto>void <name>glExtGetProgramsQCOM</name></proto>
-            <param><ptype>GLuint</ptype> *<name>programs</name></param>
+            <param class="program" len="maxPrograms"><ptype>GLuint</ptype> *<name>programs</name></param>
             <param><ptype>GLint</ptype> <name>maxPrograms</name></param>
-            <param><ptype>GLint</ptype> *<name>numPrograms</name></param>
+            <param len="1"><ptype>GLint</ptype> *<name>numPrograms</name></param>
         </command>
         <command>
             <proto>void <name>glExtGetRenderbuffersQCOM</name></proto>
-            <param><ptype>GLuint</ptype> *<name>renderbuffers</name></param>
+            <param class="renderbuffer" len="maxRenderbuffers"><ptype>GLuint</ptype> *<name>renderbuffers</name></param>
             <param><ptype>GLint</ptype> <name>maxRenderbuffers</name></param>
-            <param><ptype>GLint</ptype> *<name>numRenderbuffers</name></param>
+            <param len="1"><ptype>GLint</ptype> *<name>numRenderbuffers</name></param>
         </command>
         <command>
             <proto>void <name>glExtGetShadersQCOM</name></proto>
-            <param><ptype>GLuint</ptype> *<name>shaders</name></param>
+            <param class="shader" len="maxShaders"><ptype>GLuint</ptype> *<name>shaders</name></param>
             <param><ptype>GLint</ptype> <name>maxShaders</name></param>
-            <param><ptype>GLint</ptype> *<name>numShaders</name></param>
+            <param len="1"><ptype>GLint</ptype> *<name>numShaders</name></param>
         </command>
         <command>
             <proto>void <name>glExtGetTexLevelParameterivQCOM</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLenum</ptype> <name>face</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <param><ptype>GLenum</ptype> <name>pname</name></param>
@@ -11882,19 +16562,19 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
-            <param><ptype>GLvoid</ptype> *<name>texels</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param>void *<name>texels</name></param>
         </command>
         <command>
             <proto>void <name>glExtGetTexturesQCOM</name></proto>
-            <param><ptype>GLuint</ptype> *<name>textures</name></param>
+            <param class="texture"><ptype>GLuint</ptype> *<name>textures</name></param>
             <param><ptype>GLint</ptype> <name>maxTextures</name></param>
             <param><ptype>GLint</ptype> *<name>numTextures</name></param>
         </command>
         <command>
-            <proto><ptype>GLboolean</ptype> <name>glExtIsProgramBinaryQCOM</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glExtIsProgramBinaryQCOM</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
         </command>
         <command>
             <proto>void <name>glExtTexObjectStateOverrideiQCOM</name></proto>
@@ -11922,14 +16602,15 @@ typedef unsigned int GLhandleARB;
             <param len="n">const <ptype>GLfixed</ptype> *<name>buffer</name></param>
         </command>
         <command>
-            <proto group="sync"><ptype>GLsync</ptype> <name>glFenceSync</name></proto>
-            <param><ptype>GLenum</ptype> <name>condition</name></param>
-            <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+            <proto class="sync" group="sync"><ptype>GLsync</ptype> <name>glFenceSync</name></proto>
+            <param group="SyncCondition"><ptype>GLenum</ptype> <name>condition</name></param>
+            <param group="SyncBehaviorFlags"><ptype>GLbitfield</ptype> <name>flags</name></param>
         </command>
         <command>
-            <proto><ptype>GLsync</ptype> <name>glFenceSyncAPPLE</name></proto>
-            <param><ptype>GLenum</ptype> <name>condition</name></param>
-            <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+            <proto class="sync" group="sync"><ptype>GLsync</ptype> <name>glFenceSyncAPPLE</name></proto>
+            <param group="SyncCondition"><ptype>GLenum</ptype> <name>condition</name></param>
+            <param group="SyncBehaviorFlags"><ptype>GLbitfield</ptype> <name>flags</name></param>
+            <alias name="glFenceSync"/>
         </command>
         <command>
             <proto>void <name>glFinalCombinerInputNV</name></proto>
@@ -11976,20 +16657,27 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glFlushMappedBufferRangeAPPLE</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
             <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
             <alias name="glFlushMappedBufferRange"/>
         </command>
         <command>
             <proto>void <name>glFlushMappedBufferRangeEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLintptr</ptype> <name>offset</name></param>
             <param><ptype>GLsizeiptr</ptype> <name>length</name></param>
+            <alias name="glFlushMappedBufferRange"/>
+        </command>
+        <command>
+            <proto>void <name>glFlushMappedNamedBufferRange</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>length</name></param>
         </command>
         <command>
             <proto>void <name>glFlushMappedNamedBufferRangeEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param><ptype>GLintptr</ptype> <name>offset</name></param>
             <param><ptype>GLsizeiptr</ptype> <name>length</name></param>
         </command>
@@ -12008,7 +16696,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glFlushVertexArrayRangeAPPLE</name></proto>
             <param><ptype>GLsizei</ptype> <name>length</name></param>
-            <param len="length"><ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="length">void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glFlushVertexArrayRangeNV</name></proto>
@@ -12022,20 +16710,20 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glFogCoordPointer</name></proto>
             <param group="FogPointerTypeEXT"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glFogCoordPointerEXT</name></proto>
             <param group="FogPointerTypeEXT"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
             <alias name="glFogCoordPointer"/>
         </command>
         <command>
             <proto>void <name>glFogCoordPointerListIBM</name></proto>
             <param group="FogPointerTypeIBM"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLint</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(type,stride)">const <ptype>GLvoid</ptype> **<name>pointer</name></param>
+            <param len="COMPSIZE(type,stride)">const void **<name>pointer</name></param>
             <param><ptype>GLint</ptype> <name>ptrstride</name></param>
         </command>
         <command>
@@ -12124,22 +16812,22 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glFogx</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="FogPName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glFogxOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="FogPName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glFogxv</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param>const <ptype>GLfixed</ptype> *<name>param</name></param>
+            <param group="FogPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>param</name></param>
         </command>
         <command>
             <proto>void <name>glFogxvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="FogPName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>param</name></param>
         </command>
         <command>
@@ -12147,6 +16835,10 @@ typedef unsigned int GLhandleARB;
             <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
             <param group="MaterialParameter"><ptype>GLenum</ptype> <name>mode</name></param>
         </command>
+        <command>
+            <proto>void <name>glFragmentCoverageColorNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>color</name></param>
+        </command>
         <command>
             <proto>void <name>glFragmentLightModelfSGIX</name></proto>
             <param group="FragmentLightModelParameterSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
@@ -12225,24 +16917,54 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glFramebufferDrawBufferEXT</name></proto>
-            <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param class="framebuffer" group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <param group="DrawBufferMode"><ptype>GLenum</ptype> <name>mode</name></param>
         </command>
         <command>
             <proto>void <name>glFramebufferDrawBuffersEXT</name></proto>
-            <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param class="framebuffer" group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
             <param group="DrawBufferMode" len="n">const <ptype>GLenum</ptype> *<name>bufs</name></param>
         </command>
+        <command>
+            <proto>void <name>glFramebufferFetchBarrierEXT</name></proto>
+        </command>
+        <command>
+            <proto>void <name>glFramebufferFetchBarrierQCOM</name></proto>
+        </command>
+        <command>
+            <proto>void <name>glFramebufferFoveationConfigQCOM</name></proto>
+            <param class="framebuffer" group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param><ptype>GLuint</ptype> <name>numLayers</name></param>
+            <param><ptype>GLuint</ptype> <name>focalPointsPerLayer</name></param>
+            <param><ptype>GLuint</ptype> <name>requestedFeatures</name></param>
+            <param len="1"><ptype>GLuint</ptype> *<name>providedFeatures</name></param>
+        </command>
+        <command>
+            <proto>void <name>glFramebufferFoveationParametersQCOM</name></proto>
+            <param class="framebuffer" group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param><ptype>GLuint</ptype> <name>layer</name></param>
+            <param><ptype>GLuint</ptype> <name>focalPoint</name></param>
+            <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>focalX</name></param>
+            <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>focalY</name></param>
+            <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>gainX</name></param>
+            <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>gainY</name></param>
+            <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>foveaArea</name></param>
+        </command>
         <command>
             <proto>void <name>glFramebufferParameteri</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLint</ptype> <name>param</name></param>
         </command>
+        <command>
+            <proto>void <name>glFramebufferPixelLocalStorageSizeEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>target</name></param>
+            <param><ptype>GLsizei</ptype> <name>size</name></param>
+        </command>
         <command>
             <proto>void <name>glFramebufferReadBufferEXT</name></proto>
-            <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param class="framebuffer" group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <param group="ReadBufferMode"><ptype>GLenum</ptype> <name>mode</name></param>
         </command>
         <command>
@@ -12250,7 +16972,7 @@ typedef unsigned int GLhandleARB;
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
             <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>renderbuffertarget</name></param>
-            <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param class="renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
             <glx type="render" opcode="4324"/>
         </command>
         <command>
@@ -12258,30 +16980,51 @@ typedef unsigned int GLhandleARB;
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
             <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>renderbuffertarget</name></param>
-            <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param class="renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
             <alias name="glFramebufferRenderbuffer"/>
             <glx type="render" opcode="4324"/>
         </command>
         <command>
             <proto>void <name>glFramebufferRenderbufferOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param><ptype>GLenum</ptype> <name>renderbuffertarget</name></param>
-            <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+            <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>renderbuffertarget</name></param>
+            <param class="renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+        </command>
+        <command>
+            <proto>void <name>glFramebufferSampleLocationsfvARB</name></proto>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>start</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glFramebufferSampleLocationsfvNV</name></proto>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>start</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glFramebufferSamplePositionsfvAMD</name></proto>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>numsamples</name></param>
+            <param><ptype>GLuint</ptype> <name>pixelindex</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>values</name></param>
         </command>
         <command>
             <proto>void <name>glFramebufferTexture</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
         </command>
         <command>
             <proto>void <name>glFramebufferTexture1D</name></proto>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param><ptype>GLenum</ptype> <name>textarget</name></param>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>textarget</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <glx type="render" opcode="4321"/>
         </command>
@@ -12289,8 +17032,8 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glFramebufferTexture1DEXT</name></proto>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param><ptype>GLenum</ptype> <name>textarget</name></param>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>textarget</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <alias name="glFramebufferTexture1D"/>
             <glx type="render" opcode="4321"/>
@@ -12299,8 +17042,8 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glFramebufferTexture2D</name></proto>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param><ptype>GLenum</ptype> <name>textarget</name></param>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>textarget</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <glx type="render" opcode="4322"/>
         </command>
@@ -12308,44 +17051,54 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glFramebufferTexture2DEXT</name></proto>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param><ptype>GLenum</ptype> <name>textarget</name></param>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>textarget</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <alias name="glFramebufferTexture2D"/>
             <glx type="render" opcode="4322"/>
         </command>
+        <command>
+            <proto>void <name>glFramebufferTexture2DDownsampleIMG</name></proto>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>textarget</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLint</ptype> <name>xscale</name></param>
+            <param><ptype>GLint</ptype> <name>yscale</name></param>
+        </command>
         <command>
             <proto>void <name>glFramebufferTexture2DMultisampleEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param><ptype>GLenum</ptype> <name>textarget</name></param>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>textarget</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <param><ptype>GLsizei</ptype> <name>samples</name></param>
         </command>
         <command>
             <proto>void <name>glFramebufferTexture2DMultisampleIMG</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param><ptype>GLenum</ptype> <name>textarget</name></param>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>textarget</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <param><ptype>GLsizei</ptype> <name>samples</name></param>
         </command>
         <command>
             <proto>void <name>glFramebufferTexture2DOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param><ptype>GLenum</ptype> <name>textarget</name></param>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>textarget</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
         </command>
         <command>
             <proto>void <name>glFramebufferTexture3D</name></proto>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param><ptype>GLenum</ptype> <name>textarget</name></param>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>textarget</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <param><ptype>GLint</ptype> <name>zoffset</name></param>
             <glx type="render" opcode="4323"/>
@@ -12354,8 +17107,8 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glFramebufferTexture3DEXT</name></proto>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param><ptype>GLenum</ptype> <name>textarget</name></param>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>textarget</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <param><ptype>GLint</ptype> <name>zoffset</name></param>
             <alias name="glFramebufferTexture3D"/>
@@ -12363,10 +17116,10 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glFramebufferTexture3DOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param><ptype>GLenum</ptype> <name>textarget</name></param>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>textarget</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <param><ptype>GLint</ptype> <name>zoffset</name></param>
         </command>
@@ -12374,7 +17127,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glFramebufferTextureARB</name></proto>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <alias name="glFramebufferTexture"/>
         </command>
@@ -12382,15 +17135,15 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glFramebufferTextureEXT</name></proto>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <alias name="glFramebufferTextureARB"/>
+            <alias name="glFramebufferTexture"/>
         </command>
         <command>
             <proto>void <name>glFramebufferTextureFaceARB</name></proto>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>face</name></param>
         </command>
@@ -12398,7 +17151,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glFramebufferTextureFaceEXT</name></proto>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>face</name></param>
             <alias name="glFramebufferTextureFaceARB"/>
@@ -12407,7 +17160,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glFramebufferTextureLayer</name></proto>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>layer</name></param>
             <glx type="render" opcode="237"/>
@@ -12416,7 +17169,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glFramebufferTextureLayerARB</name></proto>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>layer</name></param>
             <alias name="glFramebufferTextureLayer"/>
@@ -12425,14 +17178,51 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glFramebufferTextureLayerEXT</name></proto>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>layer</name></param>
             <alias name="glFramebufferTextureLayer"/>
         </command>
+        <command>
+            <proto>void <name>glFramebufferTextureLayerDownsampleIMG</name></proto>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+            <param group="CheckedInt32"><ptype>GLint</ptype> <name>layer</name></param>
+            <param><ptype>GLint</ptype> <name>xscale</name></param>
+            <param><ptype>GLint</ptype> <name>yscale</name></param>
+        </command>
+        <command>
+            <proto>void <name>glFramebufferTextureMultisampleMultiviewOVR</name></proto>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLsizei</ptype> <name>samples</name></param>
+            <param><ptype>GLint</ptype> <name>baseViewIndex</name></param>
+            <param><ptype>GLsizei</ptype> <name>numViews</name></param>
+        </command>
+        <command>
+            <proto>void <name>glFramebufferTextureMultiviewOVR</name></proto>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLint</ptype> <name>baseViewIndex</name></param>
+            <param><ptype>GLsizei</ptype> <name>numViews</name></param>
+        </command>
+        <command>
+            <proto>void <name>glFramebufferTextureOES</name></proto>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+            <alias name="glFramebufferTexture"/>
+        </command>
         <command>
             <proto>void <name>glFreeObjectBufferATI</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
         </command>
         <command>
             <proto>void <name>glFrontFace</name></proto>
@@ -12493,12 +17283,12 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glGenBuffers</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n"><ptype>GLuint</ptype> *<name>buffers</name></param>
+            <param class="buffer" len="n"><ptype>GLuint</ptype> *<name>buffers</name></param>
         </command>
         <command>
             <proto>void <name>glGenBuffersARB</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n"><ptype>GLuint</ptype> *<name>buffers</name></param>
+            <param class="buffer" len="n"><ptype>GLuint</ptype> *<name>buffers</name></param>
             <alias name="glGenBuffers"/>
         </command>
         <command>
@@ -12519,23 +17309,23 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glGenFramebuffers</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n"><ptype>GLuint</ptype> *<name>framebuffers</name></param>
+            <param class="framebuffer" len="n"><ptype>GLuint</ptype> *<name>framebuffers</name></param>
             <glx type="vendor" opcode="1426"/>
         </command>
         <command>
             <proto>void <name>glGenFramebuffersEXT</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n"><ptype>GLuint</ptype> *<name>framebuffers</name></param>
+            <param class="framebuffer" len="n"><ptype>GLuint</ptype> *<name>framebuffers</name></param>
             <alias name="glGenFramebuffers"/>
             <glx type="vendor" opcode="1426"/>
         </command>
         <command>
             <proto>void <name>glGenFramebuffersOES</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param><ptype>GLuint</ptype> *<name>framebuffers</name></param>
+            <param class="framebuffer" len="n"><ptype>GLuint</ptype> *<name>framebuffers</name></param>
         </command>
         <command>
-            <proto group="List"><ptype>GLuint</ptype> <name>glGenLists</name></proto>
+            <proto class="display list" group="List"><ptype>GLuint</ptype> <name>glGenLists</name></proto>
             <param><ptype>GLsizei</ptype> <name>range</name></param>
             <glx type="single" opcode="104"/>
         </command>
@@ -12562,65 +17352,75 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glGenProgramPipelines</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n"><ptype>GLuint</ptype> *<name>pipelines</name></param>
+            <param class="program pipeline" len="n"><ptype>GLuint</ptype> *<name>pipelines</name></param>
         </command>
         <command>
             <proto>void <name>glGenProgramPipelinesEXT</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param><ptype>GLuint</ptype> *<name>pipelines</name></param>
+            <param class="program pipeline" len="n"><ptype>GLuint</ptype> *<name>pipelines</name></param>
         </command>
         <command>
             <proto>void <name>glGenProgramsARB</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n"><ptype>GLuint</ptype> *<name>programs</name></param>
+            <param class="program" len="n"><ptype>GLuint</ptype> *<name>programs</name></param>
             <glx type="vendor" opcode="1295"/>
         </command>
         <command>
             <proto>void <name>glGenProgramsNV</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n"><ptype>GLuint</ptype> *<name>programs</name></param>
+            <param class="program" len="n"><ptype>GLuint</ptype> *<name>programs</name></param>
             <alias name="glGenProgramsARB"/>
             <glx type="vendor" opcode="1295"/>
         </command>
         <command>
             <proto>void <name>glGenQueries</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n"><ptype>GLuint</ptype> *<name>ids</name></param>
+            <param class="query" len="n"><ptype>GLuint</ptype> *<name>ids</name></param>
             <glx type="single" opcode="162"/>
         </command>
         <command>
             <proto>void <name>glGenQueriesARB</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n"><ptype>GLuint</ptype> *<name>ids</name></param>
+            <param class="query" len="n"><ptype>GLuint</ptype> *<name>ids</name></param>
             <alias name="glGenQueries"/>
         </command>
         <command>
             <proto>void <name>glGenQueriesEXT</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param><ptype>GLuint</ptype> *<name>ids</name></param>
+            <param class="query" len="n"><ptype>GLuint</ptype> *<name>ids</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGenQueryResourceTagNV</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param len="n"><ptype>GLint</ptype> *<name>tagIds</name></param>
         </command>
         <command>
             <proto>void <name>glGenRenderbuffers</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n"><ptype>GLuint</ptype> *<name>renderbuffers</name></param>
+            <param class="renderbuffer" len="n"><ptype>GLuint</ptype> *<name>renderbuffers</name></param>
             <glx type="vendor" opcode="1423"/>
         </command>
         <command>
             <proto>void <name>glGenRenderbuffersEXT</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n"><ptype>GLuint</ptype> *<name>renderbuffers</name></param>
+            <param class="renderbuffer" len="n"><ptype>GLuint</ptype> *<name>renderbuffers</name></param>
             <alias name="glGenRenderbuffers"/>
             <glx type="vendor" opcode="1423"/>
         </command>
         <command>
             <proto>void <name>glGenRenderbuffersOES</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param><ptype>GLuint</ptype> *<name>renderbuffers</name></param>
+            <param class="renderbuffer" len="n"><ptype>GLuint</ptype> *<name>renderbuffers</name></param>
         </command>
         <command>
             <proto>void <name>glGenSamplers</name></proto>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count"><ptype>GLuint</ptype> *<name>samplers</name></param>
+            <param class="sampler" len="count"><ptype>GLuint</ptype> *<name>samplers</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGenSemaphoresEXT</name></proto>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param len="n"><ptype>GLuint</ptype> *<name>semaphores</name></param>
         </command>
         <command>
             <proto><ptype>GLuint</ptype> <name>glGenSymbolsEXT</name></proto>
@@ -12632,42 +17432,43 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glGenTextures</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param group="Texture" len="n"><ptype>GLuint</ptype> *<name>textures</name></param>
+            <param class="texture" group="Texture" len="n"><ptype>GLuint</ptype> *<name>textures</name></param>
             <glx type="single" opcode="145"/>
         </command>
         <command>
             <proto>void <name>glGenTexturesEXT</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param group="Texture" len="n"><ptype>GLuint</ptype> *<name>textures</name></param>
+            <param class="texture" group="Texture" len="n"><ptype>GLuint</ptype> *<name>textures</name></param>
             <glx type="vendor" opcode="13"/>
         </command>
         <command>
             <proto>void <name>glGenTransformFeedbacks</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n"><ptype>GLuint</ptype> *<name>ids</name></param>
+            <param class="transform feedback" len="n"><ptype>GLuint</ptype> *<name>ids</name></param>
         </command>
         <command>
             <proto>void <name>glGenTransformFeedbacksNV</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n"><ptype>GLuint</ptype> *<name>ids</name></param>
+            <param class="transform feedback" len="n"><ptype>GLuint</ptype> *<name>ids</name></param>
             <alias name="glGenTransformFeedbacks"/>
         </command>
         <command>
             <proto>void <name>glGenVertexArrays</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n"><ptype>GLuint</ptype> *<name>arrays</name></param>
+            <param class="vertex array" len="n"><ptype>GLuint</ptype> *<name>arrays</name></param>
             <glx type="single" opcode="206"/>
         </command>
         <command>
             <proto>void <name>glGenVertexArraysAPPLE</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n"><ptype>GLuint</ptype> *<name>arrays</name></param>
+            <param class="vertex array" len="n"><ptype>GLuint</ptype> *<name>arrays</name></param>
             <alias name="glGenVertexArrays"/>
         </command>
         <command>
             <proto>void <name>glGenVertexArraysOES</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param><ptype>GLuint</ptype> *<name>arrays</name></param>
+            <param class="vertex array" len="n"><ptype>GLuint</ptype> *<name>arrays</name></param>
+            <alias name="glGenVertexArrays"/>
         </command>
         <command>
             <proto><ptype>GLuint</ptype> <name>glGenVertexShadersEXT</name></proto>
@@ -12675,44 +17476,48 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGenerateMipmap</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <glx type="render" opcode="4325"/>
         </command>
         <command>
             <proto>void <name>glGenerateMipmapEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <alias name="glGenerateMipmap"/>
             <glx type="render" opcode="4325"/>
         </command>
         <command>
             <proto>void <name>glGenerateMipmapOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
         </command>
         <command>
             <proto>void <name>glGenerateMultiTexMipmapEXT</name></proto>
             <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
         </command>
+        <command>
+            <proto>void <name>glGenerateTextureMipmap</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+        </command>
         <command>
             <proto>void <name>glGenerateTextureMipmapEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
         </command>
         <command>
             <proto>void <name>glGetActiveAtomicCounterBufferiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLuint</ptype> <name>bufferIndex</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="AtomicCounterBufferPName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetActiveAttrib</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="1"><ptype>GLint</ptype> *<name>size</name></param>
-            <param len="1"><ptype>GLenum</ptype> *<name>type</name></param>
+            <param group="AttributeType" len="1"><ptype>GLenum</ptype> *<name>type</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>name</name></param>
         </command>
         <command>
@@ -12722,44 +17527,44 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>maxLength</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="1"><ptype>GLint</ptype> *<name>size</name></param>
-            <param len="1"><ptype>GLenum</ptype> *<name>type</name></param>
+            <param len="1" group="AttributeType"><ptype>GLenum</ptype> *<name>type</name></param>
             <param len="maxLength"><ptype>GLcharARB</ptype> *<name>name</name></param>
             <alias name="glGetActiveAttrib"/>
         </command>
         <command>
             <proto>void <name>glGetActiveSubroutineName</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLenum</ptype> <name>shadertype</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param group="ShaderType"><ptype>GLenum</ptype> <name>shadertype</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLsizei</ptype> <name>bufsize</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
-            <param len="bufsize"><ptype>GLchar</ptype> *<name>name</name></param>
+            <param len="bufSize"><ptype>GLchar</ptype> *<name>name</name></param>
         </command>
         <command>
             <proto>void <name>glGetActiveSubroutineUniformName</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLenum</ptype> <name>shadertype</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param group="ShaderType"><ptype>GLenum</ptype> <name>shadertype</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLsizei</ptype> <name>bufsize</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
-            <param len="bufsize"><ptype>GLchar</ptype> *<name>name</name></param>
+            <param len="bufSize"><ptype>GLchar</ptype> *<name>name</name></param>
         </command>
         <command>
             <proto>void <name>glGetActiveSubroutineUniformiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLenum</ptype> <name>shadertype</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param group="ShaderType"><ptype>GLenum</ptype> <name>shadertype</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="SubroutineParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>values</name></param>
         </command>
         <command>
             <proto>void <name>glGetActiveUniform</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="1"><ptype>GLint</ptype> *<name>size</name></param>
-            <param len="1"><ptype>GLenum</ptype> *<name>type</name></param>
+            <param len="1" group="UniformType"><ptype>GLenum</ptype> *<name>type</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>name</name></param>
         </command>
         <command>
@@ -12769,44 +17574,48 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>maxLength</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="1"><ptype>GLint</ptype> *<name>size</name></param>
-            <param len="1"><ptype>GLenum</ptype> *<name>type</name></param>
+            <param len="1" group="UniformType"><ptype>GLenum</ptype> *<name>type</name></param>
             <param len="maxLength"><ptype>GLcharARB</ptype> *<name>name</name></param>
             <alias name="glGetActiveUniform"/>
         </command>
         <command>
             <proto>void <name>glGetActiveUniformBlockName</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLuint</ptype> <name>uniformBlockIndex</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>uniformBlockName</name></param>
+            <glx type="single" opcode="220"/>
         </command>
         <command>
             <proto>void <name>glGetActiveUniformBlockiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLuint</ptype> <name>uniformBlockIndex</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+            <param group="UniformBlockPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(program,uniformBlockIndex,pname)"><ptype>GLint</ptype> *<name>params</name></param>
+            <glx type="single" opcode="219"/>
         </command>
         <command>
             <proto>void <name>glGetActiveUniformName</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLuint</ptype> <name>uniformIndex</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>uniformName</name></param>
+            <glx type="single" opcode="217"/>
         </command>
         <command>
             <proto>void <name>glGetActiveUniformsiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLsizei</ptype> <name>uniformCount</name></param>
-            <param len="COMPSIZE(uniformCount)">const <ptype>GLuint</ptype> *<name>uniformIndices</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+            <param len="uniformCount">const <ptype>GLuint</ptype> *<name>uniformIndices</name></param>
+            <param group="UniformPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(uniformCount,pname)"><ptype>GLint</ptype> *<name>params</name></param>
+            <glx type="single" opcode="216"/>
         </command>
         <command>
             <proto>void <name>glGetActiveVaryingNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
@@ -12826,24 +17635,23 @@ typedef unsigned int GLhandleARB;
             <param group="ArrayObjectPNameATI"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="1"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
-        <command>
+        <command comment="Could be an alias of glGetAttachedShaders except that GLhandleARB is different on MacOS X">
             <proto>void <name>glGetAttachedObjectsARB</name></proto>
             <param group="handleARB"><ptype>GLhandleARB</ptype> <name>containerObj</name></param>
             <param><ptype>GLsizei</ptype> <name>maxCount</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>count</name></param>
-            <param group="handleARB" len="count"><ptype>GLhandleARB</ptype> *<name>obj</name></param>
-            <alias name="glGetAttachedShaders"/>
+            <param group="handleARB" len="maxCount"><ptype>GLhandleARB</ptype> *<name>obj</name></param>
         </command>
         <command>
             <proto>void <name>glGetAttachedShaders</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLsizei</ptype> <name>maxCount</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>count</name></param>
-            <param><ptype>GLuint</ptype> *<name>shaders</name></param>
+            <param class="shader" len="maxCount"><ptype>GLuint</ptype> *<name>shaders</name></param>
         </command>
         <command>
             <proto><ptype>GLint</ptype> <name>glGetAttribLocation</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param>const <ptype>GLchar</ptype> *<name>name</name></param>
         </command>
         <command>
@@ -12854,21 +17662,22 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetBooleanIndexedvEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param group="Boolean" len="COMPSIZE(target)"><ptype>GLboolean</ptype> *<name>data</name></param>
             <alias name="glGetBooleani_v"/>
+            <glx type="single" opcode="210"/>
         </command>
         <command>
             <proto>void <name>glGetBooleani_v</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param group="Boolean" len="COMPSIZE(target)"><ptype>GLboolean</ptype> *<name>data</name></param>
         </command>
         <command>
             <proto>void <name>glGetBooleanv</name></proto>
             <param group="GetPName"><ptype>GLenum</ptype> <name>pname</name></param>
-            <param group="Boolean" len="COMPSIZE(pname)"><ptype>GLboolean</ptype> *<name>params</name></param>
+            <param group="Boolean" len="COMPSIZE(pname)"><ptype>GLboolean</ptype> *<name>data</name></param>
             <glx type="single" opcode="112"/>
         </command>
         <command>
@@ -12892,7 +17701,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetBufferParameterui64vNV</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLuint64EXT</ptype> *<name>params</name></param>
         </command>
@@ -12900,34 +17709,35 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glGetBufferPointerv</name></proto>
             <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="BufferPointerNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="1"><ptype>GLvoid</ptype> **<name>params</name></param>
+            <param len="1">void **<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetBufferPointervARB</name></proto>
             <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="BufferPointerNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="1"><ptype>GLvoid</ptype> **<name>params</name></param>
+            <param len="1">void **<name>params</name></param>
             <alias name="glGetBufferPointerv"/>
         </command>
         <command>
             <proto>void <name>glGetBufferPointervOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLvoid</ptype> **<name>params</name></param>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="BufferPointerNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="1">void **<name>params</name></param>
+            <alias name="glGetBufferPointerv"/>
         </command>
         <command>
             <proto>void <name>glGetBufferSubData</name></proto>
             <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
             <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
-            <param len="size"><ptype>GLvoid</ptype> *<name>data</name></param>
+            <param len="size">void *<name>data</name></param>
         </command>
         <command>
             <proto>void <name>glGetBufferSubDataARB</name></proto>
             <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="BufferOffsetARB"><ptype>GLintptrARB</ptype> <name>offset</name></param>
             <param group="BufferSizeARB"><ptype>GLsizeiptrARB</ptype> <name>size</name></param>
-            <param len="size"><ptype>GLvoid</ptype> *<name>data</name></param>
+            <param len="size">void *<name>data</name></param>
             <alias name="glGetBufferSubData"/>
         </command>
         <command>
@@ -12938,23 +17748,23 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetClipPlanef</name></proto>
-            <param><ptype>GLenum</ptype> <name>plane</name></param>
-            <param><ptype>GLfloat</ptype> *<name>equation</name></param>
+            <param group="ClipPlaneName"><ptype>GLenum</ptype> <name>plane</name></param>
+            <param len="4"><ptype>GLfloat</ptype> *<name>equation</name></param>
         </command>
         <command>
             <proto>void <name>glGetClipPlanefOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>plane</name></param>
+            <param group="ClipPlaneName"><ptype>GLenum</ptype> <name>plane</name></param>
             <param len="4"><ptype>GLfloat</ptype> *<name>equation</name></param>
             <glx type="vendor" opcode="1421"/>
         </command>
         <command>
             <proto>void <name>glGetClipPlanex</name></proto>
-            <param><ptype>GLenum</ptype> <name>plane</name></param>
-            <param><ptype>GLfixed</ptype> *<name>equation</name></param>
+            <param group="ClipPlaneName"><ptype>GLenum</ptype> <name>plane</name></param>
+            <param len="4"><ptype>GLfixed</ptype> *<name>equation</name></param>
         </command>
         <command>
             <proto>void <name>glGetClipPlanexOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>plane</name></param>
+            <param group="ClipPlaneName"><ptype>GLenum</ptype> <name>plane</name></param>
             <param len="4"><ptype>GLfixed</ptype> *<name>equation</name></param>
         </command>
         <command>
@@ -12962,7 +17772,7 @@ typedef unsigned int GLhandleARB;
             <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(target,format,type)"><ptype>GLvoid</ptype> *<name>table</name></param>
+            <param len="COMPSIZE(target,format,type)">void *<name>table</name></param>
             <glx type="single" opcode="147"/>
             <glx type="render" opcode="334" name="glGetColorTablePBO" comment="PBO protocol"/>
         </command>
@@ -12971,20 +17781,20 @@ typedef unsigned int GLhandleARB;
             <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(target,format,type)"><ptype>GLvoid</ptype> *<name>data</name></param>
+            <param len="COMPSIZE(target,format,type)">void *<name>data</name></param>
             <alias name="glGetColorTable"/>
         </command>
         <command>
             <proto>void <name>glGetColorTableParameterfv</name></proto>
             <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="GetColorTableParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="GetColorTableParameterPNameSGI"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
             <glx type="single" opcode="148"/>
         </command>
         <command>
             <proto>void <name>glGetColorTableParameterfvEXT</name></proto>
             <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="GetColorTableParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="GetColorTableParameterPNameSGI"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
             <alias name="glGetColorTableParameterfv"/>
         </command>
@@ -12998,14 +17808,14 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glGetColorTableParameteriv</name></proto>
             <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="GetColorTableParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="GetColorTableParameterPNameSGI"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <glx type="single" opcode="149"/>
         </command>
         <command>
             <proto>void <name>glGetColorTableParameterivEXT</name></proto>
             <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="GetColorTableParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="GetColorTableParameterPNameSGI"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <alias name="glGetColorTableParameteriv"/>
         </command>
@@ -13021,7 +17831,7 @@ typedef unsigned int GLhandleARB;
             <param group="ColorTableTargetSGI"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(target,format,type)"><ptype>GLvoid</ptype> *<name>table</name></param>
+            <param len="COMPSIZE(target,format,type)">void *<name>table</name></param>
             <glx type="vendor" opcode="4098"/>
         </command>
         <command>
@@ -13064,18 +17874,23 @@ typedef unsigned int GLhandleARB;
             <param group="CombinerParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
+        <command>
+            <proto><ptype>GLuint</ptype> <name>glGetCommandHeaderNV</name></proto>
+            <param><ptype>GLenum</ptype> <name>tokenID</name></param>
+            <param><ptype>GLuint</ptype> <name>size</name></param>
+        </command>
         <command>
             <proto>void <name>glGetCompressedMultiTexImageEXT</name></proto>
             <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>lod</name></param>
-            <param len="COMPSIZE(target,lod)"><ptype>GLvoid</ptype> *<name>img</name></param>
+            <param len="COMPSIZE(target,lod)">void *<name>img</name></param>
         </command>
         <command>
             <proto>void <name>glGetCompressedTexImage</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="CompressedTextureARB" len="COMPSIZE(target,level)"><ptype>GLvoid</ptype> *<name>img</name></param>
+            <param group="CompressedTextureARB" len="COMPSIZE(target,level)">void *<name>img</name></param>
             <glx type="single" opcode="160"/>
             <glx type="render" opcode="335" name="glGetCompressedTexImagePBO" comment="PBO protocol"/>
         </command>
@@ -13083,23 +17898,43 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glGetCompressedTexImageARB</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="CompressedTextureARB" len="COMPSIZE(target,level)"><ptype>GLvoid</ptype> *<name>img</name></param>
+            <param group="CompressedTextureARB" len="COMPSIZE(target,level)">void *<name>img</name></param>
             <alias name="glGetCompressedTexImage"/>
             <glx type="single" opcode="160"/>
         </command>
+        <command>
+            <proto>void <name>glGetCompressedTextureImage</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param>void *<name>pixels</name></param>
+        </command>
         <command>
             <proto>void <name>glGetCompressedTextureImageEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>lod</name></param>
-            <param len="COMPSIZE(target,lod)"><ptype>GLvoid</ptype> *<name>img</name></param>
+            <param len="COMPSIZE(target,lod)">void *<name>img</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetCompressedTextureSubImage</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLint</ptype> <name>xoffset</name></param>
+            <param><ptype>GLint</ptype> <name>yoffset</name></param>
+            <param><ptype>GLint</ptype> <name>zoffset</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLsizei</ptype> <name>depth</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param>void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glGetConvolutionFilter</name></proto>
             <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(target,format,type)"><ptype>GLvoid</ptype> *<name>image</name></param>
+            <param len="COMPSIZE(target,format,type)">void *<name>image</name></param>
             <glx type="single" opcode="150"/>
             <glx type="render" opcode="336" name="glGetConvolutionFilterPBO" comment="PBO protocol"/>
         </command>
@@ -13108,13 +17943,13 @@ typedef unsigned int GLhandleARB;
             <param group="ConvolutionTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(target,format,type)"><ptype>GLvoid</ptype> *<name>image</name></param>
+            <param len="COMPSIZE(target,format,type)">void *<name>image</name></param>
             <glx type="vendor" opcode="1"/>
         </command>
         <command>
             <proto>void <name>glGetConvolutionParameterfv</name></proto>
             <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="GetConvolutionParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="ConvolutionParameterEXT"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
             <glx type="single" opcode="151"/>
         </command>
@@ -13128,7 +17963,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glGetConvolutionParameteriv</name></proto>
             <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="GetConvolutionParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="ConvolutionParameterEXT"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <glx type="single" opcode="152"/>
         </command>
@@ -13145,35 +17980,40 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetCoverageModulationTableNV</name></proto>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param><ptype>GLfloat</ptype> *<name>v</name></param>
+        </command>
         <command>
             <proto><ptype>GLuint</ptype> <name>glGetDebugMessageLog</name></proto>
             <param><ptype>GLuint</ptype> <name>count</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="count"><ptype>GLenum</ptype> *<name>sources</name></param>
-            <param len="count"><ptype>GLenum</ptype> *<name>types</name></param>
+            <param len="count" group="DebugSource"><ptype>GLenum</ptype> *<name>sources</name></param>
+            <param len="count" group="DebugType"><ptype>GLenum</ptype> *<name>types</name></param>
             <param len="count"><ptype>GLuint</ptype> *<name>ids</name></param>
-            <param len="count"><ptype>GLenum</ptype> *<name>severities</name></param>
+            <param len="count" group="DebugSeverity"><ptype>GLenum</ptype> *<name>severities</name></param>
             <param len="count"><ptype>GLsizei</ptype> *<name>lengths</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>messageLog</name></param>
         </command>
         <command>
             <proto><ptype>GLuint</ptype> <name>glGetDebugMessageLogAMD</name></proto>
             <param><ptype>GLuint</ptype> <name>count</name></param>
-            <param><ptype>GLsizei</ptype> <name>bufsize</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="count"><ptype>GLenum</ptype> *<name>categories</name></param>
-            <param len="count"><ptype>GLuint</ptype> *<name>severities</name></param>
+            <param len="count" group="DebugSeverity"><ptype>GLuint</ptype> *<name>severities</name></param>
             <param len="count"><ptype>GLuint</ptype> *<name>ids</name></param>
             <param len="count"><ptype>GLsizei</ptype> *<name>lengths</name></param>
-            <param len="bufsize"><ptype>GLchar</ptype> *<name>message</name></param>
+            <param len="bufSize"><ptype>GLchar</ptype> *<name>message</name></param>
         </command>
         <command>
             <proto><ptype>GLuint</ptype> <name>glGetDebugMessageLogARB</name></proto>
             <param><ptype>GLuint</ptype> <name>count</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="count"><ptype>GLenum</ptype> *<name>sources</name></param>
-            <param len="count"><ptype>GLenum</ptype> *<name>types</name></param>
+            <param len="count" group="DebugSource"><ptype>GLenum</ptype> *<name>sources</name></param>
+            <param len="count" group="DebugType"><ptype>GLenum</ptype> *<name>types</name></param>
             <param len="count"><ptype>GLuint</ptype> *<name>ids</name></param>
-            <param len="count"><ptype>GLenum</ptype> *<name>severities</name></param>
+            <param len="count" group="DebugSeverity"><ptype>GLenum</ptype> *<name>severities</name></param>
             <param len="count"><ptype>GLsizei</ptype> *<name>lengths</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>messageLog</name></param>
             <alias name="glGetDebugMessageLog"/>
@@ -13182,10 +18022,10 @@ typedef unsigned int GLhandleARB;
             <proto><ptype>GLuint</ptype> <name>glGetDebugMessageLogKHR</name></proto>
             <param><ptype>GLuint</ptype> <name>count</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="count"><ptype>GLenum</ptype> *<name>sources</name></param>
-            <param len="count"><ptype>GLenum</ptype> *<name>types</name></param>
+            <param len="count" group="DebugSource"><ptype>GLenum</ptype> *<name>sources</name></param>
+            <param len="count" group="DebugType"><ptype>GLenum</ptype> *<name>types</name></param>
             <param len="count"><ptype>GLuint</ptype> *<name>ids</name></param>
-            <param len="count"><ptype>GLenum</ptype> *<name>severities</name></param>
+            <param len="count" group="DebugSeverity"><ptype>GLenum</ptype> *<name>severities</name></param>
             <param len="count"><ptype>GLsizei</ptype> *<name>lengths</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>messageLog</name></param>
             <alias name="glGetDebugMessageLog"/>
@@ -13198,28 +18038,28 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetDoubleIndexedvEXT</name></proto>
-            <param group="TypeEnum"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetPName"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="COMPSIZE(target)"><ptype>GLdouble</ptype> *<name>data</name></param>
             <alias name="glGetDoublei_v"/>
         </command>
         <command>
             <proto>void <name>glGetDoublei_v</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetPName"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="COMPSIZE(target)"><ptype>GLdouble</ptype> *<name>data</name></param>
         </command>
         <command>
             <proto>void <name>glGetDoublei_vEXT</name></proto>
-            <param group="TypeEnum"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="GetPName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param len="COMPSIZE(target)"><ptype>GLdouble</ptype> *<name>params</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLdouble</ptype> *<name>params</name></param>
             <alias name="glGetDoublei_v"/>
         </command>
         <command>
             <proto>void <name>glGetDoublev</name></proto>
             <param group="GetPName"><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="COMPSIZE(pname)"><ptype>GLdouble</ptype> *<name>params</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLdouble</ptype> *<name>data</name></param>
             <glx type="single" opcode="114"/>
         </command>
         <command>
@@ -13260,40 +18100,58 @@ typedef unsigned int GLhandleARB;
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <glx type="vendor" opcode="1275"/>
         </command>
+        <command>
+            <proto>void <name>glGetFirstPerfQueryIdINTEL</name></proto>
+            <param><ptype>GLuint</ptype> *<name>queryId</name></param>
+        </command>
         <command>
             <proto>void <name>glGetFixedv</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="GetPName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetFixedvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="GetPName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetFloatIndexedvEXT</name></proto>
-            <param group="TypeEnum"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetPName"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="COMPSIZE(target)"><ptype>GLfloat</ptype> *<name>data</name></param>
             <alias name="glGetFloati_v"/>
         </command>
         <command>
             <proto>void <name>glGetFloati_v</name></proto>
-            <param group="TypeEnum"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetPName"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="COMPSIZE(target)"><ptype>GLfloat</ptype> *<name>data</name></param>
         </command>
         <command>
             <proto>void <name>glGetFloati_vEXT</name></proto>
-            <param group="TypeEnum"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="GetPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+            <alias name="glGetFloati_v"/>
+        </command>
+        <command>
+            <proto>void <name>glGetFloati_vNV</name></proto>
+            <param group="GetPName"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param len="COMPSIZE(target)"><ptype>GLfloat</ptype> *<name>params</name></param>
+            <param len="COMPSIZE(target)"><ptype>GLfloat</ptype> *<name>data</name></param>
+            <alias name="glGetFloati_v"/>
+        </command>
+        <command>
+            <proto>void <name>glGetFloati_vOES</name></proto>
+            <param group="GetPName"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param len="COMPSIZE(target)"><ptype>GLfloat</ptype> *<name>data</name></param>
             <alias name="glGetFloati_v"/>
         </command>
         <command>
             <proto>void <name>glGetFloatv</name></proto>
             <param group="GetPName"><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>data</name></param>
             <glx type="single" opcode="116"/>
         </command>
         <command>
@@ -13302,17 +18160,23 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto><ptype>GLint</ptype> <name>glGetFragDataIndex</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param>const <ptype>GLchar</ptype> *<name>name</name></param>
         </command>
+        <command>
+            <proto><ptype>GLint</ptype> <name>glGetFragDataIndexEXT</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param>const <ptype>GLchar</ptype> *<name>name</name></param>
+            <alias name="glGetFragDataIndex"/>
+        </command>
         <command>
             <proto><ptype>GLint</ptype> <name>glGetFragDataLocation</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
         </command>
         <command>
             <proto><ptype>GLint</ptype> <name>glGetFragDataLocationEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
             <alias name="glGetFragDataLocation"/>
         </command>
@@ -13344,7 +18208,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glGetFramebufferAttachmentParameteriv</name></proto>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="FramebufferAttachmentParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <glx type="vendor" opcode="1428"/>
         </command>
@@ -13352,35 +18216,56 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glGetFramebufferAttachmentParameterivEXT</name></proto>
             <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="FramebufferAttachmentParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <alias name="glGetFramebufferAttachmentParameteriv"/>
             <glx type="vendor" opcode="1428"/>
         </command>
         <command>
             <proto>void <name>glGetFramebufferAttachmentParameterivOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLint</ptype> *<name>params</name></param>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+            <param group="FramebufferAttachmentParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetFramebufferParameterfvAMD</name></proto>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferAttachmentParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLuint</ptype> <name>numsamples</name></param>
+            <param><ptype>GLuint</ptype> <name>pixelindex</name></param>
+            <param><ptype>GLsizei</ptype> <name>size</name></param>
+            <param><ptype>GLfloat</ptype> *<name>values</name></param>
         </command>
         <command>
             <proto>void <name>glGetFramebufferParameteriv</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferAttachmentParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetFramebufferParameterivEXT</name></proto>
-            <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param class="framebuffer" group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <param group="GetFramebufferParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
-            <proto><ptype>GLenum</ptype> <name>glGetGraphicsResetStatusARB</name></proto>
+            <proto><ptype>GLsizei</ptype> <name>glGetFramebufferPixelLocalStorageSizeEXT</name></proto>
+            <param group="FramebufferTarget"><ptype>GLuint</ptype> <name>target</name></param>
+        </command>
+        <command>
+            <proto group="GraphicsResetStatus"><ptype>GLenum</ptype> <name>glGetGraphicsResetStatus</name></proto>
         </command>
         <command>
-            <proto><ptype>GLenum</ptype> <name>glGetGraphicsResetStatusEXT</name></proto>
+            <proto group="GraphicsResetStatus"><ptype>GLenum</ptype> <name>glGetGraphicsResetStatusARB</name></proto>
+        </command>
+        <command>
+            <proto group="GraphicsResetStatus"><ptype>GLenum</ptype> <name>glGetGraphicsResetStatusEXT</name></proto>
+            <alias name="glGetGraphicsResetStatus"/>
+        </command>
+        <command>
+            <proto group="GraphicsResetStatus"><ptype>GLenum</ptype> <name>glGetGraphicsResetStatusKHR</name></proto>
+            <alias name="glGetGraphicsResetStatus"/>
         </command>
         <command>
             <proto group="handleARB"><ptype>GLhandleARB</ptype> <name>glGetHandleARB</name></proto>
@@ -13388,11 +18273,11 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetHistogram</name></proto>
-            <param group="HistogramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="HistogramTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>reset</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(target,format,type)"><ptype>GLvoid</ptype> *<name>values</name></param>
+            <param len="COMPSIZE(target,format,type)">void *<name>values</name></param>
             <glx type="single" opcode="154"/>
             <glx type="render" opcode="337" name="glGetHistogramPBO" comment="PBO protocol"/>
         </command>
@@ -13402,13 +18287,13 @@ typedef unsigned int GLhandleARB;
             <param group="Boolean"><ptype>GLboolean</ptype> <name>reset</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(target,format,type)"><ptype>GLvoid</ptype> *<name>values</name></param>
+            <param len="COMPSIZE(target,format,type)">void *<name>values</name></param>
             <glx type="vendor" opcode="5"/>
         </command>
         <command>
             <proto>void <name>glGetHistogramParameterfv</name></proto>
-            <param group="HistogramTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="GetHistogramParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="HistogramTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetHistogramParameterPNameEXT"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
             <glx type="single" opcode="155"/>
         </command>
@@ -13421,8 +18306,8 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetHistogramParameteriv</name></proto>
-            <param group="HistogramTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="GetHistogramParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="HistogramTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetHistogramParameterPNameEXT"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <glx type="single" opcode="156"/>
         </command>
@@ -13435,25 +18320,25 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetHistogramParameterxvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="HistogramTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetHistogramParameterPNameEXT"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto><ptype>GLuint64</ptype> <name>glGetImageHandleARB</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
-            <param><ptype>GLboolean</ptype> <name>layered</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>layered</name></param>
             <param><ptype>GLint</ptype> <name>layer</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
         </command>
         <command>
             <proto><ptype>GLuint64</ptype> <name>glGetImageHandleNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>layered</name></param>
             <param><ptype>GLint</ptype> <name>layer</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
         </command>
         <command>
             <proto>void <name>glGetImageTransformParameterfvHP</name></proto>
@@ -13480,36 +18365,44 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetInteger64i_v</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetPName"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="COMPSIZE(target)"><ptype>GLint64</ptype> *<name>data</name></param>
         </command>
         <command>
             <proto>void <name>glGetInteger64v</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="COMPSIZE(pname)"><ptype>GLint64</ptype> *<name>params</name></param>
+            <param group="GetPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint64</ptype> *<name>data</name></param>
         </command>
         <command>
             <proto>void <name>glGetInteger64vAPPLE</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="GetPName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLint64</ptype> *<name>params</name></param>
+            <alias name="glGetInteger64v"/>
+        </command>
+        <command>
+            <proto>void <name>glGetInteger64vEXT</name></proto>
+            <param group="GetPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint64</ptype> *<name>data</name></param>
+            <alias name="glGetInteger64v"/>
         </command>
         <command>
             <proto>void <name>glGetIntegerIndexedvEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetPName"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="COMPSIZE(target)"><ptype>GLint</ptype> *<name>data</name></param>
             <alias name="glGetIntegeri_v"/>
+            <glx type="single" opcode="211"/>
         </command>
         <command>
             <proto>void <name>glGetIntegeri_v</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetPName"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="COMPSIZE(target)"><ptype>GLint</ptype> *<name>data</name></param>
         </command>
         <command>
             <proto>void <name>glGetIntegeri_vEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetPName"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLint</ptype> *<name>data</name></param>
         </command>
@@ -13527,24 +18420,33 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glGetIntegerv</name></proto>
             <param group="GetPName"><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>data</name></param>
             <glx type="single" opcode="117"/>
         </command>
+        <command>
+            <proto>void <name>glGetInternalformatSampleivNV</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param><ptype>GLsizei</ptype> <name>samples</name></param>
+            <param group="InternalFormatPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count"><ptype>GLint</ptype> *<name>params</name></param>
+        </command>
         <command>
             <proto>void <name>glGetInternalformati64v</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="bufSize"><ptype>GLint64</ptype> *<name>params</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormatPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count"><ptype>GLint64</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetInternalformativ</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="bufSize"><ptype>GLint</ptype> *<name>params</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormatPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetInvariantBooleanvEXT</name></proto>
@@ -13578,29 +18480,23 @@ typedef unsigned int GLhandleARB;
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <glx type="single" opcode="119"/>
         </command>
-        <command>
-            <proto>void <name>glGetLightx</name></proto>
-            <param><ptype>GLenum</ptype> <name>light</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLfixed</ptype> *<name>params</name></param>
-        </command>
         <command>
             <proto>void <name>glGetLightxOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>light</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="LightName"><ptype>GLenum</ptype> <name>light</name></param>
+            <param group="LightParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetLightxv</name></proto>
-            <param><ptype>GLenum</ptype> <name>light</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLfixed</ptype> *<name>params</name></param>
+            <param group="LightName"><ptype>GLenum</ptype> <name>light</name></param>
+            <param group="LightParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetLightxvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>light</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLfixed</ptype> *<name>params</name></param>
+            <param group="LightName"><ptype>GLenum</ptype> <name>light</name></param>
+            <param group="LightParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetListParameterfvSGIX</name></proto>
@@ -13654,7 +18550,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>ustride</name></param>
             <param><ptype>GLsizei</ptype> <name>vstride</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>packed</name></param>
-            <param len="COMPSIZE(target)"><ptype>GLvoid</ptype> *<name>points</name></param>
+            <param len="COMPSIZE(target)">void *<name>points</name></param>
         </command>
         <command>
             <proto>void <name>glGetMapParameterfvNV</name></proto>
@@ -13691,8 +18587,8 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetMapxvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>query</name></param>
+            <param group="MapTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetMapQuery"><ptype>GLenum</ptype> <name>query</name></param>
             <param len="COMPSIZE(query)"><ptype>GLfixed</ptype> *<name>v</name></param>
         </command>
         <command>
@@ -13709,37 +18605,45 @@ typedef unsigned int GLhandleARB;
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <glx type="single" opcode="124"/>
         </command>
-        <command>
-            <proto>void <name>glGetMaterialx</name></proto>
-            <param><ptype>GLenum</ptype> <name>face</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLfixed</ptype> <name>param</name></param>
-        </command>
         <command>
             <proto>void <name>glGetMaterialxOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>face</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+            <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glGetMaterialxv</name></proto>
-            <param><ptype>GLenum</ptype> <name>face</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLfixed</ptype> *<name>params</name></param>
+            <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+            <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetMaterialxvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>face</name></param>
+            <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+            <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetMemoryObjectDetachedResourcesuivNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
             <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLfixed</ptype> *<name>params</name></param>
+            <param><ptype>GLint</ptype> <name>first</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param><ptype>GLuint</ptype> *<name>params</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetMemoryObjectParameterivEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>memoryObject</name></param>
+            <param group="MemoryObjectParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetMinmax</name></proto>
-            <param group="MinmaxTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="MinmaxTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>reset</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(target,format,type)"><ptype>GLvoid</ptype> *<name>values</name></param>
+            <param len="COMPSIZE(target,format,type)">void *<name>values</name></param>
             <glx type="single" opcode="157"/>
             <glx type="render" opcode="338" name="glGetMinmaxPBO" comment="PBO protocol"/>
         </command>
@@ -13749,13 +18653,13 @@ typedef unsigned int GLhandleARB;
             <param group="Boolean"><ptype>GLboolean</ptype> <name>reset</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(target,format,type)"><ptype>GLvoid</ptype> *<name>values</name></param>
+            <param len="COMPSIZE(target,format,type)">void *<name>values</name></param>
             <glx type="vendor" opcode="8"/>
         </command>
         <command>
             <proto>void <name>glGetMinmaxParameterfv</name></proto>
-            <param group="MinmaxTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="GetMinmaxParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="MinmaxTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetMinmaxParameterPNameEXT"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
             <glx type="single" opcode="158"/>
         </command>
@@ -13768,8 +18672,8 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetMinmaxParameteriv</name></proto>
-            <param group="MinmaxTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="GetMinmaxParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="MinmaxTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetMinmaxParameterPNameEXT"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <glx type="single" opcode="159"/>
         </command>
@@ -13822,7 +18726,7 @@ typedef unsigned int GLhandleARB;
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(target,level,format,type)"><ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(target,level,format,type)">void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glGetMultiTexLevelParameterfvEXT</name></proto>
@@ -13870,7 +18774,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetMultisamplefv</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="GetMultisamplePNameNV"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>val</name></param>
         </command>
@@ -13881,89 +18785,142 @@ typedef unsigned int GLhandleARB;
             <param len="2"><ptype>GLfloat</ptype> *<name>val</name></param>
             <alias name="glGetMultisamplefv"/>
         </command>
+        <command>
+            <proto>void <name>glGetNamedBufferParameteri64v</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferPNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint64</ptype> *<name>params</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetNamedBufferParameteriv</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferPNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> *<name>params</name></param>
+        </command>
         <command>
             <proto>void <name>glGetNamedBufferParameterivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
-            <param group="VertexBufferObjectParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferPNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetNamedBufferParameterui64vNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
-            <param group="VertexBufferObjectParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferPNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLuint64EXT</ptype> *<name>params</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetNamedBufferPointerv</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferPointerNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="1">void **<name>params</name></param>
+        </command>
         <command>
             <proto>void <name>glGetNamedBufferPointervEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
-            <param group="VertexBufferObjectParameter"><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="1"><ptype>GLvoid</ptype> **<name>params</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferPointerNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="1">void **<name>params</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetNamedBufferSubData</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <param>void *<name>data</name></param>
         </command>
         <command>
             <proto>void <name>glGetNamedBufferSubDataEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param><ptype>GLintptr</ptype> <name>offset</name></param>
             <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
-            <param len="COMPSIZE(size)"><ptype>GLvoid</ptype> *<name>data</name></param>
+            <param len="COMPSIZE(size)">void *<name>data</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetNamedFramebufferParameterfvAMD</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLuint</ptype> <name>numsamples</name></param>
+            <param><ptype>GLuint</ptype> <name>pixelindex</name></param>
+            <param><ptype>GLsizei</ptype> <name>size</name></param>
+            <param><ptype>GLfloat</ptype> *<name>values</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetNamedFramebufferAttachmentParameteriv</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+            <param group="FramebufferAttachmentParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetNamedFramebufferAttachmentParameterivEXT</name></proto>
-            <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param class="framebuffer" group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
             <param group="FramebufferAttachmentParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetNamedFramebufferParameteriv</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param group="GetFramebufferParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> *<name>param</name></param>
+        </command>
         <command>
             <proto>void <name>glGetNamedFramebufferParameterivEXT</name></proto>
-            <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param class="framebuffer" group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <param group="GetFramebufferParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetNamedProgramLocalParameterIivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="4"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetNamedProgramLocalParameterIuivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="4"><ptype>GLuint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetNamedProgramLocalParameterdvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="4"><ptype>GLdouble</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetNamedProgramLocalParameterfvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="4"><ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetNamedProgramStringEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="ProgramStringProperty"><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="COMPSIZE(program,pname)"><ptype>GLvoid</ptype> *<name>string</name></param>
+            <param len="COMPSIZE(program,pname)">void *<name>string</name></param>
         </command>
         <command>
             <proto>void <name>glGetNamedProgramivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="ProgramProperty"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="ProgramPropertyARB"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="1"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetNamedRenderbufferParameteriv</name></proto>
+            <param class="renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param group="RenderbufferParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> *<name>params</name></param>
+        </command>
         <command>
             <proto>void <name>glGetNamedRenderbufferParameterivEXT</name></proto>
-            <param group="Renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param class="renderbuffer" group="Renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
             <param group="RenderbufferParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
@@ -13982,24 +18939,29 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetNextPerfQueryIdINTEL</name></proto>
+            <param><ptype>GLuint</ptype> <name>queryId</name></param>
+            <param><ptype>GLuint</ptype> *<name>nextQueryId</name></param>
+        </command>
         <command>
             <proto>void <name>glGetObjectBufferfvATI</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param group="ArrayObjectPNameATI"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="1"><ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetObjectBufferivATI</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param group="ArrayObjectPNameATI"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="1"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetObjectLabel</name></proto>
-            <param><ptype>GLenum</ptype> <name>identifier</name></param>
+            <param group="ObjectIdentifier"><ptype>GLenum</ptype> <name>identifier</name></param>
             <param><ptype>GLuint</ptype> <name>name</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param><ptype>GLsizei</ptype> *<name>length</name></param>
+            <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>label</name></param>
         </command>
         <command>
@@ -14007,7 +18969,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>object</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param><ptype>GLsizei</ptype> *<name>length</name></param>
+            <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>label</name></param>
         </command>
         <command>
@@ -14023,7 +18985,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glGetObjectParameterfvARB</name></proto>
             <param group="handleARB"><ptype>GLhandleARB</ptype> <name>obj</name></param>
             <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="pname"><ptype>GLfloat</ptype> *<name>params</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetObjectParameterivAPPLE</name></proto>
@@ -14036,20 +18998,20 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glGetObjectParameterivARB</name></proto>
             <param group="handleARB"><ptype>GLhandleARB</ptype> <name>obj</name></param>
             <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="pname"><ptype>GLint</ptype> *<name>params</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetObjectPtrLabel</name></proto>
             <param>const void *<name>ptr</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param><ptype>GLsizei</ptype> *<name>length</name></param>
+            <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>label</name></param>
         </command>
         <command>
             <proto>void <name>glGetObjectPtrLabelKHR</name></proto>
             <param>const void *<name>ptr</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param><ptype>GLsizei</ptype> *<name>length</name></param>
+            <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>label</name></param>
             <alias name="glGetObjectPtrLabel"/>
         </command>
@@ -14111,7 +19073,7 @@ typedef unsigned int GLhandleARB;
             <param group="PathMetricMask"><ptype>GLbitfield</ptype> <name>metricQueryMask</name></param>
             <param><ptype>GLsizei</ptype> <name>numPaths</name></param>
             <param group="PathElementType"><ptype>GLenum</ptype> <name>pathNameType</name></param>
-            <param group="PathElement" len="COMPSIZE(numPaths,pathNameType,paths)">const <ptype>GLvoid</ptype> *<name>paths</name></param>
+            <param group="PathElement" len="COMPSIZE(numPaths,pathNameType,paths)">const void *<name>paths</name></param>
             <param group="Path"><ptype>GLuint</ptype> <name>pathBase</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
             <param len="COMPSIZE(metricQueryMask,numPaths,stride)"><ptype>GLfloat</ptype> *<name>metrics</name></param>
@@ -14133,7 +19095,7 @@ typedef unsigned int GLhandleARB;
             <param group="PathListMode"><ptype>GLenum</ptype> <name>pathListMode</name></param>
             <param><ptype>GLsizei</ptype> <name>numPaths</name></param>
             <param group="PathElementType"><ptype>GLenum</ptype> <name>pathNameType</name></param>
-            <param group="PathElement" len="COMPSIZE(numPaths,pathNameType,paths)">const <ptype>GLvoid</ptype> *<name>paths</name></param>
+            <param group="PathElement" len="COMPSIZE(numPaths,pathNameType,paths)">const void *<name>paths</name></param>
             <param group="Path"><ptype>GLuint</ptype> <name>pathBase</name></param>
             <param><ptype>GLfloat</ptype> <name>advanceScale</name></param>
             <param><ptype>GLfloat</ptype> <name>kerningScale</name></param>
@@ -14152,12 +19114,26 @@ typedef unsigned int GLhandleARB;
             <param group="PathGenMode"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>value</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetPerfCounterInfoINTEL</name></proto>
+            <param><ptype>GLuint</ptype> <name>queryId</name></param>
+            <param><ptype>GLuint</ptype> <name>counterId</name></param>
+            <param><ptype>GLuint</ptype> <name>counterNameLength</name></param>
+            <param><ptype>GLchar</ptype> *<name>counterName</name></param>
+            <param><ptype>GLuint</ptype> <name>counterDescLength</name></param>
+            <param><ptype>GLchar</ptype> *<name>counterDesc</name></param>
+            <param><ptype>GLuint</ptype> *<name>counterOffset</name></param>
+            <param><ptype>GLuint</ptype> *<name>counterDataSize</name></param>
+            <param><ptype>GLuint</ptype> *<name>counterTypeEnum</name></param>
+            <param><ptype>GLuint</ptype> *<name>counterDataTypeEnum</name></param>
+            <param><ptype>GLuint64</ptype> *<name>rawCounterMaxValue</name></param>
+        </command>
         <command>
             <proto>void <name>glGetPerfMonitorCounterDataAMD</name></proto>
             <param><ptype>GLuint</ptype> <name>monitor</name></param>
             <param><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLsizei</ptype> <name>dataSize</name></param>
-            <param len="dataSize"><ptype>GLuint</ptype> *<name>data</name></param>
+            <param len="dataSize / 4"><ptype>GLuint</ptype> *<name>data</name></param>
             <param len="1"><ptype>GLint</ptype> *<name>bytesWritten</name></param>
         </command>
         <command>
@@ -14165,7 +19141,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLuint</ptype> <name>group</name></param>
             <param><ptype>GLuint</ptype> <name>counter</name></param>
             <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="COMPSIZE(pname)"><ptype>GLvoid</ptype> *<name>data</name></param>
+            <param len="COMPSIZE(pname)">void *<name>data</name></param>
         </command>
         <command>
             <proto>void <name>glGetPerfMonitorCounterStringAMD</name></proto>
@@ -14196,6 +19172,29 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>groupsSize</name></param>
             <param len="groupsSize"><ptype>GLuint</ptype> *<name>groups</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetPerfQueryDataINTEL</name></proto>
+            <param><ptype>GLuint</ptype> <name>queryHandle</name></param>
+            <param><ptype>GLuint</ptype> <name>flags</name></param>
+            <param><ptype>GLsizei</ptype> <name>dataSize</name></param>
+            <param>void *<name>data</name></param>
+            <param><ptype>GLuint</ptype> *<name>bytesWritten</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetPerfQueryIdByNameINTEL</name></proto>
+            <param><ptype>GLchar</ptype> *<name>queryName</name></param>
+            <param><ptype>GLuint</ptype> *<name>queryId</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetPerfQueryInfoINTEL</name></proto>
+            <param><ptype>GLuint</ptype> <name>queryId</name></param>
+            <param><ptype>GLuint</ptype> <name>queryNameLength</name></param>
+            <param><ptype>GLchar</ptype> *<name>queryName</name></param>
+            <param><ptype>GLuint</ptype> *<name>dataSize</name></param>
+            <param><ptype>GLuint</ptype> *<name>noCounters</name></param>
+            <param><ptype>GLuint</ptype> *<name>noInstances</name></param>
+            <param><ptype>GLuint</ptype> *<name>capsMask</name></param>
+        </command>
         <command>
             <proto>void <name>glGetPixelMapfv</name></proto>
             <param group="PixelMap"><ptype>GLenum</ptype> <name>map</name></param>
@@ -14219,7 +19218,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetPixelMapxv</name></proto>
-            <param><ptype>GLenum</ptype> <name>map</name></param>
+            <param group="PixelMap"><ptype>GLenum</ptype> <name>map</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param len="size"><ptype>GLfixed</ptype> *<name>values</name></param>
         </command>
@@ -14249,32 +19248,32 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetPointerIndexedvEXT</name></proto>
-            <param group="TypeEnum"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param len="1"><ptype>GLvoid</ptype> **<name>data</name></param>
+            <param len="1">void **<name>data</name></param>
         </command>
         <command>
             <proto>void <name>glGetPointeri_vEXT</name></proto>
-            <param group="TypeEnum"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param len="1"><ptype>GLvoid</ptype> **<name>params</name></param>
+            <param len="1">void **<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetPointerv</name></proto>
             <param group="GetPointervPName"><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLvoid</ptype> **<name>params</name></param>
+            <param len="1">void **<name>params</name></param>
             <glx type="single" opcode="208"/>
         </command>
         <command>
             <proto>void <name>glGetPointervEXT</name></proto>
             <param group="GetPointervPName"><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="1"><ptype>GLvoid</ptype> **<name>params</name></param>
+            <param len="1">void **<name>params</name></param>
             <alias name="glGetPointerv"/>
         </command>
         <command>
             <proto>void <name>glGetPointervKHR</name></proto>
             <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLvoid</ptype> **<name>params</name></param>
+            <param len="1">void **<name>params</name></param>
             <alias name="glGetPointerv"/>
         </command>
         <command>
@@ -14285,19 +19284,20 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetProgramBinary</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="1"><ptype>GLenum</ptype> *<name>binaryFormat</name></param>
-            <param len="bufSize"><ptype>GLvoid</ptype> *<name>binary</name></param>
+            <param len="bufSize">void *<name>binary</name></param>
         </command>
         <command>
             <proto>void <name>glGetProgramBinaryOES</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param><ptype>GLsizei</ptype> *<name>length</name></param>
-            <param><ptype>GLenum</ptype> *<name>binaryFormat</name></param>
-            <param len="bufSize"><ptype>GLvoid</ptype> *<name>binary</name></param>
+            <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+            <param len="1"><ptype>GLenum</ptype> *<name>binaryFormat</name></param>
+            <param len="bufSize">void *<name>binary</name></param>
+            <alias name="glGetProgramBinary"/>
         </command>
         <command>
             <proto>void <name>glGetProgramEnvParameterIivNV</name></proto>
@@ -14313,19 +19313,19 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetProgramEnvParameterdvARB</name></proto>
-            <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="4"><ptype>GLdouble</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetProgramEnvParameterfvARB</name></proto>
-            <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="4"><ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetProgramInfoLog</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>infoLog</name></param>
@@ -14333,9 +19333,9 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetProgramInterfaceiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLenum</ptype> <name>programInterface</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param group="ProgramInterface"><ptype>GLenum</ptype> <name>programInterface</name></param>
+            <param group="ProgramInterfacePName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
@@ -14352,19 +19352,19 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetProgramLocalParameterdvARB</name></proto>
-            <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="4"><ptype>GLdouble</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetProgramLocalParameterfvARB</name></proto>
-            <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="4"><ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetProgramNamedParameterdvNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>id</name></param>
             <param><ptype>GLsizei</ptype> <name>len</name></param>
             <param len="1">const <ptype>GLubyte</ptype> *<name>name</name></param>
             <param len="4"><ptype>GLdouble</ptype> *<name>params</name></param>
@@ -14372,7 +19372,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetProgramNamedParameterfvNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>id</name></param>
             <param><ptype>GLsizei</ptype> <name>len</name></param>
             <param len="1">const <ptype>GLubyte</ptype> *<name>name</name></param>
             <param len="4"><ptype>GLfloat</ptype> *<name>params</name></param>
@@ -14396,84 +19396,101 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetProgramPipelineInfoLog</name></proto>
-            <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+            <param class="program pipeline"><ptype>GLuint</ptype> <name>pipeline</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>infoLog</name></param>
         </command>
         <command>
             <proto>void <name>glGetProgramPipelineInfoLogEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+            <param class="program pipeline"><ptype>GLuint</ptype> <name>pipeline</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param><ptype>GLsizei</ptype> *<name>length</name></param>
+            <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>infoLog</name></param>
         </command>
         <command>
             <proto>void <name>glGetProgramPipelineiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>pipeline</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="program pipeline"><ptype>GLuint</ptype> <name>pipeline</name></param>
+            <param group="PipelineParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetProgramPipelineivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>pipeline</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="program pipeline"><ptype>GLuint</ptype> <name>pipeline</name></param>
+            <param group="PipelineParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto><ptype>GLuint</ptype> <name>glGetProgramResourceIndex</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLenum</ptype> <name>programInterface</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param group="ProgramInterface"><ptype>GLenum</ptype> <name>programInterface</name></param>
             <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
         </command>
         <command>
             <proto><ptype>GLint</ptype> <name>glGetProgramResourceLocation</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLenum</ptype> <name>programInterface</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param group="ProgramInterface"><ptype>GLenum</ptype> <name>programInterface</name></param>
             <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
         </command>
         <command>
             <proto><ptype>GLint</ptype> <name>glGetProgramResourceLocationIndex</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLenum</ptype> <name>programInterface</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param group="ProgramInterface"><ptype>GLenum</ptype> <name>programInterface</name></param>
+            <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
+        </command>
+        <command>
+            <proto><ptype>GLint</ptype> <name>glGetProgramResourceLocationIndexEXT</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param group="ProgramInterface"><ptype>GLenum</ptype> <name>programInterface</name></param>
             <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
         </command>
         <command>
             <proto>void <name>glGetProgramResourceName</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLenum</ptype> <name>programInterface</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param group="ProgramInterface"><ptype>GLenum</ptype> <name>programInterface</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param><ptype>GLsizei</ptype> *<name>length</name></param>
+            <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>name</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetProgramResourcefvNV</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param group="ProgramInterface"><ptype>GLenum</ptype> <name>programInterface</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param><ptype>GLsizei</ptype> <name>propCount</name></param>
+            <param>const <ptype>GLenum</ptype> *<name>props</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+            <param len="count"><ptype>GLfloat</ptype> *<name>params</name></param>
+        </command>
         <command>
             <proto>void <name>glGetProgramResourceiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLenum</ptype> <name>programInterface</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param group="ProgramInterface"><ptype>GLenum</ptype> <name>programInterface</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLsizei</ptype> <name>propCount</name></param>
-            <param len="propCount">const <ptype>GLenum</ptype> *<name>props</name></param>
-            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param><ptype>GLsizei</ptype> *<name>length</name></param>
-            <param len="bufSize"><ptype>GLint</ptype> *<name>params</name></param>
+            <param group="ProgramResourceProperty" len="propCount">const <ptype>GLenum</ptype> *<name>props</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+            <param len="count"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetProgramStageiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLenum</ptype> <name>shadertype</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param group="ShaderType"><ptype>GLenum</ptype> <name>shadertype</name></param>
+            <param group="ProgramStagePName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="1"><ptype>GLint</ptype> *<name>values</name></param>
         </command>
         <command>
             <proto>void <name>glGetProgramStringARB</name></proto>
-            <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="ProgramStringPropertyARB"><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="COMPSIZE(target,pname)"><ptype>GLvoid</ptype> *<name>string</name></param>
+            <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ProgramStringProperty"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(target,pname)">void *<name>string</name></param>
         </command>
         <command>
             <proto>void <name>glGetProgramStringNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>id</name></param>
             <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>pname</name></param>
             <param group="ProgramCharacterNV" len="COMPSIZE(id,pname)"><ptype>GLubyte</ptype> *<name>program</name></param>
             <glx type="vendor" opcode="1299"/>
@@ -14486,173 +19503,241 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetProgramiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="pname"><ptype>GLint</ptype> *<name>params</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param group="ProgramPropertyARB"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <glx type="single" opcode="199"/>
         </command>
         <command>
             <proto>void <name>glGetProgramivARB</name></proto>
-            <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="ProgramPropertyARB"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="1"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetProgramivNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>id</name></param>
             <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="4"><ptype>GLint</ptype> *<name>params</name></param>
             <glx type="vendor" opcode="1298"/>
         </command>
+        <command>
+            <proto>void <name>glGetQueryBufferObjecti64v</name></proto>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="QueryObjectParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetQueryBufferObjectiv</name></proto>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="QueryObjectParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetQueryBufferObjectui64v</name></proto>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="QueryObjectParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetQueryBufferObjectuiv</name></proto>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="QueryObjectParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+        </command>
         <command>
             <proto>void <name>glGetQueryIndexediv</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="QueryTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="QueryParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetQueryObjecti64v</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <param group="QueryObjectParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint64</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetQueryObjecti64vEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="pname"><ptype>GLint64</ptype> *<name>params</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <param group="QueryObjectParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint64</ptype> *<name>params</name></param>
             <glx type="vendor" opcode="1328"/>
             <alias name="glGetQueryObjecti64v"/>
         </command>
         <command>
             <proto>void <name>glGetQueryObjectiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="pname"><ptype>GLint</ptype> *<name>params</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <param group="QueryObjectParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <glx type="single" opcode="165"/>
         </command>
         <command>
             <proto>void <name>glGetQueryObjectivARB</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="pname"><ptype>GLint</ptype> *<name>params</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <param group="QueryObjectParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <alias name="glGetQueryObjectiv"/>
         </command>
         <command>
             <proto>void <name>glGetQueryObjectivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLint</ptype> *<name>params</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <param group="QueryObjectParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <alias name="glGetQueryObjectiv"/>
         </command>
         <command>
             <proto>void <name>glGetQueryObjectui64v</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <param group="QueryObjectParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLuint64</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetQueryObjectui64vEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="pname"><ptype>GLuint64</ptype> *<name>params</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <param group="QueryObjectParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLuint64</ptype> *<name>params</name></param>
             <glx type="vendor" opcode="1329"/>
             <alias name="glGetQueryObjectui64v"/>
         </command>
         <command>
             <proto>void <name>glGetQueryObjectuiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="pname"><ptype>GLuint</ptype> *<name>params</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <param group="QueryObjectParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
             <glx type="single" opcode="166"/>
         </command>
         <command>
             <proto>void <name>glGetQueryObjectuivARB</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="pname"><ptype>GLuint</ptype> *<name>params</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <param group="QueryObjectParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
             <alias name="glGetQueryObjectuiv"/>
         </command>
         <command>
             <proto>void <name>glGetQueryObjectuivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLuint</ptype> *<name>params</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <param group="QueryObjectParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetQueryiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="pname"><ptype>GLint</ptype> *<name>params</name></param>
+            <param group="QueryTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="QueryParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <glx type="single" opcode="164"/>
         </command>
         <command>
             <proto>void <name>glGetQueryivARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="pname"><ptype>GLint</ptype> *<name>params</name></param>
+            <param group="QueryTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="QueryParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <alias name="glGetQueryiv"/>
         </command>
         <command>
             <proto>void <name>glGetQueryivEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLint</ptype> *<name>params</name></param>
+            <param group="QueryTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="QueryParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetRenderbufferParameteriv</name></proto>
             <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="RenderbufferParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <glx type="vendor" opcode="1424"/>
         </command>
         <command>
             <proto>void <name>glGetRenderbufferParameterivEXT</name></proto>
             <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="RenderbufferParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <alias name="glGetRenderbufferParameteriv"/>
             <glx type="vendor" opcode="1424"/>
         </command>
         <command>
             <proto>void <name>glGetRenderbufferParameterivOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLint</ptype> *<name>params</name></param>
+            <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="RenderbufferParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetSamplerParameterIiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>sampler</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param group="SamplerParameterI"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetSamplerParameterIivEXT</name></proto>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param group="SamplerParameterI"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+            <alias name="glGetSamplerParameterIiv"/>
+        </command>
+        <command>
+            <proto>void <name>glGetSamplerParameterIivOES</name></proto>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param group="SamplerParameterI"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+            <alias name="glGetSamplerParameterIiv"/>
         </command>
         <command>
             <proto>void <name>glGetSamplerParameterIuiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>sampler</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param group="SamplerParameterI"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetSamplerParameterIuivEXT</name></proto>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param group="SamplerParameterI"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
+            <alias name="glGetSamplerParameterIuiv"/>
+        </command>
+        <command>
+            <proto>void <name>glGetSamplerParameterIuivOES</name></proto>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param group="SamplerParameterI"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
+            <alias name="glGetSamplerParameterIuiv"/>
         </command>
         <command>
             <proto>void <name>glGetSamplerParameterfv</name></proto>
-            <param><ptype>GLuint</ptype> <name>sampler</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param group="SamplerParameterF"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetSamplerParameteriv</name></proto>
-            <param><ptype>GLuint</ptype> <name>sampler</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param group="SamplerParameterI"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetSemaphoreParameterivNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>semaphore</name></param>
+            <param group="SemaphoreParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> *<name>params</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetSemaphoreParameterui64vEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>semaphore</name></param>
+            <param group="SemaphoreParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLuint64</ptype> *<name>params</name></param>
+        </command>
         <command>
             <proto>void <name>glGetSeparableFilter</name></proto>
-            <param group="SeparableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="SeparableTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(target,format,type)"><ptype>GLvoid</ptype> *<name>row</name></param>
-            <param len="COMPSIZE(target,format,type)"><ptype>GLvoid</ptype> *<name>column</name></param>
-            <param len="COMPSIZE(target,format,type)"><ptype>GLvoid</ptype> *<name>span</name></param>
+            <param len="COMPSIZE(target,format,type)">void *<name>row</name></param>
+            <param len="COMPSIZE(target,format,type)">void *<name>column</name></param>
+            <param len="COMPSIZE(target,format,type)">void *<name>span</name></param>
             <glx type="single" opcode="153"/>
             <glx type="render" opcode="343" name="glGetSeparableFilterPBO" comment="PBO protocol"/>
         </command>
@@ -14661,14 +19746,14 @@ typedef unsigned int GLhandleARB;
             <param group="SeparableTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(target,format,type)"><ptype>GLvoid</ptype> *<name>row</name></param>
-            <param len="COMPSIZE(target,format,type)"><ptype>GLvoid</ptype> *<name>column</name></param>
-            <param len="COMPSIZE(target,format,type)"><ptype>GLvoid</ptype> *<name>span</name></param>
+            <param len="COMPSIZE(target,format,type)">void *<name>row</name></param>
+            <param len="COMPSIZE(target,format,type)">void *<name>column</name></param>
+            <param len="COMPSIZE(target,format,type)">void *<name>span</name></param>
             <glx type="vendor" opcode="4"/>
         </command>
         <command>
             <proto>void <name>glGetShaderInfoLog</name></proto>
-            <param><ptype>GLuint</ptype> <name>shader</name></param>
+            <param class="shader"><ptype>GLuint</ptype> <name>shader</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>infoLog</name></param>
@@ -14676,14 +19761,14 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetShaderPrecisionFormat</name></proto>
-            <param><ptype>GLenum</ptype> <name>shadertype</name></param>
-            <param><ptype>GLenum</ptype> <name>precisiontype</name></param>
+            <param group="ShaderType"><ptype>GLenum</ptype> <name>shadertype</name></param>
+            <param group="PrecisionType"><ptype>GLenum</ptype> <name>precisiontype</name></param>
             <param len="2"><ptype>GLint</ptype> *<name>range</name></param>
-            <param len="2"><ptype>GLint</ptype> *<name>precision</name></param>
+            <param len="1"><ptype>GLint</ptype> *<name>precision</name></param>
         </command>
         <command>
             <proto>void <name>glGetShaderSource</name></proto>
-            <param><ptype>GLuint</ptype> <name>shader</name></param>
+            <param class="shader"><ptype>GLuint</ptype> <name>shader</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>source</name></param>
@@ -14698,17 +19783,39 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetShaderiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>shader</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="pname"><ptype>GLint</ptype> *<name>params</name></param>
+            <param class="shader"><ptype>GLuint</ptype> <name>shader</name></param>
+            <param group="ShaderParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <glx type="single" opcode="198"/>
         </command>
+        <command>
+            <proto>void <name>glGetShadingRateImagePaletteNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>viewport</name></param>
+            <param><ptype>GLuint</ptype> <name>entry</name></param>
+            <param len="1"><ptype>GLenum</ptype> *<name>rate</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetShadingRateSampleLocationivNV</name></proto>
+            <param><ptype>GLenum</ptype> <name>rate</name></param>
+            <param><ptype>GLuint</ptype> <name>samples</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param len="3"><ptype>GLint</ptype> *<name>location</name></param>
+        </command>
         <command>
             <proto>void <name>glGetSharpenTexFuncSGIS</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param len="COMPSIZE(target)"><ptype>GLfloat</ptype> *<name>points</name></param>
             <glx type="vendor" opcode="4097"/>
         </command>
+        <command>
+            <proto><ptype>GLushort</ptype> <name>glGetStageIndexNV</name></proto>
+            <param group="ShaderType"><ptype>GLenum</ptype> <name>shadertype</name></param>
+        </command>
+        <!-- These commands represent strings as GLubyte* instead of GLchar* as represented elsewhere.
+             While functionally the same, these commands continue to use GLubyte* as there's no way to
+             change the signature of these commands without potentially breaking lots of applications
+             using these APIs. For more information, see public issue 363:
+             https://github.com/KhronosGroup/OpenGL-Registry/issues/363 -->
         <command>
             <proto group="String">const <ptype>GLubyte</ptype> *<name>glGetString</name></proto>
             <param group="StringName"><ptype>GLenum</ptype> <name>name</name></param>
@@ -14716,36 +19823,38 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto group="String">const <ptype>GLubyte</ptype> *<name>glGetStringi</name></proto>
-            <param><ptype>GLenum</ptype> <name>name</name></param>
+            <param group="StringName"><ptype>GLenum</ptype> <name>name</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
+            <glx type="single" opcode="214"/>
         </command>
         <command>
             <proto><ptype>GLuint</ptype> <name>glGetSubroutineIndex</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLenum</ptype> <name>shadertype</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param group="ShaderType"><ptype>GLenum</ptype> <name>shadertype</name></param>
             <param>const <ptype>GLchar</ptype> *<name>name</name></param>
         </command>
         <command>
             <proto><ptype>GLint</ptype> <name>glGetSubroutineUniformLocation</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
-            <param><ptype>GLenum</ptype> <name>shadertype</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param group="ShaderType"><ptype>GLenum</ptype> <name>shadertype</name></param>
             <param>const <ptype>GLchar</ptype> *<name>name</name></param>
         </command>
         <command>
             <proto>void <name>glGetSynciv</name></proto>
-            <param group="sync"><ptype>GLsync</ptype> <name>sync</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param class="sync" group="sync"><ptype>GLsync</ptype> <name>sync</name></param>
+            <param group="SyncParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
-            <param len="bufSize"><ptype>GLint</ptype> *<name>values</name></param>
+            <param len="count"><ptype>GLint</ptype> *<name>values</name></param>
         </command>
         <command>
             <proto>void <name>glGetSyncivAPPLE</name></proto>
-            <param><ptype>GLsync</ptype> <name>sync</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param class="sync"><ptype>GLsync</ptype> <name>sync</name></param>
+            <param group="SyncParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param><ptype>GLsizei</ptype> *<name>length</name></param>
-            <param len="bufSize"><ptype>GLint</ptype> *<name>values</name></param>
+            <param len="count"><ptype>GLint</ptype> *<name>values</name></param>
+            <alias name="glGetSynciv"/>
         </command>
         <command>
             <proto>void <name>glGetTexBumpParameterfvATI</name></proto>
@@ -14773,14 +19882,14 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetTexEnvxv</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLfixed</ptype> *<name>params</name></param>
+            <param group="TextureEnvTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureEnvParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetTexEnvxvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="TextureEnvTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureEnvParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
@@ -14806,9 +19915,9 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetTexGenfvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>coord</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLfloat</ptype> *<name>params</name></param>
+            <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+            <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetTexGeniv</name></proto>
@@ -14819,14 +19928,14 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetTexGenivOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>coord</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLint</ptype> *<name>params</name></param>
+            <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+            <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetTexGenxvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>coord</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+            <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
@@ -14835,7 +19944,7 @@ typedef unsigned int GLhandleARB;
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(target,level,format,type)"><ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(target,level,format,type)">void *<name>pixels</name></param>
             <glx type="single" opcode="135"/>
             <glx type="render" opcode="344" name="glGetTexImagePBO" comment="PBO protocol"/>
         </command>
@@ -14857,9 +19966,9 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetTexLevelParameterxvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
@@ -14876,6 +19985,13 @@ typedef unsigned int GLhandleARB;
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
             <alias name="glGetTexParameterIiv"/>
         </command>
+        <command>
+            <proto>void <name>glGetTexParameterIivOES</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+            <alias name="glGetTexParameterIiv"/>
+        </command>
         <command>
             <proto>void <name>glGetTexParameterIuiv</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
@@ -14890,11 +20006,18 @@ typedef unsigned int GLhandleARB;
             <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
             <alias name="glGetTexParameterIuiv"/>
         </command>
+        <command>
+            <proto>void <name>glGetTexParameterIuivOES</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
+            <alias name="glGetTexParameterIuiv"/>
+        </command>
         <command>
             <proto>void <name>glGetTexParameterPointervAPPLE</name></proto>
             <param><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="1"><ptype>GLvoid</ptype> **<name>params</name></param>
+            <param len="1">void **<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetTexParameterfv</name></proto>
@@ -14912,86 +20035,159 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetTexParameterxv</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLfixed</ptype> *<name>params</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetTexParameterxvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto><ptype>GLuint64</ptype> <name>glGetTextureHandleARB</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+        </command>
+        <command>
+            <proto><ptype>GLuint64</ptype> <name>glGetTextureHandleIMG</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <alias name="glGetTextureHandleARB"/>
         </command>
         <command>
             <proto><ptype>GLuint64</ptype> <name>glGetTextureHandleNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetTextureImage</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param>void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glGetTextureImageEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(target,level,format,type)"><ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(target,level,format,type)">void *<name>pixels</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetTextureLevelParameterfv</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetTextureLevelParameterfvEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetTextureLevelParameteriv</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> *<name>params</name></param>
+        </command>
         <command>
             <proto>void <name>glGetTextureLevelParameterivEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetTextureParameterIiv</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> *<name>params</name></param>
+        </command>
         <command>
             <proto>void <name>glGetTextureParameterIivEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetTextureParameterIuiv</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLuint</ptype> *<name>params</name></param>
+        </command>
         <command>
             <proto>void <name>glGetTextureParameterIuivEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetTextureParameterfv</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLfloat</ptype> *<name>params</name></param>
+        </command>
         <command>
             <proto>void <name>glGetTextureParameterfvEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetTextureParameteriv</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> *<name>params</name></param>
+        </command>
         <command>
             <proto>void <name>glGetTextureParameterivEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto><ptype>GLuint64</ptype> <name>glGetTextureSamplerHandleARB</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
-            <param><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+        </command>
+        <command>
+            <proto><ptype>GLuint64</ptype> <name>glGetTextureSamplerHandleIMG</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <alias name="glGetTextureSamplerHandleARB"/>
         </command>
         <command>
             <proto><ptype>GLuint64</ptype> <name>glGetTextureSamplerHandleNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
-            <param><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetTextureSubImage</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLint</ptype> <name>xoffset</name></param>
+            <param><ptype>GLint</ptype> <name>yoffset</name></param>
+            <param><ptype>GLint</ptype> <name>zoffset</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLsizei</ptype> <name>depth</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param>void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glGetTrackMatrixivNV</name></proto>
@@ -15003,58 +20199,81 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glGetTransformFeedbackVarying</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>size</name></param>
-            <param len="1"><ptype>GLenum</ptype> *<name>type</name></param>
+            <param group="AttributeType" len="1"><ptype>GLenum</ptype> *<name>type</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>name</name></param>
+            <glx type="single" opcode="213"/>
         </command>
         <command>
             <proto>void <name>glGetTransformFeedbackVaryingEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param len="1"><ptype>GLsizei</ptype> *<name>size</name></param>
-            <param len="1"><ptype>GLenum</ptype> *<name>type</name></param>
+            <param group="AttributeType" len="1"><ptype>GLenum</ptype> *<name>type</name></param>
             <param len="bufSize"><ptype>GLchar</ptype> *<name>name</name></param>
             <alias name="glGetTransformFeedbackVarying"/>
         </command>
         <command>
             <proto>void <name>glGetTransformFeedbackVaryingNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="1"><ptype>GLint</ptype> *<name>location</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetTransformFeedbacki64_v</name></proto>
+            <param class="transform feedback"><ptype>GLuint</ptype> <name>xfb</name></param>
+            <param group="TransformFeedbackPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param><ptype>GLint64</ptype> *<name>param</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetTransformFeedbacki_v</name></proto>
+            <param class="transform feedback"><ptype>GLuint</ptype> <name>xfb</name></param>
+            <param group="TransformFeedbackPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param><ptype>GLint</ptype> *<name>param</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetTransformFeedbackiv</name></proto>
+            <param class="transform feedback"><ptype>GLuint</ptype> <name>xfb</name></param>
+            <param group="TransformFeedbackPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> *<name>param</name></param>
+        </command>
         <command>
             <proto>void <name>glGetTranslatedShaderSourceANGLE</name></proto>
-            <param><ptype>GLuint</ptype> <name>shader</name></param>
-            <param><ptype>GLsizei</ptype> <name>bufsize</name></param>
-            <param><ptype>GLsizei</ptype> *<name>length</name></param>
+            <param class="shader"><ptype>GLuint</ptype> <name>shader</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
             <param><ptype>GLchar</ptype> *<name>source</name></param>
         </command>
         <command>
             <proto><ptype>GLuint</ptype> <name>glGetUniformBlockIndex</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param len="COMPSIZE()">const <ptype>GLchar</ptype> *<name>uniformBlockName</name></param>
+            <glx type="single" opcode="218"/>
         </command>
         <command>
             <proto><ptype>GLint</ptype> <name>glGetUniformBufferSizeEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
         </command>
         <command>
             <proto>void <name>glGetUniformIndices</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLsizei</ptype> <name>uniformCount</name></param>
             <param len="COMPSIZE(uniformCount)">const <ptype>GLchar</ptype> *const*<name>uniformNames</name></param>
             <param len="COMPSIZE(uniformCount)"><ptype>GLuint</ptype> *<name>uniformIndices</name></param>
+            <glx type="single" opcode="215"/>
         </command>
         <command>
             <proto><ptype>GLint</ptype> <name>glGetUniformLocation</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param>const <ptype>GLchar</ptype> *<name>name</name></param>
         </command>
         <command>
@@ -15065,72 +20284,95 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto group="BufferOffset"><ptype>GLintptr</ptype> <name>glGetUniformOffsetEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
         </command>
         <command>
             <proto>void <name>glGetUniformSubroutineuiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>shadertype</name></param>
+            <param group="ShaderType"><ptype>GLenum</ptype> <name>shadertype</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param len="1"><ptype>GLuint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetUniformdv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
-            <param len="COMPSIZE(location)"><ptype>GLdouble</ptype> *<name>params</name></param>
+            <param len="COMPSIZE(program,location)"><ptype>GLdouble</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetUniformfv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
-            <param len="COMPSIZE(location)"><ptype>GLfloat</ptype> *<name>params</name></param>
+            <param len="COMPSIZE(program,location)"><ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetUniformfvARB</name></proto>
             <param group="handleARB"><ptype>GLhandleARB</ptype> <name>programObj</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
-            <param len="COMPSIZE(location)"><ptype>GLfloat</ptype> *<name>params</name></param>
+            <param len="COMPSIZE(programObj,location)"><ptype>GLfloat</ptype> *<name>params</name></param>
             <alias name="glGetUniformfv"/>
         </command>
+        <command>
+            <proto>void <name>glGetUniformi64vARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param len="COMPSIZE(program,location)"><ptype>GLint64</ptype> *<name>params</name></param>
+        </command>
         <command>
             <proto>void <name>glGetUniformi64vNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
-            <param len="COMPSIZE(location)"><ptype>GLint64EXT</ptype> *<name>params</name></param>
+            <param len="COMPSIZE(program,location)"><ptype>GLint64EXT</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetUniformiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
-            <param len="COMPSIZE(location)"><ptype>GLint</ptype> *<name>params</name></param>
+            <param len="COMPSIZE(program,location)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetUniformivARB</name></proto>
             <param group="handleARB"><ptype>GLhandleARB</ptype> <name>programObj</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
-            <param len="COMPSIZE(location)"><ptype>GLint</ptype> *<name>params</name></param>
+            <param len="COMPSIZE(programObj,location)"><ptype>GLint</ptype> *<name>params</name></param>
             <alias name="glGetUniformiv"/>
         </command>
+        <command>
+            <proto>void <name>glGetUniformui64vARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param len="COMPSIZE(program,location)"><ptype>GLuint64</ptype> *<name>params</name></param>
+        </command>
         <command>
             <proto>void <name>glGetUniformui64vNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param len="COMPSIZE(program,location)"><ptype>GLuint64EXT</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetUniformuiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param len="COMPSIZE(program,location)"><ptype>GLuint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetUniformuivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param len="COMPSIZE(program,location)"><ptype>GLuint</ptype> *<name>params</name></param>
             <alias name="glGetUniformuiv"/>
         </command>
+        <command>
+            <proto>void <name>glGetUnsignedBytevEXT</name></proto>
+            <param group="GetPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLubyte</ptype> *<name>data</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetUnsignedBytei_vEXT</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param len="COMPSIZE(target)"><ptype>GLubyte</ptype> *<name>data</name></param>
+        </command>
         <command>
             <proto>void <name>glGetVariantArrayObjectfvATI</name></proto>
             <param><ptype>GLuint</ptype> <name>id</name></param>
@@ -15165,50 +20407,70 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glGetVariantPointervEXT</name></proto>
             <param><ptype>GLuint</ptype> <name>id</name></param>
             <param group="GetVariantValueEXT"><ptype>GLenum</ptype> <name>value</name></param>
-            <param len="COMPSIZE(id)"><ptype>GLvoid</ptype> **<name>data</name></param>
+            <param len="COMPSIZE(id)">void **<name>data</name></param>
         </command>
         <command>
             <proto><ptype>GLint</ptype> <name>glGetVaryingLocationNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetVertexArrayIndexed64iv</name></proto>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param group="VertexArrayPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint64</ptype> *<name>param</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetVertexArrayIndexediv</name></proto>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param group="VertexArrayPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> *<name>param</name></param>
+        </command>
         <command>
             <proto>void <name>glGetVertexArrayIntegeri_vEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="VertexArrayPName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLint</ptype> *<name>param</name></param>
         </command>
         <command>
             <proto>void <name>glGetVertexArrayIntegervEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param group="VertexArrayPName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLint</ptype> *<name>param</name></param>
         </command>
         <command>
             <proto>void <name>glGetVertexArrayPointeri_vEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLvoid</ptype> **<name>param</name></param>
+            <param group="VertexArrayPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="1">void **<name>param</name></param>
         </command>
         <command>
             <proto>void <name>glGetVertexArrayPointervEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLvoid</ptype> **<name>param</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param group="VertexArrayPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="1">void **<name>param</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetVertexArrayiv</name></proto>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param group="VertexArrayPName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> *<name>param</name></param>
         </command>
         <command>
             <proto>void <name>glGetVertexAttribArrayObjectfvATI</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param group="ArrayObjectPNameATI"><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="pname"><ptype>GLfloat</ptype> *<name>params</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetVertexAttribArrayObjectivATI</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param group="ArrayObjectPNameATI"><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="pname"><ptype>GLint</ptype> *<name>params</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetVertexAttribIiv</name></proto>
@@ -15239,53 +20501,53 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glGetVertexAttribLdv</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="VertexAttribEnum"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLdouble</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetVertexAttribLdvEXT</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="VertexAttribEnum"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLdouble</ptype> *<name>params</name></param>
             <alias name="glGetVertexAttribLdv"/>
         </command>
         <command>
             <proto>void <name>glGetVertexAttribLi64vNV</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="VertexAttribEnum"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLint64EXT</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetVertexAttribLui64vARB</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="VertexAttribEnum"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLuint64EXT</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetVertexAttribLui64vNV</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="VertexAttribEnum"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLuint64EXT</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetVertexAttribPointerv</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param group="VertexAttribPointerPropertyARB"><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="1"><ptype>GLvoid</ptype> **<name>pointer</name></param>
+            <param len="1">void **<name>pointer</name></param>
             <glx type="single" opcode="209"/>
         </command>
         <command>
             <proto>void <name>glGetVertexAttribPointervARB</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param group="VertexAttribPointerPropertyARB"><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="1"><ptype>GLvoid</ptype> **<name>pointer</name></param>
+            <param len="1">void **<name>pointer</name></param>
             <alias name="glGetVertexAttribPointerv"/>
         </command>
         <command>
             <proto>void <name>glGetVertexAttribPointervNV</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>pname</name></param>
-            <param len="1"><ptype>GLvoid</ptype> **<name>pointer</name></param>
+            <param len="1">void **<name>pointer</name></param>
             <alias name="glGetVertexAttribPointerv"/>
         </command>
         <command>
@@ -15408,152 +20670,325 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetnColorTable</name></proto>
+            <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize">void *<name>table</name></param>
+        </command>
         <command>
             <proto>void <name>glGetnColorTableARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize">void *<name>table</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetnCompressedTexImage</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLint</ptype> <name>lod</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="bufSize"><ptype>GLvoid</ptype> *<name>table</name></param>
+            <param len="bufSize">void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glGetnCompressedTexImageARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLint</ptype> <name>lod</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="bufSize"><ptype>GLvoid</ptype> *<name>img</name></param>
+            <param len="bufSize">void *<name>img</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetnConvolutionFilter</name></proto>
+            <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize">void *<name>image</name></param>
         </command>
         <command>
             <proto>void <name>glGetnConvolutionFilterARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize">void *<name>image</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetnHistogram</name></proto>
+            <param group="HistogramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>reset</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="bufSize"><ptype>GLvoid</ptype> *<name>image</name></param>
+            <param len="bufSize">void *<name>values</name></param>
         </command>
         <command>
             <proto>void <name>glGetnHistogramARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="HistogramTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>reset</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize">void *<name>values</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetnMapdv</name></proto>
+            <param group="MapTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="MapQuery"><ptype>GLenum</ptype> <name>query</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="bufSize"><ptype>GLvoid</ptype> *<name>values</name></param>
+            <param len="COMPSIZE(bufSize)"><ptype>GLdouble</ptype> *<name>v</name></param>
         </command>
         <command>
             <proto>void <name>glGetnMapdvARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>query</name></param>
+            <param group="MapTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="MapQuery"><ptype>GLenum</ptype> <name>query</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize / 8"><ptype>GLdouble</ptype> *<name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetnMapfv</name></proto>
+            <param group="MapTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="MapQuery"><ptype>GLenum</ptype> <name>query</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="bufSize"><ptype>GLdouble</ptype> *<name>v</name></param>
+            <param><ptype>GLfloat</ptype> *<name>v</name></param>
         </command>
         <command>
             <proto>void <name>glGetnMapfvARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>query</name></param>
+            <param group="MapTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="MapQuery"><ptype>GLenum</ptype> <name>query</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="bufSize"><ptype>GLfloat</ptype> *<name>v</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetnMapiv</name></proto>
+            <param group="MapTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="MapQuery"><ptype>GLenum</ptype> <name>query</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param><ptype>GLint</ptype> *<name>v</name></param>
+        </command>
         <command>
             <proto>void <name>glGetnMapivARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>query</name></param>
+            <param group="MapTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="MapQuery"><ptype>GLenum</ptype> <name>query</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="bufSize"><ptype>GLint</ptype> *<name>v</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetnMinmax</name></proto>
+            <param group="MinmaxTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>reset</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize">void *<name>values</name></param>
+        </command>
         <command>
             <proto>void <name>glGetnMinmaxARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="MinmaxTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>reset</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="bufSize"><ptype>GLvoid</ptype> *<name>values</name></param>
+            <param len="bufSize">void *<name>values</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetnPixelMapfv</name></proto>
+            <param group="PixelMap"><ptype>GLenum</ptype> <name>map</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="COMPSIZE(bufSize)"><ptype>GLfloat</ptype> *<name>values</name></param>
         </command>
         <command>
             <proto>void <name>glGetnPixelMapfvARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>map</name></param>
+            <param group="PixelMap"><ptype>GLenum</ptype> <name>map</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="bufSize"><ptype>GLfloat</ptype> *<name>values</name></param>
+            <param len="bufSize / 4"><ptype>GLfloat</ptype> *<name>values</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetnPixelMapuiv</name></proto>
+            <param group="PixelMap"><ptype>GLenum</ptype> <name>map</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param><ptype>GLuint</ptype> *<name>values</name></param>
         </command>
         <command>
             <proto>void <name>glGetnPixelMapuivARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>map</name></param>
+            <param group="PixelMap"><ptype>GLenum</ptype> <name>map</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="bufSize"><ptype>GLuint</ptype> *<name>values</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetnPixelMapusv</name></proto>
+            <param group="PixelMap"><ptype>GLenum</ptype> <name>map</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param><ptype>GLushort</ptype> *<name>values</name></param>
+        </command>
         <command>
             <proto>void <name>glGetnPixelMapusvARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>map</name></param>
+            <param group="PixelMap"><ptype>GLenum</ptype> <name>map</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="bufSize"><ptype>GLushort</ptype> *<name>values</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetnPolygonStipple</name></proto>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize"><ptype>GLubyte</ptype> *<name>pattern</name></param>
+        </command>
         <command>
             <proto>void <name>glGetnPolygonStippleARB</name></proto>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
             <param len="bufSize"><ptype>GLubyte</ptype> *<name>pattern</name></param>
         </command>
+        <command>
+            <proto>void <name>glGetnSeparableFilter</name></proto>
+            <param group="SeparableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param><ptype>GLsizei</ptype> <name>rowBufSize</name></param>
+            <param len="rowBufSize">void *<name>row</name></param>
+            <param><ptype>GLsizei</ptype> <name>columnBufSize</name></param>
+            <param len="columnBufSize">void *<name>column</name></param>
+            <param len="0">void *<name>span</name></param>
+        </command>
         <command>
             <proto>void <name>glGetnSeparableFilterARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="SeparableTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>rowBufSize</name></param>
-            <param len="rowBufSize"><ptype>GLvoid</ptype> *<name>row</name></param>
+            <param len="rowBufSize">void *<name>row</name></param>
             <param><ptype>GLsizei</ptype> <name>columnBufSize</name></param>
-            <param len="columnBufSize"><ptype>GLvoid</ptype> *<name>column</name></param>
-            <param len="0"><ptype>GLvoid</ptype> *<name>span</name></param>
+            <param len="columnBufSize">void *<name>column</name></param>
+            <param len="0">void *<name>span</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetnTexImage</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize">void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glGetnTexImageARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize">void *<name>img</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetnUniformdv</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="bufSize"><ptype>GLvoid</ptype> *<name>img</name></param>
+            <param len="bufSize / 8"><ptype>GLdouble</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetnUniformdvARB</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize / 8"><ptype>GLdouble</ptype> *<name>params</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetnUniformfv</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="bufSize"><ptype>GLdouble</ptype> *<name>params</name></param>
+            <param len="bufSize / 4"><ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetnUniformfvARB</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="bufSize"><ptype>GLfloat</ptype> *<name>params</name></param>
+            <param len="bufSize / 4"><ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetnUniformfvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize / 4"><ptype>GLfloat</ptype> *<name>params</name></param>
+            <alias name="glGetnUniformfv"/>
+        </command>
+        <command>
+            <proto>void <name>glGetnUniformfvKHR</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize / 4"><ptype>GLfloat</ptype> *<name>params</name></param>
+            <alias name="glGetnUniformfv"/>
+        </command>
+        <command>
+            <proto>void <name>glGetnUniformi64vARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize / 8"><ptype>GLint64</ptype> *<name>params</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetnUniformiv</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="bufSize"><ptype>GLfloat</ptype> *<name>params</name></param>
+            <param len="bufSize / 4"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetnUniformivARB</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="bufSize"><ptype>GLint</ptype> *<name>params</name></param>
+            <param len="bufSize / 4"><ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetnUniformivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize / 4"><ptype>GLint</ptype> *<name>params</name></param>
+            <alias name="glGetnUniformiv"/>
+        </command>
+        <command>
+            <proto>void <name>glGetnUniformivKHR</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize / 4"><ptype>GLint</ptype> *<name>params</name></param>
+            <alias name="glGetnUniformiv"/>
+        </command>
+        <command>
+            <proto>void <name>glGetnUniformui64vARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="bufSize"><ptype>GLint</ptype> *<name>params</name></param>
+            <param len="bufSize / 8"><ptype>GLuint64</ptype> *<name>params</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetnUniformuiv</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize / 4"><ptype>GLuint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glGetnUniformuivARB</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize / 4"><ptype>GLuint</ptype> *<name>params</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetnUniformuivKHR</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="bufSize"><ptype>GLuint</ptype> *<name>params</name></param>
+            <param len="bufSize / 4"><ptype>GLuint</ptype> *<name>params</name></param>
+            <alias name="glGetnUniformuiv"/>
         </command>
         <command>
             <proto>void <name>glGlobalAlphaFactorbSUN</name></proto>
@@ -15600,9 +21035,9 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glHistogram</name></proto>
-            <param group="HistogramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="HistogramTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>sink</name></param>
             <glx type="render" opcode="4110"/>
         </command>
@@ -15610,15 +21045,15 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glHistogramEXT</name></proto>
             <param group="HistogramTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>sink</name></param>
             <alias name="glHistogram"/>
             <glx type="render" opcode="4110"/>
         </command>
         <command>
             <proto>void <name>glIglooInterfaceSGIX</name></proto>
-            <param group="IglooFunctionSelectSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
-            <param group="IglooParameterSGIX" len="COMPSIZE(pname)">const <ptype>GLvoid</ptype> *<name>params</name></param>
+            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)">const void *<name>params</name></param>
             <glx type="render" opcode="200"/>
         </command>
         <command>
@@ -15646,7 +21081,46 @@ typedef unsigned int GLhandleARB;
             <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
-            <proto group="sync"><ptype>GLsync</ptype> <name>glImportSyncEXT</name></proto>
+            <proto>void <name>glImportMemoryFdEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>size</name></param>
+            <param group="ExternalHandleType"><ptype>GLenum</ptype> <name>handleType</name></param>
+            <param><ptype>GLint</ptype> <name>fd</name></param>
+        </command>
+        <command>
+            <proto>void <name>glImportMemoryWin32HandleEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>size</name></param>
+            <param group="ExternalHandleType"><ptype>GLenum</ptype> <name>handleType</name></param>
+            <param>void *<name>handle</name></param>
+        </command>
+        <command>
+            <proto>void <name>glImportMemoryWin32NameEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>size</name></param>
+            <param group="ExternalHandleType"><ptype>GLenum</ptype> <name>handleType</name></param>
+            <param>const void *<name>name</name></param>
+        </command>
+        <command>
+            <proto>void <name>glImportSemaphoreFdEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>semaphore</name></param>
+            <param group="ExternalHandleType"><ptype>GLenum</ptype> <name>handleType</name></param>
+            <param><ptype>GLint</ptype> <name>fd</name></param>
+        </command>
+        <command>
+            <proto>void <name>glImportSemaphoreWin32HandleEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>semaphore</name></param>
+            <param group="ExternalHandleType"><ptype>GLenum</ptype> <name>handleType</name></param>
+            <param>void *<name>handle</name></param>
+        </command>
+        <command>
+            <proto>void <name>glImportSemaphoreWin32NameEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>semaphore</name></param>
+            <param group="ExternalHandleType"><ptype>GLenum</ptype> <name>handleType</name></param>
+            <param>const void *<name>name</name></param>
+        </command>
+        <command>
+            <proto class="sync" group="sync"><ptype>GLsync</ptype> <name>glImportSyncEXT</name></proto>
             <param><ptype>GLenum</ptype> <name>external_sync_type</name></param>
             <param><ptype>GLintptr</ptype> <name>external_sync</name></param>
             <param><ptype>GLbitfield</ptype> <name>flags</name></param>
@@ -15675,20 +21149,20 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glIndexPointer</name></proto>
             <param group="IndexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glIndexPointerEXT</name></proto>
             <param group="IndexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="COMPSIZE(type,stride,count)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(type,stride,count)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glIndexPointerListIBM</name></proto>
             <param group="IndexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLint</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(type,stride)">const <ptype>GLvoid</ptype> **<name>pointer</name></param>
+            <param len="COMPSIZE(type,stride)">const void **<name>pointer</name></param>
             <param><ptype>GLint</ptype> <name>ptrstride</name></param>
         </command>
         <command>
@@ -15774,7 +21248,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glInterleavedArrays</name></proto>
             <param group="InterleavedArrayFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(format,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(format,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glInterpolatePathsNV</name></proto>
@@ -15785,25 +21259,41 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glInvalidateBufferData</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
         </command>
         <command>
             <proto>void <name>glInvalidateBufferSubData</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
             <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>length</name></param>
         </command>
         <command>
             <proto>void <name>glInvalidateFramebuffer</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLsizei</ptype> <name>numAttachments</name></param>
+            <param group="InvalidateFramebufferAttachment" len="numAttachments">const <ptype>GLenum</ptype> *<name>attachments</name></param>
+        </command>
+        <command>
+            <proto>void <name>glInvalidateNamedFramebufferData</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <param><ptype>GLsizei</ptype> <name>numAttachments</name></param>
-            <param len="numAttachments">const <ptype>GLenum</ptype> *<name>attachments</name></param>
+            <param group="FramebufferAttachment">const <ptype>GLenum</ptype> *<name>attachments</name></param>
+        </command>
+        <command>
+            <proto>void <name>glInvalidateNamedFramebufferSubData</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param><ptype>GLsizei</ptype> <name>numAttachments</name></param>
+            <param group="FramebufferAttachment">const <ptype>GLenum</ptype> *<name>attachments</name></param>
+            <param><ptype>GLint</ptype> <name>x</name></param>
+            <param><ptype>GLint</ptype> <name>y</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
         </command>
         <command>
             <proto>void <name>glInvalidateSubFramebuffer</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>numAttachments</name></param>
-            <param len="numAttachments">const <ptype>GLenum</ptype> *<name>attachments</name></param>
+            <param len="numAttachments" group="InvalidateFramebufferAttachment">const <ptype>GLenum</ptype> *<name>attachments</name></param>
             <param><ptype>GLint</ptype> <name>x</name></param>
             <param><ptype>GLint</ptype> <name>y</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
@@ -15811,12 +21301,12 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glInvalidateTexImage</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
         </command>
         <command>
             <proto>void <name>glInvalidateTexSubImage</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <param><ptype>GLint</ptype> <name>xoffset</name></param>
             <param><ptype>GLint</ptype> <name>yoffset</name></param>
@@ -15831,17 +21321,21 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsBuffer</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsBufferARB</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <alias name="glIsBuffer"/>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsBufferResidentNV</name></proto>
             <param><ptype>GLenum</ptype> <name>target</name></param>
         </command>
+        <command>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsCommandListNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>list</name></param>
+        </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsEnabled</name></proto>
             <param group="EnableCap"><ptype>GLenum</ptype> <name>cap</name></param>
@@ -15849,14 +21343,33 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsEnabledIndexedEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="EnableCap"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <alias name="glIsEnabledi"/>
+            <glx type="single" opcode="212"/>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsEnabledi</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="EnableCap"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+        </command>
+        <command>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsEnablediEXT</name></proto>
+            <param group="EnableCap"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <alias name="glIsEnabledi"/>
+        </command>
+        <command>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsEnablediNV</name></proto>
+            <param group="EnableCap"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <alias name="glIsEnabledi"/>
+        </command>
+        <command>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsEnablediOES</name></proto>
+            <param group="EnableCap"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
+            <alias name="glIsEnabledi"/>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsFenceAPPLE</name></proto>
@@ -15869,21 +21382,21 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsFramebuffer</name></proto>
-            <param><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <glx type="vendor" opcode="1425"/>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsFramebufferEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <alias name="glIsFramebuffer"/>
             <glx type="vendor" opcode="1425"/>
         </command>
         <command>
-            <proto><ptype>GLboolean</ptype> <name>glIsFramebufferOES</name></proto>
-            <param><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsFramebufferOES</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
         </command>
         <command>
-            <proto><ptype>GLboolean</ptype> <name>glIsImageHandleResidentARB</name></proto>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsImageHandleResidentARB</name></proto>
             <param><ptype>GLuint64</ptype> <name>handle</name></param>
         </command>
         <command>
@@ -15892,9 +21405,13 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsList</name></proto>
-            <param group="List"><ptype>GLuint</ptype> <name>list</name></param>
+            <param class="display list" group="List"><ptype>GLuint</ptype> <name>list</name></param>
             <glx type="single" opcode="141"/>
         </command>
+        <command>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsMemoryObjectEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>memoryObject</name></param>
+        </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsNameAMD</name></proto>
             <param><ptype>GLenum</ptype> <name>identifier</name></param>
@@ -15902,7 +21419,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsNamedBufferResidentNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsNamedStringARB</name></proto>
@@ -15911,7 +21428,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsObjectBufferATI</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsOcclusionQueryNV</name></proto>
@@ -15936,86 +21453,95 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsProgram</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <glx type="single" opcode="197"/>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsProgramARB</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <glx type="vendor" opcode="1304"/>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsProgramNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>id</name></param>
             <alias name="glIsProgramARB"/>
             <glx type="vendor" opcode="1304"/>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsProgramPipeline</name></proto>
-            <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+            <param class="program pipeline"><ptype>GLuint</ptype> <name>pipeline</name></param>
         </command>
         <command>
-            <proto><ptype>GLboolean</ptype> <name>glIsProgramPipelineEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsProgramPipelineEXT</name></proto>
+            <param class="program pipeline"><ptype>GLuint</ptype> <name>pipeline</name></param>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsQuery</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
             <glx type="single" opcode="163"/>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsQueryARB</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
             <alias name="glIsQuery"/>
         </command>
         <command>
-            <proto><ptype>GLboolean</ptype> <name>glIsQueryEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsQueryEXT</name></proto>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsRenderbuffer</name></proto>
-            <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param class="renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
             <glx type="vendor" opcode="1422"/>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsRenderbufferEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param class="renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
             <alias name="glIsRenderbuffer"/>
             <glx type="vendor" opcode="1422"/>
         </command>
         <command>
-            <proto><ptype>GLboolean</ptype> <name>glIsRenderbufferOES</name></proto>
-            <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsRenderbufferOES</name></proto>
+            <param class="renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+        </command>
+        <command>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsSemaphoreEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>semaphore</name></param>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsSampler</name></proto>
-            <param><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsShader</name></proto>
-            <param><ptype>GLuint</ptype> <name>shader</name></param>
+            <param class="shader"><ptype>GLuint</ptype> <name>shader</name></param>
             <glx type="single" opcode="196"/>
         </command>
+        <command>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsStateNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>state</name></param>
+        </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsSync</name></proto>
-            <param group="sync"><ptype>GLsync</ptype> <name>sync</name></param>
+            <param class="sync" group="sync"><ptype>GLsync</ptype> <name>sync</name></param>
         </command>
         <command>
-            <proto><ptype>GLboolean</ptype> <name>glIsSyncAPPLE</name></proto>
-            <param><ptype>GLsync</ptype> <name>sync</name></param>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsSyncAPPLE</name></proto>
+            <param class="sync"><ptype>GLsync</ptype> <name>sync</name></param>
+            <alias name="glIsSync"/>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsTexture</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <glx type="single" opcode="146"/>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsTextureEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <glx type="vendor" opcode="14"/>
         </command>
         <command>
-            <proto><ptype>GLboolean</ptype> <name>glIsTextureHandleResidentARB</name></proto>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsTextureHandleResidentARB</name></proto>
             <param><ptype>GLuint64</ptype> <name>handle</name></param>
         </command>
         <command>
@@ -16024,11 +21550,11 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsTransformFeedback</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="transform feedback"><ptype>GLuint</ptype> <name>id</name></param>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsTransformFeedbackNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="transform feedback"><ptype>GLuint</ptype> <name>id</name></param>
             <alias name="glIsTransformFeedback"/>
         </command>
         <command>
@@ -16038,23 +21564,55 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsVertexArray</name></proto>
-            <param><ptype>GLuint</ptype> <name>array</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>array</name></param>
             <glx type="single" opcode="207"/>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsVertexArrayAPPLE</name></proto>
-            <param><ptype>GLuint</ptype> <name>array</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>array</name></param>
             <alias name="glIsVertexArray"/>
         </command>
         <command>
-            <proto><ptype>GLboolean</ptype> <name>glIsVertexArrayOES</name></proto>
-            <param><ptype>GLuint</ptype> <name>array</name></param>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsVertexArrayOES</name></proto>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>array</name></param>
+            <alias name="glIsVertexArray"/>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsVertexAttribEnabledAPPLE</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLenum</ptype> <name>pname</name></param>
         </command>
+        <command>
+            <proto>void <name>glLGPUCopyImageSubDataNVX</name></proto>
+            <param><ptype>GLuint</ptype> <name>sourceGpu</name></param>
+            <param><ptype>GLbitfield</ptype> <name>destinationGpuMask</name></param>
+            <param><ptype>GLuint</ptype> <name>srcName</name></param>
+            <param><ptype>GLenum</ptype> <name>srcTarget</name></param>
+            <param><ptype>GLint</ptype> <name>srcLevel</name></param>
+            <param><ptype>GLint</ptype> <name>srcX</name></param>
+            <param><ptype>GLint</ptype> <name>srxY</name></param>
+            <param><ptype>GLint</ptype> <name>srcZ</name></param>
+            <param><ptype>GLuint</ptype> <name>dstName</name></param>
+            <param><ptype>GLenum</ptype> <name>dstTarget</name></param>
+            <param><ptype>GLint</ptype> <name>dstLevel</name></param>
+            <param><ptype>GLint</ptype> <name>dstX</name></param>
+            <param><ptype>GLint</ptype> <name>dstY</name></param>
+            <param><ptype>GLint</ptype> <name>dstZ</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLsizei</ptype> <name>depth</name></param>
+        </command>
+        <command>
+            <proto>void <name>glLGPUInterlockNVX</name></proto>
+        </command>
+        <command>
+            <proto>void <name>glLGPUNamedBufferSubDataNVX</name></proto>
+            <param><ptype>GLbitfield</ptype> <name>gpuMask</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <param>const void *<name>data</name></param>
+        </command>
         <command>
             <proto>void <name>glLabelObjectEXT</name></proto>
             <param><ptype>GLenum</ptype> <name>type</name></param>
@@ -16093,22 +21651,22 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glLightModelx</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="LightModelParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glLightModelxOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="LightModelParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glLightModelxv</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param>const <ptype>GLfixed</ptype> *<name>param</name></param>
+            <param group="LightModelParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>param</name></param>
         </command>
         <command>
             <proto>void <name>glLightModelxvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="LightModelParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>param</name></param>
         </command>
         <command>
@@ -16141,26 +21699,26 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glLightx</name></proto>
-            <param><ptype>GLenum</ptype> <name>light</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="LightName"><ptype>GLenum</ptype> <name>light</name></param>
+            <param group="LightParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glLightxOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>light</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="LightName"><ptype>GLenum</ptype> <name>light</name></param>
+            <param group="LightParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glLightxv</name></proto>
-            <param><ptype>GLenum</ptype> <name>light</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param>const <ptype>GLfixed</ptype> *<name>params</name></param>
+            <param group="LightName"><ptype>GLenum</ptype> <name>light</name></param>
+            <param group="LightParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glLightxvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>light</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="LightName"><ptype>GLenum</ptype> <name>light</name></param>
+            <param group="LightParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
@@ -16184,7 +21742,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glLinkProgram</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
         </command>
         <command>
             <proto>void <name>glLinkProgramARB</name></proto>
@@ -16196,6 +21754,16 @@ typedef unsigned int GLhandleARB;
             <param group="List"><ptype>GLuint</ptype> <name>base</name></param>
             <glx type="render" opcode="3"/>
         </command>
+        <command>
+            <proto>void <name>glListDrawCommandsStatesClientNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>list</name></param>
+            <param><ptype>GLuint</ptype> <name>segment</name></param>
+            <param len="count">const void **<name>indirects</name></param>
+            <param len="count">const <ptype>GLsizei</ptype> *<name>sizes</name></param>
+            <param len="count">const <ptype>GLuint</ptype> *<name>states</name></param>
+            <param len="count">const <ptype>GLuint</ptype> *<name>fbos</name></param>
+            <param><ptype>GLuint</ptype> <name>count</name></param>
+        </command>
         <command>
             <proto>void <name>glListParameterfSGIX</name></proto>
             <param group="List"><ptype>GLuint</ptype> <name>list</name></param>
@@ -16245,7 +21813,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glLoadMatrixx</name></proto>
-            <param>const <ptype>GLfixed</ptype> *<name>m</name></param>
+            <param len="16">const <ptype>GLfixed</ptype> *<name>m</name></param>
         </command>
         <command>
             <proto>void <name>glLoadMatrixxOES</name></proto>
@@ -16328,11 +21896,11 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glMakeNamedBufferNonResidentNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
         </command>
         <command>
             <proto>void <name>glMakeNamedBufferResidentNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param><ptype>GLenum</ptype> <name>access</name></param>
         </command>
         <command>
@@ -16373,7 +21941,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glMap1xOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="MapTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLfixed</ptype> <name>u1</name></param>
             <param><ptype>GLfixed</ptype> <name>u2</name></param>
             <param><ptype>GLint</ptype> <name>stride</name></param>
@@ -16410,7 +21978,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glMap2xOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="MapTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLfixed</ptype> <name>u1</name></param>
             <param><ptype>GLfixed</ptype> <name>u2</name></param>
             <param><ptype>GLint</ptype> <name>ustride</name></param>
@@ -16434,23 +22002,25 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void *<name>glMapBufferOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>access</name></param>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="BufferAccessARB"><ptype>GLenum</ptype> <name>access</name></param>
+            <alias name="glMapBuffer"/>
         </command>
         <command>
             <proto>void *<name>glMapBufferRange</name></proto>
             <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
             <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>length</name></param>
-            <param group="BufferAccessMask"><ptype>GLbitfield</ptype> <name>access</name></param>
+            <param group="MapBufferAccessMask"><ptype>GLbitfield</ptype> <name>access</name></param>
             <glx type="single" opcode="205"/>
         </command>
         <command>
             <proto>void *<name>glMapBufferRangeEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLintptr</ptype> <name>offset</name></param>
             <param><ptype>GLsizeiptr</ptype> <name>length</name></param>
-            <param><ptype>GLbitfield</ptype> <name>access</name></param>
+            <param group="MapBufferAccessMask"><ptype>GLbitfield</ptype> <name>access</name></param>
+            <alias name="glMapBufferRange"/>
         </command>
         <command>
             <proto>void <name>glMapControlPointsNV</name></proto>
@@ -16462,7 +22032,7 @@ typedef unsigned int GLhandleARB;
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>uorder</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>vorder</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>packed</name></param>
-            <param len="COMPSIZE(target,uorder,vorder)">const <ptype>GLvoid</ptype> *<name>points</name></param>
+            <param len="COMPSIZE(target,uorder,vorder)">const void *<name>points</name></param>
         </command>
         <command>
             <proto>void <name>glMapGrid1d</name></proto>
@@ -16512,21 +22082,33 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLfixed</ptype> <name>v1</name></param>
             <param><ptype>GLfixed</ptype> <name>v2</name></param>
         </command>
+        <command>
+            <proto>void *<name>glMapNamedBuffer</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferAccessARB"><ptype>GLenum</ptype> <name>access</name></param>
+        </command>
         <command>
             <proto>void *<name>glMapNamedBufferEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
-            <param group="VertexBufferObjectAccess"><ptype>GLenum</ptype> <name>access</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferAccessARB"><ptype>GLenum</ptype> <name>access</name></param>
+        </command>
+        <command>
+            <proto>void *<name>glMapNamedBufferRange</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>length</name></param>
+            <param group="MapBufferAccessMask"><ptype>GLbitfield</ptype> <name>access</name></param>
         </command>
         <command>
             <proto>void *<name>glMapNamedBufferRangeEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param><ptype>GLintptr</ptype> <name>offset</name></param>
             <param><ptype>GLsizeiptr</ptype> <name>length</name></param>
-            <param group="BufferAccessMask"><ptype>GLbitfield</ptype> <name>access</name></param>
+            <param group="MapBufferAccessMask"><ptype>GLbitfield</ptype> <name>access</name></param>
         </command>
         <command>
             <proto>void *<name>glMapObjectBufferATI</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
         </command>
         <command>
             <proto>void <name>glMapParameterfvNV</name></proto>
@@ -16542,7 +22124,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void *<name>glMapTexture2DINTEL</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <param><ptype>GLbitfield</ptype> <name>access</name></param>
             <param len="1"><ptype>GLint</ptype> *<name>stride</name></param>
@@ -16626,26 +22208,26 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glMaterialx</name></proto>
-            <param><ptype>GLenum</ptype> <name>face</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+            <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glMaterialxOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>face</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+            <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glMaterialxv</name></proto>
-            <param><ptype>GLenum</ptype> <name>face</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param>const <ptype>GLfixed</ptype> *<name>param</name></param>
+            <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+            <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>param</name></param>
         </command>
         <command>
             <proto>void <name>glMaterialxvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>face</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+            <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>param</name></param>
         </command>
         <command>
@@ -16663,14 +22245,14 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="MatrixIndexPointerTypeARB"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glMatrixIndexPointerOES</name></proto>
             <param><ptype>GLint</ptype> <name>size</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="MatrixIndexPointerTypeARB"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param>const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glMatrixIndexubvARB</name></proto>
@@ -16690,10 +22272,25 @@ typedef unsigned int GLhandleARB;
             <param len="size">const <ptype>GLushort</ptype> *<name>indices</name></param>
             <glx type="render" opcode="4327"/>
         </command>
+        <command>
+            <proto>void <name>glMatrixLoad3x2fNV</name></proto>
+            <param><ptype>GLenum</ptype> <name>matrixMode</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>m</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMatrixLoad3x3fNV</name></proto>
+            <param><ptype>GLenum</ptype> <name>matrixMode</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>m</name></param>
+        </command>
         <command>
             <proto>void <name>glMatrixLoadIdentityEXT</name></proto>
             <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
         </command>
+        <command>
+            <proto>void <name>glMatrixLoadTranspose3x3fNV</name></proto>
+            <param><ptype>GLenum</ptype> <name>matrixMode</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>m</name></param>
+        </command>
         <command>
             <proto>void <name>glMatrixLoadTransposedEXT</name></proto>
             <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
@@ -16719,6 +22316,21 @@ typedef unsigned int GLhandleARB;
             <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
             <glx type="render" opcode="179"/>
         </command>
+        <command>
+            <proto>void <name>glMatrixMult3x2fNV</name></proto>
+            <param><ptype>GLenum</ptype> <name>matrixMode</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>m</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMatrixMult3x3fNV</name></proto>
+            <param><ptype>GLenum</ptype> <name>matrixMode</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>m</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMatrixMultTranspose3x3fNV</name></proto>
+            <param><ptype>GLenum</ptype> <name>matrixMode</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>m</name></param>
+        </command>
         <command>
             <proto>void <name>glMatrixMultTransposedEXT</name></proto>
             <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
@@ -16801,15 +22413,34 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLfloat</ptype> <name>y</name></param>
             <param><ptype>GLfloat</ptype> <name>z</name></param>
         </command>
+        <command>
+            <proto>void <name>glMaxShaderCompilerThreadsKHR</name></proto>
+            <param><ptype>GLuint</ptype> <name>count</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMaxShaderCompilerThreadsARB</name></proto>
+            <param><ptype>GLuint</ptype> <name>count</name></param>
+            <alias name="glMaxShaderCompilerThreadsKHR"/>
+        </command>
         <command>
             <proto>void <name>glMemoryBarrier</name></proto>
-            <param><ptype>GLbitfield</ptype> <name>barriers</name></param>
+            <param group="MemoryBarrierMask"><ptype>GLbitfield</ptype> <name>barriers</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMemoryBarrierByRegion</name></proto>
+            <param group="MemoryBarrierMask"><ptype>GLbitfield</ptype> <name>barriers</name></param>
         </command>
         <command>
             <proto>void <name>glMemoryBarrierEXT</name></proto>
-            <param><ptype>GLbitfield</ptype> <name>barriers</name></param>
+            <param group="MemoryBarrierMask"><ptype>GLbitfield</ptype> <name>barriers</name></param>
             <alias name="glMemoryBarrier"/>
         </command>
+        <command>
+            <proto>void <name>glMemoryObjectParameterivEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>memoryObject</name></param>
+            <param group="MemoryObjectParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param>const <ptype>GLint</ptype> *<name>params</name></param>
+        </command>
         <command>
             <proto>void <name>glMinSampleShading</name></proto>
             <param group="ColorF"><ptype>GLfloat</ptype> <name>value</name></param>
@@ -16819,17 +22450,22 @@ typedef unsigned int GLhandleARB;
             <param group="ColorF"><ptype>GLfloat</ptype> <name>value</name></param>
             <alias name="glMinSampleShading"/>
         </command>
+        <command>
+            <proto>void <name>glMinSampleShadingOES</name></proto>
+            <param group="ColorF"><ptype>GLfloat</ptype> <name>value</name></param>
+            <alias name="glMinSampleShading"/>
+        </command>
         <command>
             <proto>void <name>glMinmax</name></proto>
-            <param group="MinmaxTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="MinmaxTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>sink</name></param>
             <glx type="render" opcode="4111"/>
         </command>
         <command>
             <proto>void <name>glMinmaxEXT</name></proto>
             <param group="MinmaxTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>sink</name></param>
             <alias name="glMinmax"/>
             <glx type="render" opcode="4111"/>
@@ -16846,7 +22482,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glMultMatrixx</name></proto>
-            <param>const <ptype>GLfixed</ptype> *<name>m</name></param>
+            <param len="16">const <ptype>GLfixed</ptype> *<name>m</name></param>
         </command>
         <command>
             <proto>void <name>glMultMatrixxOES</name></proto>
@@ -16877,7 +22513,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glMultiDrawArrays</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
-            <param len="COMPSIZE(count)">const <ptype>GLint</ptype> *<name>first</name></param>
+            <param len="COMPSIZE(drawcount)">const <ptype>GLint</ptype> *<name>first</name></param>
             <param len="COMPSIZE(drawcount)">const <ptype>GLsizei</ptype> *<name>count</name></param>
             <param><ptype>GLsizei</ptype> <name>drawcount</name></param>
         </command>
@@ -16891,43 +22527,60 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glMultiDrawArraysIndirect</name></proto>
-            <param><ptype>GLenum</ptype> <name>mode</name></param>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
             <param len="COMPSIZE(drawcount,stride)">const void *<name>indirect</name></param>
             <param><ptype>GLsizei</ptype> <name>drawcount</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
         </command>
         <command>
             <proto>void <name>glMultiDrawArraysIndirectAMD</name></proto>
-            <param><ptype>GLenum</ptype> <name>mode</name></param>
-            <param>const <ptype>GLvoid</ptype> *<name>indirect</name></param>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param>const void *<name>indirect</name></param>
             <param><ptype>GLsizei</ptype> <name>primcount</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
             <alias name="glMultiDrawArraysIndirect"/>
         </command>
         <command>
-            <proto>void <name>glMultiDrawArraysIndirectBindlessNV</name></proto>
-            <param><ptype>GLenum</ptype> <name>mode</name></param>
-            <param>const <ptype>GLvoid</ptype> *<name>indirect</name></param>
+            <proto>void <name>glMultiDrawArraysIndirectBindlessCountNV</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param>const void *<name>indirect</name></param>
             <param><ptype>GLsizei</ptype> <name>drawCount</name></param>
+            <param><ptype>GLsizei</ptype> <name>maxDrawCount</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
             <param><ptype>GLint</ptype> <name>vertexBufferCount</name></param>
         </command>
         <command>
-            <proto>void <name>glMultiDrawElementsIndirectBindlessNV</name></proto>
-            <param><ptype>GLenum</ptype> <name>mode</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
-            <param>const <ptype>GLvoid</ptype> *<name>indirect</name></param>
+            <proto>void <name>glMultiDrawArraysIndirectBindlessNV</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param>const void *<name>indirect</name></param>
             <param><ptype>GLsizei</ptype> <name>drawCount</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
             <param><ptype>GLint</ptype> <name>vertexBufferCount</name></param>
         </command>
+        <command>
+            <proto>void <name>glMultiDrawArraysIndirectCount</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param>const void *<name>indirect</name></param>
+            <param><ptype>GLintptr</ptype> <name>drawcount</name></param>
+            <param><ptype>GLsizei</ptype> <name>maxdrawcount</name></param>
+            <param><ptype>GLsizei</ptype> <name>stride</name></param>
+        </command>
         <command>
             <proto>void <name>glMultiDrawArraysIndirectCountARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>mode</name></param>
-            <param><ptype>GLintptr</ptype> <name>indirect</name></param>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param>const void *<name>indirect</name></param>
             <param><ptype>GLintptr</ptype> <name>drawcount</name></param>
             <param><ptype>GLsizei</ptype> <name>maxdrawcount</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
+            <alias name="glMultiDrawArraysIndirectCount"/>
+        </command>
+        <command>
+            <proto>void <name>glMultiDrawArraysIndirectEXT</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param len="COMPSIZE(drawcount,stride)">const void *<name>indirect</name></param>
+            <param><ptype>GLsizei</ptype> <name>drawcount</name></param>
+            <param><ptype>GLsizei</ptype> <name>stride</name></param>
+            <alias name="glMultiDrawArraysIndirect"/>
         </command>
         <command>
             <proto>void <name>glMultiDrawElementArrayAPPLE</name></proto>
@@ -16941,48 +22594,109 @@ typedef unsigned int GLhandleARB;
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
             <param len="COMPSIZE(drawcount)">const <ptype>GLsizei</ptype> *<name>count</name></param>
             <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(drawcount)">const <ptype>GLvoid</ptype> *const*<name>indices</name></param>
+            <param len="COMPSIZE(drawcount)">const void *const*<name>indices</name></param>
             <param><ptype>GLsizei</ptype> <name>drawcount</name></param>
         </command>
         <command>
             <proto>void <name>glMultiDrawElementsBaseVertex</name></proto>
-            <param><ptype>GLenum</ptype> <name>mode</name></param>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
             <param len="COMPSIZE(drawcount)">const <ptype>GLsizei</ptype> *<name>count</name></param>
             <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(drawcount)">const <ptype>GLvoid</ptype> *const*<name>indices</name></param>
+            <param len="COMPSIZE(drawcount)">const void *const*<name>indices</name></param>
             <param><ptype>GLsizei</ptype> <name>drawcount</name></param>
             <param len="COMPSIZE(drawcount)">const <ptype>GLint</ptype> *<name>basevertex</name></param>
         </command>
+        <command>
+            <proto>void <name>glMultiDrawElementsBaseVertexEXT</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param len="COMPSIZE(drawcount)">const <ptype>GLsizei</ptype> *<name>count</name></param>
+            <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param len="COMPSIZE(drawcount)">const void *const*<name>indices</name></param>
+            <param><ptype>GLsizei</ptype> <name>drawcount</name></param>
+            <param len="COMPSIZE(drawcount)">const <ptype>GLint</ptype> *<name>basevertex</name></param>
+            <alias name="glMultiDrawElementsBaseVertex"/>
+        </command>
         <command>
             <proto>void <name>glMultiDrawElementsEXT</name></proto>
             <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
             <param len="COMPSIZE(primcount)">const <ptype>GLsizei</ptype> *<name>count</name></param>
             <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(primcount)">const <ptype>GLvoid</ptype> *const*<name>indices</name></param>
+            <param len="COMPSIZE(primcount)">const void *const*<name>indices</name></param>
             <param><ptype>GLsizei</ptype> <name>primcount</name></param>
             <alias name="glMultiDrawElements"/>
         </command>
         <command>
             <proto>void <name>glMultiDrawElementsIndirect</name></proto>
-            <param><ptype>GLenum</ptype> <name>mode</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="COMPSIZE(drawcount,stride)">const void *<name>indirect</name></param>
             <param><ptype>GLsizei</ptype> <name>drawcount</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
         </command>
         <command>
             <proto>void <name>glMultiDrawElementsIndirectAMD</name></proto>
-            <param><ptype>GLenum</ptype> <name>mode</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
-            <param>const <ptype>GLvoid</ptype> *<name>indirect</name></param>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param>const void *<name>indirect</name></param>
             <param><ptype>GLsizei</ptype> <name>primcount</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
             <alias name="glMultiDrawElementsIndirect"/>
         </command>
+        <command>
+            <proto>void <name>glMultiDrawElementsIndirectBindlessCountNV</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param>const void *<name>indirect</name></param>
+            <param><ptype>GLsizei</ptype> <name>drawCount</name></param>
+            <param><ptype>GLsizei</ptype> <name>maxDrawCount</name></param>
+            <param><ptype>GLsizei</ptype> <name>stride</name></param>
+            <param><ptype>GLint</ptype> <name>vertexBufferCount</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiDrawElementsIndirectBindlessNV</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param>const void *<name>indirect</name></param>
+            <param><ptype>GLsizei</ptype> <name>drawCount</name></param>
+            <param><ptype>GLsizei</ptype> <name>stride</name></param>
+            <param><ptype>GLint</ptype> <name>vertexBufferCount</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiDrawElementsIndirectCount</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param>const void *<name>indirect</name></param>
+            <param><ptype>GLintptr</ptype> <name>drawcount</name></param>
+            <param><ptype>GLsizei</ptype> <name>maxdrawcount</name></param>
+            <param><ptype>GLsizei</ptype> <name>stride</name></param>
+        </command>
         <command>
             <proto>void <name>glMultiDrawElementsIndirectCountARB</name></proto>
-            <param><ptype>GLenum</ptype> <name>mode</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param>const void *<name>indirect</name></param>
+            <param><ptype>GLintptr</ptype> <name>drawcount</name></param>
+            <param><ptype>GLsizei</ptype> <name>maxdrawcount</name></param>
+            <param><ptype>GLsizei</ptype> <name>stride</name></param>
+            <alias name="glMultiDrawElementsIndirectCount"/>
+        </command>
+        <command>
+            <proto>void <name>glMultiDrawElementsIndirectEXT</name></proto>
+            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param len="COMPSIZE(drawcount,stride)">const void *<name>indirect</name></param>
+            <param><ptype>GLsizei</ptype> <name>drawcount</name></param>
+            <param><ptype>GLsizei</ptype> <name>stride</name></param>
+            <alias name="glMultiDrawElementsIndirect"/>
+        </command>
+        <command>
+            <proto>void <name>glMultiDrawMeshTasksIndirectNV</name></proto>
+            <param><ptype>GLintptr</ptype> <name>indirect</name></param>
+            <param><ptype>GLsizei</ptype> <name>drawcount</name></param>
+            <param><ptype>GLsizei</ptype> <name>stride</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiDrawMeshTasksIndirectCountNV</name></proto>
             <param><ptype>GLintptr</ptype> <name>indirect</name></param>
             <param><ptype>GLintptr</ptype> <name>drawcount</name></param>
             <param><ptype>GLsizei</ptype> <name>maxdrawcount</name></param>
@@ -17010,7 +22724,7 @@ typedef unsigned int GLhandleARB;
             <param group="PrimitiveType" len="COMPSIZE(primcount)">const <ptype>GLenum</ptype> *<name>mode</name></param>
             <param len="COMPSIZE(primcount)">const <ptype>GLsizei</ptype> *<name>count</name></param>
             <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(primcount)">const <ptype>GLvoid</ptype> *const*<name>indices</name></param>
+            <param len="COMPSIZE(primcount)">const void *const*<name>indices</name></param>
             <param><ptype>GLsizei</ptype> <name>primcount</name></param>
             <param><ptype>GLint</ptype> <name>modestride</name></param>
         </command>
@@ -17018,17 +22732,17 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glMultiTexBufferEXT</name></proto>
             <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="TypeEnum"><ptype>GLenum</ptype> <name>internalformat</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexCoord1bOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
             <param><ptype>GLbyte</ptype> <name>s</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexCoord1bvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
             <param len="1">const <ptype>GLbyte</ptype> *<name>coords</name></param>
         </command>
         <command>
@@ -17149,23 +22863,23 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glMultiTexCoord1xOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
             <param><ptype>GLfixed</ptype> <name>s</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexCoord1xvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
             <param len="1">const <ptype>GLfixed</ptype> *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexCoord2bOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
             <param><ptype>GLbyte</ptype> <name>s</name></param>
             <param><ptype>GLbyte</ptype> <name>t</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexCoord2bvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
             <param len="2">const <ptype>GLbyte</ptype> *<name>coords</name></param>
         </command>
         <command>
@@ -17295,25 +23009,25 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glMultiTexCoord2xOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
             <param><ptype>GLfixed</ptype> <name>s</name></param>
             <param><ptype>GLfixed</ptype> <name>t</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexCoord2xvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
             <param len="2">const <ptype>GLfixed</ptype> *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexCoord3bOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
             <param><ptype>GLbyte</ptype> <name>s</name></param>
             <param><ptype>GLbyte</ptype> <name>t</name></param>
             <param><ptype>GLbyte</ptype> <name>r</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexCoord3bvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
             <param len="3">const <ptype>GLbyte</ptype> *<name>coords</name></param>
         </command>
         <command>
@@ -17452,19 +23166,19 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glMultiTexCoord3xOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
             <param><ptype>GLfixed</ptype> <name>s</name></param>
             <param><ptype>GLfixed</ptype> <name>t</name></param>
             <param><ptype>GLfixed</ptype> <name>r</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexCoord3xvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
             <param len="3">const <ptype>GLfixed</ptype> *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexCoord4bOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
             <param><ptype>GLbyte</ptype> <name>s</name></param>
             <param><ptype>GLbyte</ptype> <name>t</name></param>
             <param><ptype>GLbyte</ptype> <name>r</name></param>
@@ -17472,7 +23186,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glMultiTexCoord4bvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
             <param len="4">const <ptype>GLbyte</ptype> *<name>coords</name></param>
         </command>
         <command>
@@ -17620,7 +23334,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glMultiTexCoord4x</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
             <param><ptype>GLfixed</ptype> <name>s</name></param>
             <param><ptype>GLfixed</ptype> <name>t</name></param>
             <param><ptype>GLfixed</ptype> <name>r</name></param>
@@ -17628,7 +23342,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glMultiTexCoord4xOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
             <param><ptype>GLfixed</ptype> <name>s</name></param>
             <param><ptype>GLfixed</ptype> <name>t</name></param>
             <param><ptype>GLfixed</ptype> <name>r</name></param>
@@ -17636,55 +23350,55 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glMultiTexCoord4xvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
             <param len="4">const <ptype>GLfixed</ptype> *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexCoordP1ui</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexCoordP1uiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexCoordP2ui</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexCoordP2uiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexCoordP3ui</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexCoordP3uiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexCoordP4ui</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexCoordP4uiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>texture</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
+            <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>coords</name></param>
         </command>
         <command>
@@ -17693,7 +23407,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(size,type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexEnvfEXT</name></proto>
@@ -17775,39 +23489,39 @@ typedef unsigned int GLhandleARB;
             <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureComponentCount"><ptype>GLint</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLint</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width)">const void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexImage2DEXT</name></proto>
             <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureComponentCount"><ptype>GLint</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLint</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height)">const void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexImage3DEXT</name></proto>
             <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureComponentCount"><ptype>GLint</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLint</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height,depth)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexParameterIivEXT</name></proto>
@@ -17857,7 +23571,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glMultiTexRenderbufferEXT</name></proto>
             <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param class="renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexSubImage1DEXT</name></proto>
@@ -17868,7 +23582,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width)">const void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexSubImage2DEXT</name></proto>
@@ -17881,7 +23595,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height)">const void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glMultiTexSubImage3DEXT</name></proto>
@@ -17896,101 +23610,351 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height,depth)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMulticastBarrierNV</name></proto>
+        </command>
+        <command>
+            <proto>void <name>glMulticastBlitFramebufferNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>srcGpu</name></param>
+            <param><ptype>GLuint</ptype> <name>dstGpu</name></param>
+            <param><ptype>GLint</ptype> <name>srcX0</name></param>
+            <param><ptype>GLint</ptype> <name>srcY0</name></param>
+            <param><ptype>GLint</ptype> <name>srcX1</name></param>
+            <param><ptype>GLint</ptype> <name>srcY1</name></param>
+            <param><ptype>GLint</ptype> <name>dstX0</name></param>
+            <param><ptype>GLint</ptype> <name>dstY0</name></param>
+            <param><ptype>GLint</ptype> <name>dstX1</name></param>
+            <param><ptype>GLint</ptype> <name>dstY1</name></param>
+            <param group="ClearBufferMask"><ptype>GLbitfield</ptype> <name>mask</name></param>
+            <param><ptype>GLenum</ptype> <name>filter</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMulticastBufferSubDataNV</name></proto>
+            <param><ptype>GLbitfield</ptype> <name>gpuMask</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <param>const void *<name>data</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMulticastCopyBufferSubDataNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>readGpu</name></param>
+            <param><ptype>GLbitfield</ptype> <name>writeGpuMask</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>readBuffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>writeBuffer</name></param>
+            <param><ptype>GLintptr</ptype> <name>readOffset</name></param>
+            <param><ptype>GLintptr</ptype> <name>writeOffset</name></param>
+            <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMulticastCopyImageSubDataNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>srcGpu</name></param>
+            <param><ptype>GLbitfield</ptype> <name>dstGpuMask</name></param>
+            <param><ptype>GLuint</ptype> <name>srcName</name></param>
+            <param><ptype>GLenum</ptype> <name>srcTarget</name></param>
+            <param><ptype>GLint</ptype> <name>srcLevel</name></param>
+            <param><ptype>GLint</ptype> <name>srcX</name></param>
+            <param><ptype>GLint</ptype> <name>srcY</name></param>
+            <param><ptype>GLint</ptype> <name>srcZ</name></param>
+            <param><ptype>GLuint</ptype> <name>dstName</name></param>
+            <param><ptype>GLenum</ptype> <name>dstTarget</name></param>
+            <param><ptype>GLint</ptype> <name>dstLevel</name></param>
+            <param><ptype>GLint</ptype> <name>dstX</name></param>
+            <param><ptype>GLint</ptype> <name>dstY</name></param>
+            <param><ptype>GLint</ptype> <name>dstZ</name></param>
+            <param><ptype>GLsizei</ptype> <name>srcWidth</name></param>
+            <param><ptype>GLsizei</ptype> <name>srcHeight</name></param>
+            <param><ptype>GLsizei</ptype> <name>srcDepth</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMulticastFramebufferSampleLocationsfvNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>gpu</name></param>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param><ptype>GLuint</ptype> <name>start</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMulticastGetQueryObjecti64vNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>gpu</name></param>
+            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint64</ptype> *<name>params</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMulticastGetQueryObjectivNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>gpu</name></param>
+            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> *<name>params</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMulticastGetQueryObjectui64vNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>gpu</name></param>
+            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLuint64</ptype> *<name>params</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMulticastGetQueryObjectuivNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>gpu</name></param>
+            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLuint</ptype> *<name>params</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMulticastScissorArrayvNVX</name></proto>
+            <param><ptype>GLuint</ptype> <name>gpu</name></param>
+            <param><ptype>GLuint</ptype> <name>first</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="COMPSIZE(count)">const <ptype>GLint</ptype> *<name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMulticastViewportArrayvNVX</name></proto>
+            <param><ptype>GLuint</ptype> <name>gpu</name></param>
+            <param><ptype>GLuint</ptype> <name>first</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="COMPSIZE(count)">const <ptype>GLfloat</ptype> *<name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMulticastViewportPositionWScaleNVX</name></proto>
+            <param><ptype>GLuint</ptype> <name>gpu</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param><ptype>GLfloat</ptype> <name>xcoeff</name></param>
+            <param><ptype>GLfloat</ptype> <name>ycoeff</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMulticastWaitSyncNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>signalGpu</name></param>
+            <param><ptype>GLbitfield</ptype> <name>waitGpuMask</name></param>
+        </command>
+        <command>
+            <proto>void <name>glNamedBufferAttachMemoryNV</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>offset</name></param>
+        </command>
+        <command>
+            <proto>void <name>glNamedBufferData</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <param>const void *<name>data</name></param>
+            <param group="VertexBufferObjectUsage"><ptype>GLenum</ptype> <name>usage</name></param>
         </command>
         <command>
             <proto>void <name>glNamedBufferDataEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
-            <param len="COMPSIZE(size)">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param len="COMPSIZE(size)">const void *<name>data</name></param>
             <param group="VertexBufferObjectUsage"><ptype>GLenum</ptype> <name>usage</name></param>
         </command>
         <command>
-            <proto>void <name>glNamedBufferStorageEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <proto>void <name>glNamedBufferPageCommitmentARB</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
             <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
-            <param>const void *<name>data</name></param>
-            <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>commit</name></param>
         </command>
         <command>
-            <proto>void <name>glNamedBufferSubDataEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <proto>void <name>glNamedBufferPageCommitmentEXT</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>commit</name></param>
+        </command>
+        <command>
+            <proto>void <name>glNamedBufferPageCommitmentMemNV</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param><ptype>GLintptr</ptype> <name>offset</name></param>
             <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
-            <param len="COMPSIZE(size)">const <ptype>GLvoid</ptype> *<name>data</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>memOffset</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>commit</name></param>
+        </command>
+        <command>
+            <proto>void <name>glNamedBufferStorage</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <param len="size">const void *<name>data</name></param>
+            <param group="BufferStorageMask"><ptype>GLbitfield</ptype> <name>flags</name></param>
+        </command>
+        <command>
+            <proto>void <name>glNamedBufferStorageExternalEXT</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <param><ptype>GLeglClientBufferEXT</ptype> <name>clientBuffer</name></param>
+            <param group="BufferStorageMask"><ptype>GLbitfield</ptype> <name>flags</name></param>
+        </command>
+        <command>
+            <proto>void <name>glNamedBufferStorageEXT</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <param len="size">const void *<name>data</name></param>
+            <param group="BufferStorageMask"><ptype>GLbitfield</ptype> <name>flags</name></param>
+            <alias name="glNamedBufferStorage"/>
+        </command>
+        <command>
+            <proto>void <name>glNamedBufferStorageMemEXT</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>offset</name></param>
+        </command>
+        <command>
+            <proto>void <name>glNamedBufferSubData</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <param len="COMPSIZE(size)">const void *<name>data</name></param>
+        </command>
+        <command>
+            <proto>void <name>glNamedBufferSubDataEXT</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <param len="COMPSIZE(size)">const void *<name>data</name></param>
+            <alias name="glNamedBufferSubData"/>
         </command>
         <command>
             <proto>void <name>glNamedCopyBufferSubDataEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>readBuffer</name></param>
-            <param><ptype>GLuint</ptype> <name>writeBuffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>readBuffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>writeBuffer</name></param>
             <param><ptype>GLintptr</ptype> <name>readOffset</name></param>
             <param><ptype>GLintptr</ptype> <name>writeOffset</name></param>
             <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
         </command>
+        <command>
+            <proto>void <name>glNamedFramebufferDrawBuffer</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param group="ColorBuffer"><ptype>GLenum</ptype> <name>buf</name></param>
+        </command>
+        <command>
+            <proto>void <name>glNamedFramebufferDrawBuffers</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param><ptype>GLsizei</ptype> <name>n</name></param>
+            <param group="ColorBuffer">const <ptype>GLenum</ptype> *<name>bufs</name></param>
+        </command>
+        <command>
+            <proto>void <name>glNamedFramebufferParameteri</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param group="FramebufferParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> <name>param</name></param>
+        </command>
         <command>
             <proto>void <name>glNamedFramebufferParameteriEXT</name></proto>
-            <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param class="framebuffer" group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <param group="FramebufferParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLint</ptype> <name>param</name></param>
         </command>
+        <command>
+            <proto>void <name>glNamedFramebufferReadBuffer</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param group="ColorBuffer"><ptype>GLenum</ptype> <name>src</name></param>
+        </command>
+        <command>
+            <proto>void <name>glNamedFramebufferRenderbuffer</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+            <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>renderbuffertarget</name></param>
+            <param class="renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+        </command>
         <command>
             <proto>void <name>glNamedFramebufferRenderbufferEXT</name></proto>
-            <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param class="framebuffer" group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
             <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>renderbuffertarget</name></param>
-            <param group="Renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param class="renderbuffer" group="Renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+        </command>
+        <command>
+            <proto>void <name>glNamedFramebufferSampleLocationsfvARB</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param><ptype>GLuint</ptype> <name>start</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glNamedFramebufferSampleLocationsfvNV</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param><ptype>GLuint</ptype> <name>start</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glNamedFramebufferTexture</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+        </command>
+        <command>
+            <proto>void <name>glNamedFramebufferSamplePositionsfvAMD</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param><ptype>GLuint</ptype> <name>numsamples</name></param>
+            <param><ptype>GLuint</ptype> <name>pixelindex</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>values</name></param>
         </command>
         <command>
             <proto>void <name>glNamedFramebufferTexture1DEXT</name></proto>
-            <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param class="framebuffer" group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>textarget</name></param>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
         </command>
         <command>
             <proto>void <name>glNamedFramebufferTexture2DEXT</name></proto>
-            <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param class="framebuffer" group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>textarget</name></param>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
         </command>
         <command>
             <proto>void <name>glNamedFramebufferTexture3DEXT</name></proto>
-            <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param class="framebuffer" group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>textarget</name></param>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>zoffset</name></param>
         </command>
         <command>
             <proto>void <name>glNamedFramebufferTextureEXT</name></proto>
-            <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param class="framebuffer" group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
         </command>
         <command>
             <proto>void <name>glNamedFramebufferTextureFaceEXT</name></proto>
-            <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param class="framebuffer" group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>face</name></param>
         </command>
+        <command>
+            <proto>void <name>glNamedFramebufferTextureLayer</name></proto>
+            <param class="framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLint</ptype> <name>layer</name></param>
+        </command>
         <command>
             <proto>void <name>glNamedFramebufferTextureLayerEXT</name></proto>
-            <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+            <param class="framebuffer" group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
             <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>layer</name></param>
         </command>
         <command>
             <proto>void <name>glNamedProgramLocalParameter4dEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLdouble</ptype> <name>x</name></param>
@@ -18001,14 +23965,14 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glNamedProgramLocalParameter4dvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="4">const <ptype>GLdouble</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glNamedProgramLocalParameter4fEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLfloat</ptype> <name>x</name></param>
@@ -18019,14 +23983,14 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glNamedProgramLocalParameter4fvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="4">const <ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glNamedProgramLocalParameterI4iEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLint</ptype> <name>x</name></param>
@@ -18037,14 +24001,14 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glNamedProgramLocalParameterI4ivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="4">const <ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glNamedProgramLocalParameterI4uiEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLuint</ptype> <name>x</name></param>
@@ -18055,14 +24019,14 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glNamedProgramLocalParameterI4uivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="4">const <ptype>GLuint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glNamedProgramLocalParameters4fvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
@@ -18070,7 +24034,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glNamedProgramLocalParametersI4ivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
@@ -18078,7 +24042,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glNamedProgramLocalParametersI4uivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
@@ -18086,33 +24050,57 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glNamedProgramStringEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="ProgramFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param><ptype>GLsizei</ptype> <name>len</name></param>
-            <param len="len">const <ptype>GLvoid</ptype> *<name>string</name></param>
+            <param len="len">const void *<name>string</name></param>
+        </command>
+        <command>
+            <proto>void <name>glNamedRenderbufferStorage</name></proto>
+            <param class="renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
         </command>
         <command>
             <proto>void <name>glNamedRenderbufferStorageEXT</name></proto>
-            <param group="Renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param class="renderbuffer" group="Renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+        </command>
+        <command>
+            <proto>void <name>glNamedRenderbufferStorageMultisample</name></proto>
+            <param class="renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param><ptype>GLsizei</ptype> <name>samples</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+        </command>
+        <command>
+            <proto>void <name>glNamedRenderbufferStorageMultisampleAdvancedAMD</name></proto>
+            <param class="renderbuffer" group="Renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param><ptype>GLsizei</ptype> <name>samples</name></param>
+            <param><ptype>GLsizei</ptype> <name>storageSamples</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
         </command>
         <command>
             <proto>void <name>glNamedRenderbufferStorageMultisampleCoverageEXT</name></proto>
-            <param group="Renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param class="renderbuffer" group="Renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
             <param><ptype>GLsizei</ptype> <name>coverageSamples</name></param>
             <param><ptype>GLsizei</ptype> <name>colorSamples</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
         </command>
         <command>
             <proto>void <name>glNamedRenderbufferStorageMultisampleEXT</name></proto>
-            <param group="Renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param class="renderbuffer" group="Renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
             <param><ptype>GLsizei</ptype> <name>samples</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
         </command>
@@ -18133,7 +24121,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto><ptype>GLuint</ptype> <name>glNewObjectBufferATI</name></proto>
             <param><ptype>GLsizei</ptype> <name>size</name></param>
-            <param len="size">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="size">const void *<name>pointer</name></param>
             <param group="ArrayObjectUsageATI"><ptype>GLenum</ptype> <name>usage</name></param>
         </command>
         <command>
@@ -18245,38 +24233,38 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glNormalP3ui</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="NormalPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glNormalP3uiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="NormalPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glNormalPointer</name></proto>
             <param group="NormalPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glNormalPointerEXT</name></proto>
             <param group="NormalPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="COMPSIZE(type,stride,count)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(type,stride,count)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glNormalPointerListIBM</name></proto>
             <param group="NormalPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLint</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(type,stride)">const <ptype>GLvoid</ptype> **<name>pointer</name></param>
+            <param len="COMPSIZE(type,stride)">const void **<name>pointer</name></param>
             <param><ptype>GLint</ptype> <name>ptrstride</name></param>
         </command>
         <command>
             <proto>void <name>glNormalPointervINTEL</name></proto>
             <param group="NormalPointerType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="4">const <ptype>GLvoid</ptype> **<name>pointer</name></param>
+            <param len="4">const void **<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glNormalStream3bATI</name></proto>
@@ -18340,14 +24328,14 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glObjectLabel</name></proto>
-            <param><ptype>GLenum</ptype> <name>identifier</name></param>
+            <param group="ObjectIdentifier"><ptype>GLenum</ptype> <name>identifier</name></param>
             <param><ptype>GLuint</ptype> <name>name</name></param>
             <param><ptype>GLsizei</ptype> <name>length</name></param>
             <param len="COMPSIZE(label,length)">const <ptype>GLchar</ptype> *<name>label</name></param>
         </command>
         <command>
             <proto>void <name>glObjectLabelKHR</name></proto>
-            <param><ptype>GLenum</ptype> <name>identifier</name></param>
+            <param group="ObjectIdentifier"><ptype>GLenum</ptype> <name>identifier</name></param>
             <param><ptype>GLuint</ptype> <name>name</name></param>
             <param><ptype>GLsizei</ptype> <name>length</name></param>
             <param>const <ptype>GLchar</ptype> *<name>label</name></param>
@@ -18452,14 +24440,26 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glPatchParameterfv</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="PatchParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>values</name></param>
         </command>
         <command>
             <proto>void <name>glPatchParameteri</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="PatchParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLint</ptype> <name>value</name></param>
         </command>
+        <command>
+            <proto>void <name>glPatchParameteriEXT</name></proto>
+            <param group="PatchParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> <name>value</name></param>
+            <alias name="glPatchParameteri"/>
+        </command>
+        <command>
+            <proto>void <name>glPatchParameteriOES</name></proto>
+            <param group="PatchParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> <name>value</name></param>
+            <alias name="glPatchParameteri"/>
+        </command>
         <command>
             <proto>void <name>glPathColorGenNV</name></proto>
             <param group="PathColor"><ptype>GLenum</ptype> <name>color</name></param>
@@ -18474,14 +24474,14 @@ typedef unsigned int GLhandleARB;
             <param group="PathCommand" len="numCommands">const <ptype>GLubyte</ptype> *<name>commands</name></param>
             <param><ptype>GLsizei</ptype> <name>numCoords</name></param>
             <param group="PathCoordType"><ptype>GLenum</ptype> <name>coordType</name></param>
-            <param len="COMPSIZE(numCoords,coordType)">const <ptype>GLvoid</ptype> *<name>coords</name></param>
+            <param len="COMPSIZE(numCoords,coordType)">const void *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glPathCoordsNV</name></proto>
             <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
             <param><ptype>GLsizei</ptype> <name>numCoords</name></param>
             <param group="PathCoordType"><ptype>GLenum</ptype> <name>coordType</name></param>
-            <param len="COMPSIZE(numCoords,coordType)">const <ptype>GLvoid</ptype> *<name>coords</name></param>
+            <param len="COMPSIZE(numCoords,coordType)">const void *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glPathCoverDepthFuncNV</name></proto>
@@ -18497,11 +24497,31 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glPathFogGenNV</name></proto>
             <param group="PathGenMode"><ptype>GLenum</ptype> <name>genMode</name></param>
         </command>
+        <command>
+            <proto><ptype>GLenum</ptype> <name>glPathGlyphIndexArrayNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>firstPathName</name></param>
+            <param><ptype>GLenum</ptype> <name>fontTarget</name></param>
+            <param>const void *<name>fontName</name></param>
+            <param group="PathFontStyle"><ptype>GLbitfield</ptype> <name>fontStyle</name></param>
+            <param><ptype>GLuint</ptype> <name>firstGlyphIndex</name></param>
+            <param><ptype>GLsizei</ptype> <name>numGlyphs</name></param>
+            <param><ptype>GLuint</ptype> <name>pathParameterTemplate</name></param>
+            <param><ptype>GLfloat</ptype> <name>emScale</name></param>
+        </command>
+        <command>
+            <proto><ptype>GLenum</ptype> <name>glPathGlyphIndexRangeNV</name></proto>
+            <param><ptype>GLenum</ptype> <name>fontTarget</name></param>
+            <param>const void *<name>fontName</name></param>
+            <param group="PathFontStyle"><ptype>GLbitfield</ptype> <name>fontStyle</name></param>
+            <param><ptype>GLuint</ptype> <name>pathParameterTemplate</name></param>
+            <param><ptype>GLfloat</ptype> <name>emScale</name></param>
+            <param><ptype>GLuint</ptype> <name>baseAndCount</name>[2]</param>
+        </command>
         <command>
             <proto>void <name>glPathGlyphRangeNV</name></proto>
             <param group="Path"><ptype>GLuint</ptype> <name>firstPathName</name></param>
             <param group="PathFontTarget"><ptype>GLenum</ptype> <name>fontTarget</name></param>
-            <param len="COMPSIZE(fontTarget,fontName)">const <ptype>GLvoid</ptype> *<name>fontName</name></param>
+            <param len="COMPSIZE(fontTarget,fontName)">const void *<name>fontName</name></param>
             <param group="PathFontStyle"><ptype>GLbitfield</ptype> <name>fontStyle</name></param>
             <param><ptype>GLuint</ptype> <name>firstGlyph</name></param>
             <param><ptype>GLsizei</ptype> <name>numGlyphs</name></param>
@@ -18513,15 +24533,27 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glPathGlyphsNV</name></proto>
             <param group="Path"><ptype>GLuint</ptype> <name>firstPathName</name></param>
             <param group="PathFontTarget"><ptype>GLenum</ptype> <name>fontTarget</name></param>
-            <param len="COMPSIZE(fontTarget,fontName)">const <ptype>GLvoid</ptype> *<name>fontName</name></param>
+            <param len="COMPSIZE(fontTarget,fontName)">const void *<name>fontName</name></param>
             <param group="PathFontStyle"><ptype>GLbitfield</ptype> <name>fontStyle</name></param>
             <param><ptype>GLsizei</ptype> <name>numGlyphs</name></param>
             <param group="PathElementType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(numGlyphs,type,charcodes)">const <ptype>GLvoid</ptype> *<name>charcodes</name></param>
+            <param len="COMPSIZE(numGlyphs,type,charcodes)">const void *<name>charcodes</name></param>
             <param group="PathHandleMissingGlyphs"><ptype>GLenum</ptype> <name>handleMissingGlyphs</name></param>
             <param group="Path"><ptype>GLuint</ptype> <name>pathParameterTemplate</name></param>
             <param><ptype>GLfloat</ptype> <name>emScale</name></param>
         </command>
+        <command>
+            <proto><ptype>GLenum</ptype> <name>glPathMemoryGlyphIndexArrayNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>firstPathName</name></param>
+            <param><ptype>GLenum</ptype> <name>fontTarget</name></param>
+            <param><ptype>GLsizeiptr</ptype> <name>fontSize</name></param>
+            <param>const void *<name>fontData</name></param>
+            <param><ptype>GLsizei</ptype> <name>faceIndex</name></param>
+            <param><ptype>GLuint</ptype> <name>firstGlyphIndex</name></param>
+            <param><ptype>GLsizei</ptype> <name>numGlyphs</name></param>
+            <param><ptype>GLuint</ptype> <name>pathParameterTemplate</name></param>
+            <param><ptype>GLfloat</ptype> <name>emScale</name></param>
+        </command>
         <command>
             <proto>void <name>glPathParameterfNV</name></proto>
             <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
@@ -18562,7 +24594,7 @@ typedef unsigned int GLhandleARB;
             <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
             <param group="PathStringFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param><ptype>GLsizei</ptype> <name>length</name></param>
-            <param len="length">const <ptype>GLvoid</ptype> *<name>pathString</name></param>
+            <param len="length">const void *<name>pathString</name></param>
         </command>
         <command>
             <proto>void <name>glPathSubCommandsNV</name></proto>
@@ -18573,7 +24605,7 @@ typedef unsigned int GLhandleARB;
             <param group="PathCommand" len="numCommands">const <ptype>GLubyte</ptype> *<name>commands</name></param>
             <param><ptype>GLsizei</ptype> <name>numCoords</name></param>
             <param group="PathCoordType"><ptype>GLenum</ptype> <name>coordType</name></param>
-            <param len="COMPSIZE(numCoords,coordType)">const <ptype>GLvoid</ptype> *<name>coords</name></param>
+            <param len="COMPSIZE(numCoords,coordType)">const void *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glPathSubCoordsNV</name></proto>
@@ -18581,7 +24613,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>coordStart</name></param>
             <param><ptype>GLsizei</ptype> <name>numCoords</name></param>
             <param group="PathCoordType"><ptype>GLenum</ptype> <name>coordType</name></param>
-            <param len="COMPSIZE(numCoords,coordType)">const <ptype>GLvoid</ptype> *<name>coords</name></param>
+            <param len="COMPSIZE(numCoords,coordType)">const void *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glPathTexGenNV</name></proto>
@@ -18601,7 +24633,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glPixelDataRangeNV</name></proto>
             <param group="PixelDataRangeTargetNV"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>length</name></param>
-            <param len="length">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="length">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glPixelMapfv</name></proto>
@@ -18629,7 +24661,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glPixelMapx</name></proto>
-            <param><ptype>GLenum</ptype> <name>map</name></param>
+            <param group="PixelMap"><ptype>GLenum</ptype> <name>map</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param len="size">const <ptype>GLfixed</ptype> *<name>values</name></param>
         </command>
@@ -18647,7 +24679,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glPixelStorex</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="PixelStoreParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
@@ -18689,7 +24721,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glPixelTransferxOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="PixelTransferParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
@@ -18818,22 +24850,22 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glPointParameterx</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="PointParameterNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glPointParameterxOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="PointParameterNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glPointParameterxv</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param>const <ptype>GLfixed</ptype> *<name>params</name></param>
+            <param group="PointParameterNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glPointParameterxvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="PointParameterNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
@@ -18845,7 +24877,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glPointSizePointerOES</name></proto>
             <param><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param>const void *<name>pointer</name></param>
+            <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glPointSizex</name></proto>
@@ -18870,12 +24902,32 @@ typedef unsigned int GLhandleARB;
             <param group="PolygonMode"><ptype>GLenum</ptype> <name>mode</name></param>
             <glx type="render" opcode="101"/>
         </command>
+        <command>
+            <proto>void <name>glPolygonModeNV</name></proto>
+            <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+            <param group="PolygonMode"><ptype>GLenum</ptype> <name>mode</name></param>
+            <alias name="glPolygonMode"/>
+        </command>
         <command>
             <proto>void <name>glPolygonOffset</name></proto>
             <param><ptype>GLfloat</ptype> <name>factor</name></param>
             <param><ptype>GLfloat</ptype> <name>units</name></param>
             <glx type="render" opcode="192"/>
         </command>
+        <command>
+            <proto>void <name>glPolygonOffsetClamp</name></proto>
+            <param><ptype>GLfloat</ptype> <name>factor</name></param>
+            <param><ptype>GLfloat</ptype> <name>units</name></param>
+            <param><ptype>GLfloat</ptype> <name>clamp</name></param>
+            <glx type="render" opcode="4225"/>
+        </command>
+        <command>
+            <proto>void <name>glPolygonOffsetClampEXT</name></proto>
+            <param><ptype>GLfloat</ptype> <name>factor</name></param>
+            <param><ptype>GLfloat</ptype> <name>units</name></param>
+            <param><ptype>GLfloat</ptype> <name>clamp</name></param>
+            <alias name="glPolygonOffsetClamp"/>
+        </command>
         <command>
             <proto>void <name>glPolygonOffsetEXT</name></proto>
             <param><ptype>GLfloat</ptype> <name>factor</name></param>
@@ -18953,6 +25005,53 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLuint</ptype> <name>fill1</name></param>
             <param><ptype>GLuint</ptype> <name>key1</name></param>
         </command>
+        <command>
+            <proto>void <name>glPrimitiveBoundingBox</name></proto>
+            <param><ptype>GLfloat</ptype> <name>minX</name></param>
+            <param><ptype>GLfloat</ptype> <name>minY</name></param>
+            <param><ptype>GLfloat</ptype> <name>minZ</name></param>
+            <param><ptype>GLfloat</ptype> <name>minW</name></param>
+            <param><ptype>GLfloat</ptype> <name>maxX</name></param>
+            <param><ptype>GLfloat</ptype> <name>maxY</name></param>
+            <param><ptype>GLfloat</ptype> <name>maxZ</name></param>
+            <param><ptype>GLfloat</ptype> <name>maxW</name></param>
+        </command>
+        <command>
+            <proto>void <name>glPrimitiveBoundingBoxARB</name></proto>
+            <param><ptype>GLfloat</ptype> <name>minX</name></param>
+            <param><ptype>GLfloat</ptype> <name>minY</name></param>
+            <param><ptype>GLfloat</ptype> <name>minZ</name></param>
+            <param><ptype>GLfloat</ptype> <name>minW</name></param>
+            <param><ptype>GLfloat</ptype> <name>maxX</name></param>
+            <param><ptype>GLfloat</ptype> <name>maxY</name></param>
+            <param><ptype>GLfloat</ptype> <name>maxZ</name></param>
+            <param><ptype>GLfloat</ptype> <name>maxW</name></param>
+            <alias name="glPrimitiveBoundingBox"/>
+        </command>
+        <command>
+            <proto>void <name>glPrimitiveBoundingBoxEXT</name></proto>
+            <param><ptype>GLfloat</ptype> <name>minX</name></param>
+            <param><ptype>GLfloat</ptype> <name>minY</name></param>
+            <param><ptype>GLfloat</ptype> <name>minZ</name></param>
+            <param><ptype>GLfloat</ptype> <name>minW</name></param>
+            <param><ptype>GLfloat</ptype> <name>maxX</name></param>
+            <param><ptype>GLfloat</ptype> <name>maxY</name></param>
+            <param><ptype>GLfloat</ptype> <name>maxZ</name></param>
+            <param><ptype>GLfloat</ptype> <name>maxW</name></param>
+            <alias name="glPrimitiveBoundingBox"/>
+        </command>
+        <command>
+            <proto>void <name>glPrimitiveBoundingBoxOES</name></proto>
+            <param><ptype>GLfloat</ptype> <name>minX</name></param>
+            <param><ptype>GLfloat</ptype> <name>minY</name></param>
+            <param><ptype>GLfloat</ptype> <name>minZ</name></param>
+            <param><ptype>GLfloat</ptype> <name>minW</name></param>
+            <param><ptype>GLfloat</ptype> <name>maxX</name></param>
+            <param><ptype>GLfloat</ptype> <name>maxY</name></param>
+            <param><ptype>GLfloat</ptype> <name>maxZ</name></param>
+            <param><ptype>GLfloat</ptype> <name>maxW</name></param>
+            <alias name="glPrimitiveBoundingBox"/>
+        </command>
         <command>
             <proto>void <name>glPrimitiveRestartIndex</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
@@ -18960,21 +25059,23 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glPrimitiveRestartIndexNV</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
+            <glx type="render" opcode="365"/>
         </command>
         <command>
             <proto>void <name>glPrimitiveRestartNV</name></proto>
+            <glx type="render" opcode="364"/>
         </command>
         <command>
             <proto>void <name>glPrioritizeTextures</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
+            <param class="texture" group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
             <param len="n">const <ptype>GLfloat</ptype> *<name>priorities</name></param>
             <glx type="render" opcode="4118"/>
         </command>
         <command>
             <proto>void <name>glPrioritizeTexturesEXT</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
+            <param class="texture" group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
             <param group="ClampedFloat32" len="n">const <ptype>GLclampf</ptype> *<name>priorities</name></param>
             <alias name="glPrioritizeTextures"/>
             <glx type="render" opcode="4118"/>
@@ -18982,22 +25083,23 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glPrioritizeTexturesxOES</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
+            <param class="texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
             <param group="ClampedFixed" len="n">const <ptype>GLfixed</ptype> *<name>priorities</name></param>
         </command>
         <command>
             <proto>void <name>glProgramBinary</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLenum</ptype> <name>binaryFormat</name></param>
-            <param len="length">const <ptype>GLvoid</ptype> *<name>binary</name></param>
+            <param len="length">const void *<name>binary</name></param>
             <param><ptype>GLsizei</ptype> <name>length</name></param>
         </command>
         <command>
             <proto>void <name>glProgramBinaryOES</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLenum</ptype> <name>binaryFormat</name></param>
-            <param>const <ptype>GLvoid</ptype> *<name>binary</name></param>
+            <param len="length">const void *<name>binary</name></param>
             <param><ptype>GLint</ptype> <name>length</name></param>
+            <alias name="glProgramBinary"/>
         </command>
         <command>
             <proto>void <name>glProgramBufferParametersIivNV</name></proto>
@@ -19025,7 +25127,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramEnvParameter4dARB</name></proto>
-            <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLdouble</ptype> <name>x</name></param>
             <param><ptype>GLdouble</ptype> <name>y</name></param>
@@ -19035,13 +25137,13 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramEnvParameter4dvARB</name></proto>
-            <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="4">const <ptype>GLdouble</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glProgramEnvParameter4fARB</name></proto>
-            <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLfloat</ptype> <name>x</name></param>
             <param><ptype>GLfloat</ptype> <name>y</name></param>
@@ -19051,7 +25153,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramEnvParameter4fvARB</name></proto>
-            <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="4">const <ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
@@ -19089,7 +25191,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramEnvParameters4fvEXT</name></proto>
-            <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count*4">const <ptype>GLfloat</ptype> *<name>params</name></param>
@@ -19111,7 +25213,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramLocalParameter4dARB</name></proto>
-            <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLdouble</ptype> <name>x</name></param>
             <param><ptype>GLdouble</ptype> <name>y</name></param>
@@ -19121,13 +25223,13 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramLocalParameter4dvARB</name></proto>
-            <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="4">const <ptype>GLdouble</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glProgramLocalParameter4fARB</name></proto>
-            <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLfloat</ptype> <name>x</name></param>
             <param><ptype>GLfloat</ptype> <name>y</name></param>
@@ -19137,7 +25239,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramLocalParameter4fvARB</name></proto>
-            <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="4">const <ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
@@ -19175,7 +25277,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramLocalParameters4fvEXT</name></proto>
-            <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count*4">const <ptype>GLfloat</ptype> *<name>params</name></param>
@@ -19197,7 +25299,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramNamedParameter4dNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>id</name></param>
             <param><ptype>GLsizei</ptype> <name>len</name></param>
             <param len="1">const <ptype>GLubyte</ptype> *<name>name</name></param>
             <param><ptype>GLdouble</ptype> <name>x</name></param>
@@ -19208,7 +25310,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramNamedParameter4dvNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>id</name></param>
             <param><ptype>GLsizei</ptype> <name>len</name></param>
             <param len="1">const <ptype>GLubyte</ptype> *<name>name</name></param>
             <param len="4">const <ptype>GLdouble</ptype> *<name>v</name></param>
@@ -19216,7 +25318,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramNamedParameter4fNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>id</name></param>
             <param><ptype>GLsizei</ptype> <name>len</name></param>
             <param len="1">const <ptype>GLubyte</ptype> *<name>name</name></param>
             <param><ptype>GLfloat</ptype> <name>x</name></param>
@@ -19227,7 +25329,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramNamedParameter4fvNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>id</name></param>
             <param><ptype>GLsizei</ptype> <name>len</name></param>
             <param len="1">const <ptype>GLubyte</ptype> *<name>name</name></param>
             <param len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
@@ -19269,20 +25371,20 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramParameteri</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLint</ptype> <name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramParameteriARB</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLint</ptype> <name>value</name></param>
             <alias name="glProgramParameteri"/>
         </command>
         <command>
             <proto>void <name>glProgramParameteriEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param group="ProgramParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLint</ptype> <name>value</name></param>
             <alias name="glProgramParameteri"/>
@@ -19303,12 +25405,20 @@ typedef unsigned int GLhandleARB;
             <param len="count*4">const <ptype>GLfloat</ptype> *<name>v</name></param>
             <glx type="render" opcode="4186"/>
         </command>
+        <command>
+            <proto>void <name>glProgramPathFragmentInputGenNV</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLenum</ptype> <name>genMode</name></param>
+            <param><ptype>GLint</ptype> <name>components</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>coeffs</name></param>
+        </command>
         <command>
             <proto>void <name>glProgramStringARB</name></proto>
-            <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="ProgramFormatARB"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="ProgramFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param><ptype>GLsizei</ptype> <name>len</name></param>
-            <param len="len">const <ptype>GLvoid</ptype> *<name>string</name></param>
+            <param len="len">const void *<name>string</name></param>
         </command>
         <command>
             <proto>void <name>glProgramSubroutineParametersuivNV</name></proto>
@@ -19318,53 +25428,53 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform1d</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLdouble</ptype> <name>v0</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform1dEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLdouble</ptype> <name>x</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform1dv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="1">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform1dvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform1f</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLfloat</ptype> <name>v0</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform1fEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLfloat</ptype> <name>v0</name></param>
             <alias name="glProgramUniform1f"/>
         </command>
         <command>
             <proto>void <name>glProgramUniform1fv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="1">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform1fvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
@@ -19372,40 +25482,53 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform1i</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLint</ptype> <name>v0</name></param>
         </command>
+        <command>
+            <proto>void <name>glProgramUniform1i64ARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLint64</ptype> <name>x</name></param>
+        </command>
         <command>
             <proto>void <name>glProgramUniform1i64NV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLint64EXT</ptype> <name>x</name></param>
         </command>
+        <command>
+            <proto>void <name>glProgramUniform1i64vARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count">const <ptype>GLint64</ptype> *<name>value</name></param>
+        </command>
         <command>
             <proto>void <name>glProgramUniform1i64vNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform1iEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLint</ptype> <name>v0</name></param>
             <alias name="glProgramUniform1i"/>
         </command>
         <command>
             <proto>void <name>glProgramUniform1iv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="1">const <ptype>GLint</ptype> *<name>value</name></param>
+            <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform1ivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
@@ -19413,40 +25536,53 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform1ui</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint</ptype> <name>v0</name></param>
         </command>
+        <command>
+            <proto>void <name>glProgramUniform1ui64ARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLuint64</ptype> <name>x</name></param>
+        </command>
         <command>
             <proto>void <name>glProgramUniform1ui64NV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
         </command>
+        <command>
+            <proto>void <name>glProgramUniform1ui64vARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count">const <ptype>GLuint64</ptype> *<name>value</name></param>
+        </command>
         <command>
             <proto>void <name>glProgramUniform1ui64vNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform1uiEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint</ptype> <name>v0</name></param>
             <alias name="glProgramUniform1ui"/>
         </command>
         <command>
             <proto>void <name>glProgramUniform1uiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="1">const <ptype>GLuint</ptype> *<name>value</name></param>
+            <param len="count">const <ptype>GLuint</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform1uivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLuint</ptype> *<name>value</name></param>
@@ -19454,42 +25590,42 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform2d</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLdouble</ptype> <name>v0</name></param>
             <param><ptype>GLdouble</ptype> <name>v1</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform2dEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLdouble</ptype> <name>x</name></param>
             <param><ptype>GLdouble</ptype> <name>y</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform2dv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="2">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*2">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform2dvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*2">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform2f</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLfloat</ptype> <name>v0</name></param>
             <param><ptype>GLfloat</ptype> <name>v1</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform2fEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLfloat</ptype> <name>v0</name></param>
             <param><ptype>GLfloat</ptype> <name>v1</name></param>
@@ -19497,14 +25633,14 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform2fv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="2">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*2">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform2fvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count*2">const <ptype>GLfloat</ptype> *<name>value</name></param>
@@ -19512,28 +25648,42 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform2i</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLint</ptype> <name>v0</name></param>
             <param><ptype>GLint</ptype> <name>v1</name></param>
         </command>
+        <command>
+            <proto>void <name>glProgramUniform2i64ARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLint64</ptype> <name>x</name></param>
+            <param><ptype>GLint64</ptype> <name>y</name></param>
+        </command>
         <command>
             <proto>void <name>glProgramUniform2i64NV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLint64EXT</ptype> <name>x</name></param>
             <param><ptype>GLint64EXT</ptype> <name>y</name></param>
         </command>
+        <command>
+            <proto>void <name>glProgramUniform2i64vARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count*2">const <ptype>GLint64</ptype> *<name>value</name></param>
+        </command>
         <command>
             <proto>void <name>glProgramUniform2i64vNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="COMPSIZE(count*2)">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
+            <param len="count*2">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform2iEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLint</ptype> <name>v0</name></param>
             <param><ptype>GLint</ptype> <name>v1</name></param>
@@ -19541,14 +25691,14 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform2iv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="2">const <ptype>GLint</ptype> *<name>value</name></param>
+            <param len="count*2">const <ptype>GLint</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform2ivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count*2">const <ptype>GLint</ptype> *<name>value</name></param>
@@ -19556,28 +25706,42 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform2ui</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint</ptype> <name>v0</name></param>
             <param><ptype>GLuint</ptype> <name>v1</name></param>
         </command>
+        <command>
+            <proto>void <name>glProgramUniform2ui64ARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLuint64</ptype> <name>x</name></param>
+            <param><ptype>GLuint64</ptype> <name>y</name></param>
+        </command>
         <command>
             <proto>void <name>glProgramUniform2ui64NV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
             <param><ptype>GLuint64EXT</ptype> <name>y</name></param>
         </command>
+        <command>
+            <proto>void <name>glProgramUniform2ui64vARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count*2">const <ptype>GLuint64</ptype> *<name>value</name></param>
+        </command>
         <command>
             <proto>void <name>glProgramUniform2ui64vNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="COMPSIZE(count*2)">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+            <param len="count*2">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform2uiEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint</ptype> <name>v0</name></param>
             <param><ptype>GLuint</ptype> <name>v1</name></param>
@@ -19585,14 +25749,14 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform2uiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="2">const <ptype>GLuint</ptype> *<name>value</name></param>
+            <param len="count*2">const <ptype>GLuint</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform2uivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count*2">const <ptype>GLuint</ptype> *<name>value</name></param>
@@ -19600,7 +25764,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform3d</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLdouble</ptype> <name>v0</name></param>
             <param><ptype>GLdouble</ptype> <name>v1</name></param>
@@ -19608,7 +25772,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform3dEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLdouble</ptype> <name>x</name></param>
             <param><ptype>GLdouble</ptype> <name>y</name></param>
@@ -19616,21 +25780,21 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform3dv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="3">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*3">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform3dvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*3">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform3f</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLfloat</ptype> <name>v0</name></param>
             <param><ptype>GLfloat</ptype> <name>v1</name></param>
@@ -19638,7 +25802,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform3fEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLfloat</ptype> <name>v0</name></param>
             <param><ptype>GLfloat</ptype> <name>v1</name></param>
@@ -19647,14 +25811,14 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform3fv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="3">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*3">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform3fvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count*3">const <ptype>GLfloat</ptype> *<name>value</name></param>
@@ -19662,30 +25826,45 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform3i</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLint</ptype> <name>v0</name></param>
             <param><ptype>GLint</ptype> <name>v1</name></param>
             <param><ptype>GLint</ptype> <name>v2</name></param>
         </command>
+        <command>
+            <proto>void <name>glProgramUniform3i64ARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLint64</ptype> <name>x</name></param>
+            <param><ptype>GLint64</ptype> <name>y</name></param>
+            <param><ptype>GLint64</ptype> <name>z</name></param>
+        </command>
         <command>
             <proto>void <name>glProgramUniform3i64NV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLint64EXT</ptype> <name>x</name></param>
             <param><ptype>GLint64EXT</ptype> <name>y</name></param>
             <param><ptype>GLint64EXT</ptype> <name>z</name></param>
         </command>
+        <command>
+            <proto>void <name>glProgramUniform3i64vARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count*3">const <ptype>GLint64</ptype> *<name>value</name></param>
+        </command>
         <command>
             <proto>void <name>glProgramUniform3i64vNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="COMPSIZE(count*3)">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
+            <param len="count*3">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform3iEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLint</ptype> <name>v0</name></param>
             <param><ptype>GLint</ptype> <name>v1</name></param>
@@ -19694,14 +25873,14 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform3iv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="3">const <ptype>GLint</ptype> *<name>value</name></param>
+            <param len="count*3">const <ptype>GLint</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform3ivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count*3">const <ptype>GLint</ptype> *<name>value</name></param>
@@ -19709,30 +25888,45 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform3ui</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint</ptype> <name>v0</name></param>
             <param><ptype>GLuint</ptype> <name>v1</name></param>
             <param><ptype>GLuint</ptype> <name>v2</name></param>
         </command>
+        <command>
+            <proto>void <name>glProgramUniform3ui64ARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLuint64</ptype> <name>x</name></param>
+            <param><ptype>GLuint64</ptype> <name>y</name></param>
+            <param><ptype>GLuint64</ptype> <name>z</name></param>
+        </command>
         <command>
             <proto>void <name>glProgramUniform3ui64NV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
             <param><ptype>GLuint64EXT</ptype> <name>y</name></param>
             <param><ptype>GLuint64EXT</ptype> <name>z</name></param>
         </command>
+        <command>
+            <proto>void <name>glProgramUniform3ui64vARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count*3">const <ptype>GLuint64</ptype> *<name>value</name></param>
+        </command>
         <command>
             <proto>void <name>glProgramUniform3ui64vNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="COMPSIZE(count*3)">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+            <param len="count*3">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform3uiEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint</ptype> <name>v0</name></param>
             <param><ptype>GLuint</ptype> <name>v1</name></param>
@@ -19741,14 +25935,14 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform3uiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="3">const <ptype>GLuint</ptype> *<name>value</name></param>
+            <param len="count*3">const <ptype>GLuint</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform3uivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count*3">const <ptype>GLuint</ptype> *<name>value</name></param>
@@ -19756,7 +25950,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform4d</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLdouble</ptype> <name>v0</name></param>
             <param><ptype>GLdouble</ptype> <name>v1</name></param>
@@ -19765,7 +25959,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform4dEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLdouble</ptype> <name>x</name></param>
             <param><ptype>GLdouble</ptype> <name>y</name></param>
@@ -19774,21 +25968,21 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform4dv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="4">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform4dvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform4f</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLfloat</ptype> <name>v0</name></param>
             <param><ptype>GLfloat</ptype> <name>v1</name></param>
@@ -19797,7 +25991,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform4fEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLfloat</ptype> <name>v0</name></param>
             <param><ptype>GLfloat</ptype> <name>v1</name></param>
@@ -19807,14 +26001,14 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform4fv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="4">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform4fvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count*4">const <ptype>GLfloat</ptype> *<name>value</name></param>
@@ -19822,32 +26016,48 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform4i</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLint</ptype> <name>v0</name></param>
             <param><ptype>GLint</ptype> <name>v1</name></param>
             <param><ptype>GLint</ptype> <name>v2</name></param>
             <param><ptype>GLint</ptype> <name>v3</name></param>
         </command>
+        <command>
+            <proto>void <name>glProgramUniform4i64ARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLint64</ptype> <name>x</name></param>
+            <param><ptype>GLint64</ptype> <name>y</name></param>
+            <param><ptype>GLint64</ptype> <name>z</name></param>
+            <param><ptype>GLint64</ptype> <name>w</name></param>
+        </command>
         <command>
             <proto>void <name>glProgramUniform4i64NV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLint64EXT</ptype> <name>x</name></param>
             <param><ptype>GLint64EXT</ptype> <name>y</name></param>
             <param><ptype>GLint64EXT</ptype> <name>z</name></param>
             <param><ptype>GLint64EXT</ptype> <name>w</name></param>
         </command>
+        <command>
+            <proto>void <name>glProgramUniform4i64vARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count*4">const <ptype>GLint64</ptype> *<name>value</name></param>
+        </command>
         <command>
             <proto>void <name>glProgramUniform4i64vNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="COMPSIZE(count*4)">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform4iEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLint</ptype> <name>v0</name></param>
             <param><ptype>GLint</ptype> <name>v1</name></param>
@@ -19857,14 +26067,14 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform4iv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="4">const <ptype>GLint</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLint</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform4ivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count*4">const <ptype>GLint</ptype> *<name>value</name></param>
@@ -19872,32 +26082,48 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform4ui</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint</ptype> <name>v0</name></param>
             <param><ptype>GLuint</ptype> <name>v1</name></param>
             <param><ptype>GLuint</ptype> <name>v2</name></param>
             <param><ptype>GLuint</ptype> <name>v3</name></param>
         </command>
+        <command>
+            <proto>void <name>glProgramUniform4ui64ARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLuint64</ptype> <name>x</name></param>
+            <param><ptype>GLuint64</ptype> <name>y</name></param>
+            <param><ptype>GLuint64</ptype> <name>z</name></param>
+            <param><ptype>GLuint64</ptype> <name>w</name></param>
+        </command>
         <command>
             <proto>void <name>glProgramUniform4ui64NV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
             <param><ptype>GLuint64EXT</ptype> <name>y</name></param>
             <param><ptype>GLuint64EXT</ptype> <name>z</name></param>
             <param><ptype>GLuint64EXT</ptype> <name>w</name></param>
         </command>
+        <command>
+            <proto>void <name>glProgramUniform4ui64vARB</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count*4">const <ptype>GLuint64</ptype> *<name>value</name></param>
+        </command>
         <command>
             <proto>void <name>glProgramUniform4ui64vNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="COMPSIZE(count*4)">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform4uiEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint</ptype> <name>v0</name></param>
             <param><ptype>GLuint</ptype> <name>v1</name></param>
@@ -19907,14 +26133,14 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniform4uiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="4">const <ptype>GLuint</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLuint</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniform4uivEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count*4">const <ptype>GLuint</ptype> *<name>value</name></param>
@@ -19922,57 +26148,72 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniformHandleui64ARB</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint64</ptype> <name>value</name></param>
         </command>
+        <command>
+            <proto>void <name>glProgramUniformHandleui64IMG</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLuint64</ptype> <name>value</name></param>
+            <alias name="glProgramUniformHandleui64ARB"/>
+        </command>
         <command>
             <proto>void <name>glProgramUniformHandleui64NV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint64</ptype> <name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformHandleui64vARB</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param>const <ptype>GLuint64</ptype> *<name>values</name></param>
+            <param len="count">const <ptype>GLuint64</ptype> *<name>values</name></param>
+        </command>
+        <command>
+            <proto>void <name>glProgramUniformHandleui64vIMG</name></proto>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count">const <ptype>GLuint64</ptype> *<name>values</name></param>
+            <alias name="glProgramUniformHandleui64vARB"/>
         </command>
         <command>
             <proto>void <name>glProgramUniformHandleui64vNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLuint64</ptype> *<name>values</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix2dv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="2">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix2dvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix2fv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="2">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix2fvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
@@ -19981,31 +26222,31 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix2x3dv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*6">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix2x3dvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*6">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix2x3fv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*6">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix2x3fvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
@@ -20014,31 +26255,31 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix2x4dv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*8">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix2x4dvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*8">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix2x4fv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*8">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix2x4fvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
@@ -20047,31 +26288,31 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix3dv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="3">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*9">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix3dvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*9">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix3fv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="3">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*9">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix3fvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
@@ -20080,31 +26321,31 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix3x2dv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*6">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix3x2dvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*6">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix3x2fv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*6">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix3x2fvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
@@ -20113,31 +26354,31 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix3x4dv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*12">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix3x4dvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*12">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix3x4fv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*12">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix3x4fvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
@@ -20146,31 +26387,31 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix4dv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="4">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*16">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix4dvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*16">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix4fv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="4">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*16">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix4fvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
@@ -20179,31 +26420,31 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix4x2dv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*8">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix4x2dvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*8">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix4x2fv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*8">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix4x2fvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
@@ -20212,31 +26453,31 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix4x3dv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*12">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix4x3dvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*12">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix4x3fv</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*12">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformMatrix4x3fvEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
@@ -20245,13 +26486,13 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProgramUniformui64NV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint64EXT</ptype> <name>value</name></param>
         </command>
         <command>
             <proto>void <name>glProgramUniformui64vNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
@@ -20263,11 +26504,11 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glProvokingVertex</name></proto>
-            <param><ptype>GLenum</ptype> <name>mode</name></param>
+            <param group="VertexProvokingMode"><ptype>GLenum</ptype> <name>mode</name></param>
         </command>
         <command>
             <proto>void <name>glProvokingVertexEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>mode</name></param>
+            <param group="VertexProvokingMode"><ptype>GLenum</ptype> <name>mode</name></param>
             <alias name="glProvokingVertex"/>
         </command>
         <command>
@@ -20285,14 +26526,14 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glPushDebugGroup</name></proto>
-            <param><ptype>GLenum</ptype> <name>source</name></param>
+            <param group="DebugSource"><ptype>GLenum</ptype> <name>source</name></param>
             <param><ptype>GLuint</ptype> <name>id</name></param>
             <param><ptype>GLsizei</ptype> <name>length</name></param>
             <param len="COMPSIZE(message,length)">const <ptype>GLchar</ptype> *<name>message</name></param>
         </command>
         <command>
             <proto>void <name>glPushDebugGroupKHR</name></proto>
-            <param><ptype>GLenum</ptype> <name>source</name></param>
+            <param group="DebugSource"><ptype>GLenum</ptype> <name>source</name></param>
             <param><ptype>GLuint</ptype> <name>id</name></param>
             <param><ptype>GLsizei</ptype> <name>length</name></param>
             <param>const <ptype>GLchar</ptype> *<name>message</name></param>
@@ -20314,13 +26555,13 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glQueryCounter</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <param group="QueryCounterTarget"><ptype>GLenum</ptype> <name>target</name></param>
         </command>
         <command>
             <proto>void <name>glQueryCounterEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>id</name></param>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <param group="QueryCounterTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <alias name="glQueryCounter"/>
         </command>
         <command>
@@ -20328,6 +26569,25 @@ typedef unsigned int GLhandleARB;
             <param len="16"><ptype>GLfixed</ptype> *<name>mantissa</name></param>
             <param len="16"><ptype>GLint</ptype> *<name>exponent</name></param>
         </command>
+        <command>
+            <proto>void <name>glQueryObjectParameteruiAMD</name></proto>
+            <param group="QueryTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="query"><ptype>GLuint</ptype> <name>id</name></param>
+            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="OcclusionQueryEventMaskAMD"><ptype>GLuint</ptype> <name>param</name></param>
+        </command>
+        <command>
+            <proto><ptype>GLint</ptype> <name>glQueryResourceNV</name></proto>
+            <param><ptype>GLenum</ptype> <name>queryType</name></param>
+            <param><ptype>GLint</ptype> <name>tagId</name></param>
+            <param><ptype>GLuint</ptype> <name>count</name></param>
+            <param len="count"><ptype>GLint</ptype> *<name>buffer</name></param>
+        </command>
+        <command>
+            <proto>void <name>glQueryResourceTagNV</name></proto>
+            <param><ptype>GLint</ptype> <name>tagId</name></param>
+            <param>const <ptype>GLchar</ptype> *<name>tagString</name></param>
+        </command>
         <command>
             <proto>void <name>glRasterPos2d</name></proto>
             <param group="CoordD"><ptype>GLdouble</ptype> <name>x</name></param>
@@ -20502,14 +26762,19 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glRasterPos4xvOES</name></proto>
             <param len="4">const <ptype>GLfixed</ptype> *<name>coords</name></param>
         </command>
+        <command>
+            <proto>void <name>glRasterSamplesEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>samples</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedsamplelocations</name></param>
+        </command>
         <command>
             <proto>void <name>glReadBuffer</name></proto>
-            <param group="ReadBufferMode"><ptype>GLenum</ptype> <name>mode</name></param>
+            <param group="ReadBufferMode"><ptype>GLenum</ptype> <name>src</name></param>
             <glx type="render" opcode="171"/>
         </command>
         <command>
             <proto>void <name>glReadBufferIndexedEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>src</name></param>
+            <param group="ReadBufferMode"><ptype>GLenum</ptype> <name>src</name></param>
             <param><ptype>GLint</ptype> <name>index</name></param>
         </command>
         <command>
@@ -20529,20 +26794,32 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height)"><ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height)">void *<name>pixels</name></param>
             <glx type="single" opcode="111"/>
             <glx type="render" opcode="345" name="glReadPixelsPBO" comment="PBO protocol"/>
         </command>
+        <command>
+            <proto>void <name>glReadnPixels</name></proto>
+            <param><ptype>GLint</ptype> <name>x</name></param>
+            <param><ptype>GLint</ptype> <name>y</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize">void *<name>data</name></param>
+        </command>
         <command>
             <proto>void <name>glReadnPixelsARB</name></proto>
             <param><ptype>GLint</ptype> <name>x</name></param>
             <param><ptype>GLint</ptype> <name>y</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="bufSize"><ptype>GLvoid</ptype> *<name>data</name></param>
+            <param len="bufSize">void *<name>data</name></param>
+            <alias name="glReadnPixels"/>
         </command>
         <command>
             <proto>void <name>glReadnPixelsEXT</name></proto>
@@ -20550,10 +26827,28 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>y</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
-            <param len="bufSize"><ptype>GLvoid</ptype> *<name>data</name></param>
+            <param len="bufSize">void *<name>data</name></param>
+            <alias name="glReadnPixels"/>
+        </command>
+        <command>
+            <proto>void <name>glReadnPixelsKHR</name></proto>
+            <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+            <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param len="bufSize">void *<name>data</name></param>
+            <alias name="glReadnPixels"/>
+        </command>
+        <command>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glReleaseKeyedMutexWin32EXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>key</name></param>
         </command>
         <command>
             <proto>void <name>glRectd</name></proto>
@@ -20631,6 +26926,10 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glReleaseShaderCompiler</name></proto>
         </command>
+        <command>
+            <proto>void <name>glRenderGpuMaskNV</name></proto>
+            <param><ptype>GLbitfield</ptype> <name>mask</name></param>
+        </command>
         <command>
             <proto><ptype>GLint</ptype> <name>glRenderMode</name></proto>
             <param group="RenderingMode"><ptype>GLenum</ptype> <name>mode</name></param>
@@ -20639,7 +26938,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glRenderbufferStorage</name></proto>
             <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <glx type="render" opcode="4318"/>
@@ -20647,7 +26946,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glRenderbufferStorageEXT</name></proto>
             <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <alias name="glRenderbufferStorage"/>
@@ -20655,26 +26954,35 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glRenderbufferStorageMultisample</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>samples</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <glx type="render" opcode="4331"/>
         </command>
         <command>
             <proto>void <name>glRenderbufferStorageMultisampleANGLE</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>samples</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
         </command>
         <command>
             <proto>void <name>glRenderbufferStorageMultisampleAPPLE</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>samples</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+        </command>
+        <command>
+            <proto>void <name>glRenderbufferStorageMultisampleAdvancedAMD</name></proto>
+            <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLsizei</ptype> <name>samples</name></param>
+            <param><ptype>GLsizei</ptype> <name>storageSamples</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
         </command>
@@ -20683,15 +26991,15 @@ typedef unsigned int GLhandleARB;
             <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>coverageSamples</name></param>
             <param><ptype>GLsizei</ptype> <name>colorSamples</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
         </command>
         <command>
             <proto>void <name>glRenderbufferStorageMultisampleEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>samples</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <alias name="glRenderbufferStorageMultisample"/>
@@ -20699,24 +27007,25 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glRenderbufferStorageMultisampleIMG</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>samples</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
         </command>
         <command>
             <proto>void <name>glRenderbufferStorageMultisampleNV</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>samples</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <alias name="glRenderbufferStorageMultisample"/>
         </command>
         <command>
             <proto>void <name>glRenderbufferStorageOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
         </command>
@@ -20724,7 +27033,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glReplacementCodePointerSUN</name></proto>
             <param group="ReplacementCodeTypeSUN"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(type,stride)">const <ptype>GLvoid</ptype> **<name>pointer</name></param>
+            <param len="COMPSIZE(type,stride)">const void **<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glReplacementCodeubSUN</name></proto>
@@ -20893,12 +27202,12 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glRequestResidentProgramsNV</name></proto>
             <param><ptype>GLsizei</ptype> <name>n</name></param>
-            <param len="n">const <ptype>GLuint</ptype> *<name>programs</name></param>
+            <param class="program" len="n">const <ptype>GLuint</ptype> *<name>programs</name></param>
             <glx type="render" opcode="4182"/>
         </command>
         <command>
             <proto>void <name>glResetHistogram</name></proto>
-            <param group="HistogramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="HistogramTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
             <glx type="render" opcode="4112"/>
         </command>
         <command>
@@ -20907,9 +27216,14 @@ typedef unsigned int GLhandleARB;
             <alias name="glResetHistogram"/>
             <glx type="render" opcode="4112"/>
         </command>
+        <command>
+            <proto>void <name>glResetMemoryObjectParameterNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLenum</ptype> <name>pname</name></param>
+        </command>
         <command>
             <proto>void <name>glResetMinmax</name></proto>
-            <param group="MinmaxTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="MinmaxTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
             <glx type="render" opcode="4113"/>
         </command>
         <command>
@@ -20921,6 +27235,9 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glResizeBuffersMESA</name></proto>
         </command>
+        <command>
+            <proto>void <name>glResolveDepthValuesNV</name></proto>
+        </command>
         <command>
             <proto>void <name>glResolveMultisampleFramebufferAPPLE</name></proto>
         </command>
@@ -20973,20 +27290,15 @@ typedef unsigned int GLhandleARB;
             <param group="Boolean"><ptype>GLboolean</ptype> <name>invert</name></param>
             <alias name="glSampleCoverage"/>
         </command>
-        <command>
-            <proto>void <name>glSampleCoverageOES</name></proto>
-            <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>value</name></param>
-            <param group="Boolean"><ptype>GLboolean</ptype> <name>invert</name></param>
-        </command>
         <command>
             <proto>void <name>glSampleCoveragex</name></proto>
             <param><ptype>GLclampx</ptype> <name>value</name></param>
-            <param><ptype>GLboolean</ptype> <name>invert</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>invert</name></param>
         </command>
         <command>
             <proto>void <name>glSampleCoveragexOES</name></proto>
             <param><ptype>GLclampx</ptype> <name>value</name></param>
-            <param><ptype>GLboolean</ptype> <name>invert</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>invert</name></param>
         </command>
         <command>
             <proto>void <name>glSampleMapATI</name></proto>
@@ -21013,7 +27325,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glSampleMaski</name></proto>
-            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param><ptype>GLuint</ptype> <name>maskNumber</name></param>
             <param><ptype>GLbitfield</ptype> <name>mask</name></param>
         </command>
         <command>
@@ -21028,38 +27340,66 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glSamplerParameterIiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>sampler</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param group="SamplerParameterI"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>param</name></param>
+        </command>
+        <command>
+            <proto>void <name>glSamplerParameterIivEXT</name></proto>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param group="SamplerParameterI"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>param</name></param>
+            <alias name="glSamplerParameterIiv"/>
+        </command>
+        <command>
+            <proto>void <name>glSamplerParameterIivOES</name></proto>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param group="SamplerParameterI"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>param</name></param>
+            <alias name="glSamplerParameterIiv"/>
         </command>
         <command>
             <proto>void <name>glSamplerParameterIuiv</name></proto>
-            <param><ptype>GLuint</ptype> <name>sampler</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param group="SamplerParameterI"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)">const <ptype>GLuint</ptype> *<name>param</name></param>
+        </command>
+        <command>
+            <proto>void <name>glSamplerParameterIuivEXT</name></proto>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param group="SamplerParameterI"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)">const <ptype>GLuint</ptype> *<name>param</name></param>
+            <alias name="glSamplerParameterIuiv"/>
+        </command>
+        <command>
+            <proto>void <name>glSamplerParameterIuivOES</name></proto>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param group="SamplerParameterI"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)">const <ptype>GLuint</ptype> *<name>param</name></param>
+            <alias name="glSamplerParameterIuiv"/>
         </command>
         <command>
             <proto>void <name>glSamplerParameterf</name></proto>
-            <param><ptype>GLuint</ptype> <name>sampler</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param group="SamplerParameterF"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfloat</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glSamplerParameterfv</name></proto>
-            <param><ptype>GLuint</ptype> <name>sampler</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param group="SamplerParameterF"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>param</name></param>
         </command>
         <command>
             <proto>void <name>glSamplerParameteri</name></proto>
-            <param><ptype>GLuint</ptype> <name>sampler</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param group="SamplerParameterI"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLint</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glSamplerParameteriv</name></proto>
-            <param><ptype>GLuint</ptype> <name>sampler</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param group="SamplerParameterI"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>param</name></param>
         </command>
         <command>
@@ -21102,6 +27442,33 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="COMPSIZE(count)">const <ptype>GLint</ptype> *<name>v</name></param>
         </command>
+        <command>
+            <proto>void <name>glScissorArrayvNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>first</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="COMPSIZE(count)">const <ptype>GLint</ptype> *<name>v</name></param>
+            <alias name="glScissorArrayv"/>
+        </command>
+        <command>
+            <proto>void <name>glScissorArrayvOES</name></proto>
+            <param><ptype>GLuint</ptype> <name>first</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="COMPSIZE(count)">const <ptype>GLint</ptype> *<name>v</name></param>
+            <alias name="glScissorArrayv"/>
+        </command>
+        <command>
+            <proto>void <name>glScissorExclusiveArrayvNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>first</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="COMPSIZE(count)">const <ptype>GLint</ptype> *<name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glScissorExclusiveNV</name></proto>
+            <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+            <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+        </command>
         <command>
             <proto>void <name>glScissorIndexed</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
@@ -21110,11 +27477,41 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
         </command>
+        <command>
+            <proto>void <name>glScissorIndexedNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param><ptype>GLint</ptype> <name>left</name></param>
+            <param><ptype>GLint</ptype> <name>bottom</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <alias name="glScissorIndexed"/>
+        </command>
+        <command>
+            <proto>void <name>glScissorIndexedOES</name></proto>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param><ptype>GLint</ptype> <name>left</name></param>
+            <param><ptype>GLint</ptype> <name>bottom</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <alias name="glScissorIndexed"/>
+        </command>
         <command>
             <proto>void <name>glScissorIndexedv</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="4">const <ptype>GLint</ptype> *<name>v</name></param>
         </command>
+        <command>
+            <proto>void <name>glScissorIndexedvNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param len="4">const <ptype>GLint</ptype> *<name>v</name></param>
+            <alias name="glScissorIndexedv"/>
+        </command>
+        <command>
+            <proto>void <name>glScissorIndexedvOES</name></proto>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param len="4">const <ptype>GLint</ptype> *<name>v</name></param>
+            <alias name="glScissorIndexedv"/>
+        </command>
         <command>
             <proto>void <name>glSecondaryColor3b</name></proto>
             <param group="ColorB"><ptype>GLbyte</ptype> <name>red</name></param>
@@ -21338,17 +27735,17 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glSecondaryColorFormatNV</name></proto>
             <param><ptype>GLint</ptype> <name>size</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
         </command>
         <command>
             <proto>void <name>glSecondaryColorP3ui</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>color</name></param>
         </command>
         <command>
             <proto>void <name>glSecondaryColorP3uiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>color</name></param>
         </command>
         <command>
@@ -21356,14 +27753,14 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(size,type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glSecondaryColorPointerEXT</name></proto>
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(size,type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
             <alias name="glSecondaryColorPointer"/>
         </command>
         <command>
@@ -21371,7 +27768,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="SecondaryColorPointerTypeIBM"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLint</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(size,type,stride)">const <ptype>GLvoid</ptype> **<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride)">const void **<name>pointer</name></param>
             <param><ptype>GLint</ptype> <name>ptrstride</name></param>
         </command>
         <command>
@@ -21388,29 +27785,41 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>numCounters</name></param>
             <param len="numCounters"><ptype>GLuint</ptype> *<name>counterList</name></param>
         </command>
+        <command>
+            <proto>void <name>glSemaphoreParameterivNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>semaphore</name></param>
+            <param group="SemaphoreParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param>const <ptype>GLint</ptype> *<name>params</name></param>
+        </command>
+        <command>
+            <proto>void <name>glSemaphoreParameterui64vEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>semaphore</name></param>
+            <param group="SemaphoreParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param>const <ptype>GLuint64</ptype> *<name>params</name></param>
+        </command>
         <command>
             <proto>void <name>glSeparableFilter2D</name></proto>
-            <param group="SeparableTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="SeparableTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(target,format,type,width)">const <ptype>GLvoid</ptype> *<name>row</name></param>
-            <param len="COMPSIZE(target,format,type,height)">const <ptype>GLvoid</ptype> *<name>column</name></param>
+            <param len="COMPSIZE(target,format,type,width)">const void *<name>row</name></param>
+            <param len="COMPSIZE(target,format,type,height)">const void *<name>column</name></param>
             <glx type="render" opcode="4109"/>
             <glx type="render" opcode="327" name="glSeparableFilter2DPBO" comment="PBO protocol"/>
         </command>
         <command>
             <proto>void <name>glSeparableFilter2DEXT</name></proto>
             <param group="SeparableTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(target,format,type,width)">const <ptype>GLvoid</ptype> *<name>row</name></param>
-            <param len="COMPSIZE(target,format,type,height)">const <ptype>GLvoid</ptype> *<name>column</name></param>
+            <param len="COMPSIZE(target,format,type,width)">const void *<name>row</name></param>
+            <param len="COMPSIZE(target,format,type,height)">const void *<name>column</name></param>
             <alias name="glSeparableFilter2D"/>
             <glx type="render" opcode="4109"/>
         </command>
@@ -21432,13 +27841,13 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glSetInvariantEXT</name></proto>
             <param><ptype>GLuint</ptype> <name>id</name></param>
             <param group="ScalarType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(id,type)">const <ptype>GLvoid</ptype> *<name>addr</name></param>
+            <param len="COMPSIZE(id,type)">const void *<name>addr</name></param>
         </command>
         <command>
             <proto>void <name>glSetLocalConstantEXT</name></proto>
             <param><ptype>GLuint</ptype> <name>id</name></param>
             <param group="ScalarType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(id,type)">const <ptype>GLvoid</ptype> *<name>addr</name></param>
+            <param len="COMPSIZE(id,type)">const void *<name>addr</name></param>
         </command>
         <command>
             <proto>void <name>glSetMultisamplefvAMD</name></proto>
@@ -21454,9 +27863,9 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glShaderBinary</name></proto>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLuint</ptype> *<name>shaders</name></param>
-            <param><ptype>GLenum</ptype> <name>binaryformat</name></param>
-            <param len="length">const <ptype>GLvoid</ptype> *<name>binary</name></param>
+            <param class="shader" len="count">const <ptype>GLuint</ptype> *<name>shaders</name></param>
+            <param group="ShaderBinaryFormat"><ptype>GLenum</ptype> <name>binaryFormat</name></param>
+            <param len="length">const void *<name>binary</name></param>
             <param><ptype>GLsizei</ptype> <name>length</name></param>
         </command>
         <command>
@@ -21482,25 +27891,50 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glShaderSource</name></proto>
-            <param><ptype>GLuint</ptype> <name>shader</name></param>
+            <param class="shader"><ptype>GLuint</ptype> <name>shader</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLchar</ptype> *const*<name>string</name></param>
-            <param len="1">const <ptype>GLint</ptype> *<name>length</name></param>
+            <param len="count">const <ptype>GLint</ptype> *<name>length</name></param>
         </command>
         <command>
             <proto>void <name>glShaderSourceARB</name></proto>
             <param group="handleARB"><ptype>GLhandleARB</ptype> <name>shaderObj</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLcharARB</ptype> **<name>string</name></param>
-            <param len="1">const <ptype>GLint</ptype> *<name>length</name></param>
+            <param len="count">const <ptype>GLint</ptype> *<name>length</name></param>
             <alias name="glShaderSource"/>
         </command>
         <command>
             <proto>void <name>glShaderStorageBlockBinding</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLuint</ptype> <name>storageBlockIndex</name></param>
             <param><ptype>GLuint</ptype> <name>storageBlockBinding</name></param>
         </command>
+        <command>
+            <proto>void <name>glShadingRateImageBarrierNV</name></proto>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>synchronize</name></param>
+        </command>
+        <command>
+            <proto>void <name>glShadingRateQCOM</name></proto>
+            <param group="ShadingRateQCOM"><ptype>GLenum</ptype> <name>rate</name></param>
+        </command>
+        <command>
+            <proto>void <name>glShadingRateImagePaletteNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>viewport</name></param>
+            <param><ptype>GLuint</ptype> <name>first</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count">const <ptype>GLenum</ptype> *<name>rates</name></param>
+        </command>
+        <command>
+            <proto>void <name>glShadingRateSampleOrderNV</name></proto>
+            <param><ptype>GLenum</ptype> <name>order</name></param>
+        </command>
+        <command>
+            <proto>void <name>glShadingRateSampleOrderCustomNV</name></proto>
+            <param><ptype>GLenum</ptype> <name>rate</name></param>
+            <param><ptype>GLuint</ptype> <name>samples</name></param>
+            <param len="COMPSIZE(rate,samples)">const <ptype>GLint</ptype> *<name>locations</name></param>
+        </command>
         <command>
             <proto>void <name>glSharpenTexFuncSGIS</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
@@ -21508,6 +27942,39 @@ typedef unsigned int GLhandleARB;
             <param len="n*2">const <ptype>GLfloat</ptype> *<name>points</name></param>
             <glx type="render" opcode="2052"/>
         </command>
+        <command>
+            <proto>void <name>glSignalSemaphoreEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>semaphore</name></param>
+            <param><ptype>GLuint</ptype> <name>numBufferBarriers</name></param>
+            <param class="buffer" len="COMPSIZE(numBufferBarriers)">const <ptype>GLuint</ptype> *<name>buffers</name></param>
+            <param><ptype>GLuint</ptype> <name>numTextureBarriers</name></param>
+            <param class="texture" len="COMPSIZE(numTextureBarriers)">const <ptype>GLuint</ptype> *<name>textures</name></param>
+            <param group="TextureLayout" len="COMPSIZE(numTextureBarriers)">const <ptype>GLenum</ptype> *<name>dstLayouts</name></param>
+        </command>
+        <command>
+            <proto>void <name>glSignalSemaphoreui64NVX</name></proto>
+            <param><ptype>GLuint</ptype> <name>signalGpu</name></param>
+            <param><ptype>GLsizei</ptype> <name>fenceObjectCount</name></param>
+            <param len="fenceObjectCount">const <ptype>GLuint</ptype> *<name>semaphoreArray</name></param>
+            <param len="fenceObjectCount">const <ptype>GLuint64</ptype> *<name>fenceValueArray</name></param>
+        </command>
+        <command>
+            <proto>void <name>glSpecializeShader</name></proto>
+            <param class="shader"><ptype>GLuint</ptype> <name>shader</name></param>
+            <param>const <ptype>GLchar</ptype> *<name>pEntryPoint</name></param>
+            <param><ptype>GLuint</ptype> <name>numSpecializationConstants</name></param>
+            <param>const <ptype>GLuint</ptype> *<name>pConstantIndex</name></param>
+            <param>const <ptype>GLuint</ptype> *<name>pConstantValue</name></param>
+        </command>
+        <command>
+            <proto>void <name>glSpecializeShaderARB</name></proto>
+            <param class="shader"><ptype>GLuint</ptype> <name>shader</name></param>
+            <param>const <ptype>GLchar</ptype> *<name>pEntryPoint</name></param>
+            <param><ptype>GLuint</ptype> <name>numSpecializationConstants</name></param>
+            <param>const <ptype>GLuint</ptype> *<name>pConstantIndex</name></param>
+            <param>const <ptype>GLuint</ptype> *<name>pConstantValue</name></param>
+            <alias name="glSpecializeShader"/>
+        </command>
         <command>
             <proto>void <name>glSpriteParameterfSGIX</name></proto>
             <param group="SpriteParameterNameSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
@@ -21542,7 +28009,12 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLuint</ptype> <name>y</name></param>
             <param><ptype>GLuint</ptype> <name>width</name></param>
             <param><ptype>GLuint</ptype> <name>height</name></param>
-            <param><ptype>GLbitfield</ptype> <name>preserveMask</name></param>
+            <param group="BufferBitQCOM"><ptype>GLbitfield</ptype> <name>preserveMask</name></param>
+        </command>
+        <command>
+            <proto>void <name>glStateCaptureNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>state</name></param>
+            <param><ptype>GLenum</ptype> <name>mode</name></param>
         </command>
         <command>
             <proto>void <name>glStencilClearTagEXT</name></proto>
@@ -21554,7 +28026,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glStencilFillPathInstancedNV</name></proto>
             <param><ptype>GLsizei</ptype> <name>numPaths</name></param>
             <param group="PathElementType"><ptype>GLenum</ptype> <name>pathNameType</name></param>
-            <param group="PathElement" len="COMPSIZE(numPaths,pathNameType,paths)">const <ptype>GLvoid</ptype> *<name>paths</name></param>
+            <param group="PathElement" len="COMPSIZE(numPaths,pathNameType,paths)">const void *<name>paths</name></param>
             <param group="Path"><ptype>GLuint</ptype> <name>pathBase</name></param>
             <param group="PathFillMode"><ptype>GLenum</ptype> <name>fillMode</name></param>
             <param group="MaskedStencilValue"><ptype>GLuint</ptype> <name>mask</name></param>
@@ -21629,7 +28101,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glStencilStrokePathInstancedNV</name></proto>
             <param><ptype>GLsizei</ptype> <name>numPaths</name></param>
             <param group="PathElementType"><ptype>GLenum</ptype> <name>pathNameType</name></param>
-            <param group="PathElement" len="COMPSIZE(numPaths,pathNameType,paths)">const <ptype>GLvoid</ptype> *<name>paths</name></param>
+            <param group="PathElement" len="COMPSIZE(numPaths,pathNameType,paths)">const void *<name>paths</name></param>
             <param group="Path"><ptype>GLuint</ptype> <name>pathBase</name></param>
             <param group="StencilValue"><ptype>GLint</ptype> <name>reference</name></param>
             <param group="MaskedStencilValue"><ptype>GLuint</ptype> <name>mask</name></param>
@@ -21642,6 +28114,44 @@ typedef unsigned int GLhandleARB;
             <param group="StencilValue"><ptype>GLint</ptype> <name>reference</name></param>
             <param group="MaskedStencilValue"><ptype>GLuint</ptype> <name>mask</name></param>
         </command>
+        <command>
+            <proto>void <name>glStencilThenCoverFillPathInstancedNV</name></proto>
+            <param><ptype>GLsizei</ptype> <name>numPaths</name></param>
+            <param><ptype>GLenum</ptype> <name>pathNameType</name></param>
+            <param>const void *<name>paths</name></param>
+            <param><ptype>GLuint</ptype> <name>pathBase</name></param>
+            <param><ptype>GLenum</ptype> <name>fillMode</name></param>
+            <param><ptype>GLuint</ptype> <name>mask</name></param>
+            <param><ptype>GLenum</ptype> <name>coverMode</name></param>
+            <param><ptype>GLenum</ptype> <name>transformType</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>transformValues</name></param>
+        </command>
+        <command>
+            <proto>void <name>glStencilThenCoverFillPathNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>path</name></param>
+            <param><ptype>GLenum</ptype> <name>fillMode</name></param>
+            <param><ptype>GLuint</ptype> <name>mask</name></param>
+            <param><ptype>GLenum</ptype> <name>coverMode</name></param>
+        </command>
+        <command>
+            <proto>void <name>glStencilThenCoverStrokePathInstancedNV</name></proto>
+            <param><ptype>GLsizei</ptype> <name>numPaths</name></param>
+            <param><ptype>GLenum</ptype> <name>pathNameType</name></param>
+            <param>const void *<name>paths</name></param>
+            <param><ptype>GLuint</ptype> <name>pathBase</name></param>
+            <param><ptype>GLint</ptype> <name>reference</name></param>
+            <param><ptype>GLuint</ptype> <name>mask</name></param>
+            <param><ptype>GLenum</ptype> <name>coverMode</name></param>
+            <param><ptype>GLenum</ptype> <name>transformType</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>transformValues</name></param>
+        </command>
+        <command>
+            <proto>void <name>glStencilThenCoverStrokePathNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>path</name></param>
+            <param><ptype>GLint</ptype> <name>reference</name></param>
+            <param><ptype>GLuint</ptype> <name>mask</name></param>
+            <param><ptype>GLenum</ptype> <name>coverMode</name></param>
+        </command>
         <command>
             <proto>void <name>glStopInstrumentsSGIX</name></proto>
             <param><ptype>GLint</ptype> <name>marker</name></param>
@@ -21650,7 +28160,12 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glStringMarkerGREMEDY</name></proto>
             <param><ptype>GLsizei</ptype> <name>len</name></param>
-            <param len="len">const <ptype>GLvoid</ptype> *<name>string</name></param>
+            <param len="len">const void *<name>string</name></param>
+        </command>
+        <command>
+            <proto>void <name>glSubpixelPrecisionBiasNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>xbits</name></param>
+            <param><ptype>GLuint</ptype> <name>ybits</name></param>
         </command>
         <command>
             <proto>void <name>glSwizzleEXT</name></proto>
@@ -21663,7 +28178,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glSyncTextureINTEL</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
         </command>
         <command>
             <proto>void <name>glTagSampleBufferSGIX</name></proto>
@@ -21728,7 +28243,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glTangentPointerEXT</name></proto>
             <param group="TangentPointerTypeEXT"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glTbufferMask3DFX</name></proto>
@@ -21756,33 +28271,65 @@ typedef unsigned int GLhandleARB;
             <param group="ObjectTypeAPPLE"><ptype>GLenum</ptype> <name>object</name></param>
             <param><ptype>GLuint</ptype> <name>name</name></param>
         </command>
+        <command>
+            <proto>void <name>glTexAttachMemoryNV</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>offset</name></param>
+        </command>
         <command>
             <proto>void <name>glTexBuffer</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
         </command>
         <command>
             <proto>void <name>glTexBufferARB</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <alias name="glTexBuffer"/>
+            <glx type="render" opcode="367"/>
         </command>
         <command>
             <proto>void <name>glTexBufferEXT</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <alias name="glTexBuffer"/>
+        </command>
+        <command>
+            <proto>void <name>glTexBufferOES</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <alias name="glTexBuffer"/>
         </command>
         <command>
             <proto>void <name>glTexBufferRange</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTexBufferRangeEXT</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <alias name="glTexBufferRange"/>
+        </command>
+        <command>
+            <proto>void <name>glTexBufferRangeOES</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
             <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+            <alias name="glTexBufferRange"/>
         </command>
         <command>
             <proto>void <name>glTexBumpParameterfvATI</name></proto>
@@ -22236,42 +28783,42 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glTexCoordP1ui</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glTexCoordP1uiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glTexCoordP2ui</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glTexCoordP2uiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glTexCoordP3ui</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glTexCoordP3uiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glTexCoordP4ui</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>coords</name></param>
         </command>
         <command>
             <proto>void <name>glTexCoordP4uiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>coords</name></param>
         </command>
         <command>
@@ -22279,7 +28826,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(size,type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glTexCoordPointerEXT</name></proto>
@@ -22287,21 +28834,21 @@ typedef unsigned int GLhandleARB;
             <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="COMPSIZE(size,type,stride,count)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride,count)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glTexCoordPointerListIBM</name></proto>
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLint</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(size,type,stride)">const <ptype>GLvoid</ptype> **<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride)">const void **<name>pointer</name></param>
             <param><ptype>GLint</ptype> <name>ptrstride</name></param>
         </command>
         <command>
             <proto>void <name>glTexCoordPointervINTEL</name></proto>
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="4">const <ptype>GLvoid</ptype> **<name>pointer</name></param>
+            <param len="4">const void **<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glTexEnvf</name></proto>
@@ -22333,28 +28880,48 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glTexEnvx</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="TextureEnvTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureEnvParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glTexEnvxOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="TextureEnvTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureEnvParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glTexEnvxv</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param>const <ptype>GLfixed</ptype> *<name>params</name></param>
+            <param group="TextureEnvTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureEnvParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glTexEnvxvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="TextureEnvTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureEnvParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
+        <command>
+            <proto>void <name>glTexEstimateMotionQCOM</name></proto>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>ref</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>target</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>output</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTexEstimateMotionRegionsQCOM</name></proto>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>ref</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>target</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>output</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>mask</name></param>
+        </command>
+        <command>
+            <proto>void <name>glExtrapolateTex2DQCOM</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>src1</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>src2</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>output</name></param>
+            <param><ptype>GLfloat</ptype> <name>scaleFactor</name></param>
+        </command>
         <command>
             <proto>void <name>glTexFilterFuncSGIS</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
@@ -22386,8 +28953,8 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glTexGenfOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>coord</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+            <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfloat</ptype> <name>param</name></param>
         </command>
         <command>
@@ -22399,9 +28966,9 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glTexGenfvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>coord</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param>const <ptype>GLfloat</ptype> *<name>params</name></param>
+            <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+            <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glTexGeni</name></proto>
@@ -22412,8 +28979,8 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glTexGeniOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>coord</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+            <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLint</ptype> <name>param</name></param>
         </command>
         <command>
@@ -22425,32 +28992,32 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glTexGenivOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>coord</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param>const <ptype>GLint</ptype> *<name>params</name></param>
+            <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+            <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glTexGenxOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>coord</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+            <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glTexGenxvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>coord</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+            <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glTexImage1D</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureComponentCount"><ptype>GLint</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLint</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width)">const void *<name>pixels</name></param>
             <glx type="render" opcode="109"/>
             <glx type="render" opcode="328" name="glTexImage1DPBO" comment="PBO protocol"/>
         </command>
@@ -22458,28 +29025,28 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glTexImage2D</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureComponentCount"><ptype>GLint</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLint</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height)">const void *<name>pixels</name></param>
             <glx type="render" opcode="110"/>
             <glx type="render" opcode="329" name="glTexImage2DPBO" comment="PBO protocol"/>
         </command>
         <command>
             <proto>void <name>glTexImage2DMultisample</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>samples</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedsamplelocations</name></param>
         </command>
         <command>
             <proto>void <name>glTexImage2DMultisampleCoverageNV</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>coverageSamples</name></param>
             <param><ptype>GLsizei</ptype> <name>colorSamples</name></param>
             <param><ptype>GLint</ptype> <name>internalFormat</name></param>
@@ -22491,14 +29058,14 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glTexImage3D</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureComponentCount"><ptype>GLint</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLint</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height,depth)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
             <glx type="render" opcode="4114"/>
             <glx type="render" opcode="330" name="glTexImage3DPBO" comment="PBO protocol"/>
         </command>
@@ -22506,22 +29073,22 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glTexImage3DEXT</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height,depth)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
             <alias name="glTexImage3D"/>
             <glx type="render" opcode="4114"/>
         </command>
         <command>
             <proto>void <name>glTexImage3DMultisample</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>samples</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
@@ -22529,7 +29096,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glTexImage3DMultisampleCoverageNV</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>coverageSamples</name></param>
             <param><ptype>GLsizei</ptype> <name>colorSamples</name></param>
             <param><ptype>GLint</ptype> <name>internalFormat</name></param>
@@ -22540,22 +29107,22 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glTexImage3DOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param><ptype>GLint</ptype> <name>border</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
-            <param>const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glTexImage4DSGIS</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
@@ -22563,7 +29130,7 @@ typedef unsigned int GLhandleARB;
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height,depth,size4d)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height,depth,size4d)">const void *<name>pixels</name></param>
             <glx type="render" opcode="2057"/>
         </command>
         <command>
@@ -22576,7 +29143,35 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
-            <param><ptype>GLboolean</ptype> <name>resident</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>commit</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTexPageCommitmentEXT</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLint</ptype> <name>xoffset</name></param>
+            <param><ptype>GLint</ptype> <name>yoffset</name></param>
+            <param><ptype>GLint</ptype> <name>zoffset</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLsizei</ptype> <name>depth</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>commit</name></param>
+            <alias name="glTexPageCommitmentARB"/>
+        </command>
+        <command>
+            <proto>void <name>glTexPageCommitmentMemNV</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLint</ptype> <name>layer</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLint</ptype> <name>xoffset</name></param>
+            <param><ptype>GLint</ptype> <name>yoffset</name></param>
+            <param><ptype>GLint</ptype> <name>zoffset</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLsizei</ptype> <name>depth</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>offset</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>commit</name></param>
         </command>
         <command>
             <proto>void <name>glTexParameterIiv</name></proto>
@@ -22592,6 +29187,13 @@ typedef unsigned int GLhandleARB;
             <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
             <alias name="glTexParameterIiv"/>
         </command>
+        <command>
+            <proto>void <name>glTexParameterIivOES</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+            <alias name="glTexParameterIiv"/>
+        </command>
         <command>
             <proto>void <name>glTexParameterIuiv</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
@@ -22606,6 +29208,13 @@ typedef unsigned int GLhandleARB;
             <param len="COMPSIZE(pname)">const <ptype>GLuint</ptype> *<name>params</name></param>
             <alias name="glTexParameterIuiv"/>
         </command>
+        <command>
+            <proto>void <name>glTexParameterIuivOES</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)">const <ptype>GLuint</ptype> *<name>params</name></param>
+            <alias name="glTexParameterIuiv"/>
+        </command>
         <command>
             <proto>void <name>glTexParameterf</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
@@ -22636,109 +29245,176 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glTexParameterx</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glTexParameterxOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param><ptype>GLfixed</ptype> <name>param</name></param>
         </command>
         <command>
             <proto>void <name>glTexParameterxv</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param>const <ptype>GLfixed</ptype> *<name>params</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glTexParameterxvOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>pname</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glTexRenderbufferNV</name></proto>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param class="renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
         </command>
         <command>
             <proto>void <name>glTexStorage1D</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>levels</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
         </command>
         <command>
             <proto>void <name>glTexStorage1DEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>levels</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <alias name="glTexStorage1D"/>
         </command>
         <command>
             <proto>void <name>glTexStorage2D</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>levels</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
         </command>
         <command>
             <proto>void <name>glTexStorage2DEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>levels</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <alias name="glTexStorage2D"/>
         </command>
         <command>
             <proto>void <name>glTexStorage2DMultisample</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>samples</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedsamplelocations</name></param>
         </command>
         <command>
             <proto>void <name>glTexStorage3D</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>levels</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
         </command>
         <command>
             <proto>void <name>glTexStorage3DEXT</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>levels</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
+            <alias name="glTexStorage3D"/>
         </command>
         <command>
             <proto>void <name>glTexStorage3DMultisample</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>samples</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedsamplelocations</name></param>
         </command>
         <command>
-            <proto>void <name>glTexStorageSparseAMD</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <proto>void <name>glTexStorage3DMultisampleOES</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLsizei</ptype> <name>samples</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLsizei</ptype> <name>depth</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedsamplelocations</name></param>
+            <alias name="glTexStorage3DMultisample"/>
+        </command>
+        <command>
+            <proto>void <name>glTexStorageMem1DEXT</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLsizei</ptype> <name>levels</name></param>
+            <param><ptype>GLenum</ptype> <name>internalFormat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>offset</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTexStorageMem2DEXT</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLsizei</ptype> <name>levels</name></param>
+            <param><ptype>GLenum</ptype> <name>internalFormat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>offset</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTexStorageMem2DMultisampleEXT</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLsizei</ptype> <name>samples</name></param>
+            <param><ptype>GLenum</ptype> <name>internalFormat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedSampleLocations</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>offset</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTexStorageMem3DEXT</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLsizei</ptype> <name>levels</name></param>
             <param><ptype>GLenum</ptype> <name>internalFormat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>offset</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTexStorageMem3DMultisampleEXT</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLsizei</ptype> <name>samples</name></param>
+            <param><ptype>GLenum</ptype> <name>internalFormat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLsizei</ptype> <name>depth</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedSampleLocations</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>offset</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTexStorageSparseAMD</name></proto>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalFormat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param><ptype>GLsizei</ptype> <name>layers</name></param>
-            <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+            <param group="TextureStorageMaskAMD"><ptype>GLbitfield</ptype> <name>flags</name></param>
         </command>
         <command>
             <proto>void <name>glTexSubImage1D</name></proto>
@@ -22748,7 +29424,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width)">const void *<name>pixels</name></param>
             <glx type="render" opcode="4099"/>
             <glx type="render" opcode="331" name="glTexSubImage1DPBO" comment="PBO protocol"/>
         </command>
@@ -22760,7 +29436,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width)">const void *<name>pixels</name></param>
             <alias name="glTexSubImage1D"/>
             <glx type="render" opcode="4099"/>
         </command>
@@ -22774,7 +29450,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height)">const void *<name>pixels</name></param>
             <glx type="render" opcode="4100"/>
             <glx type="render" opcode="332" name="glTexSubImage2DPBO" comment="PBO protocol"/>
         </command>
@@ -22788,7 +29464,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height)">const void *<name>pixels</name></param>
             <alias name="glTexSubImage2D"/>
             <glx type="render" opcode="4100"/>
         </command>
@@ -22804,7 +29480,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height,depth)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
             <glx type="render" opcode="4115"/>
             <glx type="render" opcode="333" name="glTexSubImage3DPBO" comment="PBO protocol"/>
         </command>
@@ -22820,13 +29496,13 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height,depth)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
             <alias name="glTexSubImage3D"/>
             <glx type="render" opcode="4115"/>
         </command>
         <command>
             <proto>void <name>glTexSubImage3DOES</name></proto>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <param><ptype>GLint</ptype> <name>xoffset</name></param>
             <param><ptype>GLint</ptype> <name>yoffset</name></param>
@@ -22834,9 +29510,9 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
-            <param><ptype>GLenum</ptype> <name>format</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
-            <param>const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glTexSubImage4DSGIS</name></proto>
@@ -22852,26 +29528,49 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>size4d</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height,depth,size4d)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height,depth,size4d)">const void *<name>pixels</name></param>
             <glx type="render" opcode="2058"/>
         </command>
+        <command>
+            <proto>void <name>glTextureAttachMemoryNV</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>offset</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTextureBarrier</name></proto>
+        </command>
         <command>
             <proto>void <name>glTextureBarrierNV</name></proto>
             <glx type="render" opcode="4348"/>
         </command>
+        <command>
+            <proto>void <name>glTextureBuffer</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+        </command>
         <command>
             <proto>void <name>glTextureBufferEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTextureBufferRange</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
         </command>
         <command>
             <proto>void <name>glTextureBufferRangeEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
             <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
         </command>
@@ -22883,35 +29582,46 @@ typedef unsigned int GLhandleARB;
             <param group="Boolean"><ptype>GLboolean</ptype> <name>alpha</name></param>
             <glx type="render" opcode="2082"/>
         </command>
+        <command>
+            <proto>void <name>glTextureFoveationParametersQCOM</name></proto>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLuint</ptype> <name>layer</name></param>
+            <param><ptype>GLuint</ptype> <name>focalPoint</name></param>
+            <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>focalX</name></param>
+            <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>focalY</name></param>
+            <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>gainX</name></param>
+            <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>gainY</name></param>
+            <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>foveaArea</name></param>
+        </command>
         <command>
             <proto>void <name>glTextureImage1DEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureComponentCount"><ptype>GLint</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLint</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width)">const void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glTextureImage2DEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureComponentCount"><ptype>GLint</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLint</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height)">const void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glTextureImage2DMultisampleCoverageNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>coverageSamples</name></param>
             <param><ptype>GLsizei</ptype> <name>colorSamples</name></param>
             <param><ptype>GLint</ptype> <name>internalFormat</name></param>
@@ -22921,8 +29631,8 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glTextureImage2DMultisampleNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>samples</name></param>
             <param><ptype>GLint</ptype> <name>internalFormat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
@@ -22931,22 +29641,22 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glTextureImage3DEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
-            <param group="TextureComponentCount"><ptype>GLint</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLint</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height,depth)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glTextureImage3DMultisampleCoverageNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>coverageSamples</name></param>
             <param><ptype>GLsizei</ptype> <name>colorSamples</name></param>
             <param><ptype>GLint</ptype> <name>internalFormat</name></param>
@@ -22957,8 +29667,8 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glTextureImage3DMultisampleNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>samples</name></param>
             <param><ptype>GLint</ptype> <name>internalFormat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
@@ -22981,7 +29691,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glTexturePageCommitmentEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
             <param><ptype>GLint</ptype> <name>xoffset</name></param>
             <param><ptype>GLint</ptype> <name>yoffset</name></param>
@@ -22989,48 +29699,99 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
-            <param><ptype>GLboolean</ptype> <name>resident</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>commit</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTexturePageCommitmentMemNV</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>layer</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLint</ptype> <name>xoffset</name></param>
+            <param><ptype>GLint</ptype> <name>yoffset</name></param>
+            <param><ptype>GLint</ptype> <name>zoffset</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLsizei</ptype> <name>depth</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>offset</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>commit</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTextureParameterIiv</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param>const <ptype>GLint</ptype> *<name>params</name></param>
         </command>
         <command>
             <proto>void <name>glTextureParameterIivEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
         </command>
+        <command>
+            <proto>void <name>glTextureParameterIuiv</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param>const <ptype>GLuint</ptype> *<name>params</name></param>
+        </command>
         <command>
             <proto>void <name>glTextureParameterIuivEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param len="COMPSIZE(pname)">const <ptype>GLuint</ptype> *<name>params</name></param>
         </command>
+        <command>
+            <proto>void <name>glTextureParameterf</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLfloat</ptype> <name>param</name></param>
+        </command>
         <command>
             <proto>void <name>glTextureParameterfEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
             <vecequiv name="glTextureParameterfvEXT"/>
         </command>
+        <command>
+            <proto>void <name>glTextureParameterfv</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param>const <ptype>GLfloat</ptype> *<name>param</name></param>
+        </command>
         <command>
             <proto>void <name>glTextureParameterfvEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
         </command>
+        <command>
+            <proto>void <name>glTextureParameteri</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> <name>param</name></param>
+        </command>
         <command>
             <proto>void <name>glTextureParameteriEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
             <vecequiv name="glTextureParameterivEXT"/>
         </command>
+        <command>
+            <proto>void <name>glTextureParameteriv</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param>const <ptype>GLint</ptype> *<name>param</name></param>
+        </command>
         <command>
             <proto>void <name>glTextureParameterivEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
             <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
@@ -23039,87 +29800,205 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glTextureRangeAPPLE</name></proto>
             <param><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>length</name></param>
-            <param len="length">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="length">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glTextureRenderbufferEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+            <param class="renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTextureStorage1D</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLsizei</ptype> <name>levels</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
         </command>
         <command>
             <proto>void <name>glTextureStorage1DEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>levels</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTextureStorage2D</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLsizei</ptype> <name>levels</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
         </command>
         <command>
             <proto>void <name>glTextureStorage2DEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>levels</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTextureStorage2DMultisample</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLsizei</ptype> <name>samples</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedsamplelocations</name></param>
         </command>
         <command>
             <proto>void <name>glTextureStorage2DMultisampleEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>samples</name></param>
-            <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedsamplelocations</name></param>
         </command>
+        <command>
+            <proto>void <name>glTextureStorage3D</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLsizei</ptype> <name>levels</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLsizei</ptype> <name>depth</name></param>
+        </command>
         <command>
             <proto>void <name>glTextureStorage3DEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>levels</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
         </command>
+        <command>
+            <proto>void <name>glTextureStorage3DMultisample</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLsizei</ptype> <name>samples</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLsizei</ptype> <name>depth</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedsamplelocations</name></param>
+        </command>
         <command>
             <proto>void <name>glTextureStorage3DMultisampleEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>samples</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedsamplelocations</name></param>
         </command>
+        <command>
+            <proto>void <name>glTextureStorageMem1DEXT</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLsizei</ptype> <name>levels</name></param>
+            <param><ptype>GLenum</ptype> <name>internalFormat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>offset</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTextureStorageMem2DEXT</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLsizei</ptype> <name>levels</name></param>
+            <param><ptype>GLenum</ptype> <name>internalFormat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>offset</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTextureStorageMem2DMultisampleEXT</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLsizei</ptype> <name>samples</name></param>
+            <param><ptype>GLenum</ptype> <name>internalFormat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedSampleLocations</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>offset</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTextureStorageMem3DEXT</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLsizei</ptype> <name>levels</name></param>
+            <param><ptype>GLenum</ptype> <name>internalFormat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLsizei</ptype> <name>depth</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>offset</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTextureStorageMem3DMultisampleEXT</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLsizei</ptype> <name>samples</name></param>
+            <param><ptype>GLenum</ptype> <name>internalFormat</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLsizei</ptype> <name>depth</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedSampleLocations</name></param>
+            <param><ptype>GLuint</ptype> <name>memory</name></param>
+            <param><ptype>GLuint64</ptype> <name>offset</name></param>
+        </command>
         <command>
             <proto>void <name>glTextureStorageSparseAMD</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLenum</ptype> <name>internalFormat</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalFormat</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param><ptype>GLsizei</ptype> <name>layers</name></param>
-            <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+            <param group="TextureStorageMaskAMD"><ptype>GLbitfield</ptype> <name>flags</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTextureSubImage1D</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLint</ptype> <name>xoffset</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param>const void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glTextureSubImage1DEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
             <param><ptype>GLsizei</ptype> <name>width</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width)">const void *<name>pixels</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTextureSubImage2D</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLint</ptype> <name>xoffset</name></param>
+            <param><ptype>GLint</ptype> <name>yoffset</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param>const void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glTextureSubImage2DEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
@@ -23128,11 +30007,25 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>height</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height)">const void *<name>pixels</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTextureSubImage3D</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param><ptype>GLint</ptype> <name>level</name></param>
+            <param><ptype>GLint</ptype> <name>xoffset</name></param>
+            <param><ptype>GLint</ptype> <name>yoffset</name></param>
+            <param><ptype>GLint</ptype> <name>zoffset</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLsizei</ptype> <name>depth</name></param>
+            <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+            <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param>const void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glTextureSubImage3DEXT</name></proto>
-            <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture" group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
             <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
@@ -23143,18 +30036,42 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>depth</name></param>
             <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
             <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="COMPSIZE(format,type,width,height,depth)">const <ptype>GLvoid</ptype> *<name>pixels</name></param>
+            <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
         </command>
         <command>
             <proto>void <name>glTextureView</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
-            <param><ptype>GLenum</ptype> <name>target</name></param>
-            <param><ptype>GLuint</ptype> <name>origtexture</name></param>
-            <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>origtexture</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param><ptype>GLuint</ptype> <name>minlevel</name></param>
+            <param><ptype>GLuint</ptype> <name>numlevels</name></param>
+            <param><ptype>GLuint</ptype> <name>minlayer</name></param>
+            <param><ptype>GLuint</ptype> <name>numlayers</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTextureViewEXT</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>origtexture</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
             <param><ptype>GLuint</ptype> <name>minlevel</name></param>
             <param><ptype>GLuint</ptype> <name>numlevels</name></param>
             <param><ptype>GLuint</ptype> <name>minlayer</name></param>
             <param><ptype>GLuint</ptype> <name>numlayers</name></param>
+            <alias name="glTextureView"/>
+        </command>
+        <command>
+            <proto>void <name>glTextureViewOES</name></proto>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
+            <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>origtexture</name></param>
+            <param group="InternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+            <param><ptype>GLuint</ptype> <name>minlevel</name></param>
+            <param><ptype>GLuint</ptype> <name>numlevels</name></param>
+            <param><ptype>GLuint</ptype> <name>minlayer</name></param>
+            <param><ptype>GLuint</ptype> <name>numlayers</name></param>
+            <alias name="glTextureView"/>
         </command>
         <command>
             <proto>void <name>glTrackMatrixNV</name></proto>
@@ -23166,10 +30083,24 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glTransformFeedbackAttribsNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>count</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="COMPSIZE(count)">const <ptype>GLint</ptype> *<name>attribs</name></param>
             <param><ptype>GLenum</ptype> <name>bufferMode</name></param>
         </command>
+        <command>
+            <proto>void <name>glTransformFeedbackBufferBase</name></proto>
+            <param class="transform feedback"><ptype>GLuint</ptype> <name>xfb</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+        </command>
+        <command>
+            <proto>void <name>glTransformFeedbackBufferRange</name></proto>
+            <param class="transform feedback"><ptype>GLuint</ptype> <name>xfb</name></param>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+        </command>
         <command>
             <proto>void <name>glTransformFeedbackStreamAttribsNV</name></proto>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
@@ -23180,14 +30111,15 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glTransformFeedbackVaryings</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLchar</ptype> *const*<name>varyings</name></param>
-            <param><ptype>GLenum</ptype> <name>bufferMode</name></param>
+            <param group="TransformFeedbackBufferMode"><ptype>GLenum</ptype> <name>bufferMode</name></param>
+            <glx type="render" opcode="359"/>
         </command>
         <command>
             <proto>void <name>glTransformFeedbackVaryingsEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLchar</ptype> *const*<name>varyings</name></param>
             <param><ptype>GLenum</ptype> <name>bufferMode</name></param>
@@ -23195,7 +30127,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glTransformFeedbackVaryingsNV</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLint</ptype> *<name>locations</name></param>
             <param><ptype>GLenum</ptype> <name>bufferMode</name></param>
@@ -23242,7 +30174,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glUniform1dv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*1">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform1f</name></proto>
@@ -23259,13 +30191,13 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glUniform1fv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*1">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform1fvARB</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*1">const <ptype>GLfloat</ptype> *<name>value</name></param>
             <alias name="glUniform1fv"/>
         </command>
         <command>
@@ -23273,16 +30205,27 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLint</ptype> <name>v0</name></param>
         </command>
+        <command>
+            <proto>void <name>glUniform1i64ARB</name></proto>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLint64</ptype> <name>x</name></param>
+        </command>
         <command>
             <proto>void <name>glUniform1i64NV</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLint64EXT</ptype> <name>x</name></param>
         </command>
+        <command>
+            <proto>void <name>glUniform1i64vARB</name></proto>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count*1">const <ptype>GLint64</ptype> *<name>value</name></param>
+        </command>
         <command>
             <proto>void <name>glUniform1i64vNV</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
+            <param len="count*1">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform1iARB</name></proto>
@@ -23294,13 +30237,13 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glUniform1iv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
+            <param len="count*1">const <ptype>GLint</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform1ivARB</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
+            <param len="count*1">const <ptype>GLint</ptype> *<name>value</name></param>
             <alias name="glUniform1iv"/>
         </command>
         <command>
@@ -23308,16 +30251,27 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint</ptype> <name>v0</name></param>
         </command>
+        <command>
+            <proto>void <name>glUniform1ui64ARB</name></proto>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLuint64</ptype> <name>x</name></param>
+        </command>
         <command>
             <proto>void <name>glUniform1ui64NV</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
         </command>
+        <command>
+            <proto>void <name>glUniform1ui64vARB</name></proto>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count*1">const <ptype>GLuint64</ptype> *<name>value</name></param>
+        </command>
         <command>
             <proto>void <name>glUniform1ui64vNV</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+            <param len="count*1">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform1uiEXT</name></proto>
@@ -23329,13 +30283,13 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glUniform1uiv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLuint</ptype> *<name>value</name></param>
+            <param len="count*1">const <ptype>GLuint</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform1uivEXT</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLuint</ptype> *<name>value</name></param>
+            <param len="count*1">const <ptype>GLuint</ptype> *<name>value</name></param>
             <alias name="glUniform1uiv"/>
         </command>
         <command>
@@ -23348,7 +30302,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glUniform2dv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*2">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform2f</name></proto>
@@ -23367,13 +30321,13 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glUniform2fv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*2">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform2fvARB</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*2">const <ptype>GLfloat</ptype> *<name>value</name></param>
             <alias name="glUniform2fv"/>
         </command>
         <command>
@@ -23382,17 +30336,29 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>v0</name></param>
             <param><ptype>GLint</ptype> <name>v1</name></param>
         </command>
+        <command>
+            <proto>void <name>glUniform2i64ARB</name></proto>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLint64</ptype> <name>x</name></param>
+            <param><ptype>GLint64</ptype> <name>y</name></param>
+        </command>
         <command>
             <proto>void <name>glUniform2i64NV</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLint64EXT</ptype> <name>x</name></param>
             <param><ptype>GLint64EXT</ptype> <name>y</name></param>
         </command>
+        <command>
+            <proto>void <name>glUniform2i64vARB</name></proto>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count*2">const <ptype>GLint64</ptype> *<name>value</name></param>
+        </command>
         <command>
             <proto>void <name>glUniform2i64vNV</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="COMPSIZE(count*2)">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
+            <param len="count*2">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform2iARB</name></proto>
@@ -23405,13 +30371,13 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glUniform2iv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
+            <param len="count*2">const <ptype>GLint</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform2ivARB</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
+            <param len="count*2">const <ptype>GLint</ptype> *<name>value</name></param>
             <alias name="glUniform2iv"/>
         </command>
         <command>
@@ -23420,17 +30386,29 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLuint</ptype> <name>v0</name></param>
             <param><ptype>GLuint</ptype> <name>v1</name></param>
         </command>
+        <command>
+            <proto>void <name>glUniform2ui64ARB</name></proto>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLuint64</ptype> <name>x</name></param>
+            <param><ptype>GLuint64</ptype> <name>y</name></param>
+        </command>
         <command>
             <proto>void <name>glUniform2ui64NV</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
             <param><ptype>GLuint64EXT</ptype> <name>y</name></param>
         </command>
+        <command>
+            <proto>void <name>glUniform2ui64vARB</name></proto>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count*2">const <ptype>GLuint64</ptype> *<name>value</name></param>
+        </command>
         <command>
             <proto>void <name>glUniform2ui64vNV</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="COMPSIZE(count*2)">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+            <param len="count*2">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform2uiEXT</name></proto>
@@ -23463,7 +30441,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glUniform3dv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*3">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform3f</name></proto>
@@ -23484,13 +30462,13 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glUniform3fv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*3">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform3fvARB</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*3">const <ptype>GLfloat</ptype> *<name>value</name></param>
             <alias name="glUniform3fv"/>
         </command>
         <command>
@@ -23500,6 +30478,13 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>v1</name></param>
             <param><ptype>GLint</ptype> <name>v2</name></param>
         </command>
+        <command>
+            <proto>void <name>glUniform3i64ARB</name></proto>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLint64</ptype> <name>x</name></param>
+            <param><ptype>GLint64</ptype> <name>y</name></param>
+            <param><ptype>GLint64</ptype> <name>z</name></param>
+        </command>
         <command>
             <proto>void <name>glUniform3i64NV</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
@@ -23507,11 +30492,17 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint64EXT</ptype> <name>y</name></param>
             <param><ptype>GLint64EXT</ptype> <name>z</name></param>
         </command>
+        <command>
+            <proto>void <name>glUniform3i64vARB</name></proto>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count*3">const <ptype>GLint64</ptype> *<name>value</name></param>
+        </command>
         <command>
             <proto>void <name>glUniform3i64vNV</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="COMPSIZE(count*3)">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
+            <param len="count*3">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform3iARB</name></proto>
@@ -23525,13 +30516,13 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glUniform3iv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
+            <param len="count*3">const <ptype>GLint</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform3ivARB</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
+            <param len="count*3">const <ptype>GLint</ptype> *<name>value</name></param>
             <alias name="glUniform3iv"/>
         </command>
         <command>
@@ -23541,6 +30532,13 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLuint</ptype> <name>v1</name></param>
             <param><ptype>GLuint</ptype> <name>v2</name></param>
         </command>
+        <command>
+            <proto>void <name>glUniform3ui64ARB</name></proto>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLuint64</ptype> <name>x</name></param>
+            <param><ptype>GLuint64</ptype> <name>y</name></param>
+            <param><ptype>GLuint64</ptype> <name>z</name></param>
+        </command>
         <command>
             <proto>void <name>glUniform3ui64NV</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
@@ -23548,11 +30546,17 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLuint64EXT</ptype> <name>y</name></param>
             <param><ptype>GLuint64EXT</ptype> <name>z</name></param>
         </command>
+        <command>
+            <proto>void <name>glUniform3ui64vARB</name></proto>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count*3">const <ptype>GLuint64</ptype> *<name>value</name></param>
+        </command>
         <command>
             <proto>void <name>glUniform3ui64vNV</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="COMPSIZE(count*3)">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+            <param len="count*3">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform3uiEXT</name></proto>
@@ -23587,7 +30591,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glUniform4dv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform4f</name></proto>
@@ -23610,13 +30614,13 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glUniform4fv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform4fvARB</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLfloat</ptype> *<name>value</name></param>
             <alias name="glUniform4fv"/>
         </command>
         <command>
@@ -23627,6 +30631,14 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>v2</name></param>
             <param><ptype>GLint</ptype> <name>v3</name></param>
         </command>
+        <command>
+            <proto>void <name>glUniform4i64ARB</name></proto>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLint64</ptype> <name>x</name></param>
+            <param><ptype>GLint64</ptype> <name>y</name></param>
+            <param><ptype>GLint64</ptype> <name>z</name></param>
+            <param><ptype>GLint64</ptype> <name>w</name></param>
+        </command>
         <command>
             <proto>void <name>glUniform4i64NV</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
@@ -23635,11 +30647,17 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint64EXT</ptype> <name>z</name></param>
             <param><ptype>GLint64EXT</ptype> <name>w</name></param>
         </command>
+        <command>
+            <proto>void <name>glUniform4i64vARB</name></proto>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count*4">const <ptype>GLint64</ptype> *<name>value</name></param>
+        </command>
         <command>
             <proto>void <name>glUniform4i64vNV</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="COMPSIZE(count*4)">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform4iARB</name></proto>
@@ -23654,13 +30672,13 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glUniform4iv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLint</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform4ivARB</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLint</ptype> *<name>value</name></param>
             <alias name="glUniform4iv"/>
         </command>
         <command>
@@ -23671,6 +30689,14 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLuint</ptype> <name>v2</name></param>
             <param><ptype>GLuint</ptype> <name>v3</name></param>
         </command>
+        <command>
+            <proto>void <name>glUniform4ui64ARB</name></proto>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLuint64</ptype> <name>x</name></param>
+            <param><ptype>GLuint64</ptype> <name>y</name></param>
+            <param><ptype>GLuint64</ptype> <name>z</name></param>
+            <param><ptype>GLuint64</ptype> <name>w</name></param>
+        </command>
         <command>
             <proto>void <name>glUniform4ui64NV</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
@@ -23679,11 +30705,17 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLuint64EXT</ptype> <name>z</name></param>
             <param><ptype>GLuint64EXT</ptype> <name>w</name></param>
         </command>
+        <command>
+            <proto>void <name>glUniform4ui64vARB</name></proto>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count*4">const <ptype>GLuint64</ptype> *<name>value</name></param>
+        </command>
         <command>
             <proto>void <name>glUniform4ui64vNV</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="COMPSIZE(count*4)">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniform4uiEXT</name></proto>
@@ -23709,21 +30741,28 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glUniformBlockBinding</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLuint</ptype> <name>uniformBlockIndex</name></param>
             <param><ptype>GLuint</ptype> <name>uniformBlockBinding</name></param>
+            <glx type="render" opcode="366"/>
         </command>
         <command>
             <proto>void <name>glUniformBufferEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
             <param><ptype>GLint</ptype> <name>location</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
         </command>
         <command>
             <proto>void <name>glUniformHandleui64ARB</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLuint64</ptype> <name>value</name></param>
         </command>
+        <command>
+            <proto>void <name>glUniformHandleui64IMG</name></proto>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLuint64</ptype> <name>value</name></param>
+            <alias name="glUniformHandleui64ARB"/>
+        </command>
         <command>
             <proto>void <name>glUniformHandleui64NV</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
@@ -23733,7 +30772,14 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glUniformHandleui64vARB</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param>const <ptype>GLuint64</ptype> *<name>value</name></param>
+            <param len="count">const <ptype>GLuint64</ptype> *<name>value</name></param>
+        </command>
+        <command>
+            <proto>void <name>glUniformHandleui64vIMG</name></proto>
+            <param><ptype>GLint</ptype> <name>location</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="count">const <ptype>GLuint64</ptype> *<name>value</name></param>
+            <alias name="glUniformHandleui64vARB"/>
         </command>
         <command>
             <proto>void <name>glUniformHandleui64vNV</name></proto>
@@ -23746,21 +30792,21 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniformMatrix2fv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniformMatrix2fvARB</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*4">const <ptype>GLfloat</ptype> *<name>value</name></param>
             <alias name="glUniformMatrix2fv"/>
         </command>
         <command>
@@ -23768,14 +30814,14 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*6">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniformMatrix2x3fv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="6">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*6">const <ptype>GLfloat</ptype> *<name>value</name></param>
             <glx type="render" opcode="305"/>
         </command>
         <command>
@@ -23783,7 +30829,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="6">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*6">const <ptype>GLfloat</ptype> *<name>value</name></param>
             <alias name="glUniformMatrix2x3fv"/>
         </command>
         <command>
@@ -23791,14 +30837,14 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*8">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniformMatrix2x4fv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="8">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*8">const <ptype>GLfloat</ptype> *<name>value</name></param>
             <glx type="render" opcode="307"/>
         </command>
         <command>
@@ -23806,7 +30852,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="8">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*8">const <ptype>GLfloat</ptype> *<name>value</name></param>
             <alias name="glUniformMatrix2x4fv"/>
         </command>
         <command>
@@ -23814,21 +30860,21 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*9">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniformMatrix3fv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*9">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniformMatrix3fvARB</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*9">const <ptype>GLfloat</ptype> *<name>value</name></param>
             <alias name="glUniformMatrix3fv"/>
         </command>
         <command>
@@ -23836,14 +30882,14 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*6">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniformMatrix3x2fv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="6">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*6">const <ptype>GLfloat</ptype> *<name>value</name></param>
             <glx type="render" opcode="306"/>
         </command>
         <command>
@@ -23851,22 +30897,22 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="6">const <ptype>GLfloat</ptype> *<name>value</name></param>
-            <alias name="glUniformMatrix3x2"/>
+            <param len="count*6">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <alias name="glUniformMatrix3x2fv"/>
         </command>
         <command>
             <proto>void <name>glUniformMatrix3x4dv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*12">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniformMatrix3x4fv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="12">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*12">const <ptype>GLfloat</ptype> *<name>value</name></param>
             <glx type="render" opcode="309"/>
         </command>
         <command>
@@ -23874,7 +30920,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="12">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*12">const <ptype>GLfloat</ptype> *<name>value</name></param>
             <alias name="glUniformMatrix3x4fv"/>
         </command>
         <command>
@@ -23882,21 +30928,21 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*16">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniformMatrix4fv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*16">const <ptype>GLfloat</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniformMatrix4fvARB</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*16">const <ptype>GLfloat</ptype> *<name>value</name></param>
             <alias name="glUniformMatrix4fv"/>
         </command>
         <command>
@@ -23904,14 +30950,14 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*8">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniformMatrix4x2fv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="8">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*8">const <ptype>GLfloat</ptype> *<name>value</name></param>
             <glx type="render" opcode="308"/>
         </command>
         <command>
@@ -23919,7 +30965,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="8">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*8">const <ptype>GLfloat</ptype> *<name>value</name></param>
             <alias name="glUniformMatrix4x2fv"/>
         </command>
         <command>
@@ -23927,14 +30973,14 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+            <param len="count*12">const <ptype>GLdouble</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUniformMatrix4x3fv</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="12">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*12">const <ptype>GLfloat</ptype> *<name>value</name></param>
             <glx type="render" opcode="310"/>
         </command>
         <command>
@@ -23942,12 +30988,12 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
-            <param len="12">const <ptype>GLfloat</ptype> *<name>value</name></param>
+            <param len="count*12">const <ptype>GLfloat</ptype> *<name>value</name></param>
             <alias name="glUniformMatrix4x3fv"/>
         </command>
         <command>
             <proto>void <name>glUniformSubroutinesuiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>shadertype</name></param>
+            <param group="ShaderType"><ptype>GLenum</ptype> <name>shadertype</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="count">const <ptype>GLuint</ptype> *<name>indices</name></param>
         </command>
@@ -23960,7 +31006,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glUniformui64vNV</name></proto>
             <param><ptype>GLint</ptype> <name>location</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="count">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+            <param len="count*1">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glUnlockArraysEXT</name></proto>
@@ -23975,33 +31021,42 @@ typedef unsigned int GLhandleARB;
             <alias name="glUnmapBuffer"/>
         </command>
         <command>
-            <proto><ptype>GLboolean</ptype> <name>glUnmapBufferOES</name></proto>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glUnmapBufferOES</name></proto>
             <param><ptype>GLenum</ptype> <name>target</name></param>
+            <alias name="glUnmapBuffer"/>
+        </command>
+        <command>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glUnmapNamedBuffer</name></proto>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
         </command>
         <command>
             <proto group="Boolean"><ptype>GLboolean</ptype> <name>glUnmapNamedBufferEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
         </command>
         <command>
             <proto>void <name>glUnmapObjectBufferATI</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
         </command>
         <command>
             <proto>void <name>glUnmapTexture2DINTEL</name></proto>
-            <param><ptype>GLuint</ptype> <name>texture</name></param>
+            <param class="texture"><ptype>GLuint</ptype> <name>texture</name></param>
             <param><ptype>GLint</ptype> <name>level</name></param>
         </command>
         <command>
             <proto>void <name>glUpdateObjectBufferATI</name></proto>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param><ptype>GLuint</ptype> <name>offset</name></param>
             <param><ptype>GLsizei</ptype> <name>size</name></param>
-            <param len="size">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="size">const void *<name>pointer</name></param>
             <param group="PreserveModeATI"><ptype>GLenum</ptype> <name>preserve</name></param>
         </command>
+        <command>
+            <proto>void <name>glUploadGpuMaskNVX</name></proto>
+            <param><ptype>GLbitfield</ptype> <name>mask</name></param>
+        </command>
         <command>
             <proto>void <name>glUseProgram</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
         </command>
         <command>
             <proto>void <name>glUseProgramObjectARB</name></proto>
@@ -24010,20 +31065,20 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glUseProgramStages</name></proto>
-            <param><ptype>GLuint</ptype> <name>pipeline</name></param>
-            <param><ptype>GLbitfield</ptype> <name>stages</name></param>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program pipeline"><ptype>GLuint</ptype> <name>pipeline</name></param>
+            <param group="UseProgramStageMask"><ptype>GLbitfield</ptype> <name>stages</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
         </command>
         <command>
             <proto>void <name>glUseProgramStagesEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>pipeline</name></param>
-            <param><ptype>GLbitfield</ptype> <name>stages</name></param>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program pipeline"><ptype>GLuint</ptype> <name>pipeline</name></param>
+            <param group="UseProgramStageMask"><ptype>GLbitfield</ptype> <name>stages</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
         </command>
         <command>
             <proto>void <name>glUseShaderProgramEXT</name></proto>
             <param><ptype>GLenum</ptype> <name>type</name></param>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
         </command>
         <command>
             <proto>void <name>glVDPAUFiniNV</name></proto>
@@ -24032,17 +31087,17 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glVDPAUGetSurfaceivNV</name></proto>
             <param group="vdpauSurfaceNV"><ptype>GLvdpauSurfaceNV</ptype> <name>surface</name></param>
             <param><ptype>GLenum</ptype> <name>pname</name></param>
-            <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param><ptype>GLsizei</ptype> *<name>length</name></param>
-            <param len="bufSize"><ptype>GLint</ptype> *<name>values</name></param>
+            <param len="count"><ptype>GLint</ptype> *<name>values</name></param>
         </command>
         <command>
             <proto>void <name>glVDPAUInitNV</name></proto>
-            <param>const <ptype>GLvoid</ptype> *<name>vdpDevice</name></param>
-            <param>const <ptype>GLvoid</ptype> *<name>getProcAddress</name></param>
+            <param>const void *<name>vdpDevice</name></param>
+            <param>const void *<name>getProcAddress</name></param>
         </command>
         <command>
-            <proto>void <name>glVDPAUIsSurfaceNV</name></proto>
+            <proto group="Boolean"><ptype>GLboolean</ptype> <name>glVDPAUIsSurfaceNV</name></proto>
             <param group="vdpauSurfaceNV"><ptype>GLvdpauSurfaceNV</ptype> <name>surface</name></param>
         </command>
         <command>
@@ -24052,18 +31107,26 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto group="vdpauSurfaceNV"><ptype>GLvdpauSurfaceNV</ptype> <name>glVDPAURegisterOutputSurfaceNV</name></proto>
-            <param>const <ptype>GLvoid</ptype> *<name>vdpSurface</name></param>
+            <param>const void *<name>vdpSurface</name></param>
             <param><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>numTextureNames</name></param>
             <param len="numTextureNames">const <ptype>GLuint</ptype> *<name>textureNames</name></param>
         </command>
         <command>
             <proto group="vdpauSurfaceNV"><ptype>GLvdpauSurfaceNV</ptype> <name>glVDPAURegisterVideoSurfaceNV</name></proto>
-            <param>const <ptype>GLvoid</ptype> *<name>vdpSurface</name></param>
+            <param>const void *<name>vdpSurface</name></param>
             <param><ptype>GLenum</ptype> <name>target</name></param>
             <param><ptype>GLsizei</ptype> <name>numTextureNames</name></param>
             <param len="numTextureNames">const <ptype>GLuint</ptype> *<name>textureNames</name></param>
         </command>
+        <command>
+            <proto group="vdpauSurfaceNV"><ptype>GLvdpauSurfaceNV</ptype> <name>glVDPAURegisterVideoSurfaceWithPictureStructureNV</name></proto>
+            <param>const void *<name>vdpSurface</name></param>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLsizei</ptype> <name>numTextureNames</name></param>
+            <param len="numTextureNames">const <ptype>GLuint</ptype> *<name>textureNames</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>isFrameStructure</name></param>
+        </command>
         <command>
             <proto>void <name>glVDPAUSurfaceAccessNV</name></proto>
             <param group="vdpauSurfaceNV"><ptype>GLvdpauSurfaceNV</ptype> <name>surface</name></param>
@@ -24080,7 +31143,7 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glValidateProgram</name></proto>
-            <param><ptype>GLuint</ptype> <name>program</name></param>
+            <param class="program"><ptype>GLuint</ptype> <name>program</name></param>
         </command>
         <command>
             <proto>void <name>glValidateProgramARB</name></proto>
@@ -24089,18 +31152,18 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glValidateProgramPipeline</name></proto>
-            <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+            <param class="program pipeline"><ptype>GLuint</ptype> <name>pipeline</name></param>
         </command>
         <command>
             <proto>void <name>glValidateProgramPipelineEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+            <param class="program pipeline"><ptype>GLuint</ptype> <name>pipeline</name></param>
         </command>
         <command>
             <proto>void <name>glVariantArrayObjectATI</name></proto>
             <param><ptype>GLuint</ptype> <name>id</name></param>
             <param group="ScalarType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param><ptype>GLuint</ptype> <name>offset</name></param>
         </command>
         <command>
@@ -24108,7 +31171,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLuint</ptype> <name>id</name></param>
             <param group="ScalarType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(id,type,stride)">const <ptype>GLvoid</ptype> *<name>addr</name></param>
+            <param len="COMPSIZE(id,type,stride)">const void *<name>addr</name></param>
         </command>
         <command>
             <proto>void <name>glVariantbvEXT</name></proto>
@@ -24153,6 +31216,7 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glVertex2bOES</name></proto>
             <param><ptype>GLbyte</ptype> <name>x</name></param>
+            <param><ptype>GLbyte</ptype> <name>y</name></param>
         </command>
         <command>
             <proto>void <name>glVertex2bvOES</name></proto>
@@ -24225,6 +31289,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glVertex3bOES</name></proto>
             <param><ptype>GLbyte</ptype> <name>x</name></param>
             <param><ptype>GLbyte</ptype> <name>y</name></param>
+            <param><ptype>GLbyte</ptype> <name>z</name></param>
         </command>
         <command>
             <proto>void <name>glVertex3bvOES</name></proto>
@@ -24304,6 +31369,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLbyte</ptype> <name>x</name></param>
             <param><ptype>GLbyte</ptype> <name>y</name></param>
             <param><ptype>GLbyte</ptype> <name>z</name></param>
+            <param><ptype>GLbyte</ptype> <name>w</name></param>
         </command>
         <command>
             <proto>void <name>glVertex4bvOES</name></proto>
@@ -24384,18 +31450,55 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glVertex4xvOES</name></proto>
             <param len="4">const <ptype>GLfixed</ptype> *<name>coords</name></param>
         </command>
+        <command>
+            <proto>void <name>glVertexArrayAttribBinding</name></proto>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param><ptype>GLuint</ptype> <name>attribindex</name></param>
+            <param><ptype>GLuint</ptype> <name>bindingindex</name></param>
+        </command>
+        <command>
+            <proto>void <name>glVertexArrayAttribFormat</name></proto>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param><ptype>GLuint</ptype> <name>attribindex</name></param>
+            <param><ptype>GLint</ptype> <name>size</name></param>
+            <param group="VertexAttribType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
+            <param><ptype>GLuint</ptype> <name>relativeoffset</name></param>
+        </command>
+        <command>
+            <proto>void <name>glVertexArrayAttribIFormat</name></proto>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param><ptype>GLuint</ptype> <name>attribindex</name></param>
+            <param><ptype>GLint</ptype> <name>size</name></param>
+            <param group="VertexAttribIType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param><ptype>GLuint</ptype> <name>relativeoffset</name></param>
+        </command>
+        <command>
+            <proto>void <name>glVertexArrayAttribLFormat</name></proto>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param><ptype>GLuint</ptype> <name>attribindex</name></param>
+            <param><ptype>GLint</ptype> <name>size</name></param>
+            <param group="VertexAttribLType"><ptype>GLenum</ptype> <name>type</name></param>
+            <param><ptype>GLuint</ptype> <name>relativeoffset</name></param>
+        </command>
         <command>
             <proto>void <name>glVertexArrayBindVertexBufferEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
             <param><ptype>GLuint</ptype> <name>bindingindex</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
         </command>
+        <command>
+            <proto>void <name>glVertexArrayBindingDivisor</name></proto>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param><ptype>GLuint</ptype> <name>bindingindex</name></param>
+            <param><ptype>GLuint</ptype> <name>divisor</name></param>
+        </command>
         <command>
             <proto>void <name>glVertexArrayColorOffsetEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
@@ -24403,31 +31506,36 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glVertexArrayEdgeFlagOffsetEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
             <param><ptype>GLintptr</ptype> <name>offset</name></param>
         </command>
+        <command>
+            <proto>void <name>glVertexArrayElementBuffer</name></proto>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+        </command>
         <command>
             <proto>void <name>glVertexArrayFogCoordOffsetEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param group="FogCoordinatePointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
             <param><ptype>GLintptr</ptype> <name>offset</name></param>
         </command>
         <command>
             <proto>void <name>glVertexArrayIndexOffsetEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param group="IndexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
             <param><ptype>GLintptr</ptype> <name>offset</name></param>
         </command>
         <command>
             <proto>void <name>glVertexArrayMultiTexCoordOffsetEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param><ptype>GLenum</ptype> <name>texunit</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
@@ -24436,8 +31544,8 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glVertexArrayNormalOffsetEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param group="NormalPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
             <param><ptype>GLintptr</ptype> <name>offset</name></param>
@@ -24450,17 +31558,17 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glVertexArrayRangeAPPLE</name></proto>
             <param><ptype>GLsizei</ptype> <name>length</name></param>
-            <param len="length"><ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="length">void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glVertexArrayRangeNV</name></proto>
             <param><ptype>GLsizei</ptype> <name>length</name></param>
-            <param len="COMPSIZE(length)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(length)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glVertexArraySecondaryColorOffsetEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
@@ -24468,8 +31576,8 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glVertexArrayTexCoordOffsetEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
@@ -24477,82 +31585,99 @@ typedef unsigned int GLhandleARB;
         </command>
         <command>
             <proto>void <name>glVertexArrayVertexAttribBindingEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
             <param><ptype>GLuint</ptype> <name>attribindex</name></param>
             <param><ptype>GLuint</ptype> <name>bindingindex</name></param>
         </command>
         <command>
             <proto>void <name>glVertexArrayVertexAttribDivisorEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLuint</ptype> <name>divisor</name></param>
         </command>
         <command>
             <proto>void <name>glVertexArrayVertexAttribFormatEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
             <param><ptype>GLuint</ptype> <name>attribindex</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribType"><ptype>GLenum</ptype> <name>type</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
             <param><ptype>GLuint</ptype> <name>relativeoffset</name></param>
         </command>
         <command>
             <proto>void <name>glVertexArrayVertexAttribIFormatEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
             <param><ptype>GLuint</ptype> <name>attribindex</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribIType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>relativeoffset</name></param>
         </command>
         <command>
             <proto>void <name>glVertexArrayVertexAttribIOffsetEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
-            <param group="VertexAttribEnum"><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
             <param><ptype>GLintptr</ptype> <name>offset</name></param>
         </command>
         <command>
             <proto>void <name>glVertexArrayVertexAttribLFormatEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
             <param><ptype>GLuint</ptype> <name>attribindex</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribLType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>relativeoffset</name></param>
         </command>
         <command>
             <proto>void <name>glVertexArrayVertexAttribLOffsetEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribLType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
             <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
         </command>
         <command>
             <proto>void <name>glVertexArrayVertexAttribOffsetEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="VertexAttribPointerType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param><ptype>GLboolean</ptype> <name>normalized</name></param>
+            <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
             <param><ptype>GLintptr</ptype> <name>offset</name></param>
         </command>
         <command>
             <proto>void <name>glVertexArrayVertexBindingDivisorEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
             <param><ptype>GLuint</ptype> <name>bindingindex</name></param>
             <param><ptype>GLuint</ptype> <name>divisor</name></param>
         </command>
+        <command>
+            <proto>void <name>glVertexArrayVertexBuffer</name></proto>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param><ptype>GLuint</ptype> <name>bindingindex</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param><ptype>GLintptr</ptype> <name>offset</name></param>
+            <param><ptype>GLsizei</ptype> <name>stride</name></param>
+        </command>
+        <command>
+            <proto>void <name>glVertexArrayVertexBuffers</name></proto>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param><ptype>GLuint</ptype> <name>first</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param class="buffer">const <ptype>GLuint</ptype> *<name>buffers</name></param>
+            <param>const <ptype>GLintptr</ptype> *<name>offsets</name></param>
+            <param>const <ptype>GLsizei</ptype> *<name>strides</name></param>
+        </command>
         <command>
             <proto>void <name>glVertexArrayVertexOffsetEXT</name></proto>
-            <param><ptype>GLuint</ptype> <name>vaobj</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="vertex array"><ptype>GLuint</ptype> <name>vaobj</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
@@ -25310,7 +32435,7 @@ typedef unsigned int GLhandleARB;
             <param group="VertexAttribPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+            <param class="buffer"><ptype>GLuint</ptype> <name>buffer</name></param>
             <param><ptype>GLuint</ptype> <name>offset</name></param>
         </command>
         <command>
@@ -25327,6 +32452,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glVertexAttribDivisorANGLE</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLuint</ptype> <name>divisor</name></param>
+            <alias name="glVertexAttribDivisor"/>
         </command>
         <command>
             <proto>void <name>glVertexAttribDivisorARB</name></proto>
@@ -25344,12 +32470,13 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glVertexAttribDivisorNV</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLuint</ptype> <name>divisor</name></param>
+            <alias name="glVertexAttribDivisor"/>
         </command>
         <command>
             <proto>void <name>glVertexAttribFormat</name></proto>
             <param><ptype>GLuint</ptype> <name>attribindex</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribType"><ptype>GLenum</ptype> <name>type</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
             <param><ptype>GLuint</ptype> <name>relativeoffset</name></param>
         </command>
@@ -25357,7 +32484,7 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glVertexAttribFormatNV</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribType"><ptype>GLenum</ptype> <name>type</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
         </command>
@@ -25625,31 +32752,31 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glVertexAttribIFormat</name></proto>
             <param><ptype>GLuint</ptype> <name>attribindex</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribIType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>relativeoffset</name></param>
         </command>
         <command>
             <proto>void <name>glVertexAttribIFormatNV</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribIType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
         </command>
         <command>
             <proto>void <name>glVertexAttribIPointer</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
-            <param group="VertexAttribEnum"><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribIType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(size,type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glVertexAttribIPointerEXT</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
-            <param group="VertexAttribEnum"><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribIType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(size,type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
             <alias name="glVertexAttribIPointer"/>
         </command>
         <command>
@@ -25858,86 +32985,86 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glVertexAttribLFormat</name></proto>
             <param><ptype>GLuint</ptype> <name>attribindex</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribLType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>relativeoffset</name></param>
         </command>
         <command>
             <proto>void <name>glVertexAttribLFormatNV</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribLType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
         </command>
         <command>
             <proto>void <name>glVertexAttribLPointer</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribLType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="size">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="size">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glVertexAttribLPointerEXT</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param><ptype>GLint</ptype> <name>size</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribLType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="size">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="size">const void *<name>pointer</name></param>
             <alias name="glVertexAttribLPointer"/>
         </command>
         <command>
             <proto>void <name>glVertexAttribP1ui</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
             <param><ptype>GLuint</ptype> <name>value</name></param>
         </command>
         <command>
             <proto>void <name>glVertexAttribP1uiv</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glVertexAttribP2ui</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
             <param><ptype>GLuint</ptype> <name>value</name></param>
         </command>
         <command>
             <proto>void <name>glVertexAttribP2uiv</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glVertexAttribP3ui</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
             <param><ptype>GLuint</ptype> <name>value</name></param>
         </command>
         <command>
             <proto>void <name>glVertexAttribP3uiv</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glVertexAttribP4ui</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
             <param><ptype>GLuint</ptype> <name>value</name></param>
         </command>
         <command>
             <proto>void <name>glVertexAttribP4uiv</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexAttribPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>value</name></param>
         </command>
@@ -25954,7 +33081,7 @@ typedef unsigned int GLhandleARB;
             <param group="VertexAttribPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(size,type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glVertexAttribPointerARB</name></proto>
@@ -25963,7 +33090,7 @@ typedef unsigned int GLhandleARB;
             <param group="VertexAttribPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(size,type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
             <alias name="glVertexAttribPointer"/>
         </command>
         <command>
@@ -25972,7 +33099,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>fsize</name></param>
             <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(fsize,type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(fsize,type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glVertexAttribs1dvNV</name></proto>
@@ -26116,37 +33243,37 @@ typedef unsigned int GLhandleARB;
         <command>
             <proto>void <name>glVertexFormatNV</name></proto>
             <param><ptype>GLint</ptype> <name>size</name></param>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
         </command>
         <command>
             <proto>void <name>glVertexP2ui</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>value</name></param>
         </command>
         <command>
             <proto>void <name>glVertexP2uiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glVertexP3ui</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>value</name></param>
         </command>
         <command>
             <proto>void <name>glVertexP3uiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>value</name></param>
         </command>
         <command>
             <proto>void <name>glVertexP4ui</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLuint</ptype> <name>value</name></param>
         </command>
         <command>
             <proto>void <name>glVertexP4uiv</name></proto>
-            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param len="1">const <ptype>GLuint</ptype> *<name>value</name></param>
         </command>
         <command>
@@ -26154,7 +33281,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(size,type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glVertexPointerEXT</name></proto>
@@ -26162,21 +33289,21 @@ typedef unsigned int GLhandleARB;
             <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
             <param><ptype>GLsizei</ptype> <name>count</name></param>
-            <param len="COMPSIZE(size,type,stride,count)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride,count)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glVertexPointerListIBM</name></proto>
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLint</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(size,type,stride)">const <ptype>GLvoid</ptype> **<name>pointer</name></param>
+            <param len="COMPSIZE(size,type,stride)">const void **<name>pointer</name></param>
             <param><ptype>GLint</ptype> <name>ptrstride</name></param>
         </command>
         <command>
             <proto>void <name>glVertexPointervINTEL</name></proto>
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
-            <param len="4">const <ptype>GLvoid</ptype> **<name>pointer</name></param>
+            <param len="4">const void **<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glVertexStream1dATI</name></proto>
@@ -26367,7 +33494,7 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="VertexWeightPointerTypeEXT"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glVertexWeightfEXT</name></proto>
@@ -26430,6 +33557,20 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLsizei</ptype> <name>count</name></param>
             <param len="COMPSIZE(count)">const <ptype>GLfloat</ptype> *<name>v</name></param>
         </command>
+        <command>
+            <proto>void <name>glViewportArrayvNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>first</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="COMPSIZE(count)">const <ptype>GLfloat</ptype> *<name>v</name></param>
+            <alias name="glViewportArrayv"/>
+        </command>
+        <command>
+            <proto>void <name>glViewportArrayvOES</name></proto>
+            <param><ptype>GLuint</ptype> <name>first</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="COMPSIZE(count)">const <ptype>GLfloat</ptype> *<name>v</name></param>
+            <alias name="glViewportArrayv"/>
+        </command>
         <command>
             <proto>void <name>glViewportIndexedf</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
@@ -26438,22 +33579,83 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLfloat</ptype> <name>w</name></param>
             <param><ptype>GLfloat</ptype> <name>h</name></param>
         </command>
+        <command>
+            <proto>void <name>glViewportIndexedfOES</name></proto>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param><ptype>GLfloat</ptype> <name>x</name></param>
+            <param><ptype>GLfloat</ptype> <name>y</name></param>
+            <param><ptype>GLfloat</ptype> <name>w</name></param>
+            <param><ptype>GLfloat</ptype> <name>h</name></param>
+            <alias name="glViewportIndexedf"/>
+        </command>
+        <command>
+            <proto>void <name>glViewportIndexedfNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param><ptype>GLfloat</ptype> <name>x</name></param>
+            <param><ptype>GLfloat</ptype> <name>y</name></param>
+            <param><ptype>GLfloat</ptype> <name>w</name></param>
+            <param><ptype>GLfloat</ptype> <name>h</name></param>
+            <alias name="glViewportIndexedf"/>
+        </command>
         <command>
             <proto>void <name>glViewportIndexedfv</name></proto>
             <param><ptype>GLuint</ptype> <name>index</name></param>
             <param len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
         </command>
+        <command>
+            <proto>void <name>glViewportIndexedfvOES</name></proto>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+            <alias name="glViewportIndexedfv"/>
+        </command>
+        <command>
+            <proto>void <name>glViewportIndexedfvNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+            <alias name="glViewportIndexedfv"/>
+        </command>
+        <command>
+            <proto>void <name>glViewportPositionWScaleNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param><ptype>GLfloat</ptype> <name>xcoeff</name></param>
+            <param><ptype>GLfloat</ptype> <name>ycoeff</name></param>
+        </command>
+        <command>
+            <proto>void <name>glViewportSwizzleNV</name></proto>
+            <param><ptype>GLuint</ptype> <name>index</name></param>
+            <param><ptype>GLenum</ptype> <name>swizzlex</name></param>
+            <param><ptype>GLenum</ptype> <name>swizzley</name></param>
+            <param><ptype>GLenum</ptype> <name>swizzlez</name></param>
+            <param><ptype>GLenum</ptype> <name>swizzlew</name></param>
+        </command>
+        <command>
+            <proto>void <name>glWaitSemaphoreEXT</name></proto>
+            <param><ptype>GLuint</ptype> <name>semaphore</name></param>
+            <param><ptype>GLuint</ptype> <name>numBufferBarriers</name></param>
+            <param class="buffer" len="COMPSIZE(numBufferBarriers)">const <ptype>GLuint</ptype> *<name>buffers</name></param>
+            <param><ptype>GLuint</ptype> <name>numTextureBarriers</name></param>
+            <param class="texture" len="COMPSIZE(numTextureBarriers)">const <ptype>GLuint</ptype> *<name>textures</name></param>
+            <param group="TextureLayout" len="COMPSIZE(numTextureBarriers)">const <ptype>GLenum</ptype> *<name>srcLayouts</name></param>
+        </command>
+        <command>
+            <proto>void <name>glWaitSemaphoreui64NVX</name></proto>
+            <param><ptype>GLuint</ptype> <name>waitGpu</name></param>
+            <param><ptype>GLsizei</ptype> <name>fenceObjectCount</name></param>
+            <param len="fenceObjectCount">const <ptype>GLuint</ptype> *<name>semaphoreArray</name></param>
+            <param len="fenceObjectCount">const <ptype>GLuint64</ptype> *<name>fenceValueArray</name></param>
+        </command>
         <command>
             <proto>void <name>glWaitSync</name></proto>
-            <param group="sync"><ptype>GLsync</ptype> <name>sync</name></param>
-            <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+            <param class="sync" group="sync"><ptype>GLsync</ptype> <name>sync</name></param>
+            <param group="SyncBehaviorFlags"><ptype>GLbitfield</ptype> <name>flags</name></param>
             <param><ptype>GLuint64</ptype> <name>timeout</name></param>
         </command>
         <command>
             <proto>void <name>glWaitSyncAPPLE</name></proto>
-            <param><ptype>GLsync</ptype> <name>sync</name></param>
-            <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+            <param class="sync"><ptype>GLsync</ptype> <name>sync</name></param>
+            <param group="SyncBehaviorFlags"><ptype>GLbitfield</ptype> <name>flags</name></param>
             <param><ptype>GLuint64</ptype> <name>timeout</name></param>
+            <alias name="glWaitSync"/>
         </command>
         <command>
             <proto>void <name>glWeightPathsNV</name></proto>
@@ -26467,14 +33669,14 @@ typedef unsigned int GLhandleARB;
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param group="WeightPointerTypeARB"><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param len="COMPSIZE(type,stride)">const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glWeightPointerOES</name></proto>
             <param><ptype>GLint</ptype> <name>size</name></param>
             <param><ptype>GLenum</ptype> <name>type</name></param>
             <param><ptype>GLsizei</ptype> <name>stride</name></param>
-            <param>const <ptype>GLvoid</ptype> *<name>pointer</name></param>
+            <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
         </command>
         <command>
             <proto>void <name>glWeightbvARB</name></proto>
@@ -26872,6 +34074,12 @@ typedef unsigned int GLhandleARB;
             <proto>void <name>glWindowPos4svMESA</name></proto>
             <param group="CoordS" len="4">const <ptype>GLshort</ptype> *<name>v</name></param>
         </command>
+        <command>
+            <proto>void <name>glWindowRectanglesEXT</name></proto>
+            <param><ptype>GLenum</ptype> <name>mode</name></param>
+            <param><ptype>GLsizei</ptype> <name>count</name></param>
+            <param len="COMPSIZE(count)">const <ptype>GLint</ptype> *<name>box</name></param>
+        </command>
         <command>
             <proto>void <name>glWriteMaskEXT</name></proto>
             <param><ptype>GLuint</ptype> <name>res</name></param>
@@ -26881,59 +34089,2047 @@ typedef unsigned int GLhandleARB;
             <param group="VertexShaderWriteMaskEXT"><ptype>GLenum</ptype> <name>outZ</name></param>
             <param group="VertexShaderWriteMaskEXT"><ptype>GLenum</ptype> <name>outW</name></param>
         </command>
+        <command>
+            <proto>void <name>glDrawVkImageNV</name></proto>
+            <param><ptype>GLuint64</ptype> <name>vkImage</name></param>
+            <param class="sampler"><ptype>GLuint</ptype> <name>sampler</name></param>
+            <param><ptype>GLfloat</ptype> <name>x0</name></param>
+            <param><ptype>GLfloat</ptype> <name>y0</name></param>
+            <param><ptype>GLfloat</ptype> <name>x1</name></param>
+            <param><ptype>GLfloat</ptype> <name>y1</name></param>
+            <param><ptype>GLfloat</ptype> <name>z</name></param>
+            <param><ptype>GLfloat</ptype> <name>s0</name></param>
+            <param><ptype>GLfloat</ptype> <name>t0</name></param>
+            <param><ptype>GLfloat</ptype> <name>s1</name></param>
+            <param><ptype>GLfloat</ptype> <name>t1</name></param>
+        </command>
+        <command>
+            <proto><ptype>GLVULKANPROCNV</ptype> <name>glGetVkProcAddrNV</name></proto>
+            <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
+        </command>
+        <command>
+            <proto>void <name>glWaitVkSemaphoreNV</name></proto>
+            <param><ptype>GLuint64</ptype> <name>vkSemaphore</name></param>
+        </command>
+        <command>
+            <proto>void <name>glSignalVkSemaphoreNV</name></proto>
+            <param><ptype>GLuint64</ptype> <name>vkSemaphore</name></param>
+        </command>
+        <command>
+            <proto>void <name>glSignalVkFenceNV</name></proto>
+            <param><ptype>GLuint64</ptype> <name>vkFence</name></param>
+        </command>
+         <command>
+            <proto>void <name>glFramebufferParameteriMESA</name></proto>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param><ptype>GLint</ptype> <name>param</name></param>
+        </command>
+        <command>
+            <proto>void <name>glGetFramebufferParameterivMESA</name></proto>
+            <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+            <param group="FramebufferAttachmentParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+            <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+        </command>
+
     </commands>
 
     <!-- SECTION: GL API interface definitions. -->
     <feature api="gl" name="GL_VERSION_1_0" number="1.0">
         <require>
-            <command name="glCullFace"/>
-            <command name="glFrontFace"/>
-            <command name="glHint"/>
-            <command name="glLineWidth"/>
-            <command name="glPointSize"/>
-            <command name="glPolygonMode"/>
-            <command name="glScissor"/>
-            <command name="glTexParameterf"/>
-            <command name="glTexParameterfv"/>
-            <command name="glTexParameteri"/>
-            <command name="glTexParameteriv"/>
-            <command name="glTexImage1D"/>
-            <command name="glTexImage2D"/>
-            <command name="glDrawBuffer"/>
-            <command name="glClear"/>
-            <command name="glClearColor"/>
-            <command name="glClearStencil"/>
-            <command name="glClearDepth"/>
-            <command name="glStencilMask"/>
-            <command name="glColorMask"/>
-            <command name="glDepthMask"/>
-            <command name="glDisable"/>
-            <command name="glEnable"/>
-            <command name="glFinish"/>
-            <command name="glFlush"/>
-            <command name="glBlendFunc"/>
-            <command name="glLogicOp"/>
-            <command name="glStencilFunc"/>
-            <command name="glStencilOp"/>
-            <command name="glDepthFunc"/>
-            <command name="glPixelStoref"/>
-            <command name="glPixelStorei"/>
-            <command name="glReadBuffer"/>
-            <command name="glReadPixels"/>
-            <command name="glGetBooleanv"/>
-            <command name="glGetDoublev"/>
-            <command name="glGetError"/>
-            <command name="glGetFloatv"/>
-            <command name="glGetIntegerv"/>
-            <command name="glGetString"/>
-            <command name="glGetTexImage"/>
-            <command name="glGetTexParameterfv"/>
-            <command name="glGetTexParameteriv"/>
-            <command name="glGetTexLevelParameterfv"/>
-            <command name="glGetTexLevelParameteriv"/>
-            <command name="glIsEnabled"/>
-            <command name="glDepthRange"/>
-            <command name="glViewport"/>
+            <type name="GLvoid" comment="No longer used in headers"/>
+            <enum name="GL_DEPTH_BUFFER_BIT"/>
+            <enum name="GL_STENCIL_BUFFER_BIT"/>
+            <enum name="GL_COLOR_BUFFER_BIT"/>
+            <enum name="GL_FALSE"/>
+            <enum name="GL_TRUE"/>
+            <enum name="GL_POINTS"/>
+            <enum name="GL_LINES"/>
+            <enum name="GL_LINE_LOOP"/>
+            <enum name="GL_LINE_STRIP"/>
+            <enum name="GL_TRIANGLES"/>
+            <enum name="GL_TRIANGLE_STRIP"/>
+            <enum name="GL_TRIANGLE_FAN"/>
+            <enum name="GL_QUADS"/>
+            <enum name="GL_NEVER"/>
+            <enum name="GL_LESS"/>
+            <enum name="GL_EQUAL"/>
+            <enum name="GL_LEQUAL"/>
+            <enum name="GL_GREATER"/>
+            <enum name="GL_NOTEQUAL"/>
+            <enum name="GL_GEQUAL"/>
+            <enum name="GL_ALWAYS"/>
+            <enum name="GL_ZERO"/>
+            <enum name="GL_ONE"/>
+            <enum name="GL_SRC_COLOR"/>
+            <enum name="GL_ONE_MINUS_SRC_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_DST_COLOR"/>
+            <enum name="GL_ONE_MINUS_DST_COLOR"/>
+            <enum name="GL_SRC_ALPHA_SATURATE"/>
+            <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_NO_ERROR"/>
+            <enum name="GL_INVALID_ENUM"/>
+            <enum name="GL_INVALID_VALUE"/>
+            <enum name="GL_INVALID_OPERATION"/>
+            <enum name="GL_OUT_OF_MEMORY"/>
+            <enum name="GL_CW"/>
+            <enum name="GL_CCW"/>
+            <enum name="GL_POINT_SIZE"/>
+            <enum name="GL_POINT_SIZE_RANGE"/>
+            <enum name="GL_POINT_SIZE_GRANULARITY"/>
+            <enum name="GL_LINE_SMOOTH"/>
+            <enum name="GL_LINE_WIDTH"/>
+            <enum name="GL_LINE_WIDTH_RANGE"/>
+            <enum name="GL_LINE_WIDTH_GRANULARITY"/>
+            <enum name="GL_POLYGON_MODE"/>
+            <enum name="GL_POLYGON_SMOOTH"/>
+            <enum name="GL_CULL_FACE"/>
+            <enum name="GL_CULL_FACE_MODE"/>
+            <enum name="GL_FRONT_FACE"/>
+            <enum name="GL_DEPTH_RANGE"/>
+            <enum name="GL_DEPTH_TEST"/>
+            <enum name="GL_DEPTH_WRITEMASK"/>
+            <enum name="GL_DEPTH_CLEAR_VALUE"/>
+            <enum name="GL_DEPTH_FUNC"/>
+            <enum name="GL_STENCIL_TEST"/>
+            <enum name="GL_STENCIL_CLEAR_VALUE"/>
+            <enum name="GL_STENCIL_FUNC"/>
+            <enum name="GL_STENCIL_VALUE_MASK"/>
+            <enum name="GL_STENCIL_FAIL"/>
+            <enum name="GL_STENCIL_PASS_DEPTH_FAIL"/>
+            <enum name="GL_STENCIL_PASS_DEPTH_PASS"/>
+            <enum name="GL_STENCIL_REF"/>
+            <enum name="GL_STENCIL_WRITEMASK"/>
+            <enum name="GL_VIEWPORT"/>
+            <enum name="GL_DITHER"/>
+            <enum name="GL_BLEND_DST"/>
+            <enum name="GL_BLEND_SRC"/>
+            <enum name="GL_BLEND"/>
+            <enum name="GL_LOGIC_OP_MODE"/>
+            <enum name="GL_DRAW_BUFFER"/>
+            <enum name="GL_READ_BUFFER"/>
+            <enum name="GL_SCISSOR_BOX"/>
+            <enum name="GL_SCISSOR_TEST"/>
+            <enum name="GL_COLOR_CLEAR_VALUE"/>
+            <enum name="GL_COLOR_WRITEMASK"/>
+            <enum name="GL_DOUBLEBUFFER"/>
+            <enum name="GL_STEREO"/>
+            <enum name="GL_LINE_SMOOTH_HINT"/>
+            <enum name="GL_POLYGON_SMOOTH_HINT"/>
+            <enum name="GL_UNPACK_SWAP_BYTES"/>
+            <enum name="GL_UNPACK_LSB_FIRST"/>
+            <enum name="GL_UNPACK_ROW_LENGTH"/>
+            <enum name="GL_UNPACK_SKIP_ROWS"/>
+            <enum name="GL_UNPACK_SKIP_PIXELS"/>
+            <enum name="GL_UNPACK_ALIGNMENT"/>
+            <enum name="GL_PACK_SWAP_BYTES"/>
+            <enum name="GL_PACK_LSB_FIRST"/>
+            <enum name="GL_PACK_ROW_LENGTH"/>
+            <enum name="GL_PACK_SKIP_ROWS"/>
+            <enum name="GL_PACK_SKIP_PIXELS"/>
+            <enum name="GL_PACK_ALIGNMENT"/>
+            <enum name="GL_MAX_TEXTURE_SIZE"/>
+            <enum name="GL_MAX_VIEWPORT_DIMS"/>
+            <enum name="GL_SUBPIXEL_BITS"/>
+            <enum name="GL_TEXTURE_1D"/>
+            <enum name="GL_TEXTURE_2D"/>
+            <enum name="GL_TEXTURE_WIDTH"/>
+            <enum name="GL_TEXTURE_HEIGHT"/>
+            <enum name="GL_TEXTURE_BORDER_COLOR"/>
+            <enum name="GL_DONT_CARE"/>
+            <enum name="GL_FASTEST"/>
+            <enum name="GL_NICEST"/>
+            <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_STACK_OVERFLOW"/>
+            <enum name="GL_STACK_UNDERFLOW"/>
+            <enum name="GL_CLEAR"/>
+            <enum name="GL_AND"/>
+            <enum name="GL_AND_REVERSE"/>
+            <enum name="GL_COPY"/>
+            <enum name="GL_AND_INVERTED"/>
+            <enum name="GL_NOOP"/>
+            <enum name="GL_XOR"/>
+            <enum name="GL_OR"/>
+            <enum name="GL_NOR"/>
+            <enum name="GL_EQUIV"/>
+            <enum name="GL_INVERT"/>
+            <enum name="GL_OR_REVERSE"/>
+            <enum name="GL_COPY_INVERTED"/>
+            <enum name="GL_OR_INVERTED"/>
+            <enum name="GL_NAND"/>
+            <enum name="GL_SET"/>
+            <enum name="GL_TEXTURE"/>
+            <enum name="GL_COLOR"/>
+            <enum name="GL_DEPTH"/>
+            <enum name="GL_STENCIL"/>
+            <enum name="GL_STENCIL_INDEX"/>
+            <enum name="GL_DEPTH_COMPONENT"/>
+            <enum name="GL_RED"/>
+            <enum name="GL_GREEN"/>
+            <enum name="GL_BLUE"/>
+            <enum name="GL_ALPHA"/>
+            <enum name="GL_RGB"/>
+            <enum name="GL_RGBA"/>
+            <enum name="GL_POINT"/>
+            <enum name="GL_LINE"/>
+            <enum name="GL_FILL"/>
+            <enum name="GL_KEEP"/>
+            <enum name="GL_REPLACE"/>
+            <enum name="GL_INCR"/>
+            <enum name="GL_DECR"/>
+            <enum name="GL_VENDOR"/>
+            <enum name="GL_RENDERER"/>
+            <enum name="GL_VERSION"/>
+            <enum name="GL_EXTENSIONS"/>
+            <enum name="GL_NEAREST"/>
+            <enum name="GL_LINEAR"/>
+            <enum name="GL_NEAREST_MIPMAP_NEAREST"/>
+            <enum name="GL_LINEAR_MIPMAP_NEAREST"/>
+            <enum name="GL_NEAREST_MIPMAP_LINEAR"/>
+            <enum name="GL_LINEAR_MIPMAP_LINEAR"/>
+            <enum name="GL_TEXTURE_MAG_FILTER"/>
+            <enum name="GL_TEXTURE_MIN_FILTER"/>
+            <enum name="GL_TEXTURE_WRAP_S"/>
+            <enum name="GL_TEXTURE_WRAP_T"/>
+            <enum name="GL_REPEAT"/>
+            <enum name="GL_CURRENT_BIT"/>
+            <enum name="GL_POINT_BIT"/>
+            <enum name="GL_LINE_BIT"/>
+            <enum name="GL_POLYGON_BIT"/>
+            <enum name="GL_POLYGON_STIPPLE_BIT"/>
+            <enum name="GL_PIXEL_MODE_BIT"/>
+            <enum name="GL_LIGHTING_BIT"/>
+            <enum name="GL_FOG_BIT"/>
+            <enum name="GL_ACCUM_BUFFER_BIT"/>
+            <enum name="GL_VIEWPORT_BIT"/>
+            <enum name="GL_TRANSFORM_BIT"/>
+            <enum name="GL_ENABLE_BIT"/>
+            <enum name="GL_HINT_BIT"/>
+            <enum name="GL_EVAL_BIT"/>
+            <enum name="GL_LIST_BIT"/>
+            <enum name="GL_TEXTURE_BIT"/>
+            <enum name="GL_SCISSOR_BIT"/>
+            <enum name="GL_ALL_ATTRIB_BITS"/>
+            <enum name="GL_QUAD_STRIP"/>
+            <enum name="GL_POLYGON"/>
+            <enum name="GL_ACCUM"/>
+            <enum name="GL_LOAD"/>
+            <enum name="GL_RETURN"/>
+            <enum name="GL_MULT"/>
+            <enum name="GL_ADD"/>
+            <enum name="GL_AUX0"/>
+            <enum name="GL_AUX1"/>
+            <enum name="GL_AUX2"/>
+            <enum name="GL_AUX3"/>
+            <enum name="GL_2D"/>
+            <enum name="GL_3D"/>
+            <enum name="GL_3D_COLOR"/>
+            <enum name="GL_3D_COLOR_TEXTURE"/>
+            <enum name="GL_4D_COLOR_TEXTURE"/>
+            <enum name="GL_PASS_THROUGH_TOKEN"/>
+            <enum name="GL_POINT_TOKEN"/>
+            <enum name="GL_LINE_TOKEN"/>
+            <enum name="GL_POLYGON_TOKEN"/>
+            <enum name="GL_BITMAP_TOKEN"/>
+            <enum name="GL_DRAW_PIXEL_TOKEN"/>
+            <enum name="GL_COPY_PIXEL_TOKEN"/>
+            <enum name="GL_LINE_RESET_TOKEN"/>
+            <enum name="GL_EXP"/>
+            <enum name="GL_EXP2"/>
+            <enum name="GL_COEFF"/>
+            <enum name="GL_ORDER"/>
+            <enum name="GL_DOMAIN"/>
+            <enum name="GL_PIXEL_MAP_I_TO_I"/>
+            <enum name="GL_PIXEL_MAP_S_TO_S"/>
+            <enum name="GL_PIXEL_MAP_I_TO_R"/>
+            <enum name="GL_PIXEL_MAP_I_TO_G"/>
+            <enum name="GL_PIXEL_MAP_I_TO_B"/>
+            <enum name="GL_PIXEL_MAP_I_TO_A"/>
+            <enum name="GL_PIXEL_MAP_R_TO_R"/>
+            <enum name="GL_PIXEL_MAP_G_TO_G"/>
+            <enum name="GL_PIXEL_MAP_B_TO_B"/>
+            <enum name="GL_PIXEL_MAP_A_TO_A"/>
+            <enum name="GL_CURRENT_COLOR"/>
+            <enum name="GL_CURRENT_INDEX"/>
+            <enum name="GL_CURRENT_NORMAL"/>
+            <enum name="GL_CURRENT_TEXTURE_COORDS"/>
+            <enum name="GL_CURRENT_RASTER_COLOR"/>
+            <enum name="GL_CURRENT_RASTER_INDEX"/>
+            <enum name="GL_CURRENT_RASTER_TEXTURE_COORDS"/>
+            <enum name="GL_CURRENT_RASTER_POSITION"/>
+            <enum name="GL_CURRENT_RASTER_POSITION_VALID"/>
+            <enum name="GL_CURRENT_RASTER_DISTANCE"/>
+            <enum name="GL_POINT_SMOOTH"/>
+            <enum name="GL_LINE_STIPPLE"/>
+            <enum name="GL_LINE_STIPPLE_PATTERN"/>
+            <enum name="GL_LINE_STIPPLE_REPEAT"/>
+            <enum name="GL_LIST_MODE"/>
+            <enum name="GL_MAX_LIST_NESTING"/>
+            <enum name="GL_LIST_BASE"/>
+            <enum name="GL_LIST_INDEX"/>
+            <enum name="GL_POLYGON_STIPPLE"/>
+            <enum name="GL_EDGE_FLAG"/>
+            <enum name="GL_LIGHTING"/>
+            <enum name="GL_LIGHT_MODEL_LOCAL_VIEWER"/>
+            <enum name="GL_LIGHT_MODEL_TWO_SIDE"/>
+            <enum name="GL_LIGHT_MODEL_AMBIENT"/>
+            <enum name="GL_SHADE_MODEL"/>
+            <enum name="GL_COLOR_MATERIAL_FACE"/>
+            <enum name="GL_COLOR_MATERIAL_PARAMETER"/>
+            <enum name="GL_COLOR_MATERIAL"/>
+            <enum name="GL_FOG"/>
+            <enum name="GL_FOG_INDEX"/>
+            <enum name="GL_FOG_DENSITY"/>
+            <enum name="GL_FOG_START"/>
+            <enum name="GL_FOG_END"/>
+            <enum name="GL_FOG_MODE"/>
+            <enum name="GL_FOG_COLOR"/>
+            <enum name="GL_ACCUM_CLEAR_VALUE"/>
+            <enum name="GL_MATRIX_MODE"/>
+            <enum name="GL_NORMALIZE"/>
+            <enum name="GL_MODELVIEW_STACK_DEPTH"/>
+            <enum name="GL_PROJECTION_STACK_DEPTH"/>
+            <enum name="GL_TEXTURE_STACK_DEPTH"/>
+            <enum name="GL_MODELVIEW_MATRIX"/>
+            <enum name="GL_PROJECTION_MATRIX"/>
+            <enum name="GL_TEXTURE_MATRIX"/>
+            <enum name="GL_ATTRIB_STACK_DEPTH"/>
+            <enum name="GL_ALPHA_TEST"/>
+            <enum name="GL_ALPHA_TEST_FUNC"/>
+            <enum name="GL_ALPHA_TEST_REF"/>
+            <enum name="GL_LOGIC_OP"/>
+            <enum name="GL_AUX_BUFFERS"/>
+            <enum name="GL_INDEX_CLEAR_VALUE"/>
+            <enum name="GL_INDEX_WRITEMASK"/>
+            <enum name="GL_INDEX_MODE"/>
+            <enum name="GL_RGBA_MODE"/>
+            <enum name="GL_RENDER_MODE"/>
+            <enum name="GL_PERSPECTIVE_CORRECTION_HINT"/>
+            <enum name="GL_POINT_SMOOTH_HINT"/>
+            <enum name="GL_FOG_HINT"/>
+            <enum name="GL_TEXTURE_GEN_S"/>
+            <enum name="GL_TEXTURE_GEN_T"/>
+            <enum name="GL_TEXTURE_GEN_R"/>
+            <enum name="GL_TEXTURE_GEN_Q"/>
+            <enum name="GL_PIXEL_MAP_I_TO_I_SIZE"/>
+            <enum name="GL_PIXEL_MAP_S_TO_S_SIZE"/>
+            <enum name="GL_PIXEL_MAP_I_TO_R_SIZE"/>
+            <enum name="GL_PIXEL_MAP_I_TO_G_SIZE"/>
+            <enum name="GL_PIXEL_MAP_I_TO_B_SIZE"/>
+            <enum name="GL_PIXEL_MAP_I_TO_A_SIZE"/>
+            <enum name="GL_PIXEL_MAP_R_TO_R_SIZE"/>
+            <enum name="GL_PIXEL_MAP_G_TO_G_SIZE"/>
+            <enum name="GL_PIXEL_MAP_B_TO_B_SIZE"/>
+            <enum name="GL_PIXEL_MAP_A_TO_A_SIZE"/>
+            <enum name="GL_MAP_COLOR"/>
+            <enum name="GL_MAP_STENCIL"/>
+            <enum name="GL_INDEX_SHIFT"/>
+            <enum name="GL_INDEX_OFFSET"/>
+            <enum name="GL_RED_SCALE"/>
+            <enum name="GL_RED_BIAS"/>
+            <enum name="GL_ZOOM_X"/>
+            <enum name="GL_ZOOM_Y"/>
+            <enum name="GL_GREEN_SCALE"/>
+            <enum name="GL_GREEN_BIAS"/>
+            <enum name="GL_BLUE_SCALE"/>
+            <enum name="GL_BLUE_BIAS"/>
+            <enum name="GL_ALPHA_SCALE"/>
+            <enum name="GL_ALPHA_BIAS"/>
+            <enum name="GL_DEPTH_SCALE"/>
+            <enum name="GL_DEPTH_BIAS"/>
+            <enum name="GL_MAX_EVAL_ORDER"/>
+            <enum name="GL_MAX_LIGHTS"/>
+            <enum name="GL_MAX_CLIP_PLANES"/>
+            <enum name="GL_MAX_PIXEL_MAP_TABLE"/>
+            <enum name="GL_MAX_ATTRIB_STACK_DEPTH"/>
+            <enum name="GL_MAX_MODELVIEW_STACK_DEPTH"/>
+            <enum name="GL_MAX_NAME_STACK_DEPTH"/>
+            <enum name="GL_MAX_PROJECTION_STACK_DEPTH"/>
+            <enum name="GL_MAX_TEXTURE_STACK_DEPTH"/>
+            <enum name="GL_INDEX_BITS"/>
+            <enum name="GL_RED_BITS"/>
+            <enum name="GL_GREEN_BITS"/>
+            <enum name="GL_BLUE_BITS"/>
+            <enum name="GL_ALPHA_BITS"/>
+            <enum name="GL_DEPTH_BITS"/>
+            <enum name="GL_STENCIL_BITS"/>
+            <enum name="GL_ACCUM_RED_BITS"/>
+            <enum name="GL_ACCUM_GREEN_BITS"/>
+            <enum name="GL_ACCUM_BLUE_BITS"/>
+            <enum name="GL_ACCUM_ALPHA_BITS"/>
+            <enum name="GL_NAME_STACK_DEPTH"/>
+            <enum name="GL_AUTO_NORMAL"/>
+            <enum name="GL_MAP1_COLOR_4"/>
+            <enum name="GL_MAP1_INDEX"/>
+            <enum name="GL_MAP1_NORMAL"/>
+            <enum name="GL_MAP1_TEXTURE_COORD_1"/>
+            <enum name="GL_MAP1_TEXTURE_COORD_2"/>
+            <enum name="GL_MAP1_TEXTURE_COORD_3"/>
+            <enum name="GL_MAP1_TEXTURE_COORD_4"/>
+            <enum name="GL_MAP1_VERTEX_3"/>
+            <enum name="GL_MAP1_VERTEX_4"/>
+            <enum name="GL_MAP2_COLOR_4"/>
+            <enum name="GL_MAP2_INDEX"/>
+            <enum name="GL_MAP2_NORMAL"/>
+            <enum name="GL_MAP2_TEXTURE_COORD_1"/>
+            <enum name="GL_MAP2_TEXTURE_COORD_2"/>
+            <enum name="GL_MAP2_TEXTURE_COORD_3"/>
+            <enum name="GL_MAP2_TEXTURE_COORD_4"/>
+            <enum name="GL_MAP2_VERTEX_3"/>
+            <enum name="GL_MAP2_VERTEX_4"/>
+            <enum name="GL_MAP1_GRID_DOMAIN"/>
+            <enum name="GL_MAP1_GRID_SEGMENTS"/>
+            <enum name="GL_MAP2_GRID_DOMAIN"/>
+            <enum name="GL_MAP2_GRID_SEGMENTS"/>
+            <enum name="GL_TEXTURE_COMPONENTS"/>
+            <enum name="GL_TEXTURE_BORDER"/>
+            <enum name="GL_AMBIENT"/>
+            <enum name="GL_DIFFUSE"/>
+            <enum name="GL_SPECULAR"/>
+            <enum name="GL_POSITION"/>
+            <enum name="GL_SPOT_DIRECTION"/>
+            <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_COMPILE"/>
+            <enum name="GL_COMPILE_AND_EXECUTE"/>
+            <enum name="GL_2_BYTES"/>
+            <enum name="GL_3_BYTES"/>
+            <enum name="GL_4_BYTES"/>
+            <enum name="GL_EMISSION"/>
+            <enum name="GL_SHININESS"/>
+            <enum name="GL_AMBIENT_AND_DIFFUSE"/>
+            <enum name="GL_COLOR_INDEXES"/>
+            <enum name="GL_MODELVIEW"/>
+            <enum name="GL_PROJECTION"/>
+            <enum name="GL_COLOR_INDEX"/>
+            <enum name="GL_LUMINANCE"/>
+            <enum name="GL_LUMINANCE_ALPHA"/>
+            <enum name="GL_BITMAP"/>
+            <enum name="GL_RENDER"/>
+            <enum name="GL_FEEDBACK"/>
+            <enum name="GL_SELECT"/>
+            <enum name="GL_FLAT"/>
+            <enum name="GL_SMOOTH"/>
+            <enum name="GL_S"/>
+            <enum name="GL_T"/>
+            <enum name="GL_R"/>
+            <enum name="GL_Q"/>
+            <enum name="GL_MODULATE"/>
+            <enum name="GL_DECAL"/>
+            <enum name="GL_TEXTURE_ENV_MODE"/>
+            <enum name="GL_TEXTURE_ENV_COLOR"/>
+            <enum name="GL_TEXTURE_ENV"/>
+            <enum name="GL_EYE_LINEAR"/>
+            <enum name="GL_OBJECT_LINEAR"/>
+            <enum name="GL_SPHERE_MAP"/>
+            <enum name="GL_TEXTURE_GEN_MODE"/>
+            <enum name="GL_OBJECT_PLANE"/>
+            <enum name="GL_EYE_PLANE"/>
+            <enum name="GL_CLAMP"/>
+            <enum name="GL_CLIP_PLANE0"/>
+            <enum name="GL_CLIP_PLANE1"/>
+            <enum name="GL_CLIP_PLANE2"/>
+            <enum name="GL_CLIP_PLANE3"/>
+            <enum name="GL_CLIP_PLANE4"/>
+            <enum name="GL_CLIP_PLANE5"/>
+            <enum name="GL_LIGHT0"/>
+            <enum name="GL_LIGHT1"/>
+            <enum name="GL_LIGHT2"/>
+            <enum name="GL_LIGHT3"/>
+            <enum name="GL_LIGHT4"/>
+            <enum name="GL_LIGHT5"/>
+            <enum name="GL_LIGHT6"/>
+            <enum name="GL_LIGHT7"/>
+            <command name="glCullFace"/>
+            <command name="glFrontFace"/>
+            <command name="glHint"/>
+            <command name="glLineWidth"/>
+            <command name="glPointSize"/>
+            <command name="glPolygonMode"/>
+            <command name="glScissor"/>
+            <command name="glTexParameterf"/>
+            <command name="glTexParameterfv"/>
+            <command name="glTexParameteri"/>
+            <command name="glTexParameteriv"/>
+            <command name="glTexImage1D"/>
+            <command name="glTexImage2D"/>
+            <command name="glDrawBuffer"/>
+            <command name="glClear"/>
+            <command name="glClearColor"/>
+            <command name="glClearStencil"/>
+            <command name="glClearDepth"/>
+            <command name="glStencilMask"/>
+            <command name="glColorMask"/>
+            <command name="glDepthMask"/>
+            <command name="glDisable"/>
+            <command name="glEnable"/>
+            <command name="glFinish"/>
+            <command name="glFlush"/>
+            <command name="glBlendFunc"/>
+            <command name="glLogicOp"/>
+            <command name="glStencilFunc"/>
+            <command name="glStencilOp"/>
+            <command name="glDepthFunc"/>
+            <command name="glPixelStoref"/>
+            <command name="glPixelStorei"/>
+            <command name="glReadBuffer"/>
+            <command name="glReadPixels"/>
+            <command name="glGetBooleanv"/>
+            <command name="glGetDoublev"/>
+            <command name="glGetError"/>
+            <command name="glGetFloatv"/>
+            <command name="glGetIntegerv"/>
+            <command name="glGetString"/>
+            <command name="glGetTexImage"/>
+            <command name="glGetTexParameterfv"/>
+            <command name="glGetTexParameteriv"/>
+            <command name="glGetTexLevelParameterfv"/>
+            <command name="glGetTexLevelParameteriv"/>
+            <command name="glIsEnabled"/>
+            <command name="glDepthRange"/>
+            <command name="glViewport"/>
+            <command name="glNewList"/>
+            <command name="glEndList"/>
+            <command name="glCallList"/>
+            <command name="glCallLists"/>
+            <command name="glDeleteLists"/>
+            <command name="glGenLists"/>
+            <command name="glListBase"/>
+            <command name="glBegin"/>
+            <command name="glBitmap"/>
+            <command name="glColor3b"/>
+            <command name="glColor3bv"/>
+            <command name="glColor3d"/>
+            <command name="glColor3dv"/>
+            <command name="glColor3f"/>
+            <command name="glColor3fv"/>
+            <command name="glColor3i"/>
+            <command name="glColor3iv"/>
+            <command name="glColor3s"/>
+            <command name="glColor3sv"/>
+            <command name="glColor3ub"/>
+            <command name="glColor3ubv"/>
+            <command name="glColor3ui"/>
+            <command name="glColor3uiv"/>
+            <command name="glColor3us"/>
+            <command name="glColor3usv"/>
+            <command name="glColor4b"/>
+            <command name="glColor4bv"/>
+            <command name="glColor4d"/>
+            <command name="glColor4dv"/>
+            <command name="glColor4f"/>
+            <command name="glColor4fv"/>
+            <command name="glColor4i"/>
+            <command name="glColor4iv"/>
+            <command name="glColor4s"/>
+            <command name="glColor4sv"/>
+            <command name="glColor4ub"/>
+            <command name="glColor4ubv"/>
+            <command name="glColor4ui"/>
+            <command name="glColor4uiv"/>
+            <command name="glColor4us"/>
+            <command name="glColor4usv"/>
+            <command name="glEdgeFlag"/>
+            <command name="glEdgeFlagv"/>
+            <command name="glEnd"/>
+            <command name="glIndexd"/>
+            <command name="glIndexdv"/>
+            <command name="glIndexf"/>
+            <command name="glIndexfv"/>
+            <command name="glIndexi"/>
+            <command name="glIndexiv"/>
+            <command name="glIndexs"/>
+            <command name="glIndexsv"/>
+            <command name="glNormal3b"/>
+            <command name="glNormal3bv"/>
+            <command name="glNormal3d"/>
+            <command name="glNormal3dv"/>
+            <command name="glNormal3f"/>
+            <command name="glNormal3fv"/>
+            <command name="glNormal3i"/>
+            <command name="glNormal3iv"/>
+            <command name="glNormal3s"/>
+            <command name="glNormal3sv"/>
+            <command name="glRasterPos2d"/>
+            <command name="glRasterPos2dv"/>
+            <command name="glRasterPos2f"/>
+            <command name="glRasterPos2fv"/>
+            <command name="glRasterPos2i"/>
+            <command name="glRasterPos2iv"/>
+            <command name="glRasterPos2s"/>
+            <command name="glRasterPos2sv"/>
+            <command name="glRasterPos3d"/>
+            <command name="glRasterPos3dv"/>
+            <command name="glRasterPos3f"/>
+            <command name="glRasterPos3fv"/>
+            <command name="glRasterPos3i"/>
+            <command name="glRasterPos3iv"/>
+            <command name="glRasterPos3s"/>
+            <command name="glRasterPos3sv"/>
+            <command name="glRasterPos4d"/>
+            <command name="glRasterPos4dv"/>
+            <command name="glRasterPos4f"/>
+            <command name="glRasterPos4fv"/>
+            <command name="glRasterPos4i"/>
+            <command name="glRasterPos4iv"/>
+            <command name="glRasterPos4s"/>
+            <command name="glRasterPos4sv"/>
+            <command name="glRectd"/>
+            <command name="glRectdv"/>
+            <command name="glRectf"/>
+            <command name="glRectfv"/>
+            <command name="glRecti"/>
+            <command name="glRectiv"/>
+            <command name="glRects"/>
+            <command name="glRectsv"/>
+            <command name="glTexCoord1d"/>
+            <command name="glTexCoord1dv"/>
+            <command name="glTexCoord1f"/>
+            <command name="glTexCoord1fv"/>
+            <command name="glTexCoord1i"/>
+            <command name="glTexCoord1iv"/>
+            <command name="glTexCoord1s"/>
+            <command name="glTexCoord1sv"/>
+            <command name="glTexCoord2d"/>
+            <command name="glTexCoord2dv"/>
+            <command name="glTexCoord2f"/>
+            <command name="glTexCoord2fv"/>
+            <command name="glTexCoord2i"/>
+            <command name="glTexCoord2iv"/>
+            <command name="glTexCoord2s"/>
+            <command name="glTexCoord2sv"/>
+            <command name="glTexCoord3d"/>
+            <command name="glTexCoord3dv"/>
+            <command name="glTexCoord3f"/>
+            <command name="glTexCoord3fv"/>
+            <command name="glTexCoord3i"/>
+            <command name="glTexCoord3iv"/>
+            <command name="glTexCoord3s"/>
+            <command name="glTexCoord3sv"/>
+            <command name="glTexCoord4d"/>
+            <command name="glTexCoord4dv"/>
+            <command name="glTexCoord4f"/>
+            <command name="glTexCoord4fv"/>
+            <command name="glTexCoord4i"/>
+            <command name="glTexCoord4iv"/>
+            <command name="glTexCoord4s"/>
+            <command name="glTexCoord4sv"/>
+            <command name="glVertex2d"/>
+            <command name="glVertex2dv"/>
+            <command name="glVertex2f"/>
+            <command name="glVertex2fv"/>
+            <command name="glVertex2i"/>
+            <command name="glVertex2iv"/>
+            <command name="glVertex2s"/>
+            <command name="glVertex2sv"/>
+            <command name="glVertex3d"/>
+            <command name="glVertex3dv"/>
+            <command name="glVertex3f"/>
+            <command name="glVertex3fv"/>
+            <command name="glVertex3i"/>
+            <command name="glVertex3iv"/>
+            <command name="glVertex3s"/>
+            <command name="glVertex3sv"/>
+            <command name="glVertex4d"/>
+            <command name="glVertex4dv"/>
+            <command name="glVertex4f"/>
+            <command name="glVertex4fv"/>
+            <command name="glVertex4i"/>
+            <command name="glVertex4iv"/>
+            <command name="glVertex4s"/>
+            <command name="glVertex4sv"/>
+            <command name="glClipPlane"/>
+            <command name="glColorMaterial"/>
+            <command name="glFogf"/>
+            <command name="glFogfv"/>
+            <command name="glFogi"/>
+            <command name="glFogiv"/>
+            <command name="glLightf"/>
+            <command name="glLightfv"/>
+            <command name="glLighti"/>
+            <command name="glLightiv"/>
+            <command name="glLightModelf"/>
+            <command name="glLightModelfv"/>
+            <command name="glLightModeli"/>
+            <command name="glLightModeliv"/>
+            <command name="glLineStipple"/>
+            <command name="glMaterialf"/>
+            <command name="glMaterialfv"/>
+            <command name="glMateriali"/>
+            <command name="glMaterialiv"/>
+            <command name="glPolygonStipple"/>
+            <command name="glShadeModel"/>
+            <command name="glTexEnvf"/>
+            <command name="glTexEnvfv"/>
+            <command name="glTexEnvi"/>
+            <command name="glTexEnviv"/>
+            <command name="glTexGend"/>
+            <command name="glTexGendv"/>
+            <command name="glTexGenf"/>
+            <command name="glTexGenfv"/>
+            <command name="glTexGeni"/>
+            <command name="glTexGeniv"/>
+            <command name="glFeedbackBuffer"/>
+            <command name="glSelectBuffer"/>
+            <command name="glRenderMode"/>
+            <command name="glInitNames"/>
+            <command name="glLoadName"/>
+            <command name="glPassThrough"/>
+            <command name="glPopName"/>
+            <command name="glPushName"/>
+            <command name="glClearAccum"/>
+            <command name="glClearIndex"/>
+            <command name="glIndexMask"/>
+            <command name="glAccum"/>
+            <command name="glPopAttrib"/>
+            <command name="glPushAttrib"/>
+            <command name="glMap1d"/>
+            <command name="glMap1f"/>
+            <command name="glMap2d"/>
+            <command name="glMap2f"/>
+            <command name="glMapGrid1d"/>
+            <command name="glMapGrid1f"/>
+            <command name="glMapGrid2d"/>
+            <command name="glMapGrid2f"/>
+            <command name="glEvalCoord1d"/>
+            <command name="glEvalCoord1dv"/>
+            <command name="glEvalCoord1f"/>
+            <command name="glEvalCoord1fv"/>
+            <command name="glEvalCoord2d"/>
+            <command name="glEvalCoord2dv"/>
+            <command name="glEvalCoord2f"/>
+            <command name="glEvalCoord2fv"/>
+            <command name="glEvalMesh1"/>
+            <command name="glEvalPoint1"/>
+            <command name="glEvalMesh2"/>
+            <command name="glEvalPoint2"/>
+            <command name="glAlphaFunc"/>
+            <command name="glPixelZoom"/>
+            <command name="glPixelTransferf"/>
+            <command name="glPixelTransferi"/>
+            <command name="glPixelMapfv"/>
+            <command name="glPixelMapuiv"/>
+            <command name="glPixelMapusv"/>
+            <command name="glCopyPixels"/>
+            <command name="glDrawPixels"/>
+            <command name="glGetClipPlane"/>
+            <command name="glGetLightfv"/>
+            <command name="glGetLightiv"/>
+            <command name="glGetMapdv"/>
+            <command name="glGetMapfv"/>
+            <command name="glGetMapiv"/>
+            <command name="glGetMaterialfv"/>
+            <command name="glGetMaterialiv"/>
+            <command name="glGetPixelMapfv"/>
+            <command name="glGetPixelMapuiv"/>
+            <command name="glGetPixelMapusv"/>
+            <command name="glGetPolygonStipple"/>
+            <command name="glGetTexEnvfv"/>
+            <command name="glGetTexEnviv"/>
+            <command name="glGetTexGendv"/>
+            <command name="glGetTexGenfv"/>
+            <command name="glGetTexGeniv"/>
+            <command name="glIsList"/>
+            <command name="glFrustum"/>
+            <command name="glLoadIdentity"/>
+            <command name="glLoadMatrixf"/>
+            <command name="glLoadMatrixd"/>
+            <command name="glMatrixMode"/>
+            <command name="glMultMatrixf"/>
+            <command name="glMultMatrixd"/>
+            <command name="glOrtho"/>
+            <command name="glPopMatrix"/>
+            <command name="glPushMatrix"/>
+            <command name="glRotated"/>
+            <command name="glRotatef"/>
+            <command name="glScaled"/>
+            <command name="glScalef"/>
+            <command name="glTranslated"/>
+            <command name="glTranslatef"/>
+        </require>
+    </feature>
+    <feature api="gl" name="GL_VERSION_1_1" number="1.1">
+        <require>
+            <type name="GLclampf" comment="No longer used in GL 1.1, but still defined in Mesa gl.h"/>
+            <type name="GLclampd" comment="No longer used in GL 1.1, but still defined in Mesa gl.h"/>
+            <enum name="GL_COLOR_LOGIC_OP"/>
+            <enum name="GL_POLYGON_OFFSET_UNITS"/>
+            <enum name="GL_POLYGON_OFFSET_POINT"/>
+            <enum name="GL_POLYGON_OFFSET_LINE"/>
+            <enum name="GL_POLYGON_OFFSET_FILL"/>
+            <enum name="GL_POLYGON_OFFSET_FACTOR"/>
+            <enum name="GL_TEXTURE_BINDING_1D"/>
+            <enum name="GL_TEXTURE_BINDING_2D"/>
+            <enum name="GL_TEXTURE_INTERNAL_FORMAT"/>
+            <enum name="GL_TEXTURE_RED_SIZE"/>
+            <enum name="GL_TEXTURE_GREEN_SIZE"/>
+            <enum name="GL_TEXTURE_BLUE_SIZE"/>
+            <enum name="GL_TEXTURE_ALPHA_SIZE"/>
+            <enum name="GL_DOUBLE"/>
+            <enum name="GL_PROXY_TEXTURE_1D"/>
+            <enum name="GL_PROXY_TEXTURE_2D"/>
+            <enum name="GL_R3_G3_B2"/>
+            <enum name="GL_RGB4"/>
+            <enum name="GL_RGB5"/>
+            <enum name="GL_RGB8"/>
+            <enum name="GL_RGB10"/>
+            <enum name="GL_RGB12"/>
+            <enum name="GL_RGB16"/>
+            <enum name="GL_RGBA2"/>
+            <enum name="GL_RGBA4"/>
+            <enum name="GL_RGB5_A1"/>
+            <enum name="GL_RGBA8"/>
+            <enum name="GL_RGB10_A2"/>
+            <enum name="GL_RGBA12"/>
+            <enum name="GL_RGBA16"/>
+            <enum name="GL_CLIENT_PIXEL_STORE_BIT"/>
+            <enum name="GL_CLIENT_VERTEX_ARRAY_BIT"/>
+            <enum name="GL_CLIENT_ALL_ATTRIB_BITS"/>
+            <enum name="GL_VERTEX_ARRAY_POINTER"/>
+            <enum name="GL_NORMAL_ARRAY_POINTER"/>
+            <enum name="GL_COLOR_ARRAY_POINTER"/>
+            <enum name="GL_INDEX_ARRAY_POINTER"/>
+            <enum name="GL_TEXTURE_COORD_ARRAY_POINTER"/>
+            <enum name="GL_EDGE_FLAG_ARRAY_POINTER"/>
+            <enum name="GL_FEEDBACK_BUFFER_POINTER"/>
+            <enum name="GL_SELECTION_BUFFER_POINTER"/>
+            <enum name="GL_CLIENT_ATTRIB_STACK_DEPTH"/>
+            <enum name="GL_INDEX_LOGIC_OP"/>
+            <enum name="GL_MAX_CLIENT_ATTRIB_STACK_DEPTH"/>
+            <enum name="GL_FEEDBACK_BUFFER_SIZE"/>
+            <enum name="GL_FEEDBACK_BUFFER_TYPE"/>
+            <enum name="GL_SELECTION_BUFFER_SIZE"/>
+            <enum name="GL_VERTEX_ARRAY"/>
+            <enum name="GL_NORMAL_ARRAY"/>
+            <enum name="GL_COLOR_ARRAY"/>
+            <enum name="GL_INDEX_ARRAY"/>
+            <enum name="GL_TEXTURE_COORD_ARRAY"/>
+            <enum name="GL_EDGE_FLAG_ARRAY"/>
+            <enum name="GL_VERTEX_ARRAY_SIZE"/>
+            <enum name="GL_VERTEX_ARRAY_TYPE"/>
+            <enum name="GL_VERTEX_ARRAY_STRIDE"/>
+            <enum name="GL_NORMAL_ARRAY_TYPE"/>
+            <enum name="GL_NORMAL_ARRAY_STRIDE"/>
+            <enum name="GL_COLOR_ARRAY_SIZE"/>
+            <enum name="GL_COLOR_ARRAY_TYPE"/>
+            <enum name="GL_COLOR_ARRAY_STRIDE"/>
+            <enum name="GL_INDEX_ARRAY_TYPE"/>
+            <enum name="GL_INDEX_ARRAY_STRIDE"/>
+            <enum name="GL_TEXTURE_COORD_ARRAY_SIZE"/>
+            <enum name="GL_TEXTURE_COORD_ARRAY_TYPE"/>
+            <enum name="GL_TEXTURE_COORD_ARRAY_STRIDE"/>
+            <enum name="GL_EDGE_FLAG_ARRAY_STRIDE"/>
+            <enum name="GL_TEXTURE_LUMINANCE_SIZE"/>
+            <enum name="GL_TEXTURE_INTENSITY_SIZE"/>
+            <enum name="GL_TEXTURE_PRIORITY"/>
+            <enum name="GL_TEXTURE_RESIDENT"/>
+            <enum name="GL_ALPHA4"/>
+            <enum name="GL_ALPHA8"/>
+            <enum name="GL_ALPHA12"/>
+            <enum name="GL_ALPHA16"/>
+            <enum name="GL_LUMINANCE4"/>
+            <enum name="GL_LUMINANCE8"/>
+            <enum name="GL_LUMINANCE12"/>
+            <enum name="GL_LUMINANCE16"/>
+            <enum name="GL_LUMINANCE4_ALPHA4"/>
+            <enum name="GL_LUMINANCE6_ALPHA2"/>
+            <enum name="GL_LUMINANCE8_ALPHA8"/>
+            <enum name="GL_LUMINANCE12_ALPHA4"/>
+            <enum name="GL_LUMINANCE12_ALPHA12"/>
+            <enum name="GL_LUMINANCE16_ALPHA16"/>
+            <enum name="GL_INTENSITY"/>
+            <enum name="GL_INTENSITY4"/>
+            <enum name="GL_INTENSITY8"/>
+            <enum name="GL_INTENSITY12"/>
+            <enum name="GL_INTENSITY16"/>
+            <enum name="GL_V2F"/>
+            <enum name="GL_V3F"/>
+            <enum name="GL_C4UB_V2F"/>
+            <enum name="GL_C4UB_V3F"/>
+            <enum name="GL_C3F_V3F"/>
+            <enum name="GL_N3F_V3F"/>
+            <enum name="GL_C4F_N3F_V3F"/>
+            <enum name="GL_T2F_V3F"/>
+            <enum name="GL_T4F_V4F"/>
+            <enum name="GL_T2F_C4UB_V3F"/>
+            <enum name="GL_T2F_C3F_V3F"/>
+            <enum name="GL_T2F_N3F_V3F"/>
+            <enum name="GL_T2F_C4F_N3F_V3F"/>
+            <enum name="GL_T4F_C4F_N3F_V4F"/>
+            <command name="glDrawArrays"/>
+            <command name="glDrawElements"/>
+            <command name="glGetPointerv"/>
+            <command name="glPolygonOffset"/>
+            <command name="glCopyTexImage1D"/>
+            <command name="glCopyTexImage2D"/>
+            <command name="glCopyTexSubImage1D"/>
+            <command name="glCopyTexSubImage2D"/>
+            <command name="glTexSubImage1D"/>
+            <command name="glTexSubImage2D"/>
+            <command name="glBindTexture"/>
+            <command name="glDeleteTextures"/>
+            <command name="glGenTextures"/>
+            <command name="glIsTexture"/>
+            <command name="glArrayElement"/>
+            <command name="glColorPointer"/>
+            <command name="glDisableClientState"/>
+            <command name="glEdgeFlagPointer"/>
+            <command name="glEnableClientState"/>
+            <command name="glIndexPointer"/>
+            <command name="glInterleavedArrays"/>
+            <command name="glNormalPointer"/>
+            <command name="glTexCoordPointer"/>
+            <command name="glVertexPointer"/>
+            <command name="glAreTexturesResident"/>
+            <command name="glPrioritizeTextures"/>
+            <command name="glIndexub"/>
+            <command name="glIndexubv"/>
+            <command name="glPopClientAttrib"/>
+            <command name="glPushClientAttrib"/>
+        </require>
+    </feature>
+    <feature api="gl" name="GL_VERSION_1_2" number="1.2">
+        <require>
+            <enum name="GL_UNSIGNED_BYTE_3_3_2"/>
+            <enum name="GL_UNSIGNED_SHORT_4_4_4_4"/>
+            <enum name="GL_UNSIGNED_SHORT_5_5_5_1"/>
+            <enum name="GL_UNSIGNED_INT_8_8_8_8"/>
+            <enum name="GL_UNSIGNED_INT_10_10_10_2"/>
+            <enum name="GL_TEXTURE_BINDING_3D"/>
+            <enum name="GL_PACK_SKIP_IMAGES"/>
+            <enum name="GL_PACK_IMAGE_HEIGHT"/>
+            <enum name="GL_UNPACK_SKIP_IMAGES"/>
+            <enum name="GL_UNPACK_IMAGE_HEIGHT"/>
+            <enum name="GL_TEXTURE_3D"/>
+            <enum name="GL_PROXY_TEXTURE_3D"/>
+            <enum name="GL_TEXTURE_DEPTH"/>
+            <enum name="GL_TEXTURE_WRAP_R"/>
+            <enum name="GL_MAX_3D_TEXTURE_SIZE"/>
+            <enum name="GL_UNSIGNED_BYTE_2_3_3_REV"/>
+            <enum name="GL_UNSIGNED_SHORT_5_6_5"/>
+            <enum name="GL_UNSIGNED_SHORT_5_6_5_REV"/>
+            <enum name="GL_UNSIGNED_SHORT_4_4_4_4_REV"/>
+            <enum name="GL_UNSIGNED_SHORT_1_5_5_5_REV"/>
+            <enum name="GL_UNSIGNED_INT_8_8_8_8_REV"/>
+            <enum name="GL_UNSIGNED_INT_2_10_10_10_REV"/>
+            <enum name="GL_BGR"/>
+            <enum name="GL_BGRA"/>
+            <enum name="GL_MAX_ELEMENTS_VERTICES"/>
+            <enum name="GL_MAX_ELEMENTS_INDICES"/>
+            <enum name="GL_CLAMP_TO_EDGE"/>
+            <enum name="GL_TEXTURE_MIN_LOD"/>
+            <enum name="GL_TEXTURE_MAX_LOD"/>
+            <enum name="GL_TEXTURE_BASE_LEVEL"/>
+            <enum name="GL_TEXTURE_MAX_LEVEL"/>
+            <enum name="GL_SMOOTH_POINT_SIZE_RANGE"/>
+            <enum name="GL_SMOOTH_POINT_SIZE_GRANULARITY"/>
+            <enum name="GL_SMOOTH_LINE_WIDTH_RANGE"/>
+            <enum name="GL_SMOOTH_LINE_WIDTH_GRANULARITY"/>
+            <enum name="GL_ALIASED_LINE_WIDTH_RANGE"/>
+            <enum name="GL_RESCALE_NORMAL"/>
+            <enum name="GL_LIGHT_MODEL_COLOR_CONTROL"/>
+            <enum name="GL_SINGLE_COLOR"/>
+            <enum name="GL_SEPARATE_SPECULAR_COLOR"/>
+            <enum name="GL_ALIASED_POINT_SIZE_RANGE"/>
+            <command name="glDrawRangeElements"/>
+            <command name="glTexImage3D"/>
+            <command name="glTexSubImage3D"/>
+            <command name="glCopyTexSubImage3D"/>
+        </require>
+    </feature>
+    <feature api="gl" name="GL_VERSION_1_3" number="1.3">
+        <require>
+            <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"/>
+            <enum name="GL_ACTIVE_TEXTURE"/>
+            <enum name="GL_MULTISAMPLE"/>
+            <enum name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
+            <enum name="GL_SAMPLE_ALPHA_TO_ONE"/>
+            <enum name="GL_SAMPLE_COVERAGE"/>
+            <enum name="GL_SAMPLE_BUFFERS"/>
+            <enum name="GL_SAMPLES"/>
+            <enum name="GL_SAMPLE_COVERAGE_VALUE"/>
+            <enum name="GL_SAMPLE_COVERAGE_INVERT"/>
+            <enum name="GL_TEXTURE_CUBE_MAP"/>
+            <enum name="GL_TEXTURE_BINDING_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_PROXY_TEXTURE_CUBE_MAP"/>
+            <enum name="GL_MAX_CUBE_MAP_TEXTURE_SIZE"/>
+            <enum name="GL_COMPRESSED_RGB"/>
+            <enum name="GL_COMPRESSED_RGBA"/>
+            <enum name="GL_TEXTURE_COMPRESSION_HINT"/>
+            <enum name="GL_TEXTURE_COMPRESSED_IMAGE_SIZE"/>
+            <enum name="GL_TEXTURE_COMPRESSED"/>
+            <enum name="GL_NUM_COMPRESSED_TEXTURE_FORMATS"/>
+            <enum name="GL_COMPRESSED_TEXTURE_FORMATS"/>
+            <enum name="GL_CLAMP_TO_BORDER"/>
+            <enum name="GL_CLIENT_ACTIVE_TEXTURE"/>
+            <enum name="GL_MAX_TEXTURE_UNITS"/>
+            <enum name="GL_TRANSPOSE_MODELVIEW_MATRIX"/>
+            <enum name="GL_TRANSPOSE_PROJECTION_MATRIX"/>
+            <enum name="GL_TRANSPOSE_TEXTURE_MATRIX"/>
+            <enum name="GL_TRANSPOSE_COLOR_MATRIX"/>
+            <enum name="GL_MULTISAMPLE_BIT"/>
+            <enum name="GL_NORMAL_MAP"/>
+            <enum name="GL_REFLECTION_MAP"/>
+            <enum name="GL_COMPRESSED_ALPHA"/>
+            <enum name="GL_COMPRESSED_LUMINANCE"/>
+            <enum name="GL_COMPRESSED_LUMINANCE_ALPHA"/>
+            <enum name="GL_COMPRESSED_INTENSITY"/>
+            <enum name="GL_COMBINE"/>
+            <enum name="GL_COMBINE_RGB"/>
+            <enum name="GL_COMBINE_ALPHA"/>
+            <enum name="GL_SOURCE0_RGB"/>
+            <enum name="GL_SOURCE1_RGB"/>
+            <enum name="GL_SOURCE2_RGB"/>
+            <enum name="GL_SOURCE0_ALPHA"/>
+            <enum name="GL_SOURCE1_ALPHA"/>
+            <enum name="GL_SOURCE2_ALPHA"/>
+            <enum name="GL_OPERAND0_RGB"/>
+            <enum name="GL_OPERAND1_RGB"/>
+            <enum name="GL_OPERAND2_RGB"/>
+            <enum name="GL_OPERAND0_ALPHA"/>
+            <enum name="GL_OPERAND1_ALPHA"/>
+            <enum name="GL_OPERAND2_ALPHA"/>
+            <enum name="GL_RGB_SCALE"/>
+            <enum name="GL_ADD_SIGNED"/>
+            <enum name="GL_INTERPOLATE"/>
+            <enum name="GL_SUBTRACT"/>
+            <enum name="GL_CONSTANT"/>
+            <enum name="GL_PRIMARY_COLOR"/>
+            <enum name="GL_PREVIOUS"/>
+            <enum name="GL_DOT3_RGB"/>
+            <enum name="GL_DOT3_RGBA"/>
+            <command name="glActiveTexture"/>
+            <command name="glSampleCoverage"/>
+            <command name="glCompressedTexImage3D"/>
+            <command name="glCompressedTexImage2D"/>
+            <command name="glCompressedTexImage1D"/>
+            <command name="glCompressedTexSubImage3D"/>
+            <command name="glCompressedTexSubImage2D"/>
+            <command name="glCompressedTexSubImage1D"/>
+            <command name="glGetCompressedTexImage"/>
+            <command name="glClientActiveTexture"/>
+            <command name="glMultiTexCoord1d"/>
+            <command name="glMultiTexCoord1dv"/>
+            <command name="glMultiTexCoord1f"/>
+            <command name="glMultiTexCoord1fv"/>
+            <command name="glMultiTexCoord1i"/>
+            <command name="glMultiTexCoord1iv"/>
+            <command name="glMultiTexCoord1s"/>
+            <command name="glMultiTexCoord1sv"/>
+            <command name="glMultiTexCoord2d"/>
+            <command name="glMultiTexCoord2dv"/>
+            <command name="glMultiTexCoord2f"/>
+            <command name="glMultiTexCoord2fv"/>
+            <command name="glMultiTexCoord2i"/>
+            <command name="glMultiTexCoord2iv"/>
+            <command name="glMultiTexCoord2s"/>
+            <command name="glMultiTexCoord2sv"/>
+            <command name="glMultiTexCoord3d"/>
+            <command name="glMultiTexCoord3dv"/>
+            <command name="glMultiTexCoord3f"/>
+            <command name="glMultiTexCoord3fv"/>
+            <command name="glMultiTexCoord3i"/>
+            <command name="glMultiTexCoord3iv"/>
+            <command name="glMultiTexCoord3s"/>
+            <command name="glMultiTexCoord3sv"/>
+            <command name="glMultiTexCoord4d"/>
+            <command name="glMultiTexCoord4dv"/>
+            <command name="glMultiTexCoord4f"/>
+            <command name="glMultiTexCoord4fv"/>
+            <command name="glMultiTexCoord4i"/>
+            <command name="glMultiTexCoord4iv"/>
+            <command name="glMultiTexCoord4s"/>
+            <command name="glMultiTexCoord4sv"/>
+            <command name="glLoadTransposeMatrixf"/>
+            <command name="glLoadTransposeMatrixd"/>
+            <command name="glMultTransposeMatrixf"/>
+            <command name="glMultTransposeMatrixd"/>
+        </require>
+    </feature>
+    <feature api="gl" name="GL_VERSION_1_4" number="1.4">
+        <require>
+            <enum name="GL_BLEND_DST_RGB"/>
+            <enum name="GL_BLEND_SRC_RGB"/>
+            <enum name="GL_BLEND_DST_ALPHA"/>
+            <enum name="GL_BLEND_SRC_ALPHA"/>
+            <enum name="GL_POINT_FADE_THRESHOLD_SIZE"/>
+            <enum name="GL_DEPTH_COMPONENT16"/>
+            <enum name="GL_DEPTH_COMPONENT24"/>
+            <enum name="GL_DEPTH_COMPONENT32"/>
+            <enum name="GL_MIRRORED_REPEAT"/>
+            <enum name="GL_MAX_TEXTURE_LOD_BIAS"/>
+            <enum name="GL_TEXTURE_LOD_BIAS"/>
+            <enum name="GL_INCR_WRAP"/>
+            <enum name="GL_DECR_WRAP"/>
+            <enum name="GL_TEXTURE_DEPTH_SIZE"/>
+            <enum name="GL_TEXTURE_COMPARE_MODE"/>
+            <enum name="GL_TEXTURE_COMPARE_FUNC"/>
+            <enum name="GL_POINT_SIZE_MIN"/>
+            <enum name="GL_POINT_SIZE_MAX"/>
+            <enum name="GL_POINT_DISTANCE_ATTENUATION"/>
+            <enum name="GL_GENERATE_MIPMAP"/>
+            <enum name="GL_GENERATE_MIPMAP_HINT"/>
+            <enum name="GL_FOG_COORDINATE_SOURCE"/>
+            <enum name="GL_FOG_COORDINATE"/>
+            <enum name="GL_FRAGMENT_DEPTH"/>
+            <enum name="GL_CURRENT_FOG_COORDINATE"/>
+            <enum name="GL_FOG_COORDINATE_ARRAY_TYPE"/>
+            <enum name="GL_FOG_COORDINATE_ARRAY_STRIDE"/>
+            <enum name="GL_FOG_COORDINATE_ARRAY_POINTER"/>
+            <enum name="GL_FOG_COORDINATE_ARRAY"/>
+            <enum name="GL_COLOR_SUM"/>
+            <enum name="GL_CURRENT_SECONDARY_COLOR"/>
+            <enum name="GL_SECONDARY_COLOR_ARRAY_SIZE"/>
+            <enum name="GL_SECONDARY_COLOR_ARRAY_TYPE"/>
+            <enum name="GL_SECONDARY_COLOR_ARRAY_STRIDE"/>
+            <enum name="GL_SECONDARY_COLOR_ARRAY_POINTER"/>
+            <enum name="GL_SECONDARY_COLOR_ARRAY"/>
+            <enum name="GL_TEXTURE_FILTER_CONTROL"/>
+            <enum name="GL_DEPTH_TEXTURE_MODE"/>
+            <enum name="GL_COMPARE_R_TO_TEXTURE"/>
+            <command name="glBlendFuncSeparate"/>
+            <command name="glMultiDrawArrays"/>
+            <command name="glMultiDrawElements"/>
+            <command name="glPointParameterf"/>
+            <command name="glPointParameterfv"/>
+            <command name="glPointParameteri"/>
+            <command name="glPointParameteriv"/>
+            <command name="glFogCoordf"/>
+            <command name="glFogCoordfv"/>
+            <command name="glFogCoordd"/>
+            <command name="glFogCoorddv"/>
+            <command name="glFogCoordPointer"/>
+            <command name="glSecondaryColor3b"/>
+            <command name="glSecondaryColor3bv"/>
+            <command name="glSecondaryColor3d"/>
+            <command name="glSecondaryColor3dv"/>
+            <command name="glSecondaryColor3f"/>
+            <command name="glSecondaryColor3fv"/>
+            <command name="glSecondaryColor3i"/>
+            <command name="glSecondaryColor3iv"/>
+            <command name="glSecondaryColor3s"/>
+            <command name="glSecondaryColor3sv"/>
+            <command name="glSecondaryColor3ub"/>
+            <command name="glSecondaryColor3ubv"/>
+            <command name="glSecondaryColor3ui"/>
+            <command name="glSecondaryColor3uiv"/>
+            <command name="glSecondaryColor3us"/>
+            <command name="glSecondaryColor3usv"/>
+            <command name="glSecondaryColorPointer"/>
+            <command name="glWindowPos2d"/>
+            <command name="glWindowPos2dv"/>
+            <command name="glWindowPos2f"/>
+            <command name="glWindowPos2fv"/>
+            <command name="glWindowPos2i"/>
+            <command name="glWindowPos2iv"/>
+            <command name="glWindowPos2s"/>
+            <command name="glWindowPos2sv"/>
+            <command name="glWindowPos3d"/>
+            <command name="glWindowPos3dv"/>
+            <command name="glWindowPos3f"/>
+            <command name="glWindowPos3fv"/>
+            <command name="glWindowPos3i"/>
+            <command name="glWindowPos3iv"/>
+            <command name="glWindowPos3s"/>
+            <command name="glWindowPos3sv"/>
+        </require>
+        <require comment="Promoted from ARB_imaging subset to core">
+            <enum name="GL_BLEND_COLOR"/>
+            <enum name="GL_BLEND_EQUATION"/>
+            <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_FUNC_ADD"/>
+            <enum name="GL_FUNC_REVERSE_SUBTRACT"/>
+            <enum name="GL_FUNC_SUBTRACT"/>
+            <enum name="GL_MIN"/>
+            <enum name="GL_MAX"/>
+            <command name="glBlendColor"/>
+            <command name="glBlendEquation"/>
+        </require>
+    </feature>
+    <feature api="gl" name="GL_VERSION_1_5" number="1.5">
+        <require>
+            <enum name="GL_BUFFER_SIZE"/>
+            <enum name="GL_BUFFER_USAGE"/>
+            <enum name="GL_QUERY_COUNTER_BITS"/>
+            <enum name="GL_CURRENT_QUERY"/>
+            <enum name="GL_QUERY_RESULT"/>
+            <enum name="GL_QUERY_RESULT_AVAILABLE"/>
+            <enum name="GL_ARRAY_BUFFER"/>
+            <enum name="GL_ELEMENT_ARRAY_BUFFER"/>
+            <enum name="GL_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_ELEMENT_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_READ_ONLY"/>
+            <enum name="GL_WRITE_ONLY"/>
+            <enum name="GL_READ_WRITE"/>
+            <enum name="GL_BUFFER_ACCESS"/>
+            <enum name="GL_BUFFER_MAPPED"/>
+            <enum name="GL_BUFFER_MAP_POINTER"/>
+            <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"/>
+            <enum name="GL_SAMPLES_PASSED"/>
+            <enum name="GL_SRC1_ALPHA"/>
+            <enum name="GL_VERTEX_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_NORMAL_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_COLOR_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_INDEX_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_EDGE_FLAG_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_WEIGHT_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_FOG_COORD_SRC"/>
+            <enum name="GL_FOG_COORD"/>
+            <enum name="GL_CURRENT_FOG_COORD"/>
+            <enum name="GL_FOG_COORD_ARRAY_TYPE"/>
+            <enum name="GL_FOG_COORD_ARRAY_STRIDE"/>
+            <enum name="GL_FOG_COORD_ARRAY_POINTER"/>
+            <enum name="GL_FOG_COORD_ARRAY"/>
+            <enum name="GL_FOG_COORD_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_SRC0_RGB"/>
+            <enum name="GL_SRC1_RGB"/>
+            <enum name="GL_SRC2_RGB"/>
+            <enum name="GL_SRC0_ALPHA"/>
+            <enum name="GL_SRC2_ALPHA"/>
+            <command name="glGenQueries"/>
+            <command name="glDeleteQueries"/>
+            <command name="glIsQuery"/>
+            <command name="glBeginQuery"/>
+            <command name="glEndQuery"/>
+            <command name="glGetQueryiv"/>
+            <command name="glGetQueryObjectiv"/>
+            <command name="glGetQueryObjectuiv"/>
+            <command name="glBindBuffer"/>
+            <command name="glDeleteBuffers"/>
+            <command name="glGenBuffers"/>
+            <command name="glIsBuffer"/>
+            <command name="glBufferData"/>
+            <command name="glBufferSubData"/>
+            <command name="glGetBufferSubData"/>
+            <command name="glMapBuffer"/>
+            <command name="glUnmapBuffer"/>
+            <command name="glGetBufferParameteriv"/>
+            <command name="glGetBufferPointerv"/>
+        </require>
+    </feature>
+    <feature api="gl" name="GL_VERSION_2_0" number="2.0">
+        <require>
+            <enum name="GL_BLEND_EQUATION_RGB"/>
+            <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_CURRENT_VERTEX_ATTRIB"/>
+            <enum name="GL_VERTEX_PROGRAM_POINT_SIZE"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_POINTER"/>
+            <enum name="GL_STENCIL_BACK_FUNC"/>
+            <enum name="GL_STENCIL_BACK_FAIL"/>
+            <enum name="GL_STENCIL_BACK_PASS_DEPTH_FAIL"/>
+            <enum name="GL_STENCIL_BACK_PASS_DEPTH_PASS"/>
+            <enum name="GL_MAX_DRAW_BUFFERS"/>
+            <enum name="GL_DRAW_BUFFER0"/>
+            <enum name="GL_DRAW_BUFFER1"/>
+            <enum name="GL_DRAW_BUFFER2"/>
+            <enum name="GL_DRAW_BUFFER3"/>
+            <enum name="GL_DRAW_BUFFER4"/>
+            <enum name="GL_DRAW_BUFFER5"/>
+            <enum name="GL_DRAW_BUFFER6"/>
+            <enum name="GL_DRAW_BUFFER7"/>
+            <enum name="GL_DRAW_BUFFER8"/>
+            <enum name="GL_DRAW_BUFFER9"/>
+            <enum name="GL_DRAW_BUFFER10"/>
+            <enum name="GL_DRAW_BUFFER11"/>
+            <enum name="GL_DRAW_BUFFER12"/>
+            <enum name="GL_DRAW_BUFFER13"/>
+            <enum name="GL_DRAW_BUFFER14"/>
+            <enum name="GL_DRAW_BUFFER15"/>
+            <enum name="GL_BLEND_EQUATION_ALPHA"/>
+            <enum name="GL_MAX_VERTEX_ATTRIBS"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"/>
+            <enum name="GL_MAX_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_FRAGMENT_SHADER"/>
+            <enum name="GL_VERTEX_SHADER"/>
+            <enum name="GL_MAX_FRAGMENT_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_VERTEX_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_VARYING_FLOATS"/>
+            <enum name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_SHADER_TYPE"/>
+            <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_DELETE_STATUS"/>
+            <enum name="GL_COMPILE_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_UNIFORMS"/>
+            <enum name="GL_ACTIVE_UNIFORM_MAX_LENGTH"/>
+            <enum name="GL_SHADER_SOURCE_LENGTH"/>
+            <enum name="GL_ACTIVE_ATTRIBUTES"/>
+            <enum name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"/>
+            <enum name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT"/>
+            <enum name="GL_SHADING_LANGUAGE_VERSION"/>
+            <enum name="GL_CURRENT_PROGRAM"/>
+            <enum name="GL_POINT_SPRITE_COORD_ORIGIN"/>
+            <enum name="GL_LOWER_LEFT"/>
+            <enum name="GL_UPPER_LEFT"/>
+            <enum name="GL_STENCIL_BACK_REF"/>
+            <enum name="GL_STENCIL_BACK_VALUE_MASK"/>
+            <enum name="GL_STENCIL_BACK_WRITEMASK"/>
+            <enum name="GL_VERTEX_PROGRAM_TWO_SIDE"/>
+            <enum name="GL_POINT_SPRITE"/>
+            <enum name="GL_COORD_REPLACE"/>
+            <enum name="GL_MAX_TEXTURE_COORDS"/>
+            <command name="glBlendEquationSeparate"/>
+            <command name="glDrawBuffers"/>
+            <command name="glStencilOpSeparate"/>
+            <command name="glStencilFuncSeparate"/>
+            <command name="glStencilMaskSeparate"/>
+            <command name="glAttachShader"/>
+            <command name="glBindAttribLocation"/>
+            <command name="glCompileShader"/>
+            <command name="glCreateProgram"/>
+            <command name="glCreateShader"/>
+            <command name="glDeleteProgram"/>
+            <command name="glDeleteShader"/>
+            <command name="glDetachShader"/>
+            <command name="glDisableVertexAttribArray"/>
+            <command name="glEnableVertexAttribArray"/>
+            <command name="glGetActiveAttrib"/>
+            <command name="glGetActiveUniform"/>
+            <command name="glGetAttachedShaders"/>
+            <command name="glGetAttribLocation"/>
+            <command name="glGetProgramiv"/>
+            <command name="glGetProgramInfoLog"/>
+            <command name="glGetShaderiv"/>
+            <command name="glGetShaderInfoLog"/>
+            <command name="glGetShaderSource"/>
+            <command name="glGetUniformLocation"/>
+            <command name="glGetUniformfv"/>
+            <command name="glGetUniformiv"/>
+            <command name="glGetVertexAttribdv"/>
+            <command name="glGetVertexAttribfv"/>
+            <command name="glGetVertexAttribiv"/>
+            <command name="glGetVertexAttribPointerv"/>
+            <command name="glIsProgram"/>
+            <command name="glIsShader"/>
+            <command name="glLinkProgram"/>
+            <command name="glShaderSource"/>
+            <command name="glUseProgram"/>
+            <command name="glUniform1f"/>
+            <command name="glUniform2f"/>
+            <command name="glUniform3f"/>
+            <command name="glUniform4f"/>
+            <command name="glUniform1i"/>
+            <command name="glUniform2i"/>
+            <command name="glUniform3i"/>
+            <command name="glUniform4i"/>
+            <command name="glUniform1fv"/>
+            <command name="glUniform2fv"/>
+            <command name="glUniform3fv"/>
+            <command name="glUniform4fv"/>
+            <command name="glUniform1iv"/>
+            <command name="glUniform2iv"/>
+            <command name="glUniform3iv"/>
+            <command name="glUniform4iv"/>
+            <command name="glUniformMatrix2fv"/>
+            <command name="glUniformMatrix3fv"/>
+            <command name="glUniformMatrix4fv"/>
+            <command name="glValidateProgram"/>
+            <command name="glVertexAttrib1d"/>
+            <command name="glVertexAttrib1dv"/>
+            <command name="glVertexAttrib1f"/>
+            <command name="glVertexAttrib1fv"/>
+            <command name="glVertexAttrib1s"/>
+            <command name="glVertexAttrib1sv"/>
+            <command name="glVertexAttrib2d"/>
+            <command name="glVertexAttrib2dv"/>
+            <command name="glVertexAttrib2f"/>
+            <command name="glVertexAttrib2fv"/>
+            <command name="glVertexAttrib2s"/>
+            <command name="glVertexAttrib2sv"/>
+            <command name="glVertexAttrib3d"/>
+            <command name="glVertexAttrib3dv"/>
+            <command name="glVertexAttrib3f"/>
+            <command name="glVertexAttrib3fv"/>
+            <command name="glVertexAttrib3s"/>
+            <command name="glVertexAttrib3sv"/>
+            <command name="glVertexAttrib4Nbv"/>
+            <command name="glVertexAttrib4Niv"/>
+            <command name="glVertexAttrib4Nsv"/>
+            <command name="glVertexAttrib4Nub"/>
+            <command name="glVertexAttrib4Nubv"/>
+            <command name="glVertexAttrib4Nuiv"/>
+            <command name="glVertexAttrib4Nusv"/>
+            <command name="glVertexAttrib4bv"/>
+            <command name="glVertexAttrib4d"/>
+            <command name="glVertexAttrib4dv"/>
+            <command name="glVertexAttrib4f"/>
+            <command name="glVertexAttrib4fv"/>
+            <command name="glVertexAttrib4iv"/>
+            <command name="glVertexAttrib4s"/>
+            <command name="glVertexAttrib4sv"/>
+            <command name="glVertexAttrib4ubv"/>
+            <command name="glVertexAttrib4uiv"/>
+            <command name="glVertexAttrib4usv"/>
+            <command name="glVertexAttribPointer"/>
+        </require>
+    </feature>
+    <feature api="gl" name="GL_VERSION_2_1" number="2.1">
+        <require>
+            <enum name="GL_PIXEL_PACK_BUFFER"/>
+            <enum name="GL_PIXEL_UNPACK_BUFFER"/>
+            <enum name="GL_PIXEL_PACK_BUFFER_BINDING"/>
+            <enum name="GL_PIXEL_UNPACK_BUFFER_BINDING"/>
+            <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_SRGB"/>
+            <enum name="GL_SRGB8"/>
+            <enum name="GL_SRGB_ALPHA"/>
+            <enum name="GL_SRGB8_ALPHA8"/>
+            <enum name="GL_COMPRESSED_SRGB"/>
+            <enum name="GL_COMPRESSED_SRGB_ALPHA"/>
+            <enum name="GL_CURRENT_RASTER_SECONDARY_COLOR"/>
+            <enum name="GL_SLUMINANCE_ALPHA"/>
+            <enum name="GL_SLUMINANCE8_ALPHA8"/>
+            <enum name="GL_SLUMINANCE"/>
+            <enum name="GL_SLUMINANCE8"/>
+            <enum name="GL_COMPRESSED_SLUMINANCE"/>
+            <enum name="GL_COMPRESSED_SLUMINANCE_ALPHA"/>
+            <command name="glUniformMatrix2x3fv"/>
+            <command name="glUniformMatrix3x2fv"/>
+            <command name="glUniformMatrix2x4fv"/>
+            <command name="glUniformMatrix4x2fv"/>
+            <command name="glUniformMatrix3x4fv"/>
+            <command name="glUniformMatrix4x3fv"/>
+        </require>
+    </feature>
+    <feature api="gl" name="GL_VERSION_3_0" number="3.0">
+        <require>
+            <enum name="GL_COMPARE_REF_TO_TEXTURE"/>
+            <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_MAX_CLIP_DISTANCES"/>
+            <enum name="GL_MAJOR_VERSION"/>
+            <enum name="GL_MINOR_VERSION"/>
+            <enum name="GL_NUM_EXTENSIONS"/>
+            <enum name="GL_CONTEXT_FLAGS"/>
+            <enum name="GL_COMPRESSED_RED"/>
+            <enum name="GL_COMPRESSED_RG"/>
+            <enum name="GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT"/>
+            <enum name="GL_RGBA32F"/>
+            <enum name="GL_RGB32F"/>
+            <enum name="GL_RGBA16F"/>
+            <enum name="GL_RGB16F"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_INTEGER"/>
+            <enum name="GL_MAX_ARRAY_TEXTURE_LAYERS"/>
+            <enum name="GL_MIN_PROGRAM_TEXEL_OFFSET"/>
+            <enum name="GL_MAX_PROGRAM_TEXEL_OFFSET"/>
+            <enum name="GL_CLAMP_READ_COLOR"/>
+            <enum name="GL_FIXED_ONLY"/>
+            <enum name="GL_MAX_VARYING_COMPONENTS"/>
+            <enum name="GL_TEXTURE_1D_ARRAY"/>
+            <enum name="GL_PROXY_TEXTURE_1D_ARRAY"/>
+            <enum name="GL_TEXTURE_2D_ARRAY"/>
+            <enum name="GL_PROXY_TEXTURE_2D_ARRAY"/>
+            <enum name="GL_TEXTURE_BINDING_1D_ARRAY"/>
+            <enum name="GL_TEXTURE_BINDING_2D_ARRAY"/>
+            <enum name="GL_R11F_G11F_B10F"/>
+            <enum name="GL_UNSIGNED_INT_10F_11F_11F_REV"/>
+            <enum name="GL_RGB9_E5"/>
+            <enum name="GL_UNSIGNED_INT_5_9_9_9_REV"/>
+            <enum name="GL_TEXTURE_SHARED_SIZE"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE"/>
+            <enum name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_VARYINGS"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_START"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE"/>
+            <enum name="GL_PRIMITIVES_GENERATED"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"/>
+            <enum name="GL_RASTERIZER_DISCARD"/>
+            <enum name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS"/>
+            <enum name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS"/>
+            <enum name="GL_INTERLEAVED_ATTRIBS"/>
+            <enum name="GL_SEPARATE_ATTRIBS"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING"/>
+            <enum name="GL_RGBA32UI"/>
+            <enum name="GL_RGB32UI"/>
+            <enum name="GL_RGBA16UI"/>
+            <enum name="GL_RGB16UI"/>
+            <enum name="GL_RGBA8UI"/>
+            <enum name="GL_RGB8UI"/>
+            <enum name="GL_RGBA32I"/>
+            <enum name="GL_RGB32I"/>
+            <enum name="GL_RGBA16I"/>
+            <enum name="GL_RGB16I"/>
+            <enum name="GL_RGBA8I"/>
+            <enum name="GL_RGB8I"/>
+            <enum name="GL_RED_INTEGER"/>
+            <enum name="GL_GREEN_INTEGER"/>
+            <enum name="GL_BLUE_INTEGER"/>
+            <enum name="GL_RGB_INTEGER"/>
+            <enum name="GL_RGBA_INTEGER"/>
+            <enum name="GL_BGR_INTEGER"/>
+            <enum name="GL_BGRA_INTEGER"/>
+            <enum name="GL_SAMPLER_1D_ARRAY"/>
+            <enum name="GL_SAMPLER_2D_ARRAY"/>
+            <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_1D_ARRAY"/>
+            <enum name="GL_INT_SAMPLER_2D_ARRAY"/>
+            <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_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_BUFFER_ACCESS_FLAGS"/>
+            <enum name="GL_BUFFER_MAP_LENGTH"/>
+            <enum name="GL_BUFFER_MAP_OFFSET"/>
+            <command name="glColorMaski"/>
+            <command name="glGetBooleani_v"/>
+            <command name="glGetIntegeri_v"/>
+            <command name="glEnablei"/>
+            <command name="glDisablei"/>
+            <command name="glIsEnabledi"/>
+            <command name="glBeginTransformFeedback"/>
+            <command name="glEndTransformFeedback"/>
+            <command name="glBindBufferRange"/>
+            <command name="glBindBufferBase"/>
+            <command name="glTransformFeedbackVaryings"/>
+            <command name="glGetTransformFeedbackVarying"/>
+            <command name="glClampColor"/>
+            <command name="glBeginConditionalRender"/>
+            <command name="glEndConditionalRender"/>
+            <command name="glVertexAttribIPointer"/>
+            <command name="glGetVertexAttribIiv"/>
+            <command name="glGetVertexAttribIuiv"/>
+            <command name="glVertexAttribI1i"/>
+            <command name="glVertexAttribI2i"/>
+            <command name="glVertexAttribI3i"/>
+            <command name="glVertexAttribI4i"/>
+            <command name="glVertexAttribI1ui"/>
+            <command name="glVertexAttribI2ui"/>
+            <command name="glVertexAttribI3ui"/>
+            <command name="glVertexAttribI4ui"/>
+            <command name="glVertexAttribI1iv"/>
+            <command name="glVertexAttribI2iv"/>
+            <command name="glVertexAttribI3iv"/>
+            <command name="glVertexAttribI4iv"/>
+            <command name="glVertexAttribI1uiv"/>
+            <command name="glVertexAttribI2uiv"/>
+            <command name="glVertexAttribI3uiv"/>
+            <command name="glVertexAttribI4uiv"/>
+            <command name="glVertexAttribI4bv"/>
+            <command name="glVertexAttribI4sv"/>
+            <command name="glVertexAttribI4ubv"/>
+            <command name="glVertexAttribI4usv"/>
+            <command name="glGetUniformuiv"/>
+            <command name="glBindFragDataLocation"/>
+            <command name="glGetFragDataLocation"/>
+            <command name="glUniform1ui"/>
+            <command name="glUniform2ui"/>
+            <command name="glUniform3ui"/>
+            <command name="glUniform4ui"/>
+            <command name="glUniform1uiv"/>
+            <command name="glUniform2uiv"/>
+            <command name="glUniform3uiv"/>
+            <command name="glUniform4uiv"/>
+            <command name="glTexParameterIiv"/>
+            <command name="glTexParameterIuiv"/>
+            <command name="glGetTexParameterIiv"/>
+            <command name="glGetTexParameterIuiv"/>
+            <command name="glClearBufferiv"/>
+            <command name="glClearBufferuiv"/>
+            <command name="glClearBufferfv"/>
+            <command name="glClearBufferfi"/>
+            <command name="glGetStringi"/>
+        </require>
+        <require comment="Reuse ARB_depth_buffer_float">
+            <enum name="GL_DEPTH_COMPONENT32F"/>
+            <enum name="GL_DEPTH32F_STENCIL8"/>
+            <enum name="GL_FLOAT_32_UNSIGNED_INT_24_8_REV"/>
+        </require>
+        <require comment="Reuse ARB_framebuffer_object">
+            <enum name="GL_INVALID_FRAMEBUFFER_OPERATION"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE"/>
+            <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_DEFAULT"/>
+            <enum name="GL_FRAMEBUFFER_UNDEFINED"/>
+            <enum name="GL_DEPTH_STENCIL_ATTACHMENT"/>
+            <enum name="GL_MAX_RENDERBUFFER_SIZE"/>
+            <enum name="GL_DEPTH_STENCIL"/>
+            <enum name="GL_UNSIGNED_INT_24_8"/>
+            <enum name="GL_DEPTH24_STENCIL8"/>
+            <enum name="GL_TEXTURE_STENCIL_SIZE"/>
+            <enum name="GL_TEXTURE_RED_TYPE"/>
+            <enum name="GL_TEXTURE_GREEN_TYPE"/>
+            <enum name="GL_TEXTURE_BLUE_TYPE"/>
+            <enum name="GL_TEXTURE_ALPHA_TYPE"/>
+            <enum name="GL_TEXTURE_DEPTH_TYPE"/>
+            <enum name="GL_UNSIGNED_NORMALIZED"/>
+            <enum name="GL_FRAMEBUFFER_BINDING"/>
+            <enum name="GL_DRAW_FRAMEBUFFER_BINDING"/>
+            <enum name="GL_RENDERBUFFER_BINDING"/>
+            <enum name="GL_READ_FRAMEBUFFER"/>
+            <enum name="GL_DRAW_FRAMEBUFFER"/>
+            <enum name="GL_READ_FRAMEBUFFER_BINDING"/>
+            <enum name="GL_RENDERBUFFER_SAMPLES"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"/>
+            <enum name="GL_FRAMEBUFFER_COMPLETE"/>
+            <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_MAX_COLOR_ATTACHMENTS"/>
+            <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"/>
+            <enum name="GL_DEPTH_ATTACHMENT"/>
+            <enum name="GL_STENCIL_ATTACHMENT"/>
+            <enum name="GL_FRAMEBUFFER"/>
+            <enum name="GL_RENDERBUFFER"/>
+            <enum name="GL_RENDERBUFFER_WIDTH"/>
+            <enum name="GL_RENDERBUFFER_HEIGHT"/>
+            <enum name="GL_RENDERBUFFER_INTERNAL_FORMAT"/>
+            <enum name="GL_STENCIL_INDEX1"/>
+            <enum name="GL_STENCIL_INDEX4"/>
+            <enum name="GL_STENCIL_INDEX8"/>
+            <enum name="GL_STENCIL_INDEX16"/>
+            <enum name="GL_RENDERBUFFER_RED_SIZE"/>
+            <enum name="GL_RENDERBUFFER_GREEN_SIZE"/>
+            <enum name="GL_RENDERBUFFER_BLUE_SIZE"/>
+            <enum name="GL_RENDERBUFFER_ALPHA_SIZE"/>
+            <enum name="GL_RENDERBUFFER_DEPTH_SIZE"/>
+            <enum name="GL_RENDERBUFFER_STENCIL_SIZE"/>
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"/>
+            <enum name="GL_MAX_SAMPLES"/>
+            <enum name="GL_INDEX"/>
+            <command name="glIsRenderbuffer"/>
+            <command name="glBindRenderbuffer"/>
+            <command name="glDeleteRenderbuffers"/>
+            <command name="glGenRenderbuffers"/>
+            <command name="glRenderbufferStorage"/>
+            <command name="glGetRenderbufferParameteriv"/>
+            <command name="glIsFramebuffer"/>
+            <command name="glBindFramebuffer"/>
+            <command name="glDeleteFramebuffers"/>
+            <command name="glGenFramebuffers"/>
+            <command name="glCheckFramebufferStatus"/>
+            <command name="glFramebufferTexture1D"/>
+            <command name="glFramebufferTexture2D"/>
+            <command name="glFramebufferTexture3D"/>
+            <command name="glFramebufferRenderbuffer"/>
+            <command name="glGetFramebufferAttachmentParameteriv"/>
+            <command name="glGenerateMipmap"/>
+            <command name="glBlitFramebuffer"/>
+            <command name="glRenderbufferStorageMultisample"/>
+            <command name="glFramebufferTextureLayer"/>
+        </require>
+        <require comment="Reuse ARB_texture_float">
+            <enum name="GL_TEXTURE_LUMINANCE_TYPE"/>
+            <enum name="GL_TEXTURE_INTENSITY_TYPE"/>
+        </require>
+        <require comment="Reuse ARB_framebuffer_sRGB">
+            <enum name="GL_FRAMEBUFFER_SRGB"/>
+        </require>
+        <require comment="Reuse ARB_half_float_vertex">
+            <type name="GLhalf"/>
+            <enum name="GL_HALF_FLOAT"/>
+        </require>
+        <require comment="Reuse ARB_map_buffer_range">
+            <enum name="GL_MAP_READ_BIT"/>
+            <enum name="GL_MAP_WRITE_BIT"/>
+            <enum name="GL_MAP_INVALIDATE_RANGE_BIT"/>
+            <enum name="GL_MAP_INVALIDATE_BUFFER_BIT"/>
+            <enum name="GL_MAP_FLUSH_EXPLICIT_BIT"/>
+            <enum name="GL_MAP_UNSYNCHRONIZED_BIT"/>
+            <command name="glMapBufferRange"/>
+            <command name="glFlushMappedBufferRange"/>
+        </require>
+        <require comment="Reuse ARB_texture_compression_rgtc">
+            <enum name="GL_COMPRESSED_RED_RGTC1"/>
+            <enum name="GL_COMPRESSED_SIGNED_RED_RGTC1"/>
+            <enum name="GL_COMPRESSED_RG_RGTC2"/>
+            <enum name="GL_COMPRESSED_SIGNED_RG_RGTC2"/>
+        </require>
+        <require comment="Reuse ARB_texture_rg">
+            <enum name="GL_RG"/>
+            <enum name="GL_RG_INTEGER"/>
+            <enum name="GL_R8"/>
+            <enum name="GL_R16"/>
+            <enum name="GL_RG8"/>
+            <enum name="GL_RG16"/>
+            <enum name="GL_R16F"/>
+            <enum name="GL_R32F"/>
+            <enum name="GL_RG16F"/>
+            <enum name="GL_RG32F"/>
+            <enum name="GL_R8I"/>
+            <enum name="GL_R8UI"/>
+            <enum name="GL_R16I"/>
+            <enum name="GL_R16UI"/>
+            <enum name="GL_R32I"/>
+            <enum name="GL_R32UI"/>
+            <enum name="GL_RG8I"/>
+            <enum name="GL_RG8UI"/>
+            <enum name="GL_RG16I"/>
+            <enum name="GL_RG16UI"/>
+            <enum name="GL_RG32I"/>
+            <enum name="GL_RG32UI"/>
+        </require>
+        <require comment="Reuse ARB_vertex_array_object">
+            <enum name="GL_VERTEX_ARRAY_BINDING"/>
+            <enum name="GL_CLAMP_VERTEX_COLOR"/>
+            <enum name="GL_CLAMP_FRAGMENT_COLOR"/>
+            <enum name="GL_ALPHA_INTEGER"/>
+            <command name="glBindVertexArray"/>
+            <command name="glDeleteVertexArrays"/>
+            <command name="glGenVertexArrays"/>
+            <command name="glIsVertexArray"/>
+        </require>
+    </feature>
+    <feature api="gl" name="GL_VERSION_3_1" number="3.1">
+        <require>
+            <enum name="GL_SAMPLER_2D_RECT"/>
+            <enum name="GL_SAMPLER_2D_RECT_SHADOW"/>
+            <enum name="GL_SAMPLER_BUFFER"/>
+            <enum name="GL_INT_SAMPLER_2D_RECT"/>
+            <enum name="GL_INT_SAMPLER_BUFFER"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_2D_RECT"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_BUFFER"/>
+            <enum name="GL_TEXTURE_BUFFER"/>
+            <enum name="GL_MAX_TEXTURE_BUFFER_SIZE"/>
+            <enum name="GL_TEXTURE_BINDING_BUFFER"/>
+            <enum name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING"/>
+            <enum name="GL_TEXTURE_RECTANGLE"/>
+            <enum name="GL_TEXTURE_BINDING_RECTANGLE"/>
+            <enum name="GL_PROXY_TEXTURE_RECTANGLE"/>
+            <enum name="GL_MAX_RECTANGLE_TEXTURE_SIZE"/>
+            <enum name="GL_R8_SNORM"/>
+            <enum name="GL_RG8_SNORM"/>
+            <enum name="GL_RGB8_SNORM"/>
+            <enum name="GL_RGBA8_SNORM"/>
+            <enum name="GL_R16_SNORM"/>
+            <enum name="GL_RG16_SNORM"/>
+            <enum name="GL_RGB16_SNORM"/>
+            <enum name="GL_RGBA16_SNORM"/>
+            <enum name="GL_SIGNED_NORMALIZED"/>
+            <enum name="GL_PRIMITIVE_RESTART"/>
+            <enum name="GL_PRIMITIVE_RESTART_INDEX"/>
+            <command name="glDrawArraysInstanced"/>
+            <command name="glDrawElementsInstanced"/>
+            <command name="glTexBuffer"/>
+            <command name="glPrimitiveRestartIndex"/>
+        </require>
+        <require comment="Reuse ARB_copy_buffer">
+            <enum name="GL_COPY_READ_BUFFER"/>
+            <enum name="GL_COPY_WRITE_BUFFER"/>
+            <command name="glCopyBufferSubData"/>
+        </require>
+        <require comment="Reuse ARB_uniform_buffer_object">
+            <enum name="GL_UNIFORM_BUFFER"/>
+            <enum name="GL_UNIFORM_BUFFER_BINDING"/>
+            <enum name="GL_UNIFORM_BUFFER_START"/>
+            <enum name="GL_UNIFORM_BUFFER_SIZE"/>
+            <enum name="GL_MAX_VERTEX_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_FRAGMENT_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_COMBINED_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_UNIFORM_BUFFER_BINDINGS"/>
+            <enum name="GL_MAX_UNIFORM_BLOCK_SIZE"/>
+            <enum name="GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"/>
+            <enum name="GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT"/>
+            <enum name="GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH"/>
+            <enum name="GL_ACTIVE_UNIFORM_BLOCKS"/>
+            <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_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_GEOMETRY_SHADER"/>
+            <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER"/>
+            <enum name="GL_INVALID_INDEX"/>
+            <command name="glGetUniformIndices"/>
+            <command name="glGetActiveUniformsiv"/>
+            <command name="glGetActiveUniformName"/>
+            <command name="glGetUniformBlockIndex"/>
+            <command name="glGetActiveUniformBlockiv"/>
+            <command name="glGetActiveUniformBlockName"/>
+            <command name="glUniformBlockBinding"/>
+            <command name="glBindBufferRange"/>
+            <command name="glBindBufferBase"/>
+            <command name="glGetIntegeri_v"/>
+        </require>
+    </feature>
+    <feature api="gl" name="GL_VERSION_3_2" number="3.2">
+        <require>
+            <enum name="GL_CONTEXT_CORE_PROFILE_BIT"/>
+            <enum name="GL_CONTEXT_COMPATIBILITY_PROFILE_BIT"/>
+            <enum name="GL_LINES_ADJACENCY"/>
+            <enum name="GL_LINE_STRIP_ADJACENCY"/>
+            <enum name="GL_TRIANGLES_ADJACENCY"/>
+            <enum name="GL_TRIANGLE_STRIP_ADJACENCY"/>
+            <enum name="GL_PROGRAM_POINT_SIZE"/>
+            <enum name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED"/>
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS"/>
+            <enum name="GL_GEOMETRY_SHADER"/>
+            <enum name="GL_GEOMETRY_VERTICES_OUT"/>
+            <enum name="GL_GEOMETRY_INPUT_TYPE"/>
+            <enum name="GL_GEOMETRY_OUTPUT_TYPE"/>
+            <enum name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_GEOMETRY_OUTPUT_VERTICES"/>
+            <enum name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS"/>
+            <enum name="GL_MAX_VERTEX_OUTPUT_COMPONENTS"/>
+            <enum name="GL_MAX_GEOMETRY_INPUT_COMPONENTS"/>
+            <enum name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS"/>
+            <enum name="GL_MAX_FRAGMENT_INPUT_COMPONENTS"/>
+            <enum name="GL_CONTEXT_PROFILE_MASK"/>
+        </require>
+        <require comment="Reuse ARB_depth_clamp">
+            <enum name="GL_DEPTH_CLAMP"/>
+        </require>
+        <require comment="Reuse ARB_draw_elements_base_vertex">
+            <command name="glDrawElementsBaseVertex"/>
+            <command name="glDrawRangeElementsBaseVertex"/>
+            <command name="glDrawElementsInstancedBaseVertex"/>
+            <command name="glMultiDrawElementsBaseVertex"/>
+        </require>
+        <require comment="Reuse ARB_fragment_coord_conventions (none)">
+        </require>
+        <require comment="Reuse ARB_provoking_vertex">
+            <enum name="GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION"/>
+            <enum name="GL_FIRST_VERTEX_CONVENTION"/>
+            <enum name="GL_LAST_VERTEX_CONVENTION"/>
+            <enum name="GL_PROVOKING_VERTEX"/>
+            <command name="glProvokingVertex"/>
+        </require>
+        <require comment="Reuse ARB_seamless_cube_map">
+            <enum name="GL_TEXTURE_CUBE_MAP_SEAMLESS"/>
+        </require>
+        <require comment="Reuse ARB_sync">
+            <enum name="GL_MAX_SERVER_WAIT_TIMEOUT"/>
+            <enum name="GL_OBJECT_TYPE"/>
+            <enum name="GL_SYNC_CONDITION"/>
+            <enum name="GL_SYNC_STATUS"/>
+            <enum name="GL_SYNC_FLAGS"/>
+            <enum name="GL_SYNC_FENCE"/>
+            <enum name="GL_SYNC_GPU_COMMANDS_COMPLETE"/>
+            <enum name="GL_UNSIGNALED"/>
+            <enum name="GL_SIGNALED"/>
+            <enum name="GL_ALREADY_SIGNALED"/>
+            <enum name="GL_TIMEOUT_EXPIRED"/>
+            <enum name="GL_CONDITION_SATISFIED"/>
+            <enum name="GL_WAIT_FAILED"/>
+            <enum name="GL_TIMEOUT_IGNORED"/>
+            <enum name="GL_SYNC_FLUSH_COMMANDS_BIT"/>
+            <command name="glFenceSync"/>
+            <command name="glIsSync"/>
+            <command name="glDeleteSync"/>
+            <command name="glClientWaitSync"/>
+            <command name="glWaitSync"/>
+            <command name="glGetInteger64v"/>
+            <command name="glGetSynciv"/>
+        </require>
+        <require comment="Reuse ARB_texture_multisample">
+            <enum name="GL_SAMPLE_POSITION"/>
+            <enum name="GL_SAMPLE_MASK"/>
+            <enum name="GL_SAMPLE_MASK_VALUE"/>
+            <enum name="GL_MAX_SAMPLE_MASK_WORDS"/>
+            <enum name="GL_TEXTURE_2D_MULTISAMPLE"/>
+            <enum name="GL_PROXY_TEXTURE_2D_MULTISAMPLE"/>
+            <enum name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_TEXTURE_BINDING_2D_MULTISAMPLE"/>
+            <enum name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_TEXTURE_SAMPLES"/>
+            <enum name="GL_TEXTURE_FIXED_SAMPLE_LOCATIONS"/>
+            <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"/>
+            <enum name="GL_MAX_COLOR_TEXTURE_SAMPLES"/>
+            <enum name="GL_MAX_DEPTH_TEXTURE_SAMPLES"/>
+            <enum name="GL_MAX_INTEGER_SAMPLES"/>
+            <!-- /* Don't need to reuse tokens from ARB_vertex_array_bgra since they're already in 1.2 core */ -->
+            <command name="glGetInteger64i_v"/>
+            <command name="glGetBufferParameteri64v"/>
+            <command name="glFramebufferTexture"/>
+            <command name="glTexImage2DMultisample"/>
+            <command name="glTexImage3DMultisample"/>
+            <command name="glGetMultisamplefv"/>
+            <command name="glSampleMaski"/>
+        </require>
+        <!-- OpenGL 3.2 is where core and compatibility profiles were first
+             introduced, so many, many things were removed from the core
+             profile in this version. A few were reintroduced later (e.g.
+             GetPointerv / STACK_{UNDER,OVER}FLOW by OpenGL 4.3 for debug
+             functionality). -->
+        <remove profile="core" comment="Compatibility-only GL 1.0 features removed from GL 3.2">
             <command name="glNewList"/>
             <command name="glEndList"/>
             <command name="glCallList"/>
@@ -27192,216 +36388,8 @@ typedef unsigned int GLhandleARB;
             <command name="glScalef"/>
             <command name="glTranslated"/>
             <command name="glTranslatef"/>
-        </require>
-    </feature>
-    <feature api="gl" name="GL_VERSION_1_1" number="1.1">
-        <require>
-            <type name="GLclampf" comment="No longer used in GL 1.1, but still defined in Mesa gl.h"/>
-            <type name="GLclampd" comment="No longer used in GL 1.1, but still defined in Mesa gl.h"/>
-            <!-- Many of these are really VERSION_1_0 enums -->
-            <enum name="GL_DEPTH_BUFFER_BIT"/>
-            <enum name="GL_STENCIL_BUFFER_BIT"/>
-            <enum name="GL_COLOR_BUFFER_BIT"/>
-            <enum name="GL_FALSE"/>
-            <enum name="GL_TRUE"/>
-            <enum name="GL_POINTS"/>
-            <enum name="GL_LINES"/>
-            <enum name="GL_LINE_LOOP"/>
-            <enum name="GL_LINE_STRIP"/>
-            <enum name="GL_TRIANGLES"/>
-            <enum name="GL_TRIANGLE_STRIP"/>
-            <enum name="GL_TRIANGLE_FAN"/>
-            <enum name="GL_QUADS"/>
-            <enum name="GL_NEVER"/>
-            <enum name="GL_LESS"/>
-            <enum name="GL_EQUAL"/>
-            <enum name="GL_LEQUAL"/>
-            <enum name="GL_GREATER"/>
-            <enum name="GL_NOTEQUAL"/>
-            <enum name="GL_GEQUAL"/>
-            <enum name="GL_ALWAYS"/>
-            <enum name="GL_ZERO"/>
-            <enum name="GL_ONE"/>
-            <enum name="GL_SRC_COLOR"/>
-            <enum name="GL_ONE_MINUS_SRC_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_DST_COLOR"/>
-            <enum name="GL_ONE_MINUS_DST_COLOR"/>
-            <enum name="GL_SRC_ALPHA_SATURATE"/>
-            <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_NO_ERROR"/>
-            <enum name="GL_INVALID_ENUM"/>
-            <enum name="GL_INVALID_VALUE"/>
-            <enum name="GL_INVALID_OPERATION"/>
-            <enum name="GL_OUT_OF_MEMORY"/>
-            <enum name="GL_CW"/>
-            <enum name="GL_CCW"/>
-            <enum name="GL_POINT_SIZE"/>
-            <enum name="GL_POINT_SIZE_RANGE"/>
-            <enum name="GL_POINT_SIZE_GRANULARITY"/>
-            <enum name="GL_LINE_SMOOTH"/>
-            <enum name="GL_LINE_WIDTH"/>
-            <enum name="GL_LINE_WIDTH_RANGE"/>
-            <enum name="GL_LINE_WIDTH_GRANULARITY"/>
-            <enum name="GL_POLYGON_MODE"/>
-            <enum name="GL_POLYGON_SMOOTH"/>
-            <enum name="GL_CULL_FACE"/>
-            <enum name="GL_CULL_FACE_MODE"/>
-            <enum name="GL_FRONT_FACE"/>
-            <enum name="GL_DEPTH_RANGE"/>
-            <enum name="GL_DEPTH_TEST"/>
-            <enum name="GL_DEPTH_WRITEMASK"/>
-            <enum name="GL_DEPTH_CLEAR_VALUE"/>
-            <enum name="GL_DEPTH_FUNC"/>
-            <enum name="GL_STENCIL_TEST"/>
-            <enum name="GL_STENCIL_CLEAR_VALUE"/>
-            <enum name="GL_STENCIL_FUNC"/>
-            <enum name="GL_STENCIL_VALUE_MASK"/>
-            <enum name="GL_STENCIL_FAIL"/>
-            <enum name="GL_STENCIL_PASS_DEPTH_FAIL"/>
-            <enum name="GL_STENCIL_PASS_DEPTH_PASS"/>
-            <enum name="GL_STENCIL_REF"/>
-            <enum name="GL_STENCIL_WRITEMASK"/>
-            <enum name="GL_VIEWPORT"/>
-            <enum name="GL_DITHER"/>
-            <enum name="GL_BLEND_DST"/>
-            <enum name="GL_BLEND_SRC"/>
-            <enum name="GL_BLEND"/>
-            <enum name="GL_LOGIC_OP_MODE"/>
-            <enum name="GL_COLOR_LOGIC_OP"/>
-            <enum name="GL_DRAW_BUFFER"/>
-            <enum name="GL_READ_BUFFER"/>
-            <enum name="GL_SCISSOR_BOX"/>
-            <enum name="GL_SCISSOR_TEST"/>
-            <enum name="GL_COLOR_CLEAR_VALUE"/>
-            <enum name="GL_COLOR_WRITEMASK"/>
-            <enum name="GL_DOUBLEBUFFER"/>
-            <enum name="GL_STEREO"/>
-            <enum name="GL_LINE_SMOOTH_HINT"/>
-            <enum name="GL_POLYGON_SMOOTH_HINT"/>
-            <enum name="GL_UNPACK_SWAP_BYTES"/>
-            <enum name="GL_UNPACK_LSB_FIRST"/>
-            <enum name="GL_UNPACK_ROW_LENGTH"/>
-            <enum name="GL_UNPACK_SKIP_ROWS"/>
-            <enum name="GL_UNPACK_SKIP_PIXELS"/>
-            <enum name="GL_UNPACK_ALIGNMENT"/>
-            <enum name="GL_PACK_SWAP_BYTES"/>
-            <enum name="GL_PACK_LSB_FIRST"/>
-            <enum name="GL_PACK_ROW_LENGTH"/>
-            <enum name="GL_PACK_SKIP_ROWS"/>
-            <enum name="GL_PACK_SKIP_PIXELS"/>
-            <enum name="GL_PACK_ALIGNMENT"/>
-            <enum name="GL_MAX_TEXTURE_SIZE"/>
-            <enum name="GL_MAX_VIEWPORT_DIMS"/>
-            <enum name="GL_SUBPIXEL_BITS"/>
-            <enum name="GL_TEXTURE_1D"/>
-            <enum name="GL_TEXTURE_2D"/>
-            <enum name="GL_POLYGON_OFFSET_UNITS"/>
-            <enum name="GL_POLYGON_OFFSET_POINT"/>
-            <enum name="GL_POLYGON_OFFSET_LINE"/>
-            <enum name="GL_POLYGON_OFFSET_FILL"/>
-            <enum name="GL_POLYGON_OFFSET_FACTOR"/>
-            <enum name="GL_TEXTURE_BINDING_1D"/>
-            <enum name="GL_TEXTURE_BINDING_2D"/>
-            <enum name="GL_TEXTURE_WIDTH"/>
-            <enum name="GL_TEXTURE_HEIGHT"/>
-            <enum name="GL_TEXTURE_INTERNAL_FORMAT"/>
-            <enum name="GL_TEXTURE_BORDER_COLOR"/>
-            <enum name="GL_TEXTURE_RED_SIZE"/>
-            <enum name="GL_TEXTURE_GREEN_SIZE"/>
-            <enum name="GL_TEXTURE_BLUE_SIZE"/>
-            <enum name="GL_TEXTURE_ALPHA_SIZE"/>
-            <enum name="GL_DONT_CARE"/>
-            <enum name="GL_FASTEST"/>
-            <enum name="GL_NICEST"/>
-            <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_STACK_OVERFLOW"/>
-            <enum name="GL_STACK_UNDERFLOW"/>
-            <enum name="GL_CLEAR"/>
-            <enum name="GL_AND"/>
-            <enum name="GL_AND_REVERSE"/>
-            <enum name="GL_COPY"/>
-            <enum name="GL_AND_INVERTED"/>
-            <enum name="GL_NOOP"/>
-            <enum name="GL_XOR"/>
-            <enum name="GL_OR"/>
-            <enum name="GL_NOR"/>
-            <enum name="GL_EQUIV"/>
-            <enum name="GL_INVERT"/>
-            <enum name="GL_OR_REVERSE"/>
-            <enum name="GL_COPY_INVERTED"/>
-            <enum name="GL_OR_INVERTED"/>
-            <enum name="GL_NAND"/>
-            <enum name="GL_SET"/>
-            <enum name="GL_TEXTURE"/>
-            <enum name="GL_COLOR"/>
-            <enum name="GL_DEPTH"/>
-            <enum name="GL_STENCIL"/>
-            <enum name="GL_STENCIL_INDEX"/>
-            <enum name="GL_DEPTH_COMPONENT"/>
-            <enum name="GL_RED"/>
-            <enum name="GL_GREEN"/>
-            <enum name="GL_BLUE"/>
-            <enum name="GL_ALPHA"/>
-            <enum name="GL_RGB"/>
-            <enum name="GL_RGBA"/>
-            <enum name="GL_POINT"/>
-            <enum name="GL_LINE"/>
-            <enum name="GL_FILL"/>
-            <enum name="GL_KEEP"/>
-            <enum name="GL_REPLACE"/>
-            <enum name="GL_INCR"/>
-            <enum name="GL_DECR"/>
-            <enum name="GL_VENDOR"/>
-            <enum name="GL_RENDERER"/>
-            <enum name="GL_VERSION"/>
-            <enum name="GL_EXTENSIONS"/>
-            <enum name="GL_NEAREST"/>
-            <enum name="GL_LINEAR"/>
-            <enum name="GL_NEAREST_MIPMAP_NEAREST"/>
-            <enum name="GL_LINEAR_MIPMAP_NEAREST"/>
-            <enum name="GL_NEAREST_MIPMAP_LINEAR"/>
-            <enum name="GL_LINEAR_MIPMAP_LINEAR"/>
-            <enum name="GL_TEXTURE_MAG_FILTER"/>
-            <enum name="GL_TEXTURE_MIN_FILTER"/>
-            <enum name="GL_TEXTURE_WRAP_S"/>
-            <enum name="GL_TEXTURE_WRAP_T"/>
-            <enum name="GL_PROXY_TEXTURE_1D"/>
-            <enum name="GL_PROXY_TEXTURE_2D"/>
-            <enum name="GL_REPEAT"/>
-            <enum name="GL_R3_G3_B2"/>
-            <enum name="GL_RGB4"/>
-            <enum name="GL_RGB5"/>
-            <enum name="GL_RGB8"/>
-            <enum name="GL_RGB10"/>
-            <enum name="GL_RGB12"/>
-            <enum name="GL_RGB16"/>
-            <enum name="GL_RGBA2"/>
-            <enum name="GL_RGBA4"/>
-            <enum name="GL_RGB5_A1"/>
-            <enum name="GL_RGBA8"/>
-            <enum name="GL_RGB10_A2"/>
-            <enum name="GL_RGBA12"/>
-            <enum name="GL_RGBA16"/>
+        </remove>
+        <remove profile="core" comment="Compatibility-only GL 1.1 features removed from GL 3.2">
             <enum name="GL_CURRENT_BIT"/>
             <enum name="GL_POINT_BIT"/>
             <enum name="GL_LINE_BIT"/>
@@ -27424,12 +36412,15 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_CLIENT_VERTEX_ARRAY_BIT"/>
             <enum name="GL_CLIENT_ALL_ATTRIB_BITS"/>
             <enum name="GL_QUAD_STRIP"/>
+            <enum name="GL_QUADS"/>
             <enum name="GL_POLYGON"/>
             <enum name="GL_ACCUM"/>
             <enum name="GL_LOAD"/>
             <enum name="GL_RETURN"/>
             <enum name="GL_MULT"/>
             <enum name="GL_ADD"/>
+            <enum name="GL_STACK_OVERFLOW"/>
+            <enum name="GL_STACK_UNDERFLOW"/>
             <enum name="GL_AUX0"/>
             <enum name="GL_AUX1"/>
             <enum name="GL_AUX2"/>
@@ -27727,26 +36718,13 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_LIGHT5"/>
             <enum name="GL_LIGHT6"/>
             <enum name="GL_LIGHT7"/>
-            <command name="glDrawArrays"/>
-            <command name="glDrawElements"/>
-            <command name="glGetPointerv"/>
-            <command name="glPolygonOffset"/>
-            <command name="glCopyTexImage1D"/>
-            <command name="glCopyTexImage2D"/>
-            <command name="glCopyTexSubImage1D"/>
-            <command name="glCopyTexSubImage2D"/>
-            <command name="glTexSubImage1D"/>
-            <command name="glTexSubImage2D"/>
-            <command name="glBindTexture"/>
-            <command name="glDeleteTextures"/>
-            <command name="glGenTextures"/>
-            <command name="glIsTexture"/>
             <command name="glArrayElement"/>
             <command name="glColorPointer"/>
             <command name="glDisableClientState"/>
             <command name="glEdgeFlagPointer"/>
             <command name="glEnableClientState"/>
             <command name="glIndexPointer"/>
+            <command name="glGetPointerv"/>
             <command name="glInterleavedArrays"/>
             <command name="glNormalPointer"/>
             <command name="glTexCoordPointer"/>
@@ -27757,1580 +36735,1664 @@ typedef unsigned int GLhandleARB;
             <command name="glIndexubv"/>
             <command name="glPopClientAttrib"/>
             <command name="glPushClientAttrib"/>
+        </remove>
+        <remove profile="core" comment="Compatibility-only GL 1.2 features removed from GL 3.2">
+            <enum name="GL_RESCALE_NORMAL"/>
+            <enum name="GL_LIGHT_MODEL_COLOR_CONTROL"/>
+            <enum name="GL_SINGLE_COLOR"/>
+            <enum name="GL_SEPARATE_SPECULAR_COLOR"/>
+            <enum name="GL_ALIASED_POINT_SIZE_RANGE"/>
+        </remove>
+        <remove profile="core" comment="Compatibility-only GL 1.3 features removed from GL 3.2">
+            <enum name="GL_CLIENT_ACTIVE_TEXTURE"/>
+            <enum name="GL_MAX_TEXTURE_UNITS"/>
+            <enum name="GL_TRANSPOSE_MODELVIEW_MATRIX"/>
+            <enum name="GL_TRANSPOSE_PROJECTION_MATRIX"/>
+            <enum name="GL_TRANSPOSE_TEXTURE_MATRIX"/>
+            <enum name="GL_TRANSPOSE_COLOR_MATRIX"/>
+            <enum name="GL_MULTISAMPLE_BIT"/>
+            <enum name="GL_NORMAL_MAP"/>
+            <enum name="GL_REFLECTION_MAP"/>
+            <enum name="GL_COMPRESSED_ALPHA"/>
+            <enum name="GL_COMPRESSED_LUMINANCE"/>
+            <enum name="GL_COMPRESSED_LUMINANCE_ALPHA"/>
+            <enum name="GL_COMPRESSED_INTENSITY"/>
+            <enum name="GL_COMBINE"/>
+            <enum name="GL_COMBINE_RGB"/>
+            <enum name="GL_COMBINE_ALPHA"/>
+            <enum name="GL_SOURCE0_RGB"/>
+            <enum name="GL_SOURCE1_RGB"/>
+            <enum name="GL_SOURCE2_RGB"/>
+            <enum name="GL_SOURCE0_ALPHA"/>
+            <enum name="GL_SOURCE1_ALPHA"/>
+            <enum name="GL_SOURCE2_ALPHA"/>
+            <enum name="GL_OPERAND0_RGB"/>
+            <enum name="GL_OPERAND1_RGB"/>
+            <enum name="GL_OPERAND2_RGB"/>
+            <enum name="GL_OPERAND0_ALPHA"/>
+            <enum name="GL_OPERAND1_ALPHA"/>
+            <enum name="GL_OPERAND2_ALPHA"/>
+            <enum name="GL_RGB_SCALE"/>
+            <enum name="GL_ADD_SIGNED"/>
+            <enum name="GL_INTERPOLATE"/>
+            <enum name="GL_SUBTRACT"/>
+            <enum name="GL_CONSTANT"/>
+            <enum name="GL_PRIMARY_COLOR"/>
+            <enum name="GL_PREVIOUS"/>
+            <enum name="GL_DOT3_RGB"/>
+            <enum name="GL_DOT3_RGBA"/>
+            <command name="glClientActiveTexture"/>
+            <command name="glMultiTexCoord1d"/>
+            <command name="glMultiTexCoord1dv"/>
+            <command name="glMultiTexCoord1f"/>
+            <command name="glMultiTexCoord1fv"/>
+            <command name="glMultiTexCoord1i"/>
+            <command name="glMultiTexCoord1iv"/>
+            <command name="glMultiTexCoord1s"/>
+            <command name="glMultiTexCoord1sv"/>
+            <command name="glMultiTexCoord2d"/>
+            <command name="glMultiTexCoord2dv"/>
+            <command name="glMultiTexCoord2f"/>
+            <command name="glMultiTexCoord2fv"/>
+            <command name="glMultiTexCoord2i"/>
+            <command name="glMultiTexCoord2iv"/>
+            <command name="glMultiTexCoord2s"/>
+            <command name="glMultiTexCoord2sv"/>
+            <command name="glMultiTexCoord3d"/>
+            <command name="glMultiTexCoord3dv"/>
+            <command name="glMultiTexCoord3f"/>
+            <command name="glMultiTexCoord3fv"/>
+            <command name="glMultiTexCoord3i"/>
+            <command name="glMultiTexCoord3iv"/>
+            <command name="glMultiTexCoord3s"/>
+            <command name="glMultiTexCoord3sv"/>
+            <command name="glMultiTexCoord4d"/>
+            <command name="glMultiTexCoord4dv"/>
+            <command name="glMultiTexCoord4f"/>
+            <command name="glMultiTexCoord4fv"/>
+            <command name="glMultiTexCoord4i"/>
+            <command name="glMultiTexCoord4iv"/>
+            <command name="glMultiTexCoord4s"/>
+            <command name="glMultiTexCoord4sv"/>
+            <command name="glLoadTransposeMatrixf"/>
+            <command name="glLoadTransposeMatrixd"/>
+            <command name="glMultTransposeMatrixf"/>
+            <command name="glMultTransposeMatrixd"/>
+        </remove>
+        <remove profile="core" comment="Compatibility-only GL 1.4 features removed from GL 3.2">
+            <enum name="GL_POINT_SIZE_MIN"/>
+            <enum name="GL_POINT_SIZE_MAX"/>
+            <enum name="GL_POINT_DISTANCE_ATTENUATION"/>
+            <enum name="GL_GENERATE_MIPMAP"/>
+            <enum name="GL_GENERATE_MIPMAP_HINT"/>
+            <enum name="GL_FOG_COORDINATE_SOURCE"/>
+            <enum name="GL_FOG_COORDINATE"/>
+            <enum name="GL_FRAGMENT_DEPTH"/>
+            <enum name="GL_CURRENT_FOG_COORDINATE"/>
+            <enum name="GL_FOG_COORDINATE_ARRAY_TYPE"/>
+            <enum name="GL_FOG_COORDINATE_ARRAY_STRIDE"/>
+            <enum name="GL_FOG_COORDINATE_ARRAY_POINTER"/>
+            <enum name="GL_FOG_COORDINATE_ARRAY"/>
+            <enum name="GL_COLOR_SUM"/>
+            <enum name="GL_CURRENT_SECONDARY_COLOR"/>
+            <enum name="GL_SECONDARY_COLOR_ARRAY_SIZE"/>
+            <enum name="GL_SECONDARY_COLOR_ARRAY_TYPE"/>
+            <enum name="GL_SECONDARY_COLOR_ARRAY_STRIDE"/>
+            <enum name="GL_SECONDARY_COLOR_ARRAY_POINTER"/>
+            <enum name="GL_SECONDARY_COLOR_ARRAY"/>
+            <enum name="GL_TEXTURE_FILTER_CONTROL"/>
+            <enum name="GL_DEPTH_TEXTURE_MODE"/>
+            <enum name="GL_COMPARE_R_TO_TEXTURE"/>
+            <command name="glFogCoordf"/>
+            <command name="glFogCoordfv"/>
+            <command name="glFogCoordd"/>
+            <command name="glFogCoorddv"/>
+            <command name="glFogCoordPointer"/>
+            <command name="glSecondaryColor3b"/>
+            <command name="glSecondaryColor3bv"/>
+            <command name="glSecondaryColor3d"/>
+            <command name="glSecondaryColor3dv"/>
+            <command name="glSecondaryColor3f"/>
+            <command name="glSecondaryColor3fv"/>
+            <command name="glSecondaryColor3i"/>
+            <command name="glSecondaryColor3iv"/>
+            <command name="glSecondaryColor3s"/>
+            <command name="glSecondaryColor3sv"/>
+            <command name="glSecondaryColor3ub"/>
+            <command name="glSecondaryColor3ubv"/>
+            <command name="glSecondaryColor3ui"/>
+            <command name="glSecondaryColor3uiv"/>
+            <command name="glSecondaryColor3us"/>
+            <command name="glSecondaryColor3usv"/>
+            <command name="glSecondaryColorPointer"/>
+            <command name="glWindowPos2d"/>
+            <command name="glWindowPos2dv"/>
+            <command name="glWindowPos2f"/>
+            <command name="glWindowPos2fv"/>
+            <command name="glWindowPos2i"/>
+            <command name="glWindowPos2iv"/>
+            <command name="glWindowPos2s"/>
+            <command name="glWindowPos2sv"/>
+            <command name="glWindowPos3d"/>
+            <command name="glWindowPos3dv"/>
+            <command name="glWindowPos3f"/>
+            <command name="glWindowPos3fv"/>
+            <command name="glWindowPos3i"/>
+            <command name="glWindowPos3iv"/>
+            <command name="glWindowPos3s"/>
+            <command name="glWindowPos3sv"/>
+        </remove>
+        <remove profile="core" comment="Compatibility-only GL 1.5 features removed from GL 3.2">
+            <enum name="GL_VERTEX_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_NORMAL_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_COLOR_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_INDEX_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_EDGE_FLAG_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_WEIGHT_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_FOG_COORD_SRC"/>
+            <enum name="GL_FOG_COORD"/>
+            <enum name="GL_CURRENT_FOG_COORD"/>
+            <enum name="GL_FOG_COORD_ARRAY_TYPE"/>
+            <enum name="GL_FOG_COORD_ARRAY_STRIDE"/>
+            <enum name="GL_FOG_COORD_ARRAY_POINTER"/>
+            <enum name="GL_FOG_COORD_ARRAY"/>
+            <enum name="GL_FOG_COORD_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_SRC0_RGB"/>
+            <enum name="GL_SRC1_RGB"/>
+            <enum name="GL_SRC2_RGB"/>
+            <enum name="GL_SRC0_ALPHA"/>
+            <enum name="GL_SRC2_ALPHA"/>
+        </remove>
+        <remove profile="core" comment="Compatibility-only GL 2.0 features removed from GL 3.2">
+            <enum name="GL_VERTEX_PROGRAM_TWO_SIDE"/>
+            <enum name="GL_POINT_SPRITE"/>
+            <enum name="GL_COORD_REPLACE"/>
+            <enum name="GL_MAX_TEXTURE_COORDS"/>
+        </remove>
+        <remove profile="core" comment="Compatibility-only GL 2.1 features removed from GL 3.2">
+            <enum name="GL_CURRENT_RASTER_SECONDARY_COLOR"/>
+            <enum name="GL_SLUMINANCE_ALPHA"/>
+            <enum name="GL_SLUMINANCE8_ALPHA8"/>
+            <enum name="GL_SLUMINANCE"/>
+            <enum name="GL_SLUMINANCE8"/>
+            <enum name="GL_COMPRESSED_SLUMINANCE"/>
+            <enum name="GL_COMPRESSED_SLUMINANCE_ALPHA"/>
+        </remove>
+        <remove profile="core" comment="Compatibility-only GL 3.0 features removed from GL 3.2">
+            <enum name="GL_CLAMP_VERTEX_COLOR"/>
+            <enum name="GL_CLAMP_FRAGMENT_COLOR"/>
+            <enum name="GL_ALPHA_INTEGER"/>
+            <enum name="GL_INDEX"/>
+            <enum name="GL_TEXTURE_LUMINANCE_TYPE"/>
+            <enum name="GL_TEXTURE_INTENSITY_TYPE"/>
+        </remove>
+        <!-- Deprecated (not removed) in OpenGL 3.2 core;
+             deprecate tag not defined/supported yet
+          <deprecate profile="core">
+            <enum name="GL_MAX_VARYING_FLOATS"/>
+            <enum name="GL_MAX_VARYING_COMPONENTS"/>
+          </deprecate>
+        -->
+    </feature>
+    <feature api="gl" name="GL_VERSION_3_3" number="3.3">
+        <require>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR"/>
+        </require>
+        <require comment="Reuse ARB_blend_func_extended">
+            <enum name="GL_SRC1_COLOR"/>
+            <enum name="GL_ONE_MINUS_SRC1_COLOR"/>
+            <enum name="GL_ONE_MINUS_SRC1_ALPHA"/>
+            <enum name="GL_MAX_DUAL_SOURCE_DRAW_BUFFERS"/>
+            <command name="glBindFragDataLocationIndexed"/>
+            <command name="glGetFragDataIndex"/>
+        </require>
+        <require comment="Reuse ARB_explicit_attrib_location (none)">
+        </require>
+        <require comment="Reuse ARB_occlusion_query2">
+            <enum name="GL_ANY_SAMPLES_PASSED"/>
+        </require>
+        <require comment="Reuse ARB_sampler_objects">
+            <enum name="GL_SAMPLER_BINDING"/>
+            <command name="glGenSamplers"/>
+            <command name="glDeleteSamplers"/>
+            <command name="glIsSampler"/>
+            <command name="glBindSampler"/>
+            <command name="glSamplerParameteri"/>
+            <command name="glSamplerParameteriv"/>
+            <command name="glSamplerParameterf"/>
+            <command name="glSamplerParameterfv"/>
+            <command name="glSamplerParameterIiv"/>
+            <command name="glSamplerParameterIuiv"/>
+            <command name="glGetSamplerParameteriv"/>
+            <command name="glGetSamplerParameterIiv"/>
+            <command name="glGetSamplerParameterfv"/>
+            <command name="glGetSamplerParameterIuiv"/>
+        </require>
+        <require comment="Reuse ARB_shader_bit_encoding (none)">
+        </require>
+        <require comment="Reuse ARB_texture_rgb10_a2ui">
+            <enum name="GL_RGB10_A2UI"/>
+        </require>
+        <require comment="Reuse ARB_texture_swizzle">
+            <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"/>
+        </require>
+        <require comment="Reuse ARB_timer_query">
+            <enum name="GL_TIME_ELAPSED"/>
+            <enum name="GL_TIMESTAMP"/>
+            <command name="glQueryCounter"/>
+            <command name="glGetQueryObjecti64v"/>
+            <command name="glGetQueryObjectui64v"/>
+        </require>
+        <require comment="Reuse ARB_vertex_type_2_10_10_10_rev">
+            <enum name="GL_INT_2_10_10_10_REV"/>
+            <command name="glVertexAttribDivisor"/>
+            <command name="glVertexAttribP1ui"/>
+            <command name="glVertexAttribP1uiv"/>
+            <command name="glVertexAttribP2ui"/>
+            <command name="glVertexAttribP2uiv"/>
+            <command name="glVertexAttribP3ui"/>
+            <command name="glVertexAttribP3uiv"/>
+            <command name="glVertexAttribP4ui"/>
+            <command name="glVertexAttribP4uiv"/>
+        </require>
+        <require profile="compatibility" comment="Reuse ARB_vertex_type_2_10_10_10_rev compatibility profile">
+            <command name="glVertexP2ui"/>
+            <command name="glVertexP2uiv"/>
+            <command name="glVertexP3ui"/>
+            <command name="glVertexP3uiv"/>
+            <command name="glVertexP4ui"/>
+            <command name="glVertexP4uiv"/>
+            <command name="glTexCoordP1ui"/>
+            <command name="glTexCoordP1uiv"/>
+            <command name="glTexCoordP2ui"/>
+            <command name="glTexCoordP2uiv"/>
+            <command name="glTexCoordP3ui"/>
+            <command name="glTexCoordP3uiv"/>
+            <command name="glTexCoordP4ui"/>
+            <command name="glTexCoordP4uiv"/>
+            <command name="glMultiTexCoordP1ui"/>
+            <command name="glMultiTexCoordP1uiv"/>
+            <command name="glMultiTexCoordP2ui"/>
+            <command name="glMultiTexCoordP2uiv"/>
+            <command name="glMultiTexCoordP3ui"/>
+            <command name="glMultiTexCoordP3uiv"/>
+            <command name="glMultiTexCoordP4ui"/>
+            <command name="glMultiTexCoordP4uiv"/>
+            <command name="glNormalP3ui"/>
+            <command name="glNormalP3uiv"/>
+            <command name="glColorP3ui"/>
+            <command name="glColorP3uiv"/>
+            <command name="glColorP4ui"/>
+            <command name="glColorP4uiv"/>
+            <command name="glSecondaryColorP3ui"/>
+            <command name="glSecondaryColorP3uiv"/>
+        </require>
+    </feature>
+    <feature api="gl" name="GL_VERSION_4_0" number="4.0">
+        <require>
+            <enum name="GL_SAMPLE_SHADING"/>
+            <enum name="GL_MIN_SAMPLE_SHADING_VALUE"/>
+            <enum name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET"/>
+            <enum name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET"/>
+            <enum name="GL_TEXTURE_CUBE_MAP_ARRAY"/>
+            <enum name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY"/>
+            <enum name="GL_PROXY_TEXTURE_CUBE_MAP_ARRAY"/>
+            <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"/>
+            <command name="glMinSampleShading"/>
+            <command name="glBlendEquationi"/>
+            <command name="glBlendEquationSeparatei"/>
+            <command name="glBlendFunci"/>
+            <command name="glBlendFuncSeparatei"/>
+        </require>
+        <require comment="Reuse ARB_draw_buffers_blend (none)">
+        </require>
+        <require comment="Reuse ARB_draw_indirect">
+            <enum name="GL_DRAW_INDIRECT_BUFFER"/>
+            <enum name="GL_DRAW_INDIRECT_BUFFER_BINDING"/>
+            <command name="glDrawArraysIndirect"/>
+            <command name="glDrawElementsIndirect"/>
+        </require>
+        <require comment="Reuse ARB_gpu_shader5">
+            <enum name="GL_GEOMETRY_SHADER_INVOCATIONS"/>
+            <enum name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS"/>
+            <enum name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET"/>
+            <enum name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET"/>
+            <enum name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS"/>
+            <enum name="GL_MAX_VERTEX_STREAMS"/>
+        </require>
+        <require comment="Reuse ARB_gpu_shader_fp64">
+            <enum name="GL_DOUBLE_VEC2"/>
+            <enum name="GL_DOUBLE_VEC3"/>
+            <enum name="GL_DOUBLE_VEC4"/>
+            <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"/>
+            <command name="glUniform1d"/>
+            <command name="glUniform2d"/>
+            <command name="glUniform3d"/>
+            <command name="glUniform4d"/>
+            <command name="glUniform1dv"/>
+            <command name="glUniform2dv"/>
+            <command name="glUniform3dv"/>
+            <command name="glUniform4dv"/>
+            <command name="glUniformMatrix2dv"/>
+            <command name="glUniformMatrix3dv"/>
+            <command name="glUniformMatrix4dv"/>
+            <command name="glUniformMatrix2x3dv"/>
+            <command name="glUniformMatrix2x4dv"/>
+            <command name="glUniformMatrix3x2dv"/>
+            <command name="glUniformMatrix3x4dv"/>
+            <command name="glUniformMatrix4x2dv"/>
+            <command name="glUniformMatrix4x3dv"/>
+            <command name="glGetUniformdv"/>
+        </require>
+        <require comment="Reuse ARB_shader_subroutine">
+            <enum name="GL_ACTIVE_SUBROUTINES"/>
+            <enum name="GL_ACTIVE_SUBROUTINE_UNIFORMS"/>
+            <enum name="GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS"/>
+            <enum name="GL_ACTIVE_SUBROUTINE_MAX_LENGTH"/>
+            <enum name="GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH"/>
+            <enum name="GL_MAX_SUBROUTINES"/>
+            <enum name="GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS"/>
+            <enum name="GL_NUM_COMPATIBLE_SUBROUTINES"/>
+            <enum name="GL_COMPATIBLE_SUBROUTINES"/>
+            <command name="glGetSubroutineUniformLocation"/>
+            <command name="glGetSubroutineIndex"/>
+            <command name="glGetActiveSubroutineUniformiv"/>
+            <command name="glGetActiveSubroutineUniformName"/>
+            <command name="glGetActiveSubroutineName"/>
+            <command name="glUniformSubroutinesuiv"/>
+            <command name="glGetUniformSubroutineuiv"/>
+            <command name="glGetProgramStageiv"/>
+        </require>
+        <require comment="Reuse ARB_tessellation_shader">
+            <enum name="GL_PATCHES"/>
+            <enum name="GL_PATCH_VERTICES"/>
+            <enum name="GL_PATCH_DEFAULT_INNER_LEVEL"/>
+            <enum name="GL_PATCH_DEFAULT_OUTER_LEVEL"/>
+            <enum name="GL_TESS_CONTROL_OUTPUT_VERTICES"/>
+            <enum name="GL_TESS_GEN_MODE"/>
+            <enum name="GL_TESS_GEN_SPACING"/>
+            <enum name="GL_TESS_GEN_VERTEX_ORDER"/>
+            <enum name="GL_TESS_GEN_POINT_MODE"/>
+            <enum name="GL_ISOLINES"/>
+            <enum name="GL_QUADS"/>
+            <enum name="GL_FRACTIONAL_ODD"/>
+            <enum name="GL_FRACTIONAL_EVEN"/>
+            <enum name="GL_MAX_PATCH_VERTICES"/>
+            <enum name="GL_MAX_TESS_GEN_LEVEL"/>
+            <enum name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS"/>
+            <enum name="GL_MAX_TESS_PATCH_COMPONENTS"/>
+            <enum name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS"/>
+            <enum name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS"/>
+            <enum name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
+            <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER"/>
+            <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
+            <enum name="GL_TESS_EVALUATION_SHADER"/>
+            <enum name="GL_TESS_CONTROL_SHADER"/>
+            <command name="glPatchParameteri"/>
+            <command name="glPatchParameterfv"/>
+        </require>
+        <require comment="Reuse ARB_texture_buffer_object_rgb32 (none)">
+        </require>
+        <require comment="Reuse ARB_texture_cube_map_array (none)">
+        </require>
+        <require comment="Reuse ARB_texture_gather (none)">
+        </require>
+        <require comment="Reuse ARB_texture_query_lod (none)">
+        </require>
+        <require comment="Reuse ARB_transform_feedback2">
+            <enum name="GL_TRANSFORM_FEEDBACK"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BINDING"/>
+            <command name="glBindTransformFeedback"/>
+            <command name="glDeleteTransformFeedbacks"/>
+            <command name="glGenTransformFeedbacks"/>
+            <command name="glIsTransformFeedback"/>
+            <command name="glPauseTransformFeedback"/>
+            <command name="glResumeTransformFeedback"/>
+            <command name="glDrawTransformFeedback"/>
+        </require>
+        <require comment="Reuse ARB_transform_feedback3">
+            <enum name="GL_MAX_TRANSFORM_FEEDBACK_BUFFERS"/>
+            <enum name="GL_MAX_VERTEX_STREAMS"/>
+            <command name="glDrawTransformFeedbackStream"/>
+            <command name="glBeginQueryIndexed"/>
+            <command name="glEndQueryIndexed"/>
+            <command name="glGetQueryIndexediv"/>
+        </require>
+    </feature>
+    <feature api="gl" name="GL_VERSION_4_1" number="4.1">
+        <require comment="Reuse tokens from ARB_ES2_compatibility">
+            <enum name="GL_FIXED"/>
+            <enum name="GL_IMPLEMENTATION_COLOR_READ_TYPE"/>
+            <enum name="GL_IMPLEMENTATION_COLOR_READ_FORMAT"/>
+            <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"/>
+            <enum name="GL_SHADER_COMPILER"/>
+            <enum name="GL_SHADER_BINARY_FORMATS"/>
+            <enum name="GL_NUM_SHADER_BINARY_FORMATS"/>
+            <enum name="GL_MAX_VERTEX_UNIFORM_VECTORS"/>
+            <enum name="GL_MAX_VARYING_VECTORS"/>
+            <enum name="GL_MAX_FRAGMENT_UNIFORM_VECTORS"/>
+            <enum name="GL_RGB565"/>
+        </require>
+        <require comment="Reuse tokens from ARB_get_program_binary">
+            <enum name="GL_PROGRAM_BINARY_RETRIEVABLE_HINT"/>
+            <enum name="GL_PROGRAM_BINARY_LENGTH"/>
+            <enum name="GL_NUM_PROGRAM_BINARY_FORMATS"/>
+            <enum name="GL_PROGRAM_BINARY_FORMATS"/>
+        </require>
+        <require comment="Reuse tokens from ARB_separate_shader_objects">
+            <enum name="GL_VERTEX_SHADER_BIT"/>
+            <enum name="GL_FRAGMENT_SHADER_BIT"/>
+            <enum name="GL_GEOMETRY_SHADER_BIT"/>
+            <enum name="GL_TESS_CONTROL_SHADER_BIT"/>
+            <enum name="GL_TESS_EVALUATION_SHADER_BIT"/>
+            <enum name="GL_ALL_SHADER_BITS"/>
+            <enum name="GL_PROGRAM_SEPARABLE"/>
+            <enum name="GL_ACTIVE_PROGRAM"/>
+            <enum name="GL_PROGRAM_PIPELINE_BINDING"/>
+        </require>
+        <require comment="Reuse tokens from ARB_shader_precision (none)">
+        </require>
+        <require comment="Reuse tokens from ARB_vertex_attrib_64bit - all are in GL 3.0 and 4.0 already">
+        </require>
+        <require comment="Reuse tokens from ARB_viewport_array - some are in GL 1.1 and ARB_provoking_vertex already">
+            <enum name="GL_MAX_VIEWPORTS"/>
+            <enum name="GL_VIEWPORT_SUBPIXEL_BITS"/>
+            <enum name="GL_VIEWPORT_BOUNDS_RANGE"/>
+            <enum name="GL_LAYER_PROVOKING_VERTEX"/>
+            <enum name="GL_VIEWPORT_INDEX_PROVOKING_VERTEX"/>
+            <enum name="GL_UNDEFINED_VERTEX"/>
+        </require>
+        <require comment="Reuse commands from ARB_ES2_compatibility">
+            <command name="glReleaseShaderCompiler"/>
+            <command name="glShaderBinary"/>
+            <command name="glGetShaderPrecisionFormat"/>
+            <command name="glDepthRangef"/>
+            <command name="glClearDepthf"/>
+        </require>
+        <require comment="Reuse commands from ARB_get_program_binary">
+            <command name="glGetProgramBinary"/>
+            <command name="glProgramBinary"/>
+            <command name="glProgramParameteri"/>
+        </require>
+        <require comment="Reuse commands from ARB_separate_shader_objects">
+            <command name="glUseProgramStages"/>
+            <command name="glActiveShaderProgram"/>
+            <command name="glCreateShaderProgramv"/>
+            <command name="glBindProgramPipeline"/>
+            <command name="glDeleteProgramPipelines"/>
+            <command name="glGenProgramPipelines"/>
+            <command name="glIsProgramPipeline"/>
+            <command name="glGetProgramPipelineiv"/>
+            <command name="glProgramParameteri"/>
+            <command name="glProgramUniform1i"/>
+            <command name="glProgramUniform1iv"/>
+            <command name="glProgramUniform1f"/>
+            <command name="glProgramUniform1fv"/>
+            <command name="glProgramUniform1d"/>
+            <command name="glProgramUniform1dv"/>
+            <command name="glProgramUniform1ui"/>
+            <command name="glProgramUniform1uiv"/>
+            <command name="glProgramUniform2i"/>
+            <command name="glProgramUniform2iv"/>
+            <command name="glProgramUniform2f"/>
+            <command name="glProgramUniform2fv"/>
+            <command name="glProgramUniform2d"/>
+            <command name="glProgramUniform2dv"/>
+            <command name="glProgramUniform2ui"/>
+            <command name="glProgramUniform2uiv"/>
+            <command name="glProgramUniform3i"/>
+            <command name="glProgramUniform3iv"/>
+            <command name="glProgramUniform3f"/>
+            <command name="glProgramUniform3fv"/>
+            <command name="glProgramUniform3d"/>
+            <command name="glProgramUniform3dv"/>
+            <command name="glProgramUniform3ui"/>
+            <command name="glProgramUniform3uiv"/>
+            <command name="glProgramUniform4i"/>
+            <command name="glProgramUniform4iv"/>
+            <command name="glProgramUniform4f"/>
+            <command name="glProgramUniform4fv"/>
+            <command name="glProgramUniform4d"/>
+            <command name="glProgramUniform4dv"/>
+            <command name="glProgramUniform4ui"/>
+            <command name="glProgramUniform4uiv"/>
+            <command name="glProgramUniformMatrix2fv"/>
+            <command name="glProgramUniformMatrix3fv"/>
+            <command name="glProgramUniformMatrix4fv"/>
+            <command name="glProgramUniformMatrix2dv"/>
+            <command name="glProgramUniformMatrix3dv"/>
+            <command name="glProgramUniformMatrix4dv"/>
+            <command name="glProgramUniformMatrix2x3fv"/>
+            <command name="glProgramUniformMatrix3x2fv"/>
+            <command name="glProgramUniformMatrix2x4fv"/>
+            <command name="glProgramUniformMatrix4x2fv"/>
+            <command name="glProgramUniformMatrix3x4fv"/>
+            <command name="glProgramUniformMatrix4x3fv"/>
+            <command name="glProgramUniformMatrix2x3dv"/>
+            <command name="glProgramUniformMatrix3x2dv"/>
+            <command name="glProgramUniformMatrix2x4dv"/>
+            <command name="glProgramUniformMatrix4x2dv"/>
+            <command name="glProgramUniformMatrix3x4dv"/>
+            <command name="glProgramUniformMatrix4x3dv"/>
+            <command name="glValidateProgramPipeline"/>
+            <command name="glGetProgramPipelineInfoLog"/>
+        </require>
+        <require comment="Reuse commands from ARB_shader_precision (none)">
+        </require>
+        <require comment="Reuse commands from ARB_vertex_attrib_64bit">
+            <command name="glVertexAttribL1d"/>
+            <command name="glVertexAttribL2d"/>
+            <command name="glVertexAttribL3d"/>
+            <command name="glVertexAttribL4d"/>
+            <command name="glVertexAttribL1dv"/>
+            <command name="glVertexAttribL2dv"/>
+            <command name="glVertexAttribL3dv"/>
+            <command name="glVertexAttribL4dv"/>
+            <command name="glVertexAttribLPointer"/>
+            <command name="glGetVertexAttribLdv"/>
+        </require>
+        <require comment="Reuse commands from ARB_viewport_array">
+            <command name="glViewportArrayv"/>
+            <command name="glViewportIndexedf"/>
+            <command name="glViewportIndexedfv"/>
+            <command name="glScissorArrayv"/>
+            <command name="glScissorIndexed"/>
+            <command name="glScissorIndexedv"/>
+            <command name="glDepthRangeArrayv"/>
+            <command name="glDepthRangeIndexed"/>
+            <command name="glGetFloati_v"/>
+            <command name="glGetDoublei_v"/>
+        </require>
+    </feature>
+    <feature api="gl" name="GL_VERSION_4_2" number="4.2">
+        <require comment="New aliases for old tokens">
+            <enum name="GL_COPY_READ_BUFFER_BINDING"/>
+            <enum name="GL_COPY_WRITE_BUFFER_BINDING"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_ACTIVE"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_PAUSED"/>
+        </require>
+        <require comment="Reuse tokens from ARB_base_instance (none)">
+        </require>
+        <require comment="Reuse tokens from ARB_shading_language_420pack (none)">
+        </require>
+        <require comment="Reuse tokens from ARB_transform_feedback_instanced (none)">
+        </require>
+        <require comment="Reuse tokens from ARB_compressed_texture_pixel_storage">
+            <enum name="GL_UNPACK_COMPRESSED_BLOCK_WIDTH"/>
+            <enum name="GL_UNPACK_COMPRESSED_BLOCK_HEIGHT"/>
+            <enum name="GL_UNPACK_COMPRESSED_BLOCK_DEPTH"/>
+            <enum name="GL_UNPACK_COMPRESSED_BLOCK_SIZE"/>
+            <enum name="GL_PACK_COMPRESSED_BLOCK_WIDTH"/>
+            <enum name="GL_PACK_COMPRESSED_BLOCK_HEIGHT"/>
+            <enum name="GL_PACK_COMPRESSED_BLOCK_DEPTH"/>
+            <enum name="GL_PACK_COMPRESSED_BLOCK_SIZE"/>
+        </require>
+        <require comment="Reuse tokens from ARB_conservative_depth (none)">
+        </require>
+        <require comment="Reuse tokens from ARB_internalformat_query">
+            <enum name="GL_NUM_SAMPLE_COUNTS"/>
+        </require>
+        <require comment="Reuse tokens from ARB_map_buffer_alignment">
+            <enum name="GL_MIN_MAP_BUFFER_ALIGNMENT"/>
+        </require>
+        <require comment="Reuse tokens from ARB_shader_atomic_counters">
+            <enum name="GL_ATOMIC_COUNTER_BUFFER"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_BINDING"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_START"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_SIZE"/>
+            <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_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_MAX_VERTEX_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_FRAGMENT_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_COMBINED_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE"/>
+            <enum name="GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS"/>
+            <enum name="GL_ACTIVE_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX"/>
+            <enum name="GL_UNSIGNED_INT_ATOMIC_COUNTER"/>
         </require>
-    </feature>
-    <feature api="gl" name="GL_VERSION_1_2" number="1.2">
-        <require>
-            <enum name="GL_UNSIGNED_BYTE_3_3_2"/>
-            <enum name="GL_UNSIGNED_SHORT_4_4_4_4"/>
-            <enum name="GL_UNSIGNED_SHORT_5_5_5_1"/>
-            <enum name="GL_UNSIGNED_INT_8_8_8_8"/>
-            <enum name="GL_UNSIGNED_INT_10_10_10_2"/>
-            <enum name="GL_TEXTURE_BINDING_3D"/>
-            <enum name="GL_PACK_SKIP_IMAGES"/>
-            <enum name="GL_PACK_IMAGE_HEIGHT"/>
-            <enum name="GL_UNPACK_SKIP_IMAGES"/>
-            <enum name="GL_UNPACK_IMAGE_HEIGHT"/>
-            <enum name="GL_TEXTURE_3D"/>
-            <enum name="GL_PROXY_TEXTURE_3D"/>
-            <enum name="GL_TEXTURE_DEPTH"/>
-            <enum name="GL_TEXTURE_WRAP_R"/>
-            <enum name="GL_MAX_3D_TEXTURE_SIZE"/>
-            <enum name="GL_UNSIGNED_BYTE_2_3_3_REV"/>
-            <enum name="GL_UNSIGNED_SHORT_5_6_5"/>
-            <enum name="GL_UNSIGNED_SHORT_5_6_5_REV"/>
-            <enum name="GL_UNSIGNED_SHORT_4_4_4_4_REV"/>
-            <enum name="GL_UNSIGNED_SHORT_1_5_5_5_REV"/>
-            <enum name="GL_UNSIGNED_INT_8_8_8_8_REV"/>
-            <enum name="GL_UNSIGNED_INT_2_10_10_10_REV"/>
-            <enum name="GL_BGR"/>
-            <enum name="GL_BGRA"/>
-            <enum name="GL_MAX_ELEMENTS_VERTICES"/>
-            <enum name="GL_MAX_ELEMENTS_INDICES"/>
-            <enum name="GL_CLAMP_TO_EDGE"/>
-            <enum name="GL_TEXTURE_MIN_LOD"/>
-            <enum name="GL_TEXTURE_MAX_LOD"/>
-            <enum name="GL_TEXTURE_BASE_LEVEL"/>
-            <enum name="GL_TEXTURE_MAX_LEVEL"/>
-            <enum name="GL_SMOOTH_POINT_SIZE_RANGE"/>
-            <enum name="GL_SMOOTH_POINT_SIZE_GRANULARITY"/>
-            <enum name="GL_SMOOTH_LINE_WIDTH_RANGE"/>
-            <enum name="GL_SMOOTH_LINE_WIDTH_GRANULARITY"/>
-            <enum name="GL_ALIASED_LINE_WIDTH_RANGE"/>
-            <enum name="GL_RESCALE_NORMAL"/>
-            <enum name="GL_LIGHT_MODEL_COLOR_CONTROL"/>
-            <enum name="GL_SINGLE_COLOR"/>
-            <enum name="GL_SEPARATE_SPECULAR_COLOR"/>
-            <enum name="GL_ALIASED_POINT_SIZE_RANGE"/>
-            <command name="glDrawRangeElements"/>
-            <command name="glTexImage3D"/>
-            <command name="glTexSubImage3D"/>
-            <command name="glCopyTexSubImage3D"/>
-          </require>
-    </feature>
-    <feature api="gl" name="GL_VERSION_1_3" number="1.3">
-        <require>
-            <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"/>
-            <enum name="GL_ACTIVE_TEXTURE"/>
-            <enum name="GL_MULTISAMPLE"/>
-            <enum name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
-            <enum name="GL_SAMPLE_ALPHA_TO_ONE"/>
-            <enum name="GL_SAMPLE_COVERAGE"/>
-            <enum name="GL_SAMPLE_BUFFERS"/>
-            <enum name="GL_SAMPLES"/>
-            <enum name="GL_SAMPLE_COVERAGE_VALUE"/>
-            <enum name="GL_SAMPLE_COVERAGE_INVERT"/>
-            <enum name="GL_TEXTURE_CUBE_MAP"/>
-            <enum name="GL_TEXTURE_BINDING_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_PROXY_TEXTURE_CUBE_MAP"/>
-            <enum name="GL_MAX_CUBE_MAP_TEXTURE_SIZE"/>
-            <enum name="GL_COMPRESSED_RGB"/>
-            <enum name="GL_COMPRESSED_RGBA"/>
-            <enum name="GL_TEXTURE_COMPRESSION_HINT"/>
-            <enum name="GL_TEXTURE_COMPRESSED_IMAGE_SIZE"/>
-            <enum name="GL_TEXTURE_COMPRESSED"/>
+        <require comment="Reuse tokens from ARB_shader_image_load_store">
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT"/>
+            <enum name="GL_ELEMENT_ARRAY_BARRIER_BIT"/>
+            <enum name="GL_UNIFORM_BARRIER_BIT"/>
+            <enum name="GL_TEXTURE_FETCH_BARRIER_BIT"/>
+            <enum name="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT"/>
+            <enum name="GL_COMMAND_BARRIER_BIT"/>
+            <enum name="GL_PIXEL_BUFFER_BARRIER_BIT"/>
+            <enum name="GL_TEXTURE_UPDATE_BARRIER_BIT"/>
+            <enum name="GL_BUFFER_UPDATE_BARRIER_BIT"/>
+            <enum name="GL_FRAMEBUFFER_BARRIER_BIT"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT"/>
+            <enum name="GL_ATOMIC_COUNTER_BARRIER_BIT"/>
+            <enum name="GL_ALL_BARRIER_BITS"/>
+            <enum name="GL_MAX_IMAGE_UNITS"/>
+            <enum name="GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS"/>
+            <enum name="GL_IMAGE_BINDING_NAME"/>
+            <enum name="GL_IMAGE_BINDING_LEVEL"/>
+            <enum name="GL_IMAGE_BINDING_LAYERED"/>
+            <enum name="GL_IMAGE_BINDING_LAYER"/>
+            <enum name="GL_IMAGE_BINDING_ACCESS"/>
+            <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_MAX_IMAGE_SAMPLES"/>
+            <enum name="GL_IMAGE_BINDING_FORMAT"/>
+            <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_TYPE"/>
+            <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE"/>
+            <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS"/>
+            <enum name="GL_MAX_VERTEX_IMAGE_UNIFORMS"/>
+            <enum name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS"/>
+            <enum name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS"/>
+            <enum name="GL_MAX_FRAGMENT_IMAGE_UNIFORMS"/>
+            <enum name="GL_MAX_COMBINED_IMAGE_UNIFORMS"/>
+        </require>
+        <require comment="Reuse tokens from ARB_shading_language_packing (none)">
+        </require>
+        <require comment="Reuse tokens from ARB_texture_compression_bptc">
+            <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"/>
+        </require>
+        <require comment="Reuse tokens from ARB_texture_storage">
+            <enum name="GL_TEXTURE_IMMUTABLE_FORMAT"/>
+        </require>
+        <require comment="Reuse commands from ARB_base_instance">
+            <command name="glDrawArraysInstancedBaseInstance"/>
+            <command name="glDrawElementsInstancedBaseInstance"/>
+            <command name="glDrawElementsInstancedBaseVertexBaseInstance"/>
+        </require>
+        <require comment="Reuse commands from ARB_compressed_texture_pixel_storage (none)">
+        </require>
+        <require comment="Reuse commands from ARB_conservative_depth (none)">
+        </require>
+        <require comment="Reuse commands from ARB_internalformat_query">
+            <command name="glGetInternalformativ"/>
+        </require>
+        <require comment="Reuse commands from ARB_map_buffer_alignment (none)">
+        </require>
+        <require comment="Reuse commands from ARB_shader_atomic_counters">
+            <command name="glGetActiveAtomicCounterBufferiv"/>
+        </require>
+        <require comment="Reuse commands from ARB_shader_image_load_store">
+            <command name="glBindImageTexture"/>
+            <command name="glMemoryBarrier"/>
+        </require>
+        <require comment="Reuse commands from ARB_shading_language_420pack (none)">
+        </require>
+        <require comment="Reuse commands from ARB_shading_language_packing (none)">
+        </require>
+        <require comment="Reuse commands from ARB_texture_storage">
+            <command name="glTexStorage1D"/>
+            <command name="glTexStorage2D"/>
+            <command name="glTexStorage3D"/>
+        </require>
+        <require comment="Reuse commands from ARB_transform_feedback_instanced">
+            <command name="glDrawTransformFeedbackInstanced"/>
+            <command name="glDrawTransformFeedbackStreamInstanced"/>
+        </require>
+        <!-- Deprecated in OpenGL 4.2 core;
+             deprecate tag not defined/supported yet
+          <deprecate profile="core">
             <enum name="GL_NUM_COMPRESSED_TEXTURE_FORMATS"/>
             <enum name="GL_COMPRESSED_TEXTURE_FORMATS"/>
-            <enum name="GL_CLAMP_TO_BORDER"/>
-            <enum name="GL_CLIENT_ACTIVE_TEXTURE"/>
-            <enum name="GL_MAX_TEXTURE_UNITS"/>
-            <enum name="GL_TRANSPOSE_MODELVIEW_MATRIX"/>
-            <enum name="GL_TRANSPOSE_PROJECTION_MATRIX"/>
-            <enum name="GL_TRANSPOSE_TEXTURE_MATRIX"/>
-            <enum name="GL_TRANSPOSE_COLOR_MATRIX"/>
-            <enum name="GL_MULTISAMPLE_BIT"/>
-            <enum name="GL_NORMAL_MAP"/>
-            <enum name="GL_REFLECTION_MAP"/>
-            <enum name="GL_COMPRESSED_ALPHA"/>
-            <enum name="GL_COMPRESSED_LUMINANCE"/>
-            <enum name="GL_COMPRESSED_LUMINANCE_ALPHA"/>
-            <enum name="GL_COMPRESSED_INTENSITY"/>
-            <enum name="GL_COMBINE"/>
-            <enum name="GL_COMBINE_RGB"/>
-            <enum name="GL_COMBINE_ALPHA"/>
-            <enum name="GL_SOURCE0_RGB"/>
-            <enum name="GL_SOURCE1_RGB"/>
-            <enum name="GL_SOURCE2_RGB"/>
-            <enum name="GL_SOURCE0_ALPHA"/>
-            <enum name="GL_SOURCE1_ALPHA"/>
-            <enum name="GL_SOURCE2_ALPHA"/>
-            <enum name="GL_OPERAND0_RGB"/>
-            <enum name="GL_OPERAND1_RGB"/>
-            <enum name="GL_OPERAND2_RGB"/>
-            <enum name="GL_OPERAND0_ALPHA"/>
-            <enum name="GL_OPERAND1_ALPHA"/>
-            <enum name="GL_OPERAND2_ALPHA"/>
-            <enum name="GL_RGB_SCALE"/>
-            <enum name="GL_ADD_SIGNED"/>
-            <enum name="GL_INTERPOLATE"/>
-            <enum name="GL_SUBTRACT"/>
-            <enum name="GL_CONSTANT"/>
-            <enum name="GL_PRIMARY_COLOR"/>
-            <enum name="GL_PREVIOUS"/>
-            <enum name="GL_DOT3_RGB"/>
-            <enum name="GL_DOT3_RGBA"/>
-            <command name="glActiveTexture"/>
-            <command name="glSampleCoverage"/>
-            <command name="glCompressedTexImage3D"/>
-            <command name="glCompressedTexImage2D"/>
-            <command name="glCompressedTexImage1D"/>
-            <command name="glCompressedTexSubImage3D"/>
-            <command name="glCompressedTexSubImage2D"/>
-            <command name="glCompressedTexSubImage1D"/>
-            <command name="glGetCompressedTexImage"/>
-            <command name="glClientActiveTexture"/>
-            <command name="glMultiTexCoord1d"/>
-            <command name="glMultiTexCoord1dv"/>
-            <command name="glMultiTexCoord1f"/>
-            <command name="glMultiTexCoord1fv"/>
-            <command name="glMultiTexCoord1i"/>
-            <command name="glMultiTexCoord1iv"/>
-            <command name="glMultiTexCoord1s"/>
-            <command name="glMultiTexCoord1sv"/>
-            <command name="glMultiTexCoord2d"/>
-            <command name="glMultiTexCoord2dv"/>
-            <command name="glMultiTexCoord2f"/>
-            <command name="glMultiTexCoord2fv"/>
-            <command name="glMultiTexCoord2i"/>
-            <command name="glMultiTexCoord2iv"/>
-            <command name="glMultiTexCoord2s"/>
-            <command name="glMultiTexCoord2sv"/>
-            <command name="glMultiTexCoord3d"/>
-            <command name="glMultiTexCoord3dv"/>
-            <command name="glMultiTexCoord3f"/>
-            <command name="glMultiTexCoord3fv"/>
-            <command name="glMultiTexCoord3i"/>
-            <command name="glMultiTexCoord3iv"/>
-            <command name="glMultiTexCoord3s"/>
-            <command name="glMultiTexCoord3sv"/>
-            <command name="glMultiTexCoord4d"/>
-            <command name="glMultiTexCoord4dv"/>
-            <command name="glMultiTexCoord4f"/>
-            <command name="glMultiTexCoord4fv"/>
-            <command name="glMultiTexCoord4i"/>
-            <command name="glMultiTexCoord4iv"/>
-            <command name="glMultiTexCoord4s"/>
-            <command name="glMultiTexCoord4sv"/>
-            <command name="glLoadTransposeMatrixf"/>
-            <command name="glLoadTransposeMatrixd"/>
-            <command name="glMultTransposeMatrixf"/>
-            <command name="glMultTransposeMatrixd"/>
+          </deprecate>
+        -->
+    </feature>
+    <feature api="gl" name="GL_VERSION_4_3" number="4.3">
+        <require>
+            <enum name="GL_NUM_SHADING_LANGUAGE_VERSIONS"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_LONG"/>
+        </require>
+        <require comment="Reuse tokens from ARB_arrays_of_arrays (none, GLSL only)">
+        </require>
+        <require comment="Reuse tokens from ARB_fragment_layer_viewport (none, GLSL only)">
+        </require>
+        <require comment="Reuse tokens from ARB_shader_image_size (none, GLSL only)">
+        </require>
+        <require comment="Reuse tokens from ARB_ES3_compatibility">
+            <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_R11_EAC"/>
+            <enum name="GL_COMPRESSED_SIGNED_R11_EAC"/>
+            <enum name="GL_COMPRESSED_RG11_EAC"/>
+            <enum name="GL_COMPRESSED_SIGNED_RG11_EAC"/>
+            <enum name="GL_PRIMITIVE_RESTART_FIXED_INDEX"/>
+            <enum name="GL_ANY_SAMPLES_PASSED_CONSERVATIVE"/>
+            <enum name="GL_MAX_ELEMENT_INDEX"/>
+        </require>
+        <require comment="Reuse tokens from ARB_clear_buffer_object (none)">
+        </require>
+        <require comment="Reuse tokens from ARB_compute_shader">
+            <enum name="GL_COMPUTE_SHADER"/>
+            <enum name="GL_MAX_COMPUTE_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_MAX_COMPUTE_IMAGE_UNIFORMS"/>
+            <enum name="GL_MAX_COMPUTE_SHARED_MEMORY_SIZE"/>
+            <enum name="GL_MAX_COMPUTE_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS"/>
+            <enum name="GL_MAX_COMPUTE_WORK_GROUP_COUNT"/>
+            <enum name="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
+            <enum name="GL_COMPUTE_WORK_GROUP_SIZE"/>
+            <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER"/>
+            <enum name="GL_DISPATCH_INDIRECT_BUFFER"/>
+            <enum name="GL_DISPATCH_INDIRECT_BUFFER_BINDING"/>
+            <enum name="GL_COMPUTE_SHADER_BIT"/>
+        </require>
+        <require comment="Reuse tokens from ARB_copy_image (none)">
+        </require>
+        <require comment="Reuse tokens from KHR_debug">
+            <enum name="GL_DEBUG_OUTPUT_SYNCHRONOUS"/>
+            <enum name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH"/>
+            <enum name="GL_DEBUG_CALLBACK_FUNCTION"/>
+            <enum name="GL_DEBUG_CALLBACK_USER_PARAM"/>
+            <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_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_OTHER"/>
+            <enum name="GL_MAX_DEBUG_MESSAGE_LENGTH"/>
+            <enum name="GL_MAX_DEBUG_LOGGED_MESSAGES"/>
+            <enum name="GL_DEBUG_LOGGED_MESSAGES"/>
+            <enum name="GL_DEBUG_SEVERITY_HIGH"/>
+            <enum name="GL_DEBUG_SEVERITY_MEDIUM"/>
+            <enum name="GL_DEBUG_SEVERITY_LOW"/>
+            <enum name="GL_DEBUG_TYPE_MARKER"/>
+            <enum name="GL_DEBUG_TYPE_PUSH_GROUP"/>
+            <enum name="GL_DEBUG_TYPE_POP_GROUP"/>
+            <enum name="GL_DEBUG_SEVERITY_NOTIFICATION"/>
+            <enum name="GL_MAX_DEBUG_GROUP_STACK_DEPTH"/>
+            <enum name="GL_DEBUG_GROUP_STACK_DEPTH"/>
+            <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_SAMPLER"/>
+            <enum name="GL_MAX_LABEL_LENGTH"/>
+            <enum name="GL_DEBUG_OUTPUT"/>
+            <enum name="GL_CONTEXT_FLAG_DEBUG_BIT"/>
+        </require>
+        <require comment="Reuse tokens from ARB_explicit_uniform_location">
+            <enum name="GL_MAX_UNIFORM_LOCATIONS"/>
+        </require>
+        <require comment="Reuse tokens from ARB_framebuffer_no_attachments">
+            <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_MAX_FRAMEBUFFER_WIDTH"/>
+            <enum name="GL_MAX_FRAMEBUFFER_HEIGHT"/>
+            <enum name="GL_MAX_FRAMEBUFFER_LAYERS"/>
+            <enum name="GL_MAX_FRAMEBUFFER_SAMPLES"/>
+        </require>
+        <require comment="Reuse tokens from ARB_internalformat_query2">
+            <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_MAX_COMBINED_DIMENSIONS"/>
+            <enum name="GL_COLOR_COMPONENTS"/>
+            <enum name="GL_DEPTH_COMPONENTS"/>
+            <enum name="GL_STENCIL_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_MANUAL_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_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_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_FULL_SUPPORT"/>
+            <enum name="GL_CAVEAT_SUPPORT"/>
+            <enum name="GL_IMAGE_CLASS_4_X_32"/>
+            <enum name="GL_IMAGE_CLASS_2_X_32"/>
+            <enum name="GL_IMAGE_CLASS_1_X_32"/>
+            <enum name="GL_IMAGE_CLASS_4_X_16"/>
+            <enum name="GL_IMAGE_CLASS_2_X_16"/>
+            <enum name="GL_IMAGE_CLASS_1_X_16"/>
+            <enum name="GL_IMAGE_CLASS_4_X_8"/>
+            <enum name="GL_IMAGE_CLASS_2_X_8"/>
+            <enum name="GL_IMAGE_CLASS_1_X_8"/>
+            <enum name="GL_IMAGE_CLASS_11_11_10"/>
+            <enum name="GL_IMAGE_CLASS_10_10_10_2"/>
+            <enum name="GL_VIEW_CLASS_128_BITS"/>
+            <enum name="GL_VIEW_CLASS_96_BITS"/>
+            <enum name="GL_VIEW_CLASS_64_BITS"/>
+            <enum name="GL_VIEW_CLASS_48_BITS"/>
+            <enum name="GL_VIEW_CLASS_32_BITS"/>
+            <enum name="GL_VIEW_CLASS_24_BITS"/>
+            <enum name="GL_VIEW_CLASS_16_BITS"/>
+            <enum name="GL_VIEW_CLASS_8_BITS"/>
+            <enum name="GL_VIEW_CLASS_S3TC_DXT1_RGB"/>
+            <enum name="GL_VIEW_CLASS_S3TC_DXT1_RGBA"/>
+            <enum name="GL_VIEW_CLASS_S3TC_DXT3_RGBA"/>
+            <enum name="GL_VIEW_CLASS_S3TC_DXT5_RGBA"/>
+            <enum name="GL_VIEW_CLASS_RGTC1_RED"/>
+            <enum name="GL_VIEW_CLASS_RGTC2_RG"/>
+            <enum name="GL_VIEW_CLASS_BPTC_UNORM"/>
+            <enum name="GL_VIEW_CLASS_BPTC_FLOAT"/>
+        </require>
+        <require comment="Reuse tokens from ARB_invalidate_subdata (none)">
+        </require>
+        <require comment="Reuse tokens from ARB_multi_draw_indirect (none)">
+        </require>
+        <require comment="Reuse tokens from ARB_program_interface_query">
+            <enum name="GL_UNIFORM"/>
+            <enum name="GL_UNIFORM_BLOCK"/>
+            <enum name="GL_PROGRAM_INPUT"/>
+            <enum name="GL_PROGRAM_OUTPUT"/>
+            <enum name="GL_BUFFER_VARIABLE"/>
+            <enum name="GL_SHADER_STORAGE_BLOCK"/>
+            <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_ACTIVE_RESOURCES"/>
+            <enum name="GL_MAX_NAME_LENGTH"/>
+            <enum name="GL_MAX_NUM_ACTIVE_VARIABLES"/>
+            <enum name="GL_MAX_NUM_COMPATIBLE_SUBROUTINES"/>
+            <enum name="GL_NAME_LENGTH"/>
+            <enum name="GL_TYPE"/>
+            <enum name="GL_ARRAY_SIZE"/>
+            <enum name="GL_OFFSET"/>
+            <enum name="GL_BLOCK_INDEX"/>
+            <enum name="GL_ARRAY_STRIDE"/>
+            <enum name="GL_MATRIX_STRIDE"/>
+            <enum name="GL_IS_ROW_MAJOR"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_INDEX"/>
+            <enum name="GL_BUFFER_BINDING"/>
+            <enum name="GL_BUFFER_DATA_SIZE"/>
+            <enum name="GL_NUM_ACTIVE_VARIABLES"/>
+            <enum name="GL_ACTIVE_VARIABLES"/>
+            <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_TOP_LEVEL_ARRAY_SIZE"/>
+            <enum name="GL_TOP_LEVEL_ARRAY_STRIDE"/>
+            <enum name="GL_LOCATION"/>
+            <enum name="GL_LOCATION_INDEX"/>
+            <enum name="GL_IS_PER_PATCH"/>
         </require>
-    </feature>
-    <feature api="gl" name="GL_VERSION_1_4" number="1.4">
-        <require>
-            <enum name="GL_BLEND_DST_RGB"/>
-            <enum name="GL_BLEND_SRC_RGB"/>
-            <enum name="GL_BLEND_DST_ALPHA"/>
-            <enum name="GL_BLEND_SRC_ALPHA"/>
-            <enum name="GL_POINT_FADE_THRESHOLD_SIZE"/>
-            <enum name="GL_DEPTH_COMPONENT16"/>
-            <enum name="GL_DEPTH_COMPONENT24"/>
-            <enum name="GL_DEPTH_COMPONENT32"/>
-            <enum name="GL_MIRRORED_REPEAT"/>
-            <enum name="GL_MAX_TEXTURE_LOD_BIAS"/>
-            <enum name="GL_TEXTURE_LOD_BIAS"/>
-            <enum name="GL_INCR_WRAP"/>
-            <enum name="GL_DECR_WRAP"/>
-            <enum name="GL_TEXTURE_DEPTH_SIZE"/>
-            <enum name="GL_TEXTURE_COMPARE_MODE"/>
-            <enum name="GL_TEXTURE_COMPARE_FUNC"/>
-            <enum name="GL_POINT_SIZE_MIN"/>
-            <enum name="GL_POINT_SIZE_MAX"/>
-            <enum name="GL_POINT_DISTANCE_ATTENUATION"/>
-            <enum name="GL_GENERATE_MIPMAP"/>
-            <enum name="GL_GENERATE_MIPMAP_HINT"/>
-            <enum name="GL_FOG_COORDINATE_SOURCE"/>
-            <enum name="GL_FOG_COORDINATE"/>
-            <enum name="GL_FRAGMENT_DEPTH"/>
-            <enum name="GL_CURRENT_FOG_COORDINATE"/>
-            <enum name="GL_FOG_COORDINATE_ARRAY_TYPE"/>
-            <enum name="GL_FOG_COORDINATE_ARRAY_STRIDE"/>
-            <enum name="GL_FOG_COORDINATE_ARRAY_POINTER"/>
-            <enum name="GL_FOG_COORDINATE_ARRAY"/>
-            <enum name="GL_COLOR_SUM"/>
-            <enum name="GL_CURRENT_SECONDARY_COLOR"/>
-            <enum name="GL_SECONDARY_COLOR_ARRAY_SIZE"/>
-            <enum name="GL_SECONDARY_COLOR_ARRAY_TYPE"/>
-            <enum name="GL_SECONDARY_COLOR_ARRAY_STRIDE"/>
-            <enum name="GL_SECONDARY_COLOR_ARRAY_POINTER"/>
-            <enum name="GL_SECONDARY_COLOR_ARRAY"/>
-            <enum name="GL_TEXTURE_FILTER_CONTROL"/>
-            <enum name="GL_DEPTH_TEXTURE_MODE"/>
-            <enum name="GL_COMPARE_R_TO_TEXTURE"/>
-            <command name="glBlendFuncSeparate"/>
-            <command name="glMultiDrawArrays"/>
-            <command name="glMultiDrawElements"/>
-            <command name="glPointParameterf"/>
-            <command name="glPointParameterfv"/>
-            <command name="glPointParameteri"/>
-            <command name="glPointParameteriv"/>
-            <command name="glFogCoordf"/>
-            <command name="glFogCoordfv"/>
-            <command name="glFogCoordd"/>
-            <command name="glFogCoorddv"/>
-            <command name="glFogCoordPointer"/>
-            <command name="glSecondaryColor3b"/>
-            <command name="glSecondaryColor3bv"/>
-            <command name="glSecondaryColor3d"/>
-            <command name="glSecondaryColor3dv"/>
-            <command name="glSecondaryColor3f"/>
-            <command name="glSecondaryColor3fv"/>
-            <command name="glSecondaryColor3i"/>
-            <command name="glSecondaryColor3iv"/>
-            <command name="glSecondaryColor3s"/>
-            <command name="glSecondaryColor3sv"/>
-            <command name="glSecondaryColor3ub"/>
-            <command name="glSecondaryColor3ubv"/>
-            <command name="glSecondaryColor3ui"/>
-            <command name="glSecondaryColor3uiv"/>
-            <command name="glSecondaryColor3us"/>
-            <command name="glSecondaryColor3usv"/>
-            <command name="glSecondaryColorPointer"/>
-            <command name="glWindowPos2d"/>
-            <command name="glWindowPos2dv"/>
-            <command name="glWindowPos2f"/>
-            <command name="glWindowPos2fv"/>
-            <command name="glWindowPos2i"/>
-            <command name="glWindowPos2iv"/>
-            <command name="glWindowPos2s"/>
-            <command name="glWindowPos2sv"/>
-            <command name="glWindowPos3d"/>
-            <command name="glWindowPos3dv"/>
-            <command name="glWindowPos3f"/>
-            <command name="glWindowPos3fv"/>
-            <command name="glWindowPos3i"/>
-            <command name="glWindowPos3iv"/>
-            <command name="glWindowPos3s"/>
-            <command name="glWindowPos3sv"/>
+        <require comment="Reuse tokens from ARB_robust_buffer_access_behavior (none)">
         </require>
-        <require comment="Promoted from ARB_imaging subset to core">
-            <enum name="GL_FUNC_ADD"/>
-            <enum name="GL_FUNC_SUBTRACT"/>
-            <enum name="GL_FUNC_REVERSE_SUBTRACT"/>
-            <enum name="GL_MIN"/>
-            <enum name="GL_MAX"/>
-            <enum name="GL_CONSTANT_COLOR"/>
-            <enum name="GL_ONE_MINUS_CONSTANT_COLOR"/>
-            <enum name="GL_CONSTANT_ALPHA"/>
-            <enum name="GL_ONE_MINUS_CONSTANT_ALPHA"/>
-            <command name="glBlendColor"/>
-            <command name="glBlendEquation"/>
+        <require comment="Reuse tokens from ARB_shader_storage_buffer_object">
+            <enum name="GL_SHADER_STORAGE_BUFFER"/>
+            <enum name="GL_SHADER_STORAGE_BUFFER_BINDING"/>
+            <enum name="GL_SHADER_STORAGE_BUFFER_START"/>
+            <enum name="GL_SHADER_STORAGE_BUFFER_SIZE"/>
+            <enum name="GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS"/>
+            <enum name="GL_MAX_SHADER_STORAGE_BLOCK_SIZE"/>
+            <enum name="GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT"/>
+            <enum name="GL_SHADER_STORAGE_BARRIER_BIT"/>
+            <enum name="GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES"/>
         </require>
-    </feature>
-    <feature api="gl" name="GL_VERSION_1_5" number="1.5">
-        <require>
-            <enum name="GL_BUFFER_SIZE"/>
-            <enum name="GL_BUFFER_USAGE"/>
-            <enum name="GL_QUERY_COUNTER_BITS"/>
-            <enum name="GL_CURRENT_QUERY"/>
-            <enum name="GL_QUERY_RESULT"/>
-            <enum name="GL_QUERY_RESULT_AVAILABLE"/>
-            <enum name="GL_ARRAY_BUFFER"/>
-            <enum name="GL_ELEMENT_ARRAY_BUFFER"/>
-            <enum name="GL_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_ELEMENT_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_READ_ONLY"/>
-            <enum name="GL_WRITE_ONLY"/>
-            <enum name="GL_READ_WRITE"/>
-            <enum name="GL_BUFFER_ACCESS"/>
-            <enum name="GL_BUFFER_MAPPED"/>
-            <enum name="GL_BUFFER_MAP_POINTER"/>
-            <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"/>
-            <enum name="GL_SAMPLES_PASSED"/>
-            <enum name="GL_SRC1_ALPHA"/>
-            <enum name="GL_VERTEX_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_NORMAL_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_COLOR_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_INDEX_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_EDGE_FLAG_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_WEIGHT_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_FOG_COORD_SRC"/>
-            <enum name="GL_FOG_COORD"/>
-            <enum name="GL_CURRENT_FOG_COORD"/>
-            <enum name="GL_FOG_COORD_ARRAY_TYPE"/>
-            <enum name="GL_FOG_COORD_ARRAY_STRIDE"/>
-            <enum name="GL_FOG_COORD_ARRAY_POINTER"/>
-            <enum name="GL_FOG_COORD_ARRAY"/>
-            <enum name="GL_FOG_COORD_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_SRC0_RGB"/>
-            <enum name="GL_SRC1_RGB"/>
-            <enum name="GL_SRC2_RGB"/>
-            <enum name="GL_SRC0_ALPHA"/>
-            <enum name="GL_SRC2_ALPHA"/>
-            <command name="glGenQueries"/>
-            <command name="glDeleteQueries"/>
-            <command name="glIsQuery"/>
-            <command name="glBeginQuery"/>
-            <command name="glEndQuery"/>
-            <command name="glGetQueryiv"/>
-            <command name="glGetQueryObjectiv"/>
-            <command name="glGetQueryObjectuiv"/>
-            <command name="glBindBuffer"/>
-            <command name="glDeleteBuffers"/>
-            <command name="glGenBuffers"/>
-            <command name="glIsBuffer"/>
-            <command name="glBufferData"/>
-            <command name="glBufferSubData"/>
-            <command name="glGetBufferSubData"/>
-            <command name="glMapBuffer"/>
-            <command name="glUnmapBuffer"/>
-            <command name="glGetBufferParameteriv"/>
-            <command name="glGetBufferPointerv"/>
+        <require comment="Reuse tokens from ARB_stencil_texturing">
+            <enum name="GL_DEPTH_STENCIL_TEXTURE_MODE"/>
         </require>
-    </feature>
-    <feature api="gl" name="GL_VERSION_2_0" number="2.0">
-        <require>
-            <enum name="GL_BLEND_EQUATION_RGB"/>
-            <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_CURRENT_VERTEX_ATTRIB"/>
-            <enum name="GL_VERTEX_PROGRAM_POINT_SIZE"/>
-            <enum name="GL_VERTEX_ATTRIB_ARRAY_POINTER"/>
-            <enum name="GL_STENCIL_BACK_FUNC"/>
-            <enum name="GL_STENCIL_BACK_FAIL"/>
-            <enum name="GL_STENCIL_BACK_PASS_DEPTH_FAIL"/>
-            <enum name="GL_STENCIL_BACK_PASS_DEPTH_PASS"/>
-            <enum name="GL_MAX_DRAW_BUFFERS"/>
-            <enum name="GL_DRAW_BUFFER0"/>
-            <enum name="GL_DRAW_BUFFER1"/>
-            <enum name="GL_DRAW_BUFFER2"/>
-            <enum name="GL_DRAW_BUFFER3"/>
-            <enum name="GL_DRAW_BUFFER4"/>
-            <enum name="GL_DRAW_BUFFER5"/>
-            <enum name="GL_DRAW_BUFFER6"/>
-            <enum name="GL_DRAW_BUFFER7"/>
-            <enum name="GL_DRAW_BUFFER8"/>
-            <enum name="GL_DRAW_BUFFER9"/>
-            <enum name="GL_DRAW_BUFFER10"/>
-            <enum name="GL_DRAW_BUFFER11"/>
-            <enum name="GL_DRAW_BUFFER12"/>
-            <enum name="GL_DRAW_BUFFER13"/>
-            <enum name="GL_DRAW_BUFFER14"/>
-            <enum name="GL_DRAW_BUFFER15"/>
-            <enum name="GL_BLEND_EQUATION_ALPHA"/>
-            <enum name="GL_MAX_VERTEX_ATTRIBS"/>
-            <enum name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"/>
-            <enum name="GL_MAX_TEXTURE_IMAGE_UNITS"/>
-            <enum name="GL_FRAGMENT_SHADER"/>
-            <enum name="GL_VERTEX_SHADER"/>
-            <enum name="GL_MAX_FRAGMENT_UNIFORM_COMPONENTS"/>
-            <enum name="GL_MAX_VERTEX_UNIFORM_COMPONENTS"/>
-            <enum name="GL_MAX_VARYING_FLOATS"/>
-            <enum name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS"/>
-            <enum name="GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS"/>
-            <enum name="GL_SHADER_TYPE"/>
-            <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_DELETE_STATUS"/>
-            <enum name="GL_COMPILE_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_UNIFORMS"/>
-            <enum name="GL_ACTIVE_UNIFORM_MAX_LENGTH"/>
-            <enum name="GL_SHADER_SOURCE_LENGTH"/>
-            <enum name="GL_ACTIVE_ATTRIBUTES"/>
-            <enum name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"/>
-            <enum name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT"/>
-            <enum name="GL_SHADING_LANGUAGE_VERSION"/>
-            <enum name="GL_CURRENT_PROGRAM"/>
-            <enum name="GL_POINT_SPRITE_COORD_ORIGIN"/>
-            <enum name="GL_LOWER_LEFT"/>
-            <enum name="GL_UPPER_LEFT"/>
-            <enum name="GL_STENCIL_BACK_REF"/>
-            <enum name="GL_STENCIL_BACK_VALUE_MASK"/>
-            <enum name="GL_STENCIL_BACK_WRITEMASK"/>
-            <enum name="GL_VERTEX_PROGRAM_TWO_SIDE"/>
-            <enum name="GL_POINT_SPRITE"/>
-            <enum name="GL_COORD_REPLACE"/>
-            <enum name="GL_MAX_TEXTURE_COORDS"/>
-            <command name="glBlendEquationSeparate"/>
-            <command name="glDrawBuffers"/>
-            <command name="glStencilOpSeparate"/>
-            <command name="glStencilFuncSeparate"/>
-            <command name="glStencilMaskSeparate"/>
-            <command name="glAttachShader"/>
-            <command name="glBindAttribLocation"/>
-            <command name="glCompileShader"/>
-            <command name="glCreateProgram"/>
-            <command name="glCreateShader"/>
-            <command name="glDeleteProgram"/>
-            <command name="glDeleteShader"/>
-            <command name="glDetachShader"/>
-            <command name="glDisableVertexAttribArray"/>
-            <command name="glEnableVertexAttribArray"/>
-            <command name="glGetActiveAttrib"/>
-            <command name="glGetActiveUniform"/>
-            <command name="glGetAttachedShaders"/>
-            <command name="glGetAttribLocation"/>
-            <command name="glGetProgramiv"/>
-            <command name="glGetProgramInfoLog"/>
-            <command name="glGetShaderiv"/>
-            <command name="glGetShaderInfoLog"/>
-            <command name="glGetShaderSource"/>
-            <command name="glGetUniformLocation"/>
-            <command name="glGetUniformfv"/>
-            <command name="glGetUniformiv"/>
-            <command name="glGetVertexAttribdv"/>
-            <command name="glGetVertexAttribfv"/>
-            <command name="glGetVertexAttribiv"/>
-            <command name="glGetVertexAttribPointerv"/>
-            <command name="glIsProgram"/>
-            <command name="glIsShader"/>
-            <command name="glLinkProgram"/>
-            <command name="glShaderSource"/>
-            <command name="glUseProgram"/>
-            <command name="glUniform1f"/>
-            <command name="glUniform2f"/>
-            <command name="glUniform3f"/>
-            <command name="glUniform4f"/>
-            <command name="glUniform1i"/>
-            <command name="glUniform2i"/>
-            <command name="glUniform3i"/>
-            <command name="glUniform4i"/>
-            <command name="glUniform1fv"/>
-            <command name="glUniform2fv"/>
-            <command name="glUniform3fv"/>
-            <command name="glUniform4fv"/>
-            <command name="glUniform1iv"/>
-            <command name="glUniform2iv"/>
-            <command name="glUniform3iv"/>
-            <command name="glUniform4iv"/>
-            <command name="glUniformMatrix2fv"/>
-            <command name="glUniformMatrix3fv"/>
-            <command name="glUniformMatrix4fv"/>
-            <command name="glValidateProgram"/>
-            <command name="glVertexAttrib1d"/>
-            <command name="glVertexAttrib1dv"/>
-            <command name="glVertexAttrib1f"/>
-            <command name="glVertexAttrib1fv"/>
-            <command name="glVertexAttrib1s"/>
-            <command name="glVertexAttrib1sv"/>
-            <command name="glVertexAttrib2d"/>
-            <command name="glVertexAttrib2dv"/>
-            <command name="glVertexAttrib2f"/>
-            <command name="glVertexAttrib2fv"/>
-            <command name="glVertexAttrib2s"/>
-            <command name="glVertexAttrib2sv"/>
-            <command name="glVertexAttrib3d"/>
-            <command name="glVertexAttrib3dv"/>
-            <command name="glVertexAttrib3f"/>
-            <command name="glVertexAttrib3fv"/>
-            <command name="glVertexAttrib3s"/>
-            <command name="glVertexAttrib3sv"/>
-            <command name="glVertexAttrib4Nbv"/>
-            <command name="glVertexAttrib4Niv"/>
-            <command name="glVertexAttrib4Nsv"/>
-            <command name="glVertexAttrib4Nub"/>
-            <command name="glVertexAttrib4Nubv"/>
-            <command name="glVertexAttrib4Nuiv"/>
-            <command name="glVertexAttrib4Nusv"/>
-            <command name="glVertexAttrib4bv"/>
-            <command name="glVertexAttrib4d"/>
-            <command name="glVertexAttrib4dv"/>
-            <command name="glVertexAttrib4f"/>
-            <command name="glVertexAttrib4fv"/>
-            <command name="glVertexAttrib4iv"/>
-            <command name="glVertexAttrib4s"/>
-            <command name="glVertexAttrib4sv"/>
-            <command name="glVertexAttrib4ubv"/>
-            <command name="glVertexAttrib4uiv"/>
-            <command name="glVertexAttrib4usv"/>
-            <command name="glVertexAttribPointer"/>
+        <require comment="Reuse tokens from ARB_texture_buffer_range">
+            <enum name="GL_TEXTURE_BUFFER_OFFSET"/>
+            <enum name="GL_TEXTURE_BUFFER_SIZE"/>
+            <enum name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT"/>
+        </require>
+        <require comment="Reuse tokens from ARB_texture_query_levels (none)">
+        </require>
+        <require comment="Reuse tokens from ARB_texture_storage_multisample (none)">
+        </require>
+        <require comment="Reuse tokens from ARB_texture_view">
+            <enum name="GL_TEXTURE_VIEW_MIN_LEVEL"/>
+            <enum name="GL_TEXTURE_VIEW_NUM_LEVELS"/>
+            <enum name="GL_TEXTURE_VIEW_MIN_LAYER"/>
+            <enum name="GL_TEXTURE_VIEW_NUM_LAYERS"/>
+            <enum name="GL_TEXTURE_IMMUTABLE_LEVELS"/>
+        </require>
+        <require comment="Reuse tokens from ARB_vertex_attrib_binding">
+            <enum name="GL_VERTEX_ATTRIB_BINDING"/>
+            <enum name="GL_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+            <enum name="GL_VERTEX_BINDING_DIVISOR"/>
+            <enum name="GL_VERTEX_BINDING_OFFSET"/>
+            <enum name="GL_VERTEX_BINDING_STRIDE"/>
+            <enum name="GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+            <enum name="GL_MAX_VERTEX_ATTRIB_BINDINGS"/>
+            <enum name="GL_VERTEX_BINDING_BUFFER" comment="Added in 2013/10/22 update to the spec"/>
+        </require>
+        <require comment="Reuse commands from ARB_arrays_of_arrays (none, GLSL only)">
+        </require>
+        <require comment="Reuse commands from ARB_clear_buffer_object">
+            <command name="glClearBufferData"/>
+            <command name="glClearBufferSubData"/>
+        </require>
+        <require comment="Reuse commands from ARB_compute_shader">
+            <command name="glDispatchCompute"/>
+            <command name="glDispatchComputeIndirect"/>
+        </require>
+        <require comment="Reuse commands from ARB_copy_image">
+            <command name="glCopyImageSubData"/>
+        </require>
+        <require comment="Reuse commands from ARB_ES3_compatibility (none)">
+        </require>
+        <require comment="Reuse commands from ARB_explicit_uniform_location (none)">
+        </require>
+        <require comment="Reuse commands from ARB_fragment_layer_viewport (none, GLSL only)">
+        </require>
+        <require comment="Reuse commands from ARB_framebuffer_no_attachments">
+            <command name="glFramebufferParameteri"/>
+            <command name="glGetFramebufferParameteriv"/>
+        </require>
+        <require comment="Reuse commands from ARB_internalformat_query2">
+            <command name="glGetInternalformati64v"/>
+        </require>
+        <require comment="Reuse commands from ARB_invalidate_subdata">
+            <command name="glInvalidateTexSubImage"/>
+            <command name="glInvalidateTexImage"/>
+            <command name="glInvalidateBufferSubData"/>
+            <command name="glInvalidateBufferData"/>
+            <command name="glInvalidateFramebuffer"/>
+            <command name="glInvalidateSubFramebuffer"/>
+        </require>
+        <require comment="Reuse commands from ARB_multi_draw_indirect">
+            <command name="glMultiDrawArraysIndirect"/>
+            <command name="glMultiDrawElementsIndirect"/>
+        </require>
+        <require comment="Reuse commands from ARB_program_interface_query">
+            <command name="glGetProgramInterfaceiv"/>
+            <command name="glGetProgramResourceIndex"/>
+            <command name="glGetProgramResourceName"/>
+            <command name="glGetProgramResourceiv"/>
+            <command name="glGetProgramResourceLocation"/>
+            <command name="glGetProgramResourceLocationIndex"/>
+        </require>
+        <require comment="Reuse commands from ARB_robust_buffer_access_behavior (none)">
+        </require>
+        <require comment="Reuse commands from ARB_shader_image_size (none, GLSL only)">
+        </require>
+        <require comment="Reuse commands from ARB_shader_storage_buffer_object">
+            <command name="glShaderStorageBlockBinding"/>
+        </require>
+        <require comment="Reuse commands from ARB_stencil_texturing (none)">
+        </require>
+        <require comment="Reuse commands from ARB_texture_buffer_range">
+            <command name="glTexBufferRange"/>
+        </require>
+        <require comment="Reuse commands from ARB_texture_query_levels (none)">
+        </require>
+        <require comment="Reuse commands from ARB_texture_storage_multisample">
+            <command name="glTexStorage2DMultisample"/>
+            <command name="glTexStorage3DMultisample"/>
+        </require>
+        <require comment="Reuse commands from ARB_texture_view">
+            <command name="glTextureView"/>
+        </require>
+        <require comment="Reuse commands from ARB_vertex_attrib_binding">
+            <command name="glBindVertexBuffer"/>
+            <command name="glVertexAttribFormat"/>
+            <command name="glVertexAttribIFormat"/>
+            <command name="glVertexAttribLFormat"/>
+            <command name="glVertexAttribBinding"/>
+            <command name="glVertexBindingDivisor"/>
         </require>
-    </feature>
-    <feature api="gl" name="GL_VERSION_2_1" number="2.1">
-        <require>
-            <enum name="GL_PIXEL_PACK_BUFFER"/>
-            <enum name="GL_PIXEL_UNPACK_BUFFER"/>
-            <enum name="GL_PIXEL_PACK_BUFFER_BINDING"/>
-            <enum name="GL_PIXEL_UNPACK_BUFFER_BINDING"/>
-            <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_SRGB"/>
-            <enum name="GL_SRGB8"/>
-            <enum name="GL_SRGB_ALPHA"/>
-            <enum name="GL_SRGB8_ALPHA8"/>
-            <enum name="GL_COMPRESSED_SRGB"/>
-            <enum name="GL_COMPRESSED_SRGB_ALPHA"/>
-            <enum name="GL_CURRENT_RASTER_SECONDARY_COLOR"/>
-            <enum name="GL_SLUMINANCE_ALPHA"/>
-            <enum name="GL_SLUMINANCE8_ALPHA8"/>
-            <enum name="GL_SLUMINANCE"/>
-            <enum name="GL_SLUMINANCE8"/>
-            <enum name="GL_COMPRESSED_SLUMINANCE"/>
-            <enum name="GL_COMPRESSED_SLUMINANCE_ALPHA"/>
-            <command name="glUniformMatrix2x3fv"/>
-            <command name="glUniformMatrix3x2fv"/>
-            <command name="glUniformMatrix2x4fv"/>
-            <command name="glUniformMatrix4x2fv"/>
-            <command name="glUniformMatrix3x4fv"/>
-            <command name="glUniformMatrix4x3fv"/>
+        <require comment="Reuse commands from KHR_debug (includes ARB_debug_output commands promoted to KHR without suffixes)">
+            <command name="glDebugMessageControl"/>
+            <command name="glDebugMessageInsert"/>
+            <command name="glDebugMessageCallback"/>
+            <command name="glGetDebugMessageLog"/>
+            <command name="glPushDebugGroup"/>
+            <command name="glPopDebugGroup"/>
+            <command name="glObjectLabel"/>
+            <command name="glGetObjectLabel"/>
+            <command name="glObjectPtrLabel"/>
+            <command name="glGetObjectPtrLabel"/>
+            <command name="glGetPointerv"/>
+        </require>
+        <require profile="compatibility" comment="KHR_debug functionality not supported in core profile">
+            <enum name="GL_DISPLAY_LIST"/>
+        </require>
+        <require profile="core" comment="Restore functionality removed in GL 3.2 core to GL 4.3. Needed for debug interface.">
+            <enum name="GL_STACK_UNDERFLOW"/>
+            <enum name="GL_STACK_OVERFLOW"/>
         </require>
+        <!-- Deprecated in OpenGL 4.3 core;
+             deprecate tag not defined/supported yet
+          <deprecate profile="core">
+            <enum name="GL_UNPACK_LSB_FIRST"/>
+            <enum name="GL_PACK_LSB_FIRST"/>
+          </deprecate>
+        -->
     </feature>
-    <feature api="gl" name="GL_VERSION_3_0" number="3.0">
+    <feature api="gl" name="GL_VERSION_4_4" number="4.4">
         <require>
-            <enum name="GL_COMPARE_REF_TO_TEXTURE"/>
-            <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_MAX_CLIP_DISTANCES"/>
-            <enum name="GL_MAJOR_VERSION"/>
-            <enum name="GL_MINOR_VERSION"/>
-            <enum name="GL_NUM_EXTENSIONS"/>
-            <enum name="GL_CONTEXT_FLAGS"/>
-            <enum name="GL_COMPRESSED_RED"/>
-            <enum name="GL_COMPRESSED_RG"/>
-            <enum name="GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT"/>
-            <enum name="GL_RGBA32F"/>
-            <enum name="GL_RGB32F"/>
-            <enum name="GL_RGBA16F"/>
-            <enum name="GL_RGB16F"/>
-            <enum name="GL_VERTEX_ATTRIB_ARRAY_INTEGER"/>
-            <enum name="GL_MAX_ARRAY_TEXTURE_LAYERS"/>
-            <enum name="GL_MIN_PROGRAM_TEXEL_OFFSET"/>
-            <enum name="GL_MAX_PROGRAM_TEXEL_OFFSET"/>
-            <enum name="GL_CLAMP_READ_COLOR"/>
-            <enum name="GL_FIXED_ONLY"/>
-            <enum name="GL_MAX_VARYING_COMPONENTS"/>
-            <enum name="GL_TEXTURE_1D_ARRAY"/>
-            <enum name="GL_PROXY_TEXTURE_1D_ARRAY"/>
-            <enum name="GL_TEXTURE_2D_ARRAY"/>
-            <enum name="GL_PROXY_TEXTURE_2D_ARRAY"/>
-            <enum name="GL_TEXTURE_BINDING_1D_ARRAY"/>
-            <enum name="GL_TEXTURE_BINDING_2D_ARRAY"/>
-            <enum name="GL_R11F_G11F_B10F"/>
-            <enum name="GL_UNSIGNED_INT_10F_11F_11F_REV"/>
-            <enum name="GL_RGB9_E5"/>
-            <enum name="GL_UNSIGNED_INT_5_9_9_9_REV"/>
-            <enum name="GL_TEXTURE_SHARED_SIZE"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE"/>
-            <enum name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_VARYINGS"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_START"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE"/>
-            <enum name="GL_PRIMITIVES_GENERATED"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"/>
-            <enum name="GL_RASTERIZER_DISCARD"/>
-            <enum name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS"/>
-            <enum name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS"/>
-            <enum name="GL_INTERLEAVED_ATTRIBS"/>
-            <enum name="GL_SEPARATE_ATTRIBS"/>
+            <enum name="GL_MAX_VERTEX_ATTRIB_STRIDE"/>
+            <enum name="GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED"/>
+            <enum name="GL_TEXTURE_BUFFER_BINDING"/>
+        </require>
+        <require comment="Reuse GL_ARB_buffer_storage">
+            <enum name="GL_MAP_READ_BIT"/>
+            <enum name="GL_MAP_WRITE_BIT"/>
+            <enum name="GL_MAP_PERSISTENT_BIT"/>
+            <enum name="GL_MAP_COHERENT_BIT"/>
+            <enum name="GL_DYNAMIC_STORAGE_BIT"/>
+            <enum name="GL_CLIENT_STORAGE_BIT"/>
+            <enum name="GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT"/>
+            <enum name="GL_BUFFER_IMMUTABLE_STORAGE"/>
+            <enum name="GL_BUFFER_STORAGE_FLAGS"/>
+            <command name="glBufferStorage"/>
+        </require>
+        <require comment="Reuse GL_ARB_clear_texture">
+            <enum name="GL_CLEAR_TEXTURE"/>
+            <command name="glClearTexImage"/>
+            <command name="glClearTexSubImage"/>
+        </require>
+        <require comment="Reuse GL_ARB_enhanced_layouts">
+            <enum name="GL_LOCATION_COMPONENT"/>
             <enum name="GL_TRANSFORM_FEEDBACK_BUFFER"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING"/>
-            <enum name="GL_RGBA32UI"/>
-            <enum name="GL_RGB32UI"/>
-            <enum name="GL_RGBA16UI"/>
-            <enum name="GL_RGB16UI"/>
-            <enum name="GL_RGBA8UI"/>
-            <enum name="GL_RGB8UI"/>
-            <enum name="GL_RGBA32I"/>
-            <enum name="GL_RGB32I"/>
-            <enum name="GL_RGBA16I"/>
-            <enum name="GL_RGB16I"/>
-            <enum name="GL_RGBA8I"/>
-            <enum name="GL_RGB8I"/>
-            <enum name="GL_RED_INTEGER"/>
-            <enum name="GL_GREEN_INTEGER"/>
-            <enum name="GL_BLUE_INTEGER"/>
-            <enum name="GL_RGB_INTEGER"/>
-            <enum name="GL_RGBA_INTEGER"/>
-            <enum name="GL_BGR_INTEGER"/>
-            <enum name="GL_BGRA_INTEGER"/>
-            <enum name="GL_SAMPLER_1D_ARRAY"/>
-            <enum name="GL_SAMPLER_2D_ARRAY"/>
-            <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_1D_ARRAY"/>
-            <enum name="GL_INT_SAMPLER_2D_ARRAY"/>
-            <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_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_BUFFER_ACCESS_FLAGS"/>
-            <enum name="GL_BUFFER_MAP_LENGTH"/>
-            <enum name="GL_BUFFER_MAP_OFFSET"/>
-            <command name="glColorMaski"/>
-            <command name="glGetBooleani_v"/>
-            <command name="glGetIntegeri_v"/>
-            <command name="glEnablei"/>
-            <command name="glDisablei"/>
-            <command name="glIsEnabledi"/>
-            <command name="glBeginTransformFeedback"/>
-            <command name="glEndTransformFeedback"/>
-            <command name="glBindBufferRange"/>
-            <command name="glBindBufferBase"/>
-            <command name="glTransformFeedbackVaryings"/>
-            <command name="glGetTransformFeedbackVarying"/>
-            <command name="glClampColor"/>
-            <command name="glBeginConditionalRender"/>
-            <command name="glEndConditionalRender"/>
-            <command name="glVertexAttribIPointer"/>
-            <command name="glGetVertexAttribIiv"/>
-            <command name="glGetVertexAttribIuiv"/>
-            <command name="glVertexAttribI1i"/>
-            <command name="glVertexAttribI2i"/>
-            <command name="glVertexAttribI3i"/>
-            <command name="glVertexAttribI4i"/>
-            <command name="glVertexAttribI1ui"/>
-            <command name="glVertexAttribI2ui"/>
-            <command name="glVertexAttribI3ui"/>
-            <command name="glVertexAttribI4ui"/>
-            <command name="glVertexAttribI1iv"/>
-            <command name="glVertexAttribI2iv"/>
-            <command name="glVertexAttribI3iv"/>
-            <command name="glVertexAttribI4iv"/>
-            <command name="glVertexAttribI1uiv"/>
-            <command name="glVertexAttribI2uiv"/>
-            <command name="glVertexAttribI3uiv"/>
-            <command name="glVertexAttribI4uiv"/>
-            <command name="glVertexAttribI4bv"/>
-            <command name="glVertexAttribI4sv"/>
-            <command name="glVertexAttribI4ubv"/>
-            <command name="glVertexAttribI4usv"/>
-            <command name="glGetUniformuiv"/>
-            <command name="glBindFragDataLocation"/>
-            <command name="glGetFragDataLocation"/>
-            <command name="glUniform1ui"/>
-            <command name="glUniform2ui"/>
-            <command name="glUniform3ui"/>
-            <command name="glUniform4ui"/>
-            <command name="glUniform1uiv"/>
-            <command name="glUniform2uiv"/>
-            <command name="glUniform3uiv"/>
-            <command name="glUniform4uiv"/>
-            <command name="glTexParameterIiv"/>
-            <command name="glTexParameterIuiv"/>
-            <command name="glGetTexParameterIiv"/>
-            <command name="glGetTexParameterIuiv"/>
-            <command name="glClearBufferiv"/>
-            <command name="glClearBufferuiv"/>
-            <command name="glClearBufferfv"/>
-            <command name="glClearBufferfi"/>
-            <command name="glGetStringi"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_INDEX"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE"/>
         </require>
-        <require comment="Reuse ARB_depth_buffer_float">
-            <enum name="GL_DEPTH_COMPONENT32F"/>
-            <enum name="GL_DEPTH32F_STENCIL8"/>
-            <enum name="GL_FLOAT_32_UNSIGNED_INT_24_8_REV"/>
+        <require comment="Reuse GL_ARB_multi_bind (none)">
+            <command name="glBindBuffersBase"/>
+            <command name="glBindBuffersRange"/>
+            <command name="glBindTextures"/>
+            <command name="glBindSamplers"/>
+            <command name="glBindImageTextures"/>
+            <command name="glBindVertexBuffers"/>
         </require>
-        <require comment="Reuse ARB_framebuffer_object">
-            <enum name="GL_INVALID_FRAMEBUFFER_OPERATION"/>
-            <enum name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING"/>
-            <enum name="GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE"/>
-            <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_DEFAULT"/>
-            <enum name="GL_FRAMEBUFFER_UNDEFINED"/>
-            <enum name="GL_DEPTH_STENCIL_ATTACHMENT"/>
-            <enum name="GL_MAX_RENDERBUFFER_SIZE"/>
-            <enum name="GL_DEPTH_STENCIL"/>
-            <enum name="GL_UNSIGNED_INT_24_8"/>
-            <enum name="GL_DEPTH24_STENCIL8"/>
-            <enum name="GL_TEXTURE_STENCIL_SIZE"/>
-            <enum name="GL_TEXTURE_RED_TYPE"/>
-            <enum name="GL_TEXTURE_GREEN_TYPE"/>
-            <enum name="GL_TEXTURE_BLUE_TYPE"/>
-            <enum name="GL_TEXTURE_ALPHA_TYPE"/>
-            <enum name="GL_TEXTURE_DEPTH_TYPE"/>
-            <enum name="GL_UNSIGNED_NORMALIZED"/>
-            <enum name="GL_FRAMEBUFFER_BINDING"/>
-            <enum name="GL_DRAW_FRAMEBUFFER_BINDING"/>
-            <enum name="GL_RENDERBUFFER_BINDING"/>
-            <enum name="GL_READ_FRAMEBUFFER"/>
-            <enum name="GL_DRAW_FRAMEBUFFER"/>
-            <enum name="GL_READ_FRAMEBUFFER_BINDING"/>
-            <enum name="GL_RENDERBUFFER_SAMPLES"/>
-            <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"/>
-            <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME"/>
-            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL"/>
-            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE"/>
-            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"/>
-            <enum name="GL_FRAMEBUFFER_COMPLETE"/>
-            <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_MAX_COLOR_ATTACHMENTS"/>
-            <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_DEPTH_ATTACHMENT"/>
-            <enum name="GL_STENCIL_ATTACHMENT"/>
-            <enum name="GL_FRAMEBUFFER"/>
-            <enum name="GL_RENDERBUFFER"/>
-            <enum name="GL_RENDERBUFFER_WIDTH"/>
-            <enum name="GL_RENDERBUFFER_HEIGHT"/>
-            <enum name="GL_RENDERBUFFER_INTERNAL_FORMAT"/>
-            <enum name="GL_STENCIL_INDEX1"/>
-            <enum name="GL_STENCIL_INDEX4"/>
-            <enum name="GL_STENCIL_INDEX8"/>
-            <enum name="GL_STENCIL_INDEX16"/>
-            <enum name="GL_RENDERBUFFER_RED_SIZE"/>
-            <enum name="GL_RENDERBUFFER_GREEN_SIZE"/>
-            <enum name="GL_RENDERBUFFER_BLUE_SIZE"/>
-            <enum name="GL_RENDERBUFFER_ALPHA_SIZE"/>
-            <enum name="GL_RENDERBUFFER_DEPTH_SIZE"/>
-            <enum name="GL_RENDERBUFFER_STENCIL_SIZE"/>
-            <enum name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"/>
-            <enum name="GL_MAX_SAMPLES"/>
-            <command name="glIsRenderbuffer"/>
-            <command name="glBindRenderbuffer"/>
-            <command name="glDeleteRenderbuffers"/>
-            <command name="glGenRenderbuffers"/>
-            <command name="glRenderbufferStorage"/>
-            <command name="glGetRenderbufferParameteriv"/>
-            <command name="glIsFramebuffer"/>
-            <command name="glBindFramebuffer"/>
-            <command name="glDeleteFramebuffers"/>
-            <command name="glGenFramebuffers"/>
-            <command name="glCheckFramebufferStatus"/>
-            <command name="glFramebufferTexture1D"/>
-            <command name="glFramebufferTexture2D"/>
-            <command name="glFramebufferTexture3D"/>
-            <command name="glFramebufferRenderbuffer"/>
-            <command name="glGetFramebufferAttachmentParameteriv"/>
-            <command name="glGenerateMipmap"/>
-            <command name="glBlitFramebuffer"/>
-            <command name="glRenderbufferStorageMultisample"/>
-            <command name="glFramebufferTextureLayer"/>
+        <require comment="Reuse GL_ARB_query_buffer_object">
+            <enum name="GL_QUERY_BUFFER"/>
+            <enum name="GL_QUERY_BUFFER_BARRIER_BIT"/>
+            <enum name="GL_QUERY_BUFFER_BINDING"/>
+            <enum name="GL_QUERY_RESULT_NO_WAIT"/>
         </require>
-        <require profile="compatibility" comment="Reuse ARB_framebuffer_object compatibility profile">
-            <enum name="GL_INDEX"/>
-            <enum name="GL_TEXTURE_LUMINANCE_TYPE"/>
-            <enum name="GL_TEXTURE_INTENSITY_TYPE"/>
+        <require comment="Reuse GL_ARB_texture_mirror_clamp_to_edge">
+            <enum name="GL_MIRROR_CLAMP_TO_EDGE"/>
         </require>
-        <require comment="Reuse ARB_framebuffer_sRGB">
-            <enum name="GL_FRAMEBUFFER_SRGB"/>
+        <require comment="Reuse GL_ARB_texture_stencil8">
+            <enum name="GL_STENCIL_INDEX"/>
+            <enum name="GL_STENCIL_INDEX8"/>
         </require>
-        <require comment="Reuse ARB_half_float_vertex">
-            <type name="GLhalf"/>
-            <enum name="GL_HALF_FLOAT"/>
+        <require comment="Reuse GL_ARB_vertex_type_10f_11f_11f_rev">
+            <enum name="GL_UNSIGNED_INT_10F_11F_11F_REV"/>
         </require>
-        <require comment="Reuse ARB_map_buffer_range">
-            <enum name="GL_MAP_READ_BIT"/>
-            <enum name="GL_MAP_WRITE_BIT"/>
-            <enum name="GL_MAP_INVALIDATE_RANGE_BIT"/>
-            <enum name="GL_MAP_INVALIDATE_BUFFER_BIT"/>
-            <enum name="GL_MAP_FLUSH_EXPLICIT_BIT"/>
-            <enum name="GL_MAP_UNSYNCHRONIZED_BIT"/>
-            <command name="glMapBufferRange"/>
-            <command name="glFlushMappedBufferRange"/>
+    </feature>
+    <feature api="gl" name="GL_VERSION_4_5" number="4.5">
+        <require comment="Added robustness functionality">
+            <enum name="GL_CONTEXT_LOST"/>
         </require>
-        <require comment="Reuse ARB_texture_compression_rgtc">
-            <enum name="GL_COMPRESSED_RED_RGTC1"/>
-            <enum name="GL_COMPRESSED_SIGNED_RED_RGTC1"/>
-            <enum name="GL_COMPRESSED_RG_RGTC2"/>
-            <enum name="GL_COMPRESSED_SIGNED_RG_RGTC2"/>
+        <require comment="Reuse GL_ARB_clip_control">
+            <command name="glClipControl"/>
+            <enum name="GL_LOWER_LEFT"/>
+            <enum name="GL_UPPER_LEFT"/>
+            <enum name="GL_NEGATIVE_ONE_TO_ONE"/>
+            <enum name="GL_ZERO_TO_ONE"/>
+            <enum name="GL_CLIP_ORIGIN"/>
+            <enum name="GL_CLIP_DEPTH_MODE"/>
         </require>
-        <require comment="Reuse ARB_texture_rg">
-            <enum name="GL_RG"/>
-            <enum name="GL_RG_INTEGER"/>
-            <enum name="GL_R8"/>
-            <enum name="GL_R16"/>
-            <enum name="GL_RG8"/>
-            <enum name="GL_RG16"/>
-            <enum name="GL_R16F"/>
-            <enum name="GL_R32F"/>
-            <enum name="GL_RG16F"/>
-            <enum name="GL_RG32F"/>
-            <enum name="GL_R8I"/>
-            <enum name="GL_R8UI"/>
-            <enum name="GL_R16I"/>
-            <enum name="GL_R16UI"/>
-            <enum name="GL_R32I"/>
-            <enum name="GL_R32UI"/>
-            <enum name="GL_RG8I"/>
-            <enum name="GL_RG8UI"/>
-            <enum name="GL_RG16I"/>
-            <enum name="GL_RG16UI"/>
-            <enum name="GL_RG32I"/>
-            <enum name="GL_RG32UI"/>
+        <require comment="Reuse GL_ARB_conditional_render_inverted">
+            <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"/>
         </require>
-        <require comment="Reuse ARB_vertex_array_object">
-            <enum name="GL_VERTEX_ARRAY_BINDING"/>
-            <enum name="GL_CLAMP_VERTEX_COLOR"/>
-            <enum name="GL_CLAMP_FRAGMENT_COLOR"/>
-            <enum name="GL_ALPHA_INTEGER"/>
-            <command name="glBindVertexArray"/>
-            <command name="glDeleteVertexArrays"/>
-            <command name="glGenVertexArrays"/>
-            <command name="glIsVertexArray"/>
+        <require comment="Reuse GL_ARB_cull_distance">
+            <enum name="GL_MAX_CULL_DISTANCES"/>
+            <enum name="GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES"/>
         </require>
-    </feature>
-    <feature api="gl" name="GL_VERSION_3_1" number="3.1">
-        <require>
-            <enum name="GL_SAMPLER_2D_RECT"/>
-            <enum name="GL_SAMPLER_2D_RECT_SHADOW"/>
-            <enum name="GL_SAMPLER_BUFFER"/>
-            <enum name="GL_INT_SAMPLER_2D_RECT"/>
-            <enum name="GL_INT_SAMPLER_BUFFER"/>
-            <enum name="GL_UNSIGNED_INT_SAMPLER_2D_RECT"/>
-            <enum name="GL_UNSIGNED_INT_SAMPLER_BUFFER"/>
-            <enum name="GL_TEXTURE_BUFFER"/>
-            <enum name="GL_MAX_TEXTURE_BUFFER_SIZE"/>
+        <require comment="Reuse GL_ARB_direct_state_access">
+            <enum name="GL_TEXTURE_TARGET"/>
+            <enum name="GL_QUERY_TARGET"/>
+            <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_BUFFER_DATA_STORE_BINDING"/>
-            <enum name="GL_TEXTURE_RECTANGLE"/>
+            <enum name="GL_TEXTURE_BINDING_CUBE_MAP"/>
+            <enum name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY"/>
             <enum name="GL_TEXTURE_BINDING_RECTANGLE"/>
-            <enum name="GL_PROXY_TEXTURE_RECTANGLE"/>
-            <enum name="GL_MAX_RECTANGLE_TEXTURE_SIZE"/>
-            <enum name="GL_R8_SNORM"/>
-            <enum name="GL_RG8_SNORM"/>
-            <enum name="GL_RGB8_SNORM"/>
-            <enum name="GL_RGBA8_SNORM"/>
-            <enum name="GL_R16_SNORM"/>
-            <enum name="GL_RG16_SNORM"/>
-            <enum name="GL_RGB16_SNORM"/>
-            <enum name="GL_RGBA16_SNORM"/>
-            <enum name="GL_SIGNED_NORMALIZED"/>
-            <enum name="GL_PRIMITIVE_RESTART"/>
-            <enum name="GL_PRIMITIVE_RESTART_INDEX"/>
-            <command name="glDrawArraysInstanced"/>
-            <command name="glDrawElementsInstanced"/>
-            <command name="glTexBuffer"/>
-            <command name="glPrimitiveRestartIndex"/>
+            <command name="glCreateTransformFeedbacks"/>
+            <command name="glTransformFeedbackBufferBase"/>
+            <command name="glTransformFeedbackBufferRange"/>
+            <command name="glGetTransformFeedbackiv"/>
+            <command name="glGetTransformFeedbacki_v"/>
+            <command name="glGetTransformFeedbacki64_v"/>
+            <command name="glCreateBuffers"/>
+            <command name="glNamedBufferStorage"/>
+            <command name="glNamedBufferData"/>
+            <command name="glNamedBufferSubData"/>
+            <command name="glCopyNamedBufferSubData"/>
+            <command name="glClearNamedBufferData"/>
+            <command name="glClearNamedBufferSubData"/>
+            <command name="glMapNamedBuffer"/>
+            <command name="glMapNamedBufferRange"/>
+            <command name="glUnmapNamedBuffer"/>
+            <command name="glFlushMappedNamedBufferRange"/>
+            <command name="glGetNamedBufferParameteriv"/>
+            <command name="glGetNamedBufferParameteri64v"/>
+            <command name="glGetNamedBufferPointerv"/>
+            <command name="glGetNamedBufferSubData"/>
+            <command name="glCreateFramebuffers"/>
+            <command name="glNamedFramebufferRenderbuffer"/>
+            <command name="glNamedFramebufferParameteri"/>
+            <command name="glNamedFramebufferTexture"/>
+            <command name="glNamedFramebufferTextureLayer"/>
+            <command name="glNamedFramebufferDrawBuffer"/>
+            <command name="glNamedFramebufferDrawBuffers"/>
+            <command name="glNamedFramebufferReadBuffer"/>
+            <command name="glInvalidateNamedFramebufferData"/>
+            <command name="glInvalidateNamedFramebufferSubData"/>
+            <command name="glClearNamedFramebufferiv"/>
+            <command name="glClearNamedFramebufferuiv"/>
+            <command name="glClearNamedFramebufferfv"/>
+            <command name="glClearNamedFramebufferfi"/>
+            <command name="glBlitNamedFramebuffer"/>
+            <command name="glCheckNamedFramebufferStatus"/>
+            <command name="glGetNamedFramebufferParameteriv"/>
+            <command name="glGetNamedFramebufferAttachmentParameteriv"/>
+            <command name="glCreateRenderbuffers"/>
+            <command name="glNamedRenderbufferStorage"/>
+            <command name="glNamedRenderbufferStorageMultisample"/>
+            <command name="glGetNamedRenderbufferParameteriv"/>
+            <command name="glCreateTextures"/>
+            <command name="glTextureBuffer"/>
+            <command name="glTextureBufferRange"/>
+            <command name="glTextureStorage1D"/>
+            <command name="glTextureStorage2D"/>
+            <command name="glTextureStorage3D"/>
+            <command name="glTextureStorage2DMultisample"/>
+            <command name="glTextureStorage3DMultisample"/>
+            <command name="glTextureSubImage1D"/>
+            <command name="glTextureSubImage2D"/>
+            <command name="glTextureSubImage3D"/>
+            <command name="glCompressedTextureSubImage1D"/>
+            <command name="glCompressedTextureSubImage2D"/>
+            <command name="glCompressedTextureSubImage3D"/>
+            <command name="glCopyTextureSubImage1D"/>
+            <command name="glCopyTextureSubImage2D"/>
+            <command name="glCopyTextureSubImage3D"/>
+            <command name="glTextureParameterf"/>
+            <command name="glTextureParameterfv"/>
+            <command name="glTextureParameteri"/>
+            <command name="glTextureParameterIiv"/>
+            <command name="glTextureParameterIuiv"/>
+            <command name="glTextureParameteriv"/>
+            <command name="glGenerateTextureMipmap"/>
+            <command name="glBindTextureUnit"/>
+            <command name="glGetTextureImage"/>
+            <command name="glGetCompressedTextureImage"/>
+            <command name="glGetTextureLevelParameterfv"/>
+            <command name="glGetTextureLevelParameteriv"/>
+            <command name="glGetTextureParameterfv"/>
+            <command name="glGetTextureParameterIiv"/>
+            <command name="glGetTextureParameterIuiv"/>
+            <command name="glGetTextureParameteriv"/>
+            <command name="glCreateVertexArrays"/>
+            <command name="glDisableVertexArrayAttrib"/>
+            <command name="glEnableVertexArrayAttrib"/>
+            <command name="glVertexArrayElementBuffer"/>
+            <command name="glVertexArrayVertexBuffer"/>
+            <command name="glVertexArrayVertexBuffers"/>
+            <command name="glVertexArrayAttribBinding"/>
+            <command name="glVertexArrayAttribFormat"/>
+            <command name="glVertexArrayAttribIFormat"/>
+            <command name="glVertexArrayAttribLFormat"/>
+            <command name="glVertexArrayBindingDivisor"/>
+            <command name="glGetVertexArrayiv"/>
+            <command name="glGetVertexArrayIndexediv"/>
+            <command name="glGetVertexArrayIndexed64iv"/>
+            <command name="glCreateSamplers"/>
+            <command name="glCreateProgramPipelines"/>
+            <command name="glCreateQueries"/>
+            <command name="glGetQueryBufferObjecti64v"/>
+            <command name="glGetQueryBufferObjectiv"/>
+            <command name="glGetQueryBufferObjectui64v"/>
+            <command name="glGetQueryBufferObjectuiv"/>
         </require>
-        <require comment="Reuse ARB_copy_buffer">
-            <enum name="GL_COPY_READ_BUFFER"/>
-            <enum name="GL_COPY_WRITE_BUFFER"/>
-            <command name="glCopyBufferSubData"/>
+        <require comment="Reuse GL_ARB_ES3_1_compatibility">
+            <enum name="GL_BACK"/>
+            <command name="glMemoryBarrierByRegion"/>
         </require>
-        <require comment="Reuse ARB_uniform_buffer_object">
-            <enum name="GL_UNIFORM_BUFFER"/>
-            <enum name="GL_UNIFORM_BUFFER_BINDING"/>
-            <enum name="GL_UNIFORM_BUFFER_START"/>
-            <enum name="GL_UNIFORM_BUFFER_SIZE"/>
-            <enum name="GL_MAX_VERTEX_UNIFORM_BLOCKS"/>
-            <enum name="GL_MAX_FRAGMENT_UNIFORM_BLOCKS"/>
-            <enum name="GL_MAX_COMBINED_UNIFORM_BLOCKS"/>
-            <enum name="GL_MAX_UNIFORM_BUFFER_BINDINGS"/>
-            <enum name="GL_MAX_UNIFORM_BLOCK_SIZE"/>
-            <enum name="GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"/>
-            <enum name="GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"/>
-            <enum name="GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT"/>
-            <enum name="GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH"/>
-            <enum name="GL_ACTIVE_UNIFORM_BLOCKS"/>
-            <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_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_FRAGMENT_SHADER"/>
-            <enum name="GL_INVALID_INDEX"/>
-            <command name="glGetUniformIndices"/>
-            <command name="glGetActiveUniformsiv"/>
-            <command name="glGetActiveUniformName"/>
-            <command name="glGetUniformBlockIndex"/>
-            <command name="glGetActiveUniformBlockiv"/>
-            <command name="glGetActiveUniformBlockName"/>
-            <command name="glUniformBlockBinding"/>
+        <require comment="Reuse GL_ARB_get_texture_sub_image">
+            <command name="glGetTextureSubImage"/>
+            <command name="glGetCompressedTextureSubImage"/>
+        </require>
+        <require comment="Reuse GL_ARB_robustness">
+            <enum name="GL_NO_ERROR"/>
+            <enum name="GL_GUILTY_CONTEXT_RESET"/>
+            <enum name="GL_INNOCENT_CONTEXT_RESET"/>
+            <enum name="GL_UNKNOWN_CONTEXT_RESET"/>
+            <enum name="GL_RESET_NOTIFICATION_STRATEGY"/>
+            <enum name="GL_LOSE_CONTEXT_ON_RESET"/>
+            <enum name="GL_NO_RESET_NOTIFICATION"/>
+            <enum name="GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT"/>
+            <enum name="GL_CONTEXT_LOST"/>
+            <command name="glGetGraphicsResetStatus"/>
+            <command name="glGetnCompressedTexImage"/>
+            <command name="glGetnTexImage"/>
+            <command name="glGetnUniformdv"/>
+            <command name="glGetnUniformfv"/>
+            <command name="glGetnUniformiv"/>
+            <command name="glGetnUniformuiv"/>
+            <command name="glReadnPixels"/>
+        </require>
+        <require profile="compatibility" comment="Reuse GL_ARB_robustness">
+            <command name="glGetnMapdv"/>
+            <command name="glGetnMapfv"/>
+            <command name="glGetnMapiv"/>
+            <command name="glGetnPixelMapfv"/>
+            <command name="glGetnPixelMapuiv"/>
+            <command name="glGetnPixelMapusv"/>
+            <command name="glGetnPolygonStipple"/>
+            <command name="glGetnColorTable"/>
+            <command name="glGetnConvolutionFilter"/>
+            <command name="glGetnSeparableFilter"/>
+            <command name="glGetnHistogram"/>
+            <command name="glGetnMinmax"/>
+        </require>
+        <require profile="compatibility">
+            <enum name="GL_COLOR_TABLE"/>
+            <enum name="GL_POST_CONVOLUTION_COLOR_TABLE"/>
+            <enum name="GL_POST_COLOR_MATRIX_COLOR_TABLE"/>
+            <enum name="GL_PROXY_COLOR_TABLE"/>
+            <enum name="GL_PROXY_POST_CONVOLUTION_COLOR_TABLE"/>
+            <enum name="GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE"/>
+            <enum name="GL_CONVOLUTION_1D"/>
+            <enum name="GL_CONVOLUTION_2D"/>
+            <enum name="GL_SEPARABLE_2D"/>
+            <enum name="GL_HISTOGRAM"/>
+            <enum name="GL_PROXY_HISTOGRAM"/>
+            <enum name="GL_MINMAX"/>
+        </require>
+        <require comment="Reuse GL_ARB_texture_barrier">
+            <command name="glTextureBarrier"/>
+        </require>
+        <require comment="Reuse GL_KHR_context_flush_control">
+            <enum name="GL_CONTEXT_RELEASE_BEHAVIOR"/>
+            <enum name="GL_NONE"/>
+            <enum name="GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH"/>
         </require>
     </feature>
-    <feature api="gl" name="GL_VERSION_3_2" number="3.2">
-        <require>
-            <enum name="GL_CONTEXT_CORE_PROFILE_BIT"/>
-            <enum name="GL_CONTEXT_COMPATIBILITY_PROFILE_BIT"/>
-            <enum name="GL_LINES_ADJACENCY"/>
-            <enum name="GL_LINE_STRIP_ADJACENCY"/>
-            <enum name="GL_TRIANGLES_ADJACENCY"/>
-            <enum name="GL_TRIANGLE_STRIP_ADJACENCY"/>
-            <enum name="GL_PROGRAM_POINT_SIZE"/>
-            <enum name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS"/>
-            <enum name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED"/>
-            <enum name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS"/>
-            <enum name="GL_GEOMETRY_SHADER"/>
-            <enum name="GL_GEOMETRY_VERTICES_OUT"/>
-            <enum name="GL_GEOMETRY_INPUT_TYPE"/>
-            <enum name="GL_GEOMETRY_OUTPUT_TYPE"/>
-            <enum name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS"/>
-            <enum name="GL_MAX_GEOMETRY_OUTPUT_VERTICES"/>
-            <enum name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS"/>
-            <enum name="GL_MAX_VERTEX_OUTPUT_COMPONENTS"/>
-            <enum name="GL_MAX_GEOMETRY_INPUT_COMPONENTS"/>
-            <enum name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS"/>
-            <enum name="GL_MAX_FRAGMENT_INPUT_COMPONENTS"/>
-            <enum name="GL_CONTEXT_PROFILE_MASK"/>
+    <feature api="gl" name="GL_VERSION_4_6" number="4.6">
+        <require comment="Reuse GL_KHR_context_flush_control">
+            <enum name="GL_CONTEXT_RELEASE_BEHAVIOR"/>
+            <enum name="GL_NONE"/>
+            <enum name="GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH"/>
         </require>
-        <require comment="Reuse ARB_depth_clamp">
-            <enum name="GL_DEPTH_CLAMP"/>
+        <require comment="Reuse GL_ARB_gl_spirv">
+            <enum name="GL_SHADER_BINARY_FORMAT_SPIR_V"/>
+            <enum name="GL_SPIR_V_BINARY"/>
+            <command name="glSpecializeShader"/>
         </require>
-        <require comment="Reuse ARB_draw_elements_base_vertex">
-            <command name="glDrawElementsBaseVertex"/>
-            <command name="glDrawRangeElementsBaseVertex"/>
-            <command name="glDrawElementsInstancedBaseVertex"/>
-            <command name="glMultiDrawElementsBaseVertex"/>
+        <require comment="Reuse GL_ARB_indirect_parameters">
+            <enum name="GL_PARAMETER_BUFFER"/>
+            <enum name="GL_PARAMETER_BUFFER_BINDING"/>
+            <command name="glMultiDrawArraysIndirectCount"/>
+            <command name="glMultiDrawElementsIndirectCount"/>
         </require>
-        <require comment="Reuse ARB_fragment_coord_conventions (none)">
+        <require comment="Reuse GL_KHR_no_error">
+            <enum name="GL_CONTEXT_FLAG_NO_ERROR_BIT"/>
         </require>
-        <require comment="Reuse ARB_provoking_vertex">
-            <enum name="GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION"/>
-            <enum name="GL_FIRST_VERTEX_CONVENTION"/>
-            <enum name="GL_LAST_VERTEX_CONVENTION"/>
-            <enum name="GL_PROVOKING_VERTEX"/>
-            <command name="glProvokingVertex"/>
+        <require comment="Reuse GL_ARB_pipeline_statistics_query">
+            <enum name="GL_VERTICES_SUBMITTED"/>
+            <enum name="GL_PRIMITIVES_SUBMITTED"/>
+            <enum name="GL_VERTEX_SHADER_INVOCATIONS"/>
+            <enum name="GL_TESS_CONTROL_SHADER_PATCHES"/>
+            <enum name="GL_TESS_EVALUATION_SHADER_INVOCATIONS"/>
+            <enum name="GL_GEOMETRY_SHADER_INVOCATIONS"/>
+            <enum name="GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED"/>
+            <enum name="GL_FRAGMENT_SHADER_INVOCATIONS"/>
+            <enum name="GL_COMPUTE_SHADER_INVOCATIONS"/>
+            <enum name="GL_CLIPPING_INPUT_PRIMITIVES"/>
+            <enum name="GL_CLIPPING_OUTPUT_PRIMITIVES"/>
         </require>
-        <require comment="Reuse ARB_seamless_cube_map">
-            <enum name="GL_TEXTURE_CUBE_MAP_SEAMLESS"/>
+        <require comment="Reuse GL_ARB_polygon_offset_clamp">
+            <enum name="GL_POLYGON_OFFSET_CLAMP"/>
+            <command name="glPolygonOffsetClamp"/>
         </require>
-        <require comment="Reuse ARB_sync">
-            <enum name="GL_MAX_SERVER_WAIT_TIMEOUT"/>
-            <enum name="GL_OBJECT_TYPE"/>
-            <enum name="GL_SYNC_CONDITION"/>
-            <enum name="GL_SYNC_STATUS"/>
-            <enum name="GL_SYNC_FLAGS"/>
-            <enum name="GL_SYNC_FENCE"/>
-            <enum name="GL_SYNC_GPU_COMMANDS_COMPLETE"/>
-            <enum name="GL_UNSIGNALED"/>
-            <enum name="GL_SIGNALED"/>
-            <enum name="GL_ALREADY_SIGNALED"/>
-            <enum name="GL_TIMEOUT_EXPIRED"/>
-            <enum name="GL_CONDITION_SATISFIED"/>
-            <enum name="GL_WAIT_FAILED"/>
-            <enum name="GL_TIMEOUT_IGNORED"/>
-            <enum name="GL_SYNC_FLUSH_COMMANDS_BIT"/>
-            <enum name="GL_TIMEOUT_IGNORED"/>
-            <command name="glFenceSync"/>
-            <command name="glIsSync"/>
-            <command name="glDeleteSync"/>
-            <command name="glClientWaitSync"/>
-            <command name="glWaitSync"/>
-            <command name="glGetInteger64v"/>
-            <command name="glGetSynciv"/>
+        <require comment="Reuse GL_ARB_shader_atomic_counter_ops (none)"/>
+        <require comment="Reuse GL_ARB_shader_draw_parameters (none)"/>
+        <require comment="Reuse GL_ARB_shader_group_vote (none)"/>
+        <require comment="Reuse GL_ARB_spirv_extensions">
+            <enum name="GL_SPIR_V_EXTENSIONS"/>
+            <enum name="GL_NUM_SPIR_V_EXTENSIONS"/>
         </require>
-        <require comment="Reuse ARB_texture_multisample">
-            <enum name="GL_SAMPLE_POSITION"/>
-            <enum name="GL_SAMPLE_MASK"/>
-            <enum name="GL_SAMPLE_MASK_VALUE"/>
-            <enum name="GL_MAX_SAMPLE_MASK_WORDS"/>
-            <enum name="GL_TEXTURE_2D_MULTISAMPLE"/>
-            <enum name="GL_PROXY_TEXTURE_2D_MULTISAMPLE"/>
-            <enum name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
-            <enum name="GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
-            <enum name="GL_TEXTURE_BINDING_2D_MULTISAMPLE"/>
-            <enum name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY"/>
-            <enum name="GL_TEXTURE_SAMPLES"/>
-            <enum name="GL_TEXTURE_FIXED_SAMPLE_LOCATIONS"/>
-            <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"/>
-            <enum name="GL_MAX_COLOR_TEXTURE_SAMPLES"/>
-            <enum name="GL_MAX_DEPTH_TEXTURE_SAMPLES"/>
-            <enum name="GL_MAX_INTEGER_SAMPLES"/>
-            <!-- /* Don't need to reuse tokens from ARB_vertex_array_bgra since they're already in 1.2 core */ -->
-            <command name="glGetInteger64i_v"/>
-            <command name="glGetBufferParameteri64v"/>
-            <command name="glFramebufferTexture"/>
-            <command name="glTexImage2DMultisample"/>
-            <command name="glTexImage3DMultisample"/>
-            <command name="glGetMultisamplefv"/>
-            <command name="glSampleMaski"/>
+        <require comment="Reuse GL_ARB_texture_filter_anisotropic">
+            <enum name="GL_TEXTURE_MAX_ANISOTROPY"/>
+            <enum name="GL_MAX_TEXTURE_MAX_ANISOTROPY"/>
         </require>
-        <!-- OpenGL 3.2 is where core and compatibility profiles were first
-             introduced, so many, many things were removed from the core
-             profile in this version. A few were reintroduced later (e.g.
-             GetPointerv / STACK_{UNDER,OVER}FLOW by OpenGL 4.3 for debug
-             functionality). -->
-        <remove profile="core" comment="Compatibility-only GL 1.0 features removed from GL 3.2">
-            <command name="glNewList"/>
-            <command name="glEndList"/>
-            <command name="glCallList"/>
-            <command name="glCallLists"/>
-            <command name="glDeleteLists"/>
-            <command name="glGenLists"/>
-            <command name="glListBase"/>
-            <command name="glBegin"/>
-            <command name="glBitmap"/>
-            <command name="glColor3b"/>
-            <command name="glColor3bv"/>
-            <command name="glColor3d"/>
-            <command name="glColor3dv"/>
-            <command name="glColor3f"/>
-            <command name="glColor3fv"/>
-            <command name="glColor3i"/>
-            <command name="glColor3iv"/>
-            <command name="glColor3s"/>
-            <command name="glColor3sv"/>
-            <command name="glColor3ub"/>
-            <command name="glColor3ubv"/>
-            <command name="glColor3ui"/>
-            <command name="glColor3uiv"/>
-            <command name="glColor3us"/>
-            <command name="glColor3usv"/>
-            <command name="glColor4b"/>
-            <command name="glColor4bv"/>
-            <command name="glColor4d"/>
-            <command name="glColor4dv"/>
-            <command name="glColor4f"/>
-            <command name="glColor4fv"/>
-            <command name="glColor4i"/>
-            <command name="glColor4iv"/>
-            <command name="glColor4s"/>
-            <command name="glColor4sv"/>
-            <command name="glColor4ub"/>
-            <command name="glColor4ubv"/>
-            <command name="glColor4ui"/>
-            <command name="glColor4uiv"/>
-            <command name="glColor4us"/>
-            <command name="glColor4usv"/>
-            <command name="glEdgeFlag"/>
-            <command name="glEdgeFlagv"/>
-            <command name="glEnd"/>
-            <command name="glIndexd"/>
-            <command name="glIndexdv"/>
-            <command name="glIndexf"/>
-            <command name="glIndexfv"/>
-            <command name="glIndexi"/>
-            <command name="glIndexiv"/>
-            <command name="glIndexs"/>
-            <command name="glIndexsv"/>
-            <command name="glNormal3b"/>
-            <command name="glNormal3bv"/>
-            <command name="glNormal3d"/>
-            <command name="glNormal3dv"/>
-            <command name="glNormal3f"/>
-            <command name="glNormal3fv"/>
-            <command name="glNormal3i"/>
-            <command name="glNormal3iv"/>
-            <command name="glNormal3s"/>
-            <command name="glNormal3sv"/>
-            <command name="glRasterPos2d"/>
-            <command name="glRasterPos2dv"/>
-            <command name="glRasterPos2f"/>
-            <command name="glRasterPos2fv"/>
-            <command name="glRasterPos2i"/>
-            <command name="glRasterPos2iv"/>
-            <command name="glRasterPos2s"/>
-            <command name="glRasterPos2sv"/>
-            <command name="glRasterPos3d"/>
-            <command name="glRasterPos3dv"/>
-            <command name="glRasterPos3f"/>
-            <command name="glRasterPos3fv"/>
-            <command name="glRasterPos3i"/>
-            <command name="glRasterPos3iv"/>
-            <command name="glRasterPos3s"/>
-            <command name="glRasterPos3sv"/>
-            <command name="glRasterPos4d"/>
-            <command name="glRasterPos4dv"/>
-            <command name="glRasterPos4f"/>
-            <command name="glRasterPos4fv"/>
-            <command name="glRasterPos4i"/>
-            <command name="glRasterPos4iv"/>
-            <command name="glRasterPos4s"/>
-            <command name="glRasterPos4sv"/>
-            <command name="glRectd"/>
-            <command name="glRectdv"/>
-            <command name="glRectf"/>
-            <command name="glRectfv"/>
-            <command name="glRecti"/>
-            <command name="glRectiv"/>
-            <command name="glRects"/>
-            <command name="glRectsv"/>
-            <command name="glTexCoord1d"/>
-            <command name="glTexCoord1dv"/>
-            <command name="glTexCoord1f"/>
-            <command name="glTexCoord1fv"/>
-            <command name="glTexCoord1i"/>
-            <command name="glTexCoord1iv"/>
-            <command name="glTexCoord1s"/>
-            <command name="glTexCoord1sv"/>
-            <command name="glTexCoord2d"/>
-            <command name="glTexCoord2dv"/>
-            <command name="glTexCoord2f"/>
-            <command name="glTexCoord2fv"/>
-            <command name="glTexCoord2i"/>
-            <command name="glTexCoord2iv"/>
-            <command name="glTexCoord2s"/>
-            <command name="glTexCoord2sv"/>
-            <command name="glTexCoord3d"/>
-            <command name="glTexCoord3dv"/>
-            <command name="glTexCoord3f"/>
-            <command name="glTexCoord3fv"/>
-            <command name="glTexCoord3i"/>
-            <command name="glTexCoord3iv"/>
-            <command name="glTexCoord3s"/>
-            <command name="glTexCoord3sv"/>
-            <command name="glTexCoord4d"/>
-            <command name="glTexCoord4dv"/>
-            <command name="glTexCoord4f"/>
-            <command name="glTexCoord4fv"/>
-            <command name="glTexCoord4i"/>
-            <command name="glTexCoord4iv"/>
-            <command name="glTexCoord4s"/>
-            <command name="glTexCoord4sv"/>
-            <command name="glVertex2d"/>
-            <command name="glVertex2dv"/>
-            <command name="glVertex2f"/>
-            <command name="glVertex2fv"/>
-            <command name="glVertex2i"/>
-            <command name="glVertex2iv"/>
-            <command name="glVertex2s"/>
-            <command name="glVertex2sv"/>
-            <command name="glVertex3d"/>
-            <command name="glVertex3dv"/>
-            <command name="glVertex3f"/>
-            <command name="glVertex3fv"/>
-            <command name="glVertex3i"/>
-            <command name="glVertex3iv"/>
-            <command name="glVertex3s"/>
-            <command name="glVertex3sv"/>
-            <command name="glVertex4d"/>
-            <command name="glVertex4dv"/>
-            <command name="glVertex4f"/>
-            <command name="glVertex4fv"/>
-            <command name="glVertex4i"/>
-            <command name="glVertex4iv"/>
-            <command name="glVertex4s"/>
-            <command name="glVertex4sv"/>
-            <command name="glClipPlane"/>
-            <command name="glColorMaterial"/>
-            <command name="glFogf"/>
-            <command name="glFogfv"/>
-            <command name="glFogi"/>
-            <command name="glFogiv"/>
-            <command name="glLightf"/>
-            <command name="glLightfv"/>
-            <command name="glLighti"/>
-            <command name="glLightiv"/>
-            <command name="glLightModelf"/>
-            <command name="glLightModelfv"/>
-            <command name="glLightModeli"/>
-            <command name="glLightModeliv"/>
-            <command name="glLineStipple"/>
-            <command name="glMaterialf"/>
-            <command name="glMaterialfv"/>
-            <command name="glMateriali"/>
-            <command name="glMaterialiv"/>
-            <command name="glPolygonStipple"/>
-            <command name="glShadeModel"/>
-            <command name="glTexEnvf"/>
-            <command name="glTexEnvfv"/>
-            <command name="glTexEnvi"/>
-            <command name="glTexEnviv"/>
-            <command name="glTexGend"/>
-            <command name="glTexGendv"/>
-            <command name="glTexGenf"/>
-            <command name="glTexGenfv"/>
-            <command name="glTexGeni"/>
-            <command name="glTexGeniv"/>
-            <command name="glFeedbackBuffer"/>
-            <command name="glSelectBuffer"/>
-            <command name="glRenderMode"/>
-            <command name="glInitNames"/>
-            <command name="glLoadName"/>
-            <command name="glPassThrough"/>
-            <command name="glPopName"/>
-            <command name="glPushName"/>
-            <command name="glClearAccum"/>
-            <command name="glClearIndex"/>
-            <command name="glIndexMask"/>
-            <command name="glAccum"/>
-            <command name="glPopAttrib"/>
-            <command name="glPushAttrib"/>
-            <command name="glMap1d"/>
-            <command name="glMap1f"/>
-            <command name="glMap2d"/>
-            <command name="glMap2f"/>
-            <command name="glMapGrid1d"/>
-            <command name="glMapGrid1f"/>
-            <command name="glMapGrid2d"/>
-            <command name="glMapGrid2f"/>
-            <command name="glEvalCoord1d"/>
-            <command name="glEvalCoord1dv"/>
-            <command name="glEvalCoord1f"/>
-            <command name="glEvalCoord1fv"/>
-            <command name="glEvalCoord2d"/>
-            <command name="glEvalCoord2dv"/>
-            <command name="glEvalCoord2f"/>
-            <command name="glEvalCoord2fv"/>
-            <command name="glEvalMesh1"/>
-            <command name="glEvalPoint1"/>
-            <command name="glEvalMesh2"/>
-            <command name="glEvalPoint2"/>
-            <command name="glAlphaFunc"/>
-            <command name="glPixelZoom"/>
-            <command name="glPixelTransferf"/>
-            <command name="glPixelTransferi"/>
-            <command name="glPixelMapfv"/>
-            <command name="glPixelMapuiv"/>
-            <command name="glPixelMapusv"/>
-            <command name="glCopyPixels"/>
-            <command name="glDrawPixels"/>
-            <command name="glGetClipPlane"/>
-            <command name="glGetLightfv"/>
-            <command name="glGetLightiv"/>
-            <command name="glGetMapdv"/>
-            <command name="glGetMapfv"/>
-            <command name="glGetMapiv"/>
-            <command name="glGetMaterialfv"/>
-            <command name="glGetMaterialiv"/>
-            <command name="glGetPixelMapfv"/>
-            <command name="glGetPixelMapuiv"/>
-            <command name="glGetPixelMapusv"/>
-            <command name="glGetPolygonStipple"/>
-            <command name="glGetTexEnvfv"/>
-            <command name="glGetTexEnviv"/>
-            <command name="glGetTexGendv"/>
-            <command name="glGetTexGenfv"/>
-            <command name="glGetTexGeniv"/>
-            <command name="glIsList"/>
-            <command name="glFrustum"/>
-            <command name="glLoadIdentity"/>
-            <command name="glLoadMatrixf"/>
-            <command name="glLoadMatrixd"/>
-            <command name="glMatrixMode"/>
-            <command name="glMultMatrixf"/>
-            <command name="glMultMatrixd"/>
-            <command name="glOrtho"/>
-            <command name="glPopMatrix"/>
-            <command name="glPushMatrix"/>
-            <command name="glRotated"/>
-            <command name="glRotatef"/>
-            <command name="glScaled"/>
-            <command name="glScalef"/>
-            <command name="glTranslated"/>
-            <command name="glTranslatef"/>
-        </remove>
-        <remove profile="core" comment="Compatibility-only GL 1.1 features removed from GL 3.2">
-            <enum name="GL_CURRENT_BIT"/>
-            <enum name="GL_POINT_BIT"/>
-            <enum name="GL_LINE_BIT"/>
-            <enum name="GL_POLYGON_BIT"/>
-            <enum name="GL_POLYGON_STIPPLE_BIT"/>
-            <enum name="GL_PIXEL_MODE_BIT"/>
-            <enum name="GL_LIGHTING_BIT"/>
-            <enum name="GL_FOG_BIT"/>
-            <enum name="GL_ACCUM_BUFFER_BIT"/>
-            <enum name="GL_VIEWPORT_BIT"/>
-            <enum name="GL_TRANSFORM_BIT"/>
-            <enum name="GL_ENABLE_BIT"/>
-            <enum name="GL_HINT_BIT"/>
-            <enum name="GL_EVAL_BIT"/>
-            <enum name="GL_LIST_BIT"/>
-            <enum name="GL_TEXTURE_BIT"/>
-            <enum name="GL_SCISSOR_BIT"/>
-            <enum name="GL_ALL_ATTRIB_BITS"/>
-            <enum name="GL_CLIENT_PIXEL_STORE_BIT"/>
-            <enum name="GL_CLIENT_VERTEX_ARRAY_BIT"/>
-            <enum name="GL_CLIENT_ALL_ATTRIB_BITS"/>
-            <enum name="GL_QUAD_STRIP"/>
-            <enum name="GL_QUADS"/>
-            <enum name="GL_POLYGON"/>
-            <enum name="GL_ACCUM"/>
-            <enum name="GL_LOAD"/>
-            <enum name="GL_RETURN"/>
-            <enum name="GL_MULT"/>
-            <enum name="GL_ADD"/>
-            <enum name="GL_STACK_OVERFLOW"/>
-            <enum name="GL_STACK_UNDERFLOW"/>
-            <enum name="GL_AUX0"/>
-            <enum name="GL_AUX1"/>
-            <enum name="GL_AUX2"/>
-            <enum name="GL_AUX3"/>
-            <enum name="GL_2D"/>
-            <enum name="GL_3D"/>
-            <enum name="GL_3D_COLOR"/>
-            <enum name="GL_3D_COLOR_TEXTURE"/>
-            <enum name="GL_4D_COLOR_TEXTURE"/>
-            <enum name="GL_PASS_THROUGH_TOKEN"/>
-            <enum name="GL_POINT_TOKEN"/>
-            <enum name="GL_LINE_TOKEN"/>
-            <enum name="GL_POLYGON_TOKEN"/>
-            <enum name="GL_BITMAP_TOKEN"/>
-            <enum name="GL_DRAW_PIXEL_TOKEN"/>
-            <enum name="GL_COPY_PIXEL_TOKEN"/>
-            <enum name="GL_LINE_RESET_TOKEN"/>
-            <enum name="GL_EXP"/>
-            <enum name="GL_EXP2"/>
-            <enum name="GL_COEFF"/>
-            <enum name="GL_ORDER"/>
-            <enum name="GL_DOMAIN"/>
-            <enum name="GL_PIXEL_MAP_I_TO_I"/>
-            <enum name="GL_PIXEL_MAP_S_TO_S"/>
-            <enum name="GL_PIXEL_MAP_I_TO_R"/>
-            <enum name="GL_PIXEL_MAP_I_TO_G"/>
-            <enum name="GL_PIXEL_MAP_I_TO_B"/>
-            <enum name="GL_PIXEL_MAP_I_TO_A"/>
-            <enum name="GL_PIXEL_MAP_R_TO_R"/>
-            <enum name="GL_PIXEL_MAP_G_TO_G"/>
-            <enum name="GL_PIXEL_MAP_B_TO_B"/>
-            <enum name="GL_PIXEL_MAP_A_TO_A"/>
-            <enum name="GL_VERTEX_ARRAY_POINTER"/>
-            <enum name="GL_NORMAL_ARRAY_POINTER"/>
-            <enum name="GL_COLOR_ARRAY_POINTER"/>
-            <enum name="GL_INDEX_ARRAY_POINTER"/>
-            <enum name="GL_TEXTURE_COORD_ARRAY_POINTER"/>
-            <enum name="GL_EDGE_FLAG_ARRAY_POINTER"/>
-            <enum name="GL_FEEDBACK_BUFFER_POINTER"/>
-            <enum name="GL_SELECTION_BUFFER_POINTER"/>
-            <enum name="GL_CURRENT_COLOR"/>
-            <enum name="GL_CURRENT_INDEX"/>
-            <enum name="GL_CURRENT_NORMAL"/>
-            <enum name="GL_CURRENT_TEXTURE_COORDS"/>
-            <enum name="GL_CURRENT_RASTER_COLOR"/>
-            <enum name="GL_CURRENT_RASTER_INDEX"/>
-            <enum name="GL_CURRENT_RASTER_TEXTURE_COORDS"/>
-            <enum name="GL_CURRENT_RASTER_POSITION"/>
-            <enum name="GL_CURRENT_RASTER_POSITION_VALID"/>
-            <enum name="GL_CURRENT_RASTER_DISTANCE"/>
-            <enum name="GL_POINT_SMOOTH"/>
-            <enum name="GL_LINE_STIPPLE"/>
-            <enum name="GL_LINE_STIPPLE_PATTERN"/>
-            <enum name="GL_LINE_STIPPLE_REPEAT"/>
-            <enum name="GL_LIST_MODE"/>
-            <enum name="GL_MAX_LIST_NESTING"/>
-            <enum name="GL_LIST_BASE"/>
-            <enum name="GL_LIST_INDEX"/>
-            <enum name="GL_POLYGON_STIPPLE"/>
-            <enum name="GL_EDGE_FLAG"/>
+        <require comment="Reuse GL_ARB_transform_feedback_overflow_query">
+            <enum name="GL_TRANSFORM_FEEDBACK_OVERFLOW"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW"/>
+        </require>
+    </feature>
+
+
+    <!-- SECTION: OpenGL ES 1.0/1.1 API interface definitions. -->
+    <feature api="gles1" name="GL_VERSION_ES_CM_1_0" number="1.0">
+        <require comment="Not used by the API, for compatibility with old gl.h">
+            <type name="GLbyte"/>
+            <type name="GLclampf"/>
+            <type name="GLshort"/>
+            <type name="GLushort"/>
+        </require>
+        <require>
+            <!-- Additional API definition macros - ES 1.0/1.1, common/common-lite all in one header -->
+            <enum name="GL_VERSION_ES_CL_1_0"/>
+            <enum name="GL_VERSION_ES_CM_1_1"/>
+            <enum name="GL_VERSION_ES_CL_1_1"/>
+            <type name="GLvoid" comment="No longer used in headers"/>
+            <enum name="GL_DEPTH_BUFFER_BIT"/>
+            <enum name="GL_STENCIL_BUFFER_BIT"/>
+            <enum name="GL_COLOR_BUFFER_BIT"/>
+            <enum name="GL_FALSE"/>
+            <enum name="GL_TRUE"/>
+            <enum name="GL_POINTS"/>
+            <enum name="GL_LINES"/>
+            <enum name="GL_LINE_LOOP"/>
+            <enum name="GL_LINE_STRIP"/>
+            <enum name="GL_TRIANGLES"/>
+            <enum name="GL_TRIANGLE_STRIP"/>
+            <enum name="GL_TRIANGLE_FAN"/>
+            <enum name="GL_NEVER"/>
+            <enum name="GL_LESS"/>
+            <enum name="GL_EQUAL"/>
+            <enum name="GL_LEQUAL"/>
+            <enum name="GL_GREATER"/>
+            <enum name="GL_NOTEQUAL"/>
+            <enum name="GL_GEQUAL"/>
+            <enum name="GL_ALWAYS"/>
+            <enum name="GL_ZERO"/>
+            <enum name="GL_ONE"/>
+            <enum name="GL_SRC_COLOR"/>
+            <enum name="GL_ONE_MINUS_SRC_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_DST_COLOR"/>
+            <enum name="GL_ONE_MINUS_DST_COLOR"/>
+            <enum name="GL_SRC_ALPHA_SATURATE"/>
+            <enum name="GL_CLIP_PLANE0"/>
+            <enum name="GL_CLIP_PLANE1"/>
+            <enum name="GL_CLIP_PLANE2"/>
+            <enum name="GL_CLIP_PLANE3"/>
+            <enum name="GL_CLIP_PLANE4"/>
+            <enum name="GL_CLIP_PLANE5"/>
+            <enum name="GL_FRONT"/>
+            <enum name="GL_BACK"/>
+            <enum name="GL_FRONT_AND_BACK"/>
+            <enum name="GL_FOG"/>
             <enum name="GL_LIGHTING"/>
-            <enum name="GL_LIGHT_MODEL_LOCAL_VIEWER"/>
-            <enum name="GL_LIGHT_MODEL_TWO_SIDE"/>
-            <enum name="GL_LIGHT_MODEL_AMBIENT"/>
-            <enum name="GL_SHADE_MODEL"/>
-            <enum name="GL_COLOR_MATERIAL_FACE"/>
-            <enum name="GL_COLOR_MATERIAL_PARAMETER"/>
+            <enum name="GL_TEXTURE_2D"/>
+            <enum name="GL_CULL_FACE"/>
+            <enum name="GL_ALPHA_TEST"/>
+            <enum name="GL_BLEND"/>
+            <enum name="GL_COLOR_LOGIC_OP"/>
+            <enum name="GL_DITHER"/>
+            <enum name="GL_STENCIL_TEST"/>
+            <enum name="GL_DEPTH_TEST"/>
+            <enum name="GL_POINT_SMOOTH"/>
+            <enum name="GL_LINE_SMOOTH"/>
+            <enum name="GL_SCISSOR_TEST"/>
             <enum name="GL_COLOR_MATERIAL"/>
-            <enum name="GL_FOG"/>
-            <enum name="GL_FOG_INDEX"/>
+            <enum name="GL_NORMALIZE"/>
+            <enum name="GL_RESCALE_NORMAL"/>
+            <enum name="GL_VERTEX_ARRAY"/>
+            <enum name="GL_NORMAL_ARRAY"/>
+            <enum name="GL_COLOR_ARRAY"/>
+            <enum name="GL_TEXTURE_COORD_ARRAY"/>
+            <enum name="GL_MULTISAMPLE"/>
+            <enum name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
+            <enum name="GL_SAMPLE_ALPHA_TO_ONE"/>
+            <enum name="GL_SAMPLE_COVERAGE"/>
+            <enum name="GL_NO_ERROR"/>
+            <enum name="GL_INVALID_ENUM"/>
+            <enum name="GL_INVALID_VALUE"/>
+            <enum name="GL_INVALID_OPERATION"/>
+            <enum name="GL_STACK_OVERFLOW"/>
+            <enum name="GL_STACK_UNDERFLOW"/>
+            <enum name="GL_OUT_OF_MEMORY"/>
+            <enum name="GL_EXP"/>
+            <enum name="GL_EXP2"/>
             <enum name="GL_FOG_DENSITY"/>
             <enum name="GL_FOG_START"/>
             <enum name="GL_FOG_END"/>
             <enum name="GL_FOG_MODE"/>
             <enum name="GL_FOG_COLOR"/>
-            <enum name="GL_ACCUM_CLEAR_VALUE"/>
+            <enum name="GL_CW"/>
+            <enum name="GL_CCW"/>
+            <enum name="GL_CURRENT_COLOR"/>
+            <enum name="GL_CURRENT_NORMAL"/>
+            <enum name="GL_CURRENT_TEXTURE_COORDS"/>
+            <enum name="GL_POINT_SIZE"/>
+            <enum name="GL_POINT_SIZE_MIN"/>
+            <enum name="GL_POINT_SIZE_MAX"/>
+            <enum name="GL_POINT_FADE_THRESHOLD_SIZE"/>
+            <enum name="GL_POINT_DISTANCE_ATTENUATION"/>
+            <enum name="GL_SMOOTH_POINT_SIZE_RANGE"/>
+            <enum name="GL_LINE_WIDTH"/>
+            <enum name="GL_SMOOTH_LINE_WIDTH_RANGE"/>
+            <enum name="GL_ALIASED_POINT_SIZE_RANGE"/>
+            <enum name="GL_ALIASED_LINE_WIDTH_RANGE"/>
+            <enum name="GL_CULL_FACE_MODE"/>
+            <enum name="GL_FRONT_FACE"/>
+            <enum name="GL_SHADE_MODEL"/>
+            <enum name="GL_DEPTH_RANGE"/>
+            <enum name="GL_DEPTH_WRITEMASK"/>
+            <enum name="GL_DEPTH_CLEAR_VALUE"/>
+            <enum name="GL_DEPTH_FUNC"/>
+            <enum name="GL_STENCIL_CLEAR_VALUE"/>
+            <enum name="GL_STENCIL_FUNC"/>
+            <enum name="GL_STENCIL_VALUE_MASK"/>
+            <enum name="GL_STENCIL_FAIL"/>
+            <enum name="GL_STENCIL_PASS_DEPTH_FAIL"/>
+            <enum name="GL_STENCIL_PASS_DEPTH_PASS"/>
+            <enum name="GL_STENCIL_REF"/>
+            <enum name="GL_STENCIL_WRITEMASK"/>
             <enum name="GL_MATRIX_MODE"/>
-            <enum name="GL_NORMALIZE"/>
+            <enum name="GL_VIEWPORT"/>
             <enum name="GL_MODELVIEW_STACK_DEPTH"/>
             <enum name="GL_PROJECTION_STACK_DEPTH"/>
             <enum name="GL_TEXTURE_STACK_DEPTH"/>
             <enum name="GL_MODELVIEW_MATRIX"/>
             <enum name="GL_PROJECTION_MATRIX"/>
             <enum name="GL_TEXTURE_MATRIX"/>
-            <enum name="GL_ATTRIB_STACK_DEPTH"/>
-            <enum name="GL_CLIENT_ATTRIB_STACK_DEPTH"/>
-            <enum name="GL_ALPHA_TEST"/>
             <enum name="GL_ALPHA_TEST_FUNC"/>
             <enum name="GL_ALPHA_TEST_REF"/>
-            <enum name="GL_INDEX_LOGIC_OP"/>
-            <enum name="GL_LOGIC_OP"/>
-            <enum name="GL_AUX_BUFFERS"/>
-            <enum name="GL_INDEX_CLEAR_VALUE"/>
-            <enum name="GL_INDEX_WRITEMASK"/>
-            <enum name="GL_INDEX_MODE"/>
-            <enum name="GL_RGBA_MODE"/>
-            <enum name="GL_RENDER_MODE"/>
-            <enum name="GL_PERSPECTIVE_CORRECTION_HINT"/>
-            <enum name="GL_POINT_SMOOTH_HINT"/>
-            <enum name="GL_FOG_HINT"/>
-            <enum name="GL_TEXTURE_GEN_S"/>
-            <enum name="GL_TEXTURE_GEN_T"/>
-            <enum name="GL_TEXTURE_GEN_R"/>
-            <enum name="GL_TEXTURE_GEN_Q"/>
-            <enum name="GL_PIXEL_MAP_I_TO_I_SIZE"/>
-            <enum name="GL_PIXEL_MAP_S_TO_S_SIZE"/>
-            <enum name="GL_PIXEL_MAP_I_TO_R_SIZE"/>
-            <enum name="GL_PIXEL_MAP_I_TO_G_SIZE"/>
-            <enum name="GL_PIXEL_MAP_I_TO_B_SIZE"/>
-            <enum name="GL_PIXEL_MAP_I_TO_A_SIZE"/>
-            <enum name="GL_PIXEL_MAP_R_TO_R_SIZE"/>
-            <enum name="GL_PIXEL_MAP_G_TO_G_SIZE"/>
-            <enum name="GL_PIXEL_MAP_B_TO_B_SIZE"/>
-            <enum name="GL_PIXEL_MAP_A_TO_A_SIZE"/>
-            <enum name="GL_MAP_COLOR"/>
-            <enum name="GL_MAP_STENCIL"/>
-            <enum name="GL_INDEX_SHIFT"/>
-            <enum name="GL_INDEX_OFFSET"/>
-            <enum name="GL_RED_SCALE"/>
-            <enum name="GL_RED_BIAS"/>
-            <enum name="GL_ZOOM_X"/>
-            <enum name="GL_ZOOM_Y"/>
-            <enum name="GL_GREEN_SCALE"/>
-            <enum name="GL_GREEN_BIAS"/>
-            <enum name="GL_BLUE_SCALE"/>
-            <enum name="GL_BLUE_BIAS"/>
-            <enum name="GL_ALPHA_SCALE"/>
-            <enum name="GL_ALPHA_BIAS"/>
-            <enum name="GL_DEPTH_SCALE"/>
-            <enum name="GL_DEPTH_BIAS"/>
-            <enum name="GL_MAX_EVAL_ORDER"/>
+            <enum name="GL_BLEND_DST"/>
+            <enum name="GL_BLEND_SRC"/>
+            <enum name="GL_LOGIC_OP_MODE"/>
+            <enum name="GL_SCISSOR_BOX"/>
+            <enum name="GL_COLOR_CLEAR_VALUE"/>
+            <enum name="GL_COLOR_WRITEMASK"/>
             <enum name="GL_MAX_LIGHTS"/>
             <enum name="GL_MAX_CLIP_PLANES"/>
-            <enum name="GL_MAX_PIXEL_MAP_TABLE"/>
-            <enum name="GL_MAX_ATTRIB_STACK_DEPTH"/>
+            <enum name="GL_MAX_TEXTURE_SIZE"/>
             <enum name="GL_MAX_MODELVIEW_STACK_DEPTH"/>
-            <enum name="GL_MAX_NAME_STACK_DEPTH"/>
             <enum name="GL_MAX_PROJECTION_STACK_DEPTH"/>
             <enum name="GL_MAX_TEXTURE_STACK_DEPTH"/>
-            <enum name="GL_MAX_CLIENT_ATTRIB_STACK_DEPTH"/>
-            <enum name="GL_INDEX_BITS"/>
+            <enum name="GL_MAX_VIEWPORT_DIMS"/>
+            <enum name="GL_MAX_TEXTURE_UNITS"/>
+            <enum name="GL_SUBPIXEL_BITS"/>
             <enum name="GL_RED_BITS"/>
             <enum name="GL_GREEN_BITS"/>
             <enum name="GL_BLUE_BITS"/>
             <enum name="GL_ALPHA_BITS"/>
             <enum name="GL_DEPTH_BITS"/>
             <enum name="GL_STENCIL_BITS"/>
-            <enum name="GL_ACCUM_RED_BITS"/>
-            <enum name="GL_ACCUM_GREEN_BITS"/>
-            <enum name="GL_ACCUM_BLUE_BITS"/>
-            <enum name="GL_ACCUM_ALPHA_BITS"/>
-            <enum name="GL_NAME_STACK_DEPTH"/>
-            <enum name="GL_AUTO_NORMAL"/>
-            <enum name="GL_MAP1_COLOR_4"/>
-            <enum name="GL_MAP1_INDEX"/>
-            <enum name="GL_MAP1_NORMAL"/>
-            <enum name="GL_MAP1_TEXTURE_COORD_1"/>
-            <enum name="GL_MAP1_TEXTURE_COORD_2"/>
-            <enum name="GL_MAP1_TEXTURE_COORD_3"/>
-            <enum name="GL_MAP1_TEXTURE_COORD_4"/>
-            <enum name="GL_MAP1_VERTEX_3"/>
-            <enum name="GL_MAP1_VERTEX_4"/>
-            <enum name="GL_MAP2_COLOR_4"/>
-            <enum name="GL_MAP2_INDEX"/>
-            <enum name="GL_MAP2_NORMAL"/>
-            <enum name="GL_MAP2_TEXTURE_COORD_1"/>
-            <enum name="GL_MAP2_TEXTURE_COORD_2"/>
-            <enum name="GL_MAP2_TEXTURE_COORD_3"/>
-            <enum name="GL_MAP2_TEXTURE_COORD_4"/>
-            <enum name="GL_MAP2_VERTEX_3"/>
-            <enum name="GL_MAP2_VERTEX_4"/>
-            <enum name="GL_MAP1_GRID_DOMAIN"/>
-            <enum name="GL_MAP1_GRID_SEGMENTS"/>
-            <enum name="GL_MAP2_GRID_DOMAIN"/>
-            <enum name="GL_MAP2_GRID_SEGMENTS"/>
-            <enum name="GL_FEEDBACK_BUFFER_SIZE"/>
-            <enum name="GL_FEEDBACK_BUFFER_TYPE"/>
-            <enum name="GL_SELECTION_BUFFER_SIZE"/>
-            <enum name="GL_VERTEX_ARRAY"/>
-            <enum name="GL_NORMAL_ARRAY"/>
-            <enum name="GL_COLOR_ARRAY"/>
-            <enum name="GL_INDEX_ARRAY"/>
-            <enum name="GL_TEXTURE_COORD_ARRAY"/>
-            <enum name="GL_EDGE_FLAG_ARRAY"/>
+            <enum name="GL_POLYGON_OFFSET_UNITS"/>
+            <enum name="GL_POLYGON_OFFSET_FILL"/>
+            <enum name="GL_POLYGON_OFFSET_FACTOR"/>
+            <enum name="GL_TEXTURE_BINDING_2D"/>
             <enum name="GL_VERTEX_ARRAY_SIZE"/>
             <enum name="GL_VERTEX_ARRAY_TYPE"/>
             <enum name="GL_VERTEX_ARRAY_STRIDE"/>
@@ -29339,18 +38401,29 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_COLOR_ARRAY_SIZE"/>
             <enum name="GL_COLOR_ARRAY_TYPE"/>
             <enum name="GL_COLOR_ARRAY_STRIDE"/>
-            <enum name="GL_INDEX_ARRAY_TYPE"/>
-            <enum name="GL_INDEX_ARRAY_STRIDE"/>
             <enum name="GL_TEXTURE_COORD_ARRAY_SIZE"/>
             <enum name="GL_TEXTURE_COORD_ARRAY_TYPE"/>
             <enum name="GL_TEXTURE_COORD_ARRAY_STRIDE"/>
-            <enum name="GL_EDGE_FLAG_ARRAY_STRIDE"/>
-            <enum name="GL_TEXTURE_COMPONENTS"/>
-            <enum name="GL_TEXTURE_BORDER"/>
-            <enum name="GL_TEXTURE_LUMINANCE_SIZE"/>
-            <enum name="GL_TEXTURE_INTENSITY_SIZE"/>
-            <enum name="GL_TEXTURE_PRIORITY"/>
-            <enum name="GL_TEXTURE_RESIDENT"/>
+            <enum name="GL_VERTEX_ARRAY_POINTER"/>
+            <enum name="GL_NORMAL_ARRAY_POINTER"/>
+            <enum name="GL_COLOR_ARRAY_POINTER"/>
+            <enum name="GL_TEXTURE_COORD_ARRAY_POINTER"/>
+            <enum name="GL_SAMPLE_BUFFERS"/>
+            <enum name="GL_SAMPLES"/>
+            <enum name="GL_SAMPLE_COVERAGE_VALUE"/>
+            <enum name="GL_SAMPLE_COVERAGE_INVERT"/>
+            <enum name="GL_NUM_COMPRESSED_TEXTURE_FORMATS"/>
+            <enum name="GL_COMPRESSED_TEXTURE_FORMATS"/>
+            <enum name="GL_DONT_CARE"/>
+            <enum name="GL_FASTEST"/>
+            <enum name="GL_NICEST"/>
+            <enum name="GL_PERSPECTIVE_CORRECTION_HINT"/>
+            <enum name="GL_POINT_SMOOTH_HINT"/>
+            <enum name="GL_LINE_SMOOTH_HINT"/>
+            <enum name="GL_FOG_HINT"/>
+            <enum name="GL_GENERATE_MIPMAP_HINT"/>
+            <enum name="GL_LIGHT_MODEL_AMBIENT"/>
+            <enum name="GL_LIGHT_MODEL_TWO_SIDE"/>
             <enum name="GL_AMBIENT"/>
             <enum name="GL_DIFFUSE"/>
             <enum name="GL_SPECULAR"/>
@@ -29361,1840 +38434,1817 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_CONSTANT_ATTENUATION"/>
             <enum name="GL_LINEAR_ATTENUATION"/>
             <enum name="GL_QUADRATIC_ATTENUATION"/>
-            <enum name="GL_COMPILE"/>
-            <enum name="GL_COMPILE_AND_EXECUTE"/>
-            <enum name="GL_2_BYTES"/>
-            <enum name="GL_3_BYTES"/>
-            <enum name="GL_4_BYTES"/>
+            <enum name="GL_BYTE"/>
+            <enum name="GL_UNSIGNED_BYTE"/>
+            <enum name="GL_SHORT"/>
+            <enum name="GL_UNSIGNED_SHORT"/>
+            <enum name="GL_FLOAT"/>
+            <enum name="GL_FIXED"/>
+            <enum name="GL_CLEAR"/>
+            <enum name="GL_AND"/>
+            <enum name="GL_AND_REVERSE"/>
+            <enum name="GL_COPY"/>
+            <enum name="GL_AND_INVERTED"/>
+            <enum name="GL_NOOP"/>
+            <enum name="GL_XOR"/>
+            <enum name="GL_OR"/>
+            <enum name="GL_NOR"/>
+            <enum name="GL_EQUIV"/>
+            <enum name="GL_INVERT"/>
+            <enum name="GL_OR_REVERSE"/>
+            <enum name="GL_COPY_INVERTED"/>
+            <enum name="GL_OR_INVERTED"/>
+            <enum name="GL_NAND"/>
+            <enum name="GL_SET"/>
             <enum name="GL_EMISSION"/>
             <enum name="GL_SHININESS"/>
             <enum name="GL_AMBIENT_AND_DIFFUSE"/>
-            <enum name="GL_COLOR_INDEXES"/>
             <enum name="GL_MODELVIEW"/>
             <enum name="GL_PROJECTION"/>
-            <enum name="GL_COLOR_INDEX"/>
+            <enum name="GL_TEXTURE"/>
+            <enum name="GL_ALPHA"/>
+            <enum name="GL_RGB"/>
+            <enum name="GL_RGBA"/>
             <enum name="GL_LUMINANCE"/>
             <enum name="GL_LUMINANCE_ALPHA"/>
-            <enum name="GL_BITMAP"/>
-            <enum name="GL_RENDER"/>
-            <enum name="GL_FEEDBACK"/>
-            <enum name="GL_SELECT"/>
+            <enum name="GL_UNPACK_ALIGNMENT"/>
+            <enum name="GL_PACK_ALIGNMENT"/>
+            <enum name="GL_UNSIGNED_SHORT_4_4_4_4"/>
+            <enum name="GL_UNSIGNED_SHORT_5_5_5_1"/>
+            <enum name="GL_UNSIGNED_SHORT_5_6_5"/>
             <enum name="GL_FLAT"/>
             <enum name="GL_SMOOTH"/>
-            <enum name="GL_S"/>
-            <enum name="GL_T"/>
-            <enum name="GL_R"/>
-            <enum name="GL_Q"/>
+            <enum name="GL_KEEP"/>
+            <enum name="GL_REPLACE"/>
+            <enum name="GL_INCR"/>
+            <enum name="GL_DECR"/>
+            <enum name="GL_VENDOR"/>
+            <enum name="GL_RENDERER"/>
+            <enum name="GL_VERSION"/>
+            <enum name="GL_EXTENSIONS"/>
             <enum name="GL_MODULATE"/>
             <enum name="GL_DECAL"/>
+            <enum name="GL_ADD"/>
             <enum name="GL_TEXTURE_ENV_MODE"/>
             <enum name="GL_TEXTURE_ENV_COLOR"/>
             <enum name="GL_TEXTURE_ENV"/>
-            <enum name="GL_EYE_LINEAR"/>
-            <enum name="GL_OBJECT_LINEAR"/>
-            <enum name="GL_SPHERE_MAP"/>
-            <enum name="GL_TEXTURE_GEN_MODE"/>
-            <enum name="GL_OBJECT_PLANE"/>
-            <enum name="GL_EYE_PLANE"/>
-            <enum name="GL_CLAMP"/>
-            <enum name="GL_ALPHA4"/>
-            <enum name="GL_ALPHA8"/>
-            <enum name="GL_ALPHA12"/>
-            <enum name="GL_ALPHA16"/>
-            <enum name="GL_LUMINANCE4"/>
-            <enum name="GL_LUMINANCE8"/>
-            <enum name="GL_LUMINANCE12"/>
-            <enum name="GL_LUMINANCE16"/>
-            <enum name="GL_LUMINANCE4_ALPHA4"/>
-            <enum name="GL_LUMINANCE6_ALPHA2"/>
-            <enum name="GL_LUMINANCE8_ALPHA8"/>
-            <enum name="GL_LUMINANCE12_ALPHA4"/>
-            <enum name="GL_LUMINANCE12_ALPHA12"/>
-            <enum name="GL_LUMINANCE16_ALPHA16"/>
-            <enum name="GL_INTENSITY"/>
-            <enum name="GL_INTENSITY4"/>
-            <enum name="GL_INTENSITY8"/>
-            <enum name="GL_INTENSITY12"/>
-            <enum name="GL_INTENSITY16"/>
-            <enum name="GL_V2F"/>
-            <enum name="GL_V3F"/>
-            <enum name="GL_C4UB_V2F"/>
-            <enum name="GL_C4UB_V3F"/>
-            <enum name="GL_C3F_V3F"/>
-            <enum name="GL_N3F_V3F"/>
-            <enum name="GL_C4F_N3F_V3F"/>
-            <enum name="GL_T2F_V3F"/>
-            <enum name="GL_T4F_V4F"/>
-            <enum name="GL_T2F_C4UB_V3F"/>
-            <enum name="GL_T2F_C3F_V3F"/>
-            <enum name="GL_T2F_N3F_V3F"/>
-            <enum name="GL_T2F_C4F_N3F_V3F"/>
-            <enum name="GL_T4F_C4F_N3F_V4F"/>
-            <enum name="GL_CLIP_PLANE0"/>
-            <enum name="GL_CLIP_PLANE1"/>
-            <enum name="GL_CLIP_PLANE2"/>
-            <enum name="GL_CLIP_PLANE3"/>
-            <enum name="GL_CLIP_PLANE4"/>
-            <enum name="GL_CLIP_PLANE5"/>
-            <enum name="GL_LIGHT0"/>
-            <enum name="GL_LIGHT1"/>
-            <enum name="GL_LIGHT2"/>
-            <enum name="GL_LIGHT3"/>
-            <enum name="GL_LIGHT4"/>
-            <enum name="GL_LIGHT5"/>
-            <enum name="GL_LIGHT6"/>
-            <enum name="GL_LIGHT7"/>
-            <command name="glArrayElement"/>
-            <command name="glColorPointer"/>
-            <command name="glDisableClientState"/>
-            <command name="glEdgeFlagPointer"/>
-            <command name="glEnableClientState"/>
-            <command name="glIndexPointer"/>
-            <command name="glGetPointerv"/>
-            <command name="glInterleavedArrays"/>
-            <command name="glNormalPointer"/>
-            <command name="glTexCoordPointer"/>
-            <command name="glVertexPointer"/>
-            <command name="glAreTexturesResident"/>
-            <command name="glPrioritizeTextures"/>
-            <command name="glIndexub"/>
-            <command name="glIndexubv"/>
-            <command name="glPopClientAttrib"/>
-            <command name="glPushClientAttrib"/>
-        </remove>
-        <remove profile="core" comment="Compatibility-only GL 1.2 features removed from GL 3.2">
-            <enum name="GL_RESCALE_NORMAL"/>
-            <enum name="GL_LIGHT_MODEL_COLOR_CONTROL"/>
-            <enum name="GL_SINGLE_COLOR"/>
-            <enum name="GL_SEPARATE_SPECULAR_COLOR"/>
-            <enum name="GL_ALIASED_POINT_SIZE_RANGE"/>
-        </remove>
-        <remove profile="core" comment="Compatibility-only GL 1.3 features removed from GL 3.2">
-            <enum name="GL_CLIENT_ACTIVE_TEXTURE"/>
-            <enum name="GL_MAX_TEXTURE_UNITS"/>
-            <enum name="GL_TRANSPOSE_MODELVIEW_MATRIX"/>
-            <enum name="GL_TRANSPOSE_PROJECTION_MATRIX"/>
-            <enum name="GL_TRANSPOSE_TEXTURE_MATRIX"/>
-            <enum name="GL_TRANSPOSE_COLOR_MATRIX"/>
-            <enum name="GL_MULTISAMPLE_BIT"/>
-            <enum name="GL_NORMAL_MAP"/>
-            <enum name="GL_REFLECTION_MAP"/>
-            <enum name="GL_COMPRESSED_ALPHA"/>
-            <enum name="GL_COMPRESSED_LUMINANCE"/>
-            <enum name="GL_COMPRESSED_LUMINANCE_ALPHA"/>
-            <enum name="GL_COMPRESSED_INTENSITY"/>
-            <enum name="GL_COMBINE"/>
-            <enum name="GL_COMBINE_RGB"/>
-            <enum name="GL_COMBINE_ALPHA"/>
-            <enum name="GL_SOURCE0_RGB"/>
-            <enum name="GL_SOURCE1_RGB"/>
-            <enum name="GL_SOURCE2_RGB"/>
-            <enum name="GL_SOURCE0_ALPHA"/>
-            <enum name="GL_SOURCE1_ALPHA"/>
-            <enum name="GL_SOURCE2_ALPHA"/>
-            <enum name="GL_OPERAND0_RGB"/>
-            <enum name="GL_OPERAND1_RGB"/>
-            <enum name="GL_OPERAND2_RGB"/>
-            <enum name="GL_OPERAND0_ALPHA"/>
-            <enum name="GL_OPERAND1_ALPHA"/>
-            <enum name="GL_OPERAND2_ALPHA"/>
-            <enum name="GL_RGB_SCALE"/>
-            <enum name="GL_ADD_SIGNED"/>
-            <enum name="GL_INTERPOLATE"/>
-            <enum name="GL_SUBTRACT"/>
-            <enum name="GL_CONSTANT"/>
-            <enum name="GL_PRIMARY_COLOR"/>
-            <enum name="GL_PREVIOUS"/>
-            <enum name="GL_DOT3_RGB"/>
-            <enum name="GL_DOT3_RGBA"/>
-            <command name="glClientActiveTexture"/>
-            <command name="glMultiTexCoord1d"/>
-            <command name="glMultiTexCoord1dv"/>
-            <command name="glMultiTexCoord1f"/>
-            <command name="glMultiTexCoord1fv"/>
-            <command name="glMultiTexCoord1i"/>
-            <command name="glMultiTexCoord1iv"/>
-            <command name="glMultiTexCoord1s"/>
-            <command name="glMultiTexCoord1sv"/>
-            <command name="glMultiTexCoord2d"/>
-            <command name="glMultiTexCoord2dv"/>
-            <command name="glMultiTexCoord2f"/>
-            <command name="glMultiTexCoord2fv"/>
-            <command name="glMultiTexCoord2i"/>
-            <command name="glMultiTexCoord2iv"/>
-            <command name="glMultiTexCoord2s"/>
-            <command name="glMultiTexCoord2sv"/>
-            <command name="glMultiTexCoord3d"/>
-            <command name="glMultiTexCoord3dv"/>
-            <command name="glMultiTexCoord3f"/>
-            <command name="glMultiTexCoord3fv"/>
-            <command name="glMultiTexCoord3i"/>
-            <command name="glMultiTexCoord3iv"/>
-            <command name="glMultiTexCoord3s"/>
-            <command name="glMultiTexCoord3sv"/>
-            <command name="glMultiTexCoord4d"/>
-            <command name="glMultiTexCoord4dv"/>
-            <command name="glMultiTexCoord4f"/>
-            <command name="glMultiTexCoord4fv"/>
-            <command name="glMultiTexCoord4i"/>
-            <command name="glMultiTexCoord4iv"/>
-            <command name="glMultiTexCoord4s"/>
-            <command name="glMultiTexCoord4sv"/>
-            <command name="glLoadTransposeMatrixf"/>
-            <command name="glLoadTransposeMatrixd"/>
-            <command name="glMultTransposeMatrixf"/>
-            <command name="glMultTransposeMatrixd"/>
-        </remove>
-        <remove profile="core" comment="Compatibility-only GL 1.4 features removed from GL 3.2">
-            <enum name="GL_POINT_SIZE_MIN"/>
-            <enum name="GL_POINT_SIZE_MAX"/>
-            <enum name="GL_POINT_DISTANCE_ATTENUATION"/>
+            <enum name="GL_NEAREST"/>
+            <enum name="GL_LINEAR"/>
+            <enum name="GL_NEAREST_MIPMAP_NEAREST"/>
+            <enum name="GL_LINEAR_MIPMAP_NEAREST"/>
+            <enum name="GL_NEAREST_MIPMAP_LINEAR"/>
+            <enum name="GL_LINEAR_MIPMAP_LINEAR"/>
+            <enum name="GL_TEXTURE_MAG_FILTER"/>
+            <enum name="GL_TEXTURE_MIN_FILTER"/>
+            <enum name="GL_TEXTURE_WRAP_S"/>
+            <enum name="GL_TEXTURE_WRAP_T"/>
             <enum name="GL_GENERATE_MIPMAP"/>
-            <enum name="GL_GENERATE_MIPMAP_HINT"/>
-            <enum name="GL_FOG_COORDINATE_SOURCE"/>
-            <enum name="GL_FOG_COORDINATE"/>
-            <enum name="GL_FRAGMENT_DEPTH"/>
-            <enum name="GL_CURRENT_FOG_COORDINATE"/>
-            <enum name="GL_FOG_COORDINATE_ARRAY_TYPE"/>
-            <enum name="GL_FOG_COORDINATE_ARRAY_STRIDE"/>
-            <enum name="GL_FOG_COORDINATE_ARRAY_POINTER"/>
-            <enum name="GL_FOG_COORDINATE_ARRAY"/>
-            <enum name="GL_COLOR_SUM"/>
-            <enum name="GL_CURRENT_SECONDARY_COLOR"/>
-            <enum name="GL_SECONDARY_COLOR_ARRAY_SIZE"/>
-            <enum name="GL_SECONDARY_COLOR_ARRAY_TYPE"/>
-            <enum name="GL_SECONDARY_COLOR_ARRAY_STRIDE"/>
-            <enum name="GL_SECONDARY_COLOR_ARRAY_POINTER"/>
-            <enum name="GL_SECONDARY_COLOR_ARRAY"/>
-            <enum name="GL_TEXTURE_FILTER_CONTROL"/>
-            <enum name="GL_DEPTH_TEXTURE_MODE"/>
-            <enum name="GL_COMPARE_R_TO_TEXTURE"/>
-            <command name="glFogCoordf"/>
-            <command name="glFogCoordfv"/>
-            <command name="glFogCoordd"/>
-            <command name="glFogCoorddv"/>
-            <command name="glFogCoordPointer"/>
-            <command name="glSecondaryColor3b"/>
-            <command name="glSecondaryColor3bv"/>
-            <command name="glSecondaryColor3d"/>
-            <command name="glSecondaryColor3dv"/>
-            <command name="glSecondaryColor3f"/>
-            <command name="glSecondaryColor3fv"/>
-            <command name="glSecondaryColor3i"/>
-            <command name="glSecondaryColor3iv"/>
-            <command name="glSecondaryColor3s"/>
-            <command name="glSecondaryColor3sv"/>
-            <command name="glSecondaryColor3ub"/>
-            <command name="glSecondaryColor3ubv"/>
-            <command name="glSecondaryColor3ui"/>
-            <command name="glSecondaryColor3uiv"/>
-            <command name="glSecondaryColor3us"/>
-            <command name="glSecondaryColor3usv"/>
-            <command name="glSecondaryColorPointer"/>
-            <command name="glWindowPos2d"/>
-            <command name="glWindowPos2dv"/>
-            <command name="glWindowPos2f"/>
-            <command name="glWindowPos2fv"/>
-            <command name="glWindowPos2i"/>
-            <command name="glWindowPos2iv"/>
-            <command name="glWindowPos2s"/>
-            <command name="glWindowPos2sv"/>
-            <command name="glWindowPos3d"/>
-            <command name="glWindowPos3dv"/>
-            <command name="glWindowPos3f"/>
-            <command name="glWindowPos3fv"/>
-            <command name="glWindowPos3i"/>
-            <command name="glWindowPos3iv"/>
-            <command name="glWindowPos3s"/>
-            <command name="glWindowPos3sv"/>
-        </remove>
-        <remove profile="core" comment="Compatibility-only GL 1.5 features removed from GL 3.2">
+            <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"/>
+            <enum name="GL_ACTIVE_TEXTURE"/>
+            <enum name="GL_CLIENT_ACTIVE_TEXTURE"/>
+            <enum name="GL_REPEAT"/>
+            <enum name="GL_CLAMP_TO_EDGE"/>
+            <enum name="GL_LIGHT0"/>
+            <enum name="GL_LIGHT1"/>
+            <enum name="GL_LIGHT2"/>
+            <enum name="GL_LIGHT3"/>
+            <enum name="GL_LIGHT4"/>
+            <enum name="GL_LIGHT5"/>
+            <enum name="GL_LIGHT6"/>
+            <enum name="GL_LIGHT7"/>
+            <enum name="GL_ARRAY_BUFFER"/>
+            <enum name="GL_ELEMENT_ARRAY_BUFFER"/>
+            <enum name="GL_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_ELEMENT_ARRAY_BUFFER_BINDING"/>
             <enum name="GL_VERTEX_ARRAY_BUFFER_BINDING"/>
             <enum name="GL_NORMAL_ARRAY_BUFFER_BINDING"/>
             <enum name="GL_COLOR_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_INDEX_ARRAY_BUFFER_BINDING"/>
             <enum name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_EDGE_FLAG_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_WEIGHT_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_FOG_COORD_SRC"/>
-            <enum name="GL_FOG_COORD"/>
-            <enum name="GL_CURRENT_FOG_COORD"/>
-            <enum name="GL_FOG_COORD_ARRAY_TYPE"/>
-            <enum name="GL_FOG_COORD_ARRAY_STRIDE"/>
-            <enum name="GL_FOG_COORD_ARRAY_POINTER"/>
-            <enum name="GL_FOG_COORD_ARRAY"/>
-            <enum name="GL_FOG_COORD_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_STATIC_DRAW"/>
+            <enum name="GL_DYNAMIC_DRAW"/>
+            <enum name="GL_BUFFER_SIZE"/>
+            <enum name="GL_BUFFER_USAGE"/>
+            <enum name="GL_SUBTRACT"/>
+            <enum name="GL_COMBINE"/>
+            <enum name="GL_COMBINE_RGB"/>
+            <enum name="GL_COMBINE_ALPHA"/>
+            <enum name="GL_RGB_SCALE"/>
+            <enum name="GL_ADD_SIGNED"/>
+            <enum name="GL_INTERPOLATE"/>
+            <enum name="GL_CONSTANT"/>
+            <enum name="GL_PRIMARY_COLOR"/>
+            <enum name="GL_PREVIOUS"/>
+            <enum name="GL_OPERAND0_RGB"/>
+            <enum name="GL_OPERAND1_RGB"/>
+            <enum name="GL_OPERAND2_RGB"/>
+            <enum name="GL_OPERAND0_ALPHA"/>
+            <enum name="GL_OPERAND1_ALPHA"/>
+            <enum name="GL_OPERAND2_ALPHA"/>
+            <enum name="GL_ALPHA_SCALE"/>
             <enum name="GL_SRC0_RGB"/>
             <enum name="GL_SRC1_RGB"/>
             <enum name="GL_SRC2_RGB"/>
             <enum name="GL_SRC0_ALPHA"/>
+            <enum name="GL_SRC1_ALPHA"/>
             <enum name="GL_SRC2_ALPHA"/>
-        </remove>
-        <remove profile="core" comment="Compatibility-only GL 2.0 features removed from GL 3.2">
-            <enum name="GL_VERTEX_PROGRAM_TWO_SIDE"/>
-            <enum name="GL_POINT_SPRITE"/>
-            <enum name="GL_COORD_REPLACE"/>
-            <enum name="GL_MAX_TEXTURE_COORDS"/>
-        </remove>
-        <remove profile="core" comment="Compatibility-only GL 2.1 features removed from GL 3.2">
-            <enum name="GL_CURRENT_RASTER_SECONDARY_COLOR"/>
-            <enum name="GL_SLUMINANCE_ALPHA"/>
-            <enum name="GL_SLUMINANCE8_ALPHA8"/>
-            <enum name="GL_SLUMINANCE"/>
-            <enum name="GL_SLUMINANCE8"/>
-            <enum name="GL_COMPRESSED_SLUMINANCE"/>
-            <enum name="GL_COMPRESSED_SLUMINANCE_ALPHA"/>
-        </remove>
-        <remove profile="core" comment="Compatibility-only GL 3.0 features removed from GL 3.2">
-            <enum name="GL_CLAMP_VERTEX_COLOR"/>
-            <enum name="GL_CLAMP_FRAGMENT_COLOR"/>
-            <enum name="GL_ALPHA_INTEGER"/>
-            <enum name="GL_TEXTURE_LUMINANCE_TYPE"/>
-            <enum name="GL_TEXTURE_INTENSITY_TYPE"/>
-        </remove>
-        <!-- Deprecated (not removed) in OpenGL 3.2 core;
-             deprecate tag not defined/supported yet
-          <deprecate profile="core">
-            <enum name="GL_MAX_VARYING_FLOATS"/>
-            <enum name="GL_MAX_VARYING_COMPONENTS"/>
-          </deprecate>
-        -->
-    </feature>
-    <feature api="gl" name="GL_VERSION_3_3" number="3.3">
-        <require>
-            <enum name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR"/>
-        </require>
-        <require comment="Reuse ARB_blend_func_extended">
-            <enum name="GL_SRC1_COLOR"/>
-            <enum name="GL_ONE_MINUS_SRC1_COLOR"/>
-            <enum name="GL_ONE_MINUS_SRC1_ALPHA"/>
-            <enum name="GL_MAX_DUAL_SOURCE_DRAW_BUFFERS"/>
-            <command name="glBindFragDataLocationIndexed"/>
-            <command name="glGetFragDataIndex"/>
-        </require>
-        <require comment="Reuse ARB_explicit_attrib_location (none)">
-        </require>
-        <require comment="Reuse ARB_occlusion_query2">
-            <enum name="GL_ANY_SAMPLES_PASSED"/>
-        </require>
-        <require comment="Reuse ARB_sampler_objects">
-            <enum name="GL_SAMPLER_BINDING"/>
-            <command name="glGenSamplers"/>
-            <command name="glDeleteSamplers"/>
-            <command name="glIsSampler"/>
-            <command name="glBindSampler"/>
-            <command name="glSamplerParameteri"/>
-            <command name="glSamplerParameteriv"/>
-            <command name="glSamplerParameterf"/>
-            <command name="glSamplerParameterfv"/>
-            <command name="glSamplerParameterIiv"/>
-            <command name="glSamplerParameterIuiv"/>
-            <command name="glGetSamplerParameteriv"/>
-            <command name="glGetSamplerParameterIiv"/>
-            <command name="glGetSamplerParameterfv"/>
-            <command name="glGetSamplerParameterIuiv"/>
-        </require>
-        <require comment="Reuse ARB_shader_bit_encoding (none)">
-        </require>
-        <require comment="Reuse ARB_texture_rgb10_a2ui">
-            <enum name="GL_RGB10_A2UI"/>
-        </require>
-        <require comment="Reuse ARB_texture_swizzle">
-            <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"/>
-        </require>
-        <require comment="Reuse ARB_timer_query">
-            <enum name="GL_TIME_ELAPSED"/>
-            <enum name="GL_TIMESTAMP"/>
-            <command name="glQueryCounter"/>
-            <command name="glGetQueryObjecti64v"/>
-            <command name="glGetQueryObjectui64v"/>
-        </require>
-        <require comment="Reuse ARB_vertex_type_2_10_10_10_rev">
-            <enum name="GL_INT_2_10_10_10_REV"/>
-            <command name="glVertexAttribDivisor"/>
-            <command name="glVertexAttribP1ui"/>
-            <command name="glVertexAttribP1uiv"/>
-            <command name="glVertexAttribP2ui"/>
-            <command name="glVertexAttribP2uiv"/>
-            <command name="glVertexAttribP3ui"/>
-            <command name="glVertexAttribP3uiv"/>
-            <command name="glVertexAttribP4ui"/>
-            <command name="glVertexAttribP4uiv"/>
+            <enum name="GL_DOT3_RGB"/>
+            <enum name="GL_DOT3_RGBA"/>
         </require>
-        <require profile="compatibility" comment="Reuse ARB_vertex_type_2_10_10_10_rev compatibility profile">
-            <command name="glVertexP2ui"/>
-            <command name="glVertexP2uiv"/>
-            <command name="glVertexP3ui"/>
-            <command name="glVertexP3uiv"/>
-            <command name="glVertexP4ui"/>
-            <command name="glVertexP4uiv"/>
-            <command name="glTexCoordP1ui"/>
-            <command name="glTexCoordP1uiv"/>
-            <command name="glTexCoordP2ui"/>
-            <command name="glTexCoordP2uiv"/>
-            <command name="glTexCoordP3ui"/>
-            <command name="glTexCoordP3uiv"/>
-            <command name="glTexCoordP4ui"/>
-            <command name="glTexCoordP4uiv"/>
-            <command name="glMultiTexCoordP1ui"/>
-            <command name="glMultiTexCoordP1uiv"/>
-            <command name="glMultiTexCoordP2ui"/>
-            <command name="glMultiTexCoordP2uiv"/>
-            <command name="glMultiTexCoordP3ui"/>
-            <command name="glMultiTexCoordP3uiv"/>
-            <command name="glMultiTexCoordP4ui"/>
-            <command name="glMultiTexCoordP4uiv"/>
-            <command name="glNormalP3ui"/>
-            <command name="glNormalP3uiv"/>
-            <command name="glColorP3ui"/>
-            <command name="glColorP3uiv"/>
-            <command name="glColorP4ui"/>
-            <command name="glColorP4uiv"/>
-            <command name="glSecondaryColorP3ui"/>
-            <command name="glSecondaryColorP3uiv"/>
+        <require profile="common">
+            <command name="glAlphaFunc"/>
+            <command name="glClearColor"/>
+            <command name="glClearDepthf"/>
+            <command name="glClipPlanef"/>
+            <command name="glColor4f"/>
+            <command name="glDepthRangef"/>
+            <command name="glFogf"/>
+            <command name="glFogfv"/>
+            <command name="glFrustumf"/>
+            <command name="glGetClipPlanef"/>
+            <command name="glGetFloatv"/>
+            <command name="glGetLightfv"/>
+            <command name="glGetMaterialfv"/>
+            <command name="glGetTexEnvfv"/>
+            <command name="glGetTexParameterfv"/>
+            <command name="glLightModelf"/>
+            <command name="glLightModelfv"/>
+            <command name="glLightf"/>
+            <command name="glLightfv"/>
+            <command name="glLineWidth"/>
+            <command name="glLoadMatrixf"/>
+            <command name="glMaterialf"/>
+            <command name="glMaterialfv"/>
+            <command name="glMultMatrixf"/>
+            <command name="glMultiTexCoord4f"/>
+            <command name="glNormal3f"/>
+            <command name="glOrthof"/>
+            <command name="glPointParameterf"/>
+            <command name="glPointParameterfv"/>
+            <command name="glPointSize"/>
+            <command name="glPolygonOffset"/>
+            <command name="glRotatef"/>
+            <command name="glScalef"/>
+            <command name="glTexEnvf"/>
+            <command name="glTexEnvfv"/>
+            <command name="glTexParameterf"/>
+            <command name="glTexParameterfv"/>
+            <command name="glTranslatef"/>
         </require>
-    </feature>
-    <feature api="gl" name="GL_VERSION_4_0" number="4.0">
         <require>
-            <enum name="GL_SAMPLE_SHADING"/>
-            <enum name="GL_MIN_SAMPLE_SHADING_VALUE"/>
-            <enum name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET"/>
-            <enum name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET"/>
-            <enum name="GL_TEXTURE_CUBE_MAP_ARRAY"/>
-            <enum name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY"/>
-            <enum name="GL_PROXY_TEXTURE_CUBE_MAP_ARRAY"/>
-            <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"/>
-            <command name="glMinSampleShading"/>
-            <command name="glBlendEquationi"/>
-            <command name="glBlendEquationSeparatei"/>
-            <command name="glBlendFunci"/>
-            <command name="glBlendFuncSeparatei"/>
-        </require>
-        <require comment="Reuse ARB_draw_buffers_blend (none)">
-        </require>
-        <require comment="Reuse ARB_draw_indirect">
-            <enum name="GL_DRAW_INDIRECT_BUFFER"/>
-            <enum name="GL_DRAW_INDIRECT_BUFFER_BINDING"/>
-            <command name="glDrawArraysIndirect"/>
-            <command name="glDrawElementsIndirect"/>
-        </require>
-        <require comment="Reuse ARB_gpu_shader5">
-            <enum name="GL_GEOMETRY_SHADER_INVOCATIONS"/>
-            <enum name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS"/>
-            <enum name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET"/>
-            <enum name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET"/>
-            <enum name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS"/>
-            <enum name="GL_MAX_VERTEX_STREAMS"/>
-        </require>
-        <require comment="Reuse ARB_gpu_shader_fp64">
-            <enum name="GL_DOUBLE_VEC2"/>
-            <enum name="GL_DOUBLE_VEC3"/>
-            <enum name="GL_DOUBLE_VEC4"/>
-            <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"/>
-            <command name="glUniform1d"/>
-            <command name="glUniform2d"/>
-            <command name="glUniform3d"/>
-            <command name="glUniform4d"/>
-            <command name="glUniform1dv"/>
-            <command name="glUniform2dv"/>
-            <command name="glUniform3dv"/>
-            <command name="glUniform4dv"/>
-            <command name="glUniformMatrix2dv"/>
-            <command name="glUniformMatrix3dv"/>
-            <command name="glUniformMatrix4dv"/>
-            <command name="glUniformMatrix2x3dv"/>
-            <command name="glUniformMatrix2x4dv"/>
-            <command name="glUniformMatrix3x2dv"/>
-            <command name="glUniformMatrix3x4dv"/>
-            <command name="glUniformMatrix4x2dv"/>
-            <command name="glUniformMatrix4x3dv"/>
-            <command name="glGetUniformdv"/>
-        </require>
-        <require comment="Reuse ARB_shader_subroutine">
-            <enum name="GL_ACTIVE_SUBROUTINES"/>
-            <enum name="GL_ACTIVE_SUBROUTINE_UNIFORMS"/>
-            <enum name="GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS"/>
-            <enum name="GL_ACTIVE_SUBROUTINE_MAX_LENGTH"/>
-            <enum name="GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH"/>
-            <enum name="GL_MAX_SUBROUTINES"/>
-            <enum name="GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS"/>
-            <enum name="GL_NUM_COMPATIBLE_SUBROUTINES"/>
-            <enum name="GL_COMPATIBLE_SUBROUTINES"/>
-            <command name="glGetSubroutineUniformLocation"/>
-            <command name="glGetSubroutineIndex"/>
-            <command name="glGetActiveSubroutineUniformiv"/>
-            <command name="glGetActiveSubroutineUniformName"/>
-            <command name="glGetActiveSubroutineName"/>
-            <command name="glUniformSubroutinesuiv"/>
-            <command name="glGetUniformSubroutineuiv"/>
-            <command name="glGetProgramStageiv"/>
-        </require>
-        <require comment="Reuse ARB_tessellation_shader">
-            <enum name="GL_PATCHES"/>
-            <enum name="GL_PATCH_VERTICES"/>
-            <enum name="GL_PATCH_DEFAULT_INNER_LEVEL"/>
-            <enum name="GL_PATCH_DEFAULT_OUTER_LEVEL"/>
-            <enum name="GL_TESS_CONTROL_OUTPUT_VERTICES"/>
-            <enum name="GL_TESS_GEN_MODE"/>
-            <enum name="GL_TESS_GEN_SPACING"/>
-            <enum name="GL_TESS_GEN_VERTEX_ORDER"/>
-            <enum name="GL_TESS_GEN_POINT_MODE"/>
-            <enum name="GL_ISOLINES"/>
-            <enum name="GL_QUADS"/>
-            <enum name="GL_FRACTIONAL_ODD"/>
-            <enum name="GL_FRACTIONAL_EVEN"/>
-            <enum name="GL_MAX_PATCH_VERTICES"/>
-            <enum name="GL_MAX_TESS_GEN_LEVEL"/>
-            <enum name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS"/>
-            <enum name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
-            <enum name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS"/>
-            <enum name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS"/>
-            <enum name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS"/>
-            <enum name="GL_MAX_TESS_PATCH_COMPONENTS"/>
-            <enum name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS"/>
-            <enum name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS"/>
-            <enum name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS"/>
-            <enum name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS"/>
-            <enum name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS"/>
-            <enum name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS"/>
-            <enum name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS"/>
-            <enum name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
-            <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER"/>
-            <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
-            <enum name="GL_TESS_EVALUATION_SHADER"/>
-            <enum name="GL_TESS_CONTROL_SHADER"/>
-            <command name="glPatchParameteri"/>
-            <command name="glPatchParameterfv"/>
-        </require>
-        <require comment="Reuse ARB_texture_buffer_object_rgb32 (none)">
-        </require>
-        <require comment="Reuse ARB_texture_cube_map_array (none)">
-        </require>
-        <require comment="Reuse ARB_texture_gather (none)">
-        </require>
-        <require comment="Reuse ARB_texture_query_lod (none)">
+            <command name="glActiveTexture"/>
+            <command name="glAlphaFuncx"/>
+            <command name="glBindBuffer"/>
+            <command name="glBindTexture"/>
+            <command name="glBlendFunc"/>
+            <command name="glBufferData"/>
+            <command name="glBufferSubData"/>
+            <command name="glClear"/>
+            <command name="glClearColorx"/>
+            <command name="glClearDepthx"/>
+            <command name="glClearStencil"/>
+            <command name="glClientActiveTexture"/>
+            <command name="glClipPlanex"/>
+            <command name="glColor4ub"/>
+            <command name="glColor4x"/>
+            <command name="glColorMask"/>
+            <command name="glColorPointer"/>
+            <command name="glCompressedTexImage2D"/>
+            <command name="glCompressedTexSubImage2D"/>
+            <command name="glCopyTexImage2D"/>
+            <command name="glCopyTexSubImage2D"/>
+            <command name="glCullFace"/>
+            <command name="glDeleteBuffers"/>
+            <command name="glDeleteTextures"/>
+            <command name="glDepthFunc"/>
+            <command name="glDepthMask"/>
+            <command name="glDepthRangex"/>
+            <command name="glDisable"/>
+            <command name="glDisableClientState"/>
+            <command name="glDrawArrays"/>
+            <command name="glDrawElements"/>
+            <command name="glEnable"/>
+            <command name="glEnableClientState"/>
+            <command name="glFinish"/>
+            <command name="glFlush"/>
+            <command name="glFogx"/>
+            <command name="glFogxv"/>
+            <command name="glFrontFace"/>
+            <command name="glFrustumx"/>
+            <command name="glGetBooleanv"/>
+            <command name="glGetBufferParameteriv"/>
+            <command name="glGetClipPlanex"/>
+            <command name="glGenBuffers"/>
+            <command name="glGenTextures"/>
+            <command name="glGetError"/>
+            <command name="glGetFixedv"/>
+            <command name="glGetIntegerv"/>
+            <command name="glGetLightxv"/>
+            <command name="glGetMaterialxv"/>
+            <command name="glGetPointerv"/>
+            <command name="glGetString"/>
+            <command name="glGetTexEnviv"/>
+            <command name="glGetTexEnvxv"/>
+            <command name="glGetTexParameteriv"/>
+            <command name="glGetTexParameterxv"/>
+            <command name="glHint"/>
+            <command name="glIsBuffer"/>
+            <command name="glIsEnabled"/>
+            <command name="glIsTexture"/>
+            <command name="glLightModelx"/>
+            <command name="glLightModelxv"/>
+            <command name="glLightx"/>
+            <command name="glLightxv"/>
+            <command name="glLineWidthx"/>
+            <command name="glLoadIdentity"/>
+            <command name="glLoadMatrixx"/>
+            <command name="glLogicOp"/>
+            <command name="glMaterialx"/>
+            <command name="glMaterialxv"/>
+            <command name="glMatrixMode"/>
+            <command name="glMultMatrixx"/>
+            <command name="glMultiTexCoord4x"/>
+            <command name="glNormal3x"/>
+            <command name="glNormalPointer"/>
+            <command name="glOrthox"/>
+            <command name="glPixelStorei"/>
+            <command name="glPointParameterx"/>
+            <command name="glPointParameterxv"/>
+            <command name="glPointSizex"/>
+            <command name="glPolygonOffsetx"/>
+            <command name="glPopMatrix"/>
+            <command name="glPushMatrix"/>
+            <command name="glReadPixels"/>
+            <command name="glRotatex"/>
+            <command name="glSampleCoverage"/>
+            <command name="glSampleCoveragex"/>
+            <command name="glScalex"/>
+            <command name="glScissor"/>
+            <command name="glShadeModel"/>
+            <command name="glStencilFunc"/>
+            <command name="glStencilMask"/>
+            <command name="glStencilOp"/>
+            <command name="glTexCoordPointer"/>
+            <command name="glTexEnvi"/>
+            <command name="glTexEnvx"/>
+            <command name="glTexEnviv"/>
+            <command name="glTexEnvxv"/>
+            <command name="glTexImage2D"/>
+            <command name="glTexParameteri"/>
+            <command name="glTexParameterx"/>
+            <command name="glTexParameteriv"/>
+            <command name="glTexParameterxv"/>
+            <command name="glTexSubImage2D"/>
+            <command name="glTranslatex"/>
+            <command name="glVertexPointer"/>
+            <command name="glViewport"/>
         </require>
-        <require comment="Reuse ARB_transform_feedback2">
-            <enum name="GL_TRANSFORM_FEEDBACK"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_BINDING"/>
-            <command name="glBindTransformFeedback"/>
-            <command name="glDeleteTransformFeedbacks"/>
-            <command name="glGenTransformFeedbacks"/>
-            <command name="glIsTransformFeedback"/>
-            <command name="glPauseTransformFeedback"/>
-            <command name="glResumeTransformFeedback"/>
-            <command name="glDrawTransformFeedback"/>
+    </feature>
+    <feature api="gles2" name="GL_ES_VERSION_2_0" number="2.0">
+        <require comment="Not used by the API, for compatibility with old gl2.h">
+            <type name="GLbyte"/>
+            <type name="GLclampf"/>
+            <type name="GLfixed"/>
+            <type name="GLshort"/>
+            <type name="GLushort"/>
+            <type name="GLvoid" comment="No longer used in headers"/>
         </require>
-        <require comment="Reuse ARB_transform_feedback3">
-            <enum name="GL_MAX_TRANSFORM_FEEDBACK_BUFFERS"/>
-            <enum name="GL_MAX_VERTEX_STREAMS"/>
-            <command name="glDrawTransformFeedbackStream"/>
-            <command name="glBeginQueryIndexed"/>
-            <command name="glEndQueryIndexed"/>
-            <command name="glGetQueryIndexediv"/>
+        <require comment="Not used by the API; put here so this type doesn't need to be declared in gl2ext.h">
+            <type name="GLsync"/>
+            <type name="GLint64"/>
+            <type name="GLuint64"/>
         </require>
-    </feature>
-    <feature api="gl" name="GL_VERSION_4_1" number="4.1">
-        <require comment="Reuse tokens from ARB_ES2_compatibility">
+        <require>
+            <enum name="GL_DEPTH_BUFFER_BIT"/>
+            <enum name="GL_STENCIL_BUFFER_BIT"/>
+            <enum name="GL_COLOR_BUFFER_BIT"/>
+            <enum name="GL_FALSE"/>
+            <enum name="GL_TRUE"/>
+            <enum name="GL_POINTS"/>
+            <enum name="GL_LINES"/>
+            <enum name="GL_LINE_LOOP"/>
+            <enum name="GL_LINE_STRIP"/>
+            <enum name="GL_TRIANGLES"/>
+            <enum name="GL_TRIANGLE_STRIP"/>
+            <enum name="GL_TRIANGLE_FAN"/>
+            <enum name="GL_ZERO"/>
+            <enum name="GL_ONE"/>
+            <enum name="GL_SRC_COLOR"/>
+            <enum name="GL_ONE_MINUS_SRC_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_DST_COLOR"/>
+            <enum name="GL_ONE_MINUS_DST_COLOR"/>
+            <enum name="GL_SRC_ALPHA_SATURATE"/>
+            <enum name="GL_FUNC_ADD"/>
+            <enum name="GL_BLEND_EQUATION"/>
+            <enum name="GL_BLEND_EQUATION_RGB"/>
+            <enum name="GL_BLEND_EQUATION_ALPHA"/>
+            <enum name="GL_FUNC_SUBTRACT"/>
+            <enum name="GL_FUNC_REVERSE_SUBTRACT"/>
+            <enum name="GL_BLEND_DST_RGB"/>
+            <enum name="GL_BLEND_SRC_RGB"/>
+            <enum name="GL_BLEND_DST_ALPHA"/>
+            <enum name="GL_BLEND_SRC_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_BLEND_COLOR"/>
+            <enum name="GL_ARRAY_BUFFER"/>
+            <enum name="GL_ELEMENT_ARRAY_BUFFER"/>
+            <enum name="GL_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_ELEMENT_ARRAY_BUFFER_BINDING"/>
+            <enum name="GL_STREAM_DRAW"/>
+            <enum name="GL_STATIC_DRAW"/>
+            <enum name="GL_DYNAMIC_DRAW"/>
+            <enum name="GL_BUFFER_SIZE"/>
+            <enum name="GL_BUFFER_USAGE"/>
+            <enum name="GL_CURRENT_VERTEX_ATTRIB"/>
+            <enum name="GL_FRONT"/>
+            <enum name="GL_BACK"/>
+            <enum name="GL_FRONT_AND_BACK"/>
+            <enum name="GL_TEXTURE_2D"/>
+            <enum name="GL_CULL_FACE"/>
+            <enum name="GL_BLEND"/>
+            <enum name="GL_DITHER"/>
+            <enum name="GL_STENCIL_TEST"/>
+            <enum name="GL_DEPTH_TEST"/>
+            <enum name="GL_SCISSOR_TEST"/>
+            <enum name="GL_POLYGON_OFFSET_FILL"/>
+            <enum name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
+            <enum name="GL_SAMPLE_COVERAGE"/>
+            <enum name="GL_NO_ERROR"/>
+            <enum name="GL_INVALID_ENUM"/>
+            <enum name="GL_INVALID_VALUE"/>
+            <enum name="GL_INVALID_OPERATION"/>
+            <enum name="GL_OUT_OF_MEMORY"/>
+            <enum name="GL_CW"/>
+            <enum name="GL_CCW"/>
+            <enum name="GL_LINE_WIDTH"/>
+            <enum name="GL_ALIASED_POINT_SIZE_RANGE"/>
+            <enum name="GL_ALIASED_LINE_WIDTH_RANGE"/>
+            <enum name="GL_CULL_FACE_MODE"/>
+            <enum name="GL_FRONT_FACE"/>
+            <enum name="GL_DEPTH_RANGE"/>
+            <enum name="GL_DEPTH_WRITEMASK"/>
+            <enum name="GL_DEPTH_CLEAR_VALUE"/>
+            <enum name="GL_DEPTH_FUNC"/>
+            <enum name="GL_STENCIL_CLEAR_VALUE"/>
+            <enum name="GL_STENCIL_FUNC"/>
+            <enum name="GL_STENCIL_FAIL"/>
+            <enum name="GL_STENCIL_PASS_DEPTH_FAIL"/>
+            <enum name="GL_STENCIL_PASS_DEPTH_PASS"/>
+            <enum name="GL_STENCIL_REF"/>
+            <enum name="GL_STENCIL_VALUE_MASK"/>
+            <enum name="GL_STENCIL_WRITEMASK"/>
+            <enum name="GL_STENCIL_BACK_FUNC"/>
+            <enum name="GL_STENCIL_BACK_FAIL"/>
+            <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_VIEWPORT"/>
+            <enum name="GL_SCISSOR_BOX"/>
+            <enum name="GL_COLOR_CLEAR_VALUE"/>
+            <enum name="GL_COLOR_WRITEMASK"/>
+            <enum name="GL_UNPACK_ALIGNMENT"/>
+            <enum name="GL_PACK_ALIGNMENT"/>
+            <enum name="GL_MAX_TEXTURE_SIZE"/>
+            <enum name="GL_MAX_VIEWPORT_DIMS"/>
+            <enum name="GL_SUBPIXEL_BITS"/>
+            <enum name="GL_RED_BITS"/>
+            <enum name="GL_GREEN_BITS"/>
+            <enum name="GL_BLUE_BITS"/>
+            <enum name="GL_ALPHA_BITS"/>
+            <enum name="GL_DEPTH_BITS"/>
+            <enum name="GL_STENCIL_BITS"/>
+            <enum name="GL_POLYGON_OFFSET_UNITS"/>
+            <enum name="GL_POLYGON_OFFSET_FACTOR"/>
+            <enum name="GL_TEXTURE_BINDING_2D"/>
+            <enum name="GL_SAMPLE_BUFFERS"/>
+            <enum name="GL_SAMPLES"/>
+            <enum name="GL_SAMPLE_COVERAGE_VALUE"/>
+            <enum name="GL_SAMPLE_COVERAGE_INVERT"/>
+            <enum name="GL_NUM_COMPRESSED_TEXTURE_FORMATS"/>
+            <enum name="GL_COMPRESSED_TEXTURE_FORMATS"/>
+            <enum name="GL_DONT_CARE"/>
+            <enum name="GL_FASTEST"/>
+            <enum name="GL_NICEST"/>
+            <enum name="GL_GENERATE_MIPMAP_HINT"/>
+            <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_FIXED"/>
+            <enum name="GL_DEPTH_COMPONENT"/>
+            <enum name="GL_ALPHA"/>
+            <enum name="GL_RGB"/>
+            <enum name="GL_RGBA"/>
+            <enum name="GL_LUMINANCE"/>
+            <enum name="GL_LUMINANCE_ALPHA"/>
+            <enum name="GL_UNSIGNED_SHORT_4_4_4_4"/>
+            <enum name="GL_UNSIGNED_SHORT_5_5_5_1"/>
+            <enum name="GL_UNSIGNED_SHORT_5_6_5"/>
+            <enum name="GL_FRAGMENT_SHADER"/>
+            <enum name="GL_VERTEX_SHADER"/>
+            <enum name="GL_MAX_VERTEX_ATTRIBS"/>
+            <enum name="GL_MAX_VERTEX_UNIFORM_VECTORS"/>
+            <enum name="GL_MAX_VARYING_VECTORS"/>
+            <enum name="GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_MAX_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_MAX_FRAGMENT_UNIFORM_VECTORS"/>
+            <enum name="GL_SHADER_TYPE"/>
+            <enum name="GL_DELETE_STATUS"/>
+            <enum name="GL_LINK_STATUS"/>
+            <enum name="GL_VALIDATE_STATUS"/>
+            <enum name="GL_ATTACHED_SHADERS"/>
+            <enum name="GL_ACTIVE_UNIFORMS"/>
+            <enum name="GL_ACTIVE_UNIFORM_MAX_LENGTH"/>
+            <enum name="GL_ACTIVE_ATTRIBUTES"/>
+            <enum name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"/>
+            <enum name="GL_SHADING_LANGUAGE_VERSION"/>
+            <enum name="GL_CURRENT_PROGRAM"/>
+            <enum name="GL_NEVER"/>
+            <enum name="GL_LESS"/>
+            <enum name="GL_EQUAL"/>
+            <enum name="GL_LEQUAL"/>
+            <enum name="GL_GREATER"/>
+            <enum name="GL_NOTEQUAL"/>
+            <enum name="GL_GEQUAL"/>
+            <enum name="GL_ALWAYS"/>
+            <enum name="GL_KEEP"/>
+            <enum name="GL_REPLACE"/>
+            <enum name="GL_INCR"/>
+            <enum name="GL_DECR"/>
+            <enum name="GL_INVERT"/>
+            <enum name="GL_INCR_WRAP"/>
+            <enum name="GL_DECR_WRAP"/>
+            <enum name="GL_VENDOR"/>
+            <enum name="GL_RENDERER"/>
+            <enum name="GL_VERSION"/>
+            <enum name="GL_EXTENSIONS"/>
+            <enum name="GL_NEAREST"/>
+            <enum name="GL_LINEAR"/>
+            <enum name="GL_NEAREST_MIPMAP_NEAREST"/>
+            <enum name="GL_LINEAR_MIPMAP_NEAREST"/>
+            <enum name="GL_NEAREST_MIPMAP_LINEAR"/>
+            <enum name="GL_LINEAR_MIPMAP_LINEAR"/>
+            <enum name="GL_TEXTURE_MAG_FILTER"/>
+            <enum name="GL_TEXTURE_MIN_FILTER"/>
+            <enum name="GL_TEXTURE_WRAP_S"/>
+            <enum name="GL_TEXTURE_WRAP_T"/>
+            <enum name="GL_TEXTURE"/>
+            <enum name="GL_TEXTURE_CUBE_MAP"/>
+            <enum name="GL_TEXTURE_BINDING_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_MAX_CUBE_MAP_TEXTURE_SIZE"/>
+            <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"/>
+            <enum name="GL_ACTIVE_TEXTURE"/>
+            <enum name="GL_REPEAT"/>
+            <enum name="GL_CLAMP_TO_EDGE"/>
+            <enum name="GL_MIRRORED_REPEAT"/>
+            <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_2D"/>
+            <enum name="GL_SAMPLER_CUBE"/>
+            <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_POINTER"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"/>
             <enum name="GL_IMPLEMENTATION_COLOR_READ_TYPE"/>
             <enum name="GL_IMPLEMENTATION_COLOR_READ_FORMAT"/>
+            <enum name="GL_COMPILE_STATUS"/>
+            <enum name="GL_INFO_LOG_LENGTH"/>
+            <enum name="GL_SHADER_SOURCE_LENGTH"/>
+            <enum name="GL_SHADER_COMPILER"/>
+            <enum name="GL_SHADER_BINARY_FORMATS"/>
+            <enum name="GL_NUM_SHADER_BINARY_FORMATS"/>
             <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"/>
-            <enum name="GL_SHADER_COMPILER"/>
-            <enum name="GL_SHADER_BINARY_FORMATS"/>
-            <enum name="GL_NUM_SHADER_BINARY_FORMATS"/>
-            <enum name="GL_MAX_VERTEX_UNIFORM_VECTORS"/>
-            <enum name="GL_MAX_VARYING_VECTORS"/>
-            <enum name="GL_MAX_FRAGMENT_UNIFORM_VECTORS"/>
+            <enum name="GL_FRAMEBUFFER"/>
+            <enum name="GL_RENDERBUFFER"/>
+            <enum name="GL_RGBA4"/>
+            <enum name="GL_RGB5_A1"/>
             <enum name="GL_RGB565"/>
-        </require>
-        <require comment="Reuse tokens from ARB_get_program_binary">
-            <enum name="GL_PROGRAM_BINARY_RETRIEVABLE_HINT"/>
-            <enum name="GL_PROGRAM_BINARY_LENGTH"/>
-            <enum name="GL_NUM_PROGRAM_BINARY_FORMATS"/>
-            <enum name="GL_PROGRAM_BINARY_FORMATS"/>
-        </require>
-        <require comment="Reuse tokens from ARB_separate_shader_objects">
-            <enum name="GL_VERTEX_SHADER_BIT"/>
-            <enum name="GL_FRAGMENT_SHADER_BIT"/>
-            <enum name="GL_GEOMETRY_SHADER_BIT"/>
-            <enum name="GL_TESS_CONTROL_SHADER_BIT"/>
-            <enum name="GL_TESS_EVALUATION_SHADER_BIT"/>
-            <enum name="GL_ALL_SHADER_BITS"/>
-            <enum name="GL_PROGRAM_SEPARABLE"/>
-            <enum name="GL_ACTIVE_PROGRAM"/>
-            <enum name="GL_PROGRAM_PIPELINE_BINDING"/>
-        </require>
-        <require comment="Reuse tokens from ARB_shader_precision (none)">
-        </require>
-        <require comment="Reuse tokens from ARB_vertex_attrib_64bit - all are in GL 3.0 and 4.0 already">
-        </require>
-        <require comment="Reuse tokens from ARB_viewport_array - some are in GL 1.1 and ARB_provoking_vertex already">
-            <enum name="GL_MAX_VIEWPORTS"/>
-            <enum name="GL_VIEWPORT_SUBPIXEL_BITS"/>
-            <enum name="GL_VIEWPORT_BOUNDS_RANGE"/>
-            <enum name="GL_LAYER_PROVOKING_VERTEX"/>
-            <enum name="GL_VIEWPORT_INDEX_PROVOKING_VERTEX"/>
-            <enum name="GL_UNDEFINED_VERTEX"/>
-        </require>
-        <require comment="Reuse commands from ARB_ES2_compatibility">
-            <command name="glReleaseShaderCompiler"/>
-            <command name="glShaderBinary"/>
-            <command name="glGetShaderPrecisionFormat"/>
-            <command name="glDepthRangef"/>
+            <enum name="GL_DEPTH_COMPONENT16"/>
+            <enum name="GL_STENCIL_INDEX8"/>
+            <enum name="GL_RENDERBUFFER_WIDTH"/>
+            <enum name="GL_RENDERBUFFER_HEIGHT"/>
+            <enum name="GL_RENDERBUFFER_INTERNAL_FORMAT"/>
+            <enum name="GL_RENDERBUFFER_RED_SIZE"/>
+            <enum name="GL_RENDERBUFFER_GREEN_SIZE"/>
+            <enum name="GL_RENDERBUFFER_BLUE_SIZE"/>
+            <enum name="GL_RENDERBUFFER_ALPHA_SIZE"/>
+            <enum name="GL_RENDERBUFFER_DEPTH_SIZE"/>
+            <enum name="GL_RENDERBUFFER_STENCIL_SIZE"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE"/>
+            <enum name="GL_COLOR_ATTACHMENT0"/>
+            <enum name="GL_DEPTH_ATTACHMENT"/>
+            <enum name="GL_STENCIL_ATTACHMENT"/>
+            <enum name="GL_NONE"/>
+            <enum name="GL_FRAMEBUFFER_COMPLETE"/>
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"/>
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"/>
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS"/>
+            <enum name="GL_FRAMEBUFFER_UNSUPPORTED"/>
+            <enum name="GL_FRAMEBUFFER_BINDING"/>
+            <enum name="GL_RENDERBUFFER_BINDING"/>
+            <enum name="GL_MAX_RENDERBUFFER_SIZE"/>
+            <enum name="GL_INVALID_FRAMEBUFFER_OPERATION"/>
+            <command name="glActiveTexture"/>
+            <command name="glAttachShader"/>
+            <command name="glBindAttribLocation"/>
+            <command name="glBindBuffer"/>
+            <command name="glBindFramebuffer"/>
+            <command name="glBindRenderbuffer"/>
+            <command name="glBindTexture"/>
+            <command name="glBlendColor"/>
+            <command name="glBlendEquation"/>
+            <command name="glBlendEquationSeparate"/>
+            <command name="glBlendFunc"/>
+            <command name="glBlendFuncSeparate"/>
+            <command name="glBufferData"/>
+            <command name="glBufferSubData"/>
+            <command name="glCheckFramebufferStatus"/>
+            <command name="glClear"/>
+            <command name="glClearColor"/>
             <command name="glClearDepthf"/>
-        </require>
-        <require comment="Reuse commands from ARB_get_program_binary">
-            <command name="glGetProgramBinary"/>
-            <command name="glProgramBinary"/>
-            <command name="glProgramParameteri"/>
-        </require>
-        <require comment="Reuse commands from ARB_separate_shader_objects">
-            <command name="glUseProgramStages"/>
-            <command name="glActiveShaderProgram"/>
-            <command name="glCreateShaderProgramv"/>
-            <command name="glBindProgramPipeline"/>
-            <command name="glDeleteProgramPipelines"/>
-            <command name="glGenProgramPipelines"/>
-            <command name="glIsProgramPipeline"/>
-            <command name="glGetProgramPipelineiv"/>
-            <command name="glProgramUniform1i"/>
-            <command name="glProgramUniform1iv"/>
-            <command name="glProgramUniform1f"/>
-            <command name="glProgramUniform1fv"/>
-            <command name="glProgramUniform1d"/>
-            <command name="glProgramUniform1dv"/>
-            <command name="glProgramUniform1ui"/>
-            <command name="glProgramUniform1uiv"/>
-            <command name="glProgramUniform2i"/>
-            <command name="glProgramUniform2iv"/>
-            <command name="glProgramUniform2f"/>
-            <command name="glProgramUniform2fv"/>
-            <command name="glProgramUniform2d"/>
-            <command name="glProgramUniform2dv"/>
-            <command name="glProgramUniform2ui"/>
-            <command name="glProgramUniform2uiv"/>
-            <command name="glProgramUniform3i"/>
-            <command name="glProgramUniform3iv"/>
-            <command name="glProgramUniform3f"/>
-            <command name="glProgramUniform3fv"/>
-            <command name="glProgramUniform3d"/>
-            <command name="glProgramUniform3dv"/>
-            <command name="glProgramUniform3ui"/>
-            <command name="glProgramUniform3uiv"/>
-            <command name="glProgramUniform4i"/>
-            <command name="glProgramUniform4iv"/>
-            <command name="glProgramUniform4f"/>
-            <command name="glProgramUniform4fv"/>
-            <command name="glProgramUniform4d"/>
-            <command name="glProgramUniform4dv"/>
-            <command name="glProgramUniform4ui"/>
-            <command name="glProgramUniform4uiv"/>
-            <command name="glProgramUniformMatrix2fv"/>
-            <command name="glProgramUniformMatrix3fv"/>
-            <command name="glProgramUniformMatrix4fv"/>
-            <command name="glProgramUniformMatrix2dv"/>
-            <command name="glProgramUniformMatrix3dv"/>
-            <command name="glProgramUniformMatrix4dv"/>
-            <command name="glProgramUniformMatrix2x3fv"/>
-            <command name="glProgramUniformMatrix3x2fv"/>
-            <command name="glProgramUniformMatrix2x4fv"/>
-            <command name="glProgramUniformMatrix4x2fv"/>
-            <command name="glProgramUniformMatrix3x4fv"/>
-            <command name="glProgramUniformMatrix4x3fv"/>
-            <command name="glProgramUniformMatrix2x3dv"/>
-            <command name="glProgramUniformMatrix3x2dv"/>
-            <command name="glProgramUniformMatrix2x4dv"/>
-            <command name="glProgramUniformMatrix4x2dv"/>
-            <command name="glProgramUniformMatrix3x4dv"/>
-            <command name="glProgramUniformMatrix4x3dv"/>
-            <command name="glValidateProgramPipeline"/>
-            <command name="glGetProgramPipelineInfoLog"/>
-        </require>
-        <require comment="Reuse commands from ARB_shader_precision (none)">
-        </require>
-        <require comment="Reuse commands from ARB_vertex_attrib_64bit">
-            <command name="glVertexAttribL1d"/>
-            <command name="glVertexAttribL2d"/>
-            <command name="glVertexAttribL3d"/>
-            <command name="glVertexAttribL4d"/>
-            <command name="glVertexAttribL1dv"/>
-            <command name="glVertexAttribL2dv"/>
-            <command name="glVertexAttribL3dv"/>
-            <command name="glVertexAttribL4dv"/>
-            <command name="glVertexAttribLPointer"/>
-            <command name="glGetVertexAttribLdv"/>
-        </require>
-        <require comment="Reuse commands from ARB_viewport_array">
-            <command name="glViewportArrayv"/>
-            <command name="glViewportIndexedf"/>
-            <command name="glViewportIndexedfv"/>
-            <command name="glScissorArrayv"/>
-            <command name="glScissorIndexed"/>
-            <command name="glScissorIndexedv"/>
-            <command name="glDepthRangeArrayv"/>
-            <command name="glDepthRangeIndexed"/>
-            <command name="glGetFloati_v"/>
-            <command name="glGetDoublei_v"/>
+            <command name="glClearStencil"/>
+            <command name="glColorMask"/>
+            <command name="glCompileShader"/>
+            <command name="glCompressedTexImage2D"/>
+            <command name="glCompressedTexSubImage2D"/>
+            <command name="glCopyTexImage2D"/>
+            <command name="glCopyTexSubImage2D"/>
+            <command name="glCreateProgram"/>
+            <command name="glCreateShader"/>
+            <command name="glCullFace"/>
+            <command name="glDeleteBuffers"/>
+            <command name="glDeleteFramebuffers"/>
+            <command name="glDeleteProgram"/>
+            <command name="glDeleteRenderbuffers"/>
+            <command name="glDeleteShader"/>
+            <command name="glDeleteTextures"/>
+            <command name="glDepthFunc"/>
+            <command name="glDepthMask"/>
+            <command name="glDepthRangef"/>
+            <command name="glDetachShader"/>
+            <command name="glDisable"/>
+            <command name="glDisableVertexAttribArray"/>
+            <command name="glDrawArrays"/>
+            <command name="glDrawElements"/>
+            <command name="glEnable"/>
+            <command name="glEnableVertexAttribArray"/>
+            <command name="glFinish"/>
+            <command name="glFlush"/>
+            <command name="glFramebufferRenderbuffer"/>
+            <command name="glFramebufferTexture2D"/>
+            <command name="glFrontFace"/>
+            <command name="glGenBuffers"/>
+            <command name="glGenerateMipmap"/>
+            <command name="glGenFramebuffers"/>
+            <command name="glGenRenderbuffers"/>
+            <command name="glGenTextures"/>
+            <command name="glGetActiveAttrib"/>
+            <command name="glGetActiveUniform"/>
+            <command name="glGetAttachedShaders"/>
+            <command name="glGetAttribLocation"/>
+            <command name="glGetBooleanv"/>
+            <command name="glGetBufferParameteriv"/>
+            <command name="glGetError"/>
+            <command name="glGetFloatv"/>
+            <command name="glGetFramebufferAttachmentParameteriv"/>
+            <command name="glGetIntegerv"/>
+            <command name="glGetProgramiv"/>
+            <command name="glGetProgramInfoLog"/>
+            <command name="glGetRenderbufferParameteriv"/>
+            <command name="glGetShaderiv"/>
+            <command name="glGetShaderInfoLog"/>
+            <command name="glGetShaderPrecisionFormat"/>
+            <command name="glGetShaderSource"/>
+            <command name="glGetString"/>
+            <command name="glGetTexParameterfv"/>
+            <command name="glGetTexParameteriv"/>
+            <command name="glGetUniformfv"/>
+            <command name="glGetUniformiv"/>
+            <command name="glGetUniformLocation"/>
+            <command name="glGetVertexAttribfv"/>
+            <command name="glGetVertexAttribiv"/>
+            <command name="glGetVertexAttribPointerv"/>
+            <command name="glHint"/>
+            <command name="glIsBuffer"/>
+            <command name="glIsEnabled"/>
+            <command name="glIsFramebuffer"/>
+            <command name="glIsProgram"/>
+            <command name="glIsRenderbuffer"/>
+            <command name="glIsShader"/>
+            <command name="glIsTexture"/>
+            <command name="glLineWidth"/>
+            <command name="glLinkProgram"/>
+            <command name="glPixelStorei"/>
+            <command name="glPolygonOffset"/>
+            <command name="glReadPixels"/>
+            <command name="glReleaseShaderCompiler"/>
+            <command name="glRenderbufferStorage"/>
+            <command name="glSampleCoverage"/>
+            <command name="glScissor"/>
+            <command name="glShaderBinary"/>
+            <command name="glShaderSource"/>
+            <command name="glStencilFunc"/>
+            <command name="glStencilFuncSeparate"/>
+            <command name="glStencilMask"/>
+            <command name="glStencilMaskSeparate"/>
+            <command name="glStencilOp"/>
+            <command name="glStencilOpSeparate"/>
+            <command name="glTexImage2D"/>
+            <command name="glTexParameterf"/>
+            <command name="glTexParameterfv"/>
+            <command name="glTexParameteri"/>
+            <command name="glTexParameteriv"/>
+            <command name="glTexSubImage2D"/>
+            <command name="glUniform1f"/>
+            <command name="glUniform1fv"/>
+            <command name="glUniform1i"/>
+            <command name="glUniform1iv"/>
+            <command name="glUniform2f"/>
+            <command name="glUniform2fv"/>
+            <command name="glUniform2i"/>
+            <command name="glUniform2iv"/>
+            <command name="glUniform3f"/>
+            <command name="glUniform3fv"/>
+            <command name="glUniform3i"/>
+            <command name="glUniform3iv"/>
+            <command name="glUniform4f"/>
+            <command name="glUniform4fv"/>
+            <command name="glUniform4i"/>
+            <command name="glUniform4iv"/>
+            <command name="glUniformMatrix2fv"/>
+            <command name="glUniformMatrix3fv"/>
+            <command name="glUniformMatrix4fv"/>
+            <command name="glUseProgram"/>
+            <command name="glValidateProgram"/>
+            <command name="glVertexAttrib1f"/>
+            <command name="glVertexAttrib1fv"/>
+            <command name="glVertexAttrib2f"/>
+            <command name="glVertexAttrib2fv"/>
+            <command name="glVertexAttrib3f"/>
+            <command name="glVertexAttrib3fv"/>
+            <command name="glVertexAttrib4f"/>
+            <command name="glVertexAttrib4fv"/>
+            <command name="glVertexAttribPointer"/>
+            <command name="glViewport"/>
         </require>
     </feature>
-    <feature api="gl" name="GL_VERSION_4_2" number="4.2">
-        <require>
-        </require>
-        <require comment="Reuse tokens from ARB_base_instance (none)">
-        </require>
-        <require comment="Reuse tokens from ARB_shading_language_420pack (none)">
-        </require>
-        <require comment="Reuse tokens from ARB_transform_feedback_instanced (none)">
-        </require>
-        <require comment="Reuse tokens from ARB_compressed_texture_pixel_storage">
-            <enum name="GL_UNPACK_COMPRESSED_BLOCK_WIDTH"/>
-            <enum name="GL_UNPACK_COMPRESSED_BLOCK_HEIGHT"/>
-            <enum name="GL_UNPACK_COMPRESSED_BLOCK_DEPTH"/>
-            <enum name="GL_UNPACK_COMPRESSED_BLOCK_SIZE"/>
-            <enum name="GL_PACK_COMPRESSED_BLOCK_WIDTH"/>
-            <enum name="GL_PACK_COMPRESSED_BLOCK_HEIGHT"/>
-            <enum name="GL_PACK_COMPRESSED_BLOCK_DEPTH"/>
-            <enum name="GL_PACK_COMPRESSED_BLOCK_SIZE"/>
-        </require>
-        <require comment="Reuse tokens from ARB_conservative_depth (none)">
-        </require>
-        <require comment="Reuse tokens from ARB_internalformat_query">
-            <enum name="GL_NUM_SAMPLE_COUNTS"/>
-        </require>
-        <require comment="Reuse tokens from ARB_map_buffer_alignment">
-            <enum name="GL_MIN_MAP_BUFFER_ALIGNMENT"/>
-        </require>
-        <require comment="Reuse tokens from ARB_shader_atomic_counters">
-            <enum name="GL_ATOMIC_COUNTER_BUFFER"/>
-            <enum name="GL_ATOMIC_COUNTER_BUFFER_BINDING"/>
-            <enum name="GL_ATOMIC_COUNTER_BUFFER_START"/>
-            <enum name="GL_ATOMIC_COUNTER_BUFFER_SIZE"/>
-            <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_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS"/>
-            <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS"/>
-            <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS"/>
-            <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS"/>
-            <enum name="GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS"/>
-            <enum name="GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS"/>
-            <enum name="GL_MAX_VERTEX_ATOMIC_COUNTERS"/>
-            <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS"/>
-            <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS"/>
-            <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS"/>
-            <enum name="GL_MAX_FRAGMENT_ATOMIC_COUNTERS"/>
-            <enum name="GL_MAX_COMBINED_ATOMIC_COUNTERS"/>
-            <enum name="GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE"/>
-            <enum name="GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS"/>
-            <enum name="GL_ACTIVE_ATOMIC_COUNTER_BUFFERS"/>
-            <enum name="GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX"/>
-            <enum name="GL_UNSIGNED_INT_ATOMIC_COUNTER"/>
-        </require>
-        <require comment="Reuse tokens from ARB_shader_image_load_store">
-            <enum name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT"/>
-            <enum name="GL_ELEMENT_ARRAY_BARRIER_BIT"/>
-            <enum name="GL_UNIFORM_BARRIER_BIT"/>
-            <enum name="GL_TEXTURE_FETCH_BARRIER_BIT"/>
-            <enum name="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT"/>
-            <enum name="GL_COMMAND_BARRIER_BIT"/>
-            <enum name="GL_PIXEL_BUFFER_BARRIER_BIT"/>
-            <enum name="GL_TEXTURE_UPDATE_BARRIER_BIT"/>
-            <enum name="GL_BUFFER_UPDATE_BARRIER_BIT"/>
-            <enum name="GL_FRAMEBUFFER_BARRIER_BIT"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT"/>
-            <enum name="GL_ATOMIC_COUNTER_BARRIER_BIT"/>
-            <enum name="GL_ALL_BARRIER_BITS"/>
-            <enum name="GL_MAX_IMAGE_UNITS"/>
-            <enum name="GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS"/>
-            <enum name="GL_IMAGE_BINDING_NAME"/>
-            <enum name="GL_IMAGE_BINDING_LEVEL"/>
-            <enum name="GL_IMAGE_BINDING_LAYERED"/>
-            <enum name="GL_IMAGE_BINDING_LAYER"/>
-            <enum name="GL_IMAGE_BINDING_ACCESS"/>
-            <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_MAX_IMAGE_SAMPLES"/>
-            <enum name="GL_IMAGE_BINDING_FORMAT"/>
-            <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_TYPE"/>
-            <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE"/>
-            <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS"/>
-            <enum name="GL_MAX_VERTEX_IMAGE_UNIFORMS"/>
-            <enum name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS"/>
-            <enum name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS"/>
-            <enum name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS"/>
-            <enum name="GL_MAX_FRAGMENT_IMAGE_UNIFORMS"/>
-            <enum name="GL_MAX_COMBINED_IMAGE_UNIFORMS"/>
-        </require>
-        <require comment="Reuse tokens from ARB_shading_language_packing (none)">
-        </require>
-        <require comment="Reuse tokens from ARB_texture_storage">
-            <enum name="GL_TEXTURE_IMMUTABLE_FORMAT"/>
-        </require>
-        <require comment="Reuse commands from ARB_base_instance">
-            <command name="glDrawArraysInstancedBaseInstance"/>
-            <command name="glDrawElementsInstancedBaseInstance"/>
-            <command name="glDrawElementsInstancedBaseVertexBaseInstance"/>
-        </require>
-        <require comment="Reuse commands from ARB_compressed_texture_pixel_storage (none)">
-        </require>
-        <require comment="Reuse commands from ARB_conservative_depth (none)">
-        </require>
-        <require comment="Reuse commands from ARB_internalformat_query">
-            <command name="glGetInternalformativ"/>
-        </require>
-        <require comment="Reuse commands from ARB_map_buffer_alignment (none)">
-        </require>
-        <require comment="Reuse commands from ARB_shader_atomic_counters">
-            <command name="glGetActiveAtomicCounterBufferiv"/>
-        </require>
-        <require comment="Reuse commands from ARB_shader_image_load_store">
-            <command name="glBindImageTexture"/>
-            <command name="glMemoryBarrier"/>
-        </require>
-        <require comment="Reuse commands from ARB_shading_language_420pack (none)">
-        </require>
-        <require comment="Reuse commands from ARB_shading_language_packing (none)">
-        </require>
-        <require comment="Reuse commands from ARB_texture_storage">
-            <command name="glTexStorage1D"/>
-            <command name="glTexStorage2D"/>
-            <command name="glTexStorage3D"/>
-        </require>
-        <require comment="Reuse commands from ARB_transform_feedback_instanced">
-            <command name="glDrawTransformFeedbackInstanced"/>
-            <command name="glDrawTransformFeedbackStreamInstanced"/>
+    <feature api="gles2" name="GL_ES_VERSION_3_0" number="3.0">
+        <require comment="Not used by the API, for compatibility with old gl2.h">
+            <type name="GLhalf"/>
         </require>
-        <!-- Deprecated in OpenGL 4.2 core;
-             deprecate tag not defined/supported yet
-          <deprecate profile="core">
-            <enum name="GL_NUM_COMPRESSED_TEXTURE_FORMATS"/>
-            <enum name="GL_COMPRESSED_TEXTURE_FORMATS"/>
-          </deprecate>
-        -->
-    </feature>
-    <feature api="gl" name="GL_VERSION_4_3" number="4.3">
         <require>
-            <enum name="GL_NUM_SHADING_LANGUAGE_VERSIONS"/>
-            <enum name="GL_VERTEX_ATTRIB_ARRAY_LONG"/>
-        </require>
-        <require comment="Reuse tokens from ARB_arrays_of_arrays (none, GLSL only)">
-        </require>
-        <require comment="Reuse tokens from ARB_fragment_layer_viewport (none, GLSL only)">
-        </require>
-        <require comment="Reuse tokens from ARB_shader_image_size (none, GLSL only)">
-        </require>
-        <require comment="Reuse tokens from ARB_ES3_compatibility">
+            <enum name="GL_READ_BUFFER"/>
+            <enum name="GL_UNPACK_ROW_LENGTH"/>
+            <enum name="GL_UNPACK_SKIP_ROWS"/>
+            <enum name="GL_UNPACK_SKIP_PIXELS"/>
+            <enum name="GL_PACK_ROW_LENGTH"/>
+            <enum name="GL_PACK_SKIP_ROWS"/>
+            <enum name="GL_PACK_SKIP_PIXELS"/>
+            <enum name="GL_COLOR"/>
+            <enum name="GL_DEPTH"/>
+            <enum name="GL_STENCIL"/>
+            <enum name="GL_RED"/>
+            <enum name="GL_RGB8"/>
+            <enum name="GL_RGBA8"/>
+            <enum name="GL_RGB10_A2"/>
+            <enum name="GL_TEXTURE_BINDING_3D"/>
+            <enum name="GL_UNPACK_SKIP_IMAGES"/>
+            <enum name="GL_UNPACK_IMAGE_HEIGHT"/>
+            <enum name="GL_TEXTURE_3D"/>
+            <enum name="GL_TEXTURE_WRAP_R"/>
+            <enum name="GL_MAX_3D_TEXTURE_SIZE"/>
+            <enum name="GL_UNSIGNED_INT_2_10_10_10_REV"/>
+            <enum name="GL_MAX_ELEMENTS_VERTICES"/>
+            <enum name="GL_MAX_ELEMENTS_INDICES"/>
+            <enum name="GL_TEXTURE_MIN_LOD"/>
+            <enum name="GL_TEXTURE_MAX_LOD"/>
+            <enum name="GL_TEXTURE_BASE_LEVEL"/>
+            <enum name="GL_TEXTURE_MAX_LEVEL"/>
+            <enum name="GL_MIN"/>
+            <enum name="GL_MAX"/>
+            <enum name="GL_DEPTH_COMPONENT24"/>
+            <enum name="GL_MAX_TEXTURE_LOD_BIAS"/>
+            <enum name="GL_TEXTURE_COMPARE_MODE"/>
+            <enum name="GL_TEXTURE_COMPARE_FUNC"/>
+            <enum name="GL_CURRENT_QUERY"/>
+            <enum name="GL_QUERY_RESULT"/>
+            <enum name="GL_QUERY_RESULT_AVAILABLE"/>
+            <enum name="GL_BUFFER_MAPPED"/>
+            <enum name="GL_BUFFER_MAP_POINTER"/>
+            <enum name="GL_STREAM_READ"/>
+            <enum name="GL_STREAM_COPY"/>
+            <enum name="GL_STATIC_READ"/>
+            <enum name="GL_STATIC_COPY"/>
+            <enum name="GL_DYNAMIC_READ"/>
+            <enum name="GL_DYNAMIC_COPY"/>
+            <enum name="GL_MAX_DRAW_BUFFERS"/>
+            <enum name="GL_DRAW_BUFFER0"/>
+            <enum name="GL_DRAW_BUFFER1"/>
+            <enum name="GL_DRAW_BUFFER2"/>
+            <enum name="GL_DRAW_BUFFER3"/>
+            <enum name="GL_DRAW_BUFFER4"/>
+            <enum name="GL_DRAW_BUFFER5"/>
+            <enum name="GL_DRAW_BUFFER6"/>
+            <enum name="GL_DRAW_BUFFER7"/>
+            <enum name="GL_DRAW_BUFFER8"/>
+            <enum name="GL_DRAW_BUFFER9"/>
+            <enum name="GL_DRAW_BUFFER10"/>
+            <enum name="GL_DRAW_BUFFER11"/>
+            <enum name="GL_DRAW_BUFFER12"/>
+            <enum name="GL_DRAW_BUFFER13"/>
+            <enum name="GL_DRAW_BUFFER14"/>
+            <enum name="GL_DRAW_BUFFER15"/>
+            <enum name="GL_MAX_FRAGMENT_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_VERTEX_UNIFORM_COMPONENTS"/>
+            <enum name="GL_SAMPLER_3D"/>
+            <enum name="GL_SAMPLER_2D_SHADOW"/>
+            <enum name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT"/>
+            <enum name="GL_PIXEL_PACK_BUFFER"/>
+            <enum name="GL_PIXEL_UNPACK_BUFFER"/>
+            <enum name="GL_PIXEL_PACK_BUFFER_BINDING"/>
+            <enum name="GL_PIXEL_UNPACK_BUFFER_BINDING"/>
+            <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_SRGB"/>
+            <enum name="GL_SRGB8"/>
+            <enum name="GL_SRGB8_ALPHA8"/>
+            <enum name="GL_COMPARE_REF_TO_TEXTURE"/>
+            <enum name="GL_MAJOR_VERSION"/>
+            <enum name="GL_MINOR_VERSION"/>
+            <enum name="GL_NUM_EXTENSIONS"/>
+            <enum name="GL_RGBA32F"/>
+            <enum name="GL_RGB32F"/>
+            <enum name="GL_RGBA16F"/>
+            <enum name="GL_RGB16F"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_INTEGER"/>
+            <enum name="GL_MAX_ARRAY_TEXTURE_LAYERS"/>
+            <enum name="GL_MIN_PROGRAM_TEXEL_OFFSET"/>
+            <enum name="GL_MAX_PROGRAM_TEXEL_OFFSET"/>
+            <enum name="GL_MAX_VARYING_COMPONENTS"/>
+            <enum name="GL_TEXTURE_2D_ARRAY"/>
+            <enum name="GL_TEXTURE_BINDING_2D_ARRAY"/>
+            <enum name="GL_R11F_G11F_B10F"/>
+            <enum name="GL_UNSIGNED_INT_10F_11F_11F_REV"/>
+            <enum name="GL_RGB9_E5"/>
+            <enum name="GL_UNSIGNED_INT_5_9_9_9_REV"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE"/>
+            <enum name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_VARYINGS"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_START"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"/>
+            <enum name="GL_RASTERIZER_DISCARD"/>
+            <enum name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS"/>
+            <enum name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS"/>
+            <enum name="GL_INTERLEAVED_ATTRIBS"/>
+            <enum name="GL_SEPARATE_ATTRIBS"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING"/>
+            <enum name="GL_RGBA32UI"/>
+            <enum name="GL_RGB32UI"/>
+            <enum name="GL_RGBA16UI"/>
+            <enum name="GL_RGB16UI"/>
+            <enum name="GL_RGBA8UI"/>
+            <enum name="GL_RGB8UI"/>
+            <enum name="GL_RGBA32I"/>
+            <enum name="GL_RGB32I"/>
+            <enum name="GL_RGBA16I"/>
+            <enum name="GL_RGB16I"/>
+            <enum name="GL_RGBA8I"/>
+            <enum name="GL_RGB8I"/>
+            <enum name="GL_RED_INTEGER"/>
+            <enum name="GL_RGB_INTEGER"/>
+            <enum name="GL_RGBA_INTEGER"/>
+            <enum name="GL_SAMPLER_2D_ARRAY"/>
+            <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_2D"/>
+            <enum name="GL_INT_SAMPLER_3D"/>
+            <enum name="GL_INT_SAMPLER_CUBE"/>
+            <enum name="GL_INT_SAMPLER_2D_ARRAY"/>
+            <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_ARRAY"/>
+            <enum name="GL_BUFFER_ACCESS_FLAGS"/>
+            <enum name="GL_BUFFER_MAP_LENGTH"/>
+            <enum name="GL_BUFFER_MAP_OFFSET"/>
+            <enum name="GL_DEPTH_COMPONENT32F"/>
+            <enum name="GL_DEPTH32F_STENCIL8"/>
+            <enum name="GL_FLOAT_32_UNSIGNED_INT_24_8_REV"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE"/>
+            <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_DEFAULT"/>
+            <enum name="GL_FRAMEBUFFER_UNDEFINED"/>
+            <enum name="GL_DEPTH_STENCIL_ATTACHMENT"/>
+            <enum name="GL_DEPTH_STENCIL"/>
+            <enum name="GL_UNSIGNED_INT_24_8"/>
+            <enum name="GL_DEPTH24_STENCIL8"/>
+            <enum name="GL_UNSIGNED_NORMALIZED"/>
+            <enum name="GL_DRAW_FRAMEBUFFER_BINDING"/>
+            <enum name="GL_READ_FRAMEBUFFER"/>
+            <enum name="GL_DRAW_FRAMEBUFFER"/>
+            <enum name="GL_READ_FRAMEBUFFER_BINDING"/>
+            <enum name="GL_RENDERBUFFER_SAMPLES"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"/>
+            <enum name="GL_MAX_COLOR_ATTACHMENTS"/>
+            <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"/>
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"/>
+            <enum name="GL_MAX_SAMPLES"/>
+            <enum name="GL_HALF_FLOAT"/>
+            <enum name="GL_MAP_READ_BIT"/>
+            <enum name="GL_MAP_WRITE_BIT"/>
+            <enum name="GL_MAP_INVALIDATE_RANGE_BIT"/>
+            <enum name="GL_MAP_INVALIDATE_BUFFER_BIT"/>
+            <enum name="GL_MAP_FLUSH_EXPLICIT_BIT"/>
+            <enum name="GL_MAP_UNSYNCHRONIZED_BIT"/>
+            <enum name="GL_RG"/>
+            <enum name="GL_RG_INTEGER"/>
+            <enum name="GL_R8"/>
+            <enum name="GL_RG8"/>
+            <enum name="GL_R16F"/>
+            <enum name="GL_R32F"/>
+            <enum name="GL_RG16F"/>
+            <enum name="GL_RG32F"/>
+            <enum name="GL_R8I"/>
+            <enum name="GL_R8UI"/>
+            <enum name="GL_R16I"/>
+            <enum name="GL_R16UI"/>
+            <enum name="GL_R32I"/>
+            <enum name="GL_R32UI"/>
+            <enum name="GL_RG8I"/>
+            <enum name="GL_RG8UI"/>
+            <enum name="GL_RG16I"/>
+            <enum name="GL_RG16UI"/>
+            <enum name="GL_RG32I"/>
+            <enum name="GL_RG32UI"/>
+            <enum name="GL_VERTEX_ARRAY_BINDING"/>
+            <enum name="GL_R8_SNORM"/>
+            <enum name="GL_RG8_SNORM"/>
+            <enum name="GL_RGB8_SNORM"/>
+            <enum name="GL_RGBA8_SNORM"/>
+            <enum name="GL_SIGNED_NORMALIZED"/>
+            <enum name="GL_PRIMITIVE_RESTART_FIXED_INDEX"/>
+            <enum name="GL_COPY_READ_BUFFER"/>
+            <enum name="GL_COPY_WRITE_BUFFER"/>
+            <enum name="GL_COPY_READ_BUFFER_BINDING"/>
+            <enum name="GL_COPY_WRITE_BUFFER_BINDING"/>
+            <enum name="GL_UNIFORM_BUFFER"/>
+            <enum name="GL_UNIFORM_BUFFER_BINDING"/>
+            <enum name="GL_UNIFORM_BUFFER_START"/>
+            <enum name="GL_UNIFORM_BUFFER_SIZE"/>
+            <enum name="GL_MAX_VERTEX_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_FRAGMENT_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_COMBINED_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_UNIFORM_BUFFER_BINDINGS"/>
+            <enum name="GL_MAX_UNIFORM_BLOCK_SIZE"/>
+            <enum name="GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"/>
+            <enum name="GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT"/>
+            <enum name="GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH"/>
+            <enum name="GL_ACTIVE_UNIFORM_BLOCKS"/>
+            <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_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_FRAGMENT_SHADER"/>
+            <enum name="GL_INVALID_INDEX"/>
+            <enum name="GL_MAX_VERTEX_OUTPUT_COMPONENTS"/>
+            <enum name="GL_MAX_FRAGMENT_INPUT_COMPONENTS"/>
+            <enum name="GL_MAX_SERVER_WAIT_TIMEOUT"/>
+            <enum name="GL_OBJECT_TYPE"/>
+            <enum name="GL_SYNC_CONDITION"/>
+            <enum name="GL_SYNC_STATUS"/>
+            <enum name="GL_SYNC_FLAGS"/>
+            <enum name="GL_SYNC_FENCE"/>
+            <enum name="GL_SYNC_GPU_COMMANDS_COMPLETE"/>
+            <enum name="GL_UNSIGNALED"/>
+            <enum name="GL_SIGNALED"/>
+            <enum name="GL_ALREADY_SIGNALED"/>
+            <enum name="GL_TIMEOUT_EXPIRED"/>
+            <enum name="GL_CONDITION_SATISFIED"/>
+            <enum name="GL_WAIT_FAILED"/>
+            <enum name="GL_SYNC_FLUSH_COMMANDS_BIT"/>
+            <enum name="GL_TIMEOUT_IGNORED"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR"/>
+            <enum name="GL_ANY_SAMPLES_PASSED"/>
+            <enum name="GL_ANY_SAMPLES_PASSED_CONSERVATIVE"/>
+            <enum name="GL_SAMPLER_BINDING"/>
+            <enum name="GL_RGB10_A2UI"/>
+            <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_GREEN"/>
+            <enum name="GL_BLUE"/>
+            <enum name="GL_INT_2_10_10_10_REV"/>
+            <enum name="GL_TRANSFORM_FEEDBACK"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_PAUSED"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_ACTIVE"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BINDING"/>
+            <enum name="GL_PROGRAM_BINARY_RETRIEVABLE_HINT"/>
+            <enum name="GL_PROGRAM_BINARY_LENGTH"/>
+            <enum name="GL_NUM_PROGRAM_BINARY_FORMATS"/>
+            <enum name="GL_PROGRAM_BINARY_FORMATS"/>
+            <enum name="GL_COMPRESSED_R11_EAC"/>
+            <enum name="GL_COMPRESSED_SIGNED_R11_EAC"/>
+            <enum name="GL_COMPRESSED_RG11_EAC"/>
+            <enum name="GL_COMPRESSED_SIGNED_RG11_EAC"/>
             <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_R11_EAC"/>
-            <enum name="GL_COMPRESSED_SIGNED_R11_EAC"/>
-            <enum name="GL_COMPRESSED_RG11_EAC"/>
-            <enum name="GL_COMPRESSED_SIGNED_RG11_EAC"/>
-            <enum name="GL_PRIMITIVE_RESTART_FIXED_INDEX"/>
-            <enum name="GL_ANY_SAMPLES_PASSED_CONSERVATIVE"/>
+            <enum name="GL_TEXTURE_IMMUTABLE_FORMAT"/>
             <enum name="GL_MAX_ELEMENT_INDEX"/>
-        </require>
-        <require comment="Reuse tokens from ARB_clear_buffer_object (none)">
-        </require>
-        <require comment="Reuse tokens from ARB_compute_shader">
-            <enum name="GL_COMPUTE_SHADER"/>
-            <enum name="GL_MAX_COMPUTE_UNIFORM_BLOCKS"/>
-            <enum name="GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS"/>
-            <enum name="GL_MAX_COMPUTE_IMAGE_UNIFORMS"/>
-            <enum name="GL_MAX_COMPUTE_SHARED_MEMORY_SIZE"/>
-            <enum name="GL_MAX_COMPUTE_UNIFORM_COMPONENTS"/>
-            <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"/>
-            <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTERS"/>
-            <enum name="GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS"/>
-            <enum name="GL_MAX_COMPUTE_LOCAL_INVOCATIONS"/>
-            <enum name="GL_MAX_COMPUTE_WORK_GROUP_COUNT"/>
-            <enum name="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
-            <enum name="GL_COMPUTE_LOCAL_WORK_SIZE"/>
-            <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER"/>
-            <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER"/>
-            <enum name="GL_DISPATCH_INDIRECT_BUFFER"/>
-            <enum name="GL_DISPATCH_INDIRECT_BUFFER_BINDING"/>
-        </require>
-        <require comment="Reuse tokens from ARB_copy_image (none)">
-        </require>
-        <require comment="Reuse tokens from KHR_debug">
-            <enum name="GL_DEBUG_OUTPUT_SYNCHRONOUS"/>
-            <enum name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH"/>
-            <enum name="GL_DEBUG_CALLBACK_FUNCTION"/>
-            <enum name="GL_DEBUG_CALLBACK_USER_PARAM"/>
-            <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_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_OTHER"/>
-            <enum name="GL_MAX_DEBUG_MESSAGE_LENGTH"/>
-            <enum name="GL_MAX_DEBUG_LOGGED_MESSAGES"/>
-            <enum name="GL_DEBUG_LOGGED_MESSAGES"/>
-            <enum name="GL_DEBUG_SEVERITY_HIGH"/>
-            <enum name="GL_DEBUG_SEVERITY_MEDIUM"/>
-            <enum name="GL_DEBUG_SEVERITY_LOW"/>
-            <enum name="GL_DEBUG_TYPE_MARKER"/>
-            <enum name="GL_DEBUG_TYPE_PUSH_GROUP"/>
-            <enum name="GL_DEBUG_TYPE_POP_GROUP"/>
-            <enum name="GL_DEBUG_SEVERITY_NOTIFICATION"/>
-            <enum name="GL_MAX_DEBUG_GROUP_STACK_DEPTH"/>
-            <enum name="GL_DEBUG_GROUP_STACK_DEPTH"/>
-            <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_SAMPLER"/>
-            <enum name="GL_MAX_LABEL_LENGTH"/>
-            <enum name="GL_DEBUG_OUTPUT"/>
-            <enum name="GL_CONTEXT_FLAG_DEBUG_BIT"/>
-        </require>
-        <require comment="Reuse tokens from ARB_explicit_uniform_location">
-            <enum name="GL_MAX_UNIFORM_LOCATIONS"/>
-        </require>
-        <require comment="Reuse tokens from ARB_framebuffer_no_attachments">
-            <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_MAX_FRAMEBUFFER_WIDTH"/>
-            <enum name="GL_MAX_FRAMEBUFFER_HEIGHT"/>
-            <enum name="GL_MAX_FRAMEBUFFER_LAYERS"/>
-            <enum name="GL_MAX_FRAMEBUFFER_SAMPLES"/>
-        </require>
-        <require comment="Reuse tokens from ARB_internalformat_query2">
-            <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_MAX_COMBINED_DIMENSIONS"/>
-            <enum name="GL_COLOR_COMPONENTS"/>
-            <enum name="GL_DEPTH_COMPONENTS"/>
-            <enum name="GL_STENCIL_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_MANUAL_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_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_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_FULL_SUPPORT"/>
-            <enum name="GL_CAVEAT_SUPPORT"/>
-            <enum name="GL_IMAGE_CLASS_4_X_32"/>
-            <enum name="GL_IMAGE_CLASS_2_X_32"/>
-            <enum name="GL_IMAGE_CLASS_1_X_32"/>
-            <enum name="GL_IMAGE_CLASS_4_X_16"/>
-            <enum name="GL_IMAGE_CLASS_2_X_16"/>
-            <enum name="GL_IMAGE_CLASS_1_X_16"/>
-            <enum name="GL_IMAGE_CLASS_4_X_8"/>
-            <enum name="GL_IMAGE_CLASS_2_X_8"/>
-            <enum name="GL_IMAGE_CLASS_1_X_8"/>
-            <enum name="GL_IMAGE_CLASS_11_11_10"/>
-            <enum name="GL_IMAGE_CLASS_10_10_10_2"/>
-            <enum name="GL_VIEW_CLASS_128_BITS"/>
-            <enum name="GL_VIEW_CLASS_96_BITS"/>
-            <enum name="GL_VIEW_CLASS_64_BITS"/>
-            <enum name="GL_VIEW_CLASS_48_BITS"/>
-            <enum name="GL_VIEW_CLASS_32_BITS"/>
-            <enum name="GL_VIEW_CLASS_24_BITS"/>
-            <enum name="GL_VIEW_CLASS_16_BITS"/>
-            <enum name="GL_VIEW_CLASS_8_BITS"/>
-            <enum name="GL_VIEW_CLASS_S3TC_DXT1_RGB"/>
-            <enum name="GL_VIEW_CLASS_S3TC_DXT1_RGBA"/>
-            <enum name="GL_VIEW_CLASS_S3TC_DXT3_RGBA"/>
-            <enum name="GL_VIEW_CLASS_S3TC_DXT5_RGBA"/>
-            <enum name="GL_VIEW_CLASS_RGTC1_RED"/>
-            <enum name="GL_VIEW_CLASS_RGTC2_RG"/>
-            <enum name="GL_VIEW_CLASS_BPTC_UNORM"/>
-            <enum name="GL_VIEW_CLASS_BPTC_FLOAT"/>
-        </require>
-        <require comment="Reuse tokens from ARB_invalidate_subdata (none)">
-        </require>
-        <require comment="Reuse tokens from ARB_multi_draw_indirect (none)">
-        </require>
-        <require comment="Reuse tokens from ARB_program_interface_query">
-            <enum name="GL_UNIFORM"/>
-            <enum name="GL_UNIFORM_BLOCK"/>
-            <enum name="GL_PROGRAM_INPUT"/>
-            <enum name="GL_PROGRAM_OUTPUT"/>
-            <enum name="GL_BUFFER_VARIABLE"/>
-            <enum name="GL_SHADER_STORAGE_BLOCK"/>
-            <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_ACTIVE_RESOURCES"/>
-            <enum name="GL_MAX_NAME_LENGTH"/>
-            <enum name="GL_MAX_NUM_ACTIVE_VARIABLES"/>
-            <enum name="GL_MAX_NUM_COMPATIBLE_SUBROUTINES"/>
-            <enum name="GL_NAME_LENGTH"/>
-            <enum name="GL_TYPE"/>
-            <enum name="GL_ARRAY_SIZE"/>
-            <enum name="GL_OFFSET"/>
-            <enum name="GL_BLOCK_INDEX"/>
-            <enum name="GL_ARRAY_STRIDE"/>
-            <enum name="GL_MATRIX_STRIDE"/>
-            <enum name="GL_IS_ROW_MAJOR"/>
-            <enum name="GL_ATOMIC_COUNTER_BUFFER_INDEX"/>
-            <enum name="GL_BUFFER_BINDING"/>
-            <enum name="GL_BUFFER_DATA_SIZE"/>
-            <enum name="GL_NUM_ACTIVE_VARIABLES"/>
-            <enum name="GL_ACTIVE_VARIABLES"/>
-            <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_TOP_LEVEL_ARRAY_SIZE"/>
-            <enum name="GL_TOP_LEVEL_ARRAY_STRIDE"/>
-            <enum name="GL_LOCATION"/>
-            <enum name="GL_LOCATION_INDEX"/>
-            <enum name="GL_IS_PER_PATCH"/>
-        </require>
-        <require comment="Reuse tokens from ARB_robust_buffer_access_behavior (none)">
-        </require>
-        <require comment="Reuse tokens from ARB_shader_storage_buffer_object">
-            <enum name="GL_SHADER_STORAGE_BUFFER"/>
-            <enum name="GL_SHADER_STORAGE_BUFFER_BINDING"/>
-            <enum name="GL_SHADER_STORAGE_BUFFER_START"/>
-            <enum name="GL_SHADER_STORAGE_BUFFER_SIZE"/>
-            <enum name="GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS"/>
-            <enum name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS"/>
-            <enum name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS"/>
-            <enum name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS"/>
-            <enum name="GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS"/>
-            <enum name="GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS"/>
-            <enum name="GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS"/>
-            <enum name="GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS"/>
-            <enum name="GL_MAX_SHADER_STORAGE_BLOCK_SIZE"/>
-            <enum name="GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT"/>
-            <enum name="GL_SHADER_STORAGE_BARRIER_BIT"/>
-            <enum name="GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES"/>
-        </require>
-        <require comment="Reuse tokens from ARB_stencil_texturing">
-            <enum name="GL_DEPTH_STENCIL_TEXTURE_MODE"/>
-        </require>
-        <require comment="Reuse tokens from ARB_texture_buffer_range">
-            <enum name="GL_TEXTURE_BUFFER_OFFSET"/>
-            <enum name="GL_TEXTURE_BUFFER_SIZE"/>
-            <enum name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT"/>
-        </require>
-        <require comment="Reuse tokens from ARB_texture_query_levels (none)">
-        </require>
-        <require comment="Reuse tokens from ARB_texture_storage_multisample (none)">
-        </require>
-        <require comment="Reuse tokens from ARB_texture_view">
-            <enum name="GL_TEXTURE_VIEW_MIN_LEVEL"/>
-            <enum name="GL_TEXTURE_VIEW_NUM_LEVELS"/>
-            <enum name="GL_TEXTURE_VIEW_MIN_LAYER"/>
-            <enum name="GL_TEXTURE_VIEW_NUM_LAYERS"/>
+            <enum name="GL_NUM_SAMPLE_COUNTS"/>
             <enum name="GL_TEXTURE_IMMUTABLE_LEVELS"/>
+            <command name="glReadBuffer"/>
+            <command name="glDrawRangeElements"/>
+            <command name="glTexImage3D"/>
+            <command name="glTexSubImage3D"/>
+            <command name="glCopyTexSubImage3D"/>
+            <command name="glCompressedTexImage3D"/>
+            <command name="glCompressedTexSubImage3D"/>
+            <command name="glGenQueries"/>
+            <command name="glDeleteQueries"/>
+            <command name="glIsQuery"/>
+            <command name="glBeginQuery"/>
+            <command name="glEndQuery"/>
+            <command name="glGetQueryiv"/>
+            <command name="glGetQueryObjectuiv"/>
+            <command name="glUnmapBuffer"/>
+            <command name="glGetBufferPointerv"/>
+            <command name="glDrawBuffers"/>
+            <command name="glUniformMatrix2x3fv"/>
+            <command name="glUniformMatrix3x2fv"/>
+            <command name="glUniformMatrix2x4fv"/>
+            <command name="glUniformMatrix4x2fv"/>
+            <command name="glUniformMatrix3x4fv"/>
+            <command name="glUniformMatrix4x3fv"/>
+            <command name="glBlitFramebuffer"/>
+            <command name="glRenderbufferStorageMultisample"/>
+            <command name="glFramebufferTextureLayer"/>
+            <command name="glMapBufferRange"/>
+            <command name="glFlushMappedBufferRange"/>
+            <command name="glBindVertexArray"/>
+            <command name="glDeleteVertexArrays"/>
+            <command name="glGenVertexArrays"/>
+            <command name="glIsVertexArray"/>
+            <command name="glGetIntegeri_v"/>
+            <command name="glBeginTransformFeedback"/>
+            <command name="glEndTransformFeedback"/>
+            <command name="glBindBufferRange"/>
+            <command name="glBindBufferBase"/>
+            <command name="glTransformFeedbackVaryings"/>
+            <command name="glGetTransformFeedbackVarying"/>
+            <command name="glVertexAttribIPointer"/>
+            <command name="glGetVertexAttribIiv"/>
+            <command name="glGetVertexAttribIuiv"/>
+            <command name="glVertexAttribI4i"/>
+            <command name="glVertexAttribI4ui"/>
+            <command name="glVertexAttribI4iv"/>
+            <command name="glVertexAttribI4uiv"/>
+            <command name="glGetUniformuiv"/>
+            <command name="glGetFragDataLocation"/>
+            <command name="glUniform1ui"/>
+            <command name="glUniform2ui"/>
+            <command name="glUniform3ui"/>
+            <command name="glUniform4ui"/>
+            <command name="glUniform1uiv"/>
+            <command name="glUniform2uiv"/>
+            <command name="glUniform3uiv"/>
+            <command name="glUniform4uiv"/>
+            <command name="glClearBufferiv"/>
+            <command name="glClearBufferuiv"/>
+            <command name="glClearBufferfv"/>
+            <command name="glClearBufferfi"/>
+            <command name="glGetStringi"/>
+            <command name="glCopyBufferSubData"/>
+            <command name="glGetUniformIndices"/>
+            <command name="glGetActiveUniformsiv"/>
+            <command name="glGetUniformBlockIndex"/>
+            <command name="glGetActiveUniformBlockiv"/>
+            <command name="glGetActiveUniformBlockName"/>
+            <command name="glUniformBlockBinding"/>
+            <command name="glDrawArraysInstanced"/>
+            <command name="glDrawElementsInstanced"/>
+            <command name="glFenceSync"/>
+            <command name="glIsSync"/>
+            <command name="glDeleteSync"/>
+            <command name="glClientWaitSync"/>
+            <command name="glWaitSync"/>
+            <command name="glGetInteger64v"/>
+            <command name="glGetSynciv"/>
+            <command name="glGetInteger64i_v"/>
+            <command name="glGetBufferParameteri64v"/>
+            <command name="glGenSamplers"/>
+            <command name="glDeleteSamplers"/>
+            <command name="glIsSampler"/>
+            <command name="glBindSampler"/>
+            <command name="glSamplerParameteri"/>
+            <command name="glSamplerParameteriv"/>
+            <command name="glSamplerParameterf"/>
+            <command name="glSamplerParameterfv"/>
+            <command name="glGetSamplerParameteriv"/>
+            <command name="glGetSamplerParameterfv"/>
+            <command name="glVertexAttribDivisor"/>
+            <command name="glBindTransformFeedback"/>
+            <command name="glDeleteTransformFeedbacks"/>
+            <command name="glGenTransformFeedbacks"/>
+            <command name="glIsTransformFeedback"/>
+            <command name="glPauseTransformFeedback"/>
+            <command name="glResumeTransformFeedback"/>
+            <command name="glGetProgramBinary"/>
+            <command name="glProgramBinary"/>
+            <command name="glProgramParameteri"/>
+            <command name="glInvalidateFramebuffer"/>
+            <command name="glInvalidateSubFramebuffer"/>
+            <command name="glTexStorage2D"/>
+            <command name="glTexStorage3D"/>
+            <command name="glGetInternalformativ"/>
         </require>
-        <require comment="Reuse tokens from ARB_vertex_attrib_binding">
-            <enum name="GL_VERTEX_ATTRIB_BINDING"/>
-            <enum name="GL_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
-            <enum name="GL_VERTEX_BINDING_DIVISOR"/>
-            <enum name="GL_VERTEX_BINDING_OFFSET"/>
-            <enum name="GL_VERTEX_BINDING_STRIDE"/>
-            <enum name="GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
-            <enum name="GL_MAX_VERTEX_ATTRIB_BINDINGS"/>
-        </require>
-        <require comment="Reuse commands from ARB_arrays_of_arrays (none, GLSL only)">
-        </require>
-        <require comment="Reuse commands from ARB_clear_buffer_object">
-            <command name="glClearBufferData"/>
-            <command name="glClearBufferSubData"/>
-        </require>
-        <require comment="Reuse commands from ARB_compute_shader">
-            <command name="glDispatchCompute"/>
-            <command name="glDispatchComputeIndirect"/>
-        </require>
-        <require comment="Reuse commands from ARB_copy_image">
-            <command name="glCopyImageSubData"/>
-        </require>
-        <require comment="Reuse commands from ARB_ES3_compatibility (none)">
-        </require>
-        <require comment="Reuse commands from ARB_explicit_uniform_location (none)">
-        </require>
-        <require comment="Reuse commands from ARB_fragment_layer_viewport (none, GLSL only)">
-        </require>
-        <require comment="Reuse commands from ARB_framebuffer_no_attachments">
-            <command name="glFramebufferParameteri"/>
-            <command name="glGetFramebufferParameteriv"/>
-        </require>
-        <require comment="Reuse commands from ARB_internalformat_query2">
-            <command name="glGetInternalformati64v"/>
-        </require>
-        <require comment="Reuse commands from ARB_invalidate_subdata">
-            <command name="glInvalidateTexSubImage"/>
-            <command name="glInvalidateTexImage"/>
-            <command name="glInvalidateBufferSubData"/>
-            <command name="glInvalidateBufferData"/>
-            <command name="glInvalidateFramebuffer"/>
-            <command name="glInvalidateSubFramebuffer"/>
-        </require>
-        <require comment="Reuse commands from ARB_multi_draw_indirect">
-            <command name="glMultiDrawArraysIndirect"/>
-            <command name="glMultiDrawElementsIndirect"/>
-        </require>
-        <require comment="Reuse commands from ARB_program_interface_query">
-            <command name="glGetProgramInterfaceiv"/>
-            <command name="glGetProgramResourceIndex"/>
-            <command name="glGetProgramResourceName"/>
-            <command name="glGetProgramResourceiv"/>
-            <command name="glGetProgramResourceLocation"/>
-            <command name="glGetProgramResourceLocationIndex"/>
-        </require>
-        <require comment="Reuse commands from ARB_robust_buffer_access_behavior (none)">
-        </require>
-        <require comment="Reuse commands from ARB_shader_image_size (none, GLSL only)">
-        </require>
-        <require comment="Reuse commands from ARB_shader_storage_buffer_object">
-            <command name="glShaderStorageBlockBinding"/>
-        </require>
-        <require comment="Reuse commands from ARB_stencil_texturing (none)">
-        </require>
-        <require comment="Reuse commands from ARB_texture_buffer_range">
-            <command name="glTexBufferRange"/>
-        </require>
-        <require comment="Reuse commands from ARB_texture_query_levels (none)">
-        </require>
-        <require comment="Reuse commands from ARB_texture_storage_multisample">
-            <command name="glTexStorage2DMultisample"/>
-            <command name="glTexStorage3DMultisample"/>
-        </require>
-        <require comment="Reuse commands from ARB_texture_view">
-            <command name="glTextureView"/>
-        </require>
-        <require comment="Reuse commands from ARB_vertex_attrib_binding">
-            <command name="glBindVertexBuffer"/>
-            <command name="glVertexAttribFormat"/>
-            <command name="glVertexAttribIFormat"/>
-            <command name="glVertexAttribLFormat"/>
-            <command name="glVertexAttribBinding"/>
-            <command name="glVertexBindingDivisor"/>
-        </require>
-        <require comment="Reuse commands from KHR_debug (includes ARB_debug_output commands promoted to KHR without suffixes)">
-            <command name="glDebugMessageControl"/>
-            <command name="glDebugMessageInsert"/>
-            <command name="glDebugMessageCallback"/>
-            <command name="glGetDebugMessageLog"/>
-            <command name="glPushDebugGroup"/>
-            <command name="glPopDebugGroup"/>
-            <command name="glObjectLabel"/>
-            <command name="glGetObjectLabel"/>
-            <command name="glObjectPtrLabel"/>
-            <command name="glGetObjectPtrLabel"/>
-            <command name="glGetPointerv"/>
-        </require>
-        <require profile="compatibility" comment="KHR_debug functionality not supported in core profile">
-            <enum name="GL_DISPLAY_LIST"/>
-        </require>
-        <require profile="core" comment="Restore functionality removed in GL 3.2 core to GL 4.3. Needed for debug interface.">
-            <enum name="GL_STACK_UNDERFLOW"/>
-            <enum name="GL_STACK_OVERFLOW"/>
-            <command name="glGetPointerv"/>
-        </require>
-        <!-- Deprecated in OpenGL 4.3 core;
-             deprecate tag not defined/supported yet
-          <deprecate profile="core">
-            <enum name="GL_UNPACK_LSB_FIRST"/>
-            <enum name="GL_PACK_LSB_FIRST"/>
-          </deprecate>
-        -->
-    </feature>
-    <feature api="gl" name="GL_VERSION_4_4" number="4.4">
-        <require>
-            <enum name="GL_MAX_VERTEX_ATTRIB_STRIDE"/>
-            <enum name="GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED"/>
-            <enum name="GL_TEXTURE_BUFFER_BINDING"/>
-        </require>
-        <require comment="Reuse GL_ARB_buffer_storage">
-            <enum name="GL_MAP_READ_BIT"/>
-            <enum name="GL_MAP_WRITE_BIT"/>
-            <enum name="GL_MAP_PERSISTENT_BIT"/>
-            <enum name="GL_MAP_COHERENT_BIT"/>
-            <enum name="GL_DYNAMIC_STORAGE_BIT"/>
-            <enum name="GL_CLIENT_STORAGE_BIT"/>
-            <enum name="GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT"/>
-            <enum name="GL_BUFFER_IMMUTABLE_STORAGE"/>
-            <enum name="GL_BUFFER_STORAGE_FLAGS"/>
-            <command name="glBufferStorage"/>
-        </require>
-        <require comment="Reuse GL_ARB_clear_texture">
-            <enum name="GL_CLEAR_TEXTURE"/>
-            <command name="glClearTexImage"/>
-            <command name="glClearTexSubImage"/>
-        </require>
-        <require comment="Reuse GL_ARB_enhanced_layouts">
-            <enum name="GL_LOCATION_COMPONENT"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_INDEX"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE"/>
+    </feature>
+    <feature api="gles2" name="GL_ES_VERSION_3_1" number="3.1">
+        <!-- arrays_of_arrays features -->
+        <require/>
+        <!-- compute_shader features -->
+        <require>
+            <command name="glDispatchCompute"/>
+            <command name="glDispatchComputeIndirect"/>
+            <enum name="GL_COMPUTE_SHADER"/>
+            <enum name="GL_MAX_COMPUTE_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_MAX_COMPUTE_IMAGE_UNIFORMS"/>
+            <enum name="GL_MAX_COMPUTE_SHARED_MEMORY_SIZE"/>
+            <enum name="GL_MAX_COMPUTE_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS"/>
+            <enum name="GL_MAX_COMPUTE_WORK_GROUP_COUNT"/>
+            <enum name="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
+            <enum name="GL_COMPUTE_WORK_GROUP_SIZE"/>
+            <enum name="GL_DISPATCH_INDIRECT_BUFFER"/>
+            <enum name="GL_DISPATCH_INDIRECT_BUFFER_BINDING"/>
+            <enum name="GL_COMPUTE_SHADER_BIT"/>
         </require>
-        <require comment="Reuse GL_ARB_multi_bind (none)">
-            <command name="glBindBuffersBase"/>
-            <command name="glBindBuffersRange"/>
-            <command name="glBindTextures"/>
-            <command name="glBindSamplers"/>
-            <command name="glBindImageTextures"/>
-            <command name="glBindVertexBuffers"/>
+        <!-- draw_indirect features -->
+        <require>
+            <command name="glDrawArraysIndirect"/>
+            <command name="glDrawElementsIndirect"/>
+            <enum name="GL_DRAW_INDIRECT_BUFFER"/>
+            <enum name="GL_DRAW_INDIRECT_BUFFER_BINDING"/>
         </require>
-        <require comment="Reuse GL_ARB_query_buffer_object">
-            <enum name="GL_QUERY_BUFFER"/>
-            <enum name="GL_QUERY_BUFFER_BARRIER_BIT"/>
-            <enum name="GL_QUERY_BUFFER_BINDING"/>
-            <enum name="GL_QUERY_RESULT_NO_WAIT"/>
+        <!-- explicit_uniform_location features -->
+        <require>
+            <enum name="GL_MAX_UNIFORM_LOCATIONS"/>
         </require>
-        <require comment="Reuse GL_ARB_texture_mirror_clamp_to_edge">
-            <enum name="GL_MIRROR_CLAMP_TO_EDGE"/>
+        <!-- framebuffer_no_attachments features -->
+        <require>
+            <command name="glFramebufferParameteri"/>
+            <command name="glGetFramebufferParameteriv"/>
+            <enum name="GL_FRAMEBUFFER_DEFAULT_WIDTH"/>
+            <enum name="GL_FRAMEBUFFER_DEFAULT_HEIGHT"/>
+            <enum name="GL_FRAMEBUFFER_DEFAULT_SAMPLES"/>
+            <enum name="GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS"/>
+            <enum name="GL_MAX_FRAMEBUFFER_WIDTH"/>
+            <enum name="GL_MAX_FRAMEBUFFER_HEIGHT"/>
+            <enum name="GL_MAX_FRAMEBUFFER_SAMPLES"/>
         </require>
-        <require comment="Reuse GL_ARB_texture_stencil8">
-            <enum name="GL_STENCIL_INDEX"/>
-            <enum name="GL_STENCIL_INDEX8"/>
+        <!-- program_interface_query features -->
+        <require>
+            <command name="glGetProgramInterfaceiv"/>
+            <command name="glGetProgramResourceIndex"/>
+            <command name="glGetProgramResourceName"/>
+            <command name="glGetProgramResourceiv"/>
+            <command name="glGetProgramResourceLocation"/>
+            <enum name="GL_UNIFORM"/>
+            <enum name="GL_UNIFORM_BLOCK"/>
+            <enum name="GL_PROGRAM_INPUT"/>
+            <enum name="GL_PROGRAM_OUTPUT"/>
+            <enum name="GL_BUFFER_VARIABLE"/>
+            <enum name="GL_SHADER_STORAGE_BLOCK"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_VARYING"/>
+            <enum name="GL_ACTIVE_RESOURCES"/>
+            <enum name="GL_MAX_NAME_LENGTH"/>
+            <enum name="GL_MAX_NUM_ACTIVE_VARIABLES"/>
+            <enum name="GL_NAME_LENGTH"/>
+            <enum name="GL_TYPE"/>
+            <enum name="GL_ARRAY_SIZE"/>
+            <enum name="GL_OFFSET"/>
+            <enum name="GL_BLOCK_INDEX"/>
+            <enum name="GL_ARRAY_STRIDE"/>
+            <enum name="GL_MATRIX_STRIDE"/>
+            <enum name="GL_IS_ROW_MAJOR"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_INDEX"/>
+            <enum name="GL_BUFFER_BINDING"/>
+            <enum name="GL_BUFFER_DATA_SIZE"/>
+            <enum name="GL_NUM_ACTIVE_VARIABLES"/>
+            <enum name="GL_ACTIVE_VARIABLES"/>
+            <enum name="GL_REFERENCED_BY_VERTEX_SHADER"/>
+            <enum name="GL_REFERENCED_BY_FRAGMENT_SHADER"/>
+            <enum name="GL_REFERENCED_BY_COMPUTE_SHADER"/>
+            <enum name="GL_TOP_LEVEL_ARRAY_SIZE"/>
+            <enum name="GL_TOP_LEVEL_ARRAY_STRIDE"/>
+            <enum name="GL_LOCATION"/>
         </require>
-        <require comment="Reuse GL_ARB_vertex_type_10f_11f_11f_rev">
-            <enum name="GL_UNSIGNED_INT_10F_11F_11F_REV"/>
+        <!-- separate_shader_objects features -->
+        <require>
+            <command name="glUseProgramStages"/>
+            <command name="glActiveShaderProgram"/>
+            <command name="glCreateShaderProgramv"/>
+            <command name="glBindProgramPipeline"/>
+            <command name="glDeleteProgramPipelines"/>
+            <command name="glGenProgramPipelines"/>
+            <command name="glIsProgramPipeline"/>
+            <command name="glGetProgramPipelineiv"/>
+            <command name="glProgramUniform1i"/>
+            <command name="glProgramUniform2i"/>
+            <command name="glProgramUniform3i"/>
+            <command name="glProgramUniform4i"/>
+            <command name="glProgramUniform1ui"/>
+            <command name="glProgramUniform2ui"/>
+            <command name="glProgramUniform3ui"/>
+            <command name="glProgramUniform4ui"/>
+            <command name="glProgramUniform1f"/>
+            <command name="glProgramUniform2f"/>
+            <command name="glProgramUniform3f"/>
+            <command name="glProgramUniform4f"/>
+            <command name="glProgramUniform1iv"/>
+            <command name="glProgramUniform2iv"/>
+            <command name="glProgramUniform3iv"/>
+            <command name="glProgramUniform4iv"/>
+            <command name="glProgramUniform1uiv"/>
+            <command name="glProgramUniform2uiv"/>
+            <command name="glProgramUniform3uiv"/>
+            <command name="glProgramUniform4uiv"/>
+            <command name="glProgramUniform1fv"/>
+            <command name="glProgramUniform2fv"/>
+            <command name="glProgramUniform3fv"/>
+            <command name="glProgramUniform4fv"/>
+            <command name="glProgramUniformMatrix2fv"/>
+            <command name="glProgramUniformMatrix3fv"/>
+            <command name="glProgramUniformMatrix4fv"/>
+            <command name="glProgramUniformMatrix2x3fv"/>
+            <command name="glProgramUniformMatrix3x2fv"/>
+            <command name="glProgramUniformMatrix2x4fv"/>
+            <command name="glProgramUniformMatrix4x2fv"/>
+            <command name="glProgramUniformMatrix3x4fv"/>
+            <command name="glProgramUniformMatrix4x3fv"/>
+            <command name="glValidateProgramPipeline"/>
+            <command name="glGetProgramPipelineInfoLog"/>
+            <enum name="GL_VERTEX_SHADER_BIT"/>
+            <enum name="GL_FRAGMENT_SHADER_BIT"/>
+            <enum name="GL_ALL_SHADER_BITS"/>
+            <enum name="GL_PROGRAM_SEPARABLE"/>
+            <enum name="GL_ACTIVE_PROGRAM"/>
+            <enum name="GL_PROGRAM_PIPELINE_BINDING"/>
         </require>
-    </feature>
-
-    <!-- SECTION: OpenGL ES 1.0/1.1 API interface definitions. -->
-    <feature api="gles1" name="GL_VERSION_ES_CM_1_0" number="1.0">
+        <!-- shader_atomic_counters features -->
         <require>
-            <!-- Additional API definition macros - ES 1.0/1.1, common/common-lite all in one header -->
-            <enum name="GL_VERSION_ES_CL_1_0"/>
-            <enum name="GL_VERSION_ES_CM_1_1"/>
-            <enum name="GL_VERSION_ES_CL_1_1"/>
-            <enum name="GL_DEPTH_BUFFER_BIT"/>
-            <enum name="GL_STENCIL_BUFFER_BIT"/>
-            <enum name="GL_COLOR_BUFFER_BIT"/>
-            <enum name="GL_FALSE"/>
-            <enum name="GL_TRUE"/>
-            <enum name="GL_POINTS"/>
-            <enum name="GL_LINES"/>
-            <enum name="GL_LINE_LOOP"/>
-            <enum name="GL_LINE_STRIP"/>
-            <enum name="GL_TRIANGLES"/>
-            <enum name="GL_TRIANGLE_STRIP"/>
-            <enum name="GL_TRIANGLE_FAN"/>
-            <enum name="GL_NEVER"/>
-            <enum name="GL_LESS"/>
-            <enum name="GL_EQUAL"/>
-            <enum name="GL_LEQUAL"/>
-            <enum name="GL_GREATER"/>
-            <enum name="GL_NOTEQUAL"/>
-            <enum name="GL_GEQUAL"/>
-            <enum name="GL_ALWAYS"/>
-            <enum name="GL_ZERO"/>
-            <enum name="GL_ONE"/>
-            <enum name="GL_SRC_COLOR"/>
-            <enum name="GL_ONE_MINUS_SRC_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_DST_COLOR"/>
-            <enum name="GL_ONE_MINUS_DST_COLOR"/>
-            <enum name="GL_SRC_ALPHA_SATURATE"/>
-            <enum name="GL_CLIP_PLANE0"/>
-            <enum name="GL_CLIP_PLANE1"/>
-            <enum name="GL_CLIP_PLANE2"/>
-            <enum name="GL_CLIP_PLANE3"/>
-            <enum name="GL_CLIP_PLANE4"/>
-            <enum name="GL_CLIP_PLANE5"/>
-            <enum name="GL_FRONT"/>
-            <enum name="GL_BACK"/>
-            <enum name="GL_FRONT_AND_BACK"/>
-            <enum name="GL_FOG"/>
-            <enum name="GL_LIGHTING"/>
-            <enum name="GL_TEXTURE_2D"/>
-            <enum name="GL_CULL_FACE"/>
-            <enum name="GL_ALPHA_TEST"/>
-            <enum name="GL_BLEND"/>
-            <enum name="GL_COLOR_LOGIC_OP"/>
-            <enum name="GL_DITHER"/>
-            <enum name="GL_STENCIL_TEST"/>
-            <enum name="GL_DEPTH_TEST"/>
-            <enum name="GL_POINT_SMOOTH"/>
-            <enum name="GL_LINE_SMOOTH"/>
-            <enum name="GL_SCISSOR_TEST"/>
-            <enum name="GL_COLOR_MATERIAL"/>
-            <enum name="GL_NORMALIZE"/>
-            <enum name="GL_RESCALE_NORMAL"/>
-            <enum name="GL_VERTEX_ARRAY"/>
-            <enum name="GL_NORMAL_ARRAY"/>
-            <enum name="GL_COLOR_ARRAY"/>
-            <enum name="GL_TEXTURE_COORD_ARRAY"/>
-            <enum name="GL_MULTISAMPLE"/>
-            <enum name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
-            <enum name="GL_SAMPLE_ALPHA_TO_ONE"/>
-            <enum name="GL_SAMPLE_COVERAGE"/>
-            <enum name="GL_NO_ERROR"/>
-            <enum name="GL_INVALID_ENUM"/>
-            <enum name="GL_INVALID_VALUE"/>
-            <enum name="GL_INVALID_OPERATION"/>
-            <enum name="GL_STACK_OVERFLOW"/>
-            <enum name="GL_STACK_UNDERFLOW"/>
-            <enum name="GL_OUT_OF_MEMORY"/>
-            <enum name="GL_EXP"/>
-            <enum name="GL_EXP2"/>
-            <enum name="GL_FOG_DENSITY"/>
-            <enum name="GL_FOG_START"/>
-            <enum name="GL_FOG_END"/>
-            <enum name="GL_FOG_MODE"/>
-            <enum name="GL_FOG_COLOR"/>
-            <enum name="GL_CW"/>
-            <enum name="GL_CCW"/>
-            <enum name="GL_CURRENT_COLOR"/>
-            <enum name="GL_CURRENT_NORMAL"/>
-            <enum name="GL_CURRENT_TEXTURE_COORDS"/>
-            <enum name="GL_POINT_SIZE"/>
-            <enum name="GL_POINT_SIZE_MIN"/>
-            <enum name="GL_POINT_SIZE_MAX"/>
-            <enum name="GL_POINT_FADE_THRESHOLD_SIZE"/>
-            <enum name="GL_POINT_DISTANCE_ATTENUATION"/>
-            <enum name="GL_SMOOTH_POINT_SIZE_RANGE"/>
-            <enum name="GL_LINE_WIDTH"/>
-            <enum name="GL_SMOOTH_LINE_WIDTH_RANGE"/>
-            <enum name="GL_ALIASED_POINT_SIZE_RANGE"/>
-            <enum name="GL_ALIASED_LINE_WIDTH_RANGE"/>
-            <enum name="GL_CULL_FACE_MODE"/>
-            <enum name="GL_FRONT_FACE"/>
-            <enum name="GL_SHADE_MODEL"/>
-            <enum name="GL_DEPTH_RANGE"/>
-            <enum name="GL_DEPTH_WRITEMASK"/>
-            <enum name="GL_DEPTH_CLEAR_VALUE"/>
-            <enum name="GL_DEPTH_FUNC"/>
-            <enum name="GL_STENCIL_CLEAR_VALUE"/>
-            <enum name="GL_STENCIL_FUNC"/>
-            <enum name="GL_STENCIL_VALUE_MASK"/>
-            <enum name="GL_STENCIL_FAIL"/>
-            <enum name="GL_STENCIL_PASS_DEPTH_FAIL"/>
-            <enum name="GL_STENCIL_PASS_DEPTH_PASS"/>
-            <enum name="GL_STENCIL_REF"/>
-            <enum name="GL_STENCIL_WRITEMASK"/>
-            <enum name="GL_MATRIX_MODE"/>
-            <enum name="GL_VIEWPORT"/>
-            <enum name="GL_MODELVIEW_STACK_DEPTH"/>
-            <enum name="GL_PROJECTION_STACK_DEPTH"/>
-            <enum name="GL_TEXTURE_STACK_DEPTH"/>
-            <enum name="GL_MODELVIEW_MATRIX"/>
-            <enum name="GL_PROJECTION_MATRIX"/>
-            <enum name="GL_TEXTURE_MATRIX"/>
-            <enum name="GL_ALPHA_TEST_FUNC"/>
-            <enum name="GL_ALPHA_TEST_REF"/>
-            <enum name="GL_BLEND_DST"/>
-            <enum name="GL_BLEND_SRC"/>
-            <enum name="GL_LOGIC_OP_MODE"/>
-            <enum name="GL_SCISSOR_BOX"/>
-            <enum name="GL_COLOR_CLEAR_VALUE"/>
-            <enum name="GL_COLOR_WRITEMASK"/>
-            <enum name="GL_MAX_LIGHTS"/>
-            <enum name="GL_MAX_CLIP_PLANES"/>
-            <enum name="GL_MAX_TEXTURE_SIZE"/>
-            <enum name="GL_MAX_MODELVIEW_STACK_DEPTH"/>
-            <enum name="GL_MAX_PROJECTION_STACK_DEPTH"/>
-            <enum name="GL_MAX_TEXTURE_STACK_DEPTH"/>
-            <enum name="GL_MAX_VIEWPORT_DIMS"/>
-            <enum name="GL_MAX_TEXTURE_UNITS"/>
-            <enum name="GL_SUBPIXEL_BITS"/>
-            <enum name="GL_RED_BITS"/>
-            <enum name="GL_GREEN_BITS"/>
-            <enum name="GL_BLUE_BITS"/>
-            <enum name="GL_ALPHA_BITS"/>
-            <enum name="GL_DEPTH_BITS"/>
-            <enum name="GL_STENCIL_BITS"/>
-            <enum name="GL_POLYGON_OFFSET_UNITS"/>
-            <enum name="GL_POLYGON_OFFSET_FILL"/>
-            <enum name="GL_POLYGON_OFFSET_FACTOR"/>
-            <enum name="GL_TEXTURE_BINDING_2D"/>
-            <enum name="GL_VERTEX_ARRAY_SIZE"/>
-            <enum name="GL_VERTEX_ARRAY_TYPE"/>
-            <enum name="GL_VERTEX_ARRAY_STRIDE"/>
-            <enum name="GL_NORMAL_ARRAY_TYPE"/>
-            <enum name="GL_NORMAL_ARRAY_STRIDE"/>
-            <enum name="GL_COLOR_ARRAY_SIZE"/>
-            <enum name="GL_COLOR_ARRAY_TYPE"/>
-            <enum name="GL_COLOR_ARRAY_STRIDE"/>
-            <enum name="GL_TEXTURE_COORD_ARRAY_SIZE"/>
-            <enum name="GL_TEXTURE_COORD_ARRAY_TYPE"/>
-            <enum name="GL_TEXTURE_COORD_ARRAY_STRIDE"/>
-            <enum name="GL_VERTEX_ARRAY_POINTER"/>
-            <enum name="GL_NORMAL_ARRAY_POINTER"/>
-            <enum name="GL_COLOR_ARRAY_POINTER"/>
-            <enum name="GL_TEXTURE_COORD_ARRAY_POINTER"/>
-            <enum name="GL_SAMPLE_BUFFERS"/>
-            <enum name="GL_SAMPLES"/>
-            <enum name="GL_SAMPLE_COVERAGE_VALUE"/>
-            <enum name="GL_SAMPLE_COVERAGE_INVERT"/>
-            <enum name="GL_NUM_COMPRESSED_TEXTURE_FORMATS"/>
-            <enum name="GL_COMPRESSED_TEXTURE_FORMATS"/>
-            <enum name="GL_DONT_CARE"/>
-            <enum name="GL_FASTEST"/>
-            <enum name="GL_NICEST"/>
-            <enum name="GL_PERSPECTIVE_CORRECTION_HINT"/>
-            <enum name="GL_POINT_SMOOTH_HINT"/>
-            <enum name="GL_LINE_SMOOTH_HINT"/>
-            <enum name="GL_FOG_HINT"/>
-            <enum name="GL_GENERATE_MIPMAP_HINT"/>
-            <enum name="GL_LIGHT_MODEL_AMBIENT"/>
-            <enum name="GL_LIGHT_MODEL_TWO_SIDE"/>
-            <enum name="GL_AMBIENT"/>
-            <enum name="GL_DIFFUSE"/>
-            <enum name="GL_SPECULAR"/>
-            <enum name="GL_POSITION"/>
-            <enum name="GL_SPOT_DIRECTION"/>
-            <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_BYTE"/>
-            <enum name="GL_UNSIGNED_BYTE"/>
-            <enum name="GL_SHORT"/>
-            <enum name="GL_UNSIGNED_SHORT"/>
-            <enum name="GL_FLOAT"/>
-            <enum name="GL_FIXED"/>
-            <enum name="GL_CLEAR"/>
-            <enum name="GL_AND"/>
-            <enum name="GL_AND_REVERSE"/>
-            <enum name="GL_COPY"/>
-            <enum name="GL_AND_INVERTED"/>
-            <enum name="GL_NOOP"/>
-            <enum name="GL_XOR"/>
-            <enum name="GL_OR"/>
-            <enum name="GL_NOR"/>
-            <enum name="GL_EQUIV"/>
-            <enum name="GL_INVERT"/>
-            <enum name="GL_OR_REVERSE"/>
-            <enum name="GL_COPY_INVERTED"/>
-            <enum name="GL_OR_INVERTED"/>
-            <enum name="GL_NAND"/>
-            <enum name="GL_SET"/>
-            <enum name="GL_EMISSION"/>
-            <enum name="GL_SHININESS"/>
-            <enum name="GL_AMBIENT_AND_DIFFUSE"/>
-            <enum name="GL_MODELVIEW"/>
-            <enum name="GL_PROJECTION"/>
-            <enum name="GL_TEXTURE"/>
-            <enum name="GL_ALPHA"/>
-            <enum name="GL_RGB"/>
-            <enum name="GL_RGBA"/>
-            <enum name="GL_LUMINANCE"/>
-            <enum name="GL_LUMINANCE_ALPHA"/>
-            <enum name="GL_UNPACK_ALIGNMENT"/>
-            <enum name="GL_PACK_ALIGNMENT"/>
-            <enum name="GL_UNSIGNED_SHORT_4_4_4_4"/>
-            <enum name="GL_UNSIGNED_SHORT_5_5_5_1"/>
-            <enum name="GL_UNSIGNED_SHORT_5_6_5"/>
-            <enum name="GL_FLAT"/>
-            <enum name="GL_SMOOTH"/>
-            <enum name="GL_KEEP"/>
-            <enum name="GL_REPLACE"/>
-            <enum name="GL_INCR"/>
-            <enum name="GL_DECR"/>
-            <enum name="GL_VENDOR"/>
-            <enum name="GL_RENDERER"/>
-            <enum name="GL_VERSION"/>
-            <enum name="GL_EXTENSIONS"/>
-            <enum name="GL_MODULATE"/>
-            <enum name="GL_DECAL"/>
-            <enum name="GL_ADD"/>
-            <enum name="GL_TEXTURE_ENV_MODE"/>
-            <enum name="GL_TEXTURE_ENV_COLOR"/>
-            <enum name="GL_TEXTURE_ENV"/>
-            <enum name="GL_NEAREST"/>
-            <enum name="GL_LINEAR"/>
-            <enum name="GL_NEAREST_MIPMAP_NEAREST"/>
-            <enum name="GL_LINEAR_MIPMAP_NEAREST"/>
-            <enum name="GL_NEAREST_MIPMAP_LINEAR"/>
-            <enum name="GL_LINEAR_MIPMAP_LINEAR"/>
-            <enum name="GL_TEXTURE_MAG_FILTER"/>
-            <enum name="GL_TEXTURE_MIN_FILTER"/>
-            <enum name="GL_TEXTURE_WRAP_S"/>
-            <enum name="GL_TEXTURE_WRAP_T"/>
-            <enum name="GL_GENERATE_MIPMAP"/>
-            <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"/>
-            <enum name="GL_ACTIVE_TEXTURE"/>
-            <enum name="GL_CLIENT_ACTIVE_TEXTURE"/>
-            <enum name="GL_REPEAT"/>
-            <enum name="GL_CLAMP_TO_EDGE"/>
-            <enum name="GL_LIGHT0"/>
-            <enum name="GL_LIGHT1"/>
-            <enum name="GL_LIGHT2"/>
-            <enum name="GL_LIGHT3"/>
-            <enum name="GL_LIGHT4"/>
-            <enum name="GL_LIGHT5"/>
-            <enum name="GL_LIGHT6"/>
-            <enum name="GL_LIGHT7"/>
-            <enum name="GL_ARRAY_BUFFER"/>
-            <enum name="GL_ELEMENT_ARRAY_BUFFER"/>
-            <enum name="GL_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_ELEMENT_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_VERTEX_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_NORMAL_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_COLOR_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING"/>
-            <enum name="GL_STATIC_DRAW"/>
-            <enum name="GL_DYNAMIC_DRAW"/>
-            <enum name="GL_BUFFER_SIZE"/>
-            <enum name="GL_BUFFER_USAGE"/>
-            <enum name="GL_SUBTRACT"/>
-            <enum name="GL_COMBINE"/>
-            <enum name="GL_COMBINE_RGB"/>
-            <enum name="GL_COMBINE_ALPHA"/>
-            <enum name="GL_RGB_SCALE"/>
-            <enum name="GL_ADD_SIGNED"/>
-            <enum name="GL_INTERPOLATE"/>
-            <enum name="GL_CONSTANT"/>
-            <enum name="GL_PRIMARY_COLOR"/>
-            <enum name="GL_PREVIOUS"/>
-            <enum name="GL_OPERAND0_RGB"/>
-            <enum name="GL_OPERAND1_RGB"/>
-            <enum name="GL_OPERAND2_RGB"/>
-            <enum name="GL_OPERAND0_ALPHA"/>
-            <enum name="GL_OPERAND1_ALPHA"/>
-            <enum name="GL_OPERAND2_ALPHA"/>
-            <enum name="GL_ALPHA_SCALE"/>
-            <enum name="GL_SRC0_RGB"/>
-            <enum name="GL_SRC1_RGB"/>
-            <enum name="GL_SRC2_RGB"/>
-            <enum name="GL_SRC0_ALPHA"/>
-            <enum name="GL_SRC1_ALPHA"/>
-            <enum name="GL_SRC2_ALPHA"/>
-            <enum name="GL_DOT3_RGB"/>
-            <enum name="GL_DOT3_RGBA"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_BINDING"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_START"/>
+            <enum name="GL_ATOMIC_COUNTER_BUFFER_SIZE"/>
+            <enum name="GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_MAX_VERTEX_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_FRAGMENT_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_COMBINED_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE"/>
+            <enum name="GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS"/>
+            <enum name="GL_ACTIVE_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_UNSIGNED_INT_ATOMIC_COUNTER"/>
         </require>
-        <require profile="common">
-            <command name="glAlphaFunc"/>
-            <command name="glClearColor"/>
-            <command name="glClearDepthf"/>
-            <command name="glClipPlanef"/>
-            <command name="glColor4f"/>
-            <command name="glDepthRangef"/>
-            <command name="glFogf"/>
-            <command name="glFogfv"/>
-            <command name="glFrustumf"/>
-            <command name="glGetClipPlanef"/>
-            <command name="glGetFloatv"/>
-            <command name="glGetLightfv"/>
-            <command name="glGetMaterialfv"/>
-            <command name="glGetTexEnvfv"/>
-            <command name="glGetTexParameterfv"/>
-            <command name="glLightModelf"/>
-            <command name="glLightModelfv"/>
-            <command name="glLightf"/>
-            <command name="glLightfv"/>
-            <command name="glLineWidth"/>
-            <command name="glLoadMatrixf"/>
-            <command name="glMaterialf"/>
-            <command name="glMaterialfv"/>
-            <command name="glMultMatrixf"/>
-            <command name="glMultiTexCoord4f"/>
-            <command name="glNormal3f"/>
-            <command name="glOrthof"/>
-            <command name="glPointParameterf"/>
-            <command name="glPointParameterfv"/>
-            <command name="glPointSize"/>
-            <command name="glPolygonOffset"/>
-            <command name="glRotatef"/>
-            <command name="glScalef"/>
-            <command name="glTexEnvf"/>
-            <command name="glTexEnvfv"/>
-            <command name="glTexParameterf"/>
-            <command name="glTexParameterfv"/>
-            <command name="glTranslatef"/>
+        <!-- shader_bitfield_operations features -->
+        <require/>
+        <!-- shader_image_load_store features -->
+        <require>
+            <command name="glBindImageTexture"/>
+            <command name="glGetBooleani_v"/>
+            <command name="glMemoryBarrier"/>
+            <command name="glMemoryBarrierByRegion"/>
+            <enum name="GL_MAX_IMAGE_UNITS"/>
+            <enum name="GL_MAX_VERTEX_IMAGE_UNIFORMS"/>
+            <enum name="GL_MAX_FRAGMENT_IMAGE_UNIFORMS"/>
+            <enum name="GL_MAX_COMPUTE_IMAGE_UNIFORMS"/>
+            <enum name="GL_MAX_COMBINED_IMAGE_UNIFORMS"/>
+            <enum name="GL_IMAGE_BINDING_NAME"/>
+            <enum name="GL_IMAGE_BINDING_LEVEL"/>
+            <enum name="GL_IMAGE_BINDING_LAYERED"/>
+            <enum name="GL_IMAGE_BINDING_LAYER"/>
+            <enum name="GL_IMAGE_BINDING_ACCESS"/>
+            <enum name="GL_IMAGE_BINDING_FORMAT"/>
+            <enum name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT"/>
+            <enum name="GL_ELEMENT_ARRAY_BARRIER_BIT"/>
+            <enum name="GL_UNIFORM_BARRIER_BIT"/>
+            <enum name="GL_TEXTURE_FETCH_BARRIER_BIT"/>
+            <enum name="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT"/>
+            <enum name="GL_COMMAND_BARRIER_BIT"/>
+            <enum name="GL_PIXEL_BUFFER_BARRIER_BIT"/>
+            <enum name="GL_TEXTURE_UPDATE_BARRIER_BIT"/>
+            <enum name="GL_BUFFER_UPDATE_BARRIER_BIT"/>
+            <enum name="GL_FRAMEBUFFER_BARRIER_BIT"/>
+            <enum name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT"/>
+            <enum name="GL_ATOMIC_COUNTER_BARRIER_BIT"/>
+            <enum name="GL_ALL_BARRIER_BITS"/>
+            <enum name="GL_IMAGE_2D"/>
+            <enum name="GL_IMAGE_3D"/>
+            <enum name="GL_IMAGE_CUBE"/>
+            <enum name="GL_IMAGE_2D_ARRAY"/>
+            <enum name="GL_INT_IMAGE_2D"/>
+            <enum name="GL_INT_IMAGE_3D"/>
+            <enum name="GL_INT_IMAGE_CUBE"/>
+            <enum name="GL_INT_IMAGE_2D_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_2D"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_3D"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_CUBE"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_2D_ARRAY"/>
+            <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_TYPE"/>
+            <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE"/>
+            <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS"/>
+            <enum name="GL_READ_ONLY"/>
+            <enum name="GL_WRITE_ONLY"/>
+            <enum name="GL_READ_WRITE"/>
         </require>
+        <!-- shader_layout_binding features -->
+        <require/>
+        <!-- shader_storage_buffer_object features -->
         <require>
-            <command name="glActiveTexture"/>
-            <command name="glAlphaFuncx"/>
-            <command name="glBindBuffer"/>
-            <command name="glBindTexture"/>
-            <command name="glBlendFunc"/>
-            <command name="glBufferData"/>
-            <command name="glBufferSubData"/>
-            <command name="glClear"/>
-            <command name="glClearColorx"/>
-            <command name="glClearDepthx"/>
-            <command name="glClearStencil"/>
-            <command name="glClientActiveTexture"/>
-            <command name="glClipPlanex"/>
-            <command name="glColor4ub"/>
-            <command name="glColor4x"/>
-            <command name="glColorMask"/>
-            <command name="glColorPointer"/>
-            <command name="glCompressedTexImage2D"/>
-            <command name="glCompressedTexSubImage2D"/>
-            <command name="glCopyTexImage2D"/>
-            <command name="glCopyTexSubImage2D"/>
-            <command name="glCullFace"/>
-            <command name="glDeleteBuffers"/>
-            <command name="glDeleteTextures"/>
-            <command name="glDepthFunc"/>
-            <command name="glDepthMask"/>
-            <command name="glDepthRangex"/>
-            <command name="glDisable"/>
-            <command name="glDisableClientState"/>
-            <command name="glDrawArrays"/>
-            <command name="glDrawElements"/>
-            <command name="glEnable"/>
-            <command name="glEnableClientState"/>
-            <command name="glFinish"/>
-            <command name="glFlush"/>
-            <command name="glFogx"/>
-            <command name="glFogxv"/>
-            <command name="glFrontFace"/>
-            <command name="glFrustumx"/>
-            <command name="glGetBooleanv"/>
-            <command name="glGetBufferParameteriv"/>
-            <command name="glGetClipPlanex"/>
-            <command name="glGenBuffers"/>
-            <command name="glGenTextures"/>
-            <command name="glGetError"/>
-            <command name="glGetFixedv"/>
-            <command name="glGetIntegerv"/>
-            <command name="glGetLightxv"/>
-            <command name="glGetMaterialxv"/>
-            <command name="glGetPointerv"/>
-            <command name="glGetString"/>
-            <command name="glGetTexEnviv"/>
-            <command name="glGetTexEnvxv"/>
-            <command name="glGetTexParameteriv"/>
-            <command name="glGetTexParameterxv"/>
-            <command name="glHint"/>
-            <command name="glIsBuffer"/>
-            <command name="glIsEnabled"/>
-            <command name="glIsTexture"/>
-            <command name="glLightModelx"/>
-            <command name="glLightModelxv"/>
-            <command name="glLightx"/>
-            <command name="glLightxv"/>
-            <command name="glLineWidthx"/>
-            <command name="glLoadIdentity"/>
-            <command name="glLoadMatrixx"/>
-            <command name="glLogicOp"/>
-            <command name="glMaterialx"/>
-            <command name="glMaterialxv"/>
-            <command name="glMatrixMode"/>
-            <command name="glMultMatrixx"/>
-            <command name="glMultiTexCoord4x"/>
-            <command name="glNormal3x"/>
-            <command name="glNormalPointer"/>
-            <command name="glOrthox"/>
-            <command name="glPixelStorei"/>
-            <command name="glPointParameterx"/>
-            <command name="glPointParameterxv"/>
-            <command name="glPointSizex"/>
-            <command name="glPolygonOffsetx"/>
-            <command name="glPopMatrix"/>
-            <command name="glPushMatrix"/>
-            <command name="glReadPixels"/>
-            <command name="glRotatex"/>
-            <command name="glSampleCoverage"/>
-            <command name="glSampleCoveragex"/>
-            <command name="glScalex"/>
-            <command name="glScissor"/>
-            <command name="glShadeModel"/>
-            <command name="glStencilFunc"/>
-            <command name="glStencilMask"/>
-            <command name="glStencilOp"/>
-            <command name="glTexCoordPointer"/>
-            <command name="glTexEnvi"/>
-            <command name="glTexEnvx"/>
-            <command name="glTexEnviv"/>
-            <command name="glTexEnvxv"/>
-            <command name="glTexImage2D"/>
-            <command name="glTexParameteri"/>
-            <command name="glTexParameterx"/>
-            <command name="glTexParameteriv"/>
-            <command name="glTexParameterxv"/>
-            <command name="glTexSubImage2D"/>
-            <command name="glTranslatex"/>
-            <command name="glVertexPointer"/>
-            <command name="glViewport"/>
+            <enum name="GL_SHADER_STORAGE_BUFFER"/>
+            <enum name="GL_SHADER_STORAGE_BUFFER_BINDING"/>
+            <enum name="GL_SHADER_STORAGE_BUFFER_START"/>
+            <enum name="GL_SHADER_STORAGE_BUFFER_SIZE"/>
+            <enum name="GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS"/>
+            <enum name="GL_MAX_SHADER_STORAGE_BLOCK_SIZE"/>
+            <enum name="GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT"/>
+            <enum name="GL_SHADER_STORAGE_BARRIER_BIT"/>
+            <enum name="GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES"/>
+        </require>
+        <!-- stencil_texturing features -->
+        <require>
+            <enum name="GL_DEPTH_STENCIL_TEXTURE_MODE"/>
+            <enum name="GL_STENCIL_INDEX"/>
+        </require>
+        <!-- texture_gather features -->
+        <require>
+            <enum name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET"/>
+            <enum name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET"/>
+        </require>
+        <!-- texture_storage_multisample features -->
+        <require>
+            <command name="glTexStorage2DMultisample"/>
+            <command name="glGetMultisamplefv"/>
+            <command name="glSampleMaski"/>
+            <command name="glGetTexLevelParameteriv"/>
+            <command name="glGetTexLevelParameterfv"/>
+            <enum name="GL_SAMPLE_POSITION"/>
+            <enum name="GL_SAMPLE_MASK"/>
+            <enum name="GL_SAMPLE_MASK_VALUE"/>
+            <enum name="GL_TEXTURE_2D_MULTISAMPLE"/>
+            <enum name="GL_MAX_SAMPLE_MASK_WORDS"/>
+            <enum name="GL_MAX_COLOR_TEXTURE_SAMPLES"/>
+            <enum name="GL_MAX_DEPTH_TEXTURE_SAMPLES"/>
+            <enum name="GL_MAX_INTEGER_SAMPLES"/>
+            <enum name="GL_TEXTURE_BINDING_2D_MULTISAMPLE"/>
+            <enum name="GL_TEXTURE_SAMPLES"/>
+            <enum name="GL_TEXTURE_FIXED_SAMPLE_LOCATIONS"/>
+            <enum name="GL_TEXTURE_WIDTH"/>
+            <enum name="GL_TEXTURE_HEIGHT"/>
+            <enum name="GL_TEXTURE_DEPTH"/>
+            <enum name="GL_TEXTURE_INTERNAL_FORMAT"/>
+            <enum name="GL_TEXTURE_RED_SIZE"/>
+            <enum name="GL_TEXTURE_GREEN_SIZE"/>
+            <enum name="GL_TEXTURE_BLUE_SIZE"/>
+            <enum name="GL_TEXTURE_ALPHA_SIZE"/>
+            <enum name="GL_TEXTURE_DEPTH_SIZE"/>
+            <enum name="GL_TEXTURE_STENCIL_SIZE"/>
+            <enum name="GL_TEXTURE_SHARED_SIZE"/>
+            <enum name="GL_TEXTURE_RED_TYPE"/>
+            <enum name="GL_TEXTURE_GREEN_TYPE"/>
+            <enum name="GL_TEXTURE_BLUE_TYPE"/>
+            <enum name="GL_TEXTURE_ALPHA_TYPE"/>
+            <enum name="GL_TEXTURE_DEPTH_TYPE"/>
+            <enum name="GL_TEXTURE_COMPRESSED"/>
+            <enum name="GL_SAMPLER_2D_MULTISAMPLE"/>
+            <enum name="GL_INT_SAMPLER_2D_MULTISAMPLE"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE"/>
+        </require>
+        <!-- vertex_attrib_binding features -->
+        <require>
+            <command name="glBindVertexBuffer"/>
+            <command name="glVertexAttribFormat"/>
+            <command name="glVertexAttribIFormat"/>
+            <command name="glVertexAttribBinding"/>
+            <command name="glVertexBindingDivisor"/>
+            <enum name="GL_VERTEX_ATTRIB_BINDING"/>
+            <enum name="GL_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+            <enum name="GL_VERTEX_BINDING_DIVISOR"/>
+            <enum name="GL_VERTEX_BINDING_OFFSET"/>
+            <enum name="GL_VERTEX_BINDING_STRIDE"/>
+            <enum name="GL_VERTEX_BINDING_BUFFER"/>
+            <enum name="GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+            <enum name="GL_MAX_VERTEX_ATTRIB_BINDINGS"/>
+            <enum name="GL_MAX_VERTEX_ATTRIB_STRIDE"/>
         </require>
     </feature>
-    <feature api="gles2" name="GL_ES_VERSION_2_0" number="2.0">
-        <require comment="Not used by the API, for compatibility with old gl2.h">
-            <type name="GLbyte"/>
-            <type name="GLclampf"/>
-            <type name="GLfixed"/>
-            <type name="GLshort"/>
-            <type name="GLushort"/>
+    <feature api="gles2" name="GL_ES_VERSION_3_2" number="3.2">
+        <!-- 3.2-specific point features -->
+        <require>
+            <enum name="GL_MULTISAMPLE_LINE_WIDTH_RANGE"/>
+            <enum name="GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY"/>
         </require>
-        <require comment="Not used by the API, so this type doesn't need to be declared in gl2ext.h">
-            <type name="GLsync"/>
-            <type name="GLint64"/>
-            <type name="GLuint64"/>
+        <!-- Android extension pack features -->
+        <require/>
+        <!-- blend_equation_advanced features -->
+        <require>
+            <enum name="GL_MULTIPLY"/>
+            <enum name="GL_SCREEN"/>
+            <enum name="GL_OVERLAY"/>
+            <enum name="GL_DARKEN"/>
+            <enum name="GL_LIGHTEN"/>
+            <enum name="GL_COLORDODGE"/>
+            <enum name="GL_COLORBURN"/>
+            <enum name="GL_HARDLIGHT"/>
+            <enum name="GL_SOFTLIGHT"/>
+            <enum name="GL_DIFFERENCE"/>
+            <enum name="GL_EXCLUSION"/>
+            <enum name="GL_HSL_HUE"/>
+            <enum name="GL_HSL_SATURATION"/>
+            <enum name="GL_HSL_COLOR"/>
+            <enum name="GL_HSL_LUMINOSITY"/>
+            <command name="glBlendBarrier"/>
+        </require>
+        <!-- color_buffer_float features -->
+        <require/>
+        <!-- copy_image features -->
+        <require>
+            <command name="glCopyImageSubData"/>
+        </require>
+        <!-- debug features -->
+        <require>
+            <enum name="GL_DEBUG_OUTPUT_SYNCHRONOUS"/>
+            <enum name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH"/>
+            <enum name="GL_DEBUG_CALLBACK_FUNCTION"/>
+            <enum name="GL_DEBUG_CALLBACK_USER_PARAM"/>
+            <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_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_OTHER"/>
+            <enum name="GL_DEBUG_TYPE_MARKER"/>
+            <enum name="GL_DEBUG_TYPE_PUSH_GROUP"/>
+            <enum name="GL_DEBUG_TYPE_POP_GROUP"/>
+            <enum name="GL_DEBUG_SEVERITY_NOTIFICATION"/>
+            <enum name="GL_MAX_DEBUG_GROUP_STACK_DEPTH"/>
+            <enum name="GL_DEBUG_GROUP_STACK_DEPTH"/>
+            <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_SAMPLER"/>
+            <enum name="GL_MAX_LABEL_LENGTH"/>
+            <enum name="GL_MAX_DEBUG_MESSAGE_LENGTH"/>
+            <enum name="GL_MAX_DEBUG_LOGGED_MESSAGES"/>
+            <enum name="GL_DEBUG_LOGGED_MESSAGES"/>
+            <enum name="GL_DEBUG_SEVERITY_HIGH"/>
+            <enum name="GL_DEBUG_SEVERITY_MEDIUM"/>
+            <enum name="GL_DEBUG_SEVERITY_LOW"/>
+            <enum name="GL_DEBUG_OUTPUT"/>
+            <enum name="GL_CONTEXT_FLAG_DEBUG_BIT"/>
+            <enum name="GL_STACK_OVERFLOW"/>
+            <enum name="GL_STACK_UNDERFLOW"/>
+            <command name="glDebugMessageControl"/>
+            <command name="glDebugMessageInsert"/>
+            <command name="glDebugMessageCallback"/>
+            <command name="glGetDebugMessageLog"/>
+            <command name="glPushDebugGroup"/>
+            <command name="glPopDebugGroup"/>
+            <command name="glObjectLabel"/>
+            <command name="glGetObjectLabel"/>
+            <command name="glObjectPtrLabel"/>
+            <command name="glGetObjectPtrLabel"/>
+            <command name="glGetPointerv"/>
+        </require>
+        <!-- draw_buffers_indexed features -->
+        <require>
+            <!-- All tokens are already part of ES 3.0 -->
+            <command name="glEnablei"/>
+            <command name="glDisablei"/>
+            <command name="glBlendEquationi"/>
+            <command name="glBlendEquationSeparatei"/>
+            <command name="glBlendFunci"/>
+            <command name="glBlendFuncSeparatei"/>
+            <command name="glColorMaski"/>
+            <command name="glIsEnabledi"/>
+        </require>
+        <!-- draw_elements_base_vertex features -->
+        <require>
+            <command name="glDrawElementsBaseVertex"/>
+            <command name="glDrawRangeElementsBaseVertex"/>
+            <command name="glDrawElementsInstancedBaseVertex"/>
+        </require>
+        <!-- geometry_shader features -->
+        <require>
+            <enum name="GL_GEOMETRY_SHADER"/>
+            <enum name="GL_GEOMETRY_SHADER_BIT"/>
+            <enum name="GL_GEOMETRY_VERTICES_OUT"/>
+            <enum name="GL_GEOMETRY_INPUT_TYPE"/>
+            <enum name="GL_GEOMETRY_OUTPUT_TYPE"/>
+            <enum name="GL_GEOMETRY_SHADER_INVOCATIONS"/>
+            <enum name="GL_LAYER_PROVOKING_VERTEX"/>
+            <enum name="GL_LINES_ADJACENCY"/>
+            <enum name="GL_LINE_STRIP_ADJACENCY"/>
+            <enum name="GL_TRIANGLES_ADJACENCY"/>
+            <enum name="GL_TRIANGLE_STRIP_ADJACENCY"/>
+            <enum name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_GEOMETRY_INPUT_COMPONENTS"/>
+            <enum name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS"/>
+            <enum name="GL_MAX_GEOMETRY_OUTPUT_VERTICES"/>
+            <enum name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS"/>
+            <enum name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS"/>
+            <enum name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS"/>
+            <enum name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_FIRST_VERTEX_CONVENTION"/>
+            <enum name="GL_LAST_VERTEX_CONVENTION"/>
+            <enum name="GL_UNDEFINED_VERTEX"/>
+            <enum name="GL_PRIMITIVES_GENERATED"/>
+            <enum name="GL_FRAMEBUFFER_DEFAULT_LAYERS"/>
+            <enum name="GL_MAX_FRAMEBUFFER_LAYERS"/>
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS"/>
+            <enum name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED"/>
+            <enum name="GL_REFERENCED_BY_GEOMETRY_SHADER"/>
+            <command name="glFramebufferTexture"/>
+        </require>
+        <!-- gpu_shader5 features -->
+        <require/>
+        <!-- primitive_bounding_box features -->
+        <require>
+            <enum name="GL_PRIMITIVE_BOUNDING_BOX"/>
+            <command name="glPrimitiveBoundingBox"/>
+        </require>
+        <!-- robustness features -->
+        <require>
+            <enum name="GL_NO_ERROR"/>
+            <enum name="GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT"/>
+            <enum name="GL_CONTEXT_FLAGS"/>
+            <enum name="GL_LOSE_CONTEXT_ON_RESET"/>
+            <enum name="GL_GUILTY_CONTEXT_RESET"/>
+            <enum name="GL_INNOCENT_CONTEXT_RESET"/>
+            <enum name="GL_UNKNOWN_CONTEXT_RESET"/>
+            <enum name="GL_RESET_NOTIFICATION_STRATEGY"/>
+            <enum name="GL_NO_RESET_NOTIFICATION"/>
+            <enum name="GL_CONTEXT_LOST"/>
+            <command name="glGetGraphicsResetStatus"/>
+            <command name="glReadnPixels"/>
+            <command name="glGetnUniformfv"/>
+            <command name="glGetnUniformiv"/>
+            <command name="glGetnUniformuiv"/>
+        </require>
+        <!-- sample_shading features -->
+        <require>
+            <command name="glMinSampleShading"/>
+            <enum name="GL_SAMPLE_SHADING"/>
+            <enum name="GL_MIN_SAMPLE_SHADING_VALUE"/>
+        </require>
+        <!-- sample_variables features -->
+        <require/>
+        <!-- shader_image_atomic features -->
+        <require/>
+        <!-- shader_io_blocks features -->
+        <require/>
+        <!-- shader_multisample_interpolation features -->
+        <require>
+            <enum name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET"/>
+            <enum name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET"/>
+            <enum name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS"/>
+        </require>
+        <!-- tessellation_shader features -->
+        <require>
+            <enum name="GL_PATCHES"/>
+            <enum name="GL_PATCH_VERTICES"/>
+            <enum name="GL_TESS_CONTROL_OUTPUT_VERTICES"/>
+            <enum name="GL_TESS_GEN_MODE"/>
+            <enum name="GL_TESS_GEN_SPACING"/>
+            <enum name="GL_TESS_GEN_VERTEX_ORDER"/>
+            <enum name="GL_TESS_GEN_POINT_MODE"/>
+            <enum name="GL_TRIANGLES"/>
+            <enum name="GL_ISOLINES"/>
+            <enum name="GL_QUADS"/>
+            <enum name="GL_EQUAL"/>
+            <enum name="GL_FRACTIONAL_ODD"/>
+            <enum name="GL_FRACTIONAL_EVEN"/>
+            <enum name="GL_CCW"/>
+            <enum name="GL_CW"/>
+            <enum name="GL_MAX_PATCH_VERTICES"/>
+            <enum name="GL_MAX_TESS_GEN_LEVEL"/>
+            <enum name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS"/>
+            <enum name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS"/>
+            <enum name="GL_MAX_TESS_PATCH_COMPONENTS"/>
+            <enum name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS"/>
+            <enum name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS"/>
+            <enum name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS"/>
+            <enum name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
+            <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS"/>
+            <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS"/>
+            <enum name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS"/>
+            <enum name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS"/>
+            <enum name="GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED"/>
+            <enum name="GL_IS_PER_PATCH"/>
+            <enum name="GL_REFERENCED_BY_TESS_CONTROL_SHADER"/>
+            <enum name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
+            <enum name="GL_TESS_CONTROL_SHADER"/>
+            <enum name="GL_TESS_EVALUATION_SHADER"/>
+            <enum name="GL_TESS_CONTROL_SHADER_BIT"/>
+            <enum name="GL_TESS_EVALUATION_SHADER_BIT"/>
+            <command name="glPatchParameteri"/>
+        </require>
+        <!-- texture_border_clamp features -->
+        <require>
+            <enum name="GL_TEXTURE_BORDER_COLOR"/>
+            <enum name="GL_CLAMP_TO_BORDER"/>
+            <command name="glTexParameterIiv"/>
+            <command name="glTexParameterIuiv"/>
+            <command name="glGetTexParameterIiv"/>
+            <command name="glGetTexParameterIuiv"/>
+            <command name="glSamplerParameterIiv"/>
+            <command name="glSamplerParameterIuiv"/>
+            <command name="glGetSamplerParameterIiv"/>
+            <command name="glGetSamplerParameterIuiv"/>
+        </require>
+        <!-- texture_buffer features -->
+        <require>
+            <enum name="GL_TEXTURE_BUFFER"/>
+            <enum name="GL_TEXTURE_BUFFER_BINDING"/>
+            <enum name="GL_MAX_TEXTURE_BUFFER_SIZE"/>
+            <enum name="GL_TEXTURE_BINDING_BUFFER"/>
+            <enum name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING"/>
+            <enum name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT"/>
+            <enum name="GL_SAMPLER_BUFFER"/>
+            <enum name="GL_INT_SAMPLER_BUFFER"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_BUFFER"/>
+            <enum name="GL_IMAGE_BUFFER"/>
+            <enum name="GL_INT_IMAGE_BUFFER"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_BUFFER"/>
+            <enum name="GL_TEXTURE_BUFFER_OFFSET"/>
+            <enum name="GL_TEXTURE_BUFFER_SIZE"/>
+            <command name="glTexBuffer"/>
+            <command name="glTexBufferRange"/>
+        </require>
+        <!-- texture_compression_astc_ldr features -->
+        <require>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_4x4"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_5x4"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_5x5"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_6x5"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_6x6"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_8x5"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_8x6"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_8x8"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_10x5"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_10x6"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_10x8"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_10x10"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_12x10"/>
+            <enum name="GL_COMPRESSED_RGBA_ASTC_12x12"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10"/>
+            <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12"/>
+        </require>
+        <!-- texture_cube_map_array features -->
+        <require>
+            <enum name="GL_TEXTURE_CUBE_MAP_ARRAY"/>
+            <enum name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY"/>
+            <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_IMAGE_CUBE_MAP_ARRAY"/>
+            <enum name="GL_INT_IMAGE_CUBE_MAP_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY"/>
+        </require>
+        <!-- texture_stencil8 features -->
+        <require>
+            <enum name="GL_STENCIL_INDEX"/>
+            <enum name="GL_STENCIL_INDEX8"/>
+        </require>
+        <!-- texture_storage_multisample_2d_array features -->
+        <require>
+            <enum name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+            <enum name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+            <command name="glTexStorage3DMultisample"/>
+        </require>
+    </feature>
+    <feature api="glsc2" name="GL_SC_VERSION_2_0" number="2.0">
+        <require comment="Not used by the API, but could be used by applications">
+            <type name="GLbyte" comment="Used to define GL_BYTE data"/>
+            <type name="GLshort" comment="Used to define GL_SHORT data"/>
+            <type name="GLushort" comment="Used to define GL_UNSIGNED_SHORT data"/>
         </require>
         <require>
             <enum name="GL_DEPTH_BUFFER_BIT"/>
@@ -31263,6 +40313,8 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_INVALID_VALUE"/>
             <enum name="GL_INVALID_OPERATION"/>
             <enum name="GL_OUT_OF_MEMORY"/>
+            <enum name="GL_INVALID_FRAMEBUFFER_OPERATION"/>
+            <enum name="GL_CONTEXT_LOST"/>
             <enum name="GL_CW"/>
             <enum name="GL_CCW"/>
             <enum name="GL_LINE_WIDTH"/>
@@ -31324,18 +40376,13 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_INT"/>
             <enum name="GL_UNSIGNED_INT"/>
             <enum name="GL_FLOAT"/>
-            <enum name="GL_FIXED"/>
-            <enum name="GL_DEPTH_COMPONENT"/>
-            <enum name="GL_ALPHA"/>
+            <enum name="GL_RED"/>
+            <enum name="GL_RG"/>
             <enum name="GL_RGB"/>
             <enum name="GL_RGBA"/>
-            <enum name="GL_LUMINANCE"/>
-            <enum name="GL_LUMINANCE_ALPHA"/>
             <enum name="GL_UNSIGNED_SHORT_4_4_4_4"/>
             <enum name="GL_UNSIGNED_SHORT_5_5_5_1"/>
             <enum name="GL_UNSIGNED_SHORT_5_6_5"/>
-            <enum name="GL_FRAGMENT_SHADER"/>
-            <enum name="GL_VERTEX_SHADER"/>
             <enum name="GL_MAX_VERTEX_ATTRIBS"/>
             <enum name="GL_MAX_VERTEX_UNIFORM_VECTORS"/>
             <enum name="GL_MAX_VARYING_VECTORS"/>
@@ -31343,15 +40390,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS"/>
             <enum name="GL_MAX_TEXTURE_IMAGE_UNITS"/>
             <enum name="GL_MAX_FRAGMENT_UNIFORM_VECTORS"/>
-            <enum name="GL_SHADER_TYPE"/>
-            <enum name="GL_DELETE_STATUS"/>
             <enum name="GL_LINK_STATUS"/>
-            <enum name="GL_VALIDATE_STATUS"/>
-            <enum name="GL_ATTACHED_SHADERS"/>
-            <enum name="GL_ACTIVE_UNIFORMS"/>
-            <enum name="GL_ACTIVE_UNIFORM_MAX_LENGTH"/>
-            <enum name="GL_ACTIVE_ATTRIBUTES"/>
-            <enum name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"/>
             <enum name="GL_SHADING_LANGUAGE_VERSION"/>
             <enum name="GL_CURRENT_PROGRAM"/>
             <enum name="GL_NEVER"/>
@@ -31383,16 +40422,8 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_TEXTURE_MIN_FILTER"/>
             <enum name="GL_TEXTURE_WRAP_S"/>
             <enum name="GL_TEXTURE_WRAP_T"/>
+            <enum name="GL_TEXTURE_IMMUTABLE_FORMAT"/>
             <enum name="GL_TEXTURE"/>
-            <enum name="GL_TEXTURE_CUBE_MAP"/>
-            <enum name="GL_TEXTURE_BINDING_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_MAX_CUBE_MAP_TEXTURE_SIZE"/>
             <enum name="GL_TEXTURE0"/>
             <enum name="GL_TEXTURE1"/>
             <enum name="GL_TEXTURE2"/>
@@ -31429,21 +40460,7 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_REPEAT"/>
             <enum name="GL_CLAMP_TO_EDGE"/>
             <enum name="GL_MIRRORED_REPEAT"/>
-            <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_2D"/>
-            <enum name="GL_SAMPLER_CUBE"/>
             <enum name="GL_VERTEX_ATTRIB_ARRAY_ENABLED"/>
             <enum name="GL_VERTEX_ATTRIB_ARRAY_SIZE"/>
             <enum name="GL_VERTEX_ATTRIB_ARRAY_STRIDE"/>
@@ -31453,12 +40470,8 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"/>
             <enum name="GL_IMPLEMENTATION_COLOR_READ_TYPE"/>
             <enum name="GL_IMPLEMENTATION_COLOR_READ_FORMAT"/>
-            <enum name="GL_COMPILE_STATUS"/>
-            <enum name="GL_INFO_LOG_LENGTH"/>
-            <enum name="GL_SHADER_SOURCE_LENGTH"/>
-            <enum name="GL_SHADER_COMPILER"/>
-            <enum name="GL_SHADER_BINARY_FORMATS"/>
-            <enum name="GL_NUM_SHADER_BINARY_FORMATS"/>
+            <enum name="GL_NUM_PROGRAM_BINARY_FORMATS"/>
+            <enum name="GL_PROGRAM_BINARY_FORMATS"/>
             <enum name="GL_LOW_FLOAT"/>
             <enum name="GL_MEDIUM_FLOAT"/>
             <enum name="GL_HIGH_FLOAT"/>
@@ -31467,6 +40480,10 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_HIGH_INT"/>
             <enum name="GL_FRAMEBUFFER"/>
             <enum name="GL_RENDERBUFFER"/>
+            <enum name="GL_R8"/>
+            <enum name="GL_RG8"/>
+            <enum name="GL_RGB8"/>
+            <enum name="GL_RGBA8"/>
             <enum name="GL_RGBA4"/>
             <enum name="GL_RGB5_A1"/>
             <enum name="GL_RGB565"/>
@@ -31484,7 +40501,6 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"/>
             <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME"/>
             <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL"/>
-            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE"/>
             <enum name="GL_COLOR_ATTACHMENT0"/>
             <enum name="GL_DEPTH_ATTACHMENT"/>
             <enum name="GL_STENCIL_ATTACHMENT"/>
@@ -31494,13 +40510,18 @@ typedef unsigned int GLhandleARB;
             <enum name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"/>
             <enum name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS"/>
             <enum name="GL_FRAMEBUFFER_UNSUPPORTED"/>
+            <enum name="GL_FRAMEBUFFER_UNDEFINED"/>
             <enum name="GL_FRAMEBUFFER_BINDING"/>
             <enum name="GL_RENDERBUFFER_BINDING"/>
             <enum name="GL_MAX_RENDERBUFFER_SIZE"/>
-            <enum name="GL_INVALID_FRAMEBUFFER_OPERATION"/>
+            <enum name="GL_NO_ERROR"/>
+            <enum name="GL_GUILTY_CONTEXT_RESET"/>
+            <enum name="GL_INNOCENT_CONTEXT_RESET"/>
+            <enum name="GL_UNKNOWN_CONTEXT_RESET"/>
+            <enum name="GL_CONTEXT_ROBUST_ACCESS"/>
+            <enum name="GL_RESET_NOTIFICATION_STRATEGY"/>
+            <enum name="GL_LOSE_CONTEXT_ON_RESET"/>
             <command name="glActiveTexture"/>
-            <command name="glAttachShader"/>
-            <command name="glBindAttribLocation"/>
             <command name="glBindBuffer"/>
             <command name="glBindFramebuffer"/>
             <command name="glBindRenderbuffer"/>
@@ -31518,28 +40539,16 @@ typedef unsigned int GLhandleARB;
             <command name="glClearDepthf"/>
             <command name="glClearStencil"/>
             <command name="glColorMask"/>
-            <command name="glCompileShader"/>
-            <command name="glCompressedTexImage2D"/>
             <command name="glCompressedTexSubImage2D"/>
-            <command name="glCopyTexImage2D"/>
-            <command name="glCopyTexSubImage2D"/>
             <command name="glCreateProgram"/>
-            <command name="glCreateShader"/>
             <command name="glCullFace"/>
-            <command name="glDeleteBuffers"/>
-            <command name="glDeleteFramebuffers"/>
-            <command name="glDeleteProgram"/>
-            <command name="glDeleteRenderbuffers"/>
-            <command name="glDeleteShader"/>
-            <command name="glDeleteTextures"/>
             <command name="glDepthFunc"/>
             <command name="glDepthMask"/>
             <command name="glDepthRangef"/>
-            <command name="glDetachShader"/>
             <command name="glDisable"/>
             <command name="glDisableVertexAttribArray"/>
             <command name="glDrawArrays"/>
-            <command name="glDrawElements"/>
+            <command name="glDrawRangeElements"/>
             <command name="glEnable"/>
             <command name="glEnableVertexAttribArray"/>
             <command name="glFinish"/>
@@ -31552,58 +40561,42 @@ typedef unsigned int GLhandleARB;
             <command name="glGenFramebuffers"/>
             <command name="glGenRenderbuffers"/>
             <command name="glGenTextures"/>
-            <command name="glGetActiveAttrib"/>
-            <command name="glGetActiveUniform"/>
-            <command name="glGetAttachedShaders"/>
             <command name="glGetAttribLocation"/>
             <command name="glGetBooleanv"/>
             <command name="glGetBufferParameteriv"/>
             <command name="glGetError"/>
             <command name="glGetFloatv"/>
             <command name="glGetFramebufferAttachmentParameteriv"/>
+            <command name="glGetGraphicsResetStatus"/>
             <command name="glGetIntegerv"/>
             <command name="glGetProgramiv"/>
-            <command name="glGetProgramInfoLog"/>
             <command name="glGetRenderbufferParameteriv"/>
-            <command name="glGetShaderiv"/>
-            <command name="glGetShaderInfoLog"/>
-            <command name="glGetShaderPrecisionFormat"/>
-            <command name="glGetShaderSource"/>
             <command name="glGetString"/>
             <command name="glGetTexParameterfv"/>
             <command name="glGetTexParameteriv"/>
-            <command name="glGetUniformfv"/>
-            <command name="glGetUniformiv"/>
+            <command name="glGetnUniformfv"/>
+            <command name="glGetnUniformiv"/>
             <command name="glGetUniformLocation"/>
             <command name="glGetVertexAttribfv"/>
             <command name="glGetVertexAttribiv"/>
             <command name="glGetVertexAttribPointerv"/>
             <command name="glHint"/>
-            <command name="glIsBuffer"/>
             <command name="glIsEnabled"/>
-            <command name="glIsFramebuffer"/>
-            <command name="glIsProgram"/>
-            <command name="glIsRenderbuffer"/>
-            <command name="glIsShader"/>
-            <command name="glIsTexture"/>
             <command name="glLineWidth"/>
-            <command name="glLinkProgram"/>
             <command name="glPixelStorei"/>
             <command name="glPolygonOffset"/>
-            <command name="glReadPixels"/>
-            <command name="glReleaseShaderCompiler"/>
+            <command name="glProgramBinary"/>
+            <command name="glReadnPixels"/>
             <command name="glRenderbufferStorage"/>
             <command name="glSampleCoverage"/>
             <command name="glScissor"/>
-            <command name="glShaderBinary"/>
-            <command name="glShaderSource"/>
             <command name="glStencilFunc"/>
             <command name="glStencilFuncSeparate"/>
             <command name="glStencilMask"/>
             <command name="glStencilMaskSeparate"/>
             <command name="glStencilOp"/>
             <command name="glStencilOpSeparate"/>
-            <command name="glTexImage2D"/>
+            <command name="glTexStorage2D"/>
             <command name="glTexParameterf"/>
             <command name="glTexParameterfv"/>
             <command name="glTexParameteri"/>
@@ -31629,7 +40622,6 @@ typedef unsigned int GLhandleARB;
             <command name="glUniformMatrix3fv"/>
             <command name="glUniformMatrix4fv"/>
             <command name="glUseProgram"/>
-            <command name="glValidateProgram"/>
             <command name="glVertexAttrib1f"/>
             <command name="glVertexAttrib1fv"/>
             <command name="glVertexAttrib2f"/>
@@ -31642,422 +40634,6 @@ typedef unsigned int GLhandleARB;
             <command name="glViewport"/>
         </require>
     </feature>
-    <feature api="gles2" name="GL_ES_VERSION_3_0" number="3.0">
-        <require comment="Not used by the API, for compatibility with old gl2.h">
-            <type name="GLhalf"/>
-        </require>
-        <require>
-            <enum name="GL_READ_BUFFER"/>
-            <enum name="GL_UNPACK_ROW_LENGTH"/>
-            <enum name="GL_UNPACK_SKIP_ROWS"/>
-            <enum name="GL_UNPACK_SKIP_PIXELS"/>
-            <enum name="GL_PACK_ROW_LENGTH"/>
-            <enum name="GL_PACK_SKIP_ROWS"/>
-            <enum name="GL_PACK_SKIP_PIXELS"/>
-            <enum name="GL_COLOR"/>
-            <enum name="GL_DEPTH"/>
-            <enum name="GL_STENCIL"/>
-            <enum name="GL_RED"/>
-            <enum name="GL_RGB8"/>
-            <enum name="GL_RGBA8"/>
-            <enum name="GL_RGB10_A2"/>
-            <enum name="GL_TEXTURE_BINDING_3D"/>
-            <enum name="GL_UNPACK_SKIP_IMAGES"/>
-            <enum name="GL_UNPACK_IMAGE_HEIGHT"/>
-            <enum name="GL_TEXTURE_3D"/>
-            <enum name="GL_TEXTURE_WRAP_R"/>
-            <enum name="GL_MAX_3D_TEXTURE_SIZE"/>
-            <enum name="GL_UNSIGNED_INT_2_10_10_10_REV"/>
-            <enum name="GL_MAX_ELEMENTS_VERTICES"/>
-            <enum name="GL_MAX_ELEMENTS_INDICES"/>
-            <enum name="GL_TEXTURE_MIN_LOD"/>
-            <enum name="GL_TEXTURE_MAX_LOD"/>
-            <enum name="GL_TEXTURE_BASE_LEVEL"/>
-            <enum name="GL_TEXTURE_MAX_LEVEL"/>
-            <enum name="GL_MIN"/>
-            <enum name="GL_MAX"/>
-            <enum name="GL_DEPTH_COMPONENT24"/>
-            <enum name="GL_MAX_TEXTURE_LOD_BIAS"/>
-            <enum name="GL_TEXTURE_COMPARE_MODE"/>
-            <enum name="GL_TEXTURE_COMPARE_FUNC"/>
-            <enum name="GL_CURRENT_QUERY"/>
-            <enum name="GL_QUERY_RESULT"/>
-            <enum name="GL_QUERY_RESULT_AVAILABLE"/>
-            <enum name="GL_BUFFER_MAPPED"/>
-            <enum name="GL_BUFFER_MAP_POINTER"/>
-            <enum name="GL_STREAM_READ"/>
-            <enum name="GL_STREAM_COPY"/>
-            <enum name="GL_STATIC_READ"/>
-            <enum name="GL_STATIC_COPY"/>
-            <enum name="GL_DYNAMIC_READ"/>
-            <enum name="GL_DYNAMIC_COPY"/>
-            <enum name="GL_MAX_DRAW_BUFFERS"/>
-            <enum name="GL_DRAW_BUFFER0"/>
-            <enum name="GL_DRAW_BUFFER1"/>
-            <enum name="GL_DRAW_BUFFER2"/>
-            <enum name="GL_DRAW_BUFFER3"/>
-            <enum name="GL_DRAW_BUFFER4"/>
-            <enum name="GL_DRAW_BUFFER5"/>
-            <enum name="GL_DRAW_BUFFER6"/>
-            <enum name="GL_DRAW_BUFFER7"/>
-            <enum name="GL_DRAW_BUFFER8"/>
-            <enum name="GL_DRAW_BUFFER9"/>
-            <enum name="GL_DRAW_BUFFER10"/>
-            <enum name="GL_DRAW_BUFFER11"/>
-            <enum name="GL_DRAW_BUFFER12"/>
-            <enum name="GL_DRAW_BUFFER13"/>
-            <enum name="GL_DRAW_BUFFER14"/>
-            <enum name="GL_DRAW_BUFFER15"/>
-            <enum name="GL_MAX_FRAGMENT_UNIFORM_COMPONENTS"/>
-            <enum name="GL_MAX_VERTEX_UNIFORM_COMPONENTS"/>
-            <enum name="GL_SAMPLER_3D"/>
-            <enum name="GL_SAMPLER_2D_SHADOW"/>
-            <enum name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT"/>
-            <enum name="GL_PIXEL_PACK_BUFFER"/>
-            <enum name="GL_PIXEL_UNPACK_BUFFER"/>
-            <enum name="GL_PIXEL_PACK_BUFFER_BINDING"/>
-            <enum name="GL_PIXEL_UNPACK_BUFFER_BINDING"/>
-            <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_SRGB"/>
-            <enum name="GL_SRGB8"/>
-            <enum name="GL_SRGB8_ALPHA8"/>
-            <enum name="GL_COMPARE_REF_TO_TEXTURE"/>
-            <enum name="GL_MAJOR_VERSION"/>
-            <enum name="GL_MINOR_VERSION"/>
-            <enum name="GL_NUM_EXTENSIONS"/>
-            <enum name="GL_RGBA32F"/>
-            <enum name="GL_RGB32F"/>
-            <enum name="GL_RGBA16F"/>
-            <enum name="GL_RGB16F"/>
-            <enum name="GL_VERTEX_ATTRIB_ARRAY_INTEGER"/>
-            <enum name="GL_MAX_ARRAY_TEXTURE_LAYERS"/>
-            <enum name="GL_MIN_PROGRAM_TEXEL_OFFSET"/>
-            <enum name="GL_MAX_PROGRAM_TEXEL_OFFSET"/>
-            <enum name="GL_MAX_VARYING_COMPONENTS"/>
-            <enum name="GL_TEXTURE_2D_ARRAY"/>
-            <enum name="GL_TEXTURE_BINDING_2D_ARRAY"/>
-            <enum name="GL_R11F_G11F_B10F"/>
-            <enum name="GL_UNSIGNED_INT_10F_11F_11F_REV"/>
-            <enum name="GL_RGB9_E5"/>
-            <enum name="GL_UNSIGNED_INT_5_9_9_9_REV"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE"/>
-            <enum name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_VARYINGS"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_START"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"/>
-            <enum name="GL_RASTERIZER_DISCARD"/>
-            <enum name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS"/>
-            <enum name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS"/>
-            <enum name="GL_INTERLEAVED_ATTRIBS"/>
-            <enum name="GL_SEPARATE_ATTRIBS"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING"/>
-            <enum name="GL_RGBA32UI"/>
-            <enum name="GL_RGB32UI"/>
-            <enum name="GL_RGBA16UI"/>
-            <enum name="GL_RGB16UI"/>
-            <enum name="GL_RGBA8UI"/>
-            <enum name="GL_RGB8UI"/>
-            <enum name="GL_RGBA32I"/>
-            <enum name="GL_RGB32I"/>
-            <enum name="GL_RGBA16I"/>
-            <enum name="GL_RGB16I"/>
-            <enum name="GL_RGBA8I"/>
-            <enum name="GL_RGB8I"/>
-            <enum name="GL_RED_INTEGER"/>
-            <enum name="GL_RGB_INTEGER"/>
-            <enum name="GL_RGBA_INTEGER"/>
-            <enum name="GL_SAMPLER_2D_ARRAY"/>
-            <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_2D"/>
-            <enum name="GL_INT_SAMPLER_3D"/>
-            <enum name="GL_INT_SAMPLER_CUBE"/>
-            <enum name="GL_INT_SAMPLER_2D_ARRAY"/>
-            <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_ARRAY"/>
-            <enum name="GL_BUFFER_ACCESS_FLAGS"/>
-            <enum name="GL_BUFFER_MAP_LENGTH"/>
-            <enum name="GL_BUFFER_MAP_OFFSET"/>
-            <enum name="GL_DEPTH_COMPONENT32F"/>
-            <enum name="GL_DEPTH32F_STENCIL8"/>
-            <enum name="GL_FLOAT_32_UNSIGNED_INT_24_8_REV"/>
-            <enum name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING"/>
-            <enum name="GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE"/>
-            <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_DEFAULT"/>
-            <enum name="GL_FRAMEBUFFER_UNDEFINED"/>
-            <enum name="GL_DEPTH_STENCIL_ATTACHMENT"/>
-            <enum name="GL_DEPTH_STENCIL"/>
-            <enum name="GL_UNSIGNED_INT_24_8"/>
-            <enum name="GL_DEPTH24_STENCIL8"/>
-            <enum name="GL_UNSIGNED_NORMALIZED"/>
-            <enum name="GL_DRAW_FRAMEBUFFER_BINDING"/>
-            <enum name="GL_READ_FRAMEBUFFER"/>
-            <enum name="GL_DRAW_FRAMEBUFFER"/>
-            <enum name="GL_READ_FRAMEBUFFER_BINDING"/>
-            <enum name="GL_RENDERBUFFER_SAMPLES"/>
-            <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"/>
-            <enum name="GL_MAX_COLOR_ATTACHMENTS"/>
-            <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_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"/>
-            <enum name="GL_MAX_SAMPLES"/>
-            <enum name="GL_HALF_FLOAT"/>
-            <enum name="GL_MAP_READ_BIT"/>
-            <enum name="GL_MAP_WRITE_BIT"/>
-            <enum name="GL_MAP_INVALIDATE_RANGE_BIT"/>
-            <enum name="GL_MAP_INVALIDATE_BUFFER_BIT"/>
-            <enum name="GL_MAP_FLUSH_EXPLICIT_BIT"/>
-            <enum name="GL_MAP_UNSYNCHRONIZED_BIT"/>
-            <enum name="GL_RG"/>
-            <enum name="GL_RG_INTEGER"/>
-            <enum name="GL_R8"/>
-            <enum name="GL_RG8"/>
-            <enum name="GL_R16F"/>
-            <enum name="GL_R32F"/>
-            <enum name="GL_RG16F"/>
-            <enum name="GL_RG32F"/>
-            <enum name="GL_R8I"/>
-            <enum name="GL_R8UI"/>
-            <enum name="GL_R16I"/>
-            <enum name="GL_R16UI"/>
-            <enum name="GL_R32I"/>
-            <enum name="GL_R32UI"/>
-            <enum name="GL_RG8I"/>
-            <enum name="GL_RG8UI"/>
-            <enum name="GL_RG16I"/>
-            <enum name="GL_RG16UI"/>
-            <enum name="GL_RG32I"/>
-            <enum name="GL_RG32UI"/>
-            <enum name="GL_VERTEX_ARRAY_BINDING"/>
-            <enum name="GL_R8_SNORM"/>
-            <enum name="GL_RG8_SNORM"/>
-            <enum name="GL_RGB8_SNORM"/>
-            <enum name="GL_RGBA8_SNORM"/>
-            <enum name="GL_SIGNED_NORMALIZED"/>
-            <enum name="GL_PRIMITIVE_RESTART_FIXED_INDEX"/>
-            <enum name="GL_COPY_READ_BUFFER"/>
-            <enum name="GL_COPY_WRITE_BUFFER"/>
-            <enum name="GL_COPY_READ_BUFFER_BINDING"/>
-            <enum name="GL_COPY_WRITE_BUFFER_BINDING"/>
-            <enum name="GL_UNIFORM_BUFFER"/>
-            <enum name="GL_UNIFORM_BUFFER_BINDING"/>
-            <enum name="GL_UNIFORM_BUFFER_START"/>
-            <enum name="GL_UNIFORM_BUFFER_SIZE"/>
-            <enum name="GL_MAX_VERTEX_UNIFORM_BLOCKS"/>
-            <enum name="GL_MAX_FRAGMENT_UNIFORM_BLOCKS"/>
-            <enum name="GL_MAX_COMBINED_UNIFORM_BLOCKS"/>
-            <enum name="GL_MAX_UNIFORM_BUFFER_BINDINGS"/>
-            <enum name="GL_MAX_UNIFORM_BLOCK_SIZE"/>
-            <enum name="GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"/>
-            <enum name="GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"/>
-            <enum name="GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT"/>
-            <enum name="GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH"/>
-            <enum name="GL_ACTIVE_UNIFORM_BLOCKS"/>
-            <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_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_FRAGMENT_SHADER"/>
-            <enum name="GL_INVALID_INDEX"/>
-            <enum name="GL_MAX_VERTEX_OUTPUT_COMPONENTS"/>
-            <enum name="GL_MAX_FRAGMENT_INPUT_COMPONENTS"/>
-            <enum name="GL_MAX_SERVER_WAIT_TIMEOUT"/>
-            <enum name="GL_OBJECT_TYPE"/>
-            <enum name="GL_SYNC_CONDITION"/>
-            <enum name="GL_SYNC_STATUS"/>
-            <enum name="GL_SYNC_FLAGS"/>
-            <enum name="GL_SYNC_FENCE"/>
-            <enum name="GL_SYNC_GPU_COMMANDS_COMPLETE"/>
-            <enum name="GL_UNSIGNALED"/>
-            <enum name="GL_SIGNALED"/>
-            <enum name="GL_ALREADY_SIGNALED"/>
-            <enum name="GL_TIMEOUT_EXPIRED"/>
-            <enum name="GL_CONDITION_SATISFIED"/>
-            <enum name="GL_WAIT_FAILED"/>
-            <enum name="GL_SYNC_FLUSH_COMMANDS_BIT"/>
-            <enum name="GL_TIMEOUT_IGNORED"/>
-            <enum name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR"/>
-            <enum name="GL_ANY_SAMPLES_PASSED"/>
-            <enum name="GL_ANY_SAMPLES_PASSED_CONSERVATIVE"/>
-            <enum name="GL_SAMPLER_BINDING"/>
-            <enum name="GL_RGB10_A2UI"/>
-            <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_GREEN"/>
-            <enum name="GL_BLUE"/>
-            <enum name="GL_INT_2_10_10_10_REV"/>
-            <enum name="GL_TRANSFORM_FEEDBACK"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_PAUSED"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_ACTIVE"/>
-            <enum name="GL_TRANSFORM_FEEDBACK_BINDING"/>
-            <enum name="GL_PROGRAM_BINARY_RETRIEVABLE_HINT"/>
-            <enum name="GL_PROGRAM_BINARY_LENGTH"/>
-            <enum name="GL_NUM_PROGRAM_BINARY_FORMATS"/>
-            <enum name="GL_PROGRAM_BINARY_FORMATS"/>
-            <enum name="GL_COMPRESSED_R11_EAC"/>
-            <enum name="GL_COMPRESSED_SIGNED_R11_EAC"/>
-            <enum name="GL_COMPRESSED_RG11_EAC"/>
-            <enum name="GL_COMPRESSED_SIGNED_RG11_EAC"/>
-            <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_TEXTURE_IMMUTABLE_FORMAT"/>
-            <enum name="GL_MAX_ELEMENT_INDEX"/>
-            <enum name="GL_NUM_SAMPLE_COUNTS"/>
-            <enum name="GL_TEXTURE_IMMUTABLE_LEVELS"/>
-            <command name="glReadBuffer"/>
-            <command name="glDrawRangeElements"/>
-            <command name="glTexImage3D"/>
-            <command name="glTexSubImage3D"/>
-            <command name="glCopyTexSubImage3D"/>
-            <command name="glCompressedTexImage3D"/>
-            <command name="glCompressedTexSubImage3D"/>
-            <command name="glGenQueries"/>
-            <command name="glDeleteQueries"/>
-            <command name="glIsQuery"/>
-            <command name="glBeginQuery"/>
-            <command name="glEndQuery"/>
-            <command name="glGetQueryiv"/>
-            <command name="glGetQueryObjectuiv"/>
-            <command name="glUnmapBuffer"/>
-            <command name="glGetBufferPointerv"/>
-            <command name="glDrawBuffers"/>
-            <command name="glUniformMatrix2x3fv"/>
-            <command name="glUniformMatrix3x2fv"/>
-            <command name="glUniformMatrix2x4fv"/>
-            <command name="glUniformMatrix4x2fv"/>
-            <command name="glUniformMatrix3x4fv"/>
-            <command name="glUniformMatrix4x3fv"/>
-            <command name="glBlitFramebuffer"/>
-            <command name="glRenderbufferStorageMultisample"/>
-            <command name="glFramebufferTextureLayer"/>
-            <command name="glMapBufferRange"/>
-            <command name="glFlushMappedBufferRange"/>
-            <command name="glBindVertexArray"/>
-            <command name="glDeleteVertexArrays"/>
-            <command name="glGenVertexArrays"/>
-            <command name="glIsVertexArray"/>
-            <command name="glGetIntegeri_v"/>
-            <command name="glBeginTransformFeedback"/>
-            <command name="glEndTransformFeedback"/>
-            <command name="glBindBufferRange"/>
-            <command name="glBindBufferBase"/>
-            <command name="glTransformFeedbackVaryings"/>
-            <command name="glGetTransformFeedbackVarying"/>
-            <command name="glVertexAttribIPointer"/>
-            <command name="glGetVertexAttribIiv"/>
-            <command name="glGetVertexAttribIuiv"/>
-            <command name="glVertexAttribI4i"/>
-            <command name="glVertexAttribI4ui"/>
-            <command name="glVertexAttribI4iv"/>
-            <command name="glVertexAttribI4uiv"/>
-            <command name="glGetUniformuiv"/>
-            <command name="glGetFragDataLocation"/>
-            <command name="glUniform1ui"/>
-            <command name="glUniform2ui"/>
-            <command name="glUniform3ui"/>
-            <command name="glUniform4ui"/>
-            <command name="glUniform1uiv"/>
-            <command name="glUniform2uiv"/>
-            <command name="glUniform3uiv"/>
-            <command name="glUniform4uiv"/>
-            <command name="glClearBufferiv"/>
-            <command name="glClearBufferuiv"/>
-            <command name="glClearBufferfv"/>
-            <command name="glClearBufferfi"/>
-            <command name="glGetStringi"/>
-            <command name="glCopyBufferSubData"/>
-            <command name="glGetUniformIndices"/>
-            <command name="glGetActiveUniformsiv"/>
-            <command name="glGetUniformBlockIndex"/>
-            <command name="glGetActiveUniformBlockiv"/>
-            <command name="glGetActiveUniformBlockName"/>
-            <command name="glUniformBlockBinding"/>
-            <command name="glDrawArraysInstanced"/>
-            <command name="glDrawElementsInstanced"/>
-            <command name="glFenceSync"/>
-            <command name="glIsSync"/>
-            <command name="glDeleteSync"/>
-            <command name="glClientWaitSync"/>
-            <command name="glWaitSync"/>
-            <command name="glGetInteger64v"/>
-            <command name="glGetSynciv"/>
-            <command name="glGetInteger64i_v"/>
-            <command name="glGetBufferParameteri64v"/>
-            <command name="glGenSamplers"/>
-            <command name="glDeleteSamplers"/>
-            <command name="glIsSampler"/>
-            <command name="glBindSampler"/>
-            <command name="glSamplerParameteri"/>
-            <command name="glSamplerParameteriv"/>
-            <command name="glSamplerParameterf"/>
-            <command name="glSamplerParameterfv"/>
-            <command name="glGetSamplerParameteriv"/>
-            <command name="glGetSamplerParameterfv"/>
-            <command name="glVertexAttribDivisor"/>
-            <command name="glBindTransformFeedback"/>
-            <command name="glDeleteTransformFeedbacks"/>
-            <command name="glGenTransformFeedbacks"/>
-            <command name="glIsTransformFeedback"/>
-            <command name="glPauseTransformFeedback"/>
-            <command name="glResumeTransformFeedback"/>
-            <command name="glGetProgramBinary"/>
-            <command name="glProgramBinary"/>
-            <command name="glProgramParameteri"/>
-            <command name="glInvalidateFramebuffer"/>
-            <command name="glInvalidateSubFramebuffer"/>
-            <command name="glTexStorage2D"/>
-            <command name="glTexStorage3D"/>
-            <command name="glGetInternalformativ"/>
-        </require>
-    </feature>
 
     <!-- SECTION: OpenGL / OpenGL ES extension interface definitions -->
     <extensions>
@@ -32099,10 +40675,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD"/>
             </require>
         </extension>
-        <extension name="GL_AMD_conservative_depth" supported="gl">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_AMD_conservative_depth" supported="gl"/>
         <extension name="GL_AMD_debug_output" supported="gl">
             <require>
                 <enum name="GL_MAX_DEBUG_MESSAGE_LENGTH_AMD"/>
@@ -32139,6 +40712,117 @@ typedef unsigned int GLhandleARB;
                 <command name="glBlendEquationSeparateIndexedAMD"/>
             </require>
         </extension>
+        <extension name="GL_AMD_framebuffer_multisample_advanced" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_RENDERBUFFER_STORAGE_SAMPLES_AMD"/>
+                <enum name="GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD"/>
+                <enum name="GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD"/>
+                <enum name="GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD"/>
+                <enum name="GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD"/>
+                <enum name="GL_SUPPORTED_MULTISAMPLE_MODES_AMD"/>
+                <command name="glRenderbufferStorageMultisampleAdvancedAMD"/>
+                <command name="glNamedRenderbufferStorageMultisampleAdvancedAMD"/>
+            </require>
+        </extension>
+        <extension name="GL_AMD_framebuffer_sample_positions" supported="gl">
+            <require>
+                <enum name="GL_SUBSAMPLE_DISTANCE_AMD"/>
+                <enum name="GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD"/>
+                <enum name="GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD"/>
+                <enum name="GL_ALL_PIXELS_AMD"/>
+                <command name="glFramebufferSamplePositionsfvAMD"/>
+                <command name="glNamedFramebufferSamplePositionsfvAMD"/>
+                <command name="glGetFramebufferParameterfvAMD"/>
+                <command name="glGetNamedFramebufferParameterfvAMD"/>
+            </require>
+        </extension>
+        <extension name="GL_AMD_gcn_shader" supported="gl"/>
+        <extension name="GL_AMD_gpu_shader_half_float" supported="gl">
+            <require>
+                <enum name="GL_FLOAT16_NV"/>
+                <enum name="GL_FLOAT16_VEC2_NV"/>
+                <enum name="GL_FLOAT16_VEC3_NV"/>
+                <enum name="GL_FLOAT16_VEC4_NV"/>
+                <enum name="GL_FLOAT16_MAT2_AMD"/>
+                <enum name="GL_FLOAT16_MAT3_AMD"/>
+                <enum name="GL_FLOAT16_MAT4_AMD"/>
+                <enum name="GL_FLOAT16_MAT2x3_AMD"/>
+                <enum name="GL_FLOAT16_MAT2x4_AMD"/>
+                <enum name="GL_FLOAT16_MAT3x2_AMD"/>
+                <enum name="GL_FLOAT16_MAT3x4_AMD"/>
+                <enum name="GL_FLOAT16_MAT4x2_AMD"/>
+                <enum name="GL_FLOAT16_MAT4x3_AMD"/>
+            </require>
+        </extension>
+        <extension name="GL_AMD_gpu_shader_int16" supported="gl"/>
+        <extension name="GL_AMD_gpu_shader_int64" supported="gl">
+            <require>
+                <enum name="GL_INT64_NV"/>
+                <enum name="GL_UNSIGNED_INT64_NV"/>
+                <enum name="GL_INT8_NV"/>
+                <enum name="GL_INT8_VEC2_NV"/>
+                <enum name="GL_INT8_VEC3_NV"/>
+                <enum name="GL_INT8_VEC4_NV"/>
+                <enum name="GL_INT16_NV"/>
+                <enum name="GL_INT16_VEC2_NV"/>
+                <enum name="GL_INT16_VEC3_NV"/>
+                <enum name="GL_INT16_VEC4_NV"/>
+                <enum name="GL_INT64_VEC2_NV"/>
+                <enum name="GL_INT64_VEC3_NV"/>
+                <enum name="GL_INT64_VEC4_NV"/>
+                <enum name="GL_UNSIGNED_INT8_NV"/>
+                <enum name="GL_UNSIGNED_INT8_VEC2_NV"/>
+                <enum name="GL_UNSIGNED_INT8_VEC3_NV"/>
+                <enum name="GL_UNSIGNED_INT8_VEC4_NV"/>
+                <enum name="GL_UNSIGNED_INT16_NV"/>
+                <enum name="GL_UNSIGNED_INT16_VEC2_NV"/>
+                <enum name="GL_UNSIGNED_INT16_VEC3_NV"/>
+                <enum name="GL_UNSIGNED_INT16_VEC4_NV"/>
+                <enum name="GL_UNSIGNED_INT64_VEC2_NV"/>
+                <enum name="GL_UNSIGNED_INT64_VEC3_NV"/>
+                <enum name="GL_UNSIGNED_INT64_VEC4_NV"/>
+                <enum name="GL_FLOAT16_NV"/>
+                <enum name="GL_FLOAT16_VEC2_NV"/>
+                <enum name="GL_FLOAT16_VEC3_NV"/>
+                <enum name="GL_FLOAT16_VEC4_NV"/>
+                <command name="glUniform1i64NV"/>
+                <command name="glUniform2i64NV"/>
+                <command name="glUniform3i64NV"/>
+                <command name="glUniform4i64NV"/>
+                <command name="glUniform1i64vNV"/>
+                <command name="glUniform2i64vNV"/>
+                <command name="glUniform3i64vNV"/>
+                <command name="glUniform4i64vNV"/>
+                <command name="glUniform1ui64NV"/>
+                <command name="glUniform2ui64NV"/>
+                <command name="glUniform3ui64NV"/>
+                <command name="glUniform4ui64NV"/>
+                <command name="glUniform1ui64vNV"/>
+                <command name="glUniform2ui64vNV"/>
+                <command name="glUniform3ui64vNV"/>
+                <command name="glUniform4ui64vNV"/>
+                <command name="glGetUniformi64vNV"/>
+                <command name="glGetUniformui64vNV"/>
+            </require>
+            <require comment="Supported only if GL_EXT_direct_state_access is supported">
+                <command name="glProgramUniform1i64NV"/>
+                <command name="glProgramUniform2i64NV"/>
+                <command name="glProgramUniform3i64NV"/>
+                <command name="glProgramUniform4i64NV"/>
+                <command name="glProgramUniform1i64vNV"/>
+                <command name="glProgramUniform2i64vNV"/>
+                <command name="glProgramUniform3i64vNV"/>
+                <command name="glProgramUniform4i64vNV"/>
+                <command name="glProgramUniform1ui64NV"/>
+                <command name="glProgramUniform2ui64NV"/>
+                <command name="glProgramUniform3ui64NV"/>
+                <command name="glProgramUniform4ui64NV"/>
+                <command name="glProgramUniform1ui64vNV"/>
+                <command name="glProgramUniform2ui64vNV"/>
+                <command name="glProgramUniform3ui64vNV"/>
+                <command name="glProgramUniform4ui64vNV"/>
+            </require>
+        </extension>
         <extension name="GL_AMD_interleaved_elements" supported="gl">
             <require>
                 <enum name="GL_VERTEX_ELEMENT_SWIZZLE_AMD"/>
@@ -32171,7 +40855,18 @@ typedef unsigned int GLhandleARB;
                 <command name="glIsNameAMD"/>
             </require>
         </extension>
-        <extension name="GL_AMD_performance_monitor" supported="gl|gles2">
+        <extension name="GL_AMD_occlusion_query_event" supported="gl">
+            <require>
+                <enum name="GL_OCCLUSION_QUERY_EVENT_MASK_AMD"/>
+                <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"/>
+                <command name="glQueryObjectParameteruiAMD"/>
+            </require>
+        </extension>
+        <extension name="GL_AMD_performance_monitor" supported="gl|glcore|gles2">
             <require>
                 <enum name="GL_COUNTER_TYPE_AMD"/>
                 <enum name="GL_COUNTER_RANGE_AMD"/>
@@ -32221,18 +40916,13 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_TEXTURE_CUBE_MAP_SEAMLESS"/>
             </require>
         </extension>
-        <extension name="GL_AMD_shader_atomic_counter_ops" supported="gl">
-            <require>
-            </require>
-        </extension>
-        <extension name="GL_AMD_shader_stencil_export" supported="gl">
-            <require>
-            </require>
-        </extension>
-        <extension name="GL_AMD_shader_trinary_minmax" supported="gl">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_AMD_shader_atomic_counter_ops" supported="gl"/>
+        <extension name="GL_AMD_shader_ballot" supported="gl"/>
+        <extension name="GL_AMD_shader_gpu_shader_half_float_fetch" supported="gl"/>
+        <extension name="GL_AMD_shader_image_load_store_lod" supported="gl"/>
+        <extension name="GL_AMD_shader_stencil_export" supported="gl"/>
+        <extension name="GL_AMD_shader_trinary_minmax" supported="gl"/>
+        <extension name="GL_AMD_shader_explicit_vertex_parameter" supported="gl"/>
         <extension name="GL_AMD_sparse_texture" supported="gl">
             <require>
                 <enum name="GL_VIRTUAL_PAGE_SIZE_X_AMD"/>
@@ -32240,7 +40930,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_VIRTUAL_PAGE_SIZE_Z_AMD"/>
                 <enum name="GL_MAX_SPARSE_TEXTURE_SIZE_AMD"/>
                 <enum name="GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD"/>
-                <enum name="GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS"/>
+                <enum name="GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS" comment="Should have an AMD suffix, but probably too late now"/>
                 <enum name="GL_MIN_SPARSE_LEVEL_AMD"/>
                 <enum name="GL_MIN_LOD_WARNING_AMD"/>
                 <enum name="GL_TEXTURE_STORAGE_SPARSE_BIT_AMD"/>
@@ -32257,18 +40947,15 @@ typedef unsigned int GLhandleARB;
                 <command name="glStencilOpValueAMD"/>
             </require>
         </extension>
-        <extension name="GL_AMD_texture_texture4" supported="gl">
-            <require>
-            </require>
-        </extension>
-        <extension name="GL_AMD_transform_feedback3_lines_triangles" supported="gl">
-            <require>
-            </require>
-        </extension>
-        <extension name="GL_AMD_vertex_shader_layer" supported="gl">
+        <extension name="GL_AMD_texture_gather_bias_lod" supported="gl"/>
+        <extension name="GL_AMD_texture_texture4" supported="gl"/>
+        <extension name="GL_AMD_transform_feedback3_lines_triangles" supported="gl"/>
+        <extension name="GL_AMD_transform_feedback4" supported="gl">
             <require>
+                <enum name="GL_STREAM_RASTERIZATION_AMD"/>
             </require>
         </extension>
+        <extension name="GL_AMD_vertex_shader_layer" supported="gl"/>
         <extension name="GL_AMD_vertex_shader_tessellator" supported="gl">
             <require>
                 <enum name="GL_SAMPLER_BUFFER_AMD"/>
@@ -32282,8 +40969,31 @@ typedef unsigned int GLhandleARB;
                 <command name="glTessellationModeAMD"/>
             </require>
         </extension>
-        <extension name="GL_AMD_vertex_shader_viewport_index" supported="gl">
-            <require>
+        <extension name="GL_AMD_vertex_shader_viewport_index" supported="gl"/>
+        <extension name="GL_ANDROID_extension_pack_es31a" supported="gles2">
+            <require comment="This is an alias for the following extensions. At present gl.xml doesn't actually replicate all their interfaces here.">
+                <!--
+                    KHR_debug
+                    KHR_texture_compression_astc_ldr
+                    KHR_blend_equation_advanced
+                    OES_sample_shading
+                    OES_sample_variables
+                    OES_shader_image_atomic
+                    OES_shader_multisample_interpolation
+                    OES_texture_stencil8
+                    OES_texture_storage_multisample_2d_array
+                    EXT_copy_image
+                    EXT_draw_buffers_indexed
+                    EXT_geometry_shader
+                    EXT_gpu_shader5
+                    EXT_primitive_bounding_box
+                    EXT_shader_io_blocks
+                    EXT_tessellation_shader
+                    EXT_texture_border_clamp
+                    EXT_texture_buffer
+                    EXT_texture_cube_map_array
+                    EXT_texture_srgb_decode
+                -->
             </require>
         </extension>
         <extension name="GL_ANGLE_depth_texture" supported="gles2">
@@ -32365,6 +41075,20 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_UNPACK_CLIENT_STORAGE_APPLE"/>
             </require>
         </extension>
+        <extension name="GL_APPLE_clip_distance" supported="gles2">
+            <require>
+                <enum name="GL_MAX_CLIP_DISTANCES_APPLE"/>
+                <enum name="GL_CLIP_DISTANCE0_APPLE"/>
+                <enum name="GL_CLIP_DISTANCE1_APPLE"/>
+                <enum name="GL_CLIP_DISTANCE2_APPLE"/>
+                <enum name="GL_CLIP_DISTANCE3_APPLE"/>
+                <enum name="GL_CLIP_DISTANCE4_APPLE"/>
+                <enum name="GL_CLIP_DISTANCE5_APPLE"/>
+                <enum name="GL_CLIP_DISTANCE6_APPLE"/>
+                <enum name="GL_CLIP_DISTANCE7_APPLE"/>
+            </require>
+        </extension>
+        <extension name="GL_APPLE_color_buffer_packed_float" supported="gles2"/>
         <extension name="GL_APPLE_copy_texture_levels" supported="gles1|gles2">
             <require>
                 <command name="glCopyTextureLevelsAPPLE"/>
@@ -32448,7 +41172,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetObjectParameterivAPPLE"/>
             </require>
         </extension>
-        <extension name="GL_APPLE_rgb_422" supported="gl|gles2">
+        <extension name="GL_APPLE_rgb_422" supported="gl|glcore|gles2">
             <require>
                 <enum name="GL_RGB_422_APPLE"/>
                 <enum name="GL_UNSIGNED_SHORT_8_8_APPLE"/>
@@ -32496,10 +41220,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetSyncivAPPLE"/>
             </require>
         </extension>
-        <extension name="GL_APPLE_texture_2D_limited_npot" supported="gles1">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_APPLE_texture_2D_limited_npot" supported="gles1"/>
         <extension name="GL_APPLE_texture_format_BGRA8888" supported="gles1|gles2">
             <require>
                 <enum name="GL_BGRA_EXT"/>
@@ -32513,6 +41234,14 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_TEXTURE_MAX_LEVEL_APPLE"/>
             </require>
         </extension>
+        <extension name="GL_APPLE_texture_packed_float" supported="gles2">
+            <require>
+                <enum name="GL_UNSIGNED_INT_10F_11F_11F_REV_APPLE"/>
+                <enum name="GL_UNSIGNED_INT_5_9_9_9_REV_APPLE"/>
+                <enum name="GL_R11F_G11F_B10F_APPLE"/>
+                <enum name="GL_RGB9_E5_APPLE"/>
+            </require>
+        </extension>
         <extension name="GL_APPLE_texture_range" supported="gl">
             <require>
                 <enum name="GL_TEXTURE_RANGE_LENGTH_APPLE"/>
@@ -32606,6 +41335,20 @@ typedef unsigned int GLhandleARB;
                 <command name="glClearDepthf"/>
             </require>
         </extension>
+        <extension name="GL_ARB_ES3_1_compatibility" supported="gl|glcore">
+            <require>
+                <enum name="GL_BACK"/>
+                <command name="glMemoryBarrierByRegion"/>
+            </require>
+        </extension>
+        <extension name="GL_ARB_ES3_2_compatibility" supported="gl|glcore">
+            <require>
+                <enum name="GL_PRIMITIVE_BOUNDING_BOX_ARB"/>
+                <enum name="GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB"/>
+                <enum name="GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB"/>
+                <command name="glPrimitiveBoundingBoxARB"/>
+            </require>
+        </extension>
         <extension name="GL_ARB_ES3_compatibility" supported="gl|glcore">
             <require>
                 <enum name="GL_COMPRESSED_RGB8_ETC2"/>
@@ -32623,10 +41366,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_MAX_ELEMENT_INDEX"/>
             </require>
         </extension>
-        <extension name="GL_ARB_arrays_of_arrays" supported="gl|glcore">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_ARB_arrays_of_arrays" supported="gl|glcore"/>
         <extension name="GL_ARB_base_instance" supported="gl|glcore">
             <require>
                 <command name="glDrawArraysInstancedBaseInstance"/>
@@ -32700,6 +41440,17 @@ typedef unsigned int GLhandleARB;
                 <command name="glClearTexSubImage"/>
             </require>
         </extension>
+        <extension name="GL_ARB_clip_control" supported="gl|glcore">
+            <require>
+                <command name="glClipControl"/>
+                <enum name="GL_LOWER_LEFT"/>
+                <enum name="GL_UPPER_LEFT"/>
+                <enum name="GL_NEGATIVE_ONE_TO_ONE"/>
+                <enum name="GL_ZERO_TO_ONE"/>
+                <enum name="GL_CLIP_ORIGIN"/>
+                <enum name="GL_CLIP_DEPTH_MODE"/>
+            </require>
+        </extension>
         <extension name="GL_ARB_color_buffer_float" supported="gl">
             <require>
                 <enum name="GL_RGBA_FLOAT_MODE_ARB"/>
@@ -32737,10 +41488,10 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"/>
                 <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTERS"/>
                 <enum name="GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS"/>
-                <enum name="GL_MAX_COMPUTE_LOCAL_INVOCATIONS"/>
+                <enum name="GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS"/>
                 <enum name="GL_MAX_COMPUTE_WORK_GROUP_COUNT"/>
                 <enum name="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
-                <enum name="GL_COMPUTE_LOCAL_WORK_SIZE"/>
+                <enum name="GL_COMPUTE_WORK_GROUP_SIZE"/>
                 <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER"/>
                 <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER"/>
                 <enum name="GL_DISPATCH_INDIRECT_BUFFER"/>
@@ -32759,15 +41510,18 @@ typedef unsigned int GLhandleARB;
                 <command name="glDispatchComputeGroupSizeARB"/>
             </require>
         </extension>
-        <extension name="GL_ARB_conservative_depth" supported="gl|glcore">
+        <extension name="GL_ARB_conditional_render_inverted" supported="gl|glcore">
             <require>
+                <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"/>
             </require>
         </extension>
+        <extension name="GL_ARB_conservative_depth" supported="gl|glcore"/>
         <extension name="GL_ARB_copy_buffer" supported="gl|glcore">
             <require>
-                <enum name="GL_COPY_READ_BUFFER_BINDING"/>
                 <enum name="GL_COPY_READ_BUFFER"/>
-                <enum name="GL_COPY_WRITE_BUFFER_BINDING"/>
                 <enum name="GL_COPY_WRITE_BUFFER"/>
                 <command name="glCopyBufferSubData"/>
             </require>
@@ -32777,6 +41531,12 @@ typedef unsigned int GLhandleARB;
                 <command name="glCopyImageSubData"/>
             </require>
         </extension>
+        <extension name="GL_ARB_cull_distance" supported="gl|glcore">
+            <require>
+                <enum name="GL_MAX_CULL_DISTANCES"/>
+                <enum name="GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES"/>
+            </require>
+        </extension>
         <extension name="GL_ARB_debug_output" supported="gl|glcore">
             <require>
                 <enum name="GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB"/>
@@ -32828,6 +41588,139 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_DEPTH_TEXTURE_MODE_ARB"/>
             </require>
         </extension>
+        <extension name="GL_ARB_derivative_control" supported="gl|glcore"/>
+        <extension name="GL_ARB_direct_state_access" supported="gl|glcore">
+            <require>
+                <enum name="GL_TEXTURE_TARGET"/>
+                <enum name="GL_QUERY_TARGET"/>
+                <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_CUBE_MAP_ARRAY"/>
+                <enum name="GL_TEXTURE_BINDING_RECTANGLE"/>
+            </require>
+            <require comment="Transform Feedback object functions">
+                <command name="glCreateTransformFeedbacks"/>
+                <command name="glTransformFeedbackBufferBase"/>
+                <command name="glTransformFeedbackBufferRange"/>
+                <command name="glGetTransformFeedbackiv"/>
+                <command name="glGetTransformFeedbacki_v"/>
+                <command name="glGetTransformFeedbacki64_v"/>
+            </require>
+            <require comment="Buffer object functions">
+                <command name="glCreateBuffers"/>
+                <command name="glNamedBufferStorage"/>
+                <command name="glNamedBufferData"/>
+                <command name="glNamedBufferSubData"/>
+                <command name="glCopyNamedBufferSubData"/>
+                <command name="glClearNamedBufferData"/>
+                <command name="glClearNamedBufferSubData"/>
+                <command name="glMapNamedBuffer"/>
+                <command name="glMapNamedBufferRange"/>
+                <command name="glUnmapNamedBuffer"/>
+                <command name="glFlushMappedNamedBufferRange"/>
+                <command name="glGetNamedBufferParameteriv"/>
+                <command name="glGetNamedBufferParameteri64v"/>
+                <command name="glGetNamedBufferPointerv"/>
+                <command name="glGetNamedBufferSubData"/>
+            </require>
+            <require comment="Framebuffer object functions">
+                <command name="glCreateFramebuffers"/>
+                <command name="glNamedFramebufferRenderbuffer"/>
+                <command name="glNamedFramebufferParameteri"/>
+                <command name="glNamedFramebufferTexture"/>
+                <command name="glNamedFramebufferTextureLayer"/>
+                <command name="glNamedFramebufferDrawBuffer"/>
+                <command name="glNamedFramebufferDrawBuffers"/>
+                <command name="glNamedFramebufferReadBuffer"/>
+                <command name="glInvalidateNamedFramebufferData"/>
+                <command name="glInvalidateNamedFramebufferSubData"/>
+                <command name="glClearNamedFramebufferiv"/>
+                <command name="glClearNamedFramebufferuiv"/>
+                <command name="glClearNamedFramebufferfv"/>
+                <command name="glClearNamedFramebufferfi"/>
+                <command name="glBlitNamedFramebuffer"/>
+                <command name="glCheckNamedFramebufferStatus"/>
+                <command name="glGetNamedFramebufferParameteriv"/>
+                <command name="glGetNamedFramebufferAttachmentParameteriv"/>
+            </require>
+            <require comment="Renderbuffer object functions">
+                <command name="glCreateRenderbuffers"/>
+                <command name="glNamedRenderbufferStorage"/>
+                <command name="glNamedRenderbufferStorageMultisample"/>
+                <command name="glGetNamedRenderbufferParameteriv"/>
+            </require>
+            <require comment="Texture object functions">
+                <command name="glCreateTextures"/>
+                <command name="glTextureBuffer"/>
+                <command name="glTextureBufferRange"/>
+                <command name="glTextureStorage1D"/>
+                <command name="glTextureStorage2D"/>
+                <command name="glTextureStorage3D"/>
+                <command name="glTextureStorage2DMultisample"/>
+                <command name="glTextureStorage3DMultisample"/>
+                <command name="glTextureSubImage1D"/>
+                <command name="glTextureSubImage2D"/>
+                <command name="glTextureSubImage3D"/>
+                <command name="glCompressedTextureSubImage1D"/>
+                <command name="glCompressedTextureSubImage2D"/>
+                <command name="glCompressedTextureSubImage3D"/>
+                <command name="glCopyTextureSubImage1D"/>
+                <command name="glCopyTextureSubImage2D"/>
+                <command name="glCopyTextureSubImage3D"/>
+                <command name="glTextureParameterf"/>
+                <command name="glTextureParameterfv"/>
+                <command name="glTextureParameteri"/>
+                <command name="glTextureParameterIiv"/>
+                <command name="glTextureParameterIuiv"/>
+                <command name="glTextureParameteriv"/>
+                <command name="glGenerateTextureMipmap"/>
+                <command name="glBindTextureUnit"/>
+                <command name="glGetTextureImage"/>
+                <command name="glGetCompressedTextureImage"/>
+                <command name="glGetTextureLevelParameterfv"/>
+                <command name="glGetTextureLevelParameteriv"/>
+                <command name="glGetTextureParameterfv"/>
+                <command name="glGetTextureParameterIiv"/>
+                <command name="glGetTextureParameterIuiv"/>
+                <command name="glGetTextureParameteriv"/>
+            </require>
+            <require comment="Vertex Array object functions">
+                <command name="glCreateVertexArrays"/>
+                <command name="glDisableVertexArrayAttrib"/>
+                <command name="glEnableVertexArrayAttrib"/>
+                <command name="glVertexArrayElementBuffer"/>
+                <command name="glVertexArrayVertexBuffer"/>
+                <command name="glVertexArrayVertexBuffers"/>
+                <command name="glVertexArrayAttribBinding"/>
+                <command name="glVertexArrayAttribFormat"/>
+                <command name="glVertexArrayAttribIFormat"/>
+                <command name="glVertexArrayAttribLFormat"/>
+                <command name="glVertexArrayBindingDivisor"/>
+                <command name="glGetVertexArrayiv"/>
+                <command name="glGetVertexArrayIndexediv"/>
+                <command name="glGetVertexArrayIndexed64iv"/>
+            </require>
+            <require comment="Sampler object functions">
+                <command name="glCreateSamplers"/>
+            </require>
+            <require comment="Program Pipeline object functions">
+                <command name="glCreateProgramPipelines"/>
+            </require>
+            <require comment="Query object functions">
+                <command name="glCreateQueries"/>
+                <command name="glGetQueryBufferObjecti64v"/>
+                <command name="glGetQueryBufferObjectiv"/>
+                <command name="glGetQueryBufferObjectui64v"/>
+                <command name="glGetQueryBufferObjectuiv"/>
+            </require>
+        </extension>
         <extension name="GL_ARB_draw_buffers" supported="gl">
             <require>
                 <enum name="GL_MAX_DRAW_BUFFERS_ARB"/>
@@ -32874,7 +41767,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glDrawElementsIndirect"/>
             </require>
         </extension>
-        <extension name="GL_ARB_draw_instanced" supported="gl">
+        <extension name="GL_ARB_draw_instanced" supported="gl|glcore">
             <require>
                 <command name="glDrawArraysInstancedARB"/>
                 <command name="glDrawElementsInstancedARB"/>
@@ -32888,23 +41781,14 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE"/>
             </require>
         </extension>
-        <extension name="GL_ARB_explicit_attrib_location" supported="gl|glcore">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_ARB_explicit_attrib_location" supported="gl|glcore"/>
         <extension name="GL_ARB_explicit_uniform_location" supported="gl|glcore">
             <require>
                 <enum name="GL_MAX_UNIFORM_LOCATIONS"/>
             </require>
         </extension>
-        <extension name="GL_ARB_fragment_coord_conventions" supported="gl|glcore">
-            <require>
-            </require>
-        </extension>
-        <extension name="GL_ARB_fragment_layer_viewport" supported="gl|glcore">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_ARB_fragment_coord_conventions" supported="gl|glcore"/>
+        <extension name="GL_ARB_fragment_layer_viewport" supported="gl|glcore"/>
         <extension name="GL_ARB_fragment_program" supported="gl">
             <require>
                 <enum name="GL_FRAGMENT_PROGRAM_ARB"/>
@@ -33008,10 +41892,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glIsProgramARB"/>
             </require>
         </extension>
-        <extension name="GL_ARB_fragment_program_shadow" supported="gl">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_ARB_fragment_program_shadow" supported="gl"/>
         <extension name="GL_ARB_fragment_shader" supported="gl">
             <require>
                 <enum name="GL_FRAGMENT_SHADER_ARB"/>
@@ -33019,6 +41900,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB"/>
             </require>
         </extension>
+        <extension name="GL_ARB_fragment_shader_interlock" supported="gl|glcore"/>
         <extension name="GL_ARB_framebuffer_no_attachments" supported="gl|glcore">
             <require>
                 <enum name="GL_FRAMEBUFFER_DEFAULT_WIDTH"/>
@@ -33053,11 +41935,6 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_UNSIGNED_INT_24_8"/>
                 <enum name="GL_DEPTH24_STENCIL8"/>
                 <enum name="GL_TEXTURE_STENCIL_SIZE"/>
-                <enum name="GL_TEXTURE_RED_TYPE"/>
-                <enum name="GL_TEXTURE_GREEN_TYPE"/>
-                <enum name="GL_TEXTURE_BLUE_TYPE"/>
-                <enum name="GL_TEXTURE_ALPHA_TYPE"/>
-                <enum name="GL_TEXTURE_DEPTH_TYPE"/>
                 <enum name="GL_UNSIGNED_NORMALIZED"/>
                 <enum name="GL_FRAMEBUFFER_BINDING"/>
                 <enum name="GL_DRAW_FRAMEBUFFER_BINDING"/>
@@ -33136,8 +42013,6 @@ typedef unsigned int GLhandleARB;
             </require>
             <require api="gl" profile="compatibility">
                 <enum name="GL_INDEX"/>
-                <enum name="GL_TEXTURE_LUMINANCE_TYPE"/>
-                <enum name="GL_TEXTURE_INTENSITY_TYPE"/>
             </require>
         </extension>
         <extension name="GL_ARB_framebuffer_sRGB" supported="gl|glcore">
@@ -33145,7 +42020,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_FRAMEBUFFER_SRGB"/>
             </require>
         </extension>
-        <extension name="GL_ARB_geometry_shader4" supported="gl">
+        <extension name="GL_ARB_geometry_shader4" supported="gl|glcore">
             <require>
                 <enum name="GL_LINES_ADJACENCY_ARB"/>
                 <enum name="GL_LINE_STRIP_ADJACENCY_ARB"/>
@@ -33184,6 +42059,19 @@ typedef unsigned int GLhandleARB;
                 <command name="glProgramParameteri"/>
             </require>
         </extension>
+        <extension name="GL_ARB_get_texture_sub_image" supported="gl|glcore">
+            <require>
+                <command name="glGetTextureSubImage"/>
+                <command name="glGetCompressedTextureSubImage"/>
+            </require>
+        </extension>
+        <extension name="GL_ARB_gl_spirv" supported="gl|glcore">
+            <require>
+                <enum name="GL_SHADER_BINARY_FORMAT_SPIR_V_ARB"/>
+                <enum name="GL_SPIR_V_BINARY_ARB"/>
+                <command name="glSpecializeShaderARB"/>
+            </require>
+        </extension>
         <extension name="GL_ARB_gpu_shader5" supported="gl|glcore">
             <require>
                 <enum name="GL_GEOMETRY_SHADER_INVOCATIONS"/>
@@ -33229,6 +42117,54 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetUniformdv"/>
             </require>
         </extension>
+        <extension name="GL_ARB_gpu_shader_int64" supported="gl|glcore">
+            <require>
+                <enum name="GL_INT64_ARB"/>
+                <enum name="GL_UNSIGNED_INT64_ARB"/>
+                <enum name="GL_INT64_VEC2_ARB"/>
+                <enum name="GL_INT64_VEC3_ARB"/>
+                <enum name="GL_INT64_VEC4_ARB"/>
+                <enum name="GL_UNSIGNED_INT64_VEC2_ARB"/>
+                <enum name="GL_UNSIGNED_INT64_VEC3_ARB"/>
+                <enum name="GL_UNSIGNED_INT64_VEC4_ARB"/>
+                <command name="glUniform1i64ARB"/>
+                <command name="glUniform2i64ARB"/>
+                <command name="glUniform3i64ARB"/>
+                <command name="glUniform4i64ARB"/>
+                <command name="glUniform1i64vARB"/>
+                <command name="glUniform2i64vARB"/>
+                <command name="glUniform3i64vARB"/>
+                <command name="glUniform4i64vARB"/>
+                <command name="glUniform1ui64ARB"/>
+                <command name="glUniform2ui64ARB"/>
+                <command name="glUniform3ui64ARB"/>
+                <command name="glUniform4ui64ARB"/>
+                <command name="glUniform1ui64vARB"/>
+                <command name="glUniform2ui64vARB"/>
+                <command name="glUniform3ui64vARB"/>
+                <command name="glUniform4ui64vARB"/>
+                <command name="glGetUniformi64vARB"/>
+                <command name="glGetUniformui64vARB"/>
+                <command name="glGetnUniformi64vARB"/>
+                <command name="glGetnUniformui64vARB"/>
+                <command name="glProgramUniform1i64ARB"/>
+                <command name="glProgramUniform2i64ARB"/>
+                <command name="glProgramUniform3i64ARB"/>
+                <command name="glProgramUniform4i64ARB"/>
+                <command name="glProgramUniform1i64vARB"/>
+                <command name="glProgramUniform2i64vARB"/>
+                <command name="glProgramUniform3i64vARB"/>
+                <command name="glProgramUniform4i64vARB"/>
+                <command name="glProgramUniform1ui64ARB"/>
+                <command name="glProgramUniform2ui64ARB"/>
+                <command name="glProgramUniform3ui64ARB"/>
+                <command name="glProgramUniform4ui64ARB"/>
+                <command name="glProgramUniform1ui64vARB"/>
+                <command name="glProgramUniform2ui64vARB"/>
+                <command name="glProgramUniform3ui64vARB"/>
+                <command name="glProgramUniform4ui64vARB"/>
+            </require>
+        </extension>
         <extension name="GL_ARB_half_float_pixel" supported="gl">
             <require>
                 <type name="GLhalfARB"/>
@@ -33243,17 +42179,17 @@ typedef unsigned int GLhandleARB;
         </extension>
         <extension name="GL_ARB_imaging" supported="gl|glcore" comment="Now treating ARB_imaging as an extension, not a GL API version">
             <require>
+                <enum name="GL_BLEND_COLOR"/>
+                <enum name="GL_BLEND_EQUATION"/>
                 <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_BLEND_COLOR"/>
                 <enum name="GL_FUNC_ADD"/>
+                <enum name="GL_FUNC_REVERSE_SUBTRACT"/>
+                <enum name="GL_FUNC_SUBTRACT"/>
                 <enum name="GL_MIN"/>
                 <enum name="GL_MAX"/>
-                <enum name="GL_BLEND_EQUATION"/>
-                <enum name="GL_FUNC_SUBTRACT"/>
-                <enum name="GL_FUNC_REVERSE_SUBTRACT"/>
                 <command name="glBlendColor"/>
                 <command name="glBlendEquation"/>
             </require>
@@ -33364,7 +42300,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glMultiDrawElementsIndirectCountARB"/>
             </require>
         </extension>
-        <extension name="GL_ARB_instanced_arrays" supported="gl">
+        <extension name="GL_ARB_instanced_arrays" supported="gl|glcore">
             <require>
                 <enum name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB"/>
                 <command name="glVertexAttribDivisorARB"/>
@@ -33493,6 +42429,29 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_VIEW_CLASS_RGTC2_RG"/>
                 <enum name="GL_VIEW_CLASS_BPTC_UNORM"/>
                 <enum name="GL_VIEW_CLASS_BPTC_FLOAT"/>
+            </require>
+            <require comment="Supported only if GL_ARB_ES3_compatibility is supported">
+                <enum name="GL_VIEW_CLASS_EAC_R11"/>
+                <enum name="GL_VIEW_CLASS_EAC_RG11"/>
+                <enum name="GL_VIEW_CLASS_ETC2_RGB"/>
+                <enum name="GL_VIEW_CLASS_ETC2_RGBA"/>
+                <enum name="GL_VIEW_CLASS_ETC2_EAC_RGBA"/>
+            </require>
+            <require comment="Supported only if GL_KHR_texture_compression_astc_ldr is supported">
+                <enum name="GL_VIEW_CLASS_ASTC_4x4_RGBA"/>
+                <enum name="GL_VIEW_CLASS_ASTC_5x4_RGBA"/>
+                <enum name="GL_VIEW_CLASS_ASTC_5x5_RGBA"/>
+                <enum name="GL_VIEW_CLASS_ASTC_6x5_RGBA"/>
+                <enum name="GL_VIEW_CLASS_ASTC_6x6_RGBA"/>
+                <enum name="GL_VIEW_CLASS_ASTC_8x5_RGBA"/>
+                <enum name="GL_VIEW_CLASS_ASTC_8x6_RGBA"/>
+                <enum name="GL_VIEW_CLASS_ASTC_8x8_RGBA"/>
+                <enum name="GL_VIEW_CLASS_ASTC_10x5_RGBA"/>
+                <enum name="GL_VIEW_CLASS_ASTC_10x6_RGBA"/>
+                <enum name="GL_VIEW_CLASS_ASTC_10x8_RGBA"/>
+                <enum name="GL_VIEW_CLASS_ASTC_10x10_RGBA"/>
+                <enum name="GL_VIEW_CLASS_ASTC_12x10_RGBA"/>
+                <enum name="GL_VIEW_CLASS_ASTC_12x12_RGBA"/>
                 <command name="glGetInternalformati64v"/>
             </require>
         </extension>
@@ -33667,7 +42626,29 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_ANY_SAMPLES_PASSED"/>
             </require>
         </extension>
-        <extension name="GL_ARB_pixel_buffer_object" supported="gl">
+        <extension name="GL_ARB_parallel_shader_compile" supported="gl|glcore">
+            <require>
+                <enum name="GL_MAX_SHADER_COMPILER_THREADS_ARB"/>
+                <enum name="GL_COMPLETION_STATUS_ARB"/>
+                <command name="glMaxShaderCompilerThreadsARB"/>
+            </require>
+        </extension>
+        <extension name="GL_ARB_pipeline_statistics_query" supported="gl|glcore">
+            <require>
+                <enum name="GL_VERTICES_SUBMITTED_ARB"/>
+                <enum name="GL_PRIMITIVES_SUBMITTED_ARB"/>
+                <enum name="GL_VERTEX_SHADER_INVOCATIONS_ARB"/>
+                <enum name="GL_TESS_CONTROL_SHADER_PATCHES_ARB"/>
+                <enum name="GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB"/>
+                <enum name="GL_GEOMETRY_SHADER_INVOCATIONS"/>
+                <enum name="GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB"/>
+                <enum name="GL_FRAGMENT_SHADER_INVOCATIONS_ARB"/>
+                <enum name="GL_COMPUTE_SHADER_INVOCATIONS_ARB"/>
+                <enum name="GL_CLIPPING_INPUT_PRIMITIVES_ARB"/>
+                <enum name="GL_CLIPPING_OUTPUT_PRIMITIVES_ARB"/>
+            </require>
+        </extension>
+        <extension name="GL_ARB_pixel_buffer_object" supported="gl|glcore">
             <require>
                 <enum name="GL_PIXEL_PACK_BUFFER_ARB"/>
                 <enum name="GL_PIXEL_UNPACK_BUFFER_ARB"/>
@@ -33691,6 +42672,13 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_COORD_REPLACE_ARB"/>
             </require>
         </extension>
+        <extension name="GL_ARB_polygon_offset_clamp" supported="gl|glcore">
+            <require>
+                <enum name="GL_POLYGON_OFFSET_CLAMP"/>
+                <command name="glPolygonOffsetClamp"/>
+            </require>
+        </extension>
+        <extension name="GL_ARB_post_depth_coverage" supported="gl|glcore"/>
         <extension name="GL_ARB_program_interface_query" supported="gl|glcore">
             <require>
                 <enum name="GL_UNIFORM"/>
@@ -33768,10 +42756,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_QUERY_RESULT_NO_WAIT"/>
             </require>
         </extension>
-        <extension name="GL_ARB_robust_buffer_access_behavior" supported="gl|glcore">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_ARB_robust_buffer_access_behavior" supported="gl|glcore"/>
         <extension name="GL_ARB_robustness" supported="gl|glcore">
             <require>
                 <enum name="GL_NO_ERROR"/>
@@ -33806,8 +42791,20 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetnMinmaxARB"/>
             </require>
         </extension>
-        <extension name="GL_ARB_robustness_isolation" supported="gl|glcore">
+        <extension name="GL_ARB_robustness_isolation" supported="gl|glcore"/>
+        <extension name="GL_ARB_sample_locations" supported="gl|glcore">
             <require>
+                <enum name="GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB"/>
+                <enum name="GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB"/>
+                <enum name="GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB"/>
+                <enum name="GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB"/>
+                <enum name="GL_SAMPLE_LOCATION_ARB"/>
+                <enum name="GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB"/>
+                <enum name="GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB"/>
+                <enum name="GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB"/>
+                <command name="glFramebufferSampleLocationsfvARB"/>
+                <command name="glNamedFramebufferSampleLocationsfvARB"/>
+                <command name="glEvaluateDepthValuesARB"/>
             </require>
         </extension>
         <extension name="GL_ARB_sample_shading" supported="gl|glcore">
@@ -33865,6 +42862,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glGenProgramPipelines"/>
                 <command name="glIsProgramPipeline"/>
                 <command name="glGetProgramPipelineiv"/>
+                <command name="glProgramParameteri"/>
                 <command name="glProgramUniform1i"/>
                 <command name="glProgramUniform1iv"/>
                 <command name="glProgramUniform1f"/>
@@ -33919,6 +42917,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetProgramPipelineInfoLog"/>
             </require>
         </extension>
+        <extension name="GL_ARB_shader_atomic_counter_ops" supported="gl|glcore"/>
         <extension name="GL_ARB_shader_atomic_counters" supported="gl|glcore">
             <require>
                 <enum name="GL_ATOMIC_COUNTER_BUFFER"/>
@@ -33953,14 +42952,11 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetActiveAtomicCounterBufferiv"/>
             </require>
         </extension>
-        <extension name="GL_ARB_shader_bit_encoding" supported="gl|glcore">
-            <require>
-            </require>
-        </extension>
-        <extension name="GL_ARB_shader_draw_parameters" supported="gl|glcore">
-        </extension>
-        <extension name="GL_ARB_shader_group_vote" supported="gl|glcore">
-        </extension>
+        <extension name="GL_ARB_shader_ballot" supported="gl|glcore"/>
+        <extension name="GL_ARB_shader_bit_encoding" supported="gl|glcore"/>
+        <extension name="GL_ARB_shader_clock" supported="gl|glcore"/>
+        <extension name="GL_ARB_shader_draw_parameters" supported="gl|glcore"/>
+        <extension name="GL_ARB_shader_group_vote" supported="gl|glcore"/>
         <extension name="GL_ARB_shader_image_load_store" supported="gl|glcore">
             <require>
                 <enum name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT"/>
@@ -34031,10 +43027,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glMemoryBarrier"/>
             </require>
         </extension>
-        <extension name="GL_ARB_shader_image_size" supported="gl|glcore">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_ARB_shader_image_size" supported="gl|glcore"/>
         <extension name="GL_ARB_shader_objects" supported="gl">
             <require>
                 <enum name="GL_PROGRAM_OBJECT_ARB"/>
@@ -34112,14 +43105,8 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetShaderSourceARB"/>
             </require>
         </extension>
-        <extension name="GL_ARB_shader_precision" supported="gl|glcore">
-            <require>
-            </require>
-        </extension>
-        <extension name="GL_ARB_shader_stencil_export" supported="gl|glcore">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_ARB_shader_precision" supported="gl|glcore"/>
+        <extension name="GL_ARB_shader_stencil_export" supported="gl|glcore"/>
         <extension name="GL_ARB_shader_storage_buffer_object" supported="gl|glcore">
             <require>
                 <enum name="GL_SHADER_STORAGE_BUFFER"/>
@@ -34165,19 +43152,15 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetProgramStageiv"/>
             </require>
         </extension>
-        <extension name="GL_ARB_shader_texture_lod" supported="gl">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_ARB_shader_texture_image_samples" supported="gl|glcore"/>
+        <extension name="GL_ARB_shader_texture_lod" supported="gl"/>
+        <extension name="GL_ARB_shader_viewport_layer_array" supported="gl|glcore"/>
         <extension name="GL_ARB_shading_language_100" supported="gl">
             <require>
                 <enum name="GL_SHADING_LANGUAGE_VERSION_ARB"/>
             </require>
         </extension>
-        <extension name="GL_ARB_shading_language_420pack" supported="gl|glcore">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_ARB_shading_language_420pack" supported="gl|glcore"/>
         <extension name="GL_ARB_shading_language_include" supported="gl|glcore">
             <require>
                 <enum name="GL_SHADER_INCLUDE_ARB"/>
@@ -34191,10 +43174,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetNamedStringivARB"/>
             </require>
         </extension>
-        <extension name="GL_ARB_shading_language_packing" supported="gl|glcore">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_ARB_shading_language_packing" supported="gl|glcore"/>
         <extension name="GL_ARB_shadow" supported="gl">
             <require>
                 <enum name="GL_TEXTURE_COMPARE_MODE_ARB"/>
@@ -34207,11 +43187,24 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_TEXTURE_COMPARE_FAIL_VALUE_ARB"/>
             </require>
         </extension>
+        <extension name="GL_ARB_sparse_buffer" supported="gl|glcore">
+            <require>
+                <enum name="GL_SPARSE_STORAGE_BIT_ARB"/>
+                <enum name="GL_SPARSE_BUFFER_PAGE_SIZE_ARB"/>
+                <command name="glBufferPageCommitmentARB"/>
+            </require>
+            <require comment="Supported only if GL_EXT_direct_state_access is supported">
+                <command name="glNamedBufferPageCommitmentEXT"/>
+            </require>
+            <require comment="Supported only if GL_ARB_direct_state_access or GL 4.5 is supported">
+                <command name="glNamedBufferPageCommitmentARB"/>
+            </require>
+        </extension>
         <extension name="GL_ARB_sparse_texture" supported="gl|glcore">
             <require>
                 <enum name="GL_TEXTURE_SPARSE_ARB"/>
                 <enum name="GL_VIRTUAL_PAGE_SIZE_INDEX_ARB"/>
-                <enum name="GL_MIN_SPARSE_LEVEL_ARB"/>
+                <enum name="GL_NUM_SPARSE_LEVELS_ARB"/>
                 <enum name="GL_NUM_VIRTUAL_PAGE_SIZES_ARB"/>
                 <enum name="GL_VIRTUAL_PAGE_SIZE_X_ARB"/>
                 <enum name="GL_VIRTUAL_PAGE_SIZE_Y_ARB"/>
@@ -34223,6 +43216,14 @@ typedef unsigned int GLhandleARB;
                 <command name="glTexPageCommitmentARB"/>
             </require>
         </extension>
+        <extension name="GL_ARB_sparse_texture2" supported="gl|glcore"/>
+        <extension name="GL_ARB_sparse_texture_clamp" supported="gl|glcore"/>
+        <extension name="GL_ARB_spirv_extensions" supported="gl|glcore">
+            <require>
+                <enum name="GL_SPIR_V_EXTENSIONS"/>
+                <enum name="GL_NUM_SPIR_V_EXTENSIONS"/>
+            </require>
+        </extension>
         <extension name="GL_ARB_stencil_texturing" supported="gl|glcore">
             <require>
                 <enum name="GL_DEPTH_STENCIL_TEXTURE_MODE"/>
@@ -34297,12 +43298,17 @@ typedef unsigned int GLhandleARB;
                 <command name="glPatchParameterfv"/>
             </require>
         </extension>
-        <extension name="GL_ARB_texture_border_clamp" supported="gl">
+        <extension name="GL_ARB_texture_barrier" supported="gl|glcore">
+            <require>
+                <command name="glTextureBarrier"/>
+            </require>
+        </extension>
+        <extension name="GL_ARB_texture_border_clamp" supported="gl|glcore">
             <require>
                 <enum name="GL_CLAMP_TO_BORDER_ARB"/>
             </require>
         </extension>
-        <extension name="GL_ARB_texture_buffer_object" supported="gl">
+        <extension name="GL_ARB_texture_buffer_object" supported="gl|glcore">
             <require>
                 <enum name="GL_TEXTURE_BUFFER_ARB"/>
                 <enum name="GL_MAX_TEXTURE_BUFFER_SIZE_ARB"/>
@@ -34392,10 +43398,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB"/>
             </require>
         </extension>
-        <extension name="GL_ARB_texture_env_add" supported="gl">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_ARB_texture_env_add" supported="gl"/>
         <extension name="GL_ARB_texture_env_combine" supported="gl">
             <require>
                 <enum name="GL_COMBINE_ARB"/>
@@ -34422,16 +43425,25 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_PREVIOUS_ARB"/>
             </require>
         </extension>
-        <extension name="GL_ARB_texture_env_crossbar" supported="gl">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_ARB_texture_env_crossbar" supported="gl"/>
         <extension name="GL_ARB_texture_env_dot3" supported="gl">
             <require>
                 <enum name="GL_DOT3_RGB_ARB"/>
                 <enum name="GL_DOT3_RGBA_ARB"/>
             </require>
         </extension>
+        <extension name="GL_ARB_texture_filter_anisotropic" supported="gl|glcore">
+            <require>
+                <enum name="GL_TEXTURE_MAX_ANISOTROPY"/>
+                <enum name="GL_MAX_TEXTURE_MAX_ANISOTROPY"/>
+            </require>
+        </extension>
+        <extension name="GL_ARB_texture_filter_minmax" supported="gl|glcore">
+            <require>
+                <enum name="GL_TEXTURE_REDUCTION_MODE_ARB"/>
+                <enum name="GL_WEIGHTED_AVERAGE_ARB"/>
+            </require>
+        </extension>
         <extension name="GL_ARB_texture_float" supported="gl">
             <require>
                 <enum name="GL_TEXTURE_RED_TYPE_ARB"/>
@@ -34468,7 +43480,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_MIRROR_CLAMP_TO_EDGE"/>
             </require>
         </extension>
-        <extension name="GL_ARB_texture_mirrored_repeat" supported="gl">
+        <extension name="GL_ARB_texture_mirrored_repeat" supported="gl|glcore">
             <require>
                 <enum name="GL_MIRRORED_REPEAT_ARB"/>
             </require>
@@ -34502,18 +43514,9 @@ typedef unsigned int GLhandleARB;
                 <command name="glSampleMaski"/>
             </require>
         </extension>
-        <extension name="GL_ARB_texture_non_power_of_two" supported="gl">
-            <require>
-            </require>
-        </extension>
-        <extension name="GL_ARB_texture_query_levels" supported="gl|glcore">
-            <require>
-            </require>
-        </extension>
-        <extension name="GL_ARB_texture_query_lod" supported="gl|glcore">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_ARB_texture_non_power_of_two" supported="gl|glcore"/>
+        <extension name="GL_ARB_texture_query_levels" supported="gl|glcore"/>
+        <extension name="GL_ARB_texture_query_lod" supported="gl|glcore"/>
         <extension name="GL_ARB_texture_rectangle" supported="gl">
             <require>
                 <enum name="GL_TEXTURE_RECTANGLE_ARB"/>
@@ -34604,9 +43607,7 @@ typedef unsigned int GLhandleARB;
         <extension name="GL_ARB_transform_feedback2" supported="gl|glcore">
             <require>
                 <enum name="GL_TRANSFORM_FEEDBACK"/>
-                <enum name="GL_TRANSFORM_FEEDBACK_PAUSED"/>
                 <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED"/>
-                <enum name="GL_TRANSFORM_FEEDBACK_ACTIVE"/>
                 <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE"/>
                 <enum name="GL_TRANSFORM_FEEDBACK_BINDING"/>
                 <command name="glBindTransformFeedback"/>
@@ -34634,6 +43635,12 @@ typedef unsigned int GLhandleARB;
                 <command name="glDrawTransformFeedbackStreamInstanced"/>
             </require>
         </extension>
+        <extension name="GL_ARB_transform_feedback_overflow_query" supported="gl|glcore">
+            <require>
+                <enum name="GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB"/>
+                <enum name="GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB"/>
+            </require>
+        </extension>
         <extension name="GL_ARB_transpose_matrix" supported="gl">
             <require>
                 <enum name="GL_TRANSPOSE_MODELVIEW_MATRIX_ARB"/>
@@ -34688,6 +43695,9 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetActiveUniformBlockiv"/>
                 <command name="glGetActiveUniformBlockName"/>
                 <command name="glUniformBlockBinding"/>
+                <command name="glBindBufferRange"/>
+                <command name="glBindBufferBase"/>
+                <command name="glGetIntegeri_v"/>
             </require>
         </extension>
         <extension name="GL_ARB_vertex_array_bgra" supported="gl|glcore">
@@ -35148,6 +44158,10 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetFloati_v"/>
                 <command name="glGetDoublei_v"/>
             </require>
+            <require comment="ARB_viewport_array interactions with NV_depth_buffer_float">
+                <command name="glDepthRangeArraydvNV"/>
+                <command name="glDepthRangeIndexeddNV"/>
+            </require>
         </extension>
         <extension name="GL_ARB_window_pos" supported="gl">
             <require>
@@ -35179,8 +44193,17 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_MALI_SHADER_BINARY_ARM"/>
             </require>
         </extension>
-        <extension name="GL_ARM_rgba8" supported="gles1|gles2">
+        <extension name="GL_ARM_rgba8" supported="gles1|gles2"/>
+        <extension name="GL_ARM_shader_framebuffer_fetch" supported="gles2">
             <require>
+                <enum name="GL_FETCH_PER_SAMPLE_ARM"/>
+                <enum name="GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM"/>
+            </require>
+        </extension>
+        <extension name="GL_ARM_shader_framebuffer_fetch_depth_stencil" supported="gles2"/>
+        <extension name="GL_ARM_texture_unnormalized_coordinates" supported="gles2">
+            <require>
+                <enum name="GL_TEXTURE_UNNORMALIZED_COORDINATES_ARM"/>
             </require>
         </extension>
         <extension name="GL_ATI_draw_buffers" supported="gl">
@@ -35521,6 +44544,13 @@ typedef unsigned int GLhandleARB;
                 <command name="glVertexBlendEnvfATI"/>
             </require>
         </extension>
+        <extension name="GL_DMP_program_binary" supported="gles2">
+            <require>
+                <enum name="GL_SMAPHS30_PROGRAM_BINARY_DMP"/>
+                <enum name="GL_SMAPHS_PROGRAM_BINARY_DMP"/>
+                <enum name="GL_DMP_PROGRAM_BINARY_DMP"/>
+            </require>
+        </extension>
         <extension name="GL_DMP_shader_binary" supported="gles2">
             <require>
                 <enum name="GL_SHADER_BINARY_DMP"/>
@@ -35534,11 +44564,38 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_422_REV_AVERAGE_EXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_EGL_image_array" supported="gles2">
+        </extension>
+        <extension name="GL_EXT_EGL_image_storage" supported="gl|glcore|gles2">
+            <require>
+                <type name="GLeglImageOES"/>
+                <command name="glEGLImageTargetTexStorageEXT"/>
+            </require>
+            <require comment="Supported only if GL_EXT_direct_state_access, ARB_direct_state_access, or OpenGL 4.5 are supported">
+                <command name="glEGLImageTargetTextureStorageEXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_EGL_sync" supported="gl|glcore"/>
+        <extension name="GL_EXT_YUV_target" supported="gles2">
+            <require>
+                <enum name="GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT"/>
+                <enum name="GL_TEXTURE_EXTERNAL_OES"/>
+                <enum name="GL_TEXTURE_BINDING_EXTERNAL_OES"/>
+                <enum name="GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_abgr" supported="gl">
             <require>
                 <enum name="GL_ABGR_EXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_base_instance" supported="gles2">
+            <require>
+                <command name="glDrawArraysInstancedBaseInstanceEXT"/>
+                <command name="glDrawElementsInstancedBaseInstanceEXT"/>
+                <command name="glDrawElementsInstancedBaseVertexBaseInstanceEXT"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_bgra" supported="gl">
             <require>
                 <enum name="GL_BGR_EXT"/>
@@ -35575,6 +44632,21 @@ typedef unsigned int GLhandleARB;
                 <command name="glBlendEquationSeparateEXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_blend_func_extended" supported="gles2">
+            <require>
+                <enum name="GL_SRC1_COLOR_EXT"/>
+                <enum name="GL_SRC1_ALPHA_EXT"/>
+                <enum name="GL_ONE_MINUS_SRC1_COLOR_EXT"/>
+                <enum name="GL_ONE_MINUS_SRC1_ALPHA_EXT"/>
+                <enum name="GL_SRC_ALPHA_SATURATE_EXT"/>
+                <enum name="GL_LOCATION_INDEX_EXT"/>
+                <enum name="GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT"/>
+                <command name="glBindFragDataLocationIndexedEXT"/>
+                <command name="glBindFragDataLocationEXT"/>
+                <command name="glGetProgramResourceLocationIndexEXT"/>
+                <command name="glGetFragDataIndexEXT"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_blend_func_separate" supported="gl">
             <require>
                 <enum name="GL_BLEND_DST_RGB_EXT"/>
@@ -35584,10 +44656,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glBlendFuncSeparateEXT"/>
             </require>
         </extension>
-        <extension name="GL_EXT_blend_logic_op" supported="gl">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_EXT_blend_logic_op" supported="gl"/>
         <extension name="GL_EXT_blend_minmax" supported="gl|gles1|gles2">
             <require>
                 <enum name="GL_MIN_EXT"/>
@@ -35605,6 +44674,53 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_FUNC_REVERSE_SUBTRACT_EXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_buffer_storage" supported="gles2">
+            <require>
+                <enum name="GL_MAP_READ_BIT"/>
+                <enum name="GL_MAP_WRITE_BIT"/>
+                <enum name="GL_MAP_PERSISTENT_BIT_EXT"/>
+                <enum name="GL_MAP_COHERENT_BIT_EXT"/>
+                <enum name="GL_DYNAMIC_STORAGE_BIT_EXT"/>
+                <enum name="GL_CLIENT_STORAGE_BIT_EXT"/>
+                <enum name="GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT"/>
+                <enum name="GL_BUFFER_IMMUTABLE_STORAGE_EXT"/>
+                <enum name="GL_BUFFER_STORAGE_FLAGS_EXT"/>
+                <command name="glBufferStorageEXT"/>
+                <!-- <command name="glNamedBufferStorageEXT"/> -->
+            </require>
+        </extension>
+        <extension name="GL_EXT_clear_texture" supported="gles2">
+            <require>
+                <command name="glClearTexImageEXT"/>
+                <command name="glClearTexSubImageEXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_clip_control" supported="gles2">
+            <require comment="Port of GL_ARB_clip_control">
+                <command name="glClipControlEXT"/>
+                <enum name="GL_LOWER_LEFT_EXT"/>
+                <enum name="GL_UPPER_LEFT_EXT"/>
+                <enum name="GL_NEGATIVE_ONE_TO_ONE_EXT"/>
+                <enum name="GL_ZERO_TO_ONE_EXT"/>
+                <enum name="GL_CLIP_ORIGIN_EXT"/>
+                <enum name="GL_CLIP_DEPTH_MODE_EXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_clip_cull_distance" supported="gles2">
+            <require>
+                <enum name="GL_MAX_CLIP_DISTANCES_EXT"/>
+                <enum name="GL_MAX_CULL_DISTANCES_EXT"/>
+                <enum name="GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT"/>
+                <enum name="GL_CLIP_DISTANCE0_EXT"/>
+                <enum name="GL_CLIP_DISTANCE1_EXT"/>
+                <enum name="GL_CLIP_DISTANCE2_EXT"/>
+                <enum name="GL_CLIP_DISTANCE3_EXT"/>
+                <enum name="GL_CLIP_DISTANCE4_EXT"/>
+                <enum name="GL_CLIP_DISTANCE5_EXT"/>
+                <enum name="GL_CLIP_DISTANCE6_EXT"/>
+                <enum name="GL_CLIP_DISTANCE7_EXT"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_clip_volume_hint" supported="gl">
             <require>
                 <enum name="GL_CLIP_VOLUME_CLIPPING_HINT_EXT"/>
@@ -35618,6 +44734,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_UNPACK_CMYK_HINT_EXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_color_buffer_float" supported="gles2"/>
         <extension name="GL_EXT_color_buffer_half_float" supported="gles2">
             <require>
                 <enum name="GL_RGBA16F_EXT"/>
@@ -35642,6 +44759,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glUnlockArraysEXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_conservative_depth" supported="gles2"/>
         <extension name="GL_EXT_convolution" supported="gl">
             <require>
                 <enum name="GL_CONVOLUTION_1D_EXT"/>
@@ -35719,6 +44837,11 @@ typedef unsigned int GLhandleARB;
                 <command name="glBinormalPointerEXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_copy_image" supported="gles2">
+            <require>
+                <command name="glCopyImageSubDataEXT"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_copy_texture" supported="gl">
             <require>
                 <command name="glCopyTexImage1DEXT"/>
@@ -35737,7 +44860,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glCullParameterfvEXT"/>
             </require>
         </extension>
-        <extension name="GL_EXT_debug_label" supported="gles2">
+        <extension name="GL_EXT_debug_label" supported="gl|glcore|gles2">
             <require>
                 <enum name="GL_PROGRAM_PIPELINE_OBJECT_EXT"/>
                 <enum name="GL_PROGRAM_OBJECT_EXT"/>
@@ -35753,7 +44876,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_TRANSFORM_FEEDBACK"/>
             </require>
         </extension>
-        <extension name="GL_EXT_debug_marker" supported="gles2">
+        <extension name="GL_EXT_debug_marker" supported="gl|glcore|gles1|gles2">
             <require>
                 <command name="glInsertEventMarkerEXT"/>
                 <command name="glPushGroupMarkerEXT"/>
@@ -35767,7 +44890,12 @@ typedef unsigned int GLhandleARB;
                 <command name="glDepthBoundsEXT"/>
             </require>
         </extension>
-        <extension name="GL_EXT_direct_state_access" supported="gl" comment="DSA extension doesn't identify which interfaces are core profile and keeps getting expanded. This is in sync with revision 34, 2010/09/07">
+        <extension name="GL_EXT_depth_clamp" supported="gles2">
+            <require>
+                <enum name="GL_DEPTH_CLAMP_EXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_direct_state_access" supported="gl|glcore" comment="DSA extension doesn't identify which interfaces are core profile and keeps getting expanded. This is in sync with revision 34, 2010/09/07">
             <require>
                 <enum name="GL_PROGRAM_MATRIX_EXT"/>
                 <enum name="GL_TRANSPOSE_PROGRAM_MATRIX_EXT"/>
@@ -36149,6 +45277,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetQueryObjectuivEXT"/>
                 <command name="glGetQueryObjecti64vEXT"/>
                 <command name="glGetQueryObjectui64vEXT"/>
+                <command name="glGetInteger64vEXT"/>
             </require>
         </extension>
         <extension name="GL_EXT_draw_buffers" supported="gles2">
@@ -36200,7 +45329,55 @@ typedef unsigned int GLhandleARB;
                 <command name="glIsEnabledIndexedEXT"/>
             </require>
         </extension>
-        <extension name="GL_EXT_draw_instanced" supported="gl|gles2">
+        <extension name="GL_EXT_draw_buffers_indexed" supported="gles2">
+            <require>
+                <enum name="GL_BLEND_EQUATION_RGB"/>
+                <enum name="GL_BLEND_EQUATION_ALPHA"/>
+                <enum name="GL_BLEND_SRC_RGB"/>
+                <enum name="GL_BLEND_SRC_ALPHA"/>
+                <enum name="GL_BLEND_DST_RGB"/>
+                <enum name="GL_BLEND_DST_ALPHA"/>
+                <enum name="GL_COLOR_WRITEMASK"/>
+                <enum name="GL_BLEND"/>
+                <enum name="GL_FUNC_ADD"/>
+                <enum name="GL_FUNC_SUBTRACT"/>
+                <enum name="GL_FUNC_REVERSE_SUBTRACT"/>
+                <enum name="GL_MIN"/>
+                <enum name="GL_MAX"/>
+                <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"/>
+                <command name="glEnableiEXT"/>
+                <command name="glDisableiEXT"/>
+                <command name="glBlendEquationiEXT"/>
+                <command name="glBlendEquationSeparateiEXT"/>
+                <command name="glBlendFunciEXT"/>
+                <command name="glBlendFuncSeparateiEXT"/>
+                <command name="glColorMaskiEXT"/>
+                <command name="glIsEnablediEXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_draw_elements_base_vertex" supported="gles2">
+            <require>
+                <command name="glDrawElementsBaseVertexEXT"/>
+                <command name="glDrawRangeElementsBaseVertexEXT" comment="Supported only if OpenGL ES 3.0 is supported"/>
+                <command name="glDrawElementsInstancedBaseVertexEXT" comment="Supported only if OpenGL ES 3.0 is supported"/>
+                <command name="glMultiDrawElementsBaseVertexEXT" comment="Supported only if GL_EXT_multi_draw_arrays is supported"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_draw_instanced" supported="gl|glcore|gles2">
             <require>
                 <command name="glDrawArraysInstancedEXT"/>
                 <command name="glDrawElementsInstancedEXT"/>
@@ -36213,6 +45390,19 @@ typedef unsigned int GLhandleARB;
                 <command name="glDrawRangeElementsEXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_draw_transform_feedback" supported="gles2">
+            <require>
+                <command name="glDrawTransformFeedbackEXT"/>
+                <command name="glDrawTransformFeedbackInstancedEXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_external_buffer" supported="gl|gles2">
+            <require>
+                <command name="glBufferStorageExternalEXT"/>
+                <command name="glNamedBufferStorageExternalEXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_float_blend" supported="gles2"/>
         <extension name="GL_EXT_fog_coord" supported="gl">
             <require>
                 <enum name="GL_FOG_COORDINATE_SOURCE_EXT"/>
@@ -36331,6 +45521,45 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_FRAMEBUFFER_SRGB_CAPABLE_EXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_geometry_point_size" supported="gles2"/>
+        <extension name="GL_EXT_geometry_shader" supported="gles2">
+            <require>
+                <enum name="GL_GEOMETRY_SHADER_EXT"/>
+                <enum name="GL_GEOMETRY_SHADER_BIT_EXT"/>
+                <enum name="GL_GEOMETRY_LINKED_VERTICES_OUT_EXT"/>
+                <enum name="GL_GEOMETRY_LINKED_INPUT_TYPE_EXT"/>
+                <enum name="GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT"/>
+                <enum name="GL_GEOMETRY_SHADER_INVOCATIONS_EXT"/>
+                <enum name="GL_LAYER_PROVOKING_VERTEX_EXT"/>
+                <enum name="GL_LINES_ADJACENCY_EXT"/>
+                <enum name="GL_LINE_STRIP_ADJACENCY_EXT"/>
+                <enum name="GL_TRIANGLES_ADJACENCY_EXT"/>
+                <enum name="GL_TRIANGLE_STRIP_ADJACENCY_EXT"/>
+                <enum name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT"/>
+                <enum name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT"/>
+                <enum name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT"/>
+                <enum name="GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT"/>
+                <enum name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT"/>
+                <enum name="GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT"/>
+                <enum name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT"/>
+                <enum name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT"/>
+                <enum name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT"/>
+                <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT"/>
+                <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT"/>
+                <enum name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT"/>
+                <enum name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT"/>
+                <enum name="GL_FIRST_VERTEX_CONVENTION_EXT"/>
+                <enum name="GL_LAST_VERTEX_CONVENTION_EXT"/>
+                <enum name="GL_UNDEFINED_VERTEX_EXT"/>
+                <enum name="GL_PRIMITIVES_GENERATED_EXT"/>
+                <enum name="GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT"/>
+                <enum name="GL_MAX_FRAMEBUFFER_LAYERS_EXT"/>
+                <enum name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT"/>
+                <enum name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT"/>
+                <enum name="GL_REFERENCED_BY_GEOMETRY_SHADER_EXT"/>
+                <command name="glFramebufferTextureEXT"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_geometry_shader4" supported="gl">
             <require>
                 <enum name="GL_GEOMETRY_SHADER_EXT"/>
@@ -36405,6 +45634,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glUniform4uivEXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_gpu_shader5" supported="gles2"/>
         <extension name="GL_EXT_histogram" supported="gl">
             <require>
                 <enum name="GL_HISTOGRAM_EXT"/>
@@ -36461,10 +45691,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glIndexMaterialEXT"/>
             </require>
         </extension>
-        <extension name="GL_EXT_index_texture" supported="gl">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_EXT_index_texture" supported="gl"/>
         <extension name="GL_EXT_instanced_arrays" supported="gles2">
             <require>
                 <enum name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT"/>
@@ -36502,16 +45729,80 @@ typedef unsigned int GLhandleARB;
                 <command name="glFlushMappedBufferRangeEXT"/>
             </require>
         </extension>
-        <extension name="GL_EXT_misc_attribute" supported="gl">
+        <extension name="GL_EXT_memory_object" supported="gl|gles2">
+            <require>
+                <enum name="GL_TEXTURE_TILING_EXT"/>
+                <enum name="GL_DEDICATED_MEMORY_OBJECT_EXT"/>
+                <enum name="GL_PROTECTED_MEMORY_OBJECT_EXT"/>
+                <enum name="GL_NUM_TILING_TYPES_EXT"/>
+                <enum name="GL_TILING_TYPES_EXT"/>
+                <enum name="GL_OPTIMAL_TILING_EXT"/>
+                <enum name="GL_LINEAR_TILING_EXT"/>
+                <enum name="GL_NUM_DEVICE_UUIDS_EXT"/>
+                <enum name="GL_DEVICE_UUID_EXT"/>
+                <enum name="GL_DRIVER_UUID_EXT"/>
+                <enum name="GL_UUID_SIZE_EXT"/>
+                <command name="glGetUnsignedBytevEXT"/>
+                <command name="glGetUnsignedBytei_vEXT"/>
+                <command name="glDeleteMemoryObjectsEXT"/>
+                <command name="glIsMemoryObjectEXT"/>
+                <command name="glCreateMemoryObjectsEXT"/>
+                <command name="glMemoryObjectParameterivEXT"/>
+                <command name="glGetMemoryObjectParameterivEXT"/>
+                <command name="glTexStorageMem2DEXT"/>
+                <command name="glTexStorageMem2DMultisampleEXT"/>
+                <command name="glTexStorageMem3DEXT"/>
+                <command name="glTexStorageMem3DMultisampleEXT"/>
+                <command name="glBufferStorageMemEXT"/>
+            </require>
+            <require comment="Supported only if GL_EXT_direct_state_access is supported">
+                <command name="glTextureStorageMem2DEXT"/>
+                <command name="glTextureStorageMem2DMultisampleEXT"/>
+                <command name="glTextureStorageMem3DEXT"/>
+                <command name="glTextureStorageMem3DMultisampleEXT"/>
+                <command name="glNamedBufferStorageMemEXT"/>
+            </require>
+            <require api="gl">
+                <command name="glTexStorageMem1DEXT"/>
+            </require>
+            <require api="gl" comment="Supported only if GL_EXT_direct_state_access is supported">
+                <command name="glTextureStorageMem1DEXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_memory_object_fd" supported="gl|gles2">
             <require>
+                <enum name="GL_HANDLE_TYPE_OPAQUE_FD_EXT"/>
+                <command name="glImportMemoryFdEXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_memory_object_win32" supported="gl|gles2">
+            <require>
+                <enum name="GL_HANDLE_TYPE_OPAQUE_WIN32_EXT"/>
+                <enum name="GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT"/>
+                <enum name="GL_DEVICE_LUID_EXT"/>
+                <enum name="GL_DEVICE_NODE_MASK_EXT"/>
+                <enum name="GL_LUID_SIZE_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"/>
+                <command name="glImportMemoryWin32HandleEXT"/>
+                <command name="glImportMemoryWin32NameEXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_misc_attribute" supported="gl"/>
         <extension name="GL_EXT_multi_draw_arrays" supported="gl|gles1|gles2">
             <require>
                 <command name="glMultiDrawArraysEXT"/>
                 <command name="glMultiDrawElementsEXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_multi_draw_indirect" supported="gles2">
+            <require>
+                <command name="glMultiDrawArraysIndirectEXT"/>
+                <command name="glMultiDrawElementsIndirectEXT"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_multisample" supported="gl">
             <require>
                 <enum name="GL_MULTISAMPLE_EXT"/>
@@ -36535,6 +45826,12 @@ typedef unsigned int GLhandleARB;
                 <command name="glSamplePatternEXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_multisampled_compatibility" supported="gles2">
+            <require>
+                <enum name="GL_MULTISAMPLE_EXT"/>
+                <enum name="GL_SAMPLE_ALPHA_TO_ONE_EXT"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_multisampled_render_to_texture" supported="gles1|gles2">
             <require>
                 <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT"/>
@@ -36545,6 +45842,10 @@ typedef unsigned int GLhandleARB;
                 <command name="glFramebufferTexture2DMultisampleEXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_multisampled_render_to_texture2" supported="gles2">
+            <require>
+            </require>
+        </extension>
         <extension name="GL_EXT_multiview_draw_buffers" supported="gles2">
             <require>
                 <enum name="GL_COLOR_ATTACHMENT_EXT"/>
@@ -36557,6 +45858,9 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetIntegeri_vEXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_multiview_tessellation_geometry_shader" supported="gl|glcore|gles2"/>
+        <extension name="GL_EXT_multiview_texture_multisample" supported="gl|glcore|gles2"/>
+        <extension name="GL_EXT_multiview_timer_query" supported="gl|glcore|gles2"/>
         <extension name="GL_EXT_occlusion_query_boolean" supported="gles2">
             <require>
                 <enum name="GL_ANY_SAMPLES_PASSED_EXT"/>
@@ -36639,10 +45943,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetPixelTransformParameterfvEXT"/>
             </require>
         </extension>
-        <extension name="GL_EXT_pixel_transform_color_table" supported="gl">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_EXT_pixel_transform_color_table" supported="gl"/>
         <extension name="GL_EXT_point_parameters" supported="gl">
             <require>
                 <enum name="GL_POINT_SIZE_MIN_EXT"/>
@@ -36661,6 +45962,25 @@ typedef unsigned int GLhandleARB;
                 <command name="glPolygonOffsetEXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_polygon_offset_clamp" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_POLYGON_OFFSET_CLAMP_EXT"/>
+                <command name="glPolygonOffsetClampEXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_post_depth_coverage" supported="gl|glcore|gles2"/>
+        <extension name="GL_EXT_primitive_bounding_box" supported="gles2">
+            <require>
+                <enum name="GL_PRIMITIVE_BOUNDING_BOX_EXT"/>
+                <command name="glPrimitiveBoundingBoxEXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_protected_textures" supported="gles2">
+            <require>
+                <enum name="GL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT"/>
+                <enum name="GL_TEXTURE_PROTECTED_EXT"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_provoking_vertex" supported="gl">
             <require>
                 <enum name="GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT"/>
@@ -36676,6 +45996,19 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT"/>
                 <enum name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT"/>
                 <enum name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT"/>
+                <enum name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG"/>
+                <enum name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_raster_multisample" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_RASTER_MULTISAMPLE_EXT"/>
+                <enum name="GL_RASTER_SAMPLES_EXT"/>
+                <enum name="GL_MAX_RASTER_SAMPLES_EXT"/>
+                <enum name="GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT"/>
+                <enum name="GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT"/>
+                <enum name="GL_EFFECTIVE_RASTER_SAMPLES_EXT"/>
+                <command name="glRasterSamplesEXT"/>
             </require>
         </extension>
         <extension name="GL_EXT_read_format_bgra" supported="gles1|gles2">
@@ -36685,6 +46018,18 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_render_snorm" supported="gles2">
+            <require>
+                <enum name="GL_BYTE"/>
+                <enum name="GL_SHORT"/>
+                <enum name="GL_R8_SNORM"/>
+                <enum name="GL_RG8_SNORM"/>
+                <enum name="GL_RGBA8_SNORM"/>
+                <enum name="GL_R16_SNORM_EXT"/>
+                <enum name="GL_RG16_SNORM_EXT"/>
+                <enum name="GL_RGBA16_SNORM_EXT"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_rescale_normal" supported="gl">
             <require>
                 <enum name="GL_RESCALE_NORMAL_EXT"/>
@@ -36706,6 +46051,51 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetnUniformivEXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_semaphore" supported="gl|gles2">
+            <require>
+                <enum name="GL_NUM_DEVICE_UUIDS_EXT"/>
+                <enum name="GL_DEVICE_UUID_EXT"/>
+                <enum name="GL_DRIVER_UUID_EXT"/>
+                <enum name="GL_UUID_SIZE_EXT"/>
+                <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"/>
+                <command name="glGetUnsignedBytevEXT"/>
+                <command name="glGetUnsignedBytei_vEXT"/>
+                <command name="glGenSemaphoresEXT"/>
+                <command name="glDeleteSemaphoresEXT"/>
+                <command name="glIsSemaphoreEXT"/>
+                <command name="glSemaphoreParameterui64vEXT"/>
+                <command name="glGetSemaphoreParameterui64vEXT"/>
+                <command name="glWaitSemaphoreEXT"/>
+                <command name="glSignalSemaphoreEXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_semaphore_fd" supported="gl|gles2">
+            <require>
+                <enum name="GL_HANDLE_TYPE_OPAQUE_FD_EXT"/>
+                <command name="glImportSemaphoreFdEXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_semaphore_win32" supported="gl|gles2">
+            <require>
+                <enum name="GL_HANDLE_TYPE_OPAQUE_WIN32_EXT"/>
+                <enum name="GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT"/>
+                <enum name="GL_DEVICE_LUID_EXT"/>
+                <enum name="GL_DEVICE_NODE_MASK_EXT"/>
+                <enum name="GL_LUID_SIZE_EXT"/>
+                <enum name="GL_HANDLE_TYPE_D3D12_FENCE_EXT"/>
+                <enum name="GL_D3D12_FENCE_VALUE_EXT"/>
+                <command name="glImportSemaphoreWin32HandleEXT"/>
+                <command name="glImportSemaphoreWin32NameEXT"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_sRGB" supported="gles1|gles2">
             <require>
                 <enum name="GL_SRGB_EXT"/>
@@ -36747,7 +46137,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glSecondaryColorPointerEXT"/>
             </require>
         </extension>
-        <extension name="GL_EXT_separate_shader_objects" supported="gl|gles2">
+        <extension name="GL_EXT_separate_shader_objects" supported="gl|glcore|gles2">
             <require api="gl" comment="The OpenGL version of this extension is completely unrelated to the OpenGL ES version">
                 <enum name="GL_ACTIVE_PROGRAM_EXT"/>
                 <command name="glUseShaderProgramEXT"/>
@@ -36792,7 +46182,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glUseProgramStagesEXT"/>
                 <command name="glValidateProgramPipelineEXT"/>
             </require>
-            <require api="gles2" comment="Depends on OpenGL ES 3.0">
+            <require api="gles2" comment="Depends on OpenGL ES 3.0 or GL_NV_non_square_matrices">
                 <command name="glProgramUniform1uiEXT"/>
                 <command name="glProgramUniform2uiEXT"/>
                 <command name="glProgramUniform3uiEXT"/>
@@ -36801,7 +46191,6 @@ typedef unsigned int GLhandleARB;
                 <command name="glProgramUniform2uivEXT"/>
                 <command name="glProgramUniform3uivEXT"/>
                 <command name="glProgramUniform4uivEXT"/>
-                <command name="glProgramUniformMatrix4fvEXT"/>
                 <command name="glProgramUniformMatrix2x3fvEXT"/>
                 <command name="glProgramUniformMatrix3x2fvEXT"/>
                 <command name="glProgramUniformMatrix2x4fvEXT"/>
@@ -36817,11 +46206,19 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_SEPARATE_SPECULAR_COLOR_EXT"/>
             </require>
         </extension>
-        <extension name="GL_EXT_shader_framebuffer_fetch" supported="gles2">
+        <extension name="GL_EXT_shader_framebuffer_fetch" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_shader_framebuffer_fetch_non_coherent" supported="gl|glcore|gles2">
             <require>
                 <enum name="GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT"/>
+                <command name="glFramebufferFetchBarrierEXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_shader_group_vote" supported="gles2"/>
+        <extension name="GL_EXT_shader_image_load_formatted" supported="gl"/>
         <extension name="GL_EXT_shader_image_load_store" supported="gl">
             <require>
                 <enum name="GL_MAX_IMAGE_UNITS_EXT"/>
@@ -36883,18 +46280,29 @@ typedef unsigned int GLhandleARB;
                 <command name="glMemoryBarrierEXT"/>
             </require>
         </extension>
-        <extension name="GL_EXT_shader_integer_mix" supported="gl|gles2">
+        <extension name="GL_EXT_shader_implicit_conversions" supported="gles2"/>
+        <extension name="GL_EXT_shader_integer_mix" supported="gl|glcore|gles2"/>
+        <extension name="GL_EXT_shader_io_blocks" supported="gles2"/>
+        <extension name="GL_EXT_shader_non_constant_global_initializers" supported="gles2"/>
+        <extension name="GL_EXT_shader_pixel_local_storage" supported="gles2">
             <require>
+                <enum name="GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT"/>
+                <enum name="GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT"/>
+                <enum name="GL_SHADER_PIXEL_LOCAL_STORAGE_EXT"/>
             </require>
         </extension>
-        <extension name="GL_EXT_shader_texture_lod" supported="gles2">
-            <require>
-            </require>
-        </extension>
-        <extension name="GL_EXT_shadow_funcs" supported="gl">
+        <extension name="GL_EXT_shader_pixel_local_storage2" supported="gles2">
             <require>
+                <enum name="GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_FAST_SIZE_EXT"/>
+                <enum name="GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_SIZE_EXT"/>
+                <enum name="GL_FRAMEBUFFER_INCOMPLETE_INSUFFICIENT_SHADER_COMBINED_LOCAL_STORAGE_EXT"/>
+                <command name="glFramebufferPixelLocalStorageSizeEXT"/>
+                <command name="glGetFramebufferPixelLocalStorageSizeEXT"/>
+                <command name="glClearPixelLocalStorageuiEXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_shader_texture_lod" supported="gles2"/>
+        <extension name="GL_EXT_shadow_funcs" supported="gl"/>
         <extension name="GL_EXT_shadow_samplers" supported="gles2">
             <require>
                 <enum name="GL_TEXTURE_COMPARE_MODE_EXT"/>
@@ -36908,6 +46316,29 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_SHARED_TEXTURE_PALETTE_EXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_sparse_texture" supported="gles2">
+            <require>
+                <enum name="GL_TEXTURE_SPARSE_EXT"/>
+                <enum name="GL_VIRTUAL_PAGE_SIZE_INDEX_EXT"/>
+                <enum name="GL_NUM_SPARSE_LEVELS_EXT"/>
+                <enum name="GL_NUM_VIRTUAL_PAGE_SIZES_EXT"/>
+                <enum name="GL_VIRTUAL_PAGE_SIZE_X_EXT"/>
+                <enum name="GL_VIRTUAL_PAGE_SIZE_Y_EXT"/>
+                <enum name="GL_VIRTUAL_PAGE_SIZE_Z_EXT"/>
+                <enum name="GL_TEXTURE_2D"/>
+                <enum name="GL_TEXTURE_2D_ARRAY"/>
+                <enum name="GL_TEXTURE_CUBE_MAP"/>
+                <enum name="GL_TEXTURE_CUBE_MAP_ARRAY_OES"/>
+                <enum name="GL_TEXTURE_3D"/>
+                <enum name="GL_MAX_SPARSE_TEXTURE_SIZE_EXT"/>
+                <enum name="GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT"/>
+                <enum name="GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT"/>
+                <enum name="GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT"/>
+                <command name="glTexPageCommitmentEXT"/>
+                <!-- <command name="glTexturePageCommitmentEXT"/> -->
+            </require>
+        </extension>
+        <extension name="GL_EXT_sparse_texture2" supported="gl|gles2"/>
         <extension name="GL_EXT_stencil_clear_tag" supported="gl">
             <require>
                 <enum name="GL_STENCIL_TAG_BITS_EXT"/>
@@ -36934,6 +46365,59 @@ typedef unsigned int GLhandleARB;
                 <command name="glTexSubImage2DEXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_tessellation_point_size" supported="gles2"/>
+        <extension name="GL_EXT_tessellation_shader" supported="gles2">
+            <require>
+                <enum name="GL_PATCHES_EXT"/>
+                <enum name="GL_PATCH_VERTICES_EXT"/>
+                <enum name="GL_TESS_CONTROL_OUTPUT_VERTICES_EXT"/>
+                <enum name="GL_TESS_GEN_MODE_EXT"/>
+                <enum name="GL_TESS_GEN_SPACING_EXT"/>
+                <enum name="GL_TESS_GEN_VERTEX_ORDER_EXT"/>
+                <enum name="GL_TESS_GEN_POINT_MODE_EXT"/>
+                <enum name="GL_TRIANGLES"/>
+                <enum name="GL_ISOLINES_EXT"/>
+                <enum name="GL_QUADS_EXT"/>
+                <enum name="GL_EQUAL"/>
+                <enum name="GL_FRACTIONAL_ODD_EXT"/>
+                <enum name="GL_FRACTIONAL_EVEN_EXT"/>
+                <enum name="GL_CCW"/>
+                <enum name="GL_CW"/>
+                <enum name="GL_MAX_PATCH_VERTICES_EXT"/>
+                <enum name="GL_MAX_TESS_GEN_LEVEL_EXT"/>
+                <enum name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT"/>
+                <enum name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT"/>
+                <enum name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT"/>
+                <enum name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT"/>
+                <enum name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT"/>
+                <enum name="GL_MAX_TESS_PATCH_COMPONENTS_EXT"/>
+                <enum name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT"/>
+                <enum name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT"/>
+                <enum name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT"/>
+                <enum name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT"/>
+                <enum name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT"/>
+                <enum name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT"/>
+                <enum name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT"/>
+                <enum name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT"/>
+                <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT"/>
+                <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT"/>
+                <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT"/>
+                <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT"/>
+                <enum name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT"/>
+                <enum name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT"/>
+                <enum name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT"/>
+                <enum name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT"/>
+                <enum name="GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED"/>
+                <enum name="GL_IS_PER_PATCH_EXT"/>
+                <enum name="GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT"/>
+                <enum name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT"/>
+                <enum name="GL_TESS_CONTROL_SHADER_EXT"/>
+                <enum name="GL_TESS_EVALUATION_SHADER_EXT"/>
+                <enum name="GL_TESS_CONTROL_SHADER_BIT_EXT"/>
+                <enum name="GL_TESS_EVALUATION_SHADER_BIT_EXT"/>
+                <command name="glPatchParameteriEXT"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_texture" supported="gl">
             <require>
                 <enum name="GL_ALPHA4_EXT"/>
@@ -37007,6 +46491,41 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_MAX_ARRAY_TEXTURE_LAYERS_EXT"/>
                 <enum name="GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT"/>
                 <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT"/>
+                <command name="glFramebufferTextureLayerEXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_texture_border_clamp" supported="gles2">
+            <require>
+                <enum name="GL_TEXTURE_BORDER_COLOR_EXT"/>
+                <enum name="GL_CLAMP_TO_BORDER_EXT"/>
+                <command name="glTexParameterIivEXT"/>
+                <command name="glTexParameterIuivEXT"/>
+                <command name="glGetTexParameterIivEXT"/>
+                <command name="glGetTexParameterIuivEXT"/>
+                <command name="glSamplerParameterIivEXT"/>
+                <command name="glSamplerParameterIuivEXT"/>
+                <command name="glGetSamplerParameterIivEXT"/>
+                <command name="glGetSamplerParameterIuivEXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_texture_buffer" supported="gles2">
+            <require>
+                <enum name="GL_TEXTURE_BUFFER_EXT"/>
+                <enum name="GL_TEXTURE_BUFFER_BINDING_EXT"/>
+                <enum name="GL_MAX_TEXTURE_BUFFER_SIZE_EXT"/>
+                <enum name="GL_TEXTURE_BINDING_BUFFER_EXT"/>
+                <enum name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT"/>
+                <enum name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT"/>
+                <enum name="GL_SAMPLER_BUFFER_EXT"/>
+                <enum name="GL_INT_SAMPLER_BUFFER_EXT"/>
+                <enum name="GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT"/>
+                <enum name="GL_IMAGE_BUFFER_EXT"/>
+                <enum name="GL_INT_IMAGE_BUFFER_EXT"/>
+                <enum name="GL_UNSIGNED_INT_IMAGE_BUFFER_EXT"/>
+                <enum name="GL_TEXTURE_BUFFER_OFFSET_EXT"/>
+                <enum name="GL_TEXTURE_BUFFER_SIZE_EXT"/>
+                <command name="glTexBufferEXT"/>
+                <command name="glTexBufferRangeEXT"/>
             </require>
         </extension>
         <extension name="GL_EXT_texture_buffer_object" supported="gl">
@@ -37019,6 +46538,19 @@ typedef unsigned int GLhandleARB;
                 <command name="glTexBufferEXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_texture_compression_astc_decode_mode" supported="gles2">
+            <require>
+                <enum name="GL_TEXTURE_ASTC_DECODE_PRECISION_EXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_texture_compression_bptc" supported="gles2">
+            <require>
+                <enum name="GL_COMPRESSED_RGBA_BPTC_UNORM_EXT"/>
+                <enum name="GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT"/>
+                <enum name="GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT"/>
+                <enum name="GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_texture_compression_dxt1" supported="gles1|gles2">
             <require>
                 <enum name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT"/>
@@ -37033,7 +46565,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT"/>
             </require>
         </extension>
-        <extension name="GL_EXT_texture_compression_rgtc" supported="gl">
+        <extension name="GL_EXT_texture_compression_rgtc" supported="gl|gles2">
             <require>
                 <enum name="GL_COMPRESSED_RED_RGTC1_EXT"/>
                 <enum name="GL_COMPRESSED_SIGNED_RED_RGTC1_EXT"/>
@@ -37041,7 +46573,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT"/>
             </require>
         </extension>
-        <extension name="GL_EXT_texture_compression_s3tc" supported="gl|gles2">
+        <extension name="GL_EXT_texture_compression_s3tc" supported="gl|glcore|gles2|glsc2">
             <require>
                 <enum name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT"/>
                 <enum name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT"/>
@@ -37049,6 +46581,14 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_COMPRESSED_RGBA_S3TC_DXT5_EXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_texture_compression_s3tc_srgb" supported="gles2">
+            <require>
+                <enum name="GL_COMPRESSED_SRGB_S3TC_DXT1_EXT"/>
+                <enum name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT"/>
+                <enum name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT"/>
+                <enum name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_texture_cube_map" supported="gl" comment="Replaced by ARB_texture_cube_map, but was apparently shipped anyway?">
             <require>
                 <enum name="GL_NORMAL_MAP_EXT"/>
@@ -37065,10 +46605,20 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT"/>
             </require>
         </extension>
-        <extension name="GL_EXT_texture_env_add" supported="gl">
+        <extension name="GL_EXT_texture_cube_map_array" supported="gles2">
             <require>
+                <enum name="GL_TEXTURE_CUBE_MAP_ARRAY_EXT"/>
+                <enum name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT"/>
+                <enum name="GL_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
+                <enum name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT"/>
+                <enum name="GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
+                <enum name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
+                <enum name="GL_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+                <enum name="GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+                <enum name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_texture_env_add" supported="gl"/>
         <extension name="GL_EXT_texture_env_combine" supported="gl">
             <require>
                 <enum name="GL_COMBINE_EXT"/>
@@ -37106,11 +46656,22 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_texture_filter_minmax" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_TEXTURE_REDUCTION_MODE_EXT"/>
+                <enum name="GL_WEIGHTED_AVERAGE_EXT"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_texture_format_BGRA8888" supported="gles1|gles2">
             <require>
                 <enum name="GL_BGRA_EXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_texture_format_sRGB_override" supported="gles2">
+            <require>
+                <enum name="GL_TEXTURE_FORMAT_SRGB_OVERRIDE_EXT"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_texture_integer" supported="gl">
             <require>
                 <enum name="GL_RGBA32UI_EXT"/>
@@ -37182,6 +46743,23 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_MIRROR_CLAMP_TO_BORDER_EXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_texture_mirror_clamp_to_edge" supported="gles2">
+            <require>
+                <enum name="GL_MIRROR_CLAMP_TO_EDGE_EXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_texture_norm16" supported="gles2">
+            <require>
+                <enum name="GL_R16_EXT"/>
+                <enum name="GL_RG16_EXT"/>
+                <enum name="GL_RGBA16_EXT"/>
+                <enum name="GL_RGB16_EXT"/>
+                <enum name="GL_R16_SNORM_EXT"/>
+                <enum name="GL_RG16_SNORM_EXT"/>
+                <enum name="GL_RGB16_SNORM_EXT"/>
+                <enum name="GL_RGBA16_SNORM_EXT"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_texture_object" supported="gl">
             <require>
                 <enum name="GL_TEXTURE_PRIORITY_EXT"/>
@@ -37204,6 +46782,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glTextureNormalEXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_texture_query_lod" supported="gles2"/>
         <extension name="GL_EXT_texture_rg" supported="gles2">
             <require>
                 <enum name="GL_RED_EXT"/>
@@ -37232,7 +46811,17 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT"/>
             </require>
         </extension>
-        <extension name="GL_EXT_texture_sRGB_decode" supported="gl|gles2">
+        <extension name="GL_EXT_texture_sRGB_R8" supported="gles2|gl|glcore">
+            <require>
+                <enum name="GL_SR8_EXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_texture_sRGB_RG8" supported="gles2|gl|glcore">
+            <require>
+                <enum name="GL_SRG8_EXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_texture_sRGB_decode" supported="gl|glcore|gles2">
             <require>
                 <enum name="GL_TEXTURE_SRGB_DECODE_EXT"/>
                 <enum name="GL_DECODE_EXT"/>
@@ -37324,6 +46913,28 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_texture_view" supported="gles2">
+            <require>
+                <enum name="GL_TEXTURE_VIEW_MIN_LEVEL_EXT"/>
+                <enum name="GL_TEXTURE_VIEW_NUM_LEVELS_EXT"/>
+                <enum name="GL_TEXTURE_VIEW_MIN_LAYER_EXT"/>
+                <enum name="GL_TEXTURE_VIEW_NUM_LAYERS_EXT"/>
+                <enum name="GL_TEXTURE_IMMUTABLE_LEVELS"/>
+                <command name="glTextureViewEXT"/>
+            </require>
+        </extension>
+        <extension name="GL_NV_timeline_semaphore" supported="gl|gles2">
+            <require>
+                <enum name="GL_TIMELINE_SEMAPHORE_VALUE_NV"/>
+                <enum name="GL_SEMAPHORE_TYPE_NV"/>
+                <enum name="GL_SEMAPHORE_TYPE_BINARY_NV"/>
+                <enum name="GL_SEMAPHORE_TYPE_TIMELINE_NV"/>
+                <enum name="GL_MAX_TIMELINE_SEMAPHORE_VALUE_DIFFERENCE_NV"/>
+                <command name="glCreateSemaphoresNV"/>
+                <command name="glSemaphoreParameterivNV"/>
+                <command name="glGetSemaphoreParameterivNV"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_timer_query" supported="gl">
             <require>
                 <enum name="GL_TIME_ELAPSED_EXT"/>
@@ -37617,6 +47228,23 @@ typedef unsigned int GLhandleARB;
                 <command name="glVertexWeightPointerEXT"/>
             </require>
         </extension>
+        <extension name="GL_EXT_win32_keyed_mutex" supported="gl|gles2">
+            <require>
+                <command name="glAcquireKeyedMutexWin32EXT"/>
+                <command name="glReleaseKeyedMutexWin32EXT"/>
+            </require>
+        </extension>
+        <extension name="GL_EXT_window_rectangles" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_INCLUSIVE_EXT"/>
+                <enum name="GL_EXCLUSIVE_EXT"/>
+                <enum name="GL_WINDOW_RECTANGLE_EXT"/>
+                <enum name="GL_WINDOW_RECTANGLE_MODE_EXT"/>
+                <enum name="GL_MAX_WINDOW_RECTANGLES_EXT"/>
+                <enum name="GL_NUM_WINDOW_RECTANGLES_EXT"/>
+                <command name="glWindowRectanglesEXT"/>
+            </require>
+        </extension>
         <extension name="GL_EXT_x11_sync_object" supported="gl">
             <require>
                 <enum name="GL_SYNC_X11_FENCE_EXT"/>
@@ -37740,6 +47368,26 @@ typedef unsigned int GLhandleARB;
                 <command name="glVertexPointerListIBM"/>
             </require>
         </extension>
+        <extension name="GL_IMG_bindless_texture" supported="gles2">
+            <require>
+                <command name="glGetTextureHandleIMG"/>
+                <command name="glGetTextureSamplerHandleIMG"/>
+                <command name="glUniformHandleui64IMG"/>
+                <command name="glUniformHandleui64vIMG"/>
+                <command name="glProgramUniformHandleui64IMG"/>
+                <command name="glProgramUniformHandleui64vIMG"/>
+            </require>
+        </extension>
+        <extension name="GL_IMG_framebuffer_downsample" supported="gles2">
+            <require>
+                <enum name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_AND_DOWNSAMPLE_IMG"/>
+                <enum name="GL_NUM_DOWNSAMPLE_SCALES_IMG"/>
+                <enum name="GL_DOWNSAMPLE_SCALES_IMG"/>
+                <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SCALE_IMG"/>
+                <command name="glFramebufferTexture2DDownsampleIMG"/>
+                <command name="glFramebufferTextureLayerDownsampleIMG"/>
+            </require>
+        </extension>
         <extension name="GL_IMG_multisampled_render_to_texture" supported="gles1|gles2">
             <require>
                 <enum name="GL_RENDERBUFFER_SAMPLES_IMG"/>
@@ -37791,6 +47439,13 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_DOT3_RGBA_IMG"/>
             </require>
         </extension>
+        <extension name="GL_IMG_texture_filter_cubic" supported="gles2">
+            <require>
+                <enum name="GL_CUBIC_IMG"/>
+                <enum name="GL_CUBIC_MIPMAP_NEAREST_IMG"/>
+                <enum name="GL_CUBIC_MIPMAP_LINEAR_IMG"/>
+            </require>
+        </extension>
         <extension name="GL_IMG_user_clip_plane" supported="gles1">
             <require>
                 <enum name="GL_CLIP_PLANE0_IMG"/>
@@ -37826,6 +47481,17 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_INTERLACE_READ_INGR"/>
             </require>
         </extension>
+        <extension name="GL_INTEL_conservative_rasterization" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_CONSERVATIVE_RASTERIZATION_INTEL"/>
+            </require>
+        </extension>
+        <extension name="GL_INTEL_fragment_shader_ordering" supported="gl"/>
+        <extension name="GL_INTEL_framebuffer_CMAA" supported="gl|glcore|gles2">
+            <require>
+                <command name="glApplyFramebufferAttachmentCMAAINTEL"/>
+            </require>
+        </extension>
         <extension name="GL_INTEL_map_texture" supported="gl">
             <require>
                 <enum name="GL_TEXTURE_MEMORY_LAYOUT_INTEL"/>
@@ -37837,6 +47503,11 @@ typedef unsigned int GLhandleARB;
                 <command name="glMapTexture2DINTEL"/>
             </require>
         </extension>
+        <extension name="GL_INTEL_blackhole_render" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_BLACKHOLE_RENDER_INTEL"/>
+            </require>
+        </extension>
         <extension name="GL_INTEL_parallel_arrays" supported="gl">
             <require>
                 <enum name="GL_PARALLEL_ARRAYS_INTEL"/>
@@ -37850,7 +47521,78 @@ typedef unsigned int GLhandleARB;
                 <command name="glTexCoordPointervINTEL"/>
             </require>
         </extension>
-        <extension name="GL_KHR_debug" supported="gl|glcore|gles2">
+        <extension name="GL_INTEL_performance_query" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_PERFQUERY_SINGLE_CONTEXT_INTEL"/>
+                <enum name="GL_PERFQUERY_GLOBAL_CONTEXT_INTEL"/>
+                <enum name="GL_PERFQUERY_WAIT_INTEL"/>
+                <enum name="GL_PERFQUERY_FLUSH_INTEL"/>
+                <enum name="GL_PERFQUERY_DONOT_FLUSH_INTEL"/>
+                <enum name="GL_PERFQUERY_COUNTER_EVENT_INTEL"/>
+                <enum name="GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL"/>
+                <enum name="GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL"/>
+                <enum name="GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL"/>
+                <enum name="GL_PERFQUERY_COUNTER_RAW_INTEL"/>
+                <enum name="GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL"/>
+                <enum name="GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL"/>
+                <enum name="GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL"/>
+                <enum name="GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL"/>
+                <enum name="GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL"/>
+                <enum name="GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL"/>
+                <enum name="GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL"/>
+                <enum name="GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL"/>
+                <enum name="GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL"/>
+                <enum name="GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL"/>
+                <command name="glBeginPerfQueryINTEL"/>
+                <command name="glCreatePerfQueryINTEL"/>
+                <command name="glDeletePerfQueryINTEL"/>
+                <command name="glEndPerfQueryINTEL"/>
+                <command name="glGetFirstPerfQueryIdINTEL"/>
+                <command name="glGetNextPerfQueryIdINTEL"/>
+                <command name="glGetPerfCounterInfoINTEL"/>
+                <command name="glGetPerfQueryDataINTEL"/>
+                <command name="glGetPerfQueryIdByNameINTEL"/>
+                <command name="glGetPerfQueryInfoINTEL"/>
+            </require>
+        </extension>
+        <extension name="GL_KHR_blend_equation_advanced" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_MULTIPLY_KHR"/>
+                <enum name="GL_SCREEN_KHR"/>
+                <enum name="GL_OVERLAY_KHR"/>
+                <enum name="GL_DARKEN_KHR"/>
+                <enum name="GL_LIGHTEN_KHR"/>
+                <enum name="GL_COLORDODGE_KHR"/>
+                <enum name="GL_COLORBURN_KHR"/>
+                <enum name="GL_HARDLIGHT_KHR"/>
+                <enum name="GL_SOFTLIGHT_KHR"/>
+                <enum name="GL_DIFFERENCE_KHR"/>
+                <enum name="GL_EXCLUSION_KHR"/>
+                <enum name="GL_HSL_HUE_KHR"/>
+                <enum name="GL_HSL_SATURATION_KHR"/>
+                <enum name="GL_HSL_COLOR_KHR"/>
+                <enum name="GL_HSL_LUMINOSITY_KHR"/>
+                <command name="glBlendBarrierKHR"/>
+            </require>
+        </extension>
+        <extension name="GL_KHR_blend_equation_advanced_coherent" supported="gl|glcore|gles2">
+            <require comment="Otherwise identical to GL_KHR_blend_equation_advanced, just different semantic behavior">
+                <enum name="GL_BLEND_ADVANCED_COHERENT_KHR"/>
+            </require>
+        </extension>
+        <extension name="GL_KHR_context_flush_control" supported="gl|glcore|gles2">
+            <require api="gl" comment="KHR extensions *mandate* suffixes for ES, unlike for GL">
+                <enum name="GL_CONTEXT_RELEASE_BEHAVIOR"/>
+                <enum name="GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH"/>
+                <enum name="GL_NONE"/>
+            </require>
+            <require api="gles2">
+                <enum name="GL_CONTEXT_RELEASE_BEHAVIOR_KHR"/>
+                <enum name="GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR"/>
+                <enum name="GL_NONE"/>
+            </require>
+        </extension>
+        <extension name="GL_KHR_debug" supported="gl|glcore|gles1|gles2">
             <require api="gl" comment="KHR extensions *mandate* suffixes for ES, unlike for GL">
                 <enum name="GL_DEBUG_OUTPUT_SYNCHRONOUS"/>
                 <enum name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH"/>
@@ -37879,6 +47621,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_PROGRAM"/>
                 <enum name="GL_VERTEX_ARRAY"/>
                 <enum name="GL_QUERY"/>
+                <enum name="GL_PROGRAM_PIPELINE"/>
                 <enum name="GL_SAMPLER"/>
                 <enum name="GL_MAX_LABEL_LENGTH"/>
                 <enum name="GL_MAX_DEBUG_MESSAGE_LENGTH"/>
@@ -37931,6 +47674,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_PROGRAM_KHR"/>
                 <enum name="GL_VERTEX_ARRAY_KHR"/>
                 <enum name="GL_QUERY_KHR"/>
+                <enum name="GL_PROGRAM_PIPELINE_KHR"/>
                 <enum name="GL_SAMPLER_KHR"/>
                 <enum name="GL_MAX_LABEL_LENGTH_KHR"/>
                 <enum name="GL_MAX_DEBUG_MESSAGE_LENGTH_KHR"/>
@@ -37955,13 +47699,66 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetObjectPtrLabelKHR"/>
                 <command name="glGetPointervKHR"/>
             </require>
-            <require api="gl" comment="Could benefit from api/profile attributes at enum tag level">
-                <enum name="GL_PROGRAM_PIPELINE"/>
-            </require>
             <require api="gl" profile="compatibility">
                 <enum name="GL_DISPLAY_LIST"/>
             </require>
         </extension>
+        <extension name="GL_KHR_no_error" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR"/>
+            </require>
+        </extension>
+        <extension name="GL_KHR_robust_buffer_access_behavior" supported="gl|glcore|gles2"/>
+        <extension name="GL_KHR_robustness" supported="gl|glcore|gles2">
+            <require api="gl" comment="KHR extensions *mandate* suffixes for ES, unlike for GL">
+                <enum name="GL_NO_ERROR"/>
+                <enum name="GL_CONTEXT_ROBUST_ACCESS"/>
+                <enum name="GL_LOSE_CONTEXT_ON_RESET"/>
+                <enum name="GL_GUILTY_CONTEXT_RESET"/>
+                <enum name="GL_INNOCENT_CONTEXT_RESET"/>
+                <enum name="GL_UNKNOWN_CONTEXT_RESET"/>
+                <enum name="GL_RESET_NOTIFICATION_STRATEGY"/>
+                <enum name="GL_NO_RESET_NOTIFICATION"/>
+                <enum name="GL_CONTEXT_LOST"/>
+                <command name="glGetGraphicsResetStatus"/>
+                <command name="glReadnPixels"/>
+                <command name="glGetnUniformfv"/>
+                <command name="glGetnUniformiv"/>
+                <command name="glGetnUniformuiv"/>
+            </require>
+            <require api="gles2">
+                <enum name="GL_NO_ERROR"/>
+                <enum name="GL_CONTEXT_ROBUST_ACCESS_KHR"/>
+                <enum name="GL_LOSE_CONTEXT_ON_RESET_KHR"/>
+                <enum name="GL_GUILTY_CONTEXT_RESET_KHR"/>
+                <enum name="GL_INNOCENT_CONTEXT_RESET_KHR"/>
+                <enum name="GL_UNKNOWN_CONTEXT_RESET_KHR"/>
+                <enum name="GL_RESET_NOTIFICATION_STRATEGY_KHR"/>
+                <enum name="GL_NO_RESET_NOTIFICATION_KHR"/>
+                <enum name="GL_CONTEXT_LOST_KHR"/>
+                <command name="glGetGraphicsResetStatusKHR"/>
+                <command name="glReadnPixelsKHR"/>
+                <command name="glGetnUniformfvKHR"/>
+                <command name="glGetnUniformivKHR"/>
+                <command name="glGetnUniformuivKHR"/>
+            </require>
+        </extension>
+        <extension name="GL_KHR_shader_subgroup" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_SUBGROUP_SIZE_KHR"/>
+                <enum name="GL_SUBGROUP_SUPPORTED_STAGES_KHR"/>
+                <enum name="GL_SUBGROUP_SUPPORTED_FEATURES_KHR"/>
+                <enum name="GL_SUBGROUP_QUAD_ALL_STAGES_KHR"/>
+                <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"/>
+            </require>
+        </extension>
         <extension name="GL_KHR_texture_compression_astc_hdr" supported="gl|glcore|gles2">
             <require>
                 <enum name="GL_COMPRESSED_RGBA_ASTC_4x4_KHR"/>
@@ -38026,6 +47823,14 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"/>
             </require>
         </extension>
+        <extension name="GL_KHR_texture_compression_astc_sliced_3d" supported="gl|glcore|gles2"/>
+        <extension name="GL_KHR_parallel_shader_compile" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_MAX_SHADER_COMPILER_THREADS_KHR"/>
+                <enum name="GL_COMPLETION_STATUS_KHR"/>
+                <command name="glMaxShaderCompilerThreadsKHR"/>
+            </require>
+        </extension>
         <extension name="GL_MESAX_texture_stack" supported="gl">
             <require>
                 <enum name="GL_TEXTURE_1D_STACK_MESAX"/>
@@ -38036,16 +47841,46 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_TEXTURE_2D_STACK_BINDING_MESAX"/>
             </require>
         </extension>
+        <extension name="GL_MESA_framebuffer_flip_x" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_FRAMEBUFFER_FLIP_X_MESA"/>
+            </require>
+        </extension>
+        <extension name="GL_MESA_framebuffer_flip_y" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_FRAMEBUFFER_FLIP_Y_MESA"/>
+                <command name="glFramebufferParameteriMESA"/>
+                <command name="glGetFramebufferParameterivMESA"/>
+            </require>
+        </extension>
+        <extension name="GL_MESA_framebuffer_swap_xy" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_FRAMEBUFFER_SWAP_XY_MESA"/>
+            </require>
+        </extension>
         <extension name="GL_MESA_pack_invert" supported="gl">
             <require>
                 <enum name="GL_PACK_INVERT_MESA"/>
             </require>
         </extension>
+        <extension name="GL_MESA_program_binary_formats" supported="gl|gles2">
+            <require>
+                <enum name="GL_PROGRAM_BINARY_FORMAT_MESA"/>
+            </require>
+        </extension>
         <extension name="GL_MESA_resize_buffers" supported="gl">
             <require>
                 <command name="glResizeBuffersMESA"/>
             </require>
         </extension>
+        <extension name="GL_MESA_shader_integer_functions" supported="gl|gles2"/>
+        <extension name="GL_MESA_tile_raster_order" supported="gl">
+            <require>
+                <enum name="GL_TILE_RASTER_ORDER_FIXED_MESA"/>
+                <enum name="GL_TILE_RASTER_ORDER_INCREASING_X_MESA"/>
+                <enum name="GL_TILE_RASTER_ORDER_INCREASING_Y_MESA"/>
+            </require>
+        </extension>
         <extension name="GL_MESA_window_pos" supported="gl">
             <require>
                 <command name="glWindowPos2dMESA"/>
@@ -38081,19 +47916,58 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_YCBCR_MESA"/>
             </require>
         </extension>
+        <extension name="GL_NVX_blend_equation_advanced_multi_draw_buffers" supported="gl|gles2"/>
+        <extension name="GL_NVX_cross_process_interop" supported="disabled">
+            <require comment="unpublished experimental extension">
+                <enum name="GL_EXTERNAL_STORAGE_BIT_NVX"/>
+            </require>
+        </extension>
         <extension name="GL_NVX_conditional_render" supported="gl">
             <require>
                 <command name="glBeginConditionalRenderNVX"/>
                 <command name="glEndConditionalRenderNVX"/>
             </require>
         </extension>
-        <extension name="GL_NV_bindless_multi_draw_indirect" supported="gl">
+        <extension name="GL_NVX_gpu_memory_info" supported="gl">
+            <require>
+                <enum name="GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX"/>
+                <enum name="GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX"/>
+                <enum name="GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX"/>
+                <enum name="GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX"/>
+                <enum name="GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX"/>
+            </require>
+        </extension>
+        <extension name="GL_NVX_linked_gpu_multicast" supported="gl">
+            <require>
+                <enum name="GL_LGPU_SEPARATE_STORAGE_BIT_NVX"/>
+                <enum name="GL_MAX_LGPU_GPUS_NVX"/>
+                <command name="glLGPUNamedBufferSubDataNVX"/>
+                <command name="glLGPUCopyImageSubDataNVX"/>
+                <command name="glLGPUInterlockNVX"/>
+            </require>
+        </extension>
+        <extension name="GL_NV_alpha_to_coverage_dither_control" supported="gl">
+            <require>
+                <enum name="GL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV"/>
+                <enum name="GL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV"/>
+                <enum name="GL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV"/>
+                <enum name="GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV"/>
+                <command name="glAlphaToCoverageDitherControlNV"/>
+            </require>
+        </extension>
+        <extension name="GL_NV_bindless_multi_draw_indirect" supported="gl|glcore">
             <require>
                 <command name="glMultiDrawArraysIndirectBindlessNV"/>
                 <command name="glMultiDrawElementsIndirectBindlessNV"/>
             </require>
         </extension>
-        <extension name="GL_NV_bindless_texture" supported="gl">
+        <extension name="GL_NV_bindless_multi_draw_indirect_count" supported="gl|glcore">
+            <require>
+                <command name="glMultiDrawArraysIndirectBindlessCountNV"/>
+                <command name="glMultiDrawElementsIndirectBindlessCountNV"/>
+            </require>
+        </extension>
+        <extension name="GL_NV_bindless_texture" supported="gl|glcore|gles2">
             <require>
                 <command name="glGetTextureHandleNV"/>
                 <command name="glGetTextureSamplerHandleNV"/>
@@ -38110,12 +47984,11 @@ typedef unsigned int GLhandleARB;
                 <command name="glIsImageHandleResidentNV"/>
             </require>
         </extension>
-        <extension name="GL_NV_blend_equation_advanced" supported="gl">
+        <extension name="GL_NV_blend_equation_advanced" supported="gl|glcore|gles2">
             <require>
-                <enum name="GL_BLEND_ADVANCED_COHERENT_NV"/>
                 <enum name="GL_BLEND_OVERLAP_NV"/>
                 <enum name="GL_BLEND_PREMULTIPLIED_SRC_NV"/>
-                <enum name="GL_BLUE"/>
+                <enum name="GL_BLUE_NV"/>
                 <enum name="GL_COLORBURN_NV"/>
                 <enum name="GL_COLORDODGE_NV"/>
                 <enum name="GL_CONJOINT_NV"/>
@@ -38129,7 +48002,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_DST_OUT_NV"/>
                 <enum name="GL_DST_OVER_NV"/>
                 <enum name="GL_EXCLUSION_NV"/>
-                <enum name="GL_GREEN"/>
+                <enum name="GL_GREEN_NV"/>
                 <enum name="GL_HARDLIGHT_NV"/>
                 <enum name="GL_HARDMIX_NV"/>
                 <enum name="GL_HSL_COLOR_NV"/>
@@ -38152,7 +48025,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_PLUS_CLAMPED_NV"/>
                 <enum name="GL_PLUS_DARKER_NV"/>
                 <enum name="GL_PLUS_NV"/>
-                <enum name="GL_RED"/>
+                <enum name="GL_RED_NV"/>
                 <enum name="GL_SCREEN_NV"/>
                 <enum name="GL_SOFTLIGHT_NV"/>
                 <enum name="GL_SRC_ATOP_NV"/>
@@ -38162,18 +48035,70 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_SRC_OVER_NV"/>
                 <enum name="GL_UNCORRELATED_NV"/>
                 <enum name="GL_VIVIDLIGHT_NV"/>
-                <enum name="GL_XOR"/>
+                <enum name="GL_XOR_NV"/>
                 <enum name="GL_ZERO"/>
                 <command name="glBlendParameteriNV"/>
                 <command name="glBlendBarrierNV"/>
             </require>
         </extension>
-        <extension name="GL_NV_blend_equation_advanced_coherent" supported="gl">
-            <require comment="Identical to GL_NV_blend_equation_advanced, just different semantic behavior">
+        <extension name="GL_NV_blend_equation_advanced_coherent" supported="gl|glcore|gles2">
+            <require comment="Otherwise identical to GL_NV_blend_equation_advanced, just different semantic behavior">
+                <enum name="GL_BLEND_ADVANCED_COHERENT_NV"/>
             </require>
         </extension>
-        <extension name="GL_NV_blend_square" supported="gl">
+        <extension name="GL_NV_blend_minmax_factor" supported="gl|glcore|gles2">
             <require>
+                <enum name="GL_FACTOR_MIN_AMD"/>
+                <enum name="GL_FACTOR_MAX_AMD"/>
+            </require>
+        </extension>
+        <extension name="GL_NV_blend_square" supported="gl"/>
+        <extension name="GL_NV_clip_space_w_scaling" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_VIEWPORT_POSITION_W_SCALE_NV"/>
+                <enum name="GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV"/>
+                <enum name="GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV"/>
+                <command name="glViewportPositionWScaleNV"/>
+            </require>
+        </extension>
+        <extension name="GL_NV_command_list" supported="gl|glcore">
+            <require>
+                <enum name="GL_TERMINATE_SEQUENCE_COMMAND_NV"/>
+                <enum name="GL_NOP_COMMAND_NV"/>
+                <enum name="GL_DRAW_ELEMENTS_COMMAND_NV"/>
+                <enum name="GL_DRAW_ARRAYS_COMMAND_NV"/>
+                <enum name="GL_DRAW_ELEMENTS_STRIP_COMMAND_NV"/>
+                <enum name="GL_DRAW_ARRAYS_STRIP_COMMAND_NV"/>
+                <enum name="GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV"/>
+                <enum name="GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV"/>
+                <enum name="GL_ELEMENT_ADDRESS_COMMAND_NV"/>
+                <enum name="GL_ATTRIBUTE_ADDRESS_COMMAND_NV"/>
+                <enum name="GL_UNIFORM_ADDRESS_COMMAND_NV"/>
+                <enum name="GL_BLEND_COLOR_COMMAND_NV"/>
+                <enum name="GL_STENCIL_REF_COMMAND_NV"/>
+                <enum name="GL_LINE_WIDTH_COMMAND_NV"/>
+                <enum name="GL_POLYGON_OFFSET_COMMAND_NV"/>
+                <enum name="GL_ALPHA_REF_COMMAND_NV"/>
+                <enum name="GL_VIEWPORT_COMMAND_NV"/>
+                <enum name="GL_SCISSOR_COMMAND_NV"/>
+                <enum name="GL_FRONT_FACE_COMMAND_NV"/>
+                <command name="glCreateStatesNV"/>
+                <command name="glDeleteStatesNV"/>
+                <command name="glIsStateNV"/>
+                <command name="glStateCaptureNV"/>
+                <command name="glGetCommandHeaderNV"/>
+                <command name="glGetStageIndexNV"/>
+                <command name="glDrawCommandsNV"/>
+                <command name="glDrawCommandsAddressNV"/>
+                <command name="glDrawCommandsStatesNV"/>
+                <command name="glDrawCommandsStatesAddressNV"/>
+                <command name="glCreateCommandListsNV"/>
+                <command name="glDeleteCommandListsNV"/>
+                <command name="glIsCommandListNV"/>
+                <command name="glListDrawCommandsStatesClientNV"/>
+                <command name="glCommandListSegmentsNV"/>
+                <command name="glCompileCommandListNV"/>
+                <command name="glCallCommandListNV"/>
             </require>
         </extension>
         <extension name="GL_NV_compute_program5" supported="gl">
@@ -38182,7 +48107,8 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV"/>
             </require>
         </extension>
-        <extension name="GL_NV_conditional_render" supported="gl">
+        <extension name="GL_NV_compute_shader_derivatives" supported="gl|glcore|gles2"/>
+        <extension name="GL_NV_conditional_render" supported="gl|glcore|gles2">
             <require>
                 <enum name="GL_QUERY_WAIT_NV"/>
                 <enum name="GL_QUERY_NO_WAIT_NV"/>
@@ -38192,6 +48118,38 @@ typedef unsigned int GLhandleARB;
                 <command name="glEndConditionalRenderNV"/>
             </require>
         </extension>
+        <extension name="GL_NV_conservative_raster" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_CONSERVATIVE_RASTERIZATION_NV"/>
+                <enum name="GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV"/>
+                <enum name="GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV"/>
+                <enum name="GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV"/>
+                <command name="glSubpixelPrecisionBiasNV"/>
+            </require>
+        </extension>
+        <extension name="GL_NV_conservative_raster_dilate" supported="gl|glcore">
+            <require>
+                <enum name="GL_CONSERVATIVE_RASTER_DILATE_NV"/>
+                <enum name="GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV"/>
+                <enum name="GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV"/>
+                <command name="glConservativeRasterParameterfNV"/>
+            </require>
+        </extension>
+        <extension name="GL_NV_conservative_raster_pre_snap" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV"/>
+            </require>
+        </extension>
+        <extension name="GL_NV_conservative_raster_pre_snap_triangles" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_CONSERVATIVE_RASTER_MODE_NV"/>
+                <enum name="GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV"/>
+                <enum name="GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV"/>
+                <enum name="GL_CONSERVATIVE_RASTER_MODE_NV"/>
+                <command name="glConservativeRasterParameteriNV"/>
+            </require>
+        </extension>
+        <extension name="GL_NV_conservative_raster_underestimation" supported="gl|glcore"/>
         <extension name="GL_NV_copy_buffer" supported="gles2">
             <require>
                 <enum name="GL_COPY_READ_BUFFER_NV"/>
@@ -38231,7 +48189,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV"/>
             </require>
         </extension>
-        <extension name="GL_NV_depth_buffer_float" supported="gl">
+        <extension name="GL_NV_depth_buffer_float" supported="gl|glcore">
             <require>
                 <enum name="GL_DEPTH_COMPONENT32F_NV"/>
                 <enum name="GL_DEPTH32F_STENCIL8_NV"/>
@@ -38301,6 +48259,15 @@ typedef unsigned int GLhandleARB;
                 <command name="glDrawTextureNV"/>
             </require>
         </extension>
+        <extension name="GL_NV_draw_vulkan_image" supported="gl|glcore|gles2">
+            <require>
+                <command name="glDrawVkImageNV"/>
+                <command name="glGetVkProcAddrNV"/>
+                <command name="glWaitVkSemaphoreNV"/>
+                <command name="glSignalVkSemaphoreNV"/>
+                <command name="glSignalVkFenceNV"/>
+            </require>
+        </extension>
         <extension name="GL_NV_evaluators" supported="gl">
             <require>
                 <enum name="GL_EVAL_2D_NV"/>
@@ -38338,10 +48305,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glEvalMapsNV"/>
             </require>
         </extension>
-        <extension name="GL_NV_explicit_attrib_location" supported="gles2">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_NV_explicit_attrib_location" supported="gles2"/>
         <extension name="GL_NV_explicit_multisample" supported="gl">
             <require>
                 <enum name="GL_SAMPLE_POSITION_NV"/>
@@ -38394,6 +48358,11 @@ typedef unsigned int GLhandleARB;
                 <command name="glSetFenceNV"/>
             </require>
         </extension>
+        <extension name="GL_NV_fill_rectangle" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_FILL_RECTANGLE_NV"/>
+            </require>
+        </extension>
         <extension name="GL_NV_float_buffer" supported="gl">
             <require>
                 <enum name="GL_FLOAT_R_NV"/>
@@ -38421,6 +48390,13 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_EYE_PLANE"/>
             </require>
         </extension>
+        <extension name="GL_NV_fragment_coverage_to_color" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_FRAGMENT_COVERAGE_TO_COLOR_NV"/>
+                <enum name="GL_FRAGMENT_COVERAGE_COLOR_NV"/>
+                <command name="glFragmentCoverageColorNV"/>
+            </require>
+        </extension>
         <extension name="GL_NV_fragment_program" supported="gl">
             <require>
                 <enum name="GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV"/>
@@ -38448,14 +48424,10 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_MAX_PROGRAM_LOOP_COUNT_NV"/>
             </require>
         </extension>
-        <extension name="GL_NV_fragment_program4" supported="gl">
-            <require>
-            </require>
-        </extension>
-        <extension name="GL_NV_fragment_program_option" supported="gl">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_NV_fragment_program4" supported="gl"/>
+        <extension name="GL_NV_fragment_program_option" supported="gl"/>
+        <extension name="GL_NV_fragment_shader_barycentric" supported="gl|glcore|gles2"/>
+        <extension name="GL_NV_fragment_shader_interlock" supported="gl|glcore|gles2"/>
         <extension name="GL_NV_framebuffer_blit" supported="gles2">
             <require>
                 <enum name="GL_READ_FRAMEBUFFER_NV"/>
@@ -38465,6 +48437,28 @@ typedef unsigned int GLhandleARB;
                 <command name="glBlitFramebufferNV"/>
             </require>
         </extension>
+        <extension name="GL_NV_framebuffer_mixed_samples" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_RASTER_MULTISAMPLE_EXT"/>
+                <enum name="GL_COVERAGE_MODULATION_TABLE_NV"/>
+                <enum name="GL_RASTER_SAMPLES_EXT"/>
+                <enum name="GL_MAX_RASTER_SAMPLES_EXT"/>
+                <enum name="GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT"/>
+                <enum name="GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT"/>
+                <enum name="GL_EFFECTIVE_RASTER_SAMPLES_EXT"/>
+                <enum name="GL_COLOR_SAMPLES_NV"/>
+                <enum name="GL_DEPTH_SAMPLES_NV"/>
+                <enum name="GL_STENCIL_SAMPLES_NV"/>
+                <enum name="GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV"/>
+                <enum name="GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV"/>
+                <enum name="GL_COVERAGE_MODULATION_NV"/>
+                <enum name="GL_COVERAGE_MODULATION_TABLE_SIZE_NV"/>
+                <command name="glRasterSamplesEXT"/>
+                <command name="glCoverageModulationTableNV"/>
+                <command name="glGetCoverageModulationTableNV"/>
+                <command name="glCoverageModulationNV"/>
+            </require>
+        </extension>
         <extension name="GL_NV_framebuffer_multisample" supported="gles2">
             <require>
                 <enum name="GL_RENDERBUFFER_SAMPLES_NV"/>
@@ -38473,7 +48467,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glRenderbufferStorageMultisampleNV"/>
             </require>
         </extension>
-        <extension name="GL_NV_framebuffer_multisample_coverage" supported="gl">
+        <extension name="GL_NV_framebuffer_multisample_coverage" supported="gl|glcore">
             <require>
                 <enum name="GL_RENDERBUFFER_COVERAGE_SAMPLES_NV"/>
                 <enum name="GL_RENDERBUFFER_COLOR_SAMPLES_NV"/>
@@ -38482,10 +48476,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glRenderbufferStorageMultisampleCoverageNV"/>
             </require>
         </extension>
-        <extension name="GL_NV_generate_mipmap_sRGB" supported="gles2">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_NV_generate_mipmap_sRGB" supported="gles2"/>
         <extension name="GL_NV_geometry_program4" supported="gl">
             <require>
                 <enum name="GL_LINES_ADJACENCY_EXT"/>
@@ -38510,10 +48501,8 @@ typedef unsigned int GLhandleARB;
                 <command name="glFramebufferTextureFaceEXT"/>
             </require>
         </extension>
-        <extension name="GL_NV_geometry_shader4" supported="gl">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_NV_geometry_shader4" supported="gl"/>
+        <extension name="GL_NV_geometry_shader_passthrough" supported="gl|glcore|gles2"/>
         <extension name="GL_NV_gpu_program4" supported="gl">
             <require>
                 <enum name="GL_MIN_PROGRAM_TEXEL_OFFSET_NV"/>
@@ -38556,11 +48545,8 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetProgramSubroutineParameteruivNV"/>
             </require>
         </extension>
-        <extension name="GL_NV_gpu_program5_mem_extended" supported="gl">
-            <require>
-            </require>
-        </extension>
-        <extension name="GL_NV_gpu_shader5" supported="gl">
+        <extension name="GL_NV_gpu_program5_mem_extended" supported="gl"/>
+        <extension name="GL_NV_gpu_shader5" supported="gl|glcore|gles2">
             <require>
                 <enum name="GL_INT64_NV"/>
                 <enum name="GL_UNSIGNED_INT64_NV"/>
@@ -38679,18 +48665,161 @@ typedef unsigned int GLhandleARB;
                 <command name="glVertexAttribs4hvNV"/>
             </require>
         </extension>
+        <extension name="GL_NV_image_formats" supported="gles2"/>
         <extension name="GL_NV_instanced_arrays" supported="gles2">
             <require>
                 <enum name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV"/>
                 <command name="glVertexAttribDivisorNV"/>
             </require>
         </extension>
+        <extension name="GL_NV_internalformat_sample_query" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_RENDERBUFFER"/>
+                <enum name="GL_TEXTURE_2D_MULTISAMPLE"/>
+                <enum name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
+                <enum name="GL_MULTISAMPLES_NV"/>
+                <enum name="GL_SUPERSAMPLE_SCALE_X_NV"/>
+                <enum name="GL_SUPERSAMPLE_SCALE_Y_NV"/>
+                <enum name="GL_CONFORMANT_NV"/>
+                <command name="glGetInternalformatSampleivNV"/>
+            </require>
+        </extension>
         <extension name="GL_NV_light_max_exponent" supported="gl">
             <require>
                 <enum name="GL_MAX_SHININESS_NV"/>
                 <enum name="GL_MAX_SPOT_EXPONENT_NV"/>
             </require>
         </extension>
+        <extension name="GL_NV_gpu_multicast" supported="gl">
+            <require>
+                <enum name="GL_PER_GPU_STORAGE_BIT_NV"/>
+                <enum name="GL_MULTICAST_GPUS_NV"/>
+                <enum name="GL_RENDER_GPU_MASK_NV"/>
+                <enum name="GL_PER_GPU_STORAGE_NV"/>
+                <enum name="GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV"/>
+                <command name="glRenderGpuMaskNV"/>
+                <command name="glMulticastBufferSubDataNV"/>
+                <command name="glMulticastCopyBufferSubDataNV"/>
+                <command name="glMulticastCopyImageSubDataNV"/>
+                <command name="glMulticastBlitFramebufferNV"/>
+                <command name="glMulticastFramebufferSampleLocationsfvNV"/>
+                <command name="glMulticastBarrierNV"/>
+                <command name="glMulticastWaitSyncNV"/>
+                <command name="glMulticastGetQueryObjectivNV"/>
+                <command name="glMulticastGetQueryObjectuivNV"/>
+                <command name="glMulticastGetQueryObjecti64vNV"/>
+                <command name="glMulticastGetQueryObjectui64vNV"/>
+            </require>
+        </extension>
+        <extension name="GL_NVX_gpu_multicast2" supported="gl">
+            <require>
+                <enum name="GL_UPLOAD_GPU_MASK_NVX"/>
+                <command name="glUploadGpuMaskNVX"/>
+                <command name="glMulticastViewportArrayvNVX"/>
+                <command name="glMulticastViewportPositionWScaleNVX"/>
+                <command name="glMulticastScissorArrayvNVX"/>
+                <command name="glAsyncCopyBufferSubDataNVX"/>
+                <command name="glAsyncCopyImageSubDataNVX"/>
+            </require>
+        </extension>
+        <extension name="GL_NVX_progress_fence" supported="gl">
+            <require>
+                <command name="glCreateProgressFenceNVX"/>
+                <command name="glSignalSemaphoreui64NVX"/>
+                <command name="glWaitSemaphoreui64NVX"/>
+                <command name="glClientWaitSemaphoreui64NVX"/>
+            </require>
+        </extension>
+        <extension name="GL_NV_memory_attachment" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_ATTACHED_MEMORY_OBJECT_NV"/>
+                <enum name="GL_ATTACHED_MEMORY_OFFSET_NV"/>
+                <enum name="GL_MEMORY_ATTACHABLE_ALIGNMENT_NV"/>
+                <enum name="GL_MEMORY_ATTACHABLE_SIZE_NV"/>
+                <enum name="GL_MEMORY_ATTACHABLE_NV"/>
+                <enum name="GL_DETACHED_MEMORY_INCARNATION_NV"/>
+                <enum name="GL_DETACHED_TEXTURES_NV"/>
+                <enum name="GL_DETACHED_BUFFERS_NV"/>
+                <enum name="GL_MAX_DETACHED_TEXTURES_NV"/>
+                <enum name="GL_MAX_DETACHED_BUFFERS_NV"/>
+                <command name="glGetMemoryObjectDetachedResourcesuivNV"/>
+                <command name="glResetMemoryObjectParameterNV"/>
+                <command name="glTexAttachMemoryNV"/>
+                <command name="glBufferAttachMemoryNV"/>
+            </require>
+            <require comment="Supported only if GL_EXT_direct_state_access is supported">
+                <command name="glTextureAttachMemoryNV"/>
+                <command name="glNamedBufferAttachMemoryNV"/>
+            </require>
+        </extension>
+        <extension name="GL_NV_memory_object_sparse" supported="gl|glcore|gles2">
+            <require>
+                <command name="glBufferPageCommitmentMemNV"/>
+                <command name="glTexPageCommitmentMemNV"/>
+            </require>
+            <require comment="Supported only if GL_EXT_direct_state_access is supported">
+                <command name="glNamedBufferPageCommitmentMemNV"/>
+                <command name="glTexturePageCommitmentMemNV"/>
+            </require>
+        </extension>
+        <extension name="GL_NV_mesh_shader" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_MESH_SHADER_NV"/>
+                <enum name="GL_TASK_SHADER_NV"/>
+                <enum name="GL_MAX_MESH_UNIFORM_BLOCKS_NV"/>
+                <enum name="GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV"/>
+                <enum name="GL_MAX_MESH_IMAGE_UNIFORMS_NV"/>
+                <enum name="GL_MAX_MESH_UNIFORM_COMPONENTS_NV"/>
+                <enum name="GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV"/>
+                <enum name="GL_MAX_MESH_ATOMIC_COUNTERS_NV"/>
+                <enum name="GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV"/>
+                <enum name="GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV"/>
+                <enum name="GL_MAX_TASK_UNIFORM_BLOCKS_NV"/>
+                <enum name="GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV"/>
+                <enum name="GL_MAX_TASK_IMAGE_UNIFORMS_NV"/>
+                <enum name="GL_MAX_TASK_UNIFORM_COMPONENTS_NV"/>
+                <enum name="GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV"/>
+                <enum name="GL_MAX_TASK_ATOMIC_COUNTERS_NV"/>
+                <enum name="GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV"/>
+                <enum name="GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV"/>
+                <enum name="GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV"/>
+                <enum name="GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV"/>
+                <enum name="GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV"/>
+                <enum name="GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV"/>
+                <enum name="GL_MAX_MESH_OUTPUT_VERTICES_NV"/>
+                <enum name="GL_MAX_MESH_OUTPUT_PRIMITIVES_NV"/>
+                <enum name="GL_MAX_TASK_OUTPUT_COUNT_NV"/>
+                <enum name="GL_MAX_DRAW_MESH_TASKS_COUNT_NV"/>
+                <enum name="GL_MAX_MESH_VIEWS_NV"/>
+                <enum name="GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV"/>
+                <enum name="GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV"/>
+                <enum name="GL_MAX_MESH_WORK_GROUP_SIZE_NV"/>
+                <enum name="GL_MAX_TASK_WORK_GROUP_SIZE_NV"/>
+                <enum name="GL_MESH_WORK_GROUP_SIZE_NV"/>
+                <enum name="GL_TASK_WORK_GROUP_SIZE_NV"/>
+                <enum name="GL_MESH_VERTICES_OUT_NV"/>
+                <enum name="GL_MESH_PRIMITIVES_OUT_NV"/>
+                <enum name="GL_MESH_OUTPUT_TYPE_NV"/>
+                <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV"/>
+                <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV"/>
+                <enum name="GL_REFERENCED_BY_MESH_SHADER_NV"/>
+                <enum name="GL_REFERENCED_BY_TASK_SHADER_NV"/>
+                <enum name="GL_MESH_SHADER_BIT_NV"/>
+                <enum name="GL_TASK_SHADER_BIT_NV"/>
+                <command name="glDrawMeshTasksNV"/>
+                <command name="glDrawMeshTasksIndirectNV"/>
+                <command name="glMultiDrawMeshTasksIndirectNV"/>
+                <command name="glMultiDrawMeshTasksIndirectCountNV"/>
+            </require>
+            <require comment="Supported only in OpenGL">
+                <enum name="GL_MESH_SUBROUTINE_NV"/>
+                <enum name="GL_TASK_SUBROUTINE_NV"/>
+                <enum name="GL_MESH_SUBROUTINE_UNIFORM_NV"/>
+                <enum name="GL_TASK_SUBROUTINE_UNIFORM_NV"/>
+                <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV"/>
+                <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV"/>
+            </require>
+        </extension>
         <extension name="GL_NV_multisample_coverage" supported="gl">
             <require>
                 <enum name="GL_SAMPLES_ARB"/>
@@ -38751,11 +48880,8 @@ typedef unsigned int GLhandleARB;
                 <command name="glProgramBufferParametersIuivNV"/>
             </require>
         </extension>
-        <extension name="GL_NV_parameter_buffer_object2" supported="gl">
-            <require>
-            </require>
-        </extension>
-        <extension name="GL_NV_path_rendering" supported="gl">
+        <extension name="GL_NV_parameter_buffer_object2" supported="gl"/>
+        <extension name="GL_NV_path_rendering" supported="gl|glcore|gles2">
             <require>
                 <enum name="GL_PATH_FORMAT_SVG_NV"/>
                 <enum name="GL_PATH_FORMAT_PS_NV"/>
@@ -38809,13 +48935,11 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_SKIP_MISSING_GLYPH_NV"/>
                 <enum name="GL_USE_MISSING_GLYPH_NV"/>
                 <enum name="GL_PATH_ERROR_POSITION_NV"/>
-                <enum name="GL_PATH_FOG_GEN_MODE_NV"/>
                 <enum name="GL_ACCUM_ADJACENT_PAIRS_NV"/>
                 <enum name="GL_ADJACENT_PAIRS_NV"/>
                 <enum name="GL_FIRST_TO_REST_NV"/>
                 <enum name="GL_PATH_GEN_MODE_NV"/>
                 <enum name="GL_PATH_GEN_COEFF_NV"/>
-                <enum name="GL_PATH_GEN_COLOR_FORMAT_NV"/>
                 <enum name="GL_PATH_GEN_COMPONENTS_NV"/>
                 <enum name="GL_PATH_STENCIL_FUNC_NV"/>
                 <enum name="GL_PATH_STENCIL_REF_NV"/>
@@ -38884,9 +49008,6 @@ typedef unsigned int GLhandleARB;
                 <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_PRIMARY_COLOR"/>
-                <enum name="GL_PRIMARY_COLOR_NV"/>
-                <enum name="GL_SECONDARY_COLOR_NV"/>
                 <command name="glGenPathsNV"/>
                 <command name="glDeletePathsNV"/>
                 <command name="glIsPathNV"/>
@@ -38913,9 +49034,6 @@ typedef unsigned int GLhandleARB;
                 <command name="glStencilFillPathInstancedNV"/>
                 <command name="glStencilStrokePathInstancedNV"/>
                 <command name="glPathCoverDepthFuncNV"/>
-                <command name="glPathColorGenNV"/>
-                <command name="glPathTexGenNV"/>
-                <command name="glPathFogGenNV"/>
                 <command name="glCoverFillPathNV"/>
                 <command name="glCoverStrokePathNV"/>
                 <command name="glCoverFillPathInstancedNV"/>
@@ -38928,15 +49046,104 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetPathMetricsNV"/>
                 <command name="glGetPathMetricRangeNV"/>
                 <command name="glGetPathSpacingNV"/>
-                <command name="glGetPathColorGenivNV"/>
-                <command name="glGetPathColorGenfvNV"/>
-                <command name="glGetPathTexGenivNV"/>
-                <command name="glGetPathTexGenfvNV"/>
                 <command name="glIsPointInFillPathNV"/>
                 <command name="glIsPointInStrokePathNV"/>
                 <command name="glGetPathLengthNV"/>
                 <command name="glPointAlongPathNV"/>
             </require>
+            <require comment="API revision 1.2">
+                <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_RELATIVE_RECT_NV"/>
+                <enum name="GL_FONT_GLYPHS_AVAILABLE_NV"/>
+                <enum name="GL_FONT_TARGET_UNAVAILABLE_NV"/>
+                <enum name="GL_FONT_UNAVAILABLE_NV"/>
+                <enum name="GL_FONT_UNINTELLIGIBLE_NV"/>
+                <command name="glMatrixLoad3x2fNV"/>
+                <command name="glMatrixLoad3x3fNV"/>
+                <command name="glMatrixLoadTranspose3x3fNV"/>
+                <command name="glMatrixMult3x2fNV"/>
+                <command name="glMatrixMult3x3fNV"/>
+                <command name="glMatrixMultTranspose3x3fNV"/>
+                <command name="glStencilThenCoverFillPathNV"/>
+                <command name="glStencilThenCoverStrokePathNV"/>
+                <command name="glStencilThenCoverFillPathInstancedNV"/>
+                <command name="glStencilThenCoverStrokePathInstancedNV"/>
+                <command name="glPathGlyphIndexRangeNV"/>
+            </require>
+            <require comment="API revision 1.3">
+                <enum name="GL_CONIC_CURVE_TO_NV"/>
+                <enum name="GL_RELATIVE_CONIC_CURVE_TO_NV"/>
+                <enum name="GL_FONT_NUM_GLYPH_INDICES_BIT_NV"/>
+                <enum name="GL_STANDARD_FONT_FORMAT_NV"/>
+                <command name="glPathGlyphIndexArrayNV"/>
+                <command name="glPathMemoryGlyphIndexArrayNV"/>
+                <command name="glProgramPathFragmentInputGenNV"/>
+                <command name="glGetProgramResourcefvNV"/>
+            </require>
+            <require api="gl" profile="compatibility">
+                <enum name="GL_2_BYTES_NV"/>
+                <enum name="GL_3_BYTES_NV"/>
+                <enum name="GL_4_BYTES_NV"/>
+                <enum name="GL_EYE_LINEAR_NV"/>
+                <enum name="GL_OBJECT_LINEAR_NV"/>
+                <enum name="GL_CONSTANT_NV"/>
+                <enum name="GL_PATH_FOG_GEN_MODE_NV"/>
+                <enum name="GL_PRIMARY_COLOR"/>
+                <enum name="GL_PRIMARY_COLOR_NV"/>
+                <enum name="GL_SECONDARY_COLOR_NV"/>
+                <enum name="GL_PATH_GEN_COLOR_FORMAT_NV"/>
+                <command name="glPathColorGenNV"/>
+                <command name="glPathTexGenNV"/>
+                <command name="glPathFogGenNV"/>
+                <command name="glGetPathColorGenivNV"/>
+                <command name="glGetPathColorGenfvNV"/>
+                <command name="glGetPathTexGenivNV"/>
+                <command name="glGetPathTexGenfvNV"/>
+            </require>
+            <require comment="Other API additions of unknown history">
+                <enum name="GL_PATH_PROJECTION_NV"/>
+                <enum name="GL_PATH_MODELVIEW_NV"/>
+                <enum name="GL_PATH_MODELVIEW_STACK_DEPTH_NV"/>
+                <enum name="GL_PATH_MODELVIEW_MATRIX_NV"/>
+                <enum name="GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV"/>
+                <enum name="GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV"/>
+                <enum name="GL_PATH_PROJECTION_STACK_DEPTH_NV"/>
+                <enum name="GL_PATH_PROJECTION_MATRIX_NV"/>
+                <enum name="GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV"/>
+                <enum name="GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV"/>
+                <enum name="GL_FRAGMENT_INPUT_NV"/>
+                <command name="glMatrixFrustumEXT"/>
+                <command name="glMatrixLoadIdentityEXT"/>
+                <command name="glMatrixLoadTransposefEXT"/>
+                <command name="glMatrixLoadTransposedEXT"/>
+                <command name="glMatrixLoadfEXT"/>
+                <command name="glMatrixLoaddEXT"/>
+                <command name="glMatrixMultTransposefEXT"/>
+                <command name="glMatrixMultTransposedEXT"/>
+                <command name="glMatrixMultfEXT"/>
+                <command name="glMatrixMultdEXT"/>
+                <command name="glMatrixOrthoEXT"/>
+                <command name="glMatrixPopEXT"/>
+                <command name="glMatrixPushEXT"/>
+                <command name="glMatrixRotatefEXT"/>
+                <command name="glMatrixRotatedEXT"/>
+                <command name="glMatrixScalefEXT"/>
+                <command name="glMatrixScaledEXT"/>
+                <command name="glMatrixTranslatefEXT"/>
+                <command name="glMatrixTranslatedEXT"/>
+            </require>
+        </extension>
+        <extension name="GL_NV_path_rendering_shared_edge" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_SHARED_EDGE_NV"/>
+            </require>
         </extension>
         <extension name="GL_NV_pixel_data_range" supported="gl">
             <require>
@@ -38950,6 +49157,14 @@ typedef unsigned int GLhandleARB;
                 <command name="glFlushPixelDataRangeNV"/>
             </require>
         </extension>
+        <extension name="GL_NV_pixel_buffer_object" supported="gles2">
+            <require>
+                <enum name="GL_PIXEL_PACK_BUFFER_NV"/>
+                <enum name="GL_PIXEL_UNPACK_BUFFER_NV"/>
+                <enum name="GL_PIXEL_PACK_BUFFER_BINDING_NV"/>
+                <enum name="GL_PIXEL_UNPACK_BUFFER_BINDING_NV"/>
+            </require>
+        </extension>
         <extension name="GL_NV_point_sprite" supported="gl">
             <require>
                 <enum name="GL_POINT_SPRITE_NV"/>
@@ -38959,6 +49174,17 @@ typedef unsigned int GLhandleARB;
                 <command name="glPointParameterivNV"/>
             </require>
         </extension>
+        <extension name="GL_NV_polygon_mode" supported="gles2">
+            <require>
+                <enum name="GL_POLYGON_MODE_NV"/>
+                <enum name="GL_POLYGON_OFFSET_POINT_NV"/>
+                <enum name="GL_POLYGON_OFFSET_LINE_NV"/>
+                <enum name="GL_POINT_NV"/>
+                <enum name="GL_LINE_NV"/>
+                <enum name="GL_FILL_NV"/>
+                <command name="glPolygonModeNV"/>
+            </require>
+        </extension>
         <extension name="GL_NV_present_video" supported="gl">
             <require>
                 <enum name="GL_FRAME_NV"/>
@@ -38983,28 +49209,40 @@ typedef unsigned int GLhandleARB;
                 <command name="glPrimitiveRestartIndexNV"/>
             </require>
         </extension>
-        <extension name="GL_NV_read_buffer" supported="gles2">
-            <require>
-                <enum name="GL_READ_BUFFER_NV"/>
-                <command name="glReadBufferNV"/>
-            </require>
-        </extension>
-        <extension name="GL_NV_read_buffer_front" supported="gles2">
+        <extension name="GL_NV_primitive_shading_rate" supported="gl|glcore|gles2">
             <require>
+                <enum name="GL_SHADING_RATE_IMAGE_PER_PRIMITIVE_NV"/>
+                <enum name="GL_SHADING_RATE_IMAGE_PALETTE_COUNT_NV"/>
             </require>
         </extension>
-        <extension name="GL_NV_read_depth" supported="gles2">
+        <extension name="GL_NV_query_resource" supported="gl">
             <require>
+                <enum name="GL_QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV"/>
+                <enum name="GL_QUERY_RESOURCE_MEMTYPE_VIDMEM_NV"/>
+                <enum name="GL_QUERY_RESOURCE_SYS_RESERVED_NV"/>
+                <enum name="GL_QUERY_RESOURCE_TEXTURE_NV"/>
+                <enum name="GL_QUERY_RESOURCE_RENDERBUFFER_NV"/>
+                <enum name="GL_QUERY_RESOURCE_BUFFEROBJECT_NV"/>
+                <command name="glQueryResourceNV"/>
             </require>
         </extension>
-        <extension name="GL_NV_read_depth_stencil" supported="gles2">
+        <extension name="GL_NV_query_resource_tag" supported="gl">
             <require>
+                <command name="glGenQueryResourceTagNV"/>
+                <command name="glDeleteQueryResourceTagNV"/>
+                <command name="glQueryResourceTagNV"/>
             </require>
         </extension>
-        <extension name="GL_NV_read_stencil" supported="gles2">
+        <extension name="GL_NV_read_buffer" supported="gles2">
             <require>
+                <enum name="GL_READ_BUFFER_NV"/>
+                <command name="glReadBufferNV"/>
             </require>
         </extension>
+        <extension name="GL_NV_read_buffer_front" supported="gles2"/>
+        <extension name="GL_NV_read_depth" supported="gles2"/>
+        <extension name="GL_NV_read_depth_stencil" supported="gles2"/>
+        <extension name="GL_NV_read_stencil" supported="gles2"/>
         <extension name="GL_NV_register_combiners" supported="gl">
             <require>
                 <enum name="GL_REGISTER_COMBINERS_NV"/>
@@ -39085,6 +49323,16 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetCombinerStageParameterfvNV"/>
             </require>
         </extension>
+        <extension name="GL_NV_representative_fragment_test" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_REPRESENTATIVE_FRAGMENT_TEST_NV"/>
+            </require>
+        </extension>
+        <extension name="GL_NV_robustness_video_memory_purge" supported="gl">
+            <require>
+                <enum name="GL_PURGED_CONTEXT_RESET_NV"/>
+            </require>
+        </extension>
         <extension name="GL_NV_sRGB_formats" supported="gles2">
             <require>
                 <enum name="GL_SLUMINANCE_NV"/>
@@ -39099,15 +49347,36 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_ETC1_SRGB8_NV"/>
             </require>
         </extension>
-        <extension name="GL_NV_shader_atomic_counters" supported="gl">
+        <extension name="GL_NV_sample_locations" supported="gl|glcore|gles2">
             <require>
+                <enum name="GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV"/>
+                <enum name="GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV"/>
+                <enum name="GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV"/>
+                <enum name="GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV"/>
+                <enum name="GL_SAMPLE_LOCATION_NV"/>
+                <enum name="GL_PROGRAMMABLE_SAMPLE_LOCATION_NV"/>
+                <enum name="GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV"/>
+                <enum name="GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV"/>
+                <command name="glFramebufferSampleLocationsfvNV"/>
+                <command name="glNamedFramebufferSampleLocationsfvNV"/>
+                <command name="glResolveDepthValuesNV"/>
             </require>
         </extension>
-        <extension name="GL_NV_shader_atomic_float" supported="gl">
+        <extension name="GL_NV_sample_mask_override_coverage" supported="gl|glcore|gles2"/>
+        <extension name="GL_NV_scissor_exclusive" supported="gl|glcore|gles2">
             <require>
+                <enum name="GL_SCISSOR_TEST_EXCLUSIVE_NV"/>
+                <enum name="GL_SCISSOR_BOX_EXCLUSIVE_NV"/>
+                <command name="glScissorExclusiveNV"/>
+                <command name="glScissorExclusiveArrayvNV"/>
             </require>
         </extension>
-        <extension name="GL_NV_shader_buffer_load" supported="gl">
+        <extension name="GL_NV_shader_atomic_counters" supported="gl|glcore"/>
+        <extension name="GL_NV_shader_atomic_float" supported="gl|glcore"/>
+        <extension name="GL_NV_shader_atomic_float64" supported="gl|glcore"/>
+        <extension name="GL_NV_shader_atomic_fp16_vector" supported="gl|glcore|gles2"/>
+        <extension name="GL_NV_shader_atomic_int64" supported="gl|glcore"/>
+        <extension name="GL_NV_shader_buffer_load" supported="gl|glcore">
             <require>
                 <enum name="GL_BUFFER_GPU_ADDRESS_NV"/>
                 <enum name="GL_GPU_ADDRESS_NV"/>
@@ -39128,15 +49397,59 @@ typedef unsigned int GLhandleARB;
                 <command name="glProgramUniformui64vNV"/>
             </require>
         </extension>
-        <extension name="GL_NV_shader_buffer_store" supported="gl">
+        <extension name="GL_NV_shader_buffer_store" supported="gl|glcore">
             <require>
                 <enum name="GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV"/>
                 <enum name="GL_READ_WRITE"/>
                 <enum name="GL_WRITE_ONLY"/>
             </require>
         </extension>
-        <extension name="GL_NV_shader_storage_buffer_object" supported="gl">
-            <require>
+        <extension name="GL_NV_shader_noperspective_interpolation" supported="gles2"/>
+        <extension name="GL_NV_shader_storage_buffer_object" supported="gl"/>
+        <extension name="GL_NV_shader_subgroup_partitioned" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV"/>
+            </require>
+        </extension>
+        <extension name="GL_NV_shader_texture_footprint" supported="gl|glcore|gles2"/>
+        <extension name="GL_NV_shader_thread_group" supported="gl|glcore">
+            <require>
+                <enum name="GL_WARP_SIZE_NV"/>
+                <enum name="GL_WARPS_PER_SM_NV"/>
+                <enum name="GL_SM_COUNT_NV"/>
+            </require>
+        </extension>
+        <extension name="GL_NV_shader_thread_shuffle" supported="gl|glcore"/>
+        <extension name="GL_NV_shading_rate_image" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_SHADING_RATE_IMAGE_NV"/>
+                <enum name="GL_SHADING_RATE_NO_INVOCATIONS_NV"/>
+                <enum name="GL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV"/>
+                <enum name="GL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV"/>
+                <enum name="GL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV"/>
+                <enum name="GL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV"/>
+                <enum name="GL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV"/>
+                <enum name="GL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV"/>
+                <enum name="GL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV"/>
+                <enum name="GL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV"/>
+                <enum name="GL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV"/>
+                <enum name="GL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV"/>
+                <enum name="GL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV"/>
+                <enum name="GL_SHADING_RATE_IMAGE_BINDING_NV"/>
+                <enum name="GL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV"/>
+                <enum name="GL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV"/>
+                <enum name="GL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV"/>
+                <enum name="GL_MAX_COARSE_FRAGMENT_SAMPLES_NV"/>
+                <enum name="GL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV"/>
+                <enum name="GL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV"/>
+                <enum name="GL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV"/>
+                <command name="glBindShadingRateImageNV"/>
+                <command name="glGetShadingRateImagePaletteNV"/>
+                <command name="glGetShadingRateSampleLocationivNV"/>
+                <command name="glShadingRateImageBarrierNV"/>
+                <command name="glShadingRateImagePaletteNV"/>
+                <command name="glShadingRateSampleOrderNV"/>
+                <command name="glShadingRateSampleOrderCustomNV"/>
             </require>
         </extension>
         <extension name="GL_NV_shadow_samplers_array" supported="gles2">
@@ -39149,6 +49462,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_SAMPLER_CUBE_SHADOW_NV"/>
             </require>
         </extension>
+        <extension name="GL_NV_stereo_view_rendering" supported="gl|glcore|gles2"/>
         <extension name="GL_NV_tessellation_program5" supported="gl">
             <require>
                 <enum name="GL_MAX_PROGRAM_PATCH_ATTRIBS_NV"/>
@@ -39171,7 +49485,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_REFLECTION_MAP_NV"/>
             </require>
         </extension>
-        <extension name="GL_NV_texture_barrier" supported="gl">
+        <extension name="GL_NV_texture_barrier" supported="gl|glcore">
             <require>
                 <command name="glTextureBarrierNV"/>
             </require>
@@ -39182,14 +49496,8 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_CLAMP_TO_BORDER_NV"/>
             </require>
         </extension>
-        <extension name="GL_NV_texture_compression_s3tc_update" supported="gles2">
-            <require>
-            </require>
-        </extension>
-        <extension name="GL_NV_texture_compression_vtc" supported="gl">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_NV_texture_compression_s3tc_update" supported="gles2"/>
+        <extension name="GL_NV_texture_compression_vtc" supported="gl"/>
         <extension name="GL_NV_texture_env_combine4" supported="gl">
             <require>
                 <enum name="GL_COMBINE4_NV"/>
@@ -39218,10 +49526,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glTextureImage3DMultisampleCoverageNV"/>
             </require>
         </extension>
-        <extension name="GL_NV_texture_npot_2D_mipmap" supported="gles2">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_NV_texture_npot_2D_mipmap" supported="gles2"/>
         <extension name="GL_NV_texture_rectangle" supported="gl">
             <require>
                 <enum name="GL_TEXTURE_RECTANGLE_NV"/>
@@ -39230,6 +49535,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_MAX_RECTANGLE_TEXTURE_SIZE_NV"/>
             </require>
         </extension>
+        <extension name="GL_NV_texture_rectangle_compressed" supported="gl|glcore"/>
         <extension name="GL_NV_texture_shader" supported="gl">
             <require>
                 <enum name="GL_OFFSET_TEXTURE_RECTANGLE_NV"/>
@@ -39397,6 +49703,13 @@ typedef unsigned int GLhandleARB;
                 <command name="glDrawTransformFeedbackNV"/>
             </require>
         </extension>
+        <extension name="GL_NV_uniform_buffer_unified_memory" supported="gl|glcore">
+            <require>
+                <enum name="GL_UNIFORM_BUFFER_UNIFIED_NV"/>
+                <enum name="GL_UNIFORM_BUFFER_ADDRESS_NV"/>
+                <enum name="GL_UNIFORM_BUFFER_LENGTH_NV"/>
+            </require>
+        </extension>
         <extension name="GL_NV_vdpau_interop" supported="gl">
             <require>
                 <enum name="GL_SURFACE_STATE_NV"/>
@@ -39415,6 +49728,11 @@ typedef unsigned int GLhandleARB;
                 <command name="glVDPAUUnmapSurfacesNV"/>
             </require>
         </extension>
+        <extension name="GL_NV_vdpau_interop2" supported="gl">
+            <require>
+                <command name="glVDPAURegisterVideoSurfaceWithPictureStructureNV"/>
+            </require>
+        </extension>
         <extension name="GL_NV_vertex_array_range" supported="gl">
             <require>
                 <enum name="GL_VERTEX_ARRAY_RANGE_NV"/>
@@ -39431,7 +49749,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV"/>
             </require>
         </extension>
-        <extension name="GL_NV_vertex_attrib_integer_64bit" supported="gl">
+        <extension name="GL_NV_vertex_attrib_integer_64bit" supported="gl|glcore">
             <require>
                 <enum name="GL_INT64_NV"/>
                 <enum name="GL_UNSIGNED_INT64_NV"/>
@@ -39456,7 +49774,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glVertexAttribLFormatNV"/>
             </require>
         </extension>
-        <extension name="GL_NV_vertex_buffer_unified_memory" supported="gl">
+        <extension name="GL_NV_vertex_buffer_unified_memory" supported="gl|glcore">
             <require>
                 <enum name="GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV"/>
                 <enum name="GL_ELEMENT_ARRAY_UNIFIED_NV"/>
@@ -39648,14 +49966,8 @@ typedef unsigned int GLhandleARB;
                 <command name="glVertexAttribs4ubvNV"/>
             </require>
         </extension>
-        <extension name="GL_NV_vertex_program1_1" supported="gl">
-            <require>
-            </require>
-        </extension>
-        <extension name="GL_NV_vertex_program2" supported="gl">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_NV_vertex_program1_1" supported="gl"/>
+        <extension name="GL_NV_vertex_program2" supported="gl"/>
         <extension name="GL_NV_vertex_program2_option" supported="gl">
             <require>
                 <enum name="GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV"/>
@@ -39740,6 +50052,48 @@ typedef unsigned int GLhandleARB;
                 <command name="glVideoCaptureStreamParameterdvNV"/>
             </require>
         </extension>
+        <extension name="GL_NV_viewport_array" supported="gles2">
+            <require>
+                <enum name="GL_MAX_VIEWPORTS_NV"/>
+                <enum name="GL_VIEWPORT_SUBPIXEL_BITS_NV"/>
+                <enum name="GL_VIEWPORT_BOUNDS_RANGE_NV"/>
+                <enum name="GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV"/>
+                <enum name="GL_SCISSOR_BOX"/>
+                <enum name="GL_VIEWPORT"/>
+                <enum name="GL_DEPTH_RANGE"/>
+                <enum name="GL_SCISSOR_TEST"/>
+                <command name="glViewportArrayvNV"/>
+                <command name="glViewportIndexedfNV"/>
+                <command name="glViewportIndexedfvNV"/>
+                <command name="glScissorArrayvNV"/>
+                <command name="glScissorIndexedNV"/>
+                <command name="glScissorIndexedvNV"/>
+                <command name="glDepthRangeArrayfvNV"/>
+                <command name="glDepthRangeIndexedfNV"/>
+                <command name="glGetFloati_vNV"/>
+                <command name="glEnableiNV"/>
+                <command name="glDisableiNV"/>
+                <command name="glIsEnablediNV"/>
+            </require>
+        </extension>
+        <extension name="GL_NV_viewport_array2" supported="gl|glcore|gles2"/>
+        <extension name="GL_NV_viewport_swizzle" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV"/>
+                <enum name="GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV"/>
+                <enum name="GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV"/>
+                <enum name="GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV"/>
+                <enum name="GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV"/>
+                <enum name="GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV"/>
+                <enum name="GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV"/>
+                <enum name="GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV"/>
+                <enum name="GL_VIEWPORT_SWIZZLE_X_NV"/>
+                <enum name="GL_VIEWPORT_SWIZZLE_Y_NV"/>
+                <enum name="GL_VIEWPORT_SWIZZLE_Z_NV"/>
+                <enum name="GL_VIEWPORT_SWIZZLE_W_NV"/>
+                <command name="glViewportSwizzleNV"/>
+            </require>
+        </extension>
         <extension name="GL_OES_EGL_image" supported="gles1|gles2">
             <require>
                 <type name="GLeglImageOES"/>
@@ -39758,6 +50112,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_SAMPLER_EXTERNAL_OES"/>
             </require>
         </extension>
+        <extension name="GL_OES_EGL_image_external_essl3" supported="gles2"/>
         <extension name="GL_OES_blend_equation_separate" supported="gles1">
             <require>
                 <enum name="GL_BLEND_EQUATION_RGB_OES"/>
@@ -39785,6 +50140,10 @@ typedef unsigned int GLhandleARB;
         </extension>
         <extension name="GL_OES_byte_coordinates" supported="gl|gles1">
             <require>
+                <type name="GLbyte"/>
+                <enum name="GL_BYTE"/>
+            </require>
+            <require api="gl" comment="Immediate-mode entry points don't exist in ES 1.x">
                 <command name="glMultiTexCoord1bOES"/>
                 <command name="glMultiTexCoord1bvOES"/>
                 <command name="glMultiTexCoord2bOES"/>
@@ -39809,6 +50168,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glVertex4bvOES"/>
             </require>
         </extension>
+        <extension name="GL_OES_compressed_ETC1_RGB8_sub_texture" supported="gles1|gles2"/>
         <extension name="GL_OES_compressed_ETC1_RGB8_texture" supported="gles1|gles2">
             <require>
                 <enum name="GL_ETC1_RGB8_OES"/>
@@ -39828,12 +50188,17 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_PALETTE8_RGB5_A1_OES"/>
             </require>
         </extension>
-        <extension name="GL_OES_depth24" supported="gles1|gles2">
+        <extension name="GL_OES_copy_image" supported="gles2">
+            <require>
+                <command name="glCopyImageSubDataOES"/>
+            </require>
+        </extension>
+        <extension name="GL_OES_depth24" supported="gles1|gles2|glsc2">
             <require>
                 <enum name="GL_DEPTH_COMPONENT24_OES"/>
             </require>
         </extension>
-        <extension name="GL_OES_depth32" supported="gles1|gles2">
+        <extension name="GL_OES_depth32" supported="gles1|gles2|glsc2">
             <require>
                 <enum name="GL_DEPTH_COMPONENT32_OES"/>
             </require>
@@ -39845,6 +50210,54 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_UNSIGNED_INT"/>
             </require>
         </extension>
+        <extension name="GL_OES_draw_buffers_indexed" supported="gles2">
+            <require>
+                <enum name="GL_BLEND_EQUATION_RGB"/>
+                <enum name="GL_BLEND_EQUATION_ALPHA"/>
+                <enum name="GL_BLEND_SRC_RGB"/>
+                <enum name="GL_BLEND_SRC_ALPHA"/>
+                <enum name="GL_BLEND_DST_RGB"/>
+                <enum name="GL_BLEND_DST_ALPHA"/>
+                <enum name="GL_COLOR_WRITEMASK"/>
+                <enum name="GL_BLEND"/>
+                <enum name="GL_FUNC_ADD"/>
+                <enum name="GL_FUNC_SUBTRACT"/>
+                <enum name="GL_FUNC_REVERSE_SUBTRACT"/>
+                <enum name="GL_MIN"/>
+                <enum name="GL_MAX"/>
+                <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"/>
+                <command name="glEnableiOES"/>
+                <command name="glDisableiOES"/>
+                <command name="glBlendEquationiOES"/>
+                <command name="glBlendEquationSeparateiOES"/>
+                <command name="glBlendFunciOES"/>
+                <command name="glBlendFuncSeparateiOES"/>
+                <command name="glColorMaskiOES"/>
+                <command name="glIsEnablediOES"/>
+            </require>
+        </extension>
+        <extension name="GL_OES_draw_elements_base_vertex" supported="gles2">
+            <require>
+                <command name="glDrawElementsBaseVertexOES"/>
+                <command name="glDrawRangeElementsBaseVertexOES" comment="Supported only if OpenGL ES 3.0 is supported"/>
+                <command name="glDrawElementsInstancedBaseVertexOES" comment="Supported only if OpenGL ES 3.0 is supported"/>
+                <command name="glMultiDrawElementsBaseVertexEXT" comment="Supported only if GL_EXT_multi_draw_arrays is supported"/>
+            </require>
+        </extension>
         <extension name="GL_OES_draw_texture" supported="gles1">
             <require>
                 <enum name="GL_TEXTURE_CROP_RECT_OES"/>
@@ -39863,14 +50276,8 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_UNSIGNED_INT"/>
             </require>
         </extension>
-        <extension name="GL_OES_extended_matrix_palette" supported="gles1">
-            <require>
-            </require>
-        </extension>
-        <extension name="GL_OES_fbo_render_mipmap" supported="gles1|gles2">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_OES_extended_matrix_palette" supported="gles1"/>
+        <extension name="GL_OES_fbo_render_mipmap" supported="gles1|gles2"/>
         <extension name="GL_OES_fixed_point" supported="gl|gles1">
             <require>
                 <enum name="GL_FIXED_OES"/>
@@ -39903,7 +50310,6 @@ typedef unsigned int GLhandleARB;
                 <command name="glPointSizexOES"/>
                 <command name="glPolygonOffsetxOES"/>
                 <command name="glRotatexOES"/>
-                <command name="glSampleCoverageOES"/>
                 <command name="glScalexOES"/>
                 <command name="glTexEnvxOES"/>
                 <command name="glTexEnvxvOES"/>
@@ -40044,6 +50450,45 @@ typedef unsigned int GLhandleARB;
                 <command name="glGenerateMipmapOES"/>
             </require>
         </extension>
+        <extension name="GL_OES_geometry_point_size" supported="gles2"/>
+        <extension name="GL_OES_geometry_shader" supported="gles2">
+            <require>
+                <enum name="GL_GEOMETRY_SHADER_OES"/>
+                <enum name="GL_GEOMETRY_SHADER_BIT_OES"/>
+                <enum name="GL_GEOMETRY_LINKED_VERTICES_OUT_OES"/>
+                <enum name="GL_GEOMETRY_LINKED_INPUT_TYPE_OES"/>
+                <enum name="GL_GEOMETRY_LINKED_OUTPUT_TYPE_OES"/>
+                <enum name="GL_GEOMETRY_SHADER_INVOCATIONS_OES"/>
+                <enum name="GL_LAYER_PROVOKING_VERTEX_OES"/>
+                <enum name="GL_LINES_ADJACENCY_OES"/>
+                <enum name="GL_LINE_STRIP_ADJACENCY_OES"/>
+                <enum name="GL_TRIANGLES_ADJACENCY_OES"/>
+                <enum name="GL_TRIANGLE_STRIP_ADJACENCY_OES"/>
+                <enum name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES"/>
+                <enum name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS_OES"/>
+                <enum name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES"/>
+                <enum name="GL_MAX_GEOMETRY_INPUT_COMPONENTS_OES"/>
+                <enum name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES"/>
+                <enum name="GL_MAX_GEOMETRY_OUTPUT_VERTICES_OES"/>
+                <enum name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES"/>
+                <enum name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS_OES"/>
+                <enum name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES"/>
+                <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES"/>
+                <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS_OES"/>
+                <enum name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS_OES"/>
+                <enum name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES"/>
+                <enum name="GL_FIRST_VERTEX_CONVENTION_OES"/>
+                <enum name="GL_LAST_VERTEX_CONVENTION_OES"/>
+                <enum name="GL_UNDEFINED_VERTEX_OES"/>
+                <enum name="GL_PRIMITIVES_GENERATED_OES"/>
+                <enum name="GL_FRAMEBUFFER_DEFAULT_LAYERS_OES"/>
+                <enum name="GL_MAX_FRAMEBUFFER_LAYERS_OES"/>
+                <enum name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES"/>
+                <enum name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_OES"/>
+                <enum name="GL_REFERENCED_BY_GEOMETRY_SHADER_OES"/>
+                <command name="glFramebufferTextureOES"/>
+            </require>
+        </extension>
         <extension name="GL_OES_get_program_binary" supported="gles2">
             <require>
                 <enum name="GL_PROGRAM_BINARY_LENGTH_OES"/>
@@ -40053,6 +50498,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glProgramBinaryOES"/>
             </require>
         </extension>
+        <extension name="GL_OES_gpu_shader5" supported="gles2"/>
         <extension name="GL_OES_mapbuffer" supported="gles1|gles2">
             <require>
                 <enum name="GL_WRITE_ONLY_OES"/>
@@ -40118,6 +50564,12 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_COORD_REPLACE_OES"/>
             </require>
         </extension>
+        <extension name="GL_OES_primitive_bounding_box" supported="gles2">
+            <require>
+                <enum name="GL_PRIMITIVE_BOUNDING_BOX_OES"/>
+                <command name="glPrimitiveBoundingBoxOES"/>
+            </require>
+        </extension>
         <extension name="GL_OES_query_matrix" supported="gl|gles1">
             <require>
                 <command name="glQueryMatrixxOES"/>
@@ -40148,12 +50600,29 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_RGB10_A2_EXT"/>
             </require>
         </extension>
-        <extension name="GL_OES_rgb8_rgba8" supported="gles1|gles2">
+        <extension name="GL_OES_rgb8_rgba8" supported="gles1|gles2|glsc2">
             <require>
                 <enum name="GL_RGB8_OES"/>
                 <enum name="GL_RGBA8_OES"/>
             </require>
         </extension>
+        <extension name="GL_OES_sample_shading" supported="gles2">
+            <require>
+                <command name="glMinSampleShadingOES"/>
+                <enum name="GL_SAMPLE_SHADING_OES"/>
+                <enum name="GL_MIN_SAMPLE_SHADING_VALUE_OES"/>
+            </require>
+        </extension>
+        <extension name="GL_OES_sample_variables" supported="gles2"/>
+        <extension name="GL_OES_shader_image_atomic" supported="gles2"/>
+        <extension name="GL_OES_shader_io_blocks" supported="gles2"/>
+        <extension name="GL_OES_shader_multisample_interpolation" supported="gles2">
+            <require>
+                <enum name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES"/>
+                <enum name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES"/>
+                <enum name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES"/>
+            </require>
+        </extension>
         <extension name="GL_OES_single_precision" supported="gl|gles1">
             <require>
                 <command name="glClearDepthfOES"/>
@@ -40164,7 +50633,7 @@ typedef unsigned int GLhandleARB;
                 <command name="glOrthofOES"/>
             </require>
         </extension>
-        <extension name="GL_OES_standard_derivatives" supported="gles2">
+        <extension name="GL_OES_standard_derivatives" supported="gles2|glsc2">
             <require>
                 <enum name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES"/>
             </require>
@@ -40190,11 +50659,64 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_DECR_WRAP_OES"/>
             </require>
         </extension>
-        <extension name="GL_OES_surfaceless_context" supported="gles2">
+        <extension name="GL_OES_surfaceless_context" supported="gles1|gles2">
             <require>
                 <enum name="GL_FRAMEBUFFER_UNDEFINED_OES"/>
             </require>
         </extension>
+        <extension name="GL_OES_tessellation_point_size" supported="gles2"/>
+        <extension name="GL_OES_tessellation_shader" supported="gles2">
+            <require>
+                <enum name="GL_PATCHES_OES"/>
+                <enum name="GL_PATCH_VERTICES_OES"/>
+                <enum name="GL_TESS_CONTROL_OUTPUT_VERTICES_OES"/>
+                <enum name="GL_TESS_GEN_MODE_OES"/>
+                <enum name="GL_TESS_GEN_SPACING_OES"/>
+                <enum name="GL_TESS_GEN_VERTEX_ORDER_OES"/>
+                <enum name="GL_TESS_GEN_POINT_MODE_OES"/>
+                <enum name="GL_TRIANGLES"/>
+                <enum name="GL_ISOLINES_OES"/>
+                <enum name="GL_QUADS_OES"/>
+                <enum name="GL_EQUAL"/>
+                <enum name="GL_FRACTIONAL_ODD_OES"/>
+                <enum name="GL_FRACTIONAL_EVEN_OES"/>
+                <enum name="GL_CCW"/>
+                <enum name="GL_CW"/>
+                <enum name="GL_MAX_PATCH_VERTICES_OES"/>
+                <enum name="GL_MAX_TESS_GEN_LEVEL_OES"/>
+                <enum name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES"/>
+                <enum name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES"/>
+                <enum name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES"/>
+                <enum name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES"/>
+                <enum name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES"/>
+                <enum name="GL_MAX_TESS_PATCH_COMPONENTS_OES"/>
+                <enum name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES"/>
+                <enum name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES"/>
+                <enum name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES"/>
+                <enum name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES"/>
+                <enum name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES"/>
+                <enum name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES"/>
+                <enum name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES"/>
+                <enum name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES"/>
+                <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES"/>
+                <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES"/>
+                <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES"/>
+                <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES"/>
+                <enum name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES"/>
+                <enum name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES"/>
+                <enum name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES"/>
+                <enum name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES"/>
+                <enum name="GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES"/>
+                <enum name="GL_IS_PER_PATCH_OES"/>
+                <enum name="GL_REFERENCED_BY_TESS_CONTROL_SHADER_OES"/>
+                <enum name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER_OES"/>
+                <enum name="GL_TESS_CONTROL_SHADER_OES"/>
+                <enum name="GL_TESS_EVALUATION_SHADER_OES"/>
+                <enum name="GL_TESS_CONTROL_SHADER_BIT_OES"/>
+                <enum name="GL_TESS_EVALUATION_SHADER_BIT_OES"/>
+                <command name="glPatchParameteriOES"/>
+            </require>
+        </extension>
         <extension name="GL_OES_texture_3D" supported="gles2">
             <require>
                 <enum name="GL_TEXTURE_WRAP_R_OES"/>
@@ -40211,6 +50733,40 @@ typedef unsigned int GLhandleARB;
                 <command name="glFramebufferTexture3DOES"/>
             </require>
         </extension>
+        <extension name="GL_OES_texture_border_clamp" supported="gles2">
+            <require>
+                <enum name="GL_TEXTURE_BORDER_COLOR_OES"/>
+                <enum name="GL_CLAMP_TO_BORDER_OES"/>
+                <command name="glTexParameterIivOES"/>
+                <command name="glTexParameterIuivOES"/>
+                <command name="glGetTexParameterIivOES"/>
+                <command name="glGetTexParameterIuivOES"/>
+                <command name="glSamplerParameterIivOES"/>
+                <command name="glSamplerParameterIuivOES"/>
+                <command name="glGetSamplerParameterIivOES"/>
+                <command name="glGetSamplerParameterIuivOES"/>
+            </require>
+        </extension>
+        <extension name="GL_OES_texture_buffer" supported="gles2">
+            <require>
+                <enum name="GL_TEXTURE_BUFFER_OES"/>
+                <enum name="GL_TEXTURE_BUFFER_BINDING_OES"/>
+                <enum name="GL_MAX_TEXTURE_BUFFER_SIZE_OES"/>
+                <enum name="GL_TEXTURE_BINDING_BUFFER_OES"/>
+                <enum name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING_OES"/>
+                <enum name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES"/>
+                <enum name="GL_SAMPLER_BUFFER_OES"/>
+                <enum name="GL_INT_SAMPLER_BUFFER_OES"/>
+                <enum name="GL_UNSIGNED_INT_SAMPLER_BUFFER_OES"/>
+                <enum name="GL_IMAGE_BUFFER_OES"/>
+                <enum name="GL_INT_IMAGE_BUFFER_OES"/>
+                <enum name="GL_UNSIGNED_INT_IMAGE_BUFFER_OES"/>
+                <enum name="GL_TEXTURE_BUFFER_OFFSET_OES"/>
+                <enum name="GL_TEXTURE_BUFFER_SIZE_OES"/>
+                <command name="glTexBufferOES"/>
+                <command name="glTexBufferRangeOES"/>
+            </require>
+        </extension>
         <extension name="GL_OES_texture_compression_astc" supported="gles2" comment="API is identical to GL_KHR_texture_compression_astc_hdr extension">
             <require>
                 <enum name="GL_COMPRESSED_RGBA_ASTC_4x4_KHR"/>
@@ -40241,6 +50797,26 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"/>
                 <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"/>
                 <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"/>
+                <enum name="GL_COMPRESSED_RGBA_ASTC_3x3x3_OES"/>
+                <enum name="GL_COMPRESSED_RGBA_ASTC_4x3x3_OES"/>
+                <enum name="GL_COMPRESSED_RGBA_ASTC_4x4x3_OES"/>
+                <enum name="GL_COMPRESSED_RGBA_ASTC_4x4x4_OES"/>
+                <enum name="GL_COMPRESSED_RGBA_ASTC_5x4x4_OES"/>
+                <enum name="GL_COMPRESSED_RGBA_ASTC_5x5x4_OES"/>
+                <enum name="GL_COMPRESSED_RGBA_ASTC_5x5x5_OES"/>
+                <enum name="GL_COMPRESSED_RGBA_ASTC_6x5x5_OES"/>
+                <enum name="GL_COMPRESSED_RGBA_ASTC_6x6x5_OES"/>
+                <enum name="GL_COMPRESSED_RGBA_ASTC_6x6x6_OES"/>
+                <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_4x4x3_OES"/>
+                <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES"/>
+                <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES"/>
+                <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_6x5x5_OES"/>
+                <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES"/>
+                <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES"/>
             </require>
         </extension>
         <extension name="GL_OES_texture_cube_map" supported="gles1">
@@ -40269,35 +50845,62 @@ typedef unsigned int GLhandleARB;
                 <command name="glGetTexGenxvOES"/>
             </require>
         </extension>
-        <extension name="GL_OES_texture_env_crossbar" supported="gles1">
+        <extension name="GL_OES_texture_cube_map_array" supported="gles2">
             <require>
+                <enum name="GL_TEXTURE_CUBE_MAP_ARRAY_OES"/>
+                <enum name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES"/>
+                <enum name="GL_SAMPLER_CUBE_MAP_ARRAY_OES"/>
+                <enum name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES"/>
+                <enum name="GL_INT_SAMPLER_CUBE_MAP_ARRAY_OES"/>
+                <enum name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES"/>
+                <enum name="GL_IMAGE_CUBE_MAP_ARRAY_OES"/>
+                <enum name="GL_INT_IMAGE_CUBE_MAP_ARRAY_OES"/>
+                <enum name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES"/>
             </require>
         </extension>
+        <extension name="GL_OES_texture_env_crossbar" supported="gles1"/>
         <extension name="GL_OES_texture_float" supported="gles2">
             <require>
                 <enum name="GL_FLOAT"/>
             </require>
         </extension>
-        <extension name="GL_OES_texture_float_linear" supported="gles2">
+        <extension name="GL_OES_texture_float_linear" supported="gles2"/>
+        <extension name="GL_OES_texture_half_float" supported="gles2">
             <require>
+                <enum name="GL_HALF_FLOAT_OES"/>
             </require>
         </extension>
-        <extension name="GL_OES_texture_half_float" supported="gles2">
+        <extension name="GL_OES_texture_half_float_linear" supported="gles2"/>
+        <extension name="GL_OES_texture_mirrored_repeat" supported="gles1">
             <require>
-                <enum name="GL_HALF_FLOAT_OES"/>
+                <enum name="GL_MIRRORED_REPEAT_OES"/>
             </require>
         </extension>
-        <extension name="GL_OES_texture_half_float_linear" supported="gles2">
+        <extension name="GL_OES_texture_npot" supported="gles1|gles2"/>
+        <extension name="GL_OES_texture_stencil8" supported="gles2">
             <require>
+                <enum name="GL_STENCIL_INDEX_OES"/>
+                <enum name="GL_STENCIL_INDEX8_OES"/>
             </require>
         </extension>
-        <extension name="GL_OES_texture_mirrored_repeat" supported="gles1">
+        <extension name="GL_OES_texture_storage_multisample_2d_array" supported="gles2">
             <require>
-                <enum name="GL_MIRRORED_REPEAT_OES"/>
+                <enum name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES"/>
+                <enum name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES"/>
+                <enum name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
+                <enum name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
+                <enum name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
+                <command name="glTexStorage3DMultisampleOES"/>
             </require>
         </extension>
-        <extension name="GL_OES_texture_npot" supported="gles2">
+        <extension name="GL_OES_texture_view" supported="gles2">
             <require>
+                <enum name="GL_TEXTURE_VIEW_MIN_LEVEL_OES"/>
+                <enum name="GL_TEXTURE_VIEW_NUM_LEVELS_OES"/>
+                <enum name="GL_TEXTURE_VIEW_MIN_LAYER_OES"/>
+                <enum name="GL_TEXTURE_VIEW_NUM_LAYERS_OES"/>
+                <enum name="GL_TEXTURE_IMMUTABLE_LEVELS"/>
+                <command name="glTextureViewOES"/>
             </require>
         </extension>
         <extension name="GL_OES_vertex_array_object" supported="gles1|gles2">
@@ -40320,6 +50923,30 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_INT_10_10_10_2_OES"/>
             </require>
         </extension>
+        <extension name="GL_OES_viewport_array" supported="gles2">
+            <require>
+                <enum name="GL_SCISSOR_BOX"/>
+                <enum name="GL_VIEWPORT"/>
+                <enum name="GL_DEPTH_RANGE"/>
+                <enum name="GL_SCISSOR_TEST"/>
+                <enum name="GL_MAX_VIEWPORTS_OES"/>
+                <enum name="GL_VIEWPORT_SUBPIXEL_BITS_OES"/>
+                <enum name="GL_VIEWPORT_BOUNDS_RANGE_OES"/>
+                <enum name="GL_VIEWPORT_INDEX_PROVOKING_VERTEX_OES"/>
+                <command name="glViewportArrayvOES"/>
+                <command name="glViewportIndexedfOES"/>
+                <command name="glViewportIndexedfvOES"/>
+                <command name="glScissorArrayvOES"/>
+                <command name="glScissorIndexedOES"/>
+                <command name="glScissorIndexedvOES"/>
+                <command name="glDepthRangeArrayfvOES"/>
+                <command name="glDepthRangeIndexedfOES"/>
+                <command name="glGetFloati_vOES"/>
+                <command name="glEnableiOES"/>
+                <command name="glDisableiOES"/>
+                <command name="glIsEnablediOES"/>
+            </require>
+        </extension>
         <extension name="GL_OML_interlace" supported="gl">
             <require>
                 <enum name="GL_INTERLACE_OML"/>
@@ -40342,6 +50969,21 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_FORMAT_SUBSAMPLE_244_244_OML"/>
             </require>
         </extension>
+        <extension name="GL_OVR_multiview" supported="gl|glcore|gles2">
+            <require>
+                <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR"/>
+                <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR"/>
+                <enum name="GL_MAX_VIEWS_OVR"/>
+                <enum name="GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR"/>
+                <command name="glFramebufferTextureMultiviewOVR"/>
+            </require>
+        </extension>
+        <extension name="GL_OVR_multiview2" supported="gl|glcore|gles2"/>
+        <extension name="GL_OVR_multiview_multisampled_render_to_texture" supported="gles2">
+            <require>
+                <command name="glFramebufferTextureMultisampleMultiviewOVR"/>
+            </require>
+        </extension>
         <extension name="GL_PGI_misc_hints" supported="gl">
             <require>
                 <enum name="GL_PREFER_DOUBLEBUFFER_HINT_PGI"/>
@@ -40448,11 +51090,77 @@ typedef unsigned int GLhandleARB;
                 <command name="glExtGetProgramBinarySourceQCOM"/>
             </require>
         </extension>
+        <extension name="GL_QCOM_framebuffer_foveated" supported="gles2">
+            <require>
+                <enum name="GL_FOVEATION_ENABLE_BIT_QCOM"/>
+                <enum name="GL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM"/>
+                <command name="glFramebufferFoveationConfigQCOM"/>
+                <command name="glFramebufferFoveationParametersQCOM"/>
+            </require>
+        </extension>
+        <extension name="GL_QCOM_motion_estimation" supported="gles2">
+            <require>
+                <enum name="GL_MOTION_ESTIMATION_SEARCH_BLOCK_X_QCOM"/>
+                <enum name="GL_MOTION_ESTIMATION_SEARCH_BLOCK_Y_QCOM"/>
+                <enum name="GL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM"/>
+                <command name="glTexEstimateMotionQCOM"/>
+                <command name="glTexEstimateMotionRegionsQCOM"/>
+            </require>
+        </extension>
+        <extension name="GL_QCOM_frame_extrapolation" supported="gles2">
+            <require>
+                <command name="glExtrapolateTex2DQCOM"/>
+            </require>
+        </extension>
+        <extension name="GL_QCOM_texture_foveated" supported="gles2">
+            <require>
+                <enum name="GL_FOVEATION_ENABLE_BIT_QCOM"/>
+                <enum name="GL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM"/>
+                <enum name="GL_TEXTURE_FOVEATED_FEATURE_BITS_QCOM"/>
+                <enum name="GL_TEXTURE_FOVEATED_MIN_PIXEL_DENSITY_QCOM"/>
+                <enum name="GL_TEXTURE_FOVEATED_FEATURE_QUERY_QCOM"/>
+                <enum name="GL_TEXTURE_FOVEATED_NUM_FOCAL_POINTS_QUERY_QCOM"/>
+                <enum name="GL_FRAMEBUFFER_INCOMPLETE_FOVEATION_QCOM"/>
+                <command name="glTextureFoveationParametersQCOM"/>
+            </require>
+        </extension>
+        <extension name="GL_QCOM_texture_foveated2" supported="gles2">
+            <require>
+                <enum name="GL_TEXTURE_FOVEATED_CUTOFF_DENSITY_QCOM"/>
+            </require>
+        </extension>
+        <extension name="GL_QCOM_texture_foveated_subsampled_layout" supported="gles2">
+            <require>
+                <enum name="GL_FOVEATION_SUBSAMPLED_LAYOUT_METHOD_BIT_QCOM"/>
+                <enum name="GL_MAX_SHADER_SUBSAMPLED_IMAGE_UNITS_QCOM"/>
+            </require>
+        </extension>
         <extension name="GL_QCOM_perfmon_global_mode" supported="gles1|gles2">
             <require>
                 <enum name="GL_PERFMON_GLOBAL_MODE_QCOM"/>
             </require>
         </extension>
+        <extension name="GL_QCOM_shader_framebuffer_fetch_noncoherent" supported="gles2">
+            <require>
+                <enum name="GL_FRAMEBUFFER_FETCH_NONCOHERENT_QCOM"/>
+                <command name="glFramebufferFetchBarrierQCOM"/>
+            </require>
+        </extension>
+        <extension name="GL_QCOM_shader_framebuffer_fetch_rate" supported="gles2">
+        </extension>
+        <extension name="GL_QCOM_shading_rate" supported="gles2">
+            <require>
+                <enum name="GL_SHADING_RATE_QCOM"/>
+                <enum name="GL_SHADING_RATE_PRESERVE_ASPECT_RATIO_QCOM"/>
+                <enum name="GL_SHADING_RATE_1X1_PIXELS_QCOM"/>
+                <enum name="GL_SHADING_RATE_1X2_PIXELS_QCOM"/>
+                <enum name="GL_SHADING_RATE_2X1_PIXELS_QCOM"/>
+                <enum name="GL_SHADING_RATE_2X2_PIXELS_QCOM"/>
+                <enum name="GL_SHADING_RATE_4X2_PIXELS_QCOM"/>
+                <enum name="GL_SHADING_RATE_4X4_PIXELS_QCOM"/>
+                <command name="glShadingRateQCOM"/>
+            </require>
+        </extension>
         <extension name="GL_QCOM_tiled_rendering" supported="gles1|gles2">
             <require>
                 <enum name="GL_COLOR_BUFFER_BIT0_QCOM"/>
@@ -40496,6 +51204,8 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_WRITEONLY_RENDERING_QCOM"/>
             </require>
         </extension>
+        <extension name="GL_QCOM_YUV_texture_gather" supported="gles2">
+        </extension>
         <extension name="GL_REND_screen_coordinates" supported="gl">
             <require>
                 <enum name="GL_SCREEN_COORDINATES_REND"/>
@@ -40742,10 +51452,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_CONVOLUTION_HINT_SGIX"/>
             </require>
         </extension>
-        <extension name="GL_SGIX_depth_pass_instrument" supported="gl">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_SGIX_depth_pass_instrument" supported="gl"/>
         <extension name="GL_SGIX_depth_texture" supported="gl">
             <require>
                 <enum name="GL_DEPTH_COMPONENT16_SGIX"/>
@@ -40992,10 +51699,7 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_YCRCB_444_SGIX"/>
             </require>
         </extension>
-        <extension name="GL_SGIX_ycrcb_subsample" supported="gl">
-            <require>
-            </require>
-        </extension>
+        <extension name="GL_SGIX_ycrcb_subsample" supported="gl"/>
         <extension name="GL_SGIX_ycrcba" supported="gl">
             <require>
                 <enum name="GL_YCRCB_SGIX"/>
@@ -41176,5 +51880,6 @@ typedef unsigned int GLhandleARB;
                 <enum name="GL_FOG_SPECULAR_TEXTURE_WIN"/>
             </require>
         </extension>
+        <extension name="GL_EXT_texture_shadow_lod" supported="gl|glcore|gles2"/>
     </extensions>
 </registry>