[Piglit] [PATCH 1/2] registry: update gl.xml

Timothy Arceri tarceri at itsqueeze.com
Sun Aug 6 04:54:12 UTC 2017


On 05/08/17 14:27, Ilia Mirkin wrote:
> Why not grab a fresh one? This one's from like 2-3 months ago...

Lazyness, I just grabbed it from mesa. I pushed this around 30 minutes 
before you replied. Feel free to update to a newer version.

> 
> On Thu, Aug 3, 2017 at 9:43 PM, Timothy Arceri <tarceri at itsqueeze.com> wrote:
>> This is the current registry file used in mesa.
>>
>> Taken from commit 676834dd529d620ee25090e738d2607dfde003d8 of
>> https://github.com/KhronosGroup/OpenGL-Registry.git
>> ---
>>   registry/gl.xml              | 2162 ++++++++++++++++++++++++++++++------------
>>   tests/util/piglit-dispatch.h |    2 +
>>   2 files changed, 1576 insertions(+), 588 deletions(-)
>>
>> diff --git a/registry/gl.xml b/registry/gl.xml
>> index 3fc8863bf..353d0ef26 100644
>> --- a/registry/gl.xml
>> +++ b/registry/gl.xml
>> @@ -1,43 +1,34 @@
>>   <?xml version="1.0" encoding="UTF-8"?>
>>   <registry>
>>       <comment>
>> -Copyright (c) 2013-2016 The Khronos Group Inc.
>> -
>> -Permission is hereby granted, free of charge, to any person obtaining a
>> -copy of this software and/or associated documentation files (the
>> -"Materials"), to deal in the Materials without restriction, including
>> -without limitation the rights to use, copy, modify, merge, publish,
>> -distribute, sublicense, and/or sell copies of the Materials, and to
>> -permit persons to whom the Materials are furnished to do so, subject to
>> -the following conditions:
>> -
>> -The above copyright notice and this permission notice shall be included
>> -in all copies or substantial portions of the Materials.
>> -
>> -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>> -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>> -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
>> -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
>> -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
>> -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
>> -MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
>> +Copyright (c) 2013-2017 The Khronos Group Inc.
>> +
>> +Licensed under the Apache License, Version 2.0 (the "License");
>> +you may not use this file except in compliance with the License.
>> +You may obtain a copy of the License at
>> +
>> +    http://www.apache.org/licenses/LICENSE-2.0
>> +
>> +Unless required by applicable law or agreed to in writing, software
>> +distributed under the License is distributed on an "AS IS" BASIS,
>> +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>> +See the License for the specific language governing permissions and
>> +limitations under the License.
>>
>>   ------------------------------------------------------------------------
>>
>> -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/
>> +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 <stddef.h></type>
>>           <type name="khrplatform">#include <KHR/khrplatform.h></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
>> @@ -144,20 +135,21 @@ typedef unsigned int GLhandleARB;
>>               <!-- GLES 2 types (none currently) -->
>>               <!-- GLSC 2 types -->
>>           <type api="glsc2" requires="khrplatform">typedef khronos_uint8_t <name>GLubyte</name>;</type>
>>           <type api="glsc2" requires="khrplatform">typedef khronos_float_t <name>GLfloat</name>;</type>
>>           <type api="glsc2" requires="khrplatform">typedef khronos_intptr_t <name>GLintptr</name>;</type>
>>           <type api="glsc2" requires="khrplatform">typedef khronos_ssize_t <name>GLsizeiptr</name>;</type>
>>               <!-- Vendor extension types -->
>>           <type>typedef void (<apientry/> *<name>GLDEBUGPROCAMD</name>)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);</type>
>>           <type>typedef unsigned short <name>GLhalfNV</name>;</type>
>>           <type requires="GLintptr">typedef GLintptr <name>GLvdpauSurfaceNV</name>;</type>
>> +        <type>typedef void (<apientry/> *<name>GLVULKANPROCNV</name>)(void);</type>
>>       </types>
>>
>>       <!-- SECTION: GL parameter class type definitions. -->
>>
>>       <groups>
>>           <group name="AccumOp">
>>               <enum name="GL_ACCUM"/>
>>               <enum name="GL_LOAD"/>
>>               <enum name="GL_RETURN"/>
>>               <enum name="GL_MULT"/>
>> @@ -243,20 +235,55 @@ typedef unsigned int GLhandleARB;
>>               <enum name="GL_SRC_ALPHA"/>
>>               <enum name="GL_SRC_ALPHA_SATURATE"/>
>>               <enum name="GL_ZERO"/>
>>           </group>
>>
>>           <group name="Boolean">
>>               <enum name="GL_FALSE"/>
>>               <enum name="GL_TRUE"/>
>>           </group>
>>
>> +        <group name="BufferTargetARB">
>> +          <enum name="GL_ARRAY_BUFFER"/>
>> +          <enum name="GL_ATOMIC_COUNTER_BUFFER" />
>> +          <enum name="GL_COPY_READ_BUFFER" />
>> +          <enum name="GL_COPY_WRITE_BUFFER" />
>> +          <enum name="GL_DISPATCH_INDIRECT_BUFFER" />
>> +          <enum name="GL_DRAW_INDIRECT_BUFFER" />
>> +          <enum name="GL_ELEMENT_ARRAY_BUFFER" />
>> +          <enum name="GL_PIXEL_PACK_BUFFER" />
>> +          <enum name="GL_PIXEL_UNPACK_BUFFER" />
>> +          <enum name="GL_QUERY_BUFFER" />
>> +          <enum name="GL_SHADER_STORAGE_BUFFER" />
>> +          <enum name="GL_TEXTURE_BUFFER" />
>> +          <enum name="GL_TRANSFORM_FEEDBACK_BUFFER" />
>> +          <enum name="GL_UNIFORM_BUFFER" />
>> +        </group>
>> +
>> +        <group name="BufferUsageARB">
>> +          <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">
>> +          <enum name="GL_READ_ONLY"/>
>> +          <enum name="GL_WRITE_ONLY"/>
>> +          <enum name="GL_READ_WRITE"/>
>> +        </group>
>> +
>>           <group name="ClearBufferMask">
>>               <enum name="GL_ACCUM_BUFFER_BIT"/>
>>               <enum name="GL_COLOR_BUFFER_BIT"/>
>>               <enum name="GL_COVERAGE_BUFFER_BIT_NV"/>
>>               <enum name="GL_DEPTH_BUFFER_BIT"/>
>>               <enum name="GL_STENCIL_BUFFER_BIT"/>
>>           </group>
>>
>>           <group name="ClientAttribMask">
>>               <enum name="GL_CLIENT_ALL_ATTRIB_BITS"/>
>> @@ -394,20 +421,26 @@ typedef unsigned int GLhandleARB;
>>               <enum name="GL_FRONT"/>
>>               <enum name="GL_FRONT_AND_BACK"/>
>>               <enum name="GL_FRONT_LEFT"/>
>>               <enum name="GL_FRONT_RIGHT"/>
>>               <enum name="GL_LEFT"/>
>>               <enum name="GL_NONE"/>
>>               <enum name="GL_NONE_OES"/>
>>               <enum name="GL_RIGHT"/>
>>           </group>
>>
>> +        <group name="DrawElementsType">
>> +            <enum name="GL_UNSIGNED_BYTE"/>
>> +            <enum name="GL_UNSIGNED_SHORT"/>
>> +            <enum name="GL_UNSIGNED_INT"/>
>> +        </group>
>> +
>>           <group name="EnableCap">
>>               <enum name="GL_ALPHA_TEST"/>
>>               <enum name="GL_ASYNC_DRAW_PIXELS_SGIX"/>
>>               <enum name="GL_ASYNC_HISTOGRAM_SGIX"/>
>>               <enum name="GL_ASYNC_READ_PIXELS_SGIX"/>
>>               <enum name="GL_ASYNC_TEX_IMAGE_SGIX"/>
>>               <enum name="GL_AUTO_NORMAL"/>
>>               <enum name="GL_BLEND"/>
>>               <enum name="GL_CALLIGRAPHIC_FRAGMENT_SGIX"/>
>>               <enum name="GL_CLIP_PLANE0"/>
>> @@ -519,20 +552,31 @@ typedef unsigned int GLhandleARB;
>>               <enum name="GL_INVALID_VALUE"/>
>>               <enum name="GL_NO_ERROR"/>
>>               <enum name="GL_OUT_OF_MEMORY"/>
>>               <enum name="GL_STACK_OVERFLOW"/>
>>               <enum name="GL_STACK_UNDERFLOW"/>
>>               <enum name="GL_TABLE_TOO_LARGE"/>
>>               <enum name="GL_TABLE_TOO_LARGE_EXT"/>
>>               <enum name="GL_TEXTURE_TOO_LARGE_EXT"/>
>>           </group>
>>
>> +        <group name="ExternalHandleType">
>> +            <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">
>>               <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"/>
>>           </group>
>>
>>           <group name="FeedBackToken">
>>               <enum name="GL_BITMAP_TOKEN"/>
>> @@ -584,20 +628,24 @@ typedef unsigned int GLhandleARB;
>>               <enum name="GL_DOUBLE"/>
>>           </group>
>>
>>           <group name="FragmentLightModelParameterSGIX">
>>               <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="FramebufferFetchNoncoherent">
>> +            <enum name="GL_FRAMEBUFFER_FETCH_NONCOHERENT_QCOM"/>
>> +        </group>
>> +
>>           <group name="FrontFaceDirection">
>>               <enum name="GL_CCW"/>
>>               <enum name="GL_CW"/>
>>           </group>
>>
>>           <group name="GetColorTableParameterPNameSGI">
>>               <enum name="GL_COLOR_TABLE_ALPHA_SIZE_SGI"/>
>>               <enum name="GL_COLOR_TABLE_BIAS_SGI"/>
>>               <enum name="GL_COLOR_TABLE_BLUE_SIZE_SGI"/>
>>               <enum name="GL_COLOR_TABLE_FORMAT_SGI"/>
>> @@ -730,25 +778,29 @@ typedef unsigned int GLhandleARB;
>>               <enum name="GL_DEFORMATIONS_MASK_SGIX"/>
>>               <enum name="GL_DEPTH_BIAS"/>
>>               <enum name="GL_DEPTH_BITS"/>
>>               <enum name="GL_DEPTH_CLEAR_VALUE"/>
>>               <enum name="GL_DEPTH_FUNC"/>
>>               <enum name="GL_DEPTH_RANGE"/>
>>               <enum name="GL_DEPTH_SCALE"/>
>>               <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_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_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_FEEDBACK_BUFFER_SIZE"/>
>>               <enum name="GL_FEEDBACK_BUFFER_TYPE"/>
>>               <enum name="GL_FOG"/>
>>               <enum name="GL_FOG_COLOR"/>
>>               <enum name="GL_FOG_DENSITY"/>
>>               <enum name="GL_FOG_END"/>
>> @@ -874,20 +926,21 @@ typedef unsigned int GLhandleARB;
>>               <enum name="GL_MODELVIEW0_STACK_DEPTH_EXT"/>
>>               <enum name="GL_MODELVIEW_MATRIX"/>
>>               <enum name="GL_MODELVIEW_STACK_DEPTH"/>
>>               <enum name="GL_MULTISAMPLE_SGIS"/>
>>               <enum name="GL_NAME_STACK_DEPTH"/>
>>               <enum name="GL_NORMALIZE"/>
>>               <enum name="GL_NORMAL_ARRAY"/>
>>               <enum name="GL_NORMAL_ARRAY_COUNT_EXT"/>
>>               <enum name="GL_NORMAL_ARRAY_STRIDE"/>
>>               <enum name="GL_NORMAL_ARRAY_TYPE"/>
>> +            <enum name="GL_NUM_DEVICE_UUIDS"/>
>>               <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_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_EXT"/>
>>               <enum name="GL_PACK_SKIP_PIXELS"/>
>>               <enum name="GL_PACK_SKIP_ROWS"/>
>> @@ -1408,20 +1461,25 @@ typedef unsigned int GLhandleARB;
>>               <enum name="GL_TEXTURE_UPDATE_BARRIER_BIT"/>
>>               <enum name="GL_TEXTURE_UPDATE_BARRIER_BIT_EXT"/>
>>               <enum name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT"/>
>>               <enum name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT"/>
>>               <enum name="GL_UNIFORM_BARRIER_BIT"/>
>>               <enum name="GL_UNIFORM_BARRIER_BIT_EXT"/>
>>               <enum name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT"/>
>>               <enum name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT"/>
>>           </group>
>>
>> +        <group name="MemoryObjectParameterName">
>> +            <enum name="GL_DEDICATED_MEMORY_OBJECT_EXT"/>
>> +            <enum name="GL_PROTECTED_MEMORY_OBJECT_EXT"/>
>> +        </group>
>> +
>>           <group name="MeshMode1">
>>               <enum name="GL_LINE"/>
>>               <enum name="GL_POINT"/>
>>           </group>
>>
>>           <group name="MeshMode2">
>>               <enum name="GL_FILL"/>
>>               <enum name="GL_LINE"/>
>>               <enum name="GL_POINT"/>
>>           </group>
>> @@ -1788,30 +1846,40 @@ typedef unsigned int GLhandleARB;
>>               <enum name="GL_4PASS_0_EXT"/>
>>               <enum name="GL_4PASS_0_SGIS"/>
>>               <enum name="GL_4PASS_1_EXT"/>
>>               <enum name="GL_4PASS_1_SGIS"/>
>>               <enum name="GL_4PASS_2_EXT"/>
>>               <enum name="GL_4PASS_2_SGIS"/>
>>               <enum name="GL_4PASS_3_EXT"/>
>>               <enum name="GL_4PASS_3_SGIS"/>
>>           </group>
>>
>> +        <group name="SemaphoreParameterName">
>> +            <enum name="GL_D3D12_FENCE_VALUE_EXT"/>
>> +        </group>
>> +
>>           <group name="SeparableTargetEXT">
>>               <enum name="GL_SEPARABLE_2D"/>
>>               <enum name="GL_SEPARABLE_2D_EXT"/>
>>           </group>
>>
>>           <group name="ShadingModel">
>>               <enum name="GL_FLAT"/>
>>               <enum name="GL_SMOOTH"/>
>>           </group>
>>
>> +        <group name="StencilFaceDirection">
>> +             <enum name="GL_FRONT"/>
>> +             <enum name="GL_BACK"/>
>> +             <enum name="GL_FRONT_AND_BACK"/>
>> +        </group>
>> +
>>           <group name="StencilFunction">
>>               <enum name="GL_ALWAYS"/>
>>               <enum name="GL_EQUAL"/>
>>               <enum name="GL_GEQUAL"/>
>>               <enum name="GL_GREATER"/>
>>               <enum name="GL_LEQUAL"/>
>>               <enum name="GL_LESS"/>
>>               <enum name="GL_NEVER"/>
>>               <enum name="GL_NOTEQUAL"/>
>>           </group>
>> @@ -1823,20 +1891,21 @@ typedef unsigned int GLhandleARB;
>>               <enum name="GL_KEEP"/>
>>               <enum name="GL_REPLACE"/>
>>               <enum name="GL_ZERO"/>
>>           </group>
>>
>>           <group name="StringName">
>>               <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">
>>               <enum name="GL_DOUBLE"/>
>>               <enum name="GL_FLOAT"/>
>>               <enum name="GL_INT"/>
>>               <enum name="GL_SHORT"/>
>>           </group>
>>
>>           <group name="TextureCoordName">
>> @@ -1881,20 +1950,30 @@ typedef unsigned int GLhandleARB;
>>           <group name="TextureGenParameter">
>>               <enum name="GL_EYE_LINE_SGIS"/>
>>               <enum name="GL_EYE_PLANE"/>
>>               <enum name="GL_EYE_POINT_SGIS"/>
>>               <enum name="GL_OBJECT_LINE_SGIS"/>
>>               <enum name="GL_OBJECT_PLANE"/>
>>               <enum name="GL_OBJECT_POINT_SGIS"/>
>>               <enum name="GL_TEXTURE_GEN_MODE"/>
>>           </group>
>>
>> +        <group name="TextureLayout">
>> +            <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"/>
>> +        </group>
>> +
>>           <group name="TextureMagFilter">
>>               <enum name="GL_FILTER4_SGIS"/>
>>               <enum name="GL_LINEAR"/>
>>               <enum name="GL_LINEAR_DETAIL_ALPHA_SGIS"/>
>>               <enum name="GL_LINEAR_DETAIL_COLOR_SGIS"/>
>>               <enum name="GL_LINEAR_DETAIL_SGIS"/>
>>               <enum name="GL_LINEAR_SHARPEN_ALPHA_SGIS"/>
>>               <enum name="GL_LINEAR_SHARPEN_COLOR_SGIS"/>
>>               <enum name="GL_LINEAR_SHARPEN_SGIS"/>
>>               <enum name="GL_NEAREST"/>
>> @@ -1947,45 +2026,81 @@ typedef unsigned int GLhandleARB;
>>               <enum name="GL_TEXTURE_MAX_CLAMP_T_SGIX"/>
>>               <enum name="GL_TEXTURE_MIN_FILTER"/>
>>               <enum name="GL_TEXTURE_PRIORITY"/>
>>               <enum name="GL_TEXTURE_PRIORITY_EXT"/>
>>               <enum name="GL_TEXTURE_WRAP_Q_SGIS"/>
>>               <enum name="GL_TEXTURE_WRAP_R"/>
>>               <enum name="GL_TEXTURE_WRAP_R_EXT"/>
>>               <enum name="GL_TEXTURE_WRAP_R_OES"/>
>>               <enum name="GL_TEXTURE_WRAP_S"/>
>>               <enum name="GL_TEXTURE_WRAP_T"/>
>> +            <enum name="GL_TEXTURE_BASE_LEVEL"/>
>> +            <enum name="GL_TEXTURE_COMPARE_MODE"/>
>> +            <enum name="GL_TEXTURE_COMPARE_FUNC"/>
>> +            <enum name="GL_TEXTURE_LOD_BIAS"/>
>> +            <enum name="GL_TEXTURE_MIN_LOD"/>
>> +            <enum name="GL_TEXTURE_MAX_LOD"/>
>> +            <enum name="GL_TEXTURE_MAX_LEVEL"/>
>> +            <enum name="GL_TEXTURE_SWIZZLE_R"/>
>> +            <enum name="GL_TEXTURE_SWIZZLE_G"/>
>> +            <enum name="GL_TEXTURE_SWIZZLE_B"/>
>> +            <enum name="GL_TEXTURE_SWIZZLE_A"/>
>> +            <enum name="GL_TEXTURE_SWIZZLE_RGBA"/>
>> +            <enum name="GL_TEXTURE_TILING_EXT"/>
>> +            <enum name="GL_DEPTH_STENCIL_TEXTURE_MODE"/>
>>           </group>
>>
>>           <group name="TextureTarget">
>>               <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">
>>               <enum name="GL_CLAMP"/>
>>               <enum name="GL_CLAMP_TO_BORDER"/>
>>               <enum name="GL_CLAMP_TO_BORDER_ARB"/>
>>               <enum name="GL_CLAMP_TO_BORDER_NV"/>
>>               <enum name="GL_CLAMP_TO_BORDER_SGIS"/>
>>               <enum name="GL_CLAMP_TO_EDGE"/>
>>               <enum name="GL_CLAMP_TO_EDGE_SGIS"/>
>> @@ -2090,21 +2205,22 @@ typedef unsigned int GLhandleARB;
>>           <enum value="0x0020" name="GL_MAP_UNSYNCHRONIZED_BIT_EXT"/>
>>           <enum value="0x0040" name="GL_MAP_PERSISTENT_BIT"/>
>>           <enum value="0x0040" name="GL_MAP_PERSISTENT_BIT_EXT"/>
>>           <enum value="0x0080" name="GL_MAP_COHERENT_BIT"/>
>>           <enum value="0x0080" name="GL_MAP_COHERENT_BIT_EXT"/>
>>           <enum value="0x0100" name="GL_DYNAMIC_STORAGE_BIT"/>
>>           <enum value="0x0100" name="GL_DYNAMIC_STORAGE_BIT_EXT"/>
>>           <enum value="0x0200" name="GL_CLIENT_STORAGE_BIT"/>
>>           <enum value="0x0200" name="GL_CLIENT_STORAGE_BIT_EXT"/>
>>           <enum value="0x0400" name="GL_SPARSE_STORAGE_BIT_ARB"/>
>> -            <!-- Bits 0x1000 and 0x0800 reserved for Joshua Schnarr, jschnarr at nvidia.com -->
>> +        <enum value="0x0800" name="GL_LGPU_SEPARATE_STORAGE_BIT_NVX"/>
>> +        <enum value="0x0800" name="GL_PER_GPU_STORAGE_BIT_NV"/>
>>       </enums>
>>
>>       <enums namespace="GL" group="MemoryBarrierMask" type="bitmask">
>>           <enum value="0x00000001" name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT"/>
>>           <enum value="0x00000001" name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT"/>
>>           <enum value="0x00000002" name="GL_ELEMENT_ARRAY_BARRIER_BIT"/>
>>           <enum value="0x00000002" name="GL_ELEMENT_ARRAY_BARRIER_BIT_EXT"/>
>>           <enum value="0x00000004" name="GL_UNIFORM_BARRIER_BIT"/>
>>           <enum value="0x00000004" name="GL_UNIFORM_BARRIER_BIT_EXT"/>
>>           <enum value="0x00000008" name="GL_TEXTURE_FETCH_BARRIER_BIT"/>
>> @@ -2287,25 +2403,31 @@ typedef unsigned int GLhandleARB;
>>           <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>
>>
>> +    <enums namespace="GL" group="FoveationConfigBitQCOM" type="bitmask">
>> +        <enum value="0x00000001" name="GL_FOVEATION_ENABLE_BIT_QCOM"/>
>> +        <enum value="0x00000002" name="GL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM"/>
>> +    </enums>
>> +
>>       <enums namespace="GL" group="FfdMaskSGIX" type="bitmask">
>>           <enum value="0x00000001" name="GL_TEXTURE_DEFORMATION_BIT_SGIX"/>
>>           <enum value="0x00000002" name="GL_GEOMETRY_DEFORMATION_BIT_SGIX"/>
>>       </enums>
>>
>> +
>>       <!-- Non-bitmask enums with their own namespace. Generally small numbers
>>            used for indexed access. -->
>>
>>       <enums namespace="GL" group="CommandOpcodesNV" vendor="NV" comment="For NV_command_list.">
>>           <enum value="0x0000" name="GL_TERMINATE_SEQUENCE_COMMAND_NV"/>
>>           <enum value="0x0001" name="GL_NOP_COMMAND_NV"/>
>>           <enum value="0x0002" name="GL_DRAW_ELEMENTS_COMMAND_NV"/>
>>           <enum value="0x0003" name="GL_DRAW_ARRAYS_COMMAND_NV"/>
>>           <enum value="0x0004" name="GL_DRAW_ELEMENTS_STRIP_COMMAND_NV"/>
>>           <enum value="0x0005" name="GL_DRAW_ARRAYS_STRIP_COMMAND_NV"/>
>> @@ -2405,25 +2527,28 @@ typedef unsigned int GLhandleARB;
>>
>>       <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="0xFFFFFFFF" name="GL_ALL_PIXELS_AMD"/>
>>           <enum value="0xFFFFFFFFFFFFFFFF" name="GL_TIMEOUT_IGNORED" type="ull" comment="Tagged as uint64"/>
>>           <enum value="0xFFFFFFFFFFFFFFFF" name="GL_TIMEOUT_IGNORED_APPLE" type="ull" comment="Tagged as uint64"/>
>>           <enum value="1" name="GL_VERSION_ES_CL_1_0" comment="Not an API enum. API definition macro for ES 1.0/1.1 headers"/>
>>           <enum value="1" name="GL_VERSION_ES_CM_1_1" comment="Not an API enum. API definition macro for ES 1.0/1.1 headers"/>
>>           <enum value="1" name="GL_VERSION_ES_CL_1_1" comment="Not an API enum. API definition macro for ES 1.0/1.1 headers"/>
>> +        <enum value="16" name="GL_UUID_SIZE_EXT"/>
>> +        <enum value="8" name="GL_LUID_SIZE_EXT"/>
>>       </enums>
>>
>>       <enums namespace="GL" start="0x0000" end="0x7FFF" vendor="ARB" comment="Mostly OpenGL 1.0/1.1 enum assignments. Unused ranges should generally remain unused.">
>>           <enum value="0x0000" name="GL_POINTS"/>
>>           <enum value="0x0001" name="GL_LINES"/>
>>           <enum value="0x0002" name="GL_LINE_LOOP"/>
>>           <enum value="0x0003" name="GL_LINE_STRIP"/>
>>           <enum value="0x0004" name="GL_TRIANGLES"/>
>>           <enum value="0x0005" name="GL_TRIANGLE_STRIP"/>
>>           <enum value="0x0006" name="GL_TRIANGLE_FAN"/>
>> @@ -7435,21 +7560,23 @@ typedef unsigned int GLhandleARB;
>>
>>       <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" 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" end="0x8F6F" vendor="ARM"/>
>> +            <unused start="0x8F68" vendor="ARM"/>
>> +        <enum value="0x8F69" name="GL_TEXTURE_ASTC_DECODE_PRECISION_EXT"/>
>> +            <unused start="0x8F6A" 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>
>>
>> @@ -8023,33 +8150,45 @@ typedef unsigned int GLhandleARB;
>>           <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="0x91AF" vendor="AMD"/>
>> +            <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_ARB"/>
>>           <enum value="0x91B1" name="GL_COMPLETION_STATUS_ARB"/>
>>               <unused start="0x91B2" end="0x91B8" vendor="AMD"/>
>>           <enum value="0x91B9" name="GL_COMPUTE_SHADER"/>
>>               <unused start="0x91BA" vendor="AMD"/>
>>           <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_WORK_GROUP_SIZE"/>
>>           <enum value="0x91BF" name="GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB" alias="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
>> -            <unused start="0x91C0" end="0x923F" vendor="AMD"/>
>> +            <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>
>> @@ -8167,28 +8306,30 @@ typedef unsigned int GLhandleARB;
>>           <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="0x92BA" vendor="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"/>
>> -            <unused start="0x92BF" vendor="NV"/>
>> +        <enum value="0x92BF" name="GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV"/>
>>           <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"/>
>> @@ -8332,21 +8473,23 @@ typedef unsigned int GLhandleARB;
>>           <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"/>
>>           <enum value="0x934B" name="GL_TRANSFORM_FEEDBACK_BUFFER_INDEX"/>
>>           <enum value="0x934C" name="GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE"/>
>> -            <unused start="0x934D" end="0x934F" vendor="NV"/>
>> +        <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"/>
>> @@ -8510,53 +8653,93 @@ typedef unsigned int GLhandleARB;
>>           <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">
>> -            <unused start="0x9530" end="0x954C" vendor="NV"/>
>> +            <unused start="0x9530" end="0x9547" vendor="NV"/>
>> +        <enum value="0x9548" name="GL_PER_GPU_STORAGE_NV"/>
>> +        <enum value="0x9549" name="GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV"/>
>> +            <unused start="0x954A" 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"/>
>> -            <unused start="0x9550" end="0x962F" vendor="NV"/>
>> +            <unused start="0x9550" vendor="NV"/>
>> +        <enum value="0x9551" name="GL_SHADER_BINARY_FORMAT_SPIR_V_ARB"/>
>> +        <enum value="0x9552" name="GL_SPIR_V_BINARY_ARB"/>
>> +            <unused start="0x9553" end="0x9557" vendor="NV"/>
>> +        <enum value="0x9558" name="GL_RENDER_GPU_MASK_NV"/>
>> +            <unused start="0x9559" end="0x957F" vendor="NV"/>
>> +        <enum value="0x9580" name="GL_TEXTURE_TILING_EXT"/>
>> +        <enum value="0x9581" name="GL_DEDICATED_MEMORY_OBJECT_EXT"/>
>> +        <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"/>
>> +        <enum value="0x9587" name="GL_HANDLE_TYPE_OPAQUE_WIN32_EXT"/>
>> +        <enum value="0x9588" name="GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT"/>
>> +        <enum value="0x9589" name="GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT"/>
>> +        <enum value="0x958A" name="GL_HANDLE_TYPE_D3D12_RESOURCE_EXT"/>
>> +        <enum value="0x958B" name="GL_HANDLE_TYPE_D3D11_IMAGE_EXT"/>
>> +        <enum value="0x958C" name="GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT"/>
>> +        <enum value="0x958D" name="GL_LAYOUT_GENERAL_EXT"/>
>> +        <enum value="0x958E" name="GL_LAYOUT_COLOR_ATTACHMENT_EXT"/>
>> +        <enum value="0x958F" name="GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT"/>
>> +        <enum value="0x9590" name="GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT"/>
>> +        <enum value="0x9591" name="GL_LAYOUT_SHADER_READ_ONLY_EXT"/>
>> +        <enum value="0x9592" name="GL_LAYOUT_TRANSFER_SRC_EXT"/>
>> +        <enum value="0x9593" name="GL_LAYOUT_TRANSFER_DST_EXT"/>
>> +        <enum value="0x9594" name="GL_HANDLE_TYPE_D3D12_FENCE_EXT"/>
>> +        <enum value="0x9595" name="GL_D3D12_FENCE_VALUE_EXT"/>
>> +        <enum value="0x9596" name="GL_NUM_DEVICE_UUIDS_EXT"/>
>> +        <enum value="0x9597" name="GL_DEVICE_UUID_EXT"/>
>> +        <enum value="0x9598" name="GL_DRIVER_UUID_EXT"/>
>> +        <enum value="0x9599" name="GL_DEVICE_LUID_EXT"/>
>> +        <enum value="0x959A" name="GL_DEVICE_NODE_MASK_EXT"/>
>> +        <enum value="0x959B" name="GL_PROTECTED_MEMORY_OBJECT_EXT"/>
>> +            <unused start="0x959C" 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"/>
>>           <enum value="0x9631" name="GL_MAX_VIEWS_OVR"/>
>>           <enum value="0x9632" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR"/>
>> -            <unused start="0x9633" end="0x963F" vendor="Oculus"/>
>> +        <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 Maurice Ribble">
>> -            <unused start="0x96A0" end="0x96AF" vendor="Qualcomm"/>
>> +            <unused start="0x96A0" end="0x96A1" vendor="Qualcomm"/>
>> +        <enum value="0x96A2" name="GL_FRAMEBUFFER_FETCH_NONCOHERENT_QCOM"/>
>> +            <unused start="0x96A3" end="0x96AF" vendor="Qualcomm"/>
>>       </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. -->
>> @@ -8725,27 +8908,37 @@ typedef unsigned int GLhandleARB;
>>               <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>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><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 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>
>> @@ -9661,20 +9854,27 @@ typedef unsigned int GLhandleARB;
>>           </command>
>>           <command>
>>               <proto>void <name>glBufferStorageEXT</name></proto>
>>               <param><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><ptype>GLbitfield</ptype> <name>flags</name></param>
>>               <alias name="glBufferStorage"/>
>>           </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 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>
>> @@ -9948,34 +10148,58 @@ typedef unsigned int GLhandleARB;
>>           </command>
>>           <command>
>>               <proto>void <name>glClearTexImage</name></proto>
>>               <param><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 len="COMPSIZE(format,type)">const void *<name>data</name></param>
>>           </command>
>>           <command>
>> +            <proto>void <name>glClearTexImageEXT</name></proto>
>> +            <param><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 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><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>GLenum</ptype> <name>format</name></param>
>>               <param><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><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>GLenum</ptype> <name>format</name></param>
>> +            <param><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>
>>               <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
>>           </command>
>>           <command>
>>               <proto>void <name>glClientActiveTextureARB</name></proto>
>>               <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
>>               <alias name="glClientActiveTexture"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glClientActiveVertexStreamATI</name></proto>
>> @@ -11700,20 +11924,25 @@ typedef unsigned int GLhandleARB;
>>               <proto>void <name>glCreateCommandListsNV</name></proto>
>>               <param><ptype>GLsizei</ptype> <name>n</name></param>
>>               <param><ptype>GLuint</ptype> *<name>lists</name></param>
>>           </command>
>>           <command>
>>               <proto>void <name>glCreateFramebuffers</name></proto>
>>               <param><ptype>GLsizei</ptype> <name>n</name></param>
>>               <param><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><ptype>GLuint</ptype> <name>glCreateProgram</name></proto>
>>           </command>
>>           <command>
>>               <proto group="handleARB"><ptype>GLhandleARB</ptype> <name>glCreateProgramObjectARB</name></proto>
>>               <alias name="glCreateProgram"/>
>> @@ -12007,20 +12236,25 @@ typedef unsigned int GLhandleARB;
>>               <param><ptype>GLsizei</ptype> <name>n</name></param>
>>               <param 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><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>
>>               <param len="namelen">const <ptype>GLchar</ptype> *<name>name</name></param>
>>           </command>
>>           <command>
>>               <proto>void <name>glDeleteNamesAMD</name></proto>
>>               <param><ptype>GLenum</ptype> <name>identifier</name></param>
>>               <param><ptype>GLuint</ptype> <name>num</name></param>
>>               <param len="num">const <ptype>GLuint</ptype> *<name>names</name></param>
>>           </command>
>> @@ -12109,20 +12343,25 @@ typedef unsigned int GLhandleARB;
>>               <proto>void <name>glDeleteRenderbuffersOES</name></proto>
>>               <param><ptype>GLsizei</ptype> <name>n</name></param>
>>               <param 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>
>>           </command>
>>           <command>
>> +            <proto>void <name>glDeleteSemaphoresEXT</name></proto>
>> +            <param><ptype>GLsizei</ptype> <name>n</name></param>
>> +            <param len="count">const <ptype>GLuint</ptype> *<name>semaphores</name></param>
>> +        </command>
>> +        <command>
>>               <proto>void <name>glDeleteShader</name></proto>
>>               <param><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>const <ptype>GLuint</ptype> *<name>states</name></param>
>>           </command>
>>           <command>
>> @@ -12855,26 +13094,39 @@ typedef unsigned int GLhandleARB;
>>           <command>
>>               <proto>void <name>glDrawTexxvOES</name></proto>
>>               <param>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>
>>           </command>
>>           <command>
>> +            <proto>void <name>glDrawTransformFeedbackEXT</name></proto>
>> +            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
>> +            <param><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><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><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>
>>               <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><ptype>GLuint</ptype> <name>stream</name></param>
>> @@ -13616,20 +13868,42 @@ typedef unsigned int GLhandleARB;
>>               <param 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><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>glFramebufferFetchBarrierQCOM</name></proto>
>> +        </command>
>> +        <command>
>> +            <proto>void <name>glFramebufferFoveationConfigQCOM</name></proto>
>> +            <param 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 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><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>
>> @@ -13670,20 +13944,27 @@ typedef unsigned int GLhandleARB;
>>               <param>const <ptype>GLfloat</ptype> *<name>v</name></param>
>>           </command>
>>           <command>
>>               <proto>void <name>glFramebufferSampleLocationsfvNV</name></proto>
>>               <param><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><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><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>
>> @@ -14071,20 +14352,25 @@ typedef unsigned int GLhandleARB;
>>               <proto>void <name>glGenRenderbuffersOES</name></proto>
>>               <param><ptype>GLsizei</ptype> <name>n</name></param>
>>               <param 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>
>>           </command>
>>           <command>
>> +            <proto>void <name>glGenSemaphoresEXT</name></proto>
>> +            <param><ptype>GLsizei</ptype> <name>n</name></param>
>> +            <param len="count"><ptype>GLuint</ptype> *<name>semaphores</name></param>
>> +        </command>
>> +        <command>
>>               <proto><ptype>GLuint</ptype> <name>glGenSymbolsEXT</name></proto>
>>               <param group="DataTypeEXT"><ptype>GLenum</ptype> <name>datatype</name></param>
>>               <param group="VertexShaderStorageTypeEXT"><ptype>GLenum</ptype> <name>storagetype</name></param>
>>               <param group="ParameterRangeEXT"><ptype>GLenum</ptype> <name>range</name></param>
>>               <param><ptype>GLuint</ptype> <name>components</name></param>
>>           </command>
>>           <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>
>> @@ -14872,20 +15158,29 @@ typedef unsigned int GLhandleARB;
>>               <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 len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
>>           </command>
>>           <command>
>> +            <proto>void <name>glGetFramebufferParameterfvAMD</name></proto>
>> +            <param><ptype>GLenum</ptype> <name>target</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>glGetFramebufferParameteriv</name></proto>
>>               <param><ptype>GLenum</ptype> <name>target</name></param>
>>               <param><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 group="GetFramebufferParameter"><ptype>GLenum</ptype> <name>pname</name></param>
>>               <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
>> @@ -14895,20 +15190,21 @@ typedef unsigned int GLhandleARB;
>>               <param><ptype>GLuint</ptype> <name>target</name></param>
>>           </command>
>>           <command>
>>               <proto><ptype>GLenum</ptype> <name>glGetGraphicsResetStatus</name></proto>
>>           </command>
>>           <command>
>>               <proto><ptype>GLenum</ptype> <name>glGetGraphicsResetStatusARB</name></proto>
>>           </command>
>>           <command>
>>               <proto><ptype>GLenum</ptype> <name>glGetGraphicsResetStatusEXT</name></proto>
>> +            <alias name="glGetGraphicsResetStatus"/>
>>           </command>
>>           <command>
>>               <proto><ptype>GLenum</ptype> <name>glGetGraphicsResetStatusKHR</name></proto>
>>               <alias name="glGetGraphicsResetStatus"/>
>>           </command>
>>           <command>
>>               <proto group="handleARB"><ptype>GLhandleARB</ptype> <name>glGetHandleARB</name></proto>
>>               <param><ptype>GLenum</ptype> <name>pname</name></param>
>>           </command>
>>           <command>
>> @@ -15250,20 +15546,26 @@ 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>glGetMaterialxvOES</name></proto>
>>               <param><ptype>GLenum</ptype> <name>face</name></param>
>>               <param><ptype>GLenum</ptype> <name>pname</name></param>
>>               <param len="COMPSIZE(pname)"><ptype>GLfixed</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="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)">void *<name>values</name></param>
>>               <glx type="single" opcode="157"/>
>>               <glx type="render" opcode="338" name="glGetMinmaxPBO" comment="PBO protocol"/>
>>           </command>
>>           <command>
>> @@ -15448,20 +15750,29 @@ typedef unsigned int GLhandleARB;
>>               <param>void *<name>data</name></param>
>>           </command>
>>           <command>
>>               <proto>void <name>glGetNamedBufferSubDataEXT</name></proto>
>>               <param><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)">void *<name>data</name></param>
>>           </command>
>>           <command>
>> +            <proto>void <name>glGetNamedFramebufferParameterfvAMD</name></proto>
>> +            <param><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><ptype>GLuint</ptype> <name>framebuffer</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>
>>           </command>
>>           <command>
>>               <proto>void <name>glGetNamedFramebufferAttachmentParameterivEXT</name></proto>
>>               <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
>>               <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
>> @@ -16322,20 +16633,26 @@ typedef unsigned int GLhandleARB;
>>               <param><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 len="COMPSIZE(pname)"><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="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
>>               <param group="PixelType"><ptype>GLenum</ptype> <name>type</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>
>> @@ -16622,20 +16939,25 @@ typedef unsigned int GLhandleARB;
>>               <proto>void <name>glGetTexParameterxvOES</name></proto>
>>               <param><ptype>GLenum</ptype> <name>target</name></param>
>>               <param><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>
>>           </command>
>>           <command>
>> +            <proto><ptype>GLuint64</ptype> <name>glGetTextureHandleIMG</name></proto>
>> +            <param><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>
>>           </command>
>>           <command>
>>               <proto>void <name>glGetTextureImage</name></proto>
>>               <param><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><ptype>GLsizei</ptype> <name>bufSize</name></param>
>> @@ -16731,20 +17053,26 @@ typedef unsigned int GLhandleARB;
>>               <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>
>>           </command>
>>           <command>
>> +            <proto><ptype>GLuint64</ptype> <name>glGetTextureSamplerHandleIMG</name></proto>
>> +            <param><ptype>GLuint</ptype> <name>texture</name></param>
>> +            <param><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>
>>           </command>
>>           <command>
>>               <proto>void <name>glGetTextureSubImage</name></proto>
>>               <param><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>
>> @@ -16921,20 +17249,31 @@ typedef unsigned int GLhandleARB;
>>               <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><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>
>>               <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>glGetVariantArrayObjectivATI</name></proto>
>>               <param><ptype>GLuint</ptype> <name>id</name></param>
>>               <param group="ArrayObjectPNameATI"><ptype>GLenum</ptype> <name>pname</name></param>
>>               <param len="1"><ptype>GLint</ptype> *<name>params</name></param>
>> @@ -17461,20 +17800,21 @@ typedef unsigned int GLhandleARB;
>>               <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>
>>           </command>
>>           <command>
>>               <proto>void <name>glGetnUniformfvEXT</name></proto>
>>               <param><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>
>> +            <alias name="glGetnUniformfv"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glGetnUniformfvKHR</name></proto>
>>               <param><ptype>GLuint</ptype> <name>program</name></param>
>>               <param><ptype>GLint</ptype> <name>location</name></param>
>>               <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
>>               <param><ptype>GLfloat</ptype> *<name>params</name></param>
>>               <alias name="glGetnUniformfv"/>
>>           </command>
>>           <command>
>> @@ -17497,20 +17837,21 @@ typedef unsigned int GLhandleARB;
>>               <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>
>>           </command>
>>           <command>
>>               <proto>void <name>glGetnUniformivEXT</name></proto>
>>               <param><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>
>> +            <alias name="glGetnUniformiv"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glGetnUniformivKHR</name></proto>
>>               <param><ptype>GLuint</ptype> <name>program</name></param>
>>               <param><ptype>GLint</ptype> <name>location</name></param>
>>               <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
>>               <param><ptype>GLint</ptype> *<name>params</name></param>
>>               <alias name="glGetnUniformiv"/>
>>           </command>
>>           <command>
>> @@ -17626,20 +17967,59 @@ typedef unsigned int GLhandleARB;
>>               <param group="ImageTransformPNameHP"><ptype>GLenum</ptype> <name>pname</name></param>
>>               <param><ptype>GLint</ptype> <name>param</name></param>
>>           </command>
>>           <command>
>>               <proto>void <name>glImageTransformParameterivHP</name></proto>
>>               <param group="ImageTransformTargetHP"><ptype>GLenum</ptype> <name>target</name></param>
>>               <param group="ImageTransformPNameHP"><ptype>GLenum</ptype> <name>pname</name></param>
>>               <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
>>           </command>
>>           <command>
>> +            <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 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>
>>           </command>
>>           <command>
>>               <proto>void <name>glIndexFormatNV</name></proto>
>>               <param><ptype>GLenum</ptype> <name>type</name></param>
>>               <param><ptype>GLsizei</ptype> <name>stride</name></param>
>>           </command>
>> @@ -17914,20 +18294,24 @@ typedef unsigned int GLhandleARB;
>>           <command>
>>               <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsImageHandleResidentNV</name></proto>
>>               <param><ptype>GLuint64</ptype> <name>handle</name></param>
>>           </command>
>>           <command>
>>               <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsList</name></proto>
>>               <param 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>
>>               <param><ptype>GLuint</ptype> <name>name</name></param>
>>           </command>
>>           <command>
>>               <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsNamedBufferResidentNV</name></proto>
>>               <param><ptype>GLuint</ptype> <name>buffer</name></param>
>>           </command>
>>           <command>
>>               <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsNamedStringARB</name></proto>
>> @@ -18006,20 +18390,24 @@ typedef unsigned int GLhandleARB;
>>               <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsRenderbufferEXT</name></proto>
>>               <param><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>
>>           </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>
>>           </command>
>>           <command>
>>               <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsShader</name></proto>
>>               <param><ptype>GLuint</ptype> <name>shader</name></param>
>>               <glx type="single" opcode="196"/>
>>           </command>
>>           <command>
>>               <proto><ptype>GLboolean</ptype> <name>glIsStateNV</name></proto>
>> @@ -18080,20 +18468,51 @@ typedef unsigned int GLhandleARB;
>>               <proto><ptype>GLboolean</ptype> <name>glIsVertexArrayOES</name></proto>
>>               <param><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><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>
>>               <param><ptype>GLuint</ptype> <name>object</name></param>
>>               <param><ptype>GLsizei</ptype> <name>length</name></param>
>>               <param>const <ptype>GLchar</ptype> *<name>label</name></param>
>>           </command>
>>           <command>
>>               <proto>void <name>glLightEnviSGIX</name></proto>
>>               <param group="LightEnvParameterSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
>>               <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
>> @@ -18897,20 +19316,26 @@ typedef unsigned int GLhandleARB;
>>           <command>
>>               <proto>void <name>glMemoryBarrierByRegion</name></proto>
>>               <param><ptype>GLbitfield</ptype> <name>barriers</name></param>
>>           </command>
>>           <command>
>>               <proto>void <name>glMemoryBarrierEXT</name></proto>
>>               <param><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>
>>           </command>
>>           <command>
>>               <proto>void <name>glMinSampleShadingARB</name></proto>
>>               <param group="ColorF"><ptype>GLfloat</ptype> <name>value</name></param>
>>               <alias name="glMinSampleShading"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glMinSampleShadingOES</name></proto>
>> @@ -18982,61 +19407,61 @@ typedef unsigned int GLhandleARB;
>>           <command>
>>               <proto>void <name>glMultiDrawArraysEXT</name></proto>
>>               <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
>>               <param len="COMPSIZE(primcount)">const <ptype>GLint</ptype> *<name>first</name></param>
>>               <param len="COMPSIZE(primcount)">const <ptype>GLsizei</ptype> *<name>count</name></param>
>>               <param><ptype>GLsizei</ptype> <name>primcount</name></param>
>>               <alias name="glMultiDrawArrays"/>
>>           </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 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>glMultiDrawArraysIndirectBindlessCountNV</name></proto>
>> -            <param><ptype>GLenum</ptype> <name>mode</name></param>
>> +            <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>glMultiDrawArraysIndirectBindlessNV</name></proto>
>> -            <param><ptype>GLenum</ptype> <name>mode</name></param>
>> +            <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>glMultiDrawArraysIndirectCountARB</name></proto>
>> -            <param><ptype>GLenum</ptype> <name>mode</name></param>
>> +            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
>>               <param><ptype>GLintptr</ptype> <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>glMultiDrawArraysIndirectEXT</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>
>>               <alias name="glMultiDrawArraysIndirect"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glMultiDrawElementArrayAPPLE</name></proto>
>>               <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
>>               <param len="primcount">const <ptype>GLint</ptype> *<name>first</name></param>
>>               <param len="primcount">const <ptype>GLsizei</ptype> *<name>count</name></param>
>> @@ -19045,104 +19470,104 @@ typedef unsigned int GLhandleARB;
>>           <command>
>>               <proto>void <name>glMultiDrawElements</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>
>>           </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 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><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 void *const*<name>indices</name></param>
>>               <param><ptype>GLsizei</ptype> <name>primcount</name></param>
>>               <param len="COMPSIZE(drawcount)">const <ptype>GLint</ptype> *<name>basevertex</name></param>
>>               <alias name="glMultiDrawElementsBaseVertex"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glMultiDrawElementsBaseVertexOES</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 void *const*<name>indices</name></param>
>>               <param><ptype>GLsizei</ptype> <name>primcount</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 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 group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
>>               <param><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 group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
>>               <param><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><ptype>GLenum</ptype> <name>mode</name></param>
>> +            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
>>               <param><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><ptype>GLenum</ptype> <name>mode</name></param>
>> +            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
>>               <param><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>glMultiDrawElementsIndirectCountARB</name></proto>
>> -            <param><ptype>GLenum</ptype> <name>mode</name></param>
>> +            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
>>               <param><ptype>GLenum</ptype> <name>type</name></param>
>>               <param><ptype>GLintptr</ptype> <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>glMultiDrawElementsIndirectEXT</name></proto>
>> -            <param><ptype>GLenum</ptype> <name>mode</name></param>
>> +            <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
>>               <param><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>glMultiDrawRangeElementArrayAPPLE</name></proto>
>>               <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
>>               <param><ptype>GLuint</ptype> <name>start</name></param>
>> @@ -20046,20 +20471,117 @@ typedef unsigned int GLhandleARB;
>>               <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
>>               <param group="CheckedInt32"><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,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><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><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 <ptype>GLvoid</ptype> *<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><ptype>GLuint</ptype> <name>readBuffer</name></param>
>> +            <param><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><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>glMulticastWaitSyncNV</name></proto>
>> +            <param><ptype>GLuint</ptype> <name>signalGpu</name></param>
>> +            <param><ptype>GLbitfield</ptype> <name>waitGpuMask</name></param>
>> +        </command>
>> +        <command>
>>               <proto>void <name>glNamedBufferData</name></proto>
>>               <param><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><ptype>GLenum</ptype> <name>usage</name></param>
>>           </command>
>>           <command>
>>               <proto>void <name>glNamedBufferDataEXT</name></proto>
>>               <param><ptype>GLuint</ptype> <name>buffer</name></param>
>>               <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
>> @@ -20089,20 +20611,27 @@ typedef unsigned int GLhandleARB;
>>           </command>
>>           <command>
>>               <proto>void <name>glNamedBufferStorageEXT</name></proto>
>>               <param><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><ptype>GLbitfield</ptype> <name>flags</name></param>
>>               <alias name="glNamedBufferStorage"/>
>>           </command>
>>           <command>
>> +            <proto>void <name>glNamedBufferStorageMemEXT</name></proto>
>> +            <param><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><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><ptype>GLuint</ptype> <name>buffer</name></param>
>>               <param><ptype>GLintptr</ptype> <name>offset</name></param>
>> @@ -20175,20 +20704,27 @@ typedef unsigned int GLhandleARB;
>>               <param>const <ptype>GLfloat</ptype> *<name>v</name></param>
>>           </command>
>>           <command>
>>               <proto>void <name>glNamedFramebufferTexture</name></proto>
>>               <param><ptype>GLuint</ptype> <name>framebuffer</name></param>
>>               <param><ptype>GLenum</ptype> <name>attachment</name></param>
>>               <param><ptype>GLuint</ptype> <name>texture</name></param>
>>               <param><ptype>GLint</ptype> <name>level</name></param>
>>           </command>
>>           <command>
>> +            <proto>void <name>glNamedFramebufferSamplePositionsfvAMD</name></proto>
>> +            <param><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 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 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>
>> @@ -21703,21 +22239,21 @@ typedef unsigned int GLhandleARB;
>>               <proto>void <name>glProgramUniform1dEXT</name></proto>
>>               <param><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><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><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>
>> @@ -21730,21 +22266,21 @@ typedef unsigned int GLhandleARB;
>>               <param><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><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><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>
>>               <alias name="glProgramUniform1fv"/>
>>           </command>
>>           <command>
>> @@ -21784,21 +22320,21 @@ typedef unsigned int GLhandleARB;
>>               <param><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><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><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>
>>               <alias name="glProgramUniform1iv"/>
>>           </command>
>>           <command>
>> @@ -21838,21 +22374,21 @@ typedef unsigned int GLhandleARB;
>>               <param><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><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><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>
>>               <alias name="glProgramUniform1uiv"/>
>>           </command>
>>           <command>
>> @@ -21867,28 +22403,28 @@ typedef unsigned int GLhandleARB;
>>               <param><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><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><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><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>
>> @@ -21896,21 +22432,21 @@ typedef unsigned int GLhandleARB;
>>               <param><ptype>GLint</ptype> <name>location</name></param>
>>               <param><ptype>GLfloat</ptype> <name>v0</name></param>
>>               <param><ptype>GLfloat</ptype> <name>v1</name></param>
>>               <alias name="glProgramUniform2f"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniform2fv</name></proto>
>>               <param><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><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>
>>               <alias name="glProgramUniform2fv"/>
>>           </command>
>>           <command>
>> @@ -21954,21 +22490,21 @@ typedef unsigned int GLhandleARB;
>>               <param><ptype>GLint</ptype> <name>location</name></param>
>>               <param><ptype>GLint</ptype> <name>v0</name></param>
>>               <param><ptype>GLint</ptype> <name>v1</name></param>
>>               <alias name="glProgramUniform2i"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniform2iv</name></proto>
>>               <param><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><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>
>>               <alias name="glProgramUniform2iv"/>
>>           </command>
>>           <command>
>> @@ -22012,21 +22548,21 @@ typedef unsigned int GLhandleARB;
>>               <param><ptype>GLint</ptype> <name>location</name></param>
>>               <param><ptype>GLuint</ptype> <name>v0</name></param>
>>               <param><ptype>GLuint</ptype> <name>v1</name></param>
>>               <alias name="glProgramUniform2ui"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniform2uiv</name></proto>
>>               <param><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><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>
>>               <alias name="glProgramUniform2uiv"/>
>>           </command>
>>           <command>
>> @@ -22043,28 +22579,28 @@ typedef unsigned int GLhandleARB;
>>               <param><ptype>GLint</ptype> <name>location</name></param>
>>               <param><ptype>GLdouble</ptype> <name>x</name></param>
>>               <param><ptype>GLdouble</ptype> <name>y</name></param>
>>               <param><ptype>GLdouble</ptype> <name>z</name></param>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniform3dv</name></proto>
>>               <param><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><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><ptype>GLint</ptype> <name>location</name></param>
>>               <param><ptype>GLfloat</ptype> <name>v0</name></param>
>>               <param><ptype>GLfloat</ptype> <name>v1</name></param>
>>               <param><ptype>GLfloat</ptype> <name>v2</name></param>
>>           </command>
>>           <command>
>> @@ -22074,21 +22610,21 @@ typedef unsigned int GLhandleARB;
>>               <param><ptype>GLfloat</ptype> <name>v0</name></param>
>>               <param><ptype>GLfloat</ptype> <name>v1</name></param>
>>               <param><ptype>GLfloat</ptype> <name>v2</name></param>
>>               <alias name="glProgramUniform3f"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniform3fv</name></proto>
>>               <param><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><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>
>>               <alias name="glProgramUniform3fv"/>
>>           </command>
>>           <command>
>> @@ -22136,21 +22672,21 @@ typedef unsigned int GLhandleARB;
>>               <param><ptype>GLint</ptype> <name>v0</name></param>
>>               <param><ptype>GLint</ptype> <name>v1</name></param>
>>               <param><ptype>GLint</ptype> <name>v2</name></param>
>>               <alias name="glProgramUniform3i"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniform3iv</name></proto>
>>               <param><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><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>
>>               <alias name="glProgramUniform3iv"/>
>>           </command>
>>           <command>
>> @@ -22198,21 +22734,21 @@ typedef unsigned int GLhandleARB;
>>               <param><ptype>GLuint</ptype> <name>v0</name></param>
>>               <param><ptype>GLuint</ptype> <name>v1</name></param>
>>               <param><ptype>GLuint</ptype> <name>v2</name></param>
>>               <alias name="glProgramUniform3ui"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniform3uiv</name></proto>
>>               <param><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><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>
>>               <alias name="glProgramUniform3uiv"/>
>>           </command>
>>           <command>
>> @@ -22231,28 +22767,28 @@ typedef unsigned int GLhandleARB;
>>               <param><ptype>GLdouble</ptype> <name>x</name></param>
>>               <param><ptype>GLdouble</ptype> <name>y</name></param>
>>               <param><ptype>GLdouble</ptype> <name>z</name></param>
>>               <param><ptype>GLdouble</ptype> <name>w</name></param>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniform4dv</name></proto>
>>               <param><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><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><ptype>GLint</ptype> <name>location</name></param>
>>               <param><ptype>GLfloat</ptype> <name>v0</name></param>
>>               <param><ptype>GLfloat</ptype> <name>v1</name></param>
>>               <param><ptype>GLfloat</ptype> <name>v2</name></param>
>>               <param><ptype>GLfloat</ptype> <name>v3</name></param>
>>           </command>
>> @@ -22264,21 +22800,21 @@ typedef unsigned int GLhandleARB;
>>               <param><ptype>GLfloat</ptype> <name>v1</name></param>
>>               <param><ptype>GLfloat</ptype> <name>v2</name></param>
>>               <param><ptype>GLfloat</ptype> <name>v3</name></param>
>>               <alias name="glProgramUniform4f"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniform4fv</name></proto>
>>               <param><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><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>
>>               <alias name="glProgramUniform4fv"/>
>>           </command>
>>           <command>
>> @@ -22330,21 +22866,21 @@ typedef unsigned int GLhandleARB;
>>               <param><ptype>GLint</ptype> <name>v1</name></param>
>>               <param><ptype>GLint</ptype> <name>v2</name></param>
>>               <param><ptype>GLint</ptype> <name>v3</name></param>
>>               <alias name="glProgramUniform4i"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniform4iv</name></proto>
>>               <param><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><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>
>>               <alias name="glProgramUniform4iv"/>
>>           </command>
>>           <command>
>> @@ -22396,343 +22932,358 @@ typedef unsigned int GLhandleARB;
>>               <param><ptype>GLuint</ptype> <name>v1</name></param>
>>               <param><ptype>GLuint</ptype> <name>v2</name></param>
>>               <param><ptype>GLuint</ptype> <name>v3</name></param>
>>               <alias name="glProgramUniform4ui"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniform4uiv</name></proto>
>>               <param><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><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>
>>               <alias name="glProgramUniform4uiv"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniformHandleui64ARB</name></proto>
>>               <param><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><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><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><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>glProgramUniformHandleui64vIMG</name></proto>
>> +            <param><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><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><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><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><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><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*4">const <ptype>GLfloat</ptype> *<name>value</name></param>
>>               <alias name="glProgramUniformMatrix2fv"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniformMatrix2x3dv</name></proto>
>>               <param><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><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><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><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*6">const <ptype>GLfloat</ptype> *<name>value</name></param>
>>               <alias name="glProgramUniformMatrix2x3fv"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniformMatrix2x4dv</name></proto>
>>               <param><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><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><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><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*8">const <ptype>GLfloat</ptype> *<name>value</name></param>
>>               <alias name="glProgramUniformMatrix2x4fv"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniformMatrix3dv</name></proto>
>>               <param><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><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><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><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*9">const <ptype>GLfloat</ptype> *<name>value</name></param>
>>               <alias name="glProgramUniformMatrix3fv"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniformMatrix3x2dv</name></proto>
>>               <param><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><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><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><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*6">const <ptype>GLfloat</ptype> *<name>value</name></param>
>>               <alias name="glProgramUniformMatrix3x2fv"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniformMatrix3x4dv</name></proto>
>>               <param><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><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><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><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*12">const <ptype>GLfloat</ptype> *<name>value</name></param>
>>               <alias name="glProgramUniformMatrix3x4fv"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniformMatrix4dv</name></proto>
>>               <param><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><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><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><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*16">const <ptype>GLfloat</ptype> *<name>value</name></param>
>>               <alias name="glProgramUniformMatrix4fv"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniformMatrix4x2dv</name></proto>
>>               <param><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><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><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><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*8">const <ptype>GLfloat</ptype> *<name>value</name></param>
>>               <alias name="glProgramUniformMatrix4x2fv"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glProgramUniformMatrix4x3dv</name></proto>
>>               <param><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><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><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><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*12">const <ptype>GLfloat</ptype> *<name>value</name></param>
>>               <alias name="glProgramUniformMatrix4x3fv"/>
>>           </command>
>> @@ -23079,20 +23630,25 @@ typedef unsigned int GLhandleARB;
>>               <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><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>
>>               <param group="CoordD"><ptype>GLdouble</ptype> <name>x1</name></param>
>>               <param group="CoordD"><ptype>GLdouble</ptype> <name>y1</name></param>
>>               <param group="CoordD"><ptype>GLdouble</ptype> <name>x2</name></param>
>>               <param group="CoordD"><ptype>GLdouble</ptype> <name>y2</name></param>
>>               <vecequiv name="glRectdv"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glRectdv</name></proto>
>>               <param group="CoordD" len="2">const <ptype>GLdouble</ptype> *<name>v1</name></param>
>> @@ -23155,20 +23711,24 @@ typedef unsigned int GLhandleARB;
>>           </command>
>>           <command>
>>               <proto>void <name>glReferencePlaneSGIX</name></proto>
>>               <param len="4">const <ptype>GLdouble</ptype> *<name>equation</name></param>
>>               <glx type="render" opcode="2071"/>
>>           </command>
>>           <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>
>>               <glx type="single" opcode="107"/>
>>           </command>
>>           <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><ptype>GLsizei</ptype> <name>width</name></param>
>>               <param><ptype>GLsizei</ptype> <name>height</name></param>
>> @@ -23983,20 +24543,26 @@ typedef unsigned int GLhandleARB;
>>           </command>
>>           <command>
>>               <proto>void <name>glSelectPerfMonitorCountersAMD</name></proto>
>>               <param><ptype>GLuint</ptype> <name>monitor</name></param>
>>               <param group="Boolean"><ptype>GLboolean</ptype> <name>enable</name></param>
>>               <param><ptype>GLuint</ptype> <name>group</name></param>
>>               <param><ptype>GLint</ptype> <name>numCounters</name></param>
>>               <param len="numCounters"><ptype>GLuint</ptype> *<name>counterList</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><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 void *<name>row</name></param>
>>               <param len="COMPSIZE(target,format,type,height)">const void *<name>column</name></param>
>>               <glx type="render" opcode="4109"/>
>> @@ -24103,20 +24669,37 @@ typedef unsigned int GLhandleARB;
>>               <param><ptype>GLuint</ptype> <name>storageBlockBinding</name></param>
>>           </command>
>>           <command>
>>               <proto>void <name>glSharpenTexFuncSGIS</name></proto>
>>               <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
>>               <param><ptype>GLsizei</ptype> <name>n</name></param>
>>               <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 len="COMPSIZE(numBufferBarriers)">const <ptype>GLuint</ptype> *<name>buffers</name></param>
>> +            <param><ptype>GLuint</ptype> <name>numTextureBarriers</name></param>
>> +            <param 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>glSpecializeShaderARB</name></proto>
>> +            <param><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>glSpriteParameterfSGIX</name></proto>
>>               <param group="SpriteParameterNameSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
>>               <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
>>               <glx type="render" opcode="2060"/>
>>           </command>
>>           <command>
>>               <proto>void <name>glSpriteParameterfvSGIX</name></proto>
>>               <param group="SpriteParameterNameSGIX"><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="2061"/>
>> @@ -25440,20 +26023,73 @@ typedef unsigned int GLhandleARB;
>>               <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><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><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><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><ptype>GLenum</ptype> <name>target</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>GLsizei</ptype> <name>layers</name></param>
>>               <param><ptype>GLbitfield</ptype> <name>flags</name></param>
>>           </command>
>>           <command>
>> @@ -25902,20 +26538,73 @@ typedef unsigned int GLhandleARB;
>>               <param><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><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><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><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><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>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><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><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><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><ptype>GLenum</ptype> <name>target</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>GLsizei</ptype> <name>layers</name></param>
>>               <param><ptype>GLbitfield</ptype> <name>flags</name></param>
>>           </command>
>> @@ -26705,31 +27394,44 @@ typedef unsigned int GLhandleARB;
>>               <param><ptype>GLuint</ptype> <name>program</name></param>
>>               <param><ptype>GLint</ptype> <name>location</name></param>
>>               <param><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>
>>               <param><ptype>GLuint64</ptype> <name>value</name></param>
>>           </command>
>>           <command>
>>               <proto>void <name>glUniformHandleui64vARB</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>
>>           </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>
>>               <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>glUniformMatrix2dv</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>
>> @@ -29551,20 +30253,29 @@ typedef unsigned int GLhandleARB;
>>           </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 len="COMPSIZE(numBufferBarriers)">const <ptype>GLuint</ptype> *<name>buffers</name></param>
>> +            <param><ptype>GLuint</ptype> <name>numTextureBarriers</name></param>
>> +            <param 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>glWaitSync</name></proto>
>>               <param group="sync"><ptype>GLsync</ptype> <name>sync</name></param>
>>               <param><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><ptype>GLuint64</ptype> <name>timeout</name></param>
>> @@ -29995,340 +30706,57 @@ typedef unsigned int GLhandleARB;
>>           </command>
>>           <command>
>>               <proto>void <name>glWriteMaskEXT</name></proto>
>>               <param><ptype>GLuint</ptype> <name>res</name></param>
>>               <param><ptype>GLuint</ptype> <name>in</name></param>
>>               <param group="VertexShaderWriteMaskEXT"><ptype>GLenum</ptype> <name>outX</name></param>
>>               <param group="VertexShaderWriteMaskEXT"><ptype>GLenum</ptype> <name>outY</name></param>
>>               <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><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>
>>
>>       </commands>
>>
>>       <!-- SECTION: GL API interface definitions. -->
>>       <feature api="gl" name="GL_VERSION_1_0" number="1.0">
>>           <require>
>>               <type name="GLvoid" comment="No longer used in headers"/>
>> -            <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"/>
>> -            <!-- 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"/>
>> @@ -30396,21 +30824,20 @@ typedef unsigned int GLhandleARB;
>>               <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"/>
>> @@ -30424,46 +30851,33 @@ typedef unsigned int GLhandleARB;
>>               <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"/>
>> @@ -30501,58 +30915,39 @@ typedef unsigned int GLhandleARB;
>>               <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"/>
>>               <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_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"/>
>> @@ -30578,28 +30973,20 @@ typedef unsigned int GLhandleARB;
>>               <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"/>
>> @@ -30631,25 +31018,23 @@ typedef unsigned int GLhandleARB;
>>               <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_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"/>
>> @@ -30685,21 +31070,20 @@ typedef unsigned int GLhandleARB;
>>               <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_MAX_CLIENT_ATTRIB_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"/>
>> @@ -30721,49 +31105,22 @@ typedef unsigned int GLhandleARB;
>>               <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_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_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_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"/>
>> @@ -30796,20 +31153,417 @@ typedef unsigned int GLhandleARB;
>>               <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"/>
>> @@ -30829,34 +31583,20 @@ typedef unsigned int GLhandleARB;
>>               <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="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"/>
>> @@ -33119,20 +33859,21 @@ typedef unsigned int GLhandleARB;
>>           </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"/>
>> @@ -36500,21 +37241,51 @@ typedef unsigned int GLhandleARB;
>>               </require>
>>           </extension>
>>           <extension name="GL_AMD_draw_buffers_blend" supported="gl">
>>               <require>
>>                   <command name="glBlendFuncIndexedAMD"/>
>>                   <command name="glBlendFuncSeparateIndexedAMD"/>
>>                   <command name="glBlendEquationIndexedAMD"/>
>>                   <command name="glBlendEquationSeparateIndexedAMD"/>
>>               </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"/>
>> @@ -36612,21 +37383,21 @@ typedef unsigned int GLhandleARB;
>>               <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|gles2">
>> +        <extension name="GL_AMD_performance_monitor" supported="gl|glcore|gles2">
>>               <require>
>>                   <enum name="GL_COUNTER_TYPE_AMD"/>
>>                   <enum name="GL_COUNTER_RANGE_AMD"/>
>>                   <enum name="GL_UNSIGNED_INT64_AMD"/>
>>                   <enum name="GL_PERCENTAGE_AMD"/>
>>                   <enum name="GL_PERFMON_RESULT_AVAILABLE_AMD"/>
>>                   <enum name="GL_PERFMON_RESULT_SIZE_AMD"/>
>>                   <enum name="GL_PERFMON_RESULT_AMD"/>
>>                   <command name="glGetPerfMonitorGroupsAMD"/>
>>                   <command name="glGetPerfMonitorCountersAMD"/>
>> @@ -36663,20 +37434,21 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_SUBSAMPLE_DISTANCE_AMD"/>
>>                   <command name="glSetMultisamplefvAMD"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_AMD_seamless_cubemap_per_texture" supported="gl">
>>               <require>
>>                   <enum name="GL_TEXTURE_CUBE_MAP_SEAMLESS"/>
>>               </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_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"/>
>>                   <enum name="GL_VIRTUAL_PAGE_SIZE_Y_AMD"/>
>>                   <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"/>
>> @@ -36690,20 +37462,21 @@ typedef unsigned int GLhandleARB;
>>           </extension>
>>           <extension name="GL_AMD_stencil_operation_extended" supported="gl">
>>               <require>
>>                   <enum name="GL_SET_AMD"/>
>>                   <enum name="GL_REPLACE_VALUE_AMD"/>
>>                   <enum name="GL_STENCIL_OP_VALUE_AMD"/>
>>                   <enum name="GL_STENCIL_BACK_OP_VALUE_AMD"/>
>>                   <command name="glStencilOpValueAMD"/>
>>               </require>
>>           </extension>
>> +        <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>
>> @@ -36914,21 +37687,21 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_RELEASED_APPLE"/>
>>                   <enum name="GL_VOLATILE_APPLE"/>
>>                   <enum name="GL_RETAINED_APPLE"/>
>>                   <enum name="GL_UNDEFINED_APPLE"/>
>>                   <enum name="GL_PURGEABLE_APPLE"/>
>>                   <command name="glObjectPurgeableAPPLE"/>
>>                   <command name="glObjectUnpurgeableAPPLE"/>
>>                   <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"/>
>>                   <enum name="GL_UNSIGNED_SHORT_8_8_REV_APPLE"/>
>>               </require>
>>               <require comment="Depends on TexStorage* (EXT_texture_storage / ES 3.0 / GL 4.4 / etc.)">
>>                   <enum name="GL_RGB_RAW_422_APPLE"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_APPLE_row_bytes" supported="gl">
>> @@ -37083,21 +37856,21 @@ typedef unsigned int GLhandleARB;
>>                   <command name="glDepthRangef"/>
>>                   <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">
>> +        <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"/>
>> @@ -37509,21 +38282,21 @@ typedef unsigned int GLhandleARB;
>>               </require>
>>           </extension>
>>           <extension name="GL_ARB_draw_indirect" supported="gl|glcore">
>>               <require>
>>                   <enum name="GL_DRAW_INDIRECT_BUFFER"/>
>>                   <enum name="GL_DRAW_INDIRECT_BUFFER_BINDING"/>
>>                   <command name="glDrawArraysIndirect"/>
>>                   <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"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_ARB_enhanced_layouts" supported="gl|glcore">
>>               <require>
>>                   <enum name="GL_LOCATION_COMPONENT"/>
>>                   <enum name="GL_TRANSFORM_FEEDBACK_BUFFER"/>
>>                   <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_INDEX"/>
>> @@ -37642,21 +38415,21 @@ typedef unsigned int GLhandleARB;
>>               </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"/>
>>                   <enum name="GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB"/>
>>                   <enum name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_ARB_fragment_shader_interlock" supported="gl"/>
>> +        <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"/>
>>                   <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"/>
>> @@ -37762,21 +38535,21 @@ typedef unsigned int GLhandleARB;
>>               </require>
>>               <require api="gl" profile="compatibility">
>>                   <enum name="GL_INDEX"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_ARB_framebuffer_sRGB" supported="gl|glcore">
>>               <require>
>>                   <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"/>
>>                   <enum name="GL_TRIANGLES_ADJACENCY_ARB"/>
>>                   <enum name="GL_TRIANGLE_STRIP_ADJACENCY_ARB"/>
>>                   <enum name="GL_PROGRAM_POINT_SIZE_ARB"/>
>>                   <enum name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB"/>
>>                   <enum name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB"/>
>>                   <enum name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB"/>
>>                   <enum name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB"/>
>> @@ -37852,21 +38625,21 @@ typedef unsigned int GLhandleARB;
>>                   <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>
>>           </extension>
>> -        <extension name="GL_ARB_gpu_shader_int64" supported="gl">
>> +        <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"/>
>> @@ -38035,21 +38808,21 @@ typedef unsigned int GLhandleARB;
>>               </require>
>>           </extension>
>>           <extension name="GL_ARB_indirect_parameters" supported="gl|glcore">
>>               <require>
>>                   <enum name="GL_PARAMETER_BUFFER_ARB"/>
>>                   <enum name="GL_PARAMETER_BUFFER_BINDING_ARB"/>
>>                   <command name="glMultiDrawArraysIndirectCountARB"/>
>>                   <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"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_ARB_internalformat_query" supported="gl|glcore">
>>               <require>
>>                   <enum name="GL_NUM_SAMPLE_COUNTS"/>
>>                   <command name="glGetInternalformativ"/>
>>               </require>
>> @@ -38338,21 +39111,21 @@ typedef unsigned int GLhandleARB;
>>                   <command name="glGetQueryivARB"/>
>>                   <command name="glGetQueryObjectivARB"/>
>>                   <command name="glGetQueryObjectuivARB"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_ARB_occlusion_query2" supported="gl|glcore">
>>               <require>
>>                   <enum name="GL_ANY_SAMPLES_PASSED"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_ARB_parallel_shader_compile" 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"/>
>> @@ -38360,21 +39133,21 @@ typedef unsigned int GLhandleARB;
>>                   <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">
>> +        <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"/>
>>                   <enum name="GL_PIXEL_PACK_BUFFER_BINDING_ARB"/>
>>                   <enum name="GL_PIXEL_UNPACK_BUFFER_BINDING_ARB"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_ARB_point_parameters" supported="gl">
>>               <require>
>>                   <enum name="GL_POINT_SIZE_MIN_ARB"/>
>> @@ -38384,21 +39157,21 @@ typedef unsigned int GLhandleARB;
>>                   <command name="glPointParameterfARB"/>
>>                   <command name="glPointParameterfvARB"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_ARB_point_sprite" supported="gl">
>>               <require>
>>                   <enum name="GL_POINT_SPRITE_ARB"/>
>>                   <enum name="GL_COORD_REPLACE_ARB"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_ARB_post_depth_coverage" supported="gl"/>
>> +        <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"/>
>>                   <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_VERTEX_SUBROUTINE"/>
>> @@ -38498,21 +39271,21 @@ typedef unsigned int GLhandleARB;
>>                   <command name="glGetnPixelMapusvARB"/>
>>                   <command name="glGetnPolygonStippleARB"/>
>>                   <command name="glGetnColorTableARB"/>
>>                   <command name="glGetnConvolutionFilterARB"/>
>>                   <command name="glGetnSeparableFilterARB"/>
>>                   <command name="glGetnHistogramARB"/>
>>                   <command name="glGetnMinmaxARB"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_ARB_robustness_isolation" supported="gl|glcore"/>
>> -        <extension name="GL_ARB_sample_locations" supported="gl">
>> +        <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"/>
>> @@ -38568,20 +39341,21 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_ACTIVE_PROGRAM"/>
>>                   <enum name="GL_PROGRAM_PIPELINE_BINDING"/>
>>                   <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"/>
>> @@ -38622,21 +39396,21 @@ typedef unsigned int GLhandleARB;
>>                   <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>
>>           </extension>
>> -        <extension name="GL_ARB_shader_atomic_counter_ops" supported="gl"/>
>> +        <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"/>
>>                   <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"/>
>> @@ -38657,23 +39431,23 @@ typedef unsigned int GLhandleARB;
>>                   <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"/>
>>                   <command name="glGetActiveAtomicCounterBufferiv"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_ARB_shader_ballot" supported="gl"/>
>> +        <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"/>
>> +        <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"/>
>>                   <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"/>
>> @@ -38859,21 +39633,21 @@ typedef unsigned int GLhandleARB;
>>                   <command name="glGetActiveSubroutineUniformiv"/>
>>                   <command name="glGetActiveSubroutineUniformName"/>
>>                   <command name="glGetActiveSubroutineName"/>
>>                   <command name="glUniformSubroutinesuiv"/>
>>                   <command name="glGetUniformSubroutineuiv"/>
>>                   <command name="glGetProgramStageiv"/>
>>               </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"/>
>> +        <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"/>
>>           <extension name="GL_ARB_shading_language_include" supported="gl|glcore">
>>               <require>
>>                   <enum name="GL_SHADER_INCLUDE_ARB"/>
>>                   <enum name="GL_NAMED_STRING_LENGTH_ARB"/>
>> @@ -38921,22 +39695,29 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_VIRTUAL_PAGE_SIZE_X_ARB"/>
>>                   <enum name="GL_VIRTUAL_PAGE_SIZE_Y_ARB"/>
>>                   <enum name="GL_VIRTUAL_PAGE_SIZE_Z_ARB"/>
>>                   <enum name="GL_MAX_SPARSE_TEXTURE_SIZE_ARB"/>
>>                   <enum name="GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB"/>
>>                   <enum name="GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB"/>
>>                   <enum name="GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB"/>
>>                   <command name="glTexPageCommitmentARB"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_ARB_sparse_texture2" supported="gl|gles2"/>
>> -        <extension name="GL_ARB_sparse_texture_clamp" supported="gl"/>
>> +        <extension name="GL_ARB_sparse_texture2" supported="gl|glcore"/>
>> +        <extension name="GL_ARB_sparse_texture_clamp" supported="gl|glcore"/>
>> +        <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_stencil_texturing" supported="gl|glcore">
>>               <require>
>>                   <enum name="GL_DEPTH_STENCIL_TEXTURE_MODE"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_ARB_sync" supported="gl|glcore">
>>               <require>
>>                   <enum name="GL_MAX_SERVER_WAIT_TIMEOUT"/>
>>                   <enum name="GL_OBJECT_TYPE"/>
>>                   <enum name="GL_SYNC_CONDITION"/>
>> @@ -39002,26 +39783,26 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_TESS_CONTROL_SHADER"/>
>>                   <command name="glPatchParameteri"/>
>>                   <command name="glPatchParameterfv"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_ARB_texture_barrier" supported="gl|glcore">
>>               <require>
>>                   <command name="glTextureBarrier"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_ARB_texture_border_clamp" supported="gl">
>> +        <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"/>
>>                   <enum name="GL_TEXTURE_BINDING_BUFFER_ARB"/>
>>                   <enum name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB"/>
>>                   <enum name="GL_TEXTURE_BUFFER_FORMAT_ARB"/>
>>                   <command name="glTexBufferARB"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_ARB_texture_buffer_object_rgb32" supported="gl|glcore">
>> @@ -39131,21 +39912,21 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_PREVIOUS_ARB"/>
>>               </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_minmax" supported="gl">
>> +        <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"/>
>>                   <enum name="GL_TEXTURE_GREEN_TYPE_ARB"/>
>>                   <enum name="GL_TEXTURE_BLUE_TYPE_ARB"/>
>> @@ -39173,21 +39954,21 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB"/>
>>                   <enum name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB"/>
>>                   <enum name="GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_ARB_texture_mirror_clamp_to_edge" supported="gl|glcore">
>>               <require>
>>                   <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>
>>           </extension>
>>           <extension name="GL_ARB_texture_multisample" supported="gl|glcore">
>>               <require>
>>                   <enum name="GL_SAMPLE_POSITION"/>
>>                   <enum name="GL_SAMPLE_MASK"/>
>>                   <enum name="GL_SAMPLE_MASK_VALUE"/>
>>                   <enum name="GL_MAX_SAMPLE_MASK_WORDS"/>
>> @@ -39207,21 +39988,21 @@ typedef unsigned int GLhandleARB;
>>                   <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"/>
>>                   <command name="glTexImage2DMultisample"/>
>>                   <command name="glTexImage3DMultisample"/>
>>                   <command name="glGetMultisamplefv"/>
>>                   <command name="glSampleMaski"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_ARB_texture_non_power_of_two" supported="gl"/>
>> +        <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"/>
>>                   <enum name="GL_TEXTURE_BINDING_RECTANGLE_ARB"/>
>>                   <enum name="GL_PROXY_TEXTURE_RECTANGLE_ARB"/>
>>                   <enum name="GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB"/>
>>               </require>
>>           </extension>
>> @@ -40248,20 +41029,22 @@ typedef unsigned int GLhandleARB;
>>               </require>
>>           </extension>
>>           <extension name="GL_EXT_422_pixels" supported="gl">
>>               <require>
>>                   <enum name="GL_422_EXT"/>
>>                   <enum name="GL_422_REV_EXT"/>
>>                   <enum name="GL_422_AVERAGE_EXT"/>
>>                   <enum name="GL_422_REV_AVERAGE_EXT"/>
>>               </require>
>>           </extension>
>> +        <extension name="GL_EXT_EGL_image_array" supported="gles2">
>> +        </extension>
>>           <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>
>> @@ -40361,20 +41144,26 @@ typedef unsigned int GLhandleARB;
>>                   <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_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"/>
>> @@ -40414,20 +41203,21 @@ typedef unsigned int GLhandleARB;
>>               </require>
>>           </extension>
>>           <extension name="GL_EXT_compiled_vertex_array" supported="gl">
>>               <require>
>>                   <enum name="GL_ARRAY_ELEMENT_LOCK_FIRST_EXT"/>
>>                   <enum name="GL_ARRAY_ELEMENT_LOCK_COUNT_EXT"/>
>>                   <command name="glLockArraysEXT"/>
>>                   <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"/>
>>                   <enum name="GL_CONVOLUTION_2D_EXT"/>
>>                   <enum name="GL_SEPARABLE_2D_EXT"/>
>>                   <enum name="GL_CONVOLUTION_BORDER_MODE_EXT"/>
>>                   <enum name="GL_CONVOLUTION_FILTER_SCALE_EXT"/>
>>                   <enum name="GL_CONVOLUTION_FILTER_BIAS_EXT"/>
>>                   <enum name="GL_REDUCE_EXT"/>
>>                   <enum name="GL_CONVOLUTION_FORMAT_EXT"/>
>> @@ -40514,51 +41304,51 @@ typedef unsigned int GLhandleARB;
>>           </extension>
>>           <extension name="GL_EXT_cull_vertex" supported="gl">
>>               <require>
>>                   <enum name="GL_CULL_VERTEX_EXT"/>
>>                   <enum name="GL_CULL_VERTEX_EYE_POSITION_EXT"/>
>>                   <enum name="GL_CULL_VERTEX_OBJECT_POSITION_EXT"/>
>>                   <command name="glCullParameterdvEXT"/>
>>                   <command name="glCullParameterfvEXT"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_EXT_debug_label" supported="gl|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"/>
>>                   <enum name="GL_SHADER_OBJECT_EXT"/>
>>                   <enum name="GL_BUFFER_OBJECT_EXT"/>
>>                   <enum name="GL_QUERY_OBJECT_EXT"/>
>>                   <enum name="GL_VERTEX_ARRAY_OBJECT_EXT"/>
>>                   <command name="glLabelObjectEXT"/>
>>                   <command name="glGetObjectLabelEXT"/>
>>               </require>
>>               <require comment="Depends on OpenGL ES 3.0">
>>                   <enum name="GL_SAMPLER"/>
>>                   <enum name="GL_TRANSFORM_FEEDBACK"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_EXT_debug_marker" supported="gl|gles2">
>> +        <extension name="GL_EXT_debug_marker" supported="gl|glcore|gles2">
>>               <require>
>>                   <command name="glInsertEventMarkerEXT"/>
>>                   <command name="glPushGroupMarkerEXT"/>
>>                   <command name="glPopGroupMarkerEXT"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_EXT_depth_bounds_test" supported="gl">
>>               <require>
>>                   <enum name="GL_DEPTH_BOUNDS_TEST_EXT"/>
>>                   <enum name="GL_DEPTH_BOUNDS_EXT"/>
>>                   <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_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"/>
>>                   <enum name="GL_PROGRAM_MATRIX_STACK_DEPTH_EXT"/>
>>               </require>
>>               <require comment="OpenGL 1.0: New matrix commands">
>>                   <command name="glMatrixLoadfEXT"/>
>>                   <command name="glMatrixLoaddEXT"/>
>>                   <command name="glMatrixMultfEXT"/>
>>                   <command name="glMatrixMultdEXT"/>
>> @@ -41025,33 +41815,39 @@ typedef unsigned int GLhandleARB;
>>               </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|gles2">
>> +        <extension name="GL_EXT_draw_instanced" supported="gl|glcore|gles2">
>>               <require>
>>                   <command name="glDrawArraysInstancedEXT"/>
>>                   <command name="glDrawElementsInstancedEXT"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_EXT_draw_range_elements" supported="gl">
>>               <require>
>>                   <enum name="GL_MAX_ELEMENTS_VERTICES_EXT"/>
>>                   <enum name="GL_MAX_ELEMENTS_INDICES_EXT"/>
>>                   <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_float_blend" supported="gles2"/>
>>           <extension name="GL_EXT_fog_coord" supported="gl">
>>               <require>
>>                   <enum name="GL_FOG_COORDINATE_SOURCE_EXT"/>
>>                   <enum name="GL_FOG_COORDINATE_EXT"/>
>>                   <enum name="GL_FRAGMENT_DEPTH_EXT"/>
>>                   <enum name="GL_CURRENT_FOG_COORDINATE_EXT"/>
>>                   <enum name="GL_FOG_COORDINATE_ARRAY_TYPE_EXT"/>
>>                   <enum name="GL_FOG_COORDINATE_ARRAY_STRIDE_EXT"/>
>>                   <enum name="GL_FOG_COORDINATE_ARRAY_POINTER_EXT"/>
>> @@ -41365,20 +42161,81 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_MAP_READ_BIT_EXT"/>
>>                   <enum name="GL_MAP_WRITE_BIT_EXT"/>
>>                   <enum name="GL_MAP_INVALIDATE_RANGE_BIT_EXT"/>
>>                   <enum name="GL_MAP_INVALIDATE_BUFFER_BIT_EXT"/>
>>                   <enum name="GL_MAP_FLUSH_EXPLICIT_BIT_EXT"/>
>>                   <enum name="GL_MAP_UNSYNCHRONIZED_BIT_EXT"/>
>>                   <command name="glMapBufferRangeEXT"/>
>>                   <command name="glFlushMappedBufferRangeEXT"/>
>>               </require>
>>           </extension>
>> +        <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"/>
>> @@ -41530,27 +42387,27 @@ typedef unsigned int GLhandleARB;
>>               </require>
>>           </extension>
>>           <extension name="GL_EXT_polygon_offset" supported="gl">
>>               <require>
>>                   <enum name="GL_POLYGON_OFFSET_EXT"/>
>>                   <enum name="GL_POLYGON_OFFSET_FACTOR_EXT"/>
>>                   <enum name="GL_POLYGON_OFFSET_BIAS_EXT"/>
>>                   <command name="glPolygonOffsetEXT"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_EXT_polygon_offset_clamp" supported="gl|gles2">
>> +        <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|gles2"/>
>> +        <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"/>
>> @@ -41568,21 +42425,21 @@ typedef unsigned int GLhandleARB;
>>           <extension name="GL_EXT_pvrtc_sRGB" supported="gles2">
>>               <require>
>>                   <enum name="GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT"/>
>>                   <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|gles2">
>> +        <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>
>> @@ -41619,20 +42476,63 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_CONTEXT_ROBUST_ACCESS_EXT"/>
>>                   <enum name="GL_RESET_NOTIFICATION_STRATEGY_EXT"/>
>>                   <enum name="GL_LOSE_CONTEXT_ON_RESET_EXT"/>
>>                   <enum name="GL_NO_RESET_NOTIFICATION_EXT"/>
>>                   <command name="glGetGraphicsResetStatusEXT"/>
>>                   <command name="glReadnPixelsEXT"/>
>>                   <command name="glGetnUniformfvEXT"/>
>>                   <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"/>
>> +                <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"/>
>>                   <enum name="GL_SRGB_ALPHA_EXT"/>
>>                   <enum name="GL_SRGB8_ALPHA8_EXT"/>
>>                   <enum name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_EXT_sRGB_write_control" supported="gles2">
>>               <require>
>> @@ -41660,21 +42560,21 @@ typedef unsigned int GLhandleARB;
>>                   <command name="glSecondaryColor3svEXT"/>
>>                   <command name="glSecondaryColor3ubEXT"/>
>>                   <command name="glSecondaryColor3ubvEXT"/>
>>                   <command name="glSecondaryColor3uiEXT"/>
>>                   <command name="glSecondaryColor3uivEXT"/>
>>                   <command name="glSecondaryColor3usEXT"/>
>>                   <command name="glSecondaryColor3usvEXT"/>
>>                   <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"/>
>>                   <command name="glActiveProgramEXT"/>
>>                   <command name="glCreateShaderProgramEXT"/>
>>               </require>
>>               <require api="gles2" comment="The OpenGL ES version of this extension is completely unrelated to the OpenGL version">
>>                   <enum name="GL_VERTEX_SHADER_BIT_EXT"/>
>>                   <enum name="GL_FRAGMENT_SHADER_BIT_EXT"/>
>>                   <enum name="GL_ALL_SHADER_BITS_EXT"/>
>> @@ -41799,21 +42699,21 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_BUFFER_UPDATE_BARRIER_BIT_EXT"/>
>>                   <enum name="GL_FRAMEBUFFER_BARRIER_BIT_EXT"/>
>>                   <enum name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT"/>
>>                   <enum name="GL_ATOMIC_COUNTER_BARRIER_BIT_EXT"/>
>>                   <enum name="GL_ALL_BARRIER_BITS_EXT"/>
>>                   <command name="glBindImageTextureEXT"/>
>>                   <command name="glMemoryBarrierEXT"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_EXT_shader_implicit_conversions" supported="gles2"/>
>> -        <extension name="GL_EXT_shader_integer_mix" supported="gl|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_pixel_local_storage2" supported="gles2">
>> @@ -41856,21 +42756,21 @@ typedef unsigned int GLhandleARB;
>>                   <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"/>
>> +        <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"/>
>>                   <enum name="GL_STENCIL_CLEAR_TAG_VALUE_EXT"/>
>>                   <command name="glStencilClearTagEXT"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_EXT_stencil_two_side" supported="gl">
>>               <require>
>>                   <enum name="GL_STENCIL_TEST_TWO_SIDE_EXT"/>
>> @@ -42056,20 +42956,25 @@ typedef unsigned int GLhandleARB;
>>           <extension name="GL_EXT_texture_buffer_object" supported="gl">
>>               <require>
>>                   <enum name="GL_TEXTURE_BUFFER_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_FORMAT_EXT"/>
>>                   <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_dxt1" supported="gles1|gles2">
>>               <require>
>>                   <enum name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT"/>
>>                   <enum name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_EXT_texture_compression_latc" supported="gl">
>>               <require>
>>                   <enum name="GL_COMPRESSED_LUMINANCE_LATC1_EXT"/>
>>                   <enum name="GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT"/>
>> @@ -42078,21 +42983,21 @@ typedef unsigned int GLhandleARB;
>>               </require>
>>           </extension>
>>           <extension name="GL_EXT_texture_compression_rgtc" supported="gl">
>>               <require>
>>                   <enum name="GL_COMPRESSED_RED_RGTC1_EXT"/>
>>                   <enum name="GL_COMPRESSED_SIGNED_RED_RGTC1_EXT"/>
>>                   <enum name="GL_COMPRESSED_RED_GREEN_RGTC2_EXT"/>
>>                   <enum name="GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_EXT_texture_compression_s3tc" supported="gl|gles2|glsc2">
>> +        <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"/>
>>                   <enum name="GL_COMPRESSED_RGBA_S3TC_DXT3_EXT"/>
>>                   <enum name="GL_COMPRESSED_RGBA_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"/>
>> @@ -42153,21 +43058,21 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_DOT3_RGB_EXT"/>
>>                   <enum name="GL_DOT3_RGBA_EXT"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_EXT_texture_filter_anisotropic" supported="gl|gles1|gles2">
>>               <require>
>>                   <enum name="GL_TEXTURE_MAX_ANISOTROPY_EXT"/>
>>                   <enum name="GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_EXT_texture_filter_minmax" supported="gl|gles2">
>> +        <extension name="GL_EXT_texture_filter_minmax" 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>
>> @@ -42312,21 +43217,21 @@ typedef unsigned int GLhandleARB;
>>           <extension name="GL_EXT_texture_sRGB_R8" supported="gles2">
>>               <require>
>>                   <enum name="GL_SR8_EXT"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_EXT_texture_sRGB_RG8" supported="gles2">
>>               <require>
>>                   <enum name="GL_SRG8_EXT"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_EXT_texture_sRGB_decode" supported="gl|gles2">
>> +        <extension name="GL_EXT_texture_sRGB_decode" supported="gl|glcore|gles2">
>>               <require>
>>                   <enum name="GL_TEXTURE_SRGB_DECODE_EXT"/>
>>                   <enum name="GL_DECODE_EXT"/>
>>                   <enum name="GL_SKIP_DECODE_EXT"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_EXT_texture_shared_exponent" supported="gl">
>>               <require>
>>                   <enum name="GL_RGB9_E5_EXT"/>
>>                   <enum name="GL_UNSIGNED_INT_5_9_9_9_REV_EXT"/>
>> @@ -42707,21 +43612,27 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_VERTEX_WEIGHT_ARRAY_EXT"/>
>>                   <enum name="GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT"/>
>>                   <enum name="GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT"/>
>>                   <enum name="GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT"/>
>>                   <enum name="GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT"/>
>>                   <command name="glVertexWeightfEXT"/>
>>                   <command name="glVertexWeightfvEXT"/>
>>                   <command name="glVertexWeightPointerEXT"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_EXT_window_rectangles" supported="gl|gles2">
>> +        <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>
>> @@ -42841,20 +43752,30 @@ typedef unsigned int GLhandleARB;
>>                   <command name="glColorPointerListIBM"/>
>>                   <command name="glSecondaryColorPointerListIBM"/>
>>                   <command name="glEdgeFlagPointerListIBM"/>
>>                   <command name="glFogCoordPointerListIBM"/>
>>                   <command name="glIndexPointerListIBM"/>
>>                   <command name="glNormalPointerListIBM"/>
>>                   <command name="glTexCoordPointerListIBM"/>
>>                   <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>
>> @@ -42944,27 +43865,27 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_GREEN_MAX_CLAMP_INGR"/>
>>                   <enum name="GL_BLUE_MAX_CLAMP_INGR"/>
>>                   <enum name="GL_ALPHA_MAX_CLAMP_INGR"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_INGR_interlace_read" supported="gl">
>>               <require>
>>                   <enum name="GL_INTERLACE_READ_INGR"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_INTEL_conservative_rasterization" supported="gl|gles2">
>> +        <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|gles2">
>> +        <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"/>
>>                   <enum name="GL_LAYOUT_DEFAULT_INTEL"/>
>>                   <enum name="GL_LAYOUT_LINEAR_INTEL"/>
>>                   <enum name="GL_LAYOUT_LINEAR_CPU_CACHED_INTEL"/>
>> @@ -42979,21 +43900,21 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL"/>
>>                   <enum name="GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL"/>
>>                   <enum name="GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL"/>
>>                   <enum name="GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL"/>
>>                   <command name="glVertexPointervINTEL"/>
>>                   <command name="glNormalPointervINTEL"/>
>>                   <command name="glColorPointervINTEL"/>
>>                   <command name="glTexCoordPointervINTEL"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_INTEL_performance_query" supported="gl|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"/>
>> @@ -43013,41 +43934,41 @@ typedef unsigned int GLhandleARB;
>>                   <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|gles2">
>> +        <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|gles2">
>> +        <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>
>> @@ -43286,20 +44207,21 @@ typedef unsigned int GLhandleARB;
>>           <extension name="GL_MESA_pack_invert" supported="gl">
>>               <require>
>>                   <enum name="GL_PACK_INVERT_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_window_pos" supported="gl">
>>               <require>
>>                   <command name="glWindowPos2dMESA"/>
>>                   <command name="glWindowPos2dvMESA"/>
>>                   <command name="glWindowPos2fMESA"/>
>>                   <command name="glWindowPos2fvMESA"/>
>>                   <command name="glWindowPos2iMESA"/>
>>                   <command name="glWindowPos2ivMESA"/>
>>                   <command name="glWindowPos2sMESA"/>
>>                   <command name="glWindowPos2svMESA"/>
>> @@ -43321,65 +44243,84 @@ typedef unsigned int GLhandleARB;
>>                   <command name="glWindowPos4svMESA"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_MESA_ycbcr_texture" supported="gl">
>>               <require>
>>                   <enum name="GL_UNSIGNED_SHORT_8_8_MESA"/>
>>                   <enum name="GL_UNSIGNED_SHORT_8_8_REV_MESA"/>
>>                   <enum name="GL_YCBCR_MESA"/>
>>               </require>
>>           </extension>
>> +        <extension name="GL_NVX_blend_equation_advanced_multi_draw_buffers" supported="gl|gles2"/>
>>           <extension name="GL_NVX_conditional_render" supported="gl">
>>               <require>
>>                   <command name="glBeginConditionalRenderNVX"/>
>>                   <command name="glEndConditionalRenderNVX"/>
>>               </require>
>>           </extension>
>>           <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_NV_bindless_multi_draw_indirect" supported="gl">
>> +        <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_multi_draw_indirect_count" 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|gles2">
>> +        <extension name="GL_NV_bindless_texture" supported="gl|glcore|gles2">
>>               <require>
>>                   <command name="glGetTextureHandleNV"/>
>>                   <command name="glGetTextureSamplerHandleNV"/>
>>                   <command name="glMakeTextureHandleResidentNV"/>
>>                   <command name="glMakeTextureHandleNonResidentNV"/>
>>                   <command name="glGetImageHandleNV"/>
>>                   <command name="glMakeImageHandleResidentNV"/>
>>                   <command name="glMakeImageHandleNonResidentNV"/>
>>                   <command name="glUniformHandleui64NV"/>
>>                   <command name="glUniformHandleui64vNV"/>
>>                   <command name="glProgramUniformHandleui64NV"/>
>>                   <command name="glProgramUniformHandleui64vNV"/>
>>                   <command name="glIsTextureHandleResidentNV"/>
>>                   <command name="glIsImageHandleResidentNV"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_NV_blend_equation_advanced" supported="gl|gles2">
>> +        <extension name="GL_NV_blend_equation_advanced" supported="gl|glcore|gles2">
>>               <require>
>>                   <enum name="GL_BLEND_OVERLAP_NV"/>
>>                   <enum name="GL_BLEND_PREMULTIPLIED_SRC_NV"/>
>>                   <enum name="GL_BLUE_NV"/>
>>                   <enum name="GL_COLORBURN_NV"/>
>>                   <enum name="GL_COLORDODGE_NV"/>
>>                   <enum name="GL_CONJOINT_NV"/>
>>                   <enum name="GL_CONTRAST_NV"/>
>>                   <enum name="GL_DARKEN_NV"/>
>>                   <enum name="GL_DIFFERENCE_NV"/>
>> @@ -43422,35 +44363,35 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_SRC_OUT_NV"/>
>>                   <enum name="GL_SRC_OVER_NV"/>
>>                   <enum name="GL_UNCORRELATED_NV"/>
>>                   <enum name="GL_VIVIDLIGHT_NV"/>
>>                   <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|gles2">
>> +        <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_clip_space_w_scaling" supported="gl">
>> +        <extension name="GL_NV_clip_space_w_scaling" supported="gl|glcore">
>>               <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">
>> +        <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"/>
>> @@ -43482,48 +44423,48 @@ typedef unsigned int GLhandleARB;
>>                   <command name="glCompileCommandListNV"/>
>>                   <command name="glCallCommandListNV"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_NV_compute_program5" supported="gl">
>>               <require>
>>                   <enum name="GL_COMPUTE_PROGRAM_NV"/>
>>                   <enum name="GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_NV_conditional_render" supported="gl|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"/>
>>                   <enum name="GL_QUERY_BY_REGION_WAIT_NV"/>
>>                   <enum name="GL_QUERY_BY_REGION_NO_WAIT_NV"/>
>>                   <command name="glBeginConditionalRenderNV"/>
>>                   <command name="glEndConditionalRenderNV"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_NV_conservative_raster" supported="gl|gles2">
>> +        <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">
>> +        <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_triangles" supported="gl|gles2">
>> +        <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_copy_buffer" supported="gles2">
>>               <require>
>> @@ -43627,20 +44568,29 @@ typedef unsigned int GLhandleARB;
>>               <require>
>>                   <command name="glDrawArraysInstancedNV"/>
>>                   <command name="glDrawElementsInstancedNV"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_NV_draw_texture" supported="gl">
>>               <require>
>>                   <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"/>
>>                   <enum name="GL_EVAL_TRIANGULAR_2D_NV"/>
>>                   <enum name="GL_MAP_TESSELLATION_NV"/>
>>                   <enum name="GL_MAP_ATTRIB_U_ORDER_NV"/>
>>                   <enum name="GL_MAP_ATTRIB_V_ORDER_NV"/>
>>                   <enum name="GL_EVAL_FRACTIONAL_TESSELLATION_NV"/>
>>                   <enum name="GL_EVAL_VERTEX_ATTRIB0_NV"/>
>>                   <enum name="GL_EVAL_VERTEX_ATTRIB1_NV"/>
>> @@ -43717,21 +44667,21 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_FENCE_CONDITION_NV"/>
>>                   <command name="glDeleteFencesNV"/>
>>                   <command name="glGenFencesNV"/>
>>                   <command name="glIsFenceNV"/>
>>                   <command name="glTestFenceNV"/>
>>                   <command name="glGetFenceivNV"/>
>>                   <command name="glFinishFenceNV"/>
>>                   <command name="glSetFenceNV"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_NV_fill_rectangle" supported="gl|gles2">
>> +        <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"/>
>>                   <enum name="GL_FLOAT_RG_NV"/>
>>                   <enum name="GL_FLOAT_RGB_NV"/>
>>                   <enum name="GL_FLOAT_RGBA_NV"/>
>> @@ -43749,21 +44699,21 @@ typedef unsigned int GLhandleARB;
>>               </require>
>>           </extension>
>>           <extension name="GL_NV_fog_distance" supported="gl">
>>               <require>
>>                   <enum name="GL_FOG_DISTANCE_MODE_NV"/>
>>                   <enum name="GL_EYE_RADIAL_NV"/>
>>                   <enum name="GL_EYE_PLANE_ABSOLUTE_NV"/>
>>                   <enum name="GL_EYE_PLANE"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_NV_fragment_coverage_to_color" supported="gl|gles2">
>> +        <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"/>
>>                   <enum name="GL_FRAGMENT_PROGRAM_NV"/>
>> @@ -43785,31 +44735,31 @@ typedef unsigned int GLhandleARB;
>>               <require>
>>                   <enum name="GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV"/>
>>                   <enum name="GL_MAX_PROGRAM_CALL_DEPTH_NV"/>
>>                   <enum name="GL_MAX_PROGRAM_IF_DEPTH_NV"/>
>>                   <enum name="GL_MAX_PROGRAM_LOOP_DEPTH_NV"/>
>>                   <enum name="GL_MAX_PROGRAM_LOOP_COUNT_NV"/>
>>               </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_interlock" supported="gl|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"/>
>>                   <enum name="GL_DRAW_FRAMEBUFFER_NV"/>
>>                   <enum name="GL_DRAW_FRAMEBUFFER_BINDING_NV"/>
>>                   <enum name="GL_READ_FRAMEBUFFER_BINDING_NV"/>
>>                   <command name="glBlitFramebufferNV"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_NV_framebuffer_mixed_samples" supported="gl|gles2">
>> +        <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"/>
>> @@ -43825,21 +44775,21 @@ typedef unsigned int GLhandleARB;
>>               </require>
>>           </extension>
>>           <extension name="GL_NV_framebuffer_multisample" supported="gles2">
>>               <require>
>>                   <enum name="GL_RENDERBUFFER_SAMPLES_NV"/>
>>                   <enum name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV"/>
>>                   <enum name="GL_MAX_SAMPLES_NV"/>
>>                   <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"/>
>>                   <enum name="GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV"/>
>>                   <enum name="GL_MULTISAMPLE_COVERAGE_MODES_NV"/>
>>                   <command name="glRenderbufferStorageMultisampleCoverageNV"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_NV_generate_mipmap_sRGB" supported="gles2"/>
>>           <extension name="GL_NV_geometry_program4" supported="gl">
>> @@ -43860,21 +44810,21 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT"/>
>>                   <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT"/>
>>                   <enum name="GL_PROGRAM_POINT_SIZE_EXT"/>
>>                   <command name="glProgramVertexLimitNV"/>
>>                   <command name="glFramebufferTextureEXT"/>
>>                   <command name="glFramebufferTextureLayerEXT"/>
>>                   <command name="glFramebufferTextureFaceEXT"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_NV_geometry_shader4" supported="gl"/>
>> -        <extension name="GL_NV_geometry_shader_passthrough" supported="gl|gles2"/>
>> +        <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"/>
>>                   <enum name="GL_MAX_PROGRAM_TEXEL_OFFSET_NV"/>
>>                   <enum name="GL_PROGRAM_ATTRIB_COMPONENTS_NV"/>
>>                   <enum name="GL_PROGRAM_RESULT_COMPONENTS_NV"/>
>>                   <enum name="GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV"/>
>>                   <enum name="GL_MAX_PROGRAM_RESULT_COMPONENTS_NV"/>
>>                   <enum name="GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV"/>
>>                   <enum name="GL_MAX_PROGRAM_GENERIC_RESULTS_NV"/>
>> @@ -43904,21 +44854,21 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV"/>
>>                   <enum name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV"/>
>>                   <enum name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV"/>
>>                   <enum name="GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV"/>
>>                   <enum name="GL_MAX_PROGRAM_SUBROUTINE_NUM_NV"/>
>>                   <command name="glProgramSubroutineParametersuivNV"/>
>>                   <command name="glGetProgramSubroutineParameteruivNV"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_NV_gpu_program5_mem_extended" supported="gl"/>
>> -        <extension name="GL_NV_gpu_shader5" supported="gl|gles2">
>> +        <extension name="GL_NV_gpu_shader5" supported="gl|glcore|gles2">
>>               <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"/>
>> @@ -44030,38 +44980,59 @@ 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|gles2">
>> +        <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_NV_multisample_coverage" supported="gl">
>>               <require>
>>                   <enum name="GL_SAMPLES_ARB"/>
>>                   <enum name="GL_COLOR_SAMPLES_NV"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_NV_multisample_filter_hint" supported="gl">
>>               <require>
>>                   <enum name="GL_MULTISAMPLE_FILTER_HINT_NV"/>
>>               </require>
>> @@ -44109,21 +45080,21 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV"/>
>>                   <enum name="GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV"/>
>>                   <enum name="GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV"/>
>>                   <enum name="GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV"/>
>>                   <command name="glProgramBufferParametersfvNV"/>
>>                   <command name="glProgramBufferParametersIivNV"/>
>>                   <command name="glProgramBufferParametersIuivNV"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_NV_parameter_buffer_object2" supported="gl"/>
>> -        <extension name="GL_NV_path_rendering" supported="gl|gles2">
>> +        <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"/>
>>                   <enum name="GL_STANDARD_FONT_NAME_NV"/>
>>                   <enum name="GL_SYSTEM_FONT_NAME_NV"/>
>>                   <enum name="GL_FILE_NAME_NV"/>
>>                   <enum name="GL_PATH_STROKE_WIDTH_NV"/>
>>                   <enum name="GL_PATH_END_CAPS_NV"/>
>>                   <enum name="GL_PATH_INITIAL_END_CAP_NV"/>
>>                   <enum name="GL_PATH_TERMINAL_END_CAP_NV"/>
>> @@ -44349,21 +45320,21 @@ typedef unsigned int GLhandleARB;
>>                   <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"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_NV_path_rendering_shared_edge" supported="gl|gles2">
>> +        <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>
>>                   <enum name="GL_WRITE_PIXEL_DATA_RANGE_NV"/>
>>                   <enum name="GL_READ_PIXEL_DATA_RANGE_NV"/>
>>                   <enum name="GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV"/>
>>                   <enum name="GL_READ_PIXEL_DATA_RANGE_LENGTH_NV"/>
>> @@ -44519,90 +45490,90 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_SRGB8_NV"/>
>>                   <enum name="GL_SLUMINANCE8_NV"/>
>>                   <enum name="GL_SLUMINANCE8_ALPHA8_NV"/>
>>                   <enum name="GL_COMPRESSED_SRGB_S3TC_DXT1_NV"/>
>>                   <enum name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV"/>
>>                   <enum name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV"/>
>>                   <enum name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV"/>
>>                   <enum name="GL_ETC1_SRGB8_NV"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_NV_sample_locations" supported="gl|gles2">
>> +        <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_sample_mask_override_coverage" supported="gl|gles2"/>
>> -        <extension name="GL_NV_shader_atomic_counters" supported="gl"/>
>> -        <extension name="GL_NV_shader_atomic_float" supported="gl"/>
>> -        <extension name="GL_NV_shader_atomic_float64" supported="gl"/>
>> -        <extension name="GL_NV_shader_atomic_fp16_vector" supported="gl|gles2"/>
>> -        <extension name="GL_NV_shader_atomic_int64" supported="gl"/>
>> -        <extension name="GL_NV_shader_buffer_load" supported="gl">
>> +        <extension name="GL_NV_sample_mask_override_coverage" supported="gl|glcore|gles2"/>
>> +        <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"/>
>>                   <enum name="GL_MAX_SHADER_BUFFER_ADDRESS_NV"/>
>>                   <command name="glMakeBufferResidentNV"/>
>>                   <command name="glMakeBufferNonResidentNV"/>
>>                   <command name="glIsBufferResidentNV"/>
>>                   <command name="glMakeNamedBufferResidentNV"/>
>>                   <command name="glMakeNamedBufferNonResidentNV"/>
>>                   <command name="glIsNamedBufferResidentNV"/>
>>                   <command name="glGetBufferParameterui64vNV"/>
>>                   <command name="glGetNamedBufferParameterui64vNV"/>
>>                   <command name="glGetIntegerui64vNV"/>
>>                   <command name="glUniformui64NV"/>
>>                   <command name="glUniformui64vNV"/>
>>                   <command name="glGetUniformui64vNV"/>
>>                   <command name="glProgramUniformui64NV"/>
>>                   <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_noperspective_interpolation" supported="gles2"/>
>>           <extension name="GL_NV_shader_storage_buffer_object" supported="gl"/>
>> -        <extension name="GL_NV_shader_thread_group" supported="gl">
>> +        <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"/>
>> +        <extension name="GL_NV_shader_thread_shuffle" supported="gl|glcore"/>
>>           <extension name="GL_NV_shadow_samplers_array" supported="gles2">
>>               <require>
>>                   <enum name="GL_SAMPLER_2D_ARRAY_SHADOW_NV"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_NV_shadow_samplers_cube" supported="gles2">
>>               <require>
>>                   <enum name="GL_SAMPLER_CUBE_SHADOW_NV"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_NV_stereo_view_rendering" supported="gl"/>
>> +        <extension name="GL_NV_stereo_view_rendering" supported="gl|glcore"/>
>>           <extension name="GL_NV_tessellation_program5" supported="gl">
>>               <require>
>>                   <enum name="GL_MAX_PROGRAM_PATCH_ATTRIBS_NV"/>
>>                   <enum name="GL_TESS_CONTROL_PROGRAM_NV"/>
>>                   <enum name="GL_TESS_EVALUATION_PROGRAM_NV"/>
>>                   <enum name="GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV"/>
>>                   <enum name="GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_NV_texgen_emboss" supported="gl">
>> @@ -44611,21 +45582,21 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_EMBOSS_CONSTANT_NV"/>
>>                   <enum name="GL_EMBOSS_MAP_NV"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_NV_texgen_reflection" supported="gl">
>>               <require>
>>                   <enum name="GL_NORMAL_MAP_NV"/>
>>                   <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>
>>           </extension>
>>           <extension name="GL_NV_texture_border_clamp" supported="gles2">
>>               <require>
>>                   <enum name="GL_TEXTURE_BORDER_COLOR_NV"/>
>>                   <enum name="GL_CLAMP_TO_BORDER_NV"/>
>>               </require>
>>           </extension>
>> @@ -44828,21 +45799,21 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_TRANSFORM_FEEDBACK_BINDING_NV"/>
>>                   <command name="glBindTransformFeedbackNV"/>
>>                   <command name="glDeleteTransformFeedbacksNV"/>
>>                   <command name="glGenTransformFeedbacksNV"/>
>>                   <command name="glIsTransformFeedbackNV"/>
>>                   <command name="glPauseTransformFeedbackNV"/>
>>                   <command name="glResumeTransformFeedbackNV"/>
>>                   <command name="glDrawTransformFeedbackNV"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_NV_uniform_buffer_unified_memory" supported="gl">
>> +        <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"/>
>>                   <enum name="GL_SURFACE_REGISTERED_NV"/>
>> @@ -44869,21 +45840,21 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_VERTEX_ARRAY_RANGE_POINTER_NV"/>
>>                   <command name="glFlushVertexArrayRangeNV"/>
>>                   <command name="glVertexArrayRangeNV"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_NV_vertex_array_range2" supported="gl">
>>               <require>
>>                   <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"/>
>>                   <command name="glVertexAttribL1i64NV"/>
>>                   <command name="glVertexAttribL2i64NV"/>
>>                   <command name="glVertexAttribL3i64NV"/>
>>                   <command name="glVertexAttribL4i64NV"/>
>>                   <command name="glVertexAttribL1i64vNV"/>
>>                   <command name="glVertexAttribL2i64vNV"/>
>>                   <command name="glVertexAttribL3i64vNV"/>
>> @@ -44894,21 +45865,21 @@ typedef unsigned int GLhandleARB;
>>                   <command name="glVertexAttribL4ui64NV"/>
>>                   <command name="glVertexAttribL1ui64vNV"/>
>>                   <command name="glVertexAttribL2ui64vNV"/>
>>                   <command name="glVertexAttribL3ui64vNV"/>
>>                   <command name="glVertexAttribL4ui64vNV"/>
>>                   <command name="glGetVertexAttribLi64vNV"/>
>>                   <command name="glGetVertexAttribLui64vNV"/>
>>                   <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"/>
>>                   <enum name="GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV"/>
>>                   <enum name="GL_VERTEX_ARRAY_ADDRESS_NV"/>
>>                   <enum name="GL_NORMAL_ARRAY_ADDRESS_NV"/>
>>                   <enum name="GL_COLOR_ARRAY_ADDRESS_NV"/>
>>                   <enum name="GL_INDEX_ARRAY_ADDRESS_NV"/>
>>                   <enum name="GL_TEXTURE_COORD_ARRAY_ADDRESS_NV"/>
>>                   <enum name="GL_EDGE_FLAG_ARRAY_ADDRESS_NV"/>
>> @@ -45196,22 +46167,22 @@ typedef unsigned int GLhandleARB;
>>                   <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|gles2"/>
>> -        <extension name="GL_NV_viewport_swizzle" supported="gl|gles2">
>> +        <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"/>
>> @@ -46089,29 +47060,30 @@ typedef unsigned int GLhandleARB;
>>                   <enum name="GL_RESAMPLE_AVERAGE_OML"/>
>>                   <enum name="GL_RESAMPLE_DECIMATE_OML"/>
>>               </require>
>>           </extension>
>>           <extension name="GL_OML_subsample" supported="gl">
>>               <require>
>>                   <enum name="GL_FORMAT_SUBSAMPLE_24_24_OML"/>
>>                   <enum name="GL_FORMAT_SUBSAMPLE_244_244_OML"/>
>>               </require>
>>           </extension>
>> -        <extension name="GL_OVR_multiview" supported="gl|gles2">
>> +        <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|gles2"/>
>> +        <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"/>
>>                   <enum name="GL_CONSERVE_MEMORY_HINT_PGI"/>
>>                   <enum name="GL_RECLAIM_MEMORY_HINT_PGI"/>
>> @@ -46209,25 +47181,39 @@ typedef unsigned int GLhandleARB;
>>               </require>
>>           </extension>
>>           <extension name="GL_QCOM_extended_get2" supported="gles1|gles2">
>>               <require>
>>                   <command name="glExtGetShadersQCOM"/>
>>                   <command name="glExtGetProgramsQCOM"/>
>>                   <command name="glExtIsProgramBinaryQCOM"/>
>>                   <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_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_tiled_rendering" supported="gles1|gles2">
>>               <require>
>>                   <enum name="GL_COLOR_BUFFER_BIT0_QCOM"/>
>>                   <enum name="GL_COLOR_BUFFER_BIT1_QCOM"/>
>>                   <enum name="GL_COLOR_BUFFER_BIT2_QCOM"/>
>>                   <enum name="GL_COLOR_BUFFER_BIT3_QCOM"/>
>>                   <enum name="GL_COLOR_BUFFER_BIT4_QCOM"/>
>>                   <enum name="GL_COLOR_BUFFER_BIT5_QCOM"/>
>>                   <enum name="GL_COLOR_BUFFER_BIT6_QCOM"/>
>>                   <enum name="GL_COLOR_BUFFER_BIT7_QCOM"/>
>> diff --git a/tests/util/piglit-dispatch.h b/tests/util/piglit-dispatch.h
>> index f28ce4dd4..dee1b699c 100644
>> --- a/tests/util/piglit-dispatch.h
>> +++ b/tests/util/piglit-dispatch.h
>> @@ -125,20 +125,22 @@ typedef unsigned short GLhalfNV;
>>   typedef void *GLeglImageOES;
>>
>>   typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
>>
>>   typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
>>
>>   typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
>>
>>   typedef void (APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
>>
>> +typedef void (APIENTRY *GLVULKANPROCNV)(void);
>> +
>>   typedef void (APIENTRY *piglit_dispatch_function_ptr)(void);
>>
>>   typedef piglit_dispatch_function_ptr (*piglit_get_core_proc_address_function_ptr)(const char *, int);
>>
>>   typedef piglit_dispatch_function_ptr (*piglit_get_ext_proc_address_function_ptr)(const char *);
>>
>>   typedef void (*piglit_error_function_ptr)(const char *);
>>
>>   typedef enum {
>>          PIGLIT_DISPATCH_GL,
>> --
>> 2.13.3
>>
>> _______________________________________________
>> Piglit mailing list
>> Piglit at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/piglit


More information about the Piglit mailing list