[GL] Sync signatures with OpenGL 4.5
authorthefiddler <stapostol@gmail.com>
Wed, 3 Sep 2014 18:56:43 +0000 (20:56 +0200)
committerthefiddler <stapostol@gmail.com>
Wed, 3 Sep 2014 18:56:43 +0000 (20:56 +0200)
Source/Bind/Specifications/GL2/signatures.xml

index cbcfdf6..f8b51df 100644 (file)
     <enum name="ARB_clear_texture">
       <token name="CLEAR_TEXTURE" value="0x9365" />
     </enum>
+    <enum name="ARB_clip_control">
+      <token name="LOWER_LEFT" value="0x8CA1" />
+      <token name="UPPER_LEFT" value="0x8CA2" />
+      <token name="NEGATIVE_ONE_TO_ONE" value="0x935E" />
+      <token name="ZERO_TO_ONE" value="0x935F" />
+      <token name="CLIP_ORIGIN" value="0x935C" />
+      <token name="CLIP_DEPTH_MODE" value="0x935D" />
+    </enum>
     <enum name="ARB_color_buffer_float">
       <token name="RGBA_FLOAT_MODE_ARB" value="0x8820" />
       <token name="CLAMP_VERTEX_COLOR_ARB" value="0x891A" />
       <token name="MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB" value="0x9345" />
       <token name="MAX_COMPUTE_FIXED_GROUP_SIZE_ARB" value="0x91BF" />
     </enum>
+    <enum name="ARB_conditional_render_inverted">
+      <token name="QUERY_WAIT_INVERTED" value="0x8E17" />
+      <token name="QUERY_NO_WAIT_INVERTED" value="0x8E18" />
+      <token name="QUERY_BY_REGION_WAIT_INVERTED" value="0x8E19" />
+      <token name="QUERY_BY_REGION_NO_WAIT_INVERTED" value="0x8E1A" />
+    </enum>
     <enum name="ARB_conservative_depth" />
     <enum name="ARB_copy_buffer">
       <token name="COPY_READ_BUFFER_BINDING" value="0x8F36" />
       <token name="COPY_WRITE_BUFFER" value="0x8F37" />
     </enum>
     <enum name="ARB_copy_image" />
+    <enum name="ARB_cull_distance">
+      <token name="MAX_CULL_DISTANCES" value="0x82F9" />
+      <token name="MAX_COMBINED_CLIP_AND_CULL_DISTANCES" value="0x82FA" />
+    </enum>
     <enum name="ARB_debug_output">
       <token name="DEBUG_OUTPUT_SYNCHRONOUS_ARB" value="0x8242" />
       <token name="DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB" value="0x8243" />
       <token name="TEXTURE_DEPTH_SIZE_ARB" value="0x884A" />
       <token name="DEPTH_TEXTURE_MODE_ARB" value="0x884B" />
     </enum>
+    <enum name="ARB_derivative_control" />
+    <enum name="ARB_direct_state_access">
+      <token name="TEXTURE_TARGET" value="0x1006" />
+      <token name="QUERY_TARGET" value="0x82EA" />
+      <token name="TEXTURE_BINDING_1D" value="0x8068" />
+      <token name="TEXTURE_BINDING_1D_ARRAY" value="0x8C1C" />
+      <token name="TEXTURE_BINDING_2D" value="0x8069" />
+      <token name="TEXTURE_BINDING_2D_ARRAY" value="0x8C1D" />
+      <token name="TEXTURE_BINDING_2D_MULTISAMPLE" value="0x9104" />
+      <token name="TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY" value="0x9105" />
+      <token name="TEXTURE_BINDING_3D" value="0x806A" />
+      <token name="TEXTURE_BINDING_BUFFER" value="0x8C2C" />
+      <token name="TEXTURE_BINDING_CUBE_MAP" value="0x8514" />
+      <token name="TEXTURE_BINDING_CUBE_MAP_ARRAY" value="0x900A" />
+      <token name="TEXTURE_BINDING_RECTANGLE" value="0x84F6" />
+      <token name="TEXTURE_BINDING" value="0x82EB" />
+    </enum>
     <enum name="ARB_draw_buffers">
       <token name="MAX_DRAW_BUFFERS_ARB" value="0x8824" />
       <token name="DRAW_BUFFER0_ARB" value="0x8825" />
       <token name="MAX_FRAGMENT_UNIFORM_VECTORS" value="0x8DFD" />
       <token name="RGB565" value="0x8D62" />
     </enum>
+    <enum name="ARB_ES3_1_compatibility" />
     <enum name="ARB_ES3_compatibility">
       <token name="COMPRESSED_RGB8_ETC2" value="0x9274" />
       <token name="COMPRESSED_SRGB8_ETC2" value="0x9275" />
       <token name="NUM_PROGRAM_BINARY_FORMATS" value="0x87FE" />
       <token name="PROGRAM_BINARY_FORMATS" value="0x87FF" />
     </enum>
+    <enum name="ARB_get_texture_sub_image" />
     <enum name="ARB_gpu_shader_fp64">
       <token name="DOUBLE" value="0x140A" />
       <token name="DOUBLE_VEC2" value="0x8FFC" />
     <enum name="ARB_occlusion_query2">
       <token name="ANY_SAMPLES_PASSED" value="0x8C2F" />
     </enum>
+    <enum name="ARB_pipeline_statistics_query">
+      <token name="VERTICES_SUBMITTED_ARB" value="0x82EE" />
+      <token name="PRIMITIVES_SUBMITTED_ARB" value="0x82EF" />
+      <token name="VERTEX_SHADER_INVOCATIONS_ARB" value="0x82F0" />
+      <token name="TESS_CONTROL_SHADER_PATCHES_ARB" value="0x82F1" />
+      <token name="TESS_EVALUATION_SHADER_INVOCATIONS_ARB" value="0x82F2" />
+      <token name="GEOMETRY_SHADER_INVOCATIONS" value="0x887F" />
+      <token name="GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB" value="0x82F3" />
+      <token name="FRAGMENT_SHADER_INVOCATIONS_ARB" value="0x82F4" />
+      <token name="COMPUTE_SHADER_INVOCATIONS_ARB" value="0x82F5" />
+      <token name="CLIPPING_INPUT_PRIMITIVES_ARB" value="0x82F6" />
+      <token name="CLIPPING_OUTPUT_PRIMITIVES_ARB" value="0x82F7" />
+    </enum>
     <enum name="ARB_pixel_buffer_object">
       <token name="PIXEL_PACK_BUFFER_ARB" value="0x88EB" />
       <token name="PIXEL_UNPACK_BUFFER_ARB" value="0x88EC" />
       <token name="UNIFORM_SIZE" value="0x8A38" />
       <token name="UNIFORM_NAME_LENGTH" value="0x8A39" />
     </enum>
+    <enum name="ARB_shader_texture_image_samples" />
     <enum name="ARB_shader_texture_lod" />
     <enum name="ARB_shading_language_100">
       <token name="SHADING_LANGUAGE_VERSION_ARB" value="0x8B8C" />
     <enum name="ARB_shadow_ambient">
       <token name="TEXTURE_COMPARE_FAIL_VALUE_ARB" value="0x80BF" />
     </enum>
+    <enum name="ARB_sparse_buffer">
+      <token name="SPARSE_STORAGE_BIT_ARB" value="0x0400" />
+      <token name="SPARSE_BUFFER_PAGE_SIZE_ARB" value="0x82F8" />
+    </enum>
     <enum name="ARB_sparse_texture">
       <token name="TEXTURE_SPARSE_ARB" value="0x91A6" />
       <token name="VIRTUAL_PAGE_SIZE_INDEX_ARB" value="0x91A7" />
       <token name="TESS_EVALUATION_SHADER" value="0x8E87" />
       <token name="TESS_CONTROL_SHADER" value="0x8E88" />
     </enum>
+    <enum name="ARB_texture_barrier" />
     <enum name="ARB_texture_border_clamp">
       <token name="CLAMP_TO_BORDER_ARB" value="0x812D" />
     </enum>
       <token name="TIMESTAMP" value="0x8E28" />
     </enum>
     <enum name="ARB_transform_feedback_instanced" />
+    <enum name="ARB_transform_feedback_overflow_query">
+      <token name="TRANSFORM_FEEDBACK_OVERFLOW_ARB" value="0x82EC" />
+      <token name="TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB" value="0x82ED" />
+    </enum>
     <enum name="ARB_transform_feedback2">
       <token name="TRANSFORM_FEEDBACK" value="0x8E22" />
       <token name="TRANSFORM_FEEDBACK_PAUSED" value="0x8E23" />
       <token name="RGBA4" value="0x8056" />
       <token name="RGBA8" value="0x8058" />
     </enum>
+    <enum name="KHR_blend_equation_advanced">
+      <token name="MULTIPLY_KHR" value="0x9294" />
+      <token name="SCREEN_KHR" value="0x9295" />
+      <token name="OVERLAY_KHR" value="0x9296" />
+      <token name="DARKEN_KHR" value="0x9297" />
+      <token name="LIGHTEN_KHR" value="0x9298" />
+      <token name="COLORDODGE_KHR" value="0x9299" />
+      <token name="COLORBURN_KHR" value="0x929A" />
+      <token name="HARDLIGHT_KHR" value="0x929B" />
+      <token name="SOFTLIGHT_KHR" value="0x929C" />
+      <token name="DIFFERENCE_KHR" value="0x929E" />
+      <token name="EXCLUSION_KHR" value="0x92A0" />
+      <token name="HSL_HUE_KHR" value="0x92AD" />
+      <token name="HSL_SATURATION_KHR" value="0x92AE" />
+      <token name="HSL_COLOR_KHR" value="0x92AF" />
+      <token name="HSL_LUMINOSITY_KHR" value="0x92B0" />
+    </enum>
+    <enum name="KHR_blend_equation_advanced_coherent">
+      <token name="BLEND_ADVANCED_COHERENT_KHR" value="0x9285" />
+    </enum>
+    <enum name="KHR_context_flush_control">
+      <token name="CONTEXT_RELEASE_BEHAVIOR" value="0x82FB" />
+      <token name="CONTEXT_RELEASE_BEHAVIOR_FLUSH" value="0x82FC" />
+      <token name="NONE" value="0" />
+      <token name="CONTEXT_RELEASE_BEHAVIOR_KHR" value="0x82FB" />
+      <token name="CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR" value="0x82FC" />
+      <token name="NONE" value="0" />
+    </enum>
     <enum name="KHR_debug">
       <token name="DEBUG_OUTPUT_SYNCHRONOUS" value="0x8242" />
       <token name="DEBUG_NEXT_LOGGED_MESSAGE_LENGTH" value="0x8243" />
       <token name="PROGRAM_PIPELINE" value="0x82E4" />
       <token name="DISPLAY_LIST" value="0x82E7" />
     </enum>
+    <enum name="KHR_robust_buffer_access_behavior" />
+    <enum name="KHR_robustness">
+      <token name="NO_ERROR" value="0" />
+      <token name="CONTEXT_ROBUST_ACCESS" value="0x90F3" />
+      <token name="LOSE_CONTEXT_ON_RESET" value="0x8252" />
+      <token name="GUILTY_CONTEXT_RESET" value="0x8253" />
+      <token name="INNOCENT_CONTEXT_RESET" value="0x8254" />
+      <token name="UNKNOWN_CONTEXT_RESET" value="0x8255" />
+      <token name="RESET_NOTIFICATION_STRATEGY" value="0x8256" />
+      <token name="NO_RESET_NOTIFICATION" value="0x8261" />
+      <token name="CONTEXT_LOST" value="0x0507" />
+      <token name="NO_ERROR" value="0" />
+      <token name="CONTEXT_ROBUST_ACCESS_KHR" value="0x90F3" />
+      <token name="LOSE_CONTEXT_ON_RESET_KHR" value="0x8252" />
+      <token name="GUILTY_CONTEXT_RESET_KHR" value="0x8253" />
+      <token name="INNOCENT_CONTEXT_RESET_KHR" value="0x8254" />
+      <token name="UNKNOWN_CONTEXT_RESET_KHR" value="0x8255" />
+      <token name="RESET_NOTIFICATION_STRATEGY_KHR" value="0x8256" />
+      <token name="NO_RESET_NOTIFICATION_KHR" value="0x8261" />
+      <token name="CONTEXT_LOST_KHR" value="0x0507" />
+    </enum>
     <enum name="KHR_texture_compression_astc_hdr">
       <token name="COMPRESSED_RGBA_ASTC_4x4_KHR" value="0x93B0" />
       <token name="COMPRESSED_RGBA_ASTC_5x4_KHR" value="0x93B1" />
       <token name="SHORT" value="0x1402" />
     </enum>
     <enum name="NV_bindless_multi_draw_indirect" />
+    <enum name="NV_bindless_multi_draw_indirect_count" />
     <enum name="NV_bindless_texture" />
     <enum name="NV_blend_equation_advanced">
       <token name="BLEND_OVERLAP_NV" value="0x9281" />
       <token name="PRIMARY_COLOR" value="0x8577" deprecated="3.2" />
       <token name="PRIMARY_COLOR_NV" value="0x852C" />
       <token name="SECONDARY_COLOR_NV" value="0x852D" />
+      <token name="ROUNDED_RECT_NV" value="0xE8" />
+      <token name="RELATIVE_ROUNDED_RECT_NV" value="0xE9" />
+      <token name="ROUNDED_RECT2_NV" value="0xEA" />
+      <token name="RELATIVE_ROUNDED_RECT2_NV" value="0xEB" />
+      <token name="ROUNDED_RECT4_NV" value="0xEC" />
+      <token name="RELATIVE_ROUNDED_RECT4_NV" value="0xED" />
+      <token name="ROUNDED_RECT8_NV" value="0xEE" />
+      <token name="RELATIVE_ROUNDED_RECT8_NV" value="0xEF" />
+      <token name="RELATIVE_RECT_NV" value="0xF7" />
+      <token name="FONT_GLYPHS_AVAILABLE_NV" value="0x9368" />
+      <token name="FONT_TARGET_UNAVAILABLE_NV" value="0x9369" />
+      <token name="FONT_UNAVAILABLE_NV" value="0x936A" />
+      <token name="FONT_UNINTELLIGIBLE_NV" value="0x936B" />
+      <token name="CONIC_CURVE_TO_NV" value="0x1A" />
+      <token name="RELATIVE_CONIC_CURVE_TO_NV" value="0x1B" />
+      <token name="FONT_NUM_GLYPH_INDICES_BIT_NV" value="0x20000000" />
+      <token name="STANDARD_FONT_FORMAT_NV" value="0x936C" />
+      <token name="2_BYTES_NV" value="0x1407" />
+      <token name="3_BYTES_NV" value="0x1408" />
+      <token name="4_BYTES_NV" value="0x1409" />
+      <token name="EYE_LINEAR_NV" value="0x2400" />
+      <token name="OBJECT_LINEAR_NV" value="0x2401" />
+      <token name="CONSTANT_NV" value="0x8576" />
+      <token name="PATH_PROJECTION_NV" value="0x1701" />
+      <token name="PATH_MODELVIEW_NV" value="0x1700" />
+      <token name="PATH_MODELVIEW_STACK_DEPTH_NV" value="0x0BA3" />
+      <token name="PATH_MODELVIEW_MATRIX_NV" value="0x0BA6" />
+      <token name="PATH_MAX_MODELVIEW_STACK_DEPTH_NV" value="0x0D36" />
+      <token name="PATH_TRANSPOSE_MODELVIEW_MATRIX_NV" value="0x84E3" />
+      <token name="PATH_PROJECTION_STACK_DEPTH_NV" value="0x0BA4" />
+      <token name="PATH_PROJECTION_MATRIX_NV" value="0x0BA7" />
+      <token name="PATH_MAX_PROJECTION_STACK_DEPTH_NV" value="0x0D38" />
+      <token name="PATH_TRANSPOSE_PROJECTION_MATRIX_NV" value="0x84E4" />
+      <token name="FRAGMENT_INPUT_NV" value="0x936D" />
     </enum>
     <enum name="NV_pixel_data_range">
       <token name="WRITE_PIXEL_DATA_RANGE_NV" value="0x8878" />
     </enum>
     <enum name="NV_shader_atomic_counters" />
     <enum name="NV_shader_atomic_float" />
+    <enum name="NV_shader_atomic_int64" />
     <enum name="NV_shader_buffer_load">
       <token name="BUFFER_GPU_ADDRESS_NV" value="0x8F1D" />
       <token name="GPU_ADDRESS_NV" value="0x8F34" />
       <param name="textures" type="GLuint *" flow="in" count="count" />
       <returns type="void" />
     </function>
+    <function name="BindTextureUnit" category="ARB_direct_state_access" extension="Core">
+      <param name="unit" type="GLuint" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="BindTextureUnitParameterEXT" category="EXT_vertex_shader" extension="EXT">
       <param name="unit" type="TextureUnit" flow="in" />
       <param name="value" type="VertexShaderTextureUnitParameter" flow="in" />
       <param name="bitmap" type="GLubyte *" flow="in" count="COMPSIZE(width,height)" />
       <returns type="void" />
     </function>
+    <function name="BlendBarrierKHR" category="KHR_blend_equation_advanced" extension="KHR">
+      <returns type="void" />
+    </function>
     <function name="BlendBarrierNV" category="NV_blend_equation_advanced" extension="NV">
       <returns type="void" />
     </function>
       <param name="filter" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
+    <function name="BlitNamedFramebuffer" category="ARB_direct_state_access" extension="Core">
+      <param name="readFramebuffer" type="GLuint" flow="in" />
+      <param name="drawFramebuffer" type="GLuint" flow="in" />
+      <param name="srcX0" type="GLint" flow="in" />
+      <param name="srcY0" type="GLint" flow="in" />
+      <param name="srcX1" type="GLint" flow="in" />
+      <param name="srcY1" type="GLint" flow="in" />
+      <param name="dstX0" type="GLint" flow="in" />
+      <param name="dstY0" type="GLint" flow="in" />
+      <param name="dstX1" type="GLint" flow="in" />
+      <param name="dstY1" type="GLint" flow="in" />
+      <param name="mask" type="GLbitfield" flow="in" />
+      <param name="filter" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="BufferAddressRangeNV" category="NV_vertex_buffer_unified_memory" extension="NV">
       <param name="pname" type="GLenum" flow="in" />
       <param name="index" type="GLuint" flow="in" />
       <param name="usage" type="BufferUsageARB" flow="in" />
       <returns type="void" />
     </function>
+    <function name="BufferPageCommitmentARB" category="ARB_sparse_buffer" extension="ARB">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="commit" type="GLboolean" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="BufferParameteriAPPLE" category="APPLE_flush_buffer_range" extension="APPLE">
       <param name="target" type="GLenum" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
       <param name="target" type="FramebufferTarget" flow="in" />
       <returns type="GLenum" />
     </function>
+    <function name="CheckNamedFramebufferStatus" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="target" type="GLenum" flow="in" />
+      <returns type="GLenum" />
+    </function>
     <function name="CheckNamedFramebufferStatusEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="framebuffer" type="Framebuffer" flow="in" />
       <param name="target" type="FramebufferTarget" flow="in" />
       <param name="depth" type="ClampedFixed" flow="in" />
       <returns type="void" />
     </function>
+    <function name="ClearNamedBufferData" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="ClearNamedBufferDataEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="buffer" type="GLuint" flow="in" />
       <param name="internalformat" type="GLenum" flow="in" />
       <param name="data" type="void *" flow="in" count="COMPSIZE(format,type)" />
       <returns type="void" />
     </function>
+    <function name="ClearNamedBufferSubData" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="ClearNamedBufferSubDataEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="buffer" type="GLuint" flow="in" />
       <param name="internalformat" type="GLenum" flow="in" />
       <param name="data" type="void *" flow="in" count="COMPSIZE(format,type)" />
       <returns type="void" />
     </function>
+    <function name="ClearNamedFramebufferfi" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="depth" type="GLfloat" flow="in" />
+      <param name="stencil" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ClearNamedFramebufferfv" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="drawbuffer" type="GLint" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ClearNamedFramebufferiv" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="drawbuffer" type="GLint" flow="in" />
+      <param name="value" type="GLint *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ClearNamedFramebufferuiv" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="drawbuffer" type="GLint" flow="in" />
+      <param name="value" type="GLuint *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="ClearTexImage" category="ARB_clear_texture" extension="Core">
       <param name="texture" type="GLuint" flow="in" />
       <param name="level" type="GLint" flow="in" />
       <param name="timeout" type="GLuint64" flow="in" />
       <returns type="GLenum" />
     </function>
+    <function name="ClipControl" category="ARB_clip_control" extension="Core">
+      <param name="origin" type="GLenum" flow="in" />
+      <param name="depth" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="ClipPlanefOES" category="OES_single_precision" extension="OES">
       <param name="plane" type="GLenum" flow="in" />
       <param name="equation" type="GLfloat *" flow="in" count="4" />
       <param name="bits" type="void *" flow="in" count="imageSize" />
       <returns type="void" />
     </function>
+    <function name="CompressedTextureSubImage1D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="imageSize" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="CompressedTextureSubImage1DEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="bits" type="void *" flow="in" count="imageSize" />
       <returns type="void" />
     </function>
+    <function name="CompressedTextureSubImage2D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="imageSize" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="CompressedTextureSubImage2DEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="bits" type="void *" flow="in" count="imageSize" />
       <returns type="void" />
     </function>
+    <function name="CompressedTextureSubImage3D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="imageSize" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="CompressedTextureSubImage3DEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
+    <function name="CopyNamedBufferSubData" category="ARB_direct_state_access" extension="Core">
+      <param name="readBuffer" type="GLuint" flow="in" />
+      <param name="writeBuffer" type="GLuint" flow="in" />
+      <param name="readOffset" type="GLintptr" flow="in" />
+      <param name="writeOffset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="CopyPathNV" category="NV_path_rendering" extension="NV">
       <param name="resultPath" type="Path" flow="in" />
       <param name="srcPath" type="Path" flow="in" />
       <param name="border" type="CheckedInt32" flow="in" />
       <returns type="void" />
     </function>
+    <function name="CopyTextureSubImage1D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="CopyTextureSubImage1DEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
+    <function name="CopyTextureSubImage2D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="CopyTextureSubImage2DEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
+    <function name="CopyTextureSubImage3D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="CopyTextureSubImage3DEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="coverMode" type="PathCoverMode" flow="in" />
       <returns type="void" />
     </function>
+    <function name="CreateBuffers" category="ARB_direct_state_access" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="buffers" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateFramebuffers" category="ARB_direct_state_access" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="framebuffers" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="CreatePerfQueryINTEL" category="INTEL_performance_query" extension="INTEL">
       <param name="queryId" type="GLuint" flow="in" />
       <param name="queryHandle" type="GLuint *" flow="out" />
     <function name="CreateProgramObjectARB" category="ARB_shader_objects" extension="ARB">
       <returns type="handleARB" />
     </function>
+    <function name="CreateProgramPipelines" category="ARB_direct_state_access" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="pipelines" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateQueries" category="ARB_direct_state_access" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="ids" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateRenderbuffers" category="ARB_direct_state_access" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="renderbuffers" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateSamplers" category="ARB_direct_state_access" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="samplers" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="CreateShaderObjectARB" category="ARB_shader_objects" extension="ARB">
       <param name="shaderType" type="GLenum" flow="in" />
       <returns type="handleARB" />
       <param name="flags" type="GLbitfield" flow="in" />
       <returns type="sync" />
     </function>
+    <function name="CreateTextures" category="ARB_direct_state_access" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="textures" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateTransformFeedbacks" category="ARB_direct_state_access" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="ids" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateVertexArrays" category="ARB_direct_state_access" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="arrays" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="CullParameterdvEXT" category="EXT_cull_vertex" extension="EXT">
       <param name="pname" type="CullParameterEXT" flow="in" />
       <param name="params" type="GLdouble *" flow="out" count="4" />
       <param name="id" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
+    <function name="DisableVertexArrayAttrib" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="DisableVertexArrayAttribEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="vaobj" type="GLuint" flow="in" />
       <param name="index" type="GLuint" flow="in" />
       <param name="id" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
+    <function name="EnableVertexArrayAttrib" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="EnableVertexArrayAttribEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="vaobj" type="GLuint" flow="in" />
       <param name="index" type="GLuint" flow="in" />
       <param name="size" type="BufferSize" flow="in" />
       <returns type="void" />
     </function>
+    <function name="FlushMappedNamedBufferRange" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="FlushMappedNamedBufferRangeEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="buffer" type="GLuint" flow="in" />
       <param name="offset" type="GLintptr" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <returns type="void" />
     </function>
+    <function name="GenerateTextureMipmap" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="GenerateTextureMipmapEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="program" type="GLuint" flow="in" />
       <param name="uniformBlockIndex" type="GLuint" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(program, uniformBlockIndex, pname)" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(program,uniformBlockIndex,pname)" />
       <returns type="void" />
     </function>
     <function name="GetActiveUniformBlockName" category="ARB_uniform_buffer_object" extension="Core">
       <param name="uniformCount" type="GLsizei" flow="in" />
       <param name="uniformIndices" type="GLuint *" flow="in" count="uniformCount" />
       <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(uniformCount, pname)" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(uniformCount,pname)" />
       <returns type="void" />
     </function>
     <function name="GetActiveVaryingNV" category="NV_transform_feedback" extension="NV">
       <param name="img" type="CompressedTextureARB *" flow="out" count="COMPSIZE(target,level)" />
       <returns type="void" />
     </function>
+    <function name="GetCompressedTextureImage" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetCompressedTextureImageEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="img" type="void *" flow="out" count="COMPSIZE(target,lod)" />
       <returns type="void" />
     </function>
+    <function name="GetCompressedTextureSubImage" category="ARB_get_texture_sub_image" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetConvolutionFilter" category="ARB_imaging" extension="Core">
       <param name="target" type="ConvolutionTarget" flow="in" />
       <param name="format" type="PixelFormat" flow="in" />
     <function name="GetDoublei_vEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="pname" type="TypeEnum" flow="in" />
       <param name="index" type="GLuint" flow="in" />
-      <param name="params" type="GLdouble *" flow="out" count="COMPSIZE(target)" />
+      <param name="params" type="GLdouble *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
     <function name="GetDoubleIndexedvEXT" category="EXT_direct_state_access" extension="EXT">
     <function name="GetFloati_vEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="pname" type="TypeEnum" flow="in" />
       <param name="index" type="GLuint" flow="in" />
-      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(target)" />
+      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
     <function name="GetFloatIndexedvEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
+    <function name="GetGraphicsResetStatus" category="KHR_robustness" extension="Core">
+      <returns type="GLenum" />
+    </function>
     <function name="GetGraphicsResetStatusARB" category="ARB_robustness" extension="ARB">
       <returns type="GLenum" />
     </function>
+    <function name="GetGraphicsResetStatusKHR" category="KHR_robustness" extension="KHR">
+      <returns type="GLenum" />
+    </function>
     <function name="GetHandleARB" category="ARB_shader_objects" extension="ARB">
       <param name="pname" type="GLenum" flow="in" />
       <returns type="handleARB" />
       <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
+    <function name="GetNamedBufferParameteri64v" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint64 *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetNamedBufferParameteriv" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetNamedBufferParameterivEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="buffer" type="GLuint" flow="in" />
       <param name="pname" type="VertexBufferObjectParameter" flow="in" />
       <param name="params" type="GLuint64EXT *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
+    <function name="GetNamedBufferPointerv" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="void **" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetNamedBufferPointervEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="buffer" type="GLuint" flow="in" />
       <param name="pname" type="VertexBufferObjectParameter" flow="in" />
       <param name="params" type="void **" flow="out" count="1" />
       <returns type="void" />
     </function>
+    <function name="GetNamedBufferSubData" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetNamedBufferSubDataEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="buffer" type="GLuint" flow="in" />
       <param name="offset" type="GLintptr" flow="in" />
       <param name="data" type="void *" flow="out" count="COMPSIZE(size)" />
       <returns type="void" />
     </function>
+    <function name="GetNamedFramebufferAttachmentParameteriv" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="attachment" type="GLenum" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetNamedFramebufferAttachmentParameterivEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="framebuffer" type="Framebuffer" flow="in" />
       <param name="attachment" type="FramebufferAttachment" flow="in" />
       <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
+    <function name="GetNamedFramebufferParameteriv" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetNamedFramebufferParameterivEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="framebuffer" type="Framebuffer" flow="in" />
       <param name="pname" type="GetFramebufferParameter" flow="in" />
       <param name="string" type="void *" flow="out" count="COMPSIZE(program,pname)" />
       <returns type="void" />
     </function>
+    <function name="GetNamedRenderbufferParameteriv" category="ARB_direct_state_access" extension="Core">
+      <param name="renderbuffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetNamedRenderbufferParameterivEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="renderbuffer" type="Renderbuffer" flow="in" />
       <param name="pname" type="RenderbufferParameterName" flow="in" />
       <param name="params" type="GLdouble *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
+    <function name="GetnUniformfv" category="KHR_robustness" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetnUniformfvARB" category="ARB_robustness" extension="ARB">
       <param name="program" type="GLuint" flow="in" />
       <param name="location" type="GLint" flow="in" />
       <param name="params" type="GLfloat *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
+    <function name="GetnUniformfvKHR" category="KHR_robustness" extension="KHR">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformiv" category="KHR_robustness" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetnUniformivARB" category="ARB_robustness" extension="ARB">
       <param name="program" type="GLuint" flow="in" />
       <param name="location" type="GLint" flow="in" />
       <param name="params" type="GLint *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
+    <function name="GetnUniformivKHR" category="KHR_robustness" extension="KHR">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformuiv" category="KHR_robustness" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetnUniformuivARB" category="ARB_robustness" extension="ARB">
       <param name="program" type="GLuint" flow="in" />
       <param name="location" type="GLint" flow="in" />
       <param name="params" type="GLuint *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
+    <function name="GetnUniformuivKHR" category="KHR_robustness" extension="KHR">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetObjectBufferfvATI" category="ATI_vertex_array_object" extension="ATI">
       <param name="buffer" type="GLuint" flow="in" />
       <param name="pname" type="ArrayObjectPNameATI" flow="in" />
       <param name="params" type="GLint *" flow="out" />
       <returns type="void" />
     </function>
+    <function name="GetProgramResourcefvNV" category="NV_path_rendering" extension="NV">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="programInterface" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="propCount" type="GLsizei" flow="in" />
+      <param name="props" type="GLenum *" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" />
+      <param name="params" type="GLfloat *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetProgramResourceIndex" category="ARB_program_interface_query" extension="Core">
       <param name="program" type="GLuint" flow="in" />
       <param name="programInterface" type="GLenum" flow="in" />
       <param name="texture" type="GLuint" flow="in" />
       <returns type="GLuint64" />
     </function>
+    <function name="GetTextureImage" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetTextureImageEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="pixels" type="void *" flow="out" count="COMPSIZE(target,level,format,type)" />
       <returns type="void" />
     </function>
+    <function name="GetTextureLevelParameterfv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetTextureLevelParameterfvEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
+    <function name="GetTextureLevelParameteriv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetTextureLevelParameterivEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
+    <function name="GetTextureParameterfv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetTextureParameterfvEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
+    <function name="GetTextureParameterIiv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetTextureParameterIivEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
+    <function name="GetTextureParameterIuiv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetTextureParameterIuivEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="params" type="GLuint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
+    <function name="GetTextureParameteriv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetTextureParameterivEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="sampler" type="GLuint" flow="in" />
       <returns type="GLuint64" />
     </function>
+    <function name="GetTextureSubImage" category="ARB_get_texture_sub_image" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetTrackMatrixivNV" category="NV_vertex_program" extension="NV">
       <param name="target" type="VertexAttribEnumNV" flow="in" />
       <param name="address" type="GLuint" flow="in" />
       <param name="params" type="GLint *" flow="out" count="1" />
       <returns type="void" />
     </function>
+    <function name="GetTransformFeedbacki_v" category="ARB_direct_state_access" extension="Core">
+      <param name="xfb" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetTransformFeedbacki64_v" category="ARB_direct_state_access" extension="Core">
+      <param name="xfb" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="param" type="GLint64 *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetTransformFeedbackiv" category="ARB_direct_state_access" extension="Core">
+      <param name="xfb" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetTransformFeedbackVaryingEXT" category="EXT_transform_feedback" extension="EXT">
       <param name="program" type="GLuint" flow="in" />
       <param name="index" type="GLuint" flow="in" />
     <function name="GetUniformdv" category="ARB_gpu_shader_fp64" extension="Core">
       <param name="program" type="GLuint" flow="in" />
       <param name="location" type="GLint" flow="in" />
-      <param name="params" type="GLdouble *" flow="out" count="COMPSIZE(program, location)" />
+      <param name="params" type="GLdouble *" flow="out" count="COMPSIZE(program,location)" />
       <returns type="void" />
     </function>
     <function name="GetUniformfvARB" category="ARB_shader_objects" extension="ARB">
       <param name="programObj" type="handleARB" flow="in" />
       <param name="location" type="GLint" flow="in" />
-      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(programlocation)" />
+      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(programObj,location)" />
       <returns type="void" />
     </function>
     <function name="GetUniformi64vNV" category="AMD_gpu_shader_int64|NV_gpu_shader5" extension="NV" version="">
       <param name="program" type="GLuint" flow="in" />
       <param name="location" type="GLint" flow="in" />
-      <param name="params" type="GLint64EXT *" flow="out" count="COMPSIZE(program, location)" />
+      <param name="params" type="GLint64EXT *" flow="out" count="COMPSIZE(program,location)" />
       <returns type="void" />
     </function>
     <function name="GetUniformIndices" category="ARB_uniform_buffer_object" extension="Core">
     <function name="GetUniformivARB" category="ARB_shader_objects" extension="ARB">
       <param name="programObj" type="handleARB" flow="in" />
       <param name="location" type="GLint" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(programlocation)" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(programObj,location)" />
       <returns type="void" />
     </function>
     <function name="GetUniformLocationARB" category="ARB_shader_objects" extension="ARB">
       <param name="name" type="GLchar *" flow="in" count="COMPSIZE(name)" />
       <returns type="GLint" />
     </function>
+    <function name="GetVertexArrayIndexed64iv" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint64 *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetVertexArrayIndexediv" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetVertexArrayIntegeri_vEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="vaobj" type="GLuint" flow="in" />
       <param name="index" type="GLuint" flow="in" />
       <param name="param" type="GLint *" flow="out" />
       <returns type="void" />
     </function>
+    <function name="GetVertexArrayiv" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetVertexArrayPointeri_vEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="vaobj" type="GLuint" flow="in" />
       <param name="index" type="GLuint" flow="in" />
       <param name="attachments" type="GLenum *" flow="in" count="numAttachments" />
       <returns type="void" />
     </function>
+    <function name="InvalidateNamedFramebufferData" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="numAttachments" type="GLsizei" flow="in" />
+      <param name="attachments" type="GLenum *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="InvalidateNamedFramebufferSubData" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="numAttachments" type="GLsizei" flow="in" />
+      <param name="attachments" type="GLenum *" flow="in" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="InvalidateSubFramebuffer" category="ARB_invalidate_subdata" extension="Core">
       <param name="target" type="GLenum" flow="in" />
       <param name="numAttachments" type="GLsizei" flow="in" />
       <param name="v2" type="GLfixed" flow="in" />
       <returns type="void" />
     </function>
+    <function name="MapNamedBuffer" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="access" type="GLenum" flow="in" />
+      <returns type="void *" />
+    </function>
     <function name="MapNamedBufferEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="buffer" type="GLuint" flow="in" />
       <param name="access" type="VertexBufferObjectAccess" flow="in" />
       <returns type="void *" />
     </function>
+    <function name="MapNamedBufferRange" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <param name="access" type="GLbitfield" flow="in" />
+      <returns type="void *" />
+    </function>
     <function name="MapNamedBufferRangeEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="buffer" type="GLuint" flow="in" />
       <param name="offset" type="GLintptr" flow="in" />
       <param name="indices" type="GLushort *" flow="in" count="size" />
       <returns type="void" />
     </function>
+    <function name="MatrixLoad3x2fNV" category="NV_path_rendering" extension="NV">
+      <param name="matrixMode" type="GLenum" flow="in" />
+      <param name="m" type="GLfloat *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="MatrixLoad3x3fNV" category="NV_path_rendering" extension="NV">
+      <param name="matrixMode" type="GLenum" flow="in" />
+      <param name="m" type="GLfloat *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="MatrixLoaddEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="mode" type="MatrixMode" flow="in" />
       <param name="m" type="GLdouble *" flow="in" count="16" />
       <param name="mode" type="MatrixMode" flow="in" />
       <returns type="void" />
     </function>
+    <function name="MatrixLoadTranspose3x3fNV" category="NV_path_rendering" extension="NV">
+      <param name="matrixMode" type="GLenum" flow="in" />
+      <param name="m" type="GLfloat *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="MatrixLoadTransposedEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="mode" type="MatrixMode" flow="in" />
       <param name="m" type="GLdouble *" flow="in" count="16" />
       <param name="m" type="GLfloat *" flow="in" count="16" />
       <returns type="void" />
     </function>
+    <function name="MatrixMult3x2fNV" category="NV_path_rendering" extension="NV">
+      <param name="matrixMode" type="GLenum" flow="in" />
+      <param name="m" type="GLfloat *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="MatrixMult3x3fNV" category="NV_path_rendering" extension="NV">
+      <param name="matrixMode" type="GLenum" flow="in" />
+      <param name="m" type="GLfloat *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="MatrixMultdEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="mode" type="MatrixMode" flow="in" />
       <param name="m" type="GLdouble *" flow="in" count="16" />
       <param name="m" type="GLfloat *" flow="in" count="16" />
       <returns type="void" />
     </function>
+    <function name="MatrixMultTranspose3x3fNV" category="NV_path_rendering" extension="NV">
+      <param name="matrixMode" type="GLenum" flow="in" />
+      <param name="m" type="GLfloat *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="MatrixMultTransposedEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="mode" type="MatrixMode" flow="in" />
       <param name="m" type="GLdouble *" flow="in" count="16" />
       <param name="barriers" type="GLbitfield" flow="in" />
       <returns type="void" />
     </function>
+    <function name="MemoryBarrierByRegion" category="ARB_ES3_1_compatibility" extension="Core">
+      <param name="barriers" type="GLbitfield" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="MemoryBarrierEXT" category="EXT_shader_image_load_store" extension="EXT">
       <param name="barriers" type="GLbitfield" flow="in" />
       <returns type="void" />
       <param name="stride" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
+    <function name="MultiDrawArraysIndirectBindlessCountNV" category="NV_bindless_multi_draw_indirect_count" extension="NV">
+      <param name="mode" type="GLenum" flow="in" />
+      <param name="indirect" type="void *" flow="in" />
+      <param name="drawCount" type="GLsizei" flow="in" />
+      <param name="maxDrawCount" type="GLsizei" flow="in" />
+      <param name="stride" type="GLsizei" flow="in" />
+      <param name="vertexBufferCount" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="MultiDrawArraysIndirectBindlessNV" category="NV_bindless_multi_draw_indirect" extension="NV">
       <param name="mode" type="GLenum" flow="in" />
       <param name="indirect" type="void *" flow="in" />
       <param name="stride" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
+    <function name="MultiDrawElementsIndirectBindlessCountNV" category="NV_bindless_multi_draw_indirect_count" extension="NV">
+      <param name="mode" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="indirect" type="void *" flow="in" />
+      <param name="drawCount" type="GLsizei" flow="in" />
+      <param name="maxDrawCount" type="GLsizei" flow="in" />
+      <param name="stride" type="GLsizei" flow="in" />
+      <param name="vertexBufferCount" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="MultiDrawElementsIndirectBindlessNV" category="NV_bindless_multi_draw_indirect" extension="NV">
       <param name="mode" type="GLenum" flow="in" />
       <param name="type" type="GLenum" flow="in" />
       <param name="m" type="GLfixed *" flow="in" count="16" />
       <returns type="void" />
     </function>
+    <function name="NamedBufferData" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <param name="usage" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="NamedBufferDataEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="buffer" type="GLuint" flow="in" />
       <param name="size" type="GLsizeiptr" flow="in" />
       <param name="usage" type="VertexBufferObjectUsage" flow="in" />
       <returns type="void" />
     </function>
+    <function name="NamedBufferPageCommitmentARB" category="ARB_sparse_buffer" extension="ARB">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="commit" type="GLboolean" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedBufferPageCommitmentEXT" category="ARB_sparse_buffer" extension="EXT">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="commit" type="GLboolean" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedBufferStorage" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <param name="flags" type="GLbitfield" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="NamedBufferStorageEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="buffer" type="GLuint" flow="in" />
       <param name="size" type="GLsizeiptr" flow="in" />
       <param name="flags" type="GLbitfield" flow="in" />
       <returns type="void" />
     </function>
+    <function name="NamedBufferSubData" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="NamedBufferSubDataEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="buffer" type="GLuint" flow="in" />
       <param name="offset" type="GLintptr" flow="in" />
       <param name="size" type="GLsizeiptr" flow="in" />
       <returns type="void" />
     </function>
+    <function name="NamedFramebufferDrawBuffer" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buf" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedFramebufferDrawBuffers" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="bufs" type="GLenum *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedFramebufferParameteri" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="NamedFramebufferParameteriEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="framebuffer" type="Framebuffer" flow="in" />
       <param name="pname" type="FramebufferParameterName" flow="in" />
       <param name="param" type="GLint" flow="in" />
       <returns type="void" />
     </function>
+    <function name="NamedFramebufferReadBuffer" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="src" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedFramebufferRenderbuffer" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="attachment" type="GLenum" flow="in" />
+      <param name="renderbuffertarget" type="GLenum" flow="in" />
+      <param name="renderbuffer" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="NamedFramebufferRenderbufferEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="framebuffer" type="Framebuffer" flow="in" />
       <param name="attachment" type="FramebufferAttachment" flow="in" />
       <param name="renderbuffer" type="Renderbuffer" flow="in" />
       <returns type="void" />
     </function>
+    <function name="NamedFramebufferTexture" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="attachment" type="GLenum" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="NamedFramebufferTexture1DEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="framebuffer" type="Framebuffer" flow="in" />
       <param name="attachment" type="FramebufferAttachment" flow="in" />
       <param name="face" type="TextureTarget" flow="in" />
       <returns type="void" />
     </function>
+    <function name="NamedFramebufferTextureLayer" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="attachment" type="GLenum" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="layer" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="NamedFramebufferTextureLayerEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="framebuffer" type="Framebuffer" flow="in" />
       <param name="attachment" type="FramebufferAttachment" flow="in" />
       <param name="string" type="void *" flow="in" count="len" />
       <returns type="void" />
     </function>
+    <function name="NamedRenderbufferStorage" category="ARB_direct_state_access" extension="Core">
+      <param name="renderbuffer" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="NamedRenderbufferStorageEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="renderbuffer" type="Renderbuffer" flow="in" />
       <param name="internalformat" type="PixelInternalFormat" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
+    <function name="NamedRenderbufferStorageMultisample" category="ARB_direct_state_access" extension="Core">
+      <param name="renderbuffer" type="GLuint" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="NamedRenderbufferStorageMultisampleCoverageEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="renderbuffer" type="Renderbuffer" flow="in" />
       <param name="coverageSamples" type="GLsizei" flow="in" />
       <param name="genMode" type="PathGenMode" flow="in" />
       <returns type="void" />
     </function>
+    <function name="PathGlyphIndexArrayNV" category="NV_path_rendering" extension="NV">
+      <param name="firstPathName" type="GLuint" flow="in" />
+      <param name="fontTarget" type="GLenum" flow="in" />
+      <param name="fontName" type="void *" flow="in" />
+      <param name="fontStyle" type="GLbitfield" flow="in" />
+      <param name="firstGlyphIndex" type="GLuint" flow="in" />
+      <param name="numGlyphs" type="GLsizei" flow="in" />
+      <param name="pathParameterTemplate" type="GLuint" flow="in" />
+      <param name="emScale" type="GLfloat" flow="in" />
+      <returns type="GLenum" />
+    </function>
+    <function name="PathGlyphIndexRangeNV" category="NV_path_rendering" extension="NV">
+      <param name="fontTarget" type="GLenum" flow="in" />
+      <param name="fontName" type="void *" flow="in" />
+      <param name="fontStyle" type="GLbitfield" flow="in" />
+      <param name="pathParameterTemplate" type="GLuint" flow="in" />
+      <param name="emScale" type="GLfloat" flow="in" />
+      <param name="baseAndCount" type="GLuint" flow="in" />
+      <returns type="GLenum" />
+    </function>
     <function name="PathGlyphRangeNV" category="NV_path_rendering" extension="NV">
       <param name="firstPathName" type="Path" flow="in" />
       <param name="fontTarget" type="PathFontTarget" flow="in" />
       <param name="emScale" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
+    <function name="PathMemoryGlyphIndexArrayNV" category="NV_path_rendering" extension="NV">
+      <param name="firstPathName" type="GLuint" flow="in" />
+      <param name="fontTarget" type="GLenum" flow="in" />
+      <param name="fontSize" type="GLsizeiptr" flow="in" />
+      <param name="fontData" type="void *" flow="in" />
+      <param name="faceIndex" type="GLsizei" flow="in" />
+      <param name="firstGlyphIndex" type="GLuint" flow="in" />
+      <param name="numGlyphs" type="GLsizei" flow="in" />
+      <param name="pathParameterTemplate" type="GLuint" flow="in" />
+      <param name="emScale" type="GLfloat" flow="in" />
+      <returns type="GLenum" />
+    </function>
     <function name="PathParameterfNV" category="NV_path_rendering" extension="NV">
       <param name="path" type="Path" flow="in" />
       <param name="pname" type="PathParameter" flow="in" />
       <param name="v" type="GLfloat *" flow="in" count="count*4" />
       <returns type="void" />
     </function>
+    <function name="ProgramPathFragmentInputGenNV" category="NV_path_rendering" extension="NV">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="genMode" type="GLenum" flow="in" />
+      <param name="components" type="GLint" flow="in" />
+      <param name="coeffs" type="GLfloat *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="ProgramStringARB" category="ARB_fragment_program|ARB_vertex_program" extension="ARB" version="">
       <param name="target" type="ProgramTargetARB" flow="in" />
       <param name="format" type="ProgramFormatARB" flow="in" />
       <param name="marker" type="GLint" flow="in" />
       <returns type="void" />
     </function>
+    <function name="ReadnPixels" category="KHR_robustness" extension="Core">
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="ReadnPixelsARB" category="ARB_robustness" extension="ARB">
       <param name="x" type="GLint" flow="in" />
       <param name="y" type="GLint" flow="in" />
       <param name="data" type="void *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
+    <function name="ReadnPixelsKHR" category="KHR_robustness" extension="KHR">
+      <param name="x" type="WinCoord" flow="in" />
+      <param name="y" type="WinCoord" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
     <function name="RectxOES" category="OES_fixed_point" extension="OES">
       <param name="x1" type="GLfixed" flow="in" />
       <param name="y1" type="GLfixed" flow="in" />
       <param name="mask" type="MaskedStencilValue" flow="in" />
       <returns type="void" />
     </function>
+    <function name="StencilThenCoverFillPathInstancedNV" category="NV_path_rendering" extension="NV">
+      <param name="numPaths" type="GLsizei" flow="in" />
+      <param name="pathNameType" type="GLenum" flow="in" />
+      <param name="paths" type="void *" flow="in" />
+      <param name="pathBase" type="GLuint" flow="in" />
+      <param name="fillMode" type="GLenum" flow="in" />
+      <param name="mask" type="GLuint" flow="in" />
+      <param name="coverMode" type="GLenum" flow="in" />
+      <param name="transformType" type="GLenum" flow="in" />
+      <param name="transformValues" type="GLfloat *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="StencilThenCoverFillPathNV" category="NV_path_rendering" extension="NV">
+      <param name="path" type="GLuint" flow="in" />
+      <param name="fillMode" type="GLenum" flow="in" />
+      <param name="mask" type="GLuint" flow="in" />
+      <param name="coverMode" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="StencilThenCoverStrokePathInstancedNV" category="NV_path_rendering" extension="NV">
+      <param name="numPaths" type="GLsizei" flow="in" />
+      <param name="pathNameType" type="GLenum" flow="in" />
+      <param name="paths" type="void *" flow="in" />
+      <param name="pathBase" type="GLuint" flow="in" />
+      <param name="reference" type="GLint" flow="in" />
+      <param name="mask" type="GLuint" flow="in" />
+      <param name="coverMode" type="GLenum" flow="in" />
+      <param name="transformType" type="GLenum" flow="in" />
+      <param name="transformValues" type="GLfloat *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="StencilThenCoverStrokePathNV" category="NV_path_rendering" extension="NV">
+      <param name="path" type="GLuint" flow="in" />
+      <param name="reference" type="GLint" flow="in" />
+      <param name="mask" type="GLuint" flow="in" />
+      <param name="coverMode" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="StopInstrumentsSGIX" category="SGIX_instruments" extension="SGIX">
       <param name="marker" type="GLint" flow="in" />
       <returns type="void" />
       <param name="pixels" type="void *" flow="in" count="COMPSIZE(format,type,width,height,depth,size4d)" />
       <returns type="void" />
     </function>
+    <function name="TextureBarrier" category="ARB_texture_barrier" extension="Core">
+      <returns type="void" />
+    </function>
     <function name="TextureBarrierNV" category="NV_texture_barrier" extension="NV">
       <returns type="void" />
     </function>
+    <function name="TextureBuffer" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="TextureBufferEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="buffer" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
+    <function name="TextureBufferRange" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="TextureBufferRangeEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="resident" type="GLboolean" flow="in" />
       <returns type="void" />
     </function>
+    <function name="TextureParameterf" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLfloat" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="TextureParameterfEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="param" type="CheckedFloat32" flow="in" />
       <returns type="void" />
     </function>
+    <function name="TextureParameterfv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLfloat *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="TextureParameterfvEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="params" type="CheckedFloat32 *" flow="in" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
+    <function name="TextureParameteri" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="TextureParameteriEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="param" type="CheckedInt32" flow="in" />
       <returns type="void" />
     </function>
+    <function name="TextureParameterIiv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="TextureParameterIivEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="params" type="CheckedInt32 *" flow="in" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
+    <function name="TextureParameterIuiv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLuint *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="TextureParameterIuivEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="params" type="GLuint *" flow="in" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
+    <function name="TextureParameteriv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="TextureParameterivEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="renderbuffer" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
+    <function name="TextureStorage1D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="levels" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="TextureStorage1DEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="GLuint" flow="in" />
       <param name="target" type="GLenum" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
+    <function name="TextureStorage2D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="levels" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="TextureStorage2DEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="GLuint" flow="in" />
       <param name="target" type="GLenum" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
+    <function name="TextureStorage2DMultisample" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="fixedsamplelocations" type="GLboolean" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="TextureStorage2DMultisampleEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="fixedsamplelocations" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
+    <function name="TextureStorage3D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="levels" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="TextureStorage3DEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="GLuint" flow="in" />
       <param name="target" type="GLenum" flow="in" />
       <param name="depth" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
+    <function name="TextureStorage3DMultisample" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="fixedsamplelocations" type="GLboolean" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="TextureStorage3DMultisampleEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="GLuint" flow="in" />
       <param name="target" type="GLenum" flow="in" />
       <param name="flags" type="GLbitfield" flow="in" />
       <returns type="void" />
     </function>
+    <function name="TextureSubImage1D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="pixels" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="TextureSubImage1DEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="pixels" type="void *" flow="in" count="COMPSIZE(format,type,width)" />
       <returns type="void" />
     </function>
+    <function name="TextureSubImage2D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="pixels" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="TextureSubImage2DEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="pixels" type="void *" flow="in" count="COMPSIZE(format,type,width,height)" />
       <returns type="void" />
     </function>
+    <function name="TextureSubImage3D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="pixels" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="TextureSubImage3DEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="texture" type="Texture" flow="in" />
       <param name="target" type="TextureTarget" flow="in" />
       <param name="bufferMode" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
+    <function name="TransformFeedbackBufferBase" category="ARB_direct_state_access" extension="Core">
+      <param name="xfb" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TransformFeedbackBufferRange" category="ARB_direct_state_access" extension="Core">
+      <param name="xfb" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="TransformFeedbackStreamAttribsNV" category="NV_transform_feedback" extension="NV">
       <param name="count" type="GLsizei" flow="in" />
       <param name="attribs" type="GLint *" flow="in" count="count" />
       <param name="target" type="BufferTargetARB" flow="in" />
       <returns type="Boolean" />
     </function>
+    <function name="UnmapNamedBuffer" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <returns type="GLboolean" />
+    </function>
     <function name="UnmapNamedBufferEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="buffer" type="GLuint" flow="in" />
       <returns type="Boolean" />
       <param name="coords" type="GLfixed *" flow="in" count="4" />
       <returns type="void" />
     </function>
+    <function name="VertexArrayAttribBinding" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="bindingindex" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="VertexArrayAttribFormat" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="size" type="GLint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="GLboolean" flow="in" />
+      <param name="relativeoffset" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="VertexArrayAttribIFormat" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="size" type="GLint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="relativeoffset" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="VertexArrayAttribLFormat" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="size" type="GLint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="relativeoffset" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="VertexArrayBindingDivisor" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="bindingindex" type="GLuint" flow="in" />
+      <param name="divisor" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="VertexArrayBindVertexBufferEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="vaobj" type="GLuint" flow="in" />
       <param name="bindingindex" type="GLuint" flow="in" />
       <param name="offset" type="GLintptr" flow="in" />
       <returns type="void" />
     </function>
+    <function name="VertexArrayElementBuffer" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="VertexArrayFogCoordOffsetEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="vaobj" type="GLuint" flow="in" />
       <param name="buffer" type="GLuint" flow="in" />
       <param name="divisor" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
+    <function name="VertexArrayVertexBuffer" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="bindingindex" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="stride" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="VertexArrayVertexBuffers" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="first" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="buffers" type="GLuint *" flow="in" />
+      <param name="offsets" type="GLintptr *" flow="in" />
+      <param name="strides" type="GLsizei *" flow="in" />
+      <returns type="void" />
+    </function>
     <function name="VertexArrayVertexOffsetEXT" category="EXT_direct_state_access" extension="EXT">
       <param name="vaobj" type="GLuint" flow="in" />
       <param name="buffer" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
     <function name="DrawBuffer" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="mode" type="DrawBufferMode" flow="in" />
+      <param name="buf" type="DrawBufferMode" flow="in" />
       <returns type="void" />
     </function>
     <function name="DrawPixels" category="VERSION_1_0" extension="Core" version="1.0" deprecated="3.2">
       <returns type="void" />
     </function>
     <function name="ReadBuffer" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="mode" type="ReadBufferMode" flow="in" />
+      <param name="src" type="ReadBufferMode" flow="in" />
       <returns type="void" />
     </function>
     <function name="ReadPixels" category="VERSION_1_0" extension="Core" version="1.0">
     <function name="GetUniformfv" category="VERSION_2_0" extension="Core" version="2.0">
       <param name="program" type="GLuint" flow="in" />
       <param name="location" type="GLint" flow="in" />
-      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(program, location)" />
+      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(program,location)" />
       <returns type="void" />
     </function>
     <function name="GetUniformiv" category="VERSION_2_0" extension="Core" version="2.0">
       <param name="program" type="GLuint" flow="in" />
       <param name="location" type="GLint" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(program, location)" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(program,location)" />
       <returns type="void" />
     </function>
     <function name="GetUniformLocation" category="VERSION_2_0" extension="Core" version="2.0">
       <param name="program" type="GLuint" flow="in" />
       <param name="uniformBlockIndex" type="GLuint" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(program, uniformBlockIndex, pname)" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(program,uniformBlockIndex,pname)" />
       <returns type="void" />
     </function>
     <function name="GetActiveUniformBlockName" category="VERSION_3_1" extension="Core" version="3.1">
       <param name="uniformCount" type="GLsizei" flow="in" />
       <param name="uniformIndices" type="GLuint *" flow="in" count="uniformCount" />
       <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(uniformCount, pname)" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(uniformCount,pname)" />
       <returns type="void" />
     </function>
     <function name="GetUniformBlockIndex" category="VERSION_3_1" extension="Core" version="3.1">
     <function name="GetUniformdv" category="VERSION_4_0" extension="Core" version="4.0">
       <param name="program" type="GLuint" flow="in" />
       <param name="location" type="GLint" flow="in" />
-      <param name="params" type="GLdouble *" flow="out" count="COMPSIZE(program, location)" />
+      <param name="params" type="GLdouble *" flow="out" count="COMPSIZE(program,location)" />
       <returns type="void" />
     </function>
     <function name="GetUniformSubroutineuiv" category="VERSION_4_0" extension="Core" version="4.0">
       <returns type="void" />
     </function>
   </add>
-  <add name="glcore">
-    <enum name="AccumOp" />
-    <enum name="AlphaFunction">
-      <token name="ALWAYS" value="0x0207" />
-      <token name="EQUAL" value="0x0202" />
-      <token name="GEQUAL" value="0x0206" />
-      <token name="GREATER" value="0x0204" />
-      <token name="LEQUAL" value="0x0203" />
-      <token name="LESS" value="0x0201" />
-      <token name="NEVER" value="0x0200" />
-      <token name="NOTEQUAL" value="0x0205" />
-    </enum>
-    <enum name="ARB_arrays_of_arrays" />
-    <enum name="ARB_base_instance" />
-    <enum name="ARB_bindless_texture">
-      <token name="UNSIGNED_INT64_ARB" value="0x140F" />
-    </enum>
-    <enum name="ARB_blend_func_extended">
-      <token name="SRC1_COLOR" value="0x88F9" />
-      <token name="SRC1_ALPHA" value="0x8589" />
-      <token name="ONE_MINUS_SRC1_COLOR" value="0x88FA" />
-      <token name="ONE_MINUS_SRC1_ALPHA" value="0x88FB" />
-      <token name="MAX_DUAL_SOURCE_DRAW_BUFFERS" value="0x88FC" />
-    </enum>
-    <enum name="ARB_buffer_storage">
-      <token name="MAP_READ_BIT" value="0x0001" />
-      <token name="MAP_WRITE_BIT" value="0x0002" />
-      <token name="MAP_PERSISTENT_BIT" value="0x0040" />
-      <token name="MAP_COHERENT_BIT" value="0x0080" />
-      <token name="DYNAMIC_STORAGE_BIT" value="0x0100" />
-      <token name="CLIENT_STORAGE_BIT" value="0x0200" />
-      <token name="CLIENT_MAPPED_BUFFER_BARRIER_BIT" value="0x00004000" />
-      <token name="BUFFER_IMMUTABLE_STORAGE" value="0x821F" />
-      <token name="BUFFER_STORAGE_FLAGS" value="0x8220" />
-    </enum>
-    <enum name="ARB_cl_event">
-      <token name="SYNC_CL_EVENT_ARB" value="0x8240" />
-      <token name="SYNC_CL_EVENT_COMPLETE_ARB" value="0x8241" />
-    </enum>
-    <enum name="ARB_clear_buffer_object" />
-    <enum name="ARB_clear_texture">
-      <token name="CLEAR_TEXTURE" value="0x9365" />
-    </enum>
-    <enum name="ARB_compressed_texture_pixel_storage">
-      <token name="UNPACK_COMPRESSED_BLOCK_WIDTH" value="0x9127" />
-      <token name="UNPACK_COMPRESSED_BLOCK_HEIGHT" value="0x9128" />
-      <token name="UNPACK_COMPRESSED_BLOCK_DEPTH" value="0x9129" />
-      <token name="UNPACK_COMPRESSED_BLOCK_SIZE" value="0x912A" />
-      <token name="PACK_COMPRESSED_BLOCK_WIDTH" value="0x912B" />
-      <token name="PACK_COMPRESSED_BLOCK_HEIGHT" value="0x912C" />
-      <token name="PACK_COMPRESSED_BLOCK_DEPTH" value="0x912D" />
-      <token name="PACK_COMPRESSED_BLOCK_SIZE" value="0x912E" />
-    </enum>
-    <enum name="ARB_compute_shader">
-      <token name="COMPUTE_SHADER" value="0x91B9" />
-      <token name="MAX_COMPUTE_UNIFORM_BLOCKS" value="0x91BB" />
-      <token name="MAX_COMPUTE_TEXTURE_IMAGE_UNITS" value="0x91BC" />
-      <token name="MAX_COMPUTE_IMAGE_UNIFORMS" value="0x91BD" />
-      <token name="MAX_COMPUTE_SHARED_MEMORY_SIZE" value="0x8262" />
-      <token name="MAX_COMPUTE_UNIFORM_COMPONENTS" value="0x8263" />
-      <token name="MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS" value="0x8264" />
-      <token name="MAX_COMPUTE_ATOMIC_COUNTERS" value="0x8265" />
-      <token name="MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS" value="0x8266" />
-      <token name="MAX_COMPUTE_WORK_GROUP_INVOCATIONS" value="0x90EB" />
-      <token name="MAX_COMPUTE_WORK_GROUP_COUNT" value="0x91BE" />
-      <token name="MAX_COMPUTE_WORK_GROUP_SIZE" value="0x91BF" />
-      <token name="COMPUTE_WORK_GROUP_SIZE" value="0x8267" />
-      <token name="UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER" value="0x90EC" />
-      <token name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER" value="0x90ED" />
-      <token name="DISPATCH_INDIRECT_BUFFER" value="0x90EE" />
-      <token name="DISPATCH_INDIRECT_BUFFER_BINDING" value="0x90EF" />
-      <token name="COMPUTE_SHADER_BIT" value="0x00000020" />
-    </enum>
-    <enum name="ARB_compute_variable_group_size">
-      <token name="MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB" value="0x9344" />
-      <token name="MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB" value="0x90EB" />
-      <token name="MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB" value="0x9345" />
-      <token name="MAX_COMPUTE_FIXED_GROUP_SIZE_ARB" value="0x91BF" />
-    </enum>
-    <enum name="ARB_conservative_depth" />
-    <enum name="ARB_copy_buffer">
-      <token name="COPY_READ_BUFFER_BINDING" value="0x8F36" />
-      <token name="COPY_READ_BUFFER" value="0x8F36" />
-      <token name="COPY_WRITE_BUFFER_BINDING" value="0x8F37" />
-      <token name="COPY_WRITE_BUFFER" value="0x8F37" />
-    </enum>
-    <enum name="ARB_copy_image" />
-    <enum name="ARB_debug_output">
-      <token name="DEBUG_OUTPUT_SYNCHRONOUS_ARB" value="0x8242" />
-      <token name="DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB" value="0x8243" />
-      <token name="DEBUG_CALLBACK_FUNCTION_ARB" value="0x8244" />
-      <token name="DEBUG_CALLBACK_USER_PARAM_ARB" value="0x8245" />
-      <token name="DEBUG_SOURCE_API_ARB" value="0x8246" />
-      <token name="DEBUG_SOURCE_WINDOW_SYSTEM_ARB" value="0x8247" />
-      <token name="DEBUG_SOURCE_SHADER_COMPILER_ARB" value="0x8248" />
-      <token name="DEBUG_SOURCE_THIRD_PARTY_ARB" value="0x8249" />
-      <token name="DEBUG_SOURCE_APPLICATION_ARB" value="0x824A" />
-      <token name="DEBUG_SOURCE_OTHER_ARB" value="0x824B" />
-      <token name="DEBUG_TYPE_ERROR_ARB" value="0x824C" />
-      <token name="DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB" value="0x824D" />
-      <token name="DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB" value="0x824E" />
-      <token name="DEBUG_TYPE_PORTABILITY_ARB" value="0x824F" />
-      <token name="DEBUG_TYPE_PERFORMANCE_ARB" value="0x8250" />
-      <token name="DEBUG_TYPE_OTHER_ARB" value="0x8251" />
-      <token name="MAX_DEBUG_MESSAGE_LENGTH_ARB" value="0x9143" />
-      <token name="MAX_DEBUG_LOGGED_MESSAGES_ARB" value="0x9144" />
-      <token name="DEBUG_LOGGED_MESSAGES_ARB" value="0x9145" />
-      <token name="DEBUG_SEVERITY_HIGH_ARB" value="0x9146" />
-      <token name="DEBUG_SEVERITY_MEDIUM_ARB" value="0x9147" />
-      <token name="DEBUG_SEVERITY_LOW_ARB" value="0x9148" />
-    </enum>
-    <enum name="ARB_depth_buffer_float">
-      <token name="DEPTH_COMPONENT32F" value="0x8CAC" />
-      <token name="DEPTH32F_STENCIL8" value="0x8CAD" />
-      <token name="FLOAT_32_UNSIGNED_INT_24_8_REV" value="0x8DAD" />
-    </enum>
-    <enum name="ARB_depth_clamp">
-      <token name="DEPTH_CLAMP" value="0x864F" />
-    </enum>
-    <enum name="ARB_draw_buffers_blend" />
-    <enum name="ARB_draw_elements_base_vertex" />
-    <enum name="ARB_draw_indirect">
-      <token name="DRAW_INDIRECT_BUFFER" value="0x8F3F" />
-      <token name="DRAW_INDIRECT_BUFFER_BINDING" value="0x8F43" />
-    </enum>
-    <enum name="ARB_enhanced_layouts">
-      <token name="LOCATION_COMPONENT" value="0x934A" />
-      <token name="TRANSFORM_FEEDBACK_BUFFER" value="0x8C8E" />
-      <token name="TRANSFORM_FEEDBACK_BUFFER_INDEX" value="0x934B" />
-      <token name="TRANSFORM_FEEDBACK_BUFFER_STRIDE" value="0x934C" />
-    </enum>
-    <enum name="ARB_ES2_compatibility">
-      <token name="FIXED" value="0x140C" />
-      <token name="IMPLEMENTATION_COLOR_READ_TYPE" value="0x8B9A" />
-      <token name="IMPLEMENTATION_COLOR_READ_FORMAT" value="0x8B9B" />
-      <token name="LOW_FLOAT" value="0x8DF0" />
-      <token name="MEDIUM_FLOAT" value="0x8DF1" />
-      <token name="HIGH_FLOAT" value="0x8DF2" />
-      <token name="LOW_INT" value="0x8DF3" />
-      <token name="MEDIUM_INT" value="0x8DF4" />
-      <token name="HIGH_INT" value="0x8DF5" />
-      <token name="SHADER_COMPILER" value="0x8DFA" />
-      <token name="SHADER_BINARY_FORMATS" value="0x8DF8" />
-      <token name="NUM_SHADER_BINARY_FORMATS" value="0x8DF9" />
-      <token name="MAX_VERTEX_UNIFORM_VECTORS" value="0x8DFB" />
-      <token name="MAX_VARYING_VECTORS" value="0x8DFC" />
-      <token name="MAX_FRAGMENT_UNIFORM_VECTORS" value="0x8DFD" />
-      <token name="RGB565" value="0x8D62" />
-    </enum>
-    <enum name="ARB_ES3_compatibility">
-      <token name="COMPRESSED_RGB8_ETC2" value="0x9274" />
-      <token name="COMPRESSED_SRGB8_ETC2" value="0x9275" />
-      <token name="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2" value="0x9276" />
-      <token name="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2" value="0x9277" />
-      <token name="COMPRESSED_RGBA8_ETC2_EAC" value="0x9278" />
-      <token name="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC" value="0x9279" />
-      <token name="COMPRESSED_R11_EAC" value="0x9270" />
-      <token name="COMPRESSED_SIGNED_R11_EAC" value="0x9271" />
-      <token name="COMPRESSED_RG11_EAC" value="0x9272" />
-      <token name="COMPRESSED_SIGNED_RG11_EAC" value="0x9273" />
-      <token name="PRIMITIVE_RESTART_FIXED_INDEX" value="0x8D69" />
-      <token name="ANY_SAMPLES_PASSED_CONSERVATIVE" value="0x8D6A" />
-      <token name="MAX_ELEMENT_INDEX" value="0x8D6B" />
-    </enum>
-    <enum name="ARB_explicit_attrib_location" />
-    <enum name="ARB_explicit_uniform_location">
-      <token name="MAX_UNIFORM_LOCATIONS" value="0x826E" />
-    </enum>
-    <enum name="ARB_fragment_coord_conventions" />
-    <enum name="ARB_fragment_layer_viewport" />
-    <enum name="ARB_framebuffer_no_attachments">
-      <token name="FRAMEBUFFER_DEFAULT_WIDTH" value="0x9310" />
-      <token name="FRAMEBUFFER_DEFAULT_HEIGHT" value="0x9311" />
-      <token name="FRAMEBUFFER_DEFAULT_LAYERS" value="0x9312" />
-      <token name="FRAMEBUFFER_DEFAULT_SAMPLES" value="0x9313" />
-      <token name="FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS" value="0x9314" />
-      <token name="MAX_FRAMEBUFFER_WIDTH" value="0x9315" />
-      <token name="MAX_FRAMEBUFFER_HEIGHT" value="0x9316" />
-      <token name="MAX_FRAMEBUFFER_LAYERS" value="0x9317" />
-      <token name="MAX_FRAMEBUFFER_SAMPLES" value="0x9318" />
-    </enum>
-    <enum name="ARB_framebuffer_object">
-      <token name="INVALID_FRAMEBUFFER_OPERATION" value="0x0506" />
-      <token name="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING" value="0x8210" />
-      <token name="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE" value="0x8211" />
-      <token name="FRAMEBUFFER_ATTACHMENT_RED_SIZE" value="0x8212" />
-      <token name="FRAMEBUFFER_ATTACHMENT_GREEN_SIZE" value="0x8213" />
-      <token name="FRAMEBUFFER_ATTACHMENT_BLUE_SIZE" value="0x8214" />
-      <token name="FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE" value="0x8215" />
-      <token name="FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE" value="0x8216" />
-      <token name="FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE" value="0x8217" />
-      <token name="FRAMEBUFFER_DEFAULT" value="0x8218" />
-      <token name="FRAMEBUFFER_UNDEFINED" value="0x8219" />
-      <token name="DEPTH_STENCIL_ATTACHMENT" value="0x821A" />
-      <token name="MAX_RENDERBUFFER_SIZE" value="0x84E8" />
-      <token name="DEPTH_STENCIL" value="0x84F9" />
-      <token name="UNSIGNED_INT_24_8" value="0x84FA" />
-      <token name="DEPTH24_STENCIL8" value="0x88F0" />
-      <token name="TEXTURE_STENCIL_SIZE" value="0x88F1" />
-      <token name="TEXTURE_RED_TYPE" value="0x8C10" />
-      <token name="TEXTURE_GREEN_TYPE" value="0x8C11" />
-      <token name="TEXTURE_BLUE_TYPE" value="0x8C12" />
-      <token name="TEXTURE_ALPHA_TYPE" value="0x8C13" />
-      <token name="TEXTURE_DEPTH_TYPE" value="0x8C16" />
-      <token name="UNSIGNED_NORMALIZED" value="0x8C17" />
-      <token name="FRAMEBUFFER_BINDING" value="0x8CA6" />
-      <token name="DRAW_FRAMEBUFFER_BINDING" value="0x8CA6" />
-      <token name="RENDERBUFFER_BINDING" value="0x8CA7" />
-      <token name="READ_FRAMEBUFFER" value="0x8CA8" />
-      <token name="DRAW_FRAMEBUFFER" value="0x8CA9" />
-      <token name="READ_FRAMEBUFFER_BINDING" value="0x8CAA" />
-      <token name="RENDERBUFFER_SAMPLES" value="0x8CAB" />
-      <token name="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE" value="0x8CD0" />
-      <token name="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME" value="0x8CD1" />
-      <token name="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL" value="0x8CD2" />
-      <token name="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE" value="0x8CD3" />
-      <token name="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER" value="0x8CD4" />
-      <token name="FRAMEBUFFER_COMPLETE" value="0x8CD5" />
-      <token name="FRAMEBUFFER_INCOMPLETE_ATTACHMENT" value="0x8CD6" />
-      <token name="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT" value="0x8CD7" />
-      <token name="FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER" value="0x8CDB" />
-      <token name="FRAMEBUFFER_INCOMPLETE_READ_BUFFER" value="0x8CDC" />
-      <token name="FRAMEBUFFER_UNSUPPORTED" value="0x8CDD" />
-      <token name="MAX_COLOR_ATTACHMENTS" value="0x8CDF" />
-      <token name="COLOR_ATTACHMENT0" value="0x8CE0" />
-      <token name="COLOR_ATTACHMENT1" value="0x8CE1" />
-      <token name="COLOR_ATTACHMENT2" value="0x8CE2" />
-      <token name="COLOR_ATTACHMENT3" value="0x8CE3" />
-      <token name="COLOR_ATTACHMENT4" value="0x8CE4" />
-      <token name="COLOR_ATTACHMENT5" value="0x8CE5" />
-      <token name="COLOR_ATTACHMENT6" value="0x8CE6" />
-      <token name="COLOR_ATTACHMENT7" value="0x8CE7" />
-      <token name="COLOR_ATTACHMENT8" value="0x8CE8" />
-      <token name="COLOR_ATTACHMENT9" value="0x8CE9" />
-      <token name="COLOR_ATTACHMENT10" value="0x8CEA" />
-      <token name="COLOR_ATTACHMENT11" value="0x8CEB" />
-      <token name="COLOR_ATTACHMENT12" value="0x8CEC" />
-      <token name="COLOR_ATTACHMENT13" value="0x8CED" />
-      <token name="COLOR_ATTACHMENT14" value="0x8CEE" />
-      <token name="COLOR_ATTACHMENT15" value="0x8CEF" />
-      <token name="DEPTH_ATTACHMENT" value="0x8D00" />
-      <token name="STENCIL_ATTACHMENT" value="0x8D20" />
-      <token name="FRAMEBUFFER" value="0x8D40" />
-      <token name="RENDERBUFFER" value="0x8D41" />
-      <token name="RENDERBUFFER_WIDTH" value="0x8D42" />
-      <token name="RENDERBUFFER_HEIGHT" value="0x8D43" />
-      <token name="RENDERBUFFER_INTERNAL_FORMAT" value="0x8D44" />
-      <token name="STENCIL_INDEX1" value="0x8D46" />
-      <token name="STENCIL_INDEX4" value="0x8D47" />
-      <token name="STENCIL_INDEX8" value="0x8D48" />
-      <token name="STENCIL_INDEX16" value="0x8D49" />
-      <token name="RENDERBUFFER_RED_SIZE" value="0x8D50" />
-      <token name="RENDERBUFFER_GREEN_SIZE" value="0x8D51" />
-      <token name="RENDERBUFFER_BLUE_SIZE" value="0x8D52" />
-      <token name="RENDERBUFFER_ALPHA_SIZE" value="0x8D53" />
-      <token name="RENDERBUFFER_DEPTH_SIZE" value="0x8D54" />
-      <token name="RENDERBUFFER_STENCIL_SIZE" value="0x8D55" />
-      <token name="FRAMEBUFFER_INCOMPLETE_MULTISAMPLE" value="0x8D56" />
-      <token name="MAX_SAMPLES" value="0x8D57" />
-      <token name="INDEX" value="0x8222" />
-    </enum>
-    <enum name="ARB_framebuffer_sRGB">
-      <token name="FRAMEBUFFER_SRGB" value="0x8DB9" />
-    </enum>
-    <enum name="ARB_get_program_binary">
-      <token name="PROGRAM_BINARY_RETRIEVABLE_HINT" value="0x8257" />
-      <token name="PROGRAM_BINARY_LENGTH" value="0x8741" />
-      <token name="NUM_PROGRAM_BINARY_FORMATS" value="0x87FE" />
-      <token name="PROGRAM_BINARY_FORMATS" value="0x87FF" />
-    </enum>
-    <enum name="ARB_gpu_shader_fp64">
-      <token name="DOUBLE" value="0x140A" />
-      <token name="DOUBLE_VEC2" value="0x8FFC" />
-      <token name="DOUBLE_VEC3" value="0x8FFD" />
-      <token name="DOUBLE_VEC4" value="0x8FFE" />
-      <token name="DOUBLE_MAT2" value="0x8F46" />
-      <token name="DOUBLE_MAT3" value="0x8F47" />
-      <token name="DOUBLE_MAT4" value="0x8F48" />
-      <token name="DOUBLE_MAT2x3" value="0x8F49" />
-      <token name="DOUBLE_MAT2x4" value="0x8F4A" />
-      <token name="DOUBLE_MAT3x2" value="0x8F4B" />
-      <token name="DOUBLE_MAT3x4" value="0x8F4C" />
-      <token name="DOUBLE_MAT4x2" value="0x8F4D" />
-      <token name="DOUBLE_MAT4x3" value="0x8F4E" />
+  <add name="gl" version="4.5">
+    <enum name="VERSION_4_5">
+      <token name="CONTEXT_LOST" value="0x0507" />
+      <token name="LOWER_LEFT" value="0x8CA1" />
+      <token name="UPPER_LEFT" value="0x8CA2" />
+      <token name="NEGATIVE_ONE_TO_ONE" value="0x935E" />
+      <token name="ZERO_TO_ONE" value="0x935F" />
+      <token name="CLIP_ORIGIN" value="0x935C" />
+      <token name="CLIP_DEPTH_MODE" value="0x935D" />
+      <token name="QUERY_WAIT_INVERTED" value="0x8E17" />
+      <token name="QUERY_NO_WAIT_INVERTED" value="0x8E18" />
+      <token name="QUERY_BY_REGION_WAIT_INVERTED" value="0x8E19" />
+      <token name="QUERY_BY_REGION_NO_WAIT_INVERTED" value="0x8E1A" />
+      <token name="MAX_CULL_DISTANCES" value="0x82F9" />
+      <token name="MAX_COMBINED_CLIP_AND_CULL_DISTANCES" value="0x82FA" />
+      <token name="TEXTURE_TARGET" value="0x1006" />
+      <token name="QUERY_TARGET" value="0x82EA" />
+      <token name="TEXTURE_BINDING_1D" value="0x8068" />
+      <token name="TEXTURE_BINDING_1D_ARRAY" value="0x8C1C" />
+      <token name="TEXTURE_BINDING_2D" value="0x8069" />
+      <token name="TEXTURE_BINDING_2D_ARRAY" value="0x8C1D" />
+      <token name="TEXTURE_BINDING_2D_MULTISAMPLE" value="0x9104" />
+      <token name="TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY" value="0x9105" />
+      <token name="TEXTURE_BINDING_3D" value="0x806A" />
+      <token name="TEXTURE_BINDING_BUFFER" value="0x8C2C" />
+      <token name="TEXTURE_BINDING_CUBE_MAP" value="0x8514" />
+      <token name="TEXTURE_BINDING_CUBE_MAP_ARRAY" value="0x900A" />
+      <token name="TEXTURE_BINDING_RECTANGLE" value="0x84F6" />
+      <token name="TEXTURE_BINDING" value="0x82EB" />
+      <token name="NO_ERROR" value="0" />
+      <token name="GUILTY_CONTEXT_RESET" value="0x8253" />
+      <token name="INNOCENT_CONTEXT_RESET" value="0x8254" />
+      <token name="UNKNOWN_CONTEXT_RESET" value="0x8255" />
+      <token name="RESET_NOTIFICATION_STRATEGY" value="0x8256" />
+      <token name="LOSE_CONTEXT_ON_RESET" value="0x8252" />
+      <token name="NO_RESET_NOTIFICATION" value="0x8261" />
+      <token name="CONTEXT_FLAG_ROBUST_ACCESS_BIT" value="0x00000004" />
+      <token name="CONTEXT_LOST" value="0x0507" />
+      <token name="CONTEXT_RELEASE_BEHAVIOR" value="0x82FB" />
+      <token name="NONE" value="0" />
+      <token name="CONTEXT_RELEASE_BEHAVIOR_FLUSH" value="0x82FC" />
     </enum>
-    <enum name="ARB_gpu_shader5">
-      <token name="GEOMETRY_SHADER_INVOCATIONS" value="0x887F" />
+    <function name="BindTextureUnit" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="unit" type="GLuint" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BlitNamedFramebuffer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="readFramebuffer" type="GLuint" flow="in" />
+      <param name="drawFramebuffer" type="GLuint" flow="in" />
+      <param name="srcX0" type="GLint" flow="in" />
+      <param name="srcY0" type="GLint" flow="in" />
+      <param name="srcX1" type="GLint" flow="in" />
+      <param name="srcY1" type="GLint" flow="in" />
+      <param name="dstX0" type="GLint" flow="in" />
+      <param name="dstY0" type="GLint" flow="in" />
+      <param name="dstX1" type="GLint" flow="in" />
+      <param name="dstY1" type="GLint" flow="in" />
+      <param name="mask" type="GLbitfield" flow="in" />
+      <param name="filter" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CheckNamedFramebufferStatus" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="target" type="GLenum" flow="in" />
+      <returns type="GLenum" />
+    </function>
+    <function name="ClearNamedBufferData" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ClearNamedBufferSubData" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ClearNamedFramebufferfi" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="depth" type="GLfloat" flow="in" />
+      <param name="stencil" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ClearNamedFramebufferfv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="drawbuffer" type="GLint" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ClearNamedFramebufferiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="drawbuffer" type="GLint" flow="in" />
+      <param name="value" type="GLint *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ClearNamedFramebufferuiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="drawbuffer" type="GLint" flow="in" />
+      <param name="value" type="GLuint *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ClipControl" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="origin" type="GLenum" flow="in" />
+      <param name="depth" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CompressedTextureSubImage1D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="imageSize" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CompressedTextureSubImage2D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="imageSize" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CompressedTextureSubImage3D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="imageSize" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CopyNamedBufferSubData" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="readBuffer" type="GLuint" flow="in" />
+      <param name="writeBuffer" type="GLuint" flow="in" />
+      <param name="readOffset" type="GLintptr" flow="in" />
+      <param name="writeOffset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CopyTextureSubImage1D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CopyTextureSubImage2D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CopyTextureSubImage3D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CreateBuffers" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="buffers" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateFramebuffers" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="framebuffers" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateProgramPipelines" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="pipelines" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateQueries" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="ids" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateRenderbuffers" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="renderbuffers" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateSamplers" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="samplers" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateTextures" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="textures" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateTransformFeedbacks" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="ids" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateVertexArrays" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="arrays" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="DisableVertexArrayAttrib" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="EnableVertexArrayAttrib" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="FlushMappedNamedBufferRange" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="GenerateTextureMipmap" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="GetCompressedTextureImage" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetCompressedTextureSubImage" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetGraphicsResetStatus" category="VERSION_4_5" extension="Core" version="4.5">
+      <returns type="GLenum" />
+    </function>
+    <function name="GetNamedBufferParameteri64v" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint64 *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetNamedBufferParameteriv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetNamedBufferPointerv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="void **" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetNamedBufferSubData" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetNamedFramebufferAttachmentParameteriv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="attachment" type="GLenum" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetNamedFramebufferParameteriv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetNamedRenderbufferParameteriv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="renderbuffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnColorTable" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="table" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnCompressedTexImage" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="lod" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnConvolutionFilter" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="image" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnHistogram" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="reset" type="GLboolean" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="values" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnMapdv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="query" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="v" type="GLdouble *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnMapfv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="query" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="v" type="GLfloat *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnMapiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="query" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="v" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnMinmax" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="reset" type="GLboolean" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="values" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnPixelMapfv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="map" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="values" type="GLfloat *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnPixelMapuiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="map" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="values" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnPixelMapusv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="map" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="values" type="GLushort *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnPolygonStipple" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pattern" type="GLubyte *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnSeparableFilter" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="rowBufSize" type="GLsizei" flow="in" />
+      <param name="row" type="void *" flow="out" />
+      <param name="columnBufSize" type="GLsizei" flow="in" />
+      <param name="column" type="void *" flow="out" />
+      <param name="span" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnTexImage" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformdv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLdouble *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformfv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformuiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetTextureImage" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetTextureLevelParameterfv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetTextureLevelParameteriv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetTextureParameterfv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetTextureParameterIiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetTextureParameterIuiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetTextureParameteriv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetTextureSubImage" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetTransformFeedbacki_v" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="xfb" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetTransformFeedbacki64_v" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="xfb" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="param" type="GLint64 *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetTransformFeedbackiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="xfb" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetVertexArrayIndexed64iv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint64 *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetVertexArrayIndexediv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetVertexArrayiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="InvalidateNamedFramebufferData" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="numAttachments" type="GLsizei" flow="in" />
+      <param name="attachments" type="GLenum *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="InvalidateNamedFramebufferSubData" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="numAttachments" type="GLsizei" flow="in" />
+      <param name="attachments" type="GLenum *" flow="in" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="MapNamedBuffer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="access" type="GLenum" flow="in" />
+      <returns type="void *" />
+    </function>
+    <function name="MapNamedBufferRange" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <param name="access" type="GLbitfield" flow="in" />
+      <returns type="void *" />
+    </function>
+    <function name="MemoryBarrierByRegion" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="barriers" type="GLbitfield" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedBufferData" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <param name="usage" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedBufferStorage" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <param name="flags" type="GLbitfield" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedBufferSubData" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedFramebufferDrawBuffer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buf" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedFramebufferDrawBuffers" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="bufs" type="GLenum *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedFramebufferParameteri" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedFramebufferReadBuffer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="src" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedFramebufferRenderbuffer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="attachment" type="GLenum" flow="in" />
+      <param name="renderbuffertarget" type="GLenum" flow="in" />
+      <param name="renderbuffer" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedFramebufferTexture" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="attachment" type="GLenum" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedFramebufferTextureLayer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="attachment" type="GLenum" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="layer" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedRenderbufferStorage" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="renderbuffer" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedRenderbufferStorageMultisample" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="renderbuffer" type="GLuint" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ReadnPixels" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="TextureBarrier" category="VERSION_4_5" extension="Core" version="4.5">
+      <returns type="void" />
+    </function>
+    <function name="TextureBuffer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureBufferRange" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureParameterf" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLfloat" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureParameterfv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLfloat *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureParameteri" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureParameterIiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureParameterIuiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLuint *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureParameteriv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureStorage1D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="levels" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureStorage2D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="levels" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureStorage2DMultisample" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="fixedsamplelocations" type="GLboolean" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureStorage3D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="levels" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureStorage3DMultisample" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="fixedsamplelocations" type="GLboolean" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureSubImage1D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="pixels" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureSubImage2D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="pixels" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureSubImage3D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="pixels" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TransformFeedbackBufferBase" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="xfb" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TransformFeedbackBufferRange" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="xfb" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="UnmapNamedBuffer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <returns type="GLboolean" />
+    </function>
+    <function name="VertexArrayAttribBinding" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="bindingindex" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="VertexArrayAttribFormat" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="size" type="GLint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="GLboolean" flow="in" />
+      <param name="relativeoffset" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="VertexArrayAttribIFormat" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="size" type="GLint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="relativeoffset" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="VertexArrayAttribLFormat" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="size" type="GLint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="relativeoffset" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="VertexArrayBindingDivisor" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="bindingindex" type="GLuint" flow="in" />
+      <param name="divisor" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="VertexArrayElementBuffer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="VertexArrayVertexBuffer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="bindingindex" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="stride" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="VertexArrayVertexBuffers" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="first" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="buffers" type="GLuint *" flow="in" />
+      <param name="offsets" type="GLintptr *" flow="in" />
+      <param name="strides" type="GLsizei *" flow="in" />
+      <returns type="void" />
+    </function>
+  </add>
+  <add name="glcore">
+    <enum name="AccumOp" />
+    <enum name="AlphaFunction">
+      <token name="ALWAYS" value="0x0207" />
+      <token name="EQUAL" value="0x0202" />
+      <token name="GEQUAL" value="0x0206" />
+      <token name="GREATER" value="0x0204" />
+      <token name="LEQUAL" value="0x0203" />
+      <token name="LESS" value="0x0201" />
+      <token name="NEVER" value="0x0200" />
+      <token name="NOTEQUAL" value="0x0205" />
+    </enum>
+    <enum name="ARB_arrays_of_arrays" />
+    <enum name="ARB_base_instance" />
+    <enum name="ARB_bindless_texture">
+      <token name="UNSIGNED_INT64_ARB" value="0x140F" />
+    </enum>
+    <enum name="ARB_blend_func_extended">
+      <token name="SRC1_COLOR" value="0x88F9" />
+      <token name="SRC1_ALPHA" value="0x8589" />
+      <token name="ONE_MINUS_SRC1_COLOR" value="0x88FA" />
+      <token name="ONE_MINUS_SRC1_ALPHA" value="0x88FB" />
+      <token name="MAX_DUAL_SOURCE_DRAW_BUFFERS" value="0x88FC" />
+    </enum>
+    <enum name="ARB_buffer_storage">
+      <token name="MAP_READ_BIT" value="0x0001" />
+      <token name="MAP_WRITE_BIT" value="0x0002" />
+      <token name="MAP_PERSISTENT_BIT" value="0x0040" />
+      <token name="MAP_COHERENT_BIT" value="0x0080" />
+      <token name="DYNAMIC_STORAGE_BIT" value="0x0100" />
+      <token name="CLIENT_STORAGE_BIT" value="0x0200" />
+      <token name="CLIENT_MAPPED_BUFFER_BARRIER_BIT" value="0x00004000" />
+      <token name="BUFFER_IMMUTABLE_STORAGE" value="0x821F" />
+      <token name="BUFFER_STORAGE_FLAGS" value="0x8220" />
+    </enum>
+    <enum name="ARB_cl_event">
+      <token name="SYNC_CL_EVENT_ARB" value="0x8240" />
+      <token name="SYNC_CL_EVENT_COMPLETE_ARB" value="0x8241" />
+    </enum>
+    <enum name="ARB_clear_buffer_object" />
+    <enum name="ARB_clear_texture">
+      <token name="CLEAR_TEXTURE" value="0x9365" />
+    </enum>
+    <enum name="ARB_clip_control">
+      <token name="LOWER_LEFT" value="0x8CA1" />
+      <token name="UPPER_LEFT" value="0x8CA2" />
+      <token name="NEGATIVE_ONE_TO_ONE" value="0x935E" />
+      <token name="ZERO_TO_ONE" value="0x935F" />
+      <token name="CLIP_ORIGIN" value="0x935C" />
+      <token name="CLIP_DEPTH_MODE" value="0x935D" />
+    </enum>
+    <enum name="ARB_compressed_texture_pixel_storage">
+      <token name="UNPACK_COMPRESSED_BLOCK_WIDTH" value="0x9127" />
+      <token name="UNPACK_COMPRESSED_BLOCK_HEIGHT" value="0x9128" />
+      <token name="UNPACK_COMPRESSED_BLOCK_DEPTH" value="0x9129" />
+      <token name="UNPACK_COMPRESSED_BLOCK_SIZE" value="0x912A" />
+      <token name="PACK_COMPRESSED_BLOCK_WIDTH" value="0x912B" />
+      <token name="PACK_COMPRESSED_BLOCK_HEIGHT" value="0x912C" />
+      <token name="PACK_COMPRESSED_BLOCK_DEPTH" value="0x912D" />
+      <token name="PACK_COMPRESSED_BLOCK_SIZE" value="0x912E" />
+    </enum>
+    <enum name="ARB_compute_shader">
+      <token name="COMPUTE_SHADER" value="0x91B9" />
+      <token name="MAX_COMPUTE_UNIFORM_BLOCKS" value="0x91BB" />
+      <token name="MAX_COMPUTE_TEXTURE_IMAGE_UNITS" value="0x91BC" />
+      <token name="MAX_COMPUTE_IMAGE_UNIFORMS" value="0x91BD" />
+      <token name="MAX_COMPUTE_SHARED_MEMORY_SIZE" value="0x8262" />
+      <token name="MAX_COMPUTE_UNIFORM_COMPONENTS" value="0x8263" />
+      <token name="MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS" value="0x8264" />
+      <token name="MAX_COMPUTE_ATOMIC_COUNTERS" value="0x8265" />
+      <token name="MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS" value="0x8266" />
+      <token name="MAX_COMPUTE_WORK_GROUP_INVOCATIONS" value="0x90EB" />
+      <token name="MAX_COMPUTE_WORK_GROUP_COUNT" value="0x91BE" />
+      <token name="MAX_COMPUTE_WORK_GROUP_SIZE" value="0x91BF" />
+      <token name="COMPUTE_WORK_GROUP_SIZE" value="0x8267" />
+      <token name="UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER" value="0x90EC" />
+      <token name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER" value="0x90ED" />
+      <token name="DISPATCH_INDIRECT_BUFFER" value="0x90EE" />
+      <token name="DISPATCH_INDIRECT_BUFFER_BINDING" value="0x90EF" />
+      <token name="COMPUTE_SHADER_BIT" value="0x00000020" />
+    </enum>
+    <enum name="ARB_compute_variable_group_size">
+      <token name="MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB" value="0x9344" />
+      <token name="MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB" value="0x90EB" />
+      <token name="MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB" value="0x9345" />
+      <token name="MAX_COMPUTE_FIXED_GROUP_SIZE_ARB" value="0x91BF" />
+    </enum>
+    <enum name="ARB_conditional_render_inverted">
+      <token name="QUERY_WAIT_INVERTED" value="0x8E17" />
+      <token name="QUERY_NO_WAIT_INVERTED" value="0x8E18" />
+      <token name="QUERY_BY_REGION_WAIT_INVERTED" value="0x8E19" />
+      <token name="QUERY_BY_REGION_NO_WAIT_INVERTED" value="0x8E1A" />
+    </enum>
+    <enum name="ARB_conservative_depth" />
+    <enum name="ARB_copy_buffer">
+      <token name="COPY_READ_BUFFER_BINDING" value="0x8F36" />
+      <token name="COPY_READ_BUFFER" value="0x8F36" />
+      <token name="COPY_WRITE_BUFFER_BINDING" value="0x8F37" />
+      <token name="COPY_WRITE_BUFFER" value="0x8F37" />
+    </enum>
+    <enum name="ARB_copy_image" />
+    <enum name="ARB_cull_distance">
+      <token name="MAX_CULL_DISTANCES" value="0x82F9" />
+      <token name="MAX_COMBINED_CLIP_AND_CULL_DISTANCES" value="0x82FA" />
+    </enum>
+    <enum name="ARB_debug_output">
+      <token name="DEBUG_OUTPUT_SYNCHRONOUS_ARB" value="0x8242" />
+      <token name="DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB" value="0x8243" />
+      <token name="DEBUG_CALLBACK_FUNCTION_ARB" value="0x8244" />
+      <token name="DEBUG_CALLBACK_USER_PARAM_ARB" value="0x8245" />
+      <token name="DEBUG_SOURCE_API_ARB" value="0x8246" />
+      <token name="DEBUG_SOURCE_WINDOW_SYSTEM_ARB" value="0x8247" />
+      <token name="DEBUG_SOURCE_SHADER_COMPILER_ARB" value="0x8248" />
+      <token name="DEBUG_SOURCE_THIRD_PARTY_ARB" value="0x8249" />
+      <token name="DEBUG_SOURCE_APPLICATION_ARB" value="0x824A" />
+      <token name="DEBUG_SOURCE_OTHER_ARB" value="0x824B" />
+      <token name="DEBUG_TYPE_ERROR_ARB" value="0x824C" />
+      <token name="DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB" value="0x824D" />
+      <token name="DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB" value="0x824E" />
+      <token name="DEBUG_TYPE_PORTABILITY_ARB" value="0x824F" />
+      <token name="DEBUG_TYPE_PERFORMANCE_ARB" value="0x8250" />
+      <token name="DEBUG_TYPE_OTHER_ARB" value="0x8251" />
+      <token name="MAX_DEBUG_MESSAGE_LENGTH_ARB" value="0x9143" />
+      <token name="MAX_DEBUG_LOGGED_MESSAGES_ARB" value="0x9144" />
+      <token name="DEBUG_LOGGED_MESSAGES_ARB" value="0x9145" />
+      <token name="DEBUG_SEVERITY_HIGH_ARB" value="0x9146" />
+      <token name="DEBUG_SEVERITY_MEDIUM_ARB" value="0x9147" />
+      <token name="DEBUG_SEVERITY_LOW_ARB" value="0x9148" />
+    </enum>
+    <enum name="ARB_depth_buffer_float">
+      <token name="DEPTH_COMPONENT32F" value="0x8CAC" />
+      <token name="DEPTH32F_STENCIL8" value="0x8CAD" />
+      <token name="FLOAT_32_UNSIGNED_INT_24_8_REV" value="0x8DAD" />
+    </enum>
+    <enum name="ARB_depth_clamp">
+      <token name="DEPTH_CLAMP" value="0x864F" />
+    </enum>
+    <enum name="ARB_derivative_control" />
+    <enum name="ARB_direct_state_access">
+      <token name="TEXTURE_TARGET" value="0x1006" />
+      <token name="QUERY_TARGET" value="0x82EA" />
+      <token name="TEXTURE_BINDING_1D" value="0x8068" />
+      <token name="TEXTURE_BINDING_1D_ARRAY" value="0x8C1C" />
+      <token name="TEXTURE_BINDING_2D" value="0x8069" />
+      <token name="TEXTURE_BINDING_2D_ARRAY" value="0x8C1D" />
+      <token name="TEXTURE_BINDING_2D_MULTISAMPLE" value="0x9104" />
+      <token name="TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY" value="0x9105" />
+      <token name="TEXTURE_BINDING_3D" value="0x806A" />
+      <token name="TEXTURE_BINDING_BUFFER" value="0x8C2C" />
+      <token name="TEXTURE_BINDING_CUBE_MAP" value="0x8514" />
+      <token name="TEXTURE_BINDING_CUBE_MAP_ARRAY" value="0x900A" />
+      <token name="TEXTURE_BINDING_RECTANGLE" value="0x84F6" />
+      <token name="TEXTURE_BINDING" value="0x82EB" />
+    </enum>
+    <enum name="ARB_draw_buffers_blend" />
+    <enum name="ARB_draw_elements_base_vertex" />
+    <enum name="ARB_draw_indirect">
+      <token name="DRAW_INDIRECT_BUFFER" value="0x8F3F" />
+      <token name="DRAW_INDIRECT_BUFFER_BINDING" value="0x8F43" />
+    </enum>
+    <enum name="ARB_enhanced_layouts">
+      <token name="LOCATION_COMPONENT" value="0x934A" />
+      <token name="TRANSFORM_FEEDBACK_BUFFER" value="0x8C8E" />
+      <token name="TRANSFORM_FEEDBACK_BUFFER_INDEX" value="0x934B" />
+      <token name="TRANSFORM_FEEDBACK_BUFFER_STRIDE" value="0x934C" />
+    </enum>
+    <enum name="ARB_ES2_compatibility">
+      <token name="FIXED" value="0x140C" />
+      <token name="IMPLEMENTATION_COLOR_READ_TYPE" value="0x8B9A" />
+      <token name="IMPLEMENTATION_COLOR_READ_FORMAT" value="0x8B9B" />
+      <token name="LOW_FLOAT" value="0x8DF0" />
+      <token name="MEDIUM_FLOAT" value="0x8DF1" />
+      <token name="HIGH_FLOAT" value="0x8DF2" />
+      <token name="LOW_INT" value="0x8DF3" />
+      <token name="MEDIUM_INT" value="0x8DF4" />
+      <token name="HIGH_INT" value="0x8DF5" />
+      <token name="SHADER_COMPILER" value="0x8DFA" />
+      <token name="SHADER_BINARY_FORMATS" value="0x8DF8" />
+      <token name="NUM_SHADER_BINARY_FORMATS" value="0x8DF9" />
+      <token name="MAX_VERTEX_UNIFORM_VECTORS" value="0x8DFB" />
+      <token name="MAX_VARYING_VECTORS" value="0x8DFC" />
+      <token name="MAX_FRAGMENT_UNIFORM_VECTORS" value="0x8DFD" />
+      <token name="RGB565" value="0x8D62" />
+    </enum>
+    <enum name="ARB_ES3_1_compatibility" />
+    <enum name="ARB_ES3_compatibility">
+      <token name="COMPRESSED_RGB8_ETC2" value="0x9274" />
+      <token name="COMPRESSED_SRGB8_ETC2" value="0x9275" />
+      <token name="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2" value="0x9276" />
+      <token name="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2" value="0x9277" />
+      <token name="COMPRESSED_RGBA8_ETC2_EAC" value="0x9278" />
+      <token name="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC" value="0x9279" />
+      <token name="COMPRESSED_R11_EAC" value="0x9270" />
+      <token name="COMPRESSED_SIGNED_R11_EAC" value="0x9271" />
+      <token name="COMPRESSED_RG11_EAC" value="0x9272" />
+      <token name="COMPRESSED_SIGNED_RG11_EAC" value="0x9273" />
+      <token name="PRIMITIVE_RESTART_FIXED_INDEX" value="0x8D69" />
+      <token name="ANY_SAMPLES_PASSED_CONSERVATIVE" value="0x8D6A" />
+      <token name="MAX_ELEMENT_INDEX" value="0x8D6B" />
+    </enum>
+    <enum name="ARB_explicit_attrib_location" />
+    <enum name="ARB_explicit_uniform_location">
+      <token name="MAX_UNIFORM_LOCATIONS" value="0x826E" />
+    </enum>
+    <enum name="ARB_fragment_coord_conventions" />
+    <enum name="ARB_fragment_layer_viewport" />
+    <enum name="ARB_framebuffer_no_attachments">
+      <token name="FRAMEBUFFER_DEFAULT_WIDTH" value="0x9310" />
+      <token name="FRAMEBUFFER_DEFAULT_HEIGHT" value="0x9311" />
+      <token name="FRAMEBUFFER_DEFAULT_LAYERS" value="0x9312" />
+      <token name="FRAMEBUFFER_DEFAULT_SAMPLES" value="0x9313" />
+      <token name="FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS" value="0x9314" />
+      <token name="MAX_FRAMEBUFFER_WIDTH" value="0x9315" />
+      <token name="MAX_FRAMEBUFFER_HEIGHT" value="0x9316" />
+      <token name="MAX_FRAMEBUFFER_LAYERS" value="0x9317" />
+      <token name="MAX_FRAMEBUFFER_SAMPLES" value="0x9318" />
+    </enum>
+    <enum name="ARB_framebuffer_object">
+      <token name="INVALID_FRAMEBUFFER_OPERATION" value="0x0506" />
+      <token name="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING" value="0x8210" />
+      <token name="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE" value="0x8211" />
+      <token name="FRAMEBUFFER_ATTACHMENT_RED_SIZE" value="0x8212" />
+      <token name="FRAMEBUFFER_ATTACHMENT_GREEN_SIZE" value="0x8213" />
+      <token name="FRAMEBUFFER_ATTACHMENT_BLUE_SIZE" value="0x8214" />
+      <token name="FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE" value="0x8215" />
+      <token name="FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE" value="0x8216" />
+      <token name="FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE" value="0x8217" />
+      <token name="FRAMEBUFFER_DEFAULT" value="0x8218" />
+      <token name="FRAMEBUFFER_UNDEFINED" value="0x8219" />
+      <token name="DEPTH_STENCIL_ATTACHMENT" value="0x821A" />
+      <token name="MAX_RENDERBUFFER_SIZE" value="0x84E8" />
+      <token name="DEPTH_STENCIL" value="0x84F9" />
+      <token name="UNSIGNED_INT_24_8" value="0x84FA" />
+      <token name="DEPTH24_STENCIL8" value="0x88F0" />
+      <token name="TEXTURE_STENCIL_SIZE" value="0x88F1" />
+      <token name="TEXTURE_RED_TYPE" value="0x8C10" />
+      <token name="TEXTURE_GREEN_TYPE" value="0x8C11" />
+      <token name="TEXTURE_BLUE_TYPE" value="0x8C12" />
+      <token name="TEXTURE_ALPHA_TYPE" value="0x8C13" />
+      <token name="TEXTURE_DEPTH_TYPE" value="0x8C16" />
+      <token name="UNSIGNED_NORMALIZED" value="0x8C17" />
+      <token name="FRAMEBUFFER_BINDING" value="0x8CA6" />
+      <token name="DRAW_FRAMEBUFFER_BINDING" value="0x8CA6" />
+      <token name="RENDERBUFFER_BINDING" value="0x8CA7" />
+      <token name="READ_FRAMEBUFFER" value="0x8CA8" />
+      <token name="DRAW_FRAMEBUFFER" value="0x8CA9" />
+      <token name="READ_FRAMEBUFFER_BINDING" value="0x8CAA" />
+      <token name="RENDERBUFFER_SAMPLES" value="0x8CAB" />
+      <token name="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE" value="0x8CD0" />
+      <token name="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME" value="0x8CD1" />
+      <token name="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL" value="0x8CD2" />
+      <token name="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE" value="0x8CD3" />
+      <token name="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER" value="0x8CD4" />
+      <token name="FRAMEBUFFER_COMPLETE" value="0x8CD5" />
+      <token name="FRAMEBUFFER_INCOMPLETE_ATTACHMENT" value="0x8CD6" />
+      <token name="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT" value="0x8CD7" />
+      <token name="FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER" value="0x8CDB" />
+      <token name="FRAMEBUFFER_INCOMPLETE_READ_BUFFER" value="0x8CDC" />
+      <token name="FRAMEBUFFER_UNSUPPORTED" value="0x8CDD" />
+      <token name="MAX_COLOR_ATTACHMENTS" value="0x8CDF" />
+      <token name="COLOR_ATTACHMENT0" value="0x8CE0" />
+      <token name="COLOR_ATTACHMENT1" value="0x8CE1" />
+      <token name="COLOR_ATTACHMENT2" value="0x8CE2" />
+      <token name="COLOR_ATTACHMENT3" value="0x8CE3" />
+      <token name="COLOR_ATTACHMENT4" value="0x8CE4" />
+      <token name="COLOR_ATTACHMENT5" value="0x8CE5" />
+      <token name="COLOR_ATTACHMENT6" value="0x8CE6" />
+      <token name="COLOR_ATTACHMENT7" value="0x8CE7" />
+      <token name="COLOR_ATTACHMENT8" value="0x8CE8" />
+      <token name="COLOR_ATTACHMENT9" value="0x8CE9" />
+      <token name="COLOR_ATTACHMENT10" value="0x8CEA" />
+      <token name="COLOR_ATTACHMENT11" value="0x8CEB" />
+      <token name="COLOR_ATTACHMENT12" value="0x8CEC" />
+      <token name="COLOR_ATTACHMENT13" value="0x8CED" />
+      <token name="COLOR_ATTACHMENT14" value="0x8CEE" />
+      <token name="COLOR_ATTACHMENT15" value="0x8CEF" />
+      <token name="DEPTH_ATTACHMENT" value="0x8D00" />
+      <token name="STENCIL_ATTACHMENT" value="0x8D20" />
+      <token name="FRAMEBUFFER" value="0x8D40" />
+      <token name="RENDERBUFFER" value="0x8D41" />
+      <token name="RENDERBUFFER_WIDTH" value="0x8D42" />
+      <token name="RENDERBUFFER_HEIGHT" value="0x8D43" />
+      <token name="RENDERBUFFER_INTERNAL_FORMAT" value="0x8D44" />
+      <token name="STENCIL_INDEX1" value="0x8D46" />
+      <token name="STENCIL_INDEX4" value="0x8D47" />
+      <token name="STENCIL_INDEX8" value="0x8D48" />
+      <token name="STENCIL_INDEX16" value="0x8D49" />
+      <token name="RENDERBUFFER_RED_SIZE" value="0x8D50" />
+      <token name="RENDERBUFFER_GREEN_SIZE" value="0x8D51" />
+      <token name="RENDERBUFFER_BLUE_SIZE" value="0x8D52" />
+      <token name="RENDERBUFFER_ALPHA_SIZE" value="0x8D53" />
+      <token name="RENDERBUFFER_DEPTH_SIZE" value="0x8D54" />
+      <token name="RENDERBUFFER_STENCIL_SIZE" value="0x8D55" />
+      <token name="FRAMEBUFFER_INCOMPLETE_MULTISAMPLE" value="0x8D56" />
+      <token name="MAX_SAMPLES" value="0x8D57" />
+      <token name="INDEX" value="0x8222" />
+    </enum>
+    <enum name="ARB_framebuffer_sRGB">
+      <token name="FRAMEBUFFER_SRGB" value="0x8DB9" />
+    </enum>
+    <enum name="ARB_get_program_binary">
+      <token name="PROGRAM_BINARY_RETRIEVABLE_HINT" value="0x8257" />
+      <token name="PROGRAM_BINARY_LENGTH" value="0x8741" />
+      <token name="NUM_PROGRAM_BINARY_FORMATS" value="0x87FE" />
+      <token name="PROGRAM_BINARY_FORMATS" value="0x87FF" />
+    </enum>
+    <enum name="ARB_get_texture_sub_image" />
+    <enum name="ARB_gpu_shader_fp64">
+      <token name="DOUBLE" value="0x140A" />
+      <token name="DOUBLE_VEC2" value="0x8FFC" />
+      <token name="DOUBLE_VEC3" value="0x8FFD" />
+      <token name="DOUBLE_VEC4" value="0x8FFE" />
+      <token name="DOUBLE_MAT2" value="0x8F46" />
+      <token name="DOUBLE_MAT3" value="0x8F47" />
+      <token name="DOUBLE_MAT4" value="0x8F48" />
+      <token name="DOUBLE_MAT2x3" value="0x8F49" />
+      <token name="DOUBLE_MAT2x4" value="0x8F4A" />
+      <token name="DOUBLE_MAT3x2" value="0x8F4B" />
+      <token name="DOUBLE_MAT3x4" value="0x8F4C" />
+      <token name="DOUBLE_MAT4x2" value="0x8F4D" />
+      <token name="DOUBLE_MAT4x3" value="0x8F4E" />
+    </enum>
+    <enum name="ARB_gpu_shader5">
+      <token name="GEOMETRY_SHADER_INVOCATIONS" value="0x887F" />
       <token name="MAX_GEOMETRY_SHADER_INVOCATIONS" value="0x8E5A" />
       <token name="MIN_FRAGMENT_INTERPOLATION_OFFSET" value="0x8E5B" />
       <token name="MAX_FRAGMENT_INTERPOLATION_OFFSET" value="0x8E5C" />
     <enum name="ARB_occlusion_query2">
       <token name="ANY_SAMPLES_PASSED" value="0x8C2F" />
     </enum>
+    <enum name="ARB_pipeline_statistics_query">
+      <token name="VERTICES_SUBMITTED_ARB" value="0x82EE" />
+      <token name="PRIMITIVES_SUBMITTED_ARB" value="0x82EF" />
+      <token name="VERTEX_SHADER_INVOCATIONS_ARB" value="0x82F0" />
+      <token name="TESS_CONTROL_SHADER_PATCHES_ARB" value="0x82F1" />
+      <token name="TESS_EVALUATION_SHADER_INVOCATIONS_ARB" value="0x82F2" />
+      <token name="GEOMETRY_SHADER_INVOCATIONS" value="0x887F" />
+      <token name="GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB" value="0x82F3" />
+      <token name="FRAGMENT_SHADER_INVOCATIONS_ARB" value="0x82F4" />
+      <token name="COMPUTE_SHADER_INVOCATIONS_ARB" value="0x82F5" />
+      <token name="CLIPPING_INPUT_PRIMITIVES_ARB" value="0x82F6" />
+      <token name="CLIPPING_OUTPUT_PRIMITIVES_ARB" value="0x82F7" />
+    </enum>
     <enum name="ARB_program_interface_query">
       <token name="UNIFORM" value="0x92E1" />
       <token name="UNIFORM_BLOCK" value="0x92E2" />
       <token name="UNIFORM_SIZE" value="0x8A38" />
       <token name="UNIFORM_NAME_LENGTH" value="0x8A39" />
     </enum>
+    <enum name="ARB_shader_texture_image_samples" />
     <enum name="ARB_shading_language_420pack" />
     <enum name="ARB_shading_language_include">
       <token name="SHADER_INCLUDE_ARB" value="0x8DAE" />
       <token name="NAMED_STRING_TYPE_ARB" value="0x8DEA" />
     </enum>
     <enum name="ARB_shading_language_packing" />
+    <enum name="ARB_sparse_buffer">
+      <token name="SPARSE_STORAGE_BIT_ARB" value="0x0400" />
+      <token name="SPARSE_BUFFER_PAGE_SIZE_ARB" value="0x82F8" />
+    </enum>
     <enum name="ARB_sparse_texture">
       <token name="TEXTURE_SPARSE_ARB" value="0x91A6" />
       <token name="VIRTUAL_PAGE_SIZE_INDEX_ARB" value="0x91A7" />
       <token name="TESS_EVALUATION_SHADER" value="0x8E87" />
       <token name="TESS_CONTROL_SHADER" value="0x8E88" />
     </enum>
+    <enum name="ARB_texture_barrier" />
     <enum name="ARB_texture_buffer_object_rgb32">
       <token name="RGB32F" value="0x8815" />
       <token name="RGB32UI" value="0x8D71" />
       <token name="TIMESTAMP" value="0x8E28" />
     </enum>
     <enum name="ARB_transform_feedback_instanced" />
+    <enum name="ARB_transform_feedback_overflow_query">
+      <token name="TRANSFORM_FEEDBACK_OVERFLOW_ARB" value="0x82EC" />
+      <token name="TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB" value="0x82ED" />
+    </enum>
     <enum name="ARB_transform_feedback2">
       <token name="TRANSFORM_FEEDBACK" value="0x8E22" />
       <token name="TRANSFORM_FEEDBACK_PAUSED" value="0x8E23" />
       <token name="RGBA4" value="0x8056" />
       <token name="RGBA8" value="0x8058" />
     </enum>
+    <enum name="KHR_context_flush_control">
+      <token name="CONTEXT_RELEASE_BEHAVIOR" value="0x82FB" />
+      <token name="CONTEXT_RELEASE_BEHAVIOR_FLUSH" value="0x82FC" />
+      <token name="NONE" value="0" />
+      <token name="CONTEXT_RELEASE_BEHAVIOR_KHR" value="0x82FB" />
+      <token name="CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR" value="0x82FC" />
+      <token name="NONE" value="0" />
+    </enum>
     <enum name="KHR_debug">
       <token name="DEBUG_OUTPUT_SYNCHRONOUS" value="0x8242" />
       <token name="DEBUG_NEXT_LOGGED_MESSAGE_LENGTH" value="0x8243" />
       <token name="PROGRAM_PIPELINE" value="0x82E4" />
       <token name="DISPLAY_LIST" value="0x82E7" />
     </enum>
+    <enum name="KHR_robust_buffer_access_behavior" />
+    <enum name="KHR_robustness">
+      <token name="NO_ERROR" value="0" />
+      <token name="CONTEXT_ROBUST_ACCESS" value="0x90F3" />
+      <token name="LOSE_CONTEXT_ON_RESET" value="0x8252" />
+      <token name="GUILTY_CONTEXT_RESET" value="0x8253" />
+      <token name="INNOCENT_CONTEXT_RESET" value="0x8254" />
+      <token name="UNKNOWN_CONTEXT_RESET" value="0x8255" />
+      <token name="RESET_NOTIFICATION_STRATEGY" value="0x8256" />
+      <token name="NO_RESET_NOTIFICATION" value="0x8261" />
+      <token name="CONTEXT_LOST" value="0x0507" />
+      <token name="NO_ERROR" value="0" />
+      <token name="CONTEXT_ROBUST_ACCESS_KHR" value="0x90F3" />
+      <token name="LOSE_CONTEXT_ON_RESET_KHR" value="0x8252" />
+      <token name="GUILTY_CONTEXT_RESET_KHR" value="0x8253" />
+      <token name="INNOCENT_CONTEXT_RESET_KHR" value="0x8254" />
+      <token name="UNKNOWN_CONTEXT_RESET_KHR" value="0x8255" />
+      <token name="RESET_NOTIFICATION_STRATEGY_KHR" value="0x8256" />
+      <token name="NO_RESET_NOTIFICATION_KHR" value="0x8261" />
+      <token name="CONTEXT_LOST_KHR" value="0x0507" />
+    </enum>
     <enum name="KHR_texture_compression_astc_hdr">
       <token name="COMPRESSED_RGBA_ASTC_4x4_KHR" value="0x93B0" />
       <token name="COMPRESSED_RGBA_ASTC_5x4_KHR" value="0x93B1" />
       <param name="program" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="BeginQueryIndexed" category="ARB_transform_feedback3" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="id" type="GLuint" flow="in" />
+    <function name="BeginQueryIndexed" category="ARB_transform_feedback3" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="id" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BindBuffersBase" category="ARB_multi_bind" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="first" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="buffers" type="GLuint *" flow="in" count="count" />
+      <returns type="void" />
+    </function>
+    <function name="BindBuffersRange" category="ARB_multi_bind" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="first" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="buffers" type="GLuint *" flow="in" count="count" />
+      <param name="offsets" type="GLintptr *" flow="in" count="count" />
+      <param name="sizes" type="GLsizeiptr *" flow="in" count="count" />
+      <returns type="void" />
+    </function>
+    <function name="BindFragDataLocationIndexed" category="ARB_blend_func_extended" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="colorNumber" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="name" type="GLchar *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BindFramebuffer" category="ARB_framebuffer_object" extension="Core">
+      <param name="target" type="FramebufferTarget" flow="in" />
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BindImageTexture" category="ARB_shader_image_load_store" extension="Core">
+      <param name="unit" type="GLuint" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="layered" type="Boolean" flow="in" />
+      <param name="layer" type="GLint" flow="in" />
+      <param name="access" type="GLenum" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BindImageTextures" category="ARB_multi_bind" extension="Core">
+      <param name="first" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="textures" type="GLuint *" flow="in" count="count" />
+      <returns type="void" />
+    </function>
+    <function name="BindProgramPipeline" category="ARB_separate_shader_objects" extension="Core">
+      <param name="pipeline" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BindRenderbuffer" category="ARB_framebuffer_object" extension="Core">
+      <param name="target" type="RenderbufferTarget" flow="in" />
+      <param name="renderbuffer" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BindSampler" category="ARB_sampler_objects" extension="Core">
+      <param name="unit" type="GLuint" flow="in" />
+      <param name="sampler" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BindSamplers" category="ARB_multi_bind" extension="Core">
+      <param name="first" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="samplers" type="GLuint *" flow="in" count="count" />
+      <returns type="void" />
+    </function>
+    <function name="BindTextures" category="ARB_multi_bind" extension="Core">
+      <param name="first" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="textures" type="GLuint *" flow="in" count="count" />
+      <returns type="void" />
+    </function>
+    <function name="BindTextureUnit" category="ARB_direct_state_access" extension="Core">
+      <param name="unit" type="GLuint" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BindTransformFeedback" category="ARB_transform_feedback2" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="id" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BindVertexArray" category="ARB_vertex_array_object" extension="Core">
+      <param name="array" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BindVertexBuffer" category="ARB_vertex_attrib_binding" extension="Core">
+      <param name="bindingindex" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="BufferOffset" flow="in" />
+      <param name="stride" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BindVertexBuffers" category="ARB_multi_bind" extension="Core">
+      <param name="first" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="buffers" type="GLuint *" flow="in" count="count" />
+      <param name="offsets" type="GLintptr *" flow="in" count="count" />
+      <param name="strides" type="GLsizei *" flow="in" count="count" />
+      <returns type="void" />
+    </function>
+    <function name="BlendColor" category="ARB_imaging" extension="Core">
+      <param name="red" type="ColorF" flow="in" />
+      <param name="green" type="ColorF" flow="in" />
+      <param name="blue" type="ColorF" flow="in" />
+      <param name="alpha" type="ColorF" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BlendEquation" category="ARB_imaging" extension="Core">
+      <param name="mode" type="BlendEquationMode" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BlendEquationiARB" category="ARB_draw_buffers_blend" extension="ARB">
+      <param name="buf" type="GLuint" flow="in" />
+      <param name="mode" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BlendEquationSeparateiARB" category="ARB_draw_buffers_blend" extension="ARB">
+      <param name="buf" type="GLuint" flow="in" />
+      <param name="modeRGB" type="GLenum" flow="in" />
+      <param name="modeAlpha" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BlendFunciARB" category="ARB_draw_buffers_blend" extension="ARB">
+      <param name="buf" type="GLuint" flow="in" />
+      <param name="src" type="GLenum" flow="in" />
+      <param name="dst" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BlendFuncSeparateiARB" category="ARB_draw_buffers_blend" extension="ARB">
+      <param name="buf" type="GLuint" flow="in" />
+      <param name="srcRGB" type="GLenum" flow="in" />
+      <param name="dstRGB" type="GLenum" flow="in" />
+      <param name="srcAlpha" type="GLenum" flow="in" />
+      <param name="dstAlpha" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BlitFramebuffer" category="ARB_framebuffer_object" extension="Core">
+      <param name="srcX0" type="GLint" flow="in" />
+      <param name="srcY0" type="GLint" flow="in" />
+      <param name="srcX1" type="GLint" flow="in" />
+      <param name="srcY1" type="GLint" flow="in" />
+      <param name="dstX0" type="GLint" flow="in" />
+      <param name="dstY0" type="GLint" flow="in" />
+      <param name="dstX1" type="GLint" flow="in" />
+      <param name="dstY1" type="GLint" flow="in" />
+      <param name="mask" type="ClearBufferMask" flow="in" />
+      <param name="filter" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BlitNamedFramebuffer" category="ARB_direct_state_access" extension="Core">
+      <param name="readFramebuffer" type="GLuint" flow="in" />
+      <param name="drawFramebuffer" type="GLuint" flow="in" />
+      <param name="srcX0" type="GLint" flow="in" />
+      <param name="srcY0" type="GLint" flow="in" />
+      <param name="srcX1" type="GLint" flow="in" />
+      <param name="srcY1" type="GLint" flow="in" />
+      <param name="dstX0" type="GLint" flow="in" />
+      <param name="dstY0" type="GLint" flow="in" />
+      <param name="dstX1" type="GLint" flow="in" />
+      <param name="dstY1" type="GLint" flow="in" />
+      <param name="mask" type="GLbitfield" flow="in" />
+      <param name="filter" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BufferPageCommitmentARB" category="ARB_sparse_buffer" extension="ARB">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="commit" type="GLboolean" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BufferStorage" category="ARB_buffer_storage" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="size" type="GLsizeiptr" flow="in" />
+      <param name="data" type="void *" flow="in" count="size" />
+      <param name="flags" type="GLbitfield" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CheckFramebufferStatus" category="ARB_framebuffer_object" extension="Core">
+      <param name="target" type="FramebufferTarget" flow="in" />
+      <returns type="GLenum" />
+    </function>
+    <function name="CheckNamedFramebufferStatus" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="target" type="GLenum" flow="in" />
+      <returns type="GLenum" />
+    </function>
+    <function name="ClearBufferData" category="ARB_clear_buffer_object" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="data" type="void *" flow="in" count="COMPSIZE(format,type)" />
+      <returns type="void" />
+    </function>
+    <function name="ClearBufferSubData" category="ARB_clear_buffer_object" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="offset" type="BufferOffset" flow="in" />
+      <param name="size" type="BufferSize" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="data" type="void *" flow="in" count="COMPSIZE(format,type)" />
+      <returns type="void" />
+    </function>
+    <function name="ClearDepthf" category="ARB_ES2_compatibility" extension="Core">
+      <param name="d" type="GLfloat" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ClearNamedBufferData" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ClearNamedBufferSubData" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ClearNamedFramebufferfi" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="depth" type="GLfloat" flow="in" />
+      <param name="stencil" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ClearNamedFramebufferfv" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="drawbuffer" type="GLint" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ClearNamedFramebufferiv" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="drawbuffer" type="GLint" flow="in" />
+      <param name="value" type="GLint *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ClearNamedFramebufferuiv" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="drawbuffer" type="GLint" flow="in" />
+      <param name="value" type="GLuint *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ClearTexImage" category="ARB_clear_texture" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="data" type="void *" flow="in" count="COMPSIZE(format,type)" />
+      <returns type="void" />
+    </function>
+    <function name="ClearTexSubImage" category="ARB_clear_texture" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="data" type="void *" flow="in" count="COMPSIZE(format,type)" />
+      <returns type="void" />
+    </function>
+    <function name="ClientWaitSync" category="ARB_sync" extension="Core">
+      <param name="sync" type="sync" flow="in" />
+      <param name="flags" type="GLbitfield" flow="in" />
+      <param name="timeout" type="GLuint64" flow="in" />
+      <returns type="GLenum" />
+    </function>
+    <function name="ClipControl" category="ARB_clip_control" extension="Core">
+      <param name="origin" type="GLenum" flow="in" />
+      <param name="depth" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ColorP3ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="color" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ColorP3uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="color" type="GLuint *" flow="in" count="1" />
+      <returns type="void" />
+    </function>
+    <function name="ColorP4ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="color" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ColorP4uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="color" type="GLuint *" flow="in" count="1" />
+      <returns type="void" />
+    </function>
+    <function name="ColorSubTable" category="ARB_imaging" extension="Core">
+      <param name="target" type="ColorTableTarget" flow="in" />
+      <param name="start" type="GLsizei" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="data" type="void *" flow="in" count="COMPSIZE(format,type,count)" />
+      <returns type="void" />
+    </function>
+    <function name="ColorTable" category="ARB_imaging" extension="Core">
+      <param name="target" type="ColorTableTarget" flow="in" />
+      <param name="internalformat" type="PixelInternalFormat" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="table" type="void *" flow="in" count="COMPSIZE(format,type,width)" />
+      <returns type="void" />
+    </function>
+    <function name="ColorTableParameterfv" category="ARB_imaging" extension="Core">
+      <param name="target" type="ColorTableTarget" flow="in" />
+      <param name="pname" type="ColorTableParameterPName" flow="in" />
+      <param name="params" type="CheckedFloat32 *" flow="in" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="ColorTableParameteriv" category="ARB_imaging" extension="Core">
+      <param name="target" type="ColorTableTarget" flow="in" />
+      <param name="pname" type="ColorTableParameterPName" flow="in" />
+      <param name="params" type="CheckedInt32 *" flow="in" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="CompileShaderIncludeARB" category="ARB_shading_language_include" extension="ARB">
+      <param name="shader" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="path" type="GLchar **" flow="in" count="count" />
+      <param name="length" type="GLint *" flow="in" count="count" />
+      <returns type="void" />
+    </function>
+    <function name="CompressedTextureSubImage1D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="imageSize" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CompressedTextureSubImage2D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="imageSize" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CompressedTextureSubImage3D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="imageSize" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ConvolutionFilter1D" category="ARB_imaging" extension="Core">
+      <param name="target" type="ConvolutionTarget" flow="in" />
+      <param name="internalformat" type="PixelInternalFormat" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="image" type="void *" flow="in" count="COMPSIZE(format,type,width)" />
+      <returns type="void" />
+    </function>
+    <function name="ConvolutionFilter2D" category="ARB_imaging" extension="Core">
+      <param name="target" type="ConvolutionTarget" flow="in" />
+      <param name="internalformat" type="PixelInternalFormat" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="image" type="void *" flow="in" count="COMPSIZE(format,type,width,height)" />
+      <returns type="void" />
+    </function>
+    <function name="ConvolutionParameterf" category="ARB_imaging" extension="Core">
+      <param name="target" type="ConvolutionTarget" flow="in" />
+      <param name="pname" type="ConvolutionParameter" flow="in" />
+      <param name="params" type="CheckedFloat32" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ConvolutionParameterfv" category="ARB_imaging" extension="Core">
+      <param name="target" type="ConvolutionTarget" flow="in" />
+      <param name="pname" type="ConvolutionParameter" flow="in" />
+      <param name="params" type="CheckedFloat32 *" flow="in" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="ConvolutionParameteri" category="ARB_imaging" extension="Core">
+      <param name="target" type="ConvolutionTarget" flow="in" />
+      <param name="pname" type="ConvolutionParameter" flow="in" />
+      <param name="params" type="CheckedInt32" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ConvolutionParameteriv" category="ARB_imaging" extension="Core">
+      <param name="target" type="ConvolutionTarget" flow="in" />
+      <param name="pname" type="ConvolutionParameter" flow="in" />
+      <param name="params" type="CheckedInt32 *" flow="in" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="CopyBufferSubData" category="ARB_copy_buffer" extension="Core">
+      <param name="readTarget" type="GLenum" flow="in" />
+      <param name="writeTarget" type="GLenum" flow="in" />
+      <param name="readOffset" type="BufferOffset" flow="in" />
+      <param name="writeOffset" type="BufferOffset" flow="in" />
+      <param name="size" type="BufferSize" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CopyColorSubTable" category="ARB_imaging" extension="Core">
+      <param name="target" type="ColorTableTarget" flow="in" />
+      <param name="start" type="GLsizei" flow="in" />
+      <param name="x" type="WinCoord" flow="in" />
+      <param name="y" type="WinCoord" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CopyColorTable" category="ARB_imaging" extension="Core">
+      <param name="target" type="ColorTableTarget" flow="in" />
+      <param name="internalformat" type="PixelInternalFormat" flow="in" />
+      <param name="x" type="WinCoord" flow="in" />
+      <param name="y" type="WinCoord" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CopyConvolutionFilter1D" category="ARB_imaging" extension="Core">
+      <param name="target" type="ConvolutionTarget" flow="in" />
+      <param name="internalformat" type="PixelInternalFormat" flow="in" />
+      <param name="x" type="WinCoord" flow="in" />
+      <param name="y" type="WinCoord" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CopyConvolutionFilter2D" category="ARB_imaging" extension="Core">
+      <param name="target" type="ConvolutionTarget" flow="in" />
+      <param name="internalformat" type="PixelInternalFormat" flow="in" />
+      <param name="x" type="WinCoord" flow="in" />
+      <param name="y" type="WinCoord" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CopyImageSubData" category="ARB_copy_image" extension="Core">
+      <param name="srcName" type="GLuint" flow="in" />
+      <param name="srcTarget" type="GLenum" flow="in" />
+      <param name="srcLevel" type="GLint" flow="in" />
+      <param name="srcX" type="GLint" flow="in" />
+      <param name="srcY" type="GLint" flow="in" />
+      <param name="srcZ" type="GLint" flow="in" />
+      <param name="dstName" type="GLuint" flow="in" />
+      <param name="dstTarget" type="GLenum" flow="in" />
+      <param name="dstLevel" type="GLint" flow="in" />
+      <param name="dstX" type="GLint" flow="in" />
+      <param name="dstY" type="GLint" flow="in" />
+      <param name="dstZ" type="GLint" flow="in" />
+      <param name="srcWidth" type="GLsizei" flow="in" />
+      <param name="srcHeight" type="GLsizei" flow="in" />
+      <param name="srcDepth" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CopyNamedBufferSubData" category="ARB_direct_state_access" extension="Core">
+      <param name="readBuffer" type="GLuint" flow="in" />
+      <param name="writeBuffer" type="GLuint" flow="in" />
+      <param name="readOffset" type="GLintptr" flow="in" />
+      <param name="writeOffset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CopyTextureSubImage1D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CopyTextureSubImage2D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CopyTextureSubImage3D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CreateBuffers" category="ARB_direct_state_access" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="buffers" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateFramebuffers" category="ARB_direct_state_access" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="framebuffers" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateProgramPipelines" category="ARB_direct_state_access" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="pipelines" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateQueries" category="ARB_direct_state_access" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="ids" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateRenderbuffers" category="ARB_direct_state_access" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="renderbuffers" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateSamplers" category="ARB_direct_state_access" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="samplers" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateShaderProgramv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="strings" type="GLchar **" flow="in" count="count" />
+      <returns type="GLuint" />
+    </function>
+    <function name="CreateSyncFromCLeventARB" category="ARB_cl_event" extension="ARB">
+      <param name="context" type="cl_context *" flow="out" />
+      <param name="event" type="cl_event *" flow="out" />
+      <param name="flags" type="GLbitfield" flow="in" />
+      <returns type="sync" />
+    </function>
+    <function name="CreateTextures" category="ARB_direct_state_access" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="textures" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateTransformFeedbacks" category="ARB_direct_state_access" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="ids" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateVertexArrays" category="ARB_direct_state_access" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="arrays" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="DebugMessageCallback" category="KHR_debug" extension="Core">
+      <param name="callback" type="GLDEBUGPROC" flow="in" />
+      <param name="userParam" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DebugMessageCallbackARB" category="ARB_debug_output" extension="ARB">
+      <param name="callback" type="GLDEBUGPROCARB" flow="in" />
+      <param name="userParam" type="void *" flow="in" count="COMPSIZE(callback)" />
+      <returns type="void" />
+    </function>
+    <function name="DebugMessageCallbackKHR" category="KHR_debug" extension="KHR">
+      <param name="callback" type="GLDEBUGPROCKHR" flow="in" />
+      <param name="userParam" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DebugMessageControl" category="KHR_debug" extension="Core">
+      <param name="source" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="severity" type="GLenum" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="ids" type="GLuint *" flow="in" count="count" />
+      <param name="enabled" type="Boolean" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DebugMessageControlARB" category="ARB_debug_output" extension="ARB">
+      <param name="source" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="severity" type="GLenum" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="ids" type="GLuint *" flow="in" count="count" />
+      <param name="enabled" type="Boolean" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DebugMessageControlKHR" category="KHR_debug" extension="KHR">
+      <param name="source" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="severity" type="GLenum" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="ids" type="GLuint *" flow="in" />
+      <param name="enabled" type="GLboolean" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DebugMessageInsert" category="KHR_debug" extension="Core">
+      <param name="source" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="id" type="GLuint" flow="in" />
+      <param name="severity" type="GLenum" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <param name="buf" type="GLchar *" flow="in" count="COMPSIZE(buf,length)" />
+      <returns type="void" />
+    </function>
+    <function name="DebugMessageInsertARB" category="ARB_debug_output" extension="ARB">
+      <param name="source" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="id" type="GLuint" flow="in" />
+      <param name="severity" type="GLenum" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <param name="buf" type="GLchar *" flow="in" count="length" />
+      <returns type="void" />
+    </function>
+    <function name="DebugMessageInsertKHR" category="KHR_debug" extension="KHR">
+      <param name="source" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="id" type="GLuint" flow="in" />
+      <param name="severity" type="GLenum" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <param name="buf" type="GLchar *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DeleteFramebuffers" category="ARB_framebuffer_object" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="framebuffers" type="GLuint *" flow="in" count="n" />
+      <returns type="void" />
+    </function>
+    <function name="DeleteNamedStringARB" category="ARB_shading_language_include" extension="ARB">
+      <param name="namelen" type="GLint" flow="in" />
+      <param name="name" type="GLchar *" flow="in" count="namelen" />
+      <returns type="void" />
+    </function>
+    <function name="DeleteProgramPipelines" category="ARB_separate_shader_objects" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="pipelines" type="GLuint *" flow="in" count="n" />
+      <returns type="void" />
+    </function>
+    <function name="DeleteRenderbuffers" category="ARB_framebuffer_object" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="renderbuffers" type="GLuint *" flow="in" count="n" />
+      <returns type="void" />
+    </function>
+    <function name="DeleteSamplers" category="ARB_sampler_objects" extension="Core">
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="samplers" type="GLuint *" flow="in" count="count" />
+      <returns type="void" />
+    </function>
+    <function name="DeleteSync" category="ARB_sync" extension="Core">
+      <param name="sync" type="sync" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DeleteTransformFeedbacks" category="ARB_transform_feedback2" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="ids" type="GLuint *" flow="in" count="n" />
+      <returns type="void" />
+    </function>
+    <function name="DeleteVertexArrays" category="ARB_vertex_array_object" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="arrays" type="GLuint *" flow="in" count="n" />
+      <returns type="void" />
+    </function>
+    <function name="DepthRangeArrayv" category="ARB_viewport_array" extension="Core">
+      <param name="first" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="v" type="GLdouble *" flow="in" count="COMPSIZE(count)" />
+      <returns type="void" />
+    </function>
+    <function name="DepthRangef" category="ARB_ES2_compatibility" extension="Core">
+      <param name="n" type="GLfloat" flow="in" />
+      <param name="f" type="GLfloat" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DepthRangeIndexed" category="ARB_viewport_array" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="n" type="GLdouble" flow="in" />
+      <param name="f" type="GLdouble" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DisableVertexArrayAttrib" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DispatchCompute" category="ARB_compute_shader" extension="Core">
+      <param name="num_groups_x" type="GLuint" flow="in" />
+      <param name="num_groups_y" type="GLuint" flow="in" />
+      <param name="num_groups_z" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DispatchComputeGroupSizeARB" category="ARB_compute_variable_group_size" extension="ARB">
+      <param name="num_groups_x" type="GLuint" flow="in" />
+      <param name="num_groups_y" type="GLuint" flow="in" />
+      <param name="num_groups_z" type="GLuint" flow="in" />
+      <param name="group_size_x" type="GLuint" flow="in" />
+      <param name="group_size_y" type="GLuint" flow="in" />
+      <param name="group_size_z" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DispatchComputeIndirect" category="ARB_compute_shader" extension="Core">
+      <param name="indirect" type="BufferOffset" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DrawArraysIndirect" category="ARB_draw_indirect" extension="Core">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="indirect" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DrawArraysInstancedBaseInstance" category="ARB_base_instance" extension="Core">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="first" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="instancecount" type="GLsizei" flow="in" />
+      <param name="baseinstance" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DrawElementsBaseVertex" category="ARB_draw_elements_base_vertex" extension="Core">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="type" type="DrawElementsType" flow="in" />
+      <param name="indices" type="void *" flow="in" count="COMPSIZE(count,type)" />
+      <param name="basevertex" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DrawElementsIndirect" category="ARB_draw_indirect" extension="Core">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="indirect" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DrawElementsInstancedBaseInstance" category="ARB_base_instance" extension="Core">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="indices" type="void *" flow="in" count="count" />
+      <param name="instancecount" type="GLsizei" flow="in" />
+      <param name="baseinstance" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DrawElementsInstancedBaseVertex" category="ARB_draw_elements_base_vertex" extension="Core">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="type" type="DrawElementsType" flow="in" />
+      <param name="indices" type="void *" flow="in" count="COMPSIZE(count,type)" />
+      <param name="instancecount" type="GLsizei" flow="in" />
+      <param name="basevertex" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DrawElementsInstancedBaseVertexBaseInstance" category="ARB_base_instance" extension="Core">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="indices" type="void *" flow="in" count="count" />
+      <param name="instancecount" type="GLsizei" flow="in" />
+      <param name="basevertex" type="GLint" flow="in" />
+      <param name="baseinstance" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DrawRangeElementsBaseVertex" category="ARB_draw_elements_base_vertex" extension="Core">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="start" type="GLuint" flow="in" />
+      <param name="end" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="type" type="DrawElementsType" flow="in" />
+      <param name="indices" type="void *" flow="in" count="COMPSIZE(count,type)" />
+      <param name="basevertex" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DrawTransformFeedback" category="ARB_transform_feedback2" extension="Core">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="id" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DrawTransformFeedbackInstanced" category="ARB_transform_feedback_instanced" extension="Core">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="id" type="GLuint" flow="in" />
+      <param name="instancecount" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DrawTransformFeedbackStream" category="ARB_transform_feedback3" extension="Core">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="id" type="GLuint" flow="in" />
+      <param name="stream" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="DrawTransformFeedbackStreamInstanced" category="ARB_transform_feedback_instanced" extension="Core">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="id" type="GLuint" flow="in" />
+      <param name="stream" type="GLuint" flow="in" />
+      <param name="instancecount" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="EnableVertexArrayAttrib" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="EndQueryIndexed" category="ARB_transform_feedback3" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="FenceSync" category="ARB_sync" extension="Core">
+      <param name="condition" type="GLenum" flow="in" />
+      <param name="flags" type="GLbitfield" flow="in" />
+      <returns type="sync" />
+    </function>
+    <function name="FlushMappedBufferRange" category="ARB_map_buffer_range" extension="Core">
+      <param name="target" type="BufferTargetARB" flow="in" />
+      <param name="offset" type="BufferOffset" flow="in" />
+      <param name="length" type="BufferSize" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="FlushMappedNamedBufferRange" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="FramebufferParameteri" category="ARB_framebuffer_no_attachments" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="FramebufferRenderbuffer" category="ARB_framebuffer_object" extension="Core">
+      <param name="target" type="FramebufferTarget" flow="in" />
+      <param name="attachment" type="FramebufferAttachment" flow="in" />
+      <param name="renderbuffertarget" type="RenderbufferTarget" flow="in" />
+      <param name="renderbuffer" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="FramebufferTexture1D" category="ARB_framebuffer_object" extension="Core">
+      <param name="target" type="FramebufferTarget" flow="in" />
+      <param name="attachment" type="FramebufferAttachment" flow="in" />
+      <param name="textarget" type="GLenum" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="FramebufferTexture2D" category="ARB_framebuffer_object" extension="Core">
+      <param name="target" type="FramebufferTarget" flow="in" />
+      <param name="attachment" type="FramebufferAttachment" flow="in" />
+      <param name="textarget" type="GLenum" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="FramebufferTexture3D" category="ARB_framebuffer_object" extension="Core">
+      <param name="target" type="FramebufferTarget" flow="in" />
+      <param name="attachment" type="FramebufferAttachment" flow="in" />
+      <param name="textarget" type="GLenum" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="FramebufferTextureLayer" category="ARB_framebuffer_object" extension="Core">
+      <param name="target" type="FramebufferTarget" flow="in" />
+      <param name="attachment" type="FramebufferAttachment" flow="in" />
+      <param name="texture" type="Texture" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="layer" type="CheckedInt32" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="GenerateMipmap" category="ARB_framebuffer_object" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="GenerateTextureMipmap" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="GenFramebuffers" category="ARB_framebuffer_object" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="framebuffers" type="GLuint *" flow="out" count="n" />
+      <returns type="void" />
+    </function>
+    <function name="GenProgramPipelines" category="ARB_separate_shader_objects" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="pipelines" type="GLuint *" flow="out" count="n" />
+      <returns type="void" />
+    </function>
+    <function name="GenRenderbuffers" category="ARB_framebuffer_object" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="renderbuffers" type="GLuint *" flow="out" count="n" />
+      <returns type="void" />
+    </function>
+    <function name="GenSamplers" category="ARB_sampler_objects" extension="Core">
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="samplers" type="GLuint *" flow="out" count="count" />
+      <returns type="void" />
+    </function>
+    <function name="GenTransformFeedbacks" category="ARB_transform_feedback2" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="ids" type="GLuint *" flow="out" count="n" />
+      <returns type="void" />
+    </function>
+    <function name="GenVertexArrays" category="ARB_vertex_array_object" extension="Core">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="arrays" type="GLuint *" flow="out" count="n" />
+      <returns type="void" />
+    </function>
+    <function name="GetActiveAtomicCounterBufferiv" category="ARB_shader_atomic_counters" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="bufferIndex" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetActiveSubroutineName" category="ARB_shader_subroutine" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="shadertype" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="bufsize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="name" type="GLchar *" flow="out" count="bufsize" />
+      <returns type="void" />
+    </function>
+    <function name="GetActiveSubroutineUniformiv" category="ARB_shader_subroutine" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="shadertype" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="values" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetActiveSubroutineUniformName" category="ARB_shader_subroutine" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="shadertype" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="bufsize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="name" type="GLchar *" flow="out" count="bufsize" />
+      <returns type="void" />
+    </function>
+    <function name="GetActiveUniformBlockiv" category="ARB_uniform_buffer_object" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="uniformBlockIndex" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(program,uniformBlockIndex,pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetActiveUniformBlockName" category="ARB_uniform_buffer_object" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="uniformBlockIndex" type="GLuint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="uniformBlockName" type="GLchar *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetActiveUniformName" category="ARB_uniform_buffer_object" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="uniformIndex" type="GLuint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="uniformName" type="GLchar *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetActiveUniformsiv" category="ARB_uniform_buffer_object" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="uniformCount" type="GLsizei" flow="in" />
+      <param name="uniformIndices" type="GLuint *" flow="in" count="uniformCount" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(uniformCount,pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetColorTable" category="ARB_imaging" extension="Core">
+      <param name="target" type="ColorTableTarget" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="table" type="void *" flow="out" count="COMPSIZE(target,format,type)" />
+      <returns type="void" />
+    </function>
+    <function name="GetColorTableParameterfv" category="ARB_imaging" extension="Core">
+      <param name="target" type="ColorTableTarget" flow="in" />
+      <param name="pname" type="GetColorTableParameterPName" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetColorTableParameteriv" category="ARB_imaging" extension="Core">
+      <param name="target" type="ColorTableTarget" flow="in" />
+      <param name="pname" type="GetColorTableParameterPName" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetCompressedTextureImage" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetCompressedTextureSubImage" category="ARB_get_texture_sub_image" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetConvolutionFilter" category="ARB_imaging" extension="Core">
+      <param name="target" type="ConvolutionTarget" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="image" type="void *" flow="out" count="COMPSIZE(target,format,type)" />
+      <returns type="void" />
+    </function>
+    <function name="GetConvolutionParameterfv" category="ARB_imaging" extension="Core">
+      <param name="target" type="ConvolutionTarget" flow="in" />
+      <param name="pname" type="GetConvolutionParameterPName" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetConvolutionParameteriv" category="ARB_imaging" extension="Core">
+      <param name="target" type="ConvolutionTarget" flow="in" />
+      <param name="pname" type="GetConvolutionParameterPName" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetDebugMessageLog" category="KHR_debug" extension="Core">
+      <param name="count" type="GLuint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="sources" type="GLenum *" flow="out" count="count" />
+      <param name="types" type="GLenum *" flow="out" count="count" />
+      <param name="ids" type="GLuint *" flow="out" count="count" />
+      <param name="severities" type="GLenum *" flow="out" count="count" />
+      <param name="lengths" type="GLsizei *" flow="out" count="count" />
+      <param name="messageLog" type="GLchar *" flow="out" count="bufSize" />
+      <returns type="GLuint" />
+    </function>
+    <function name="GetDebugMessageLogARB" category="ARB_debug_output" extension="ARB">
+      <param name="count" type="GLuint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="sources" type="GLenum *" flow="out" count="count" />
+      <param name="types" type="GLenum *" flow="out" count="count" />
+      <param name="ids" type="GLuint *" flow="out" count="count" />
+      <param name="severities" type="GLenum *" flow="out" count="count" />
+      <param name="lengths" type="GLsizei *" flow="out" count="count" />
+      <param name="messageLog" type="GLchar *" flow="out" count="bufSize" />
+      <returns type="GLuint" />
+    </function>
+    <function name="GetDebugMessageLogKHR" category="KHR_debug" extension="KHR">
+      <param name="count" type="GLuint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="sources" type="GLenum *" flow="out" count="count" />
+      <param name="types" type="GLenum *" flow="out" count="count" />
+      <param name="ids" type="GLuint *" flow="out" count="count" />
+      <param name="severities" type="GLenum *" flow="out" count="count" />
+      <param name="lengths" type="GLsizei *" flow="out" count="count" />
+      <param name="messageLog" type="GLchar *" flow="out" count="bufSize" />
+      <returns type="GLuint" />
+    </function>
+    <function name="GetDoublei_v" category="ARB_viewport_array" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="data" type="GLdouble *" flow="out" count="COMPSIZE(target)" />
+      <returns type="void" />
+    </function>
+    <function name="GetFloati_v" category="ARB_viewport_array" extension="Core">
+      <param name="target" type="TypeEnum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="data" type="GLfloat *" flow="out" count="COMPSIZE(target)" />
+      <returns type="void" />
+    </function>
+    <function name="GetFragDataIndex" category="ARB_blend_func_extended" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="name" type="GLchar *" flow="in" />
+      <returns type="GLint" />
+    </function>
+    <function name="GetFramebufferAttachmentParameteriv" category="ARB_framebuffer_object" extension="Core">
+      <param name="target" type="FramebufferTarget" flow="in" />
+      <param name="attachment" type="FramebufferAttachment" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetFramebufferParameteriv" category="ARB_framebuffer_no_attachments" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetGraphicsResetStatus" category="KHR_robustness" extension="Core">
+      <returns type="GLenum" />
+    </function>
+    <function name="GetGraphicsResetStatusARB" category="ARB_robustness" extension="ARB">
+      <returns type="GLenum" />
+    </function>
+    <function name="GetGraphicsResetStatusKHR" category="KHR_robustness" extension="KHR">
+      <returns type="GLenum" />
+    </function>
+    <function name="GetHistogram" category="ARB_imaging" extension="Core">
+      <param name="target" type="HistogramTarget" flow="in" />
+      <param name="reset" type="Boolean" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="values" type="void *" flow="out" count="COMPSIZE(target,format,type)" />
+      <returns type="void" />
+    </function>
+    <function name="GetHistogramParameterfv" category="ARB_imaging" extension="Core">
+      <param name="target" type="HistogramTarget" flow="in" />
+      <param name="pname" type="GetHistogramParameterPName" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetHistogramParameteriv" category="ARB_imaging" extension="Core">
+      <param name="target" type="HistogramTarget" flow="in" />
+      <param name="pname" type="GetHistogramParameterPName" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetImageHandleARB" category="ARB_bindless_texture" extension="ARB">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="layered" type="GLboolean" flow="in" />
+      <param name="layer" type="GLint" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <returns type="GLuint64" />
+    </function>
+    <function name="GetInteger64v" category="ARB_sync" extension="Core">
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="data" type="GLint64 *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetInternalformati64v" category="ARB_internalformat_query2" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLint64 *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetInternalformativ" category="ARB_internalformat_query" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetMinmax" category="ARB_imaging" extension="Core">
+      <param name="target" type="MinmaxTarget" flow="in" />
+      <param name="reset" type="Boolean" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="values" type="void *" flow="out" count="COMPSIZE(target,format,type)" />
+      <returns type="void" />
+    </function>
+    <function name="GetMinmaxParameterfv" category="ARB_imaging" extension="Core">
+      <param name="target" type="MinmaxTarget" flow="in" />
+      <param name="pname" type="GetMinmaxParameterPName" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetMinmaxParameteriv" category="ARB_imaging" extension="Core">
+      <param name="target" type="MinmaxTarget" flow="in" />
+      <param name="pname" type="GetMinmaxParameterPName" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetMultisamplefv" category="ARB_texture_multisample" extension="Core">
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="val" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetNamedBufferParameteri64v" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint64 *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetNamedBufferParameteriv" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetNamedBufferPointerv" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="void **" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetNamedBufferSubData" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetNamedFramebufferAttachmentParameteriv" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="attachment" type="GLenum" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetNamedFramebufferParameteriv" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetNamedRenderbufferParameteriv" category="ARB_direct_state_access" extension="Core">
+      <param name="renderbuffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetNamedStringARB" category="ARB_shading_language_include" extension="ARB">
+      <param name="namelen" type="GLint" flow="in" />
+      <param name="name" type="GLchar *" flow="in" count="namelen" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="stringlen" type="GLint *" flow="out" count="1" />
+      <param name="string" type="GLchar *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetNamedStringivARB" category="ARB_shading_language_include" extension="ARB">
+      <param name="namelen" type="GLint" flow="in" />
+      <param name="name" type="GLchar *" flow="in" count="namelen" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetnColorTableARB" category="ARB_robustness" extension="ARB">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="table" type="void *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetnCompressedTexImageARB" category="ARB_robustness" extension="ARB">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="lod" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="img" type="void *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetnConvolutionFilterARB" category="ARB_robustness" extension="ARB">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="image" type="void *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetnHistogramARB" category="ARB_robustness" extension="ARB">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="reset" type="Boolean" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="values" type="void *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetnMapdvARB" category="ARB_robustness" extension="ARB">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="query" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="v" type="GLdouble *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetnMapfvARB" category="ARB_robustness" extension="ARB">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="query" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="v" type="GLfloat *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetnMapivARB" category="ARB_robustness" extension="ARB">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="query" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="v" type="GLint *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetnMinmaxARB" category="ARB_robustness" extension="ARB">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="reset" type="Boolean" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="values" type="void *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetnPixelMapfvARB" category="ARB_robustness" extension="ARB">
+      <param name="map" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="values" type="GLfloat *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetnPixelMapuivARB" category="ARB_robustness" extension="ARB">
+      <param name="map" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="values" type="GLuint *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetnPixelMapusvARB" category="ARB_robustness" extension="ARB">
+      <param name="map" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="values" type="GLushort *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetnPolygonStippleARB" category="ARB_robustness" extension="ARB">
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pattern" type="GLubyte *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetnSeparableFilterARB" category="ARB_robustness" extension="ARB">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="rowBufSize" type="GLsizei" flow="in" />
+      <param name="row" type="void *" flow="out" count="rowBufSize" />
+      <param name="columnBufSize" type="GLsizei" flow="in" />
+      <param name="column" type="void *" flow="out" count="columnBufSize" />
+      <param name="span" type="void *" flow="out" count="0" />
+      <returns type="void" />
+    </function>
+    <function name="GetnTexImageARB" category="ARB_robustness" extension="ARB">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="img" type="void *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformdvARB" category="ARB_robustness" extension="ARB">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLdouble *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformfv" category="KHR_robustness" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformfvARB" category="ARB_robustness" extension="ARB">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformfvKHR" category="KHR_robustness" extension="KHR">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformiv" category="KHR_robustness" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformivARB" category="ARB_robustness" extension="ARB">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformivKHR" category="KHR_robustness" extension="KHR">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformuiv" category="KHR_robustness" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformuivARB" category="ARB_robustness" extension="ARB">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLuint *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformuivKHR" category="KHR_robustness" extension="KHR">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetObjectLabel" category="KHR_debug" extension="Core">
+      <param name="identifier" type="GLenum" flow="in" />
+      <param name="name" type="GLuint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="label" type="GLchar *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetObjectLabelKHR" category="KHR_debug" extension="KHR">
+      <param name="identifier" type="GLenum" flow="in" />
+      <param name="name" type="GLuint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" />
+      <param name="label" type="GLchar *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetObjectPtrLabel" category="KHR_debug" extension="Core">
+      <param name="ptr" type="void *" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="label" type="GLchar *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetObjectPtrLabelKHR" category="KHR_debug" extension="KHR">
+      <param name="ptr" type="void *" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="label" type="GLchar *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetPointerv" category="KHR_debug" extension="Core">
+      <param name="pname" type="GetPointervPName" flow="in" />
+      <param name="params" type="void **" flow="out" count="1" />
+      <returns type="void" />
+    </function>
+    <function name="GetPointervKHR" category="KHR_debug" extension="KHR">
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="void **" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetProgramBinary" category="ARB_get_program_binary" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="binaryFormat" type="GLenum *" flow="out" count="1" />
+      <param name="binary" type="void *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetProgramInterfaceiv" category="ARB_program_interface_query" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="programInterface" type="GLenum" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetProgramPipelineInfoLog" category="ARB_separate_shader_objects" extension="Core">
+      <param name="pipeline" type="GLuint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="infoLog" type="GLchar *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetProgramPipelineiv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="pipeline" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetProgramResourceIndex" category="ARB_program_interface_query" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="programInterface" type="GLenum" flow="in" />
+      <param name="name" type="GLchar *" flow="in" count="COMPSIZE(name)" />
+      <returns type="GLuint" />
+    </function>
+    <function name="GetProgramResourceiv" category="ARB_program_interface_query" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="programInterface" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="propCount" type="GLsizei" flow="in" />
+      <param name="props" type="GLenum *" flow="in" count="propCount" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="params" type="GLint *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetProgramResourceLocation" category="ARB_program_interface_query" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="programInterface" type="GLenum" flow="in" />
+      <param name="name" type="GLchar *" flow="in" count="COMPSIZE(name)" />
+      <returns type="GLint" />
+    </function>
+    <function name="GetProgramResourceLocationIndex" category="ARB_program_interface_query" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="programInterface" type="GLenum" flow="in" />
+      <param name="name" type="GLchar *" flow="in" count="COMPSIZE(name)" />
+      <returns type="GLint" />
+    </function>
+    <function name="GetProgramResourceName" category="ARB_program_interface_query" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="programInterface" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="name" type="GLchar *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
+    <function name="GetProgramStageiv" category="ARB_shader_subroutine" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="shadertype" type="GLenum" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="values" type="GLint *" flow="out" count="1" />
+      <returns type="void" />
+    </function>
+    <function name="GetQueryIndexediv" category="ARB_transform_feedback3" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetQueryObjecti64v" category="ARB_timer_query" extension="Core">
+      <param name="id" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint64 *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetQueryObjectui64v" category="ARB_timer_query" extension="Core">
+      <param name="id" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLuint64 *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetRenderbufferParameteriv" category="ARB_framebuffer_object" extension="Core">
+      <param name="target" type="RenderbufferTarget" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetSamplerParameterfv" category="ARB_sampler_objects" extension="Core">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetSamplerParameterIiv" category="ARB_sampler_objects" extension="Core">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetSamplerParameterIuiv" category="ARB_sampler_objects" extension="Core">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLuint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="BindBuffersBase" category="ARB_multi_bind" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="first" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="buffers" type="GLuint *" flow="in" count="count" />
+    <function name="GetSamplerParameteriv" category="ARB_sampler_objects" extension="Core">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="BindBuffersRange" category="ARB_multi_bind" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="first" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="buffers" type="GLuint *" flow="in" count="count" />
-      <param name="offsets" type="GLintptr *" flow="in" count="count" />
-      <param name="sizes" type="GLsizeiptr *" flow="in" count="count" />
+    <function name="GetSeparableFilter" category="ARB_imaging" extension="Core">
+      <param name="target" type="SeparableTarget" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="row" type="void *" flow="out" count="COMPSIZE(target,format,type)" />
+      <param name="column" type="void *" flow="out" count="COMPSIZE(target,format,type)" />
+      <param name="span" type="void *" flow="out" count="COMPSIZE(target,format,type)" />
       <returns type="void" />
     </function>
-    <function name="BindFragDataLocationIndexed" category="ARB_blend_func_extended" extension="Core">
+    <function name="GetShaderPrecisionFormat" category="ARB_ES2_compatibility" extension="Core">
+      <param name="shadertype" type="GLenum" flow="in" />
+      <param name="precisiontype" type="GLenum" flow="in" />
+      <param name="range" type="GLint *" flow="out" count="2" />
+      <param name="precision" type="GLint *" flow="out" count="2" />
+      <returns type="void" />
+    </function>
+    <function name="GetSubroutineIndex" category="ARB_shader_subroutine" extension="Core">
       <param name="program" type="GLuint" flow="in" />
-      <param name="colorNumber" type="GLuint" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
+      <param name="shadertype" type="GLenum" flow="in" />
       <param name="name" type="GLchar *" flow="in" />
-      <returns type="void" />
+      <returns type="GLuint" />
     </function>
-    <function name="BindFramebuffer" category="ARB_framebuffer_object" extension="Core">
-      <param name="target" type="FramebufferTarget" flow="in" />
-      <param name="framebuffer" type="GLuint" flow="in" />
+    <function name="GetSubroutineUniformLocation" category="ARB_shader_subroutine" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="shadertype" type="GLenum" flow="in" />
+      <param name="name" type="GLchar *" flow="in" />
+      <returns type="GLint" />
+    </function>
+    <function name="GetSynciv" category="ARB_sync" extension="Core">
+      <param name="sync" type="sync" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="values" type="GLint *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="BindImageTexture" category="ARB_shader_image_load_store" extension="Core">
-      <param name="unit" type="GLuint" flow="in" />
+    <function name="GetTextureHandleARB" category="ARB_bindless_texture" extension="ARB">
+      <param name="texture" type="GLuint" flow="in" />
+      <returns type="GLuint64" />
+    </function>
+    <function name="GetTextureImage" category="ARB_direct_state_access" extension="Core">
       <param name="texture" type="GLuint" flow="in" />
       <param name="level" type="GLint" flow="in" />
-      <param name="layered" type="Boolean" flow="in" />
-      <param name="layer" type="GLint" flow="in" />
-      <param name="access" type="GLenum" flow="in" />
       <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="BindImageTextures" category="ARB_multi_bind" extension="Core">
-      <param name="first" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="textures" type="GLuint *" flow="in" count="count" />
+    <function name="GetTextureLevelParameterfv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="BindProgramPipeline" category="ARB_separate_shader_objects" extension="Core">
-      <param name="pipeline" type="GLuint" flow="in" />
+    <function name="GetTextureLevelParameteriv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="BindRenderbuffer" category="ARB_framebuffer_object" extension="Core">
-      <param name="target" type="RenderbufferTarget" flow="in" />
-      <param name="renderbuffer" type="GLuint" flow="in" />
+    <function name="GetTextureParameterfv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="BindSampler" category="ARB_sampler_objects" extension="Core">
-      <param name="unit" type="GLuint" flow="in" />
-      <param name="sampler" type="GLuint" flow="in" />
+    <function name="GetTextureParameterIiv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="BindSamplers" category="ARB_multi_bind" extension="Core">
-      <param name="first" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="samplers" type="GLuint *" flow="in" count="count" />
+    <function name="GetTextureParameterIuiv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLuint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="BindTextures" category="ARB_multi_bind" extension="Core">
-      <param name="first" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="textures" type="GLuint *" flow="in" count="count" />
+    <function name="GetTextureParameteriv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="BindTransformFeedback" category="ARB_transform_feedback2" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="id" type="GLuint" flow="in" />
+    <function name="GetTextureSamplerHandleARB" category="ARB_bindless_texture" extension="ARB">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="sampler" type="GLuint" flow="in" />
+      <returns type="GLuint64" />
+    </function>
+    <function name="GetTextureSubImage" category="ARB_get_texture_sub_image" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="BindVertexArray" category="ARB_vertex_array_object" extension="Core">
-      <param name="array" type="GLuint" flow="in" />
+    <function name="GetTransformFeedbacki_v" category="ARB_direct_state_access" extension="Core">
+      <param name="xfb" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="BindVertexBuffer" category="ARB_vertex_attrib_binding" extension="Core">
-      <param name="bindingindex" type="GLuint" flow="in" />
-      <param name="buffer" type="GLuint" flow="in" />
-      <param name="offset" type="BufferOffset" flow="in" />
-      <param name="stride" type="GLsizei" flow="in" />
+    <function name="GetTransformFeedbacki64_v" category="ARB_direct_state_access" extension="Core">
+      <param name="xfb" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="param" type="GLint64 *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="BindVertexBuffers" category="ARB_multi_bind" extension="Core">
-      <param name="first" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="buffers" type="GLuint *" flow="in" count="count" />
-      <param name="offsets" type="GLintptr *" flow="in" count="count" />
-      <param name="strides" type="GLsizei *" flow="in" count="count" />
+    <function name="GetTransformFeedbackiv" category="ARB_direct_state_access" extension="Core">
+      <param name="xfb" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="BlendColor" category="ARB_imaging" extension="Core">
-      <param name="red" type="ColorF" flow="in" />
-      <param name="green" type="ColorF" flow="in" />
-      <param name="blue" type="ColorF" flow="in" />
-      <param name="alpha" type="ColorF" flow="in" />
+    <function name="GetUniformBlockIndex" category="ARB_uniform_buffer_object" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="uniformBlockName" type="GLchar *" flow="in" count="COMPSIZE()" />
+      <returns type="GLuint" />
+    </function>
+    <function name="GetUniformdv" category="ARB_gpu_shader_fp64" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="params" type="GLdouble *" flow="out" count="COMPSIZE(program,location)" />
       <returns type="void" />
     </function>
-    <function name="BlendEquation" category="ARB_imaging" extension="Core">
-      <param name="mode" type="BlendEquationMode" flow="in" />
+    <function name="GetUniformIndices" category="ARB_uniform_buffer_object" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="uniformCount" type="GLsizei" flow="in" />
+      <param name="uniformNames" type="GLchar **" flow="in" count="COMPSIZE(uniformCount)" />
+      <param name="uniformIndices" type="GLuint *" flow="out" count="COMPSIZE(uniformCount)" />
       <returns type="void" />
     </function>
-    <function name="BlendEquationiARB" category="ARB_draw_buffers_blend" extension="ARB">
-      <param name="buf" type="GLuint" flow="in" />
-      <param name="mode" type="GLenum" flow="in" />
+    <function name="GetUniformSubroutineuiv" category="ARB_shader_subroutine" extension="Core">
+      <param name="shadertype" type="GLenum" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="params" type="GLuint *" flow="out" count="1" />
       <returns type="void" />
     </function>
-    <function name="BlendEquationSeparateiARB" category="ARB_draw_buffers_blend" extension="ARB">
-      <param name="buf" type="GLuint" flow="in" />
-      <param name="modeRGB" type="GLenum" flow="in" />
-      <param name="modeAlpha" type="GLenum" flow="in" />
+    <function name="GetVertexArrayIndexed64iv" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint64 *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="BlendFunciARB" category="ARB_draw_buffers_blend" extension="ARB">
-      <param name="buf" type="GLuint" flow="in" />
-      <param name="src" type="GLenum" flow="in" />
-      <param name="dst" type="GLenum" flow="in" />
+    <function name="GetVertexArrayIndexediv" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="BlendFuncSeparateiARB" category="ARB_draw_buffers_blend" extension="ARB">
-      <param name="buf" type="GLuint" flow="in" />
-      <param name="srcRGB" type="GLenum" flow="in" />
-      <param name="dstRGB" type="GLenum" flow="in" />
-      <param name="srcAlpha" type="GLenum" flow="in" />
-      <param name="dstAlpha" type="GLenum" flow="in" />
+    <function name="GetVertexArrayiv" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="BlitFramebuffer" category="ARB_framebuffer_object" extension="Core">
-      <param name="srcX0" type="GLint" flow="in" />
-      <param name="srcY0" type="GLint" flow="in" />
-      <param name="srcX1" type="GLint" flow="in" />
-      <param name="srcY1" type="GLint" flow="in" />
-      <param name="dstX0" type="GLint" flow="in" />
-      <param name="dstY0" type="GLint" flow="in" />
-      <param name="dstX1" type="GLint" flow="in" />
-      <param name="dstY1" type="GLint" flow="in" />
-      <param name="mask" type="ClearBufferMask" flow="in" />
-      <param name="filter" type="GLenum" flow="in" />
+    <function name="GetVertexAttribLdv" category="ARB_vertex_attrib_64bit" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLdouble *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="BufferStorage" category="ARB_buffer_storage" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="size" type="GLsizeiptr" flow="in" />
-      <param name="data" type="void *" flow="in" count="size" />
-      <param name="flags" type="GLbitfield" flow="in" />
+    <function name="GetVertexAttribLui64vARB" category="ARB_bindless_texture" extension="ARB">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLuint64EXT *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="CheckFramebufferStatus" category="ARB_framebuffer_object" extension="Core">
-      <param name="target" type="FramebufferTarget" flow="in" />
-      <returns type="GLenum" />
+    <function name="Histogram" category="ARB_imaging" extension="Core">
+      <param name="target" type="HistogramTarget" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="internalformat" type="PixelInternalFormat" flow="in" />
+      <param name="sink" type="Boolean" flow="in" />
+      <returns type="void" />
     </function>
-    <function name="ClearBufferData" category="ARB_clear_buffer_object" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
-      <param name="format" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="data" type="void *" flow="in" count="COMPSIZE(format,type)" />
+    <function name="InvalidateBufferData" category="ARB_invalidate_subdata" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ClearBufferSubData" category="ARB_clear_buffer_object" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
+    <function name="InvalidateBufferSubData" category="ARB_invalidate_subdata" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
       <param name="offset" type="BufferOffset" flow="in" />
-      <param name="size" type="BufferSize" flow="in" />
-      <param name="format" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="data" type="void *" flow="in" count="COMPSIZE(format,type)" />
+      <param name="length" type="BufferSize" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ClearDepthf" category="ARB_ES2_compatibility" extension="Core">
-      <param name="d" type="GLfloat" flow="in" />
+    <function name="InvalidateFramebuffer" category="ARB_invalidate_subdata" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="numAttachments" type="GLsizei" flow="in" />
+      <param name="attachments" type="GLenum *" flow="in" count="numAttachments" />
       <returns type="void" />
     </function>
-    <function name="ClearTexImage" category="ARB_clear_texture" extension="Core">
+    <function name="InvalidateNamedFramebufferData" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="numAttachments" type="GLsizei" flow="in" />
+      <param name="attachments" type="GLenum *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="InvalidateNamedFramebufferSubData" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="numAttachments" type="GLsizei" flow="in" />
+      <param name="attachments" type="GLenum *" flow="in" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="InvalidateSubFramebuffer" category="ARB_invalidate_subdata" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="numAttachments" type="GLsizei" flow="in" />
+      <param name="attachments" type="GLenum *" flow="in" count="numAttachments" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="InvalidateTexImage" category="ARB_invalidate_subdata" extension="Core">
       <param name="texture" type="GLuint" flow="in" />
       <param name="level" type="GLint" flow="in" />
-      <param name="format" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="data" type="void *" flow="in" count="COMPSIZE(format,type)" />
       <returns type="void" />
     </function>
-    <function name="ClearTexSubImage" category="ARB_clear_texture" extension="Core">
+    <function name="InvalidateTexSubImage" category="ARB_invalidate_subdata" extension="Core">
       <param name="texture" type="GLuint" flow="in" />
       <param name="level" type="GLint" flow="in" />
       <param name="xoffset" type="GLint" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
       <param name="depth" type="GLsizei" flow="in" />
-      <param name="format" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="data" type="void *" flow="in" count="COMPSIZE(format,type)" />
       <returns type="void" />
     </function>
-    <function name="ClientWaitSync" category="ARB_sync" extension="Core">
-      <param name="sync" type="sync" flow="in" />
-      <param name="flags" type="GLbitfield" flow="in" />
-      <param name="timeout" type="GLuint64" flow="in" />
-      <returns type="GLenum" />
+    <function name="IsFramebuffer" category="ARB_framebuffer_object" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <returns type="Boolean" />
     </function>
-    <function name="ColorP3ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="color" type="GLuint" flow="in" />
-      <returns type="void" />
+    <function name="IsImageHandleResidentARB" category="ARB_bindless_texture" extension="ARB">
+      <param name="handle" type="GLuint64" flow="in" />
+      <returns type="GLboolean" />
     </function>
-    <function name="ColorP3uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="color" type="GLuint *" flow="in" count="1" />
-      <returns type="void" />
+    <function name="IsNamedStringARB" category="ARB_shading_language_include" extension="ARB">
+      <param name="namelen" type="GLint" flow="in" />
+      <param name="name" type="GLchar *" flow="in" count="namelen" />
+      <returns type="Boolean" />
     </function>
-    <function name="ColorP4ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="color" type="GLuint" flow="in" />
-      <returns type="void" />
+    <function name="IsProgramPipeline" category="ARB_separate_shader_objects" extension="Core">
+      <param name="pipeline" type="GLuint" flow="in" />
+      <returns type="Boolean" />
     </function>
-    <function name="ColorP4uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="color" type="GLuint *" flow="in" count="1" />
-      <returns type="void" />
+    <function name="IsRenderbuffer" category="ARB_framebuffer_object" extension="Core">
+      <param name="renderbuffer" type="GLuint" flow="in" />
+      <returns type="Boolean" />
     </function>
-    <function name="ColorSubTable" category="ARB_imaging" extension="Core">
-      <param name="target" type="ColorTableTarget" flow="in" />
-      <param name="start" type="GLsizei" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="type" type="PixelType" flow="in" />
-      <param name="data" type="void *" flow="in" count="COMPSIZE(format,type,count)" />
-      <returns type="void" />
+    <function name="IsSampler" category="ARB_sampler_objects" extension="Core">
+      <param name="sampler" type="GLuint" flow="in" />
+      <returns type="Boolean" />
     </function>
-    <function name="ColorTable" category="ARB_imaging" extension="Core">
-      <param name="target" type="ColorTableTarget" flow="in" />
-      <param name="internalformat" type="PixelInternalFormat" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="type" type="PixelType" flow="in" />
-      <param name="table" type="void *" flow="in" count="COMPSIZE(format,type,width)" />
-      <returns type="void" />
+    <function name="IsSync" category="ARB_sync" extension="Core">
+      <param name="sync" type="sync" flow="in" />
+      <returns type="Boolean" />
     </function>
-    <function name="ColorTableParameterfv" category="ARB_imaging" extension="Core">
-      <param name="target" type="ColorTableTarget" flow="in" />
-      <param name="pname" type="ColorTableParameterPName" flow="in" />
-      <param name="params" type="CheckedFloat32 *" flow="in" count="COMPSIZE(pname)" />
-      <returns type="void" />
+    <function name="IsTextureHandleResidentARB" category="ARB_bindless_texture" extension="ARB">
+      <param name="handle" type="GLuint64" flow="in" />
+      <returns type="GLboolean" />
     </function>
-    <function name="ColorTableParameteriv" category="ARB_imaging" extension="Core">
-      <param name="target" type="ColorTableTarget" flow="in" />
-      <param name="pname" type="ColorTableParameterPName" flow="in" />
-      <param name="params" type="CheckedInt32 *" flow="in" count="COMPSIZE(pname)" />
-      <returns type="void" />
+    <function name="IsTransformFeedback" category="ARB_transform_feedback2" extension="Core">
+      <param name="id" type="GLuint" flow="in" />
+      <returns type="Boolean" />
     </function>
-    <function name="CompileShaderIncludeARB" category="ARB_shading_language_include" extension="ARB">
-      <param name="shader" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="path" type="GLchar **" flow="in" count="count" />
-      <param name="length" type="GLint *" flow="in" count="count" />
-      <returns type="void" />
+    <function name="IsVertexArray" category="ARB_vertex_array_object" extension="Core">
+      <param name="array" type="GLuint" flow="in" />
+      <returns type="Boolean" />
     </function>
-    <function name="ConvolutionFilter1D" category="ARB_imaging" extension="Core">
-      <param name="target" type="ConvolutionTarget" flow="in" />
-      <param name="internalformat" type="PixelInternalFormat" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="type" type="PixelType" flow="in" />
-      <param name="image" type="void *" flow="in" count="COMPSIZE(format,type,width)" />
+    <function name="MakeImageHandleNonResidentARB" category="ARB_bindless_texture" extension="ARB">
+      <param name="handle" type="GLuint64" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ConvolutionFilter2D" category="ARB_imaging" extension="Core">
-      <param name="target" type="ConvolutionTarget" flow="in" />
-      <param name="internalformat" type="PixelInternalFormat" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="type" type="PixelType" flow="in" />
-      <param name="image" type="void *" flow="in" count="COMPSIZE(format,type,width,height)" />
+    <function name="MakeImageHandleResidentARB" category="ARB_bindless_texture" extension="ARB">
+      <param name="handle" type="GLuint64" flow="in" />
+      <param name="access" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ConvolutionParameterf" category="ARB_imaging" extension="Core">
-      <param name="target" type="ConvolutionTarget" flow="in" />
-      <param name="pname" type="ConvolutionParameter" flow="in" />
-      <param name="params" type="CheckedFloat32" flow="in" />
+    <function name="MakeTextureHandleNonResidentARB" category="ARB_bindless_texture" extension="ARB">
+      <param name="handle" type="GLuint64" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ConvolutionParameterfv" category="ARB_imaging" extension="Core">
-      <param name="target" type="ConvolutionTarget" flow="in" />
-      <param name="pname" type="ConvolutionParameter" flow="in" />
-      <param name="params" type="CheckedFloat32 *" flow="in" count="COMPSIZE(pname)" />
+    <function name="MakeTextureHandleResidentARB" category="ARB_bindless_texture" extension="ARB">
+      <param name="handle" type="GLuint64" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ConvolutionParameteri" category="ARB_imaging" extension="Core">
-      <param name="target" type="ConvolutionTarget" flow="in" />
-      <param name="pname" type="ConvolutionParameter" flow="in" />
-      <param name="params" type="CheckedInt32" flow="in" />
-      <returns type="void" />
+    <function name="MapBufferRange" category="ARB_map_buffer_range" extension="Core">
+      <param name="target" type="BufferTargetARB" flow="in" />
+      <param name="offset" type="BufferOffset" flow="in" />
+      <param name="length" type="BufferSize" flow="in" />
+      <param name="access" type="BufferAccessMask" flow="in" />
+      <returns type="void *" />
     </function>
-    <function name="ConvolutionParameteriv" category="ARB_imaging" extension="Core">
-      <param name="target" type="ConvolutionTarget" flow="in" />
-      <param name="pname" type="ConvolutionParameter" flow="in" />
-      <param name="params" type="CheckedInt32 *" flow="in" count="COMPSIZE(pname)" />
-      <returns type="void" />
+    <function name="MapNamedBuffer" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="access" type="GLenum" flow="in" />
+      <returns type="void *" />
     </function>
-    <function name="CopyBufferSubData" category="ARB_copy_buffer" extension="Core">
-      <param name="readTarget" type="GLenum" flow="in" />
-      <param name="writeTarget" type="GLenum" flow="in" />
-      <param name="readOffset" type="BufferOffset" flow="in" />
-      <param name="writeOffset" type="BufferOffset" flow="in" />
-      <param name="size" type="BufferSize" flow="in" />
-      <returns type="void" />
+    <function name="MapNamedBufferRange" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <param name="access" type="GLbitfield" flow="in" />
+      <returns type="void *" />
     </function>
-    <function name="CopyColorSubTable" category="ARB_imaging" extension="Core">
-      <param name="target" type="ColorTableTarget" flow="in" />
-      <param name="start" type="GLsizei" flow="in" />
-      <param name="x" type="WinCoord" flow="in" />
-      <param name="y" type="WinCoord" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
+    <function name="MemoryBarrier" category="ARB_shader_image_load_store" extension="Core">
+      <param name="barriers" type="GLbitfield" flow="in" />
       <returns type="void" />
     </function>
-    <function name="CopyColorTable" category="ARB_imaging" extension="Core">
-      <param name="target" type="ColorTableTarget" flow="in" />
-      <param name="internalformat" type="PixelInternalFormat" flow="in" />
-      <param name="x" type="WinCoord" flow="in" />
-      <param name="y" type="WinCoord" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
+    <function name="MemoryBarrierByRegion" category="ARB_ES3_1_compatibility" extension="Core">
+      <param name="barriers" type="GLbitfield" flow="in" />
       <returns type="void" />
     </function>
-    <function name="CopyConvolutionFilter1D" category="ARB_imaging" extension="Core">
-      <param name="target" type="ConvolutionTarget" flow="in" />
+    <function name="Minmax" category="ARB_imaging" extension="Core">
+      <param name="target" type="MinmaxTarget" flow="in" />
       <param name="internalformat" type="PixelInternalFormat" flow="in" />
-      <param name="x" type="WinCoord" flow="in" />
-      <param name="y" type="WinCoord" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
+      <param name="sink" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="CopyConvolutionFilter2D" category="ARB_imaging" extension="Core">
-      <param name="target" type="ConvolutionTarget" flow="in" />
-      <param name="internalformat" type="PixelInternalFormat" flow="in" />
-      <param name="x" type="WinCoord" flow="in" />
-      <param name="y" type="WinCoord" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
+    <function name="MinSampleShadingARB" category="ARB_sample_shading" extension="ARB">
+      <param name="value" type="ColorF" flow="in" />
       <returns type="void" />
     </function>
-    <function name="CopyImageSubData" category="ARB_copy_image" extension="Core">
-      <param name="srcName" type="GLuint" flow="in" />
-      <param name="srcTarget" type="GLenum" flow="in" />
-      <param name="srcLevel" type="GLint" flow="in" />
-      <param name="srcX" type="GLint" flow="in" />
-      <param name="srcY" type="GLint" flow="in" />
-      <param name="srcZ" type="GLint" flow="in" />
-      <param name="dstName" type="GLuint" flow="in" />
-      <param name="dstTarget" type="GLenum" flow="in" />
-      <param name="dstLevel" type="GLint" flow="in" />
-      <param name="dstX" type="GLint" flow="in" />
-      <param name="dstY" type="GLint" flow="in" />
-      <param name="dstZ" type="GLint" flow="in" />
-      <param name="srcWidth" type="GLsizei" flow="in" />
-      <param name="srcHeight" type="GLsizei" flow="in" />
-      <param name="srcDepth" type="GLsizei" flow="in" />
+    <function name="MultiDrawArraysIndirect" category="ARB_multi_draw_indirect" extension="Core">
+      <param name="mode" type="GLenum" flow="in" />
+      <param name="indirect" type="void *" flow="in" count="COMPSIZE(drawcount,stride)" />
+      <param name="drawcount" type="GLsizei" flow="in" />
+      <param name="stride" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="CreateShaderProgramv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="strings" type="GLchar **" flow="in" count="count" />
-      <returns type="GLuint" />
+    <function name="MultiDrawArraysIndirectCountARB" category="ARB_indirect_parameters" extension="ARB">
+      <param name="mode" type="GLenum" flow="in" />
+      <param name="indirect" type="GLintptr" flow="in" />
+      <param name="drawcount" type="GLintptr" flow="in" />
+      <param name="maxdrawcount" type="GLsizei" flow="in" />
+      <param name="stride" type="GLsizei" flow="in" />
+      <returns type="void" />
     </function>
-    <function name="CreateSyncFromCLeventARB" category="ARB_cl_event" extension="ARB">
-      <param name="context" type="cl_context *" flow="out" />
-      <param name="event" type="cl_event *" flow="out" />
-      <param name="flags" type="GLbitfield" flow="in" />
-      <returns type="sync" />
+    <function name="MultiDrawElementsBaseVertex" category="ARB_draw_elements_base_vertex" extension="Core">
+      <param name="mode" type="GLenum" flow="in" />
+      <param name="count" type="GLsizei *" flow="in" count="COMPSIZE(drawcount)" />
+      <param name="type" type="DrawElementsType" flow="in" />
+      <param name="indices" type="void **" flow="in" count="COMPSIZE(drawcount)" />
+      <param name="drawcount" type="GLsizei" flow="in" />
+      <param name="basevertex" type="GLint *" flow="in" count="COMPSIZE(drawcount)" />
+      <returns type="void" />
     </function>
-    <function name="DebugMessageCallback" category="KHR_debug" extension="Core">
-      <param name="callback" type="GLDEBUGPROC" flow="in" />
-      <param name="userParam" type="void *" flow="in" />
+    <function name="MultiDrawElementsIndirect" category="ARB_multi_draw_indirect" extension="Core">
+      <param name="mode" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="indirect" type="void *" flow="in" count="COMPSIZE(drawcount,stride)" />
+      <param name="drawcount" type="GLsizei" flow="in" />
+      <param name="stride" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DebugMessageCallbackARB" category="ARB_debug_output" extension="ARB">
-      <param name="callback" type="GLDEBUGPROCARB" flow="in" />
-      <param name="userParam" type="void *" flow="in" count="COMPSIZE(callback)" />
+    <function name="MultiDrawElementsIndirectCountARB" category="ARB_indirect_parameters" extension="ARB">
+      <param name="mode" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="indirect" type="GLintptr" flow="in" />
+      <param name="drawcount" type="GLintptr" flow="in" />
+      <param name="maxdrawcount" type="GLsizei" flow="in" />
+      <param name="stride" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DebugMessageCallbackKHR" category="KHR_debug" extension="KHR">
-      <param name="callback" type="GLDEBUGPROCKHR" flow="in" />
-      <param name="userParam" type="void *" flow="in" />
+    <function name="MultiTexCoordP1ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="texture" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DebugMessageControl" category="KHR_debug" extension="Core">
-      <param name="source" type="GLenum" flow="in" />
+    <function name="MultiTexCoordP1uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="texture" type="GLenum" flow="in" />
       <param name="type" type="GLenum" flow="in" />
-      <param name="severity" type="GLenum" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="ids" type="GLuint *" flow="in" count="count" />
-      <param name="enabled" type="Boolean" flow="in" />
+      <param name="coords" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="DebugMessageControlARB" category="ARB_debug_output" extension="ARB">
-      <param name="source" type="GLenum" flow="in" />
+    <function name="MultiTexCoordP2ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="texture" type="GLenum" flow="in" />
       <param name="type" type="GLenum" flow="in" />
-      <param name="severity" type="GLenum" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="ids" type="GLuint *" flow="in" count="count" />
-      <param name="enabled" type="Boolean" flow="in" />
+      <param name="coords" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DebugMessageControlKHR" category="KHR_debug" extension="KHR">
-      <param name="source" type="GLenum" flow="in" />
+    <function name="MultiTexCoordP2uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="texture" type="GLenum" flow="in" />
       <param name="type" type="GLenum" flow="in" />
-      <param name="severity" type="GLenum" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="ids" type="GLuint *" flow="in" />
-      <param name="enabled" type="GLboolean" flow="in" />
+      <param name="coords" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="DebugMessageInsert" category="KHR_debug" extension="Core">
-      <param name="source" type="GLenum" flow="in" />
+    <function name="MultiTexCoordP3ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="texture" type="GLenum" flow="in" />
       <param name="type" type="GLenum" flow="in" />
-      <param name="id" type="GLuint" flow="in" />
-      <param name="severity" type="GLenum" flow="in" />
-      <param name="length" type="GLsizei" flow="in" />
-      <param name="buf" type="GLchar *" flow="in" count="COMPSIZE(buf,length)" />
+      <param name="coords" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DebugMessageInsertARB" category="ARB_debug_output" extension="ARB">
-      <param name="source" type="GLenum" flow="in" />
+    <function name="MultiTexCoordP3uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="texture" type="GLenum" flow="in" />
       <param name="type" type="GLenum" flow="in" />
-      <param name="id" type="GLuint" flow="in" />
-      <param name="severity" type="GLenum" flow="in" />
-      <param name="length" type="GLsizei" flow="in" />
-      <param name="buf" type="GLchar *" flow="in" count="length" />
+      <param name="coords" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="DebugMessageInsertKHR" category="KHR_debug" extension="KHR">
-      <param name="source" type="GLenum" flow="in" />
+    <function name="MultiTexCoordP4ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="texture" type="GLenum" flow="in" />
       <param name="type" type="GLenum" flow="in" />
-      <param name="id" type="GLuint" flow="in" />
-      <param name="severity" type="GLenum" flow="in" />
-      <param name="length" type="GLsizei" flow="in" />
-      <param name="buf" type="GLchar *" flow="in" />
+      <param name="coords" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DeleteFramebuffers" category="ARB_framebuffer_object" extension="Core">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="framebuffers" type="GLuint *" flow="in" count="n" />
+    <function name="MultiTexCoordP4uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="texture" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="DeleteNamedStringARB" category="ARB_shading_language_include" extension="ARB">
-      <param name="namelen" type="GLint" flow="in" />
-      <param name="name" type="GLchar *" flow="in" count="namelen" />
+    <function name="NamedBufferData" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <param name="usage" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DeleteProgramPipelines" category="ARB_separate_shader_objects" extension="Core">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="pipelines" type="GLuint *" flow="in" count="n" />
+    <function name="NamedBufferPageCommitmentARB" category="ARB_sparse_buffer" extension="ARB">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="commit" type="GLboolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DeleteRenderbuffers" category="ARB_framebuffer_object" extension="Core">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="renderbuffers" type="GLuint *" flow="in" count="n" />
+    <function name="NamedBufferPageCommitmentEXT" category="ARB_sparse_buffer" extension="EXT">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="commit" type="GLboolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DeleteSamplers" category="ARB_sampler_objects" extension="Core">
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="samplers" type="GLuint *" flow="in" count="count" />
+    <function name="NamedBufferStorage" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <param name="flags" type="GLbitfield" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DeleteSync" category="ARB_sync" extension="Core">
-      <param name="sync" type="sync" flow="in" />
+    <function name="NamedBufferSubData" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DeleteTransformFeedbacks" category="ARB_transform_feedback2" extension="Core">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="ids" type="GLuint *" flow="in" count="n" />
+    <function name="NamedFramebufferDrawBuffer" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buf" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DeleteVertexArrays" category="ARB_vertex_array_object" extension="Core">
+    <function name="NamedFramebufferDrawBuffers" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
       <param name="n" type="GLsizei" flow="in" />
-      <param name="arrays" type="GLuint *" flow="in" count="n" />
+      <param name="bufs" type="GLenum *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DepthRangeArrayv" category="ARB_viewport_array" extension="Core">
-      <param name="first" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="v" type="GLdouble *" flow="in" count="COMPSIZE(count)" />
+    <function name="NamedFramebufferParameteri" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DepthRangef" category="ARB_ES2_compatibility" extension="Core">
-      <param name="n" type="GLfloat" flow="in" />
-      <param name="f" type="GLfloat" flow="in" />
+    <function name="NamedFramebufferReadBuffer" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="src" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DepthRangeIndexed" category="ARB_viewport_array" extension="Core">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="n" type="GLdouble" flow="in" />
-      <param name="f" type="GLdouble" flow="in" />
+    <function name="NamedFramebufferRenderbuffer" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="attachment" type="GLenum" flow="in" />
+      <param name="renderbuffertarget" type="GLenum" flow="in" />
+      <param name="renderbuffer" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DispatchCompute" category="ARB_compute_shader" extension="Core">
-      <param name="num_groups_x" type="GLuint" flow="in" />
-      <param name="num_groups_y" type="GLuint" flow="in" />
-      <param name="num_groups_z" type="GLuint" flow="in" />
+    <function name="NamedFramebufferTexture" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="attachment" type="GLenum" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DispatchComputeGroupSizeARB" category="ARB_compute_variable_group_size" extension="ARB">
-      <param name="num_groups_x" type="GLuint" flow="in" />
-      <param name="num_groups_y" type="GLuint" flow="in" />
-      <param name="num_groups_z" type="GLuint" flow="in" />
-      <param name="group_size_x" type="GLuint" flow="in" />
-      <param name="group_size_y" type="GLuint" flow="in" />
-      <param name="group_size_z" type="GLuint" flow="in" />
+    <function name="NamedFramebufferTextureLayer" category="ARB_direct_state_access" extension="Core">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="attachment" type="GLenum" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="layer" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DispatchComputeIndirect" category="ARB_compute_shader" extension="Core">
-      <param name="indirect" type="BufferOffset" flow="in" />
+    <function name="NamedRenderbufferStorage" category="ARB_direct_state_access" extension="Core">
+      <param name="renderbuffer" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DrawArraysIndirect" category="ARB_draw_indirect" extension="Core">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="indirect" type="void *" flow="in" />
+    <function name="NamedRenderbufferStorageMultisample" category="ARB_direct_state_access" extension="Core">
+      <param name="renderbuffer" type="GLuint" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DrawArraysInstancedBaseInstance" category="ARB_base_instance" extension="Core">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="first" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="instancecount" type="GLsizei" flow="in" />
-      <param name="baseinstance" type="GLuint" flow="in" />
+    <function name="NamedStringARB" category="ARB_shading_language_include" extension="ARB">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="namelen" type="GLint" flow="in" />
+      <param name="name" type="GLchar *" flow="in" count="namelen" />
+      <param name="stringlen" type="GLint" flow="in" />
+      <param name="string" type="GLchar *" flow="in" count="stringlen" />
       <returns type="void" />
     </function>
-    <function name="DrawElementsBaseVertex" category="ARB_draw_elements_base_vertex" extension="Core">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="type" type="DrawElementsType" flow="in" />
-      <param name="indices" type="void *" flow="in" count="COMPSIZE(count,type)" />
-      <param name="basevertex" type="GLint" flow="in" />
+    <function name="NormalP3ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DrawElementsIndirect" category="ARB_draw_indirect" extension="Core">
-      <param name="mode" type="PrimitiveType" flow="in" />
+    <function name="NormalP3uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
       <param name="type" type="GLenum" flow="in" />
-      <param name="indirect" type="void *" flow="in" />
+      <param name="coords" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="DrawElementsInstancedBaseInstance" category="ARB_base_instance" extension="Core">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="indices" type="void *" flow="in" count="count" />
-      <param name="instancecount" type="GLsizei" flow="in" />
-      <param name="baseinstance" type="GLuint" flow="in" />
+    <function name="ObjectLabel" category="KHR_debug" extension="Core">
+      <param name="identifier" type="GLenum" flow="in" />
+      <param name="name" type="GLuint" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <param name="label" type="GLchar *" flow="in" count="COMPSIZE(label,length)" />
       <returns type="void" />
     </function>
-    <function name="DrawElementsInstancedBaseVertex" category="ARB_draw_elements_base_vertex" extension="Core">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="type" type="DrawElementsType" flow="in" />
-      <param name="indices" type="void *" flow="in" count="COMPSIZE(count,type)" />
-      <param name="instancecount" type="GLsizei" flow="in" />
-      <param name="basevertex" type="GLint" flow="in" />
+    <function name="ObjectLabelKHR" category="KHR_debug" extension="KHR">
+      <param name="identifier" type="GLenum" flow="in" />
+      <param name="name" type="GLuint" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <param name="label" type="GLchar *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DrawElementsInstancedBaseVertexBaseInstance" category="ARB_base_instance" extension="Core">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="indices" type="void *" flow="in" count="count" />
-      <param name="instancecount" type="GLsizei" flow="in" />
-      <param name="basevertex" type="GLint" flow="in" />
-      <param name="baseinstance" type="GLuint" flow="in" />
+    <function name="ObjectPtrLabel" category="KHR_debug" extension="Core">
+      <param name="ptr" type="void *" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <param name="label" type="GLchar *" flow="in" count="COMPSIZE(label,length)" />
       <returns type="void" />
     </function>
-    <function name="DrawRangeElementsBaseVertex" category="ARB_draw_elements_base_vertex" extension="Core">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="start" type="GLuint" flow="in" />
-      <param name="end" type="GLuint" flow="in" />
+    <function name="ObjectPtrLabelKHR" category="KHR_debug" extension="KHR">
+      <param name="ptr" type="void *" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <param name="label" type="GLchar *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="PatchParameterfv" category="ARB_tessellation_shader" extension="Core">
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="values" type="GLfloat *" flow="in" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="PatchParameteri" category="ARB_tessellation_shader" extension="Core">
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="value" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="PauseTransformFeedback" category="ARB_transform_feedback2" extension="Core">
+      <returns type="void" />
+    </function>
+    <function name="PopDebugGroup" category="KHR_debug" extension="Core">
+      <returns type="void" />
+    </function>
+    <function name="PopDebugGroupKHR" category="KHR_debug" extension="KHR">
+      <returns type="void" />
+    </function>
+    <function name="ProgramBinary" category="ARB_get_program_binary" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="binaryFormat" type="GLenum" flow="in" />
+      <param name="binary" type="void *" flow="in" count="length" />
+      <param name="length" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ProgramParameteri" category="ARB_get_program_binary" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="pname" type="ProgramParameterPName" flow="in" />
+      <param name="value" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ProgramUniform1d" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLdouble" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ProgramUniform1dv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="type" type="DrawElementsType" flow="in" />
-      <param name="indices" type="void *" flow="in" count="COMPSIZE(count,type)" />
-      <param name="basevertex" type="GLint" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="DrawTransformFeedback" category="ARB_transform_feedback2" extension="Core">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="id" type="GLuint" flow="in" />
+    <function name="ProgramUniform1f" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DrawTransformFeedbackInstanced" category="ARB_transform_feedback_instanced" extension="Core">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="id" type="GLuint" flow="in" />
-      <param name="instancecount" type="GLsizei" flow="in" />
+    <function name="ProgramUniform1fv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="DrawTransformFeedbackStream" category="ARB_transform_feedback3" extension="Core">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="id" type="GLuint" flow="in" />
-      <param name="stream" type="GLuint" flow="in" />
+    <function name="ProgramUniform1i" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DrawTransformFeedbackStreamInstanced" category="ARB_transform_feedback_instanced" extension="Core">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="id" type="GLuint" flow="in" />
-      <param name="stream" type="GLuint" flow="in" />
-      <param name="instancecount" type="GLsizei" flow="in" />
+    <function name="ProgramUniform1iv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="EndQueryIndexed" category="ARB_transform_feedback3" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
+    <function name="ProgramUniform1ui" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="FenceSync" category="ARB_sync" extension="Core">
-      <param name="condition" type="GLenum" flow="in" />
-      <param name="flags" type="GLbitfield" flow="in" />
-      <returns type="sync" />
+    <function name="ProgramUniform1uiv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="1" />
+      <returns type="void" />
     </function>
-    <function name="FlushMappedBufferRange" category="ARB_map_buffer_range" extension="Core">
-      <param name="target" type="BufferTargetARB" flow="in" />
-      <param name="offset" type="BufferOffset" flow="in" />
-      <param name="length" type="BufferSize" flow="in" />
+    <function name="ProgramUniform2d" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLdouble" flow="in" />
+      <param name="v1" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="FramebufferParameteri" category="ARB_framebuffer_no_attachments" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="param" type="GLint" flow="in" />
+    <function name="ProgramUniform2dv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="FramebufferRenderbuffer" category="ARB_framebuffer_object" extension="Core">
-      <param name="target" type="FramebufferTarget" flow="in" />
-      <param name="attachment" type="FramebufferAttachment" flow="in" />
-      <param name="renderbuffertarget" type="RenderbufferTarget" flow="in" />
-      <param name="renderbuffer" type="GLuint" flow="in" />
+    <function name="ProgramUniform2f" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLfloat" flow="in" />
+      <param name="v1" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="FramebufferTexture1D" category="ARB_framebuffer_object" extension="Core">
-      <param name="target" type="FramebufferTarget" flow="in" />
-      <param name="attachment" type="FramebufferAttachment" flow="in" />
-      <param name="textarget" type="GLenum" flow="in" />
-      <param name="texture" type="GLuint" flow="in" />
-      <param name="level" type="GLint" flow="in" />
+    <function name="ProgramUniform2fv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="FramebufferTexture2D" category="ARB_framebuffer_object" extension="Core">
-      <param name="target" type="FramebufferTarget" flow="in" />
-      <param name="attachment" type="FramebufferAttachment" flow="in" />
-      <param name="textarget" type="GLenum" flow="in" />
-      <param name="texture" type="GLuint" flow="in" />
-      <param name="level" type="GLint" flow="in" />
+    <function name="ProgramUniform2i" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLint" flow="in" />
+      <param name="v1" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="FramebufferTexture3D" category="ARB_framebuffer_object" extension="Core">
-      <param name="target" type="FramebufferTarget" flow="in" />
-      <param name="attachment" type="FramebufferAttachment" flow="in" />
-      <param name="textarget" type="GLenum" flow="in" />
-      <param name="texture" type="GLuint" flow="in" />
-      <param name="level" type="GLint" flow="in" />
-      <param name="zoffset" type="GLint" flow="in" />
+    <function name="ProgramUniform2iv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLint *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="FramebufferTextureLayer" category="ARB_framebuffer_object" extension="Core">
-      <param name="target" type="FramebufferTarget" flow="in" />
-      <param name="attachment" type="FramebufferAttachment" flow="in" />
-      <param name="texture" type="Texture" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="layer" type="CheckedInt32" flow="in" />
+    <function name="ProgramUniform2ui" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLuint" flow="in" />
+      <param name="v1" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GenerateMipmap" category="ARB_framebuffer_object" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
+    <function name="ProgramUniform2uiv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="GenFramebuffers" category="ARB_framebuffer_object" extension="Core">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="framebuffers" type="GLuint *" flow="out" count="n" />
+    <function name="ProgramUniform3d" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLdouble" flow="in" />
+      <param name="v1" type="GLdouble" flow="in" />
+      <param name="v2" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GenProgramPipelines" category="ARB_separate_shader_objects" extension="Core">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="pipelines" type="GLuint *" flow="out" count="n" />
+    <function name="ProgramUniform3dv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="GenRenderbuffers" category="ARB_framebuffer_object" extension="Core">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="renderbuffers" type="GLuint *" flow="out" count="n" />
+    <function name="ProgramUniform3f" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLfloat" flow="in" />
+      <param name="v1" type="GLfloat" flow="in" />
+      <param name="v2" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GenSamplers" category="ARB_sampler_objects" extension="Core">
+    <function name="ProgramUniform3fv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="samplers" type="GLuint *" flow="out" count="count" />
+      <param name="value" type="GLfloat *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="GenTransformFeedbacks" category="ARB_transform_feedback2" extension="Core">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="ids" type="GLuint *" flow="out" count="n" />
+    <function name="ProgramUniform3i" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLint" flow="in" />
+      <param name="v1" type="GLint" flow="in" />
+      <param name="v2" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GenVertexArrays" category="ARB_vertex_array_object" extension="Core">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="arrays" type="GLuint *" flow="out" count="n" />
+    <function name="ProgramUniform3iv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLint *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="GetActiveAtomicCounterBufferiv" category="ARB_shader_atomic_counters" extension="Core">
+    <function name="ProgramUniform3ui" category="ARB_separate_shader_objects" extension="Core">
       <param name="program" type="GLuint" flow="in" />
-      <param name="bufferIndex" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLuint" flow="in" />
+      <param name="v1" type="GLuint" flow="in" />
+      <param name="v2" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetActiveSubroutineName" category="ARB_shader_subroutine" extension="Core">
+    <function name="ProgramUniform3uiv" category="ARB_separate_shader_objects" extension="Core">
       <param name="program" type="GLuint" flow="in" />
-      <param name="shadertype" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="bufsize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="name" type="GLchar *" flow="out" count="bufsize" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="GetActiveSubroutineUniformiv" category="ARB_shader_subroutine" extension="Core">
+    <function name="ProgramUniform4d" category="ARB_separate_shader_objects" extension="Core">
       <param name="program" type="GLuint" flow="in" />
-      <param name="shadertype" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="values" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLdouble" flow="in" />
+      <param name="v1" type="GLdouble" flow="in" />
+      <param name="v2" type="GLdouble" flow="in" />
+      <param name="v3" type="GLdouble" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ProgramUniform4dv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="GetActiveSubroutineUniformName" category="ARB_shader_subroutine" extension="Core">
+    <function name="ProgramUniform4f" category="ARB_separate_shader_objects" extension="Core">
       <param name="program" type="GLuint" flow="in" />
-      <param name="shadertype" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="bufsize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="name" type="GLchar *" flow="out" count="bufsize" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLfloat" flow="in" />
+      <param name="v1" type="GLfloat" flow="in" />
+      <param name="v2" type="GLfloat" flow="in" />
+      <param name="v3" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetActiveUniformBlockiv" category="ARB_uniform_buffer_object" extension="Core">
+    <function name="ProgramUniform4fv" category="ARB_separate_shader_objects" extension="Core">
       <param name="program" type="GLuint" flow="in" />
-      <param name="uniformBlockIndex" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(program, uniformBlockIndex, pname)" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="GetActiveUniformBlockName" category="ARB_uniform_buffer_object" extension="Core">
+    <function name="ProgramUniform4i" category="ARB_separate_shader_objects" extension="Core">
       <param name="program" type="GLuint" flow="in" />
-      <param name="uniformBlockIndex" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="uniformBlockName" type="GLchar *" flow="out" count="bufSize" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLint" flow="in" />
+      <param name="v1" type="GLint" flow="in" />
+      <param name="v2" type="GLint" flow="in" />
+      <param name="v3" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetActiveUniformName" category="ARB_uniform_buffer_object" extension="Core">
+    <function name="ProgramUniform4iv" category="ARB_separate_shader_objects" extension="Core">
       <param name="program" type="GLuint" flow="in" />
-      <param name="uniformIndex" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="uniformName" type="GLchar *" flow="out" count="bufSize" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLint *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="GetActiveUniformsiv" category="ARB_uniform_buffer_object" extension="Core">
+    <function name="ProgramUniform4ui" category="ARB_separate_shader_objects" extension="Core">
       <param name="program" type="GLuint" flow="in" />
-      <param name="uniformCount" type="GLsizei" flow="in" />
-      <param name="uniformIndices" type="GLuint *" flow="in" count="uniformCount" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(uniformCount, pname)" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLuint" flow="in" />
+      <param name="v1" type="GLuint" flow="in" />
+      <param name="v2" type="GLuint" flow="in" />
+      <param name="v3" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetColorTable" category="ARB_imaging" extension="Core">
-      <param name="target" type="ColorTableTarget" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="type" type="PixelType" flow="in" />
-      <param name="table" type="void *" flow="out" count="COMPSIZE(target,format,type)" />
+    <function name="ProgramUniform4uiv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="GetColorTableParameterfv" category="ARB_imaging" extension="Core">
-      <param name="target" type="ColorTableTarget" flow="in" />
-      <param name="pname" type="GetColorTableParameterPName" flow="in" />
-      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ProgramUniformHandleui64ARB" category="ARB_bindless_texture" extension="ARB">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="value" type="GLuint64" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetColorTableParameteriv" category="ARB_imaging" extension="Core">
-      <param name="target" type="ColorTableTarget" flow="in" />
-      <param name="pname" type="GetColorTableParameterPName" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ProgramUniformHandleui64vARB" category="ARB_bindless_texture" extension="ARB">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="values" type="GLuint64 *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="GetConvolutionFilter" category="ARB_imaging" extension="Core">
-      <param name="target" type="ConvolutionTarget" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="type" type="PixelType" flow="in" />
-      <param name="image" type="void *" flow="out" count="COMPSIZE(target,format,type)" />
+    <function name="ProgramUniformMatrix2dv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="GetConvolutionParameterfv" category="ARB_imaging" extension="Core">
-      <param name="target" type="ConvolutionTarget" flow="in" />
-      <param name="pname" type="GetConvolutionParameterPName" flow="in" />
-      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ProgramUniformMatrix2fv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="GetConvolutionParameteriv" category="ARB_imaging" extension="Core">
-      <param name="target" type="ConvolutionTarget" flow="in" />
-      <param name="pname" type="GetConvolutionParameterPName" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ProgramUniformMatrix2x3dv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="GetDebugMessageLog" category="KHR_debug" extension="Core">
-      <param name="count" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="sources" type="GLenum *" flow="out" count="count" />
-      <param name="types" type="GLenum *" flow="out" count="count" />
-      <param name="ids" type="GLuint *" flow="out" count="count" />
-      <param name="severities" type="GLenum *" flow="out" count="count" />
-      <param name="lengths" type="GLsizei *" flow="out" count="count" />
-      <param name="messageLog" type="GLchar *" flow="out" count="bufSize" />
-      <returns type="GLuint" />
-    </function>
-    <function name="GetDebugMessageLogARB" category="ARB_debug_output" extension="ARB">
-      <param name="count" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="sources" type="GLenum *" flow="out" count="count" />
-      <param name="types" type="GLenum *" flow="out" count="count" />
-      <param name="ids" type="GLuint *" flow="out" count="count" />
-      <param name="severities" type="GLenum *" flow="out" count="count" />
-      <param name="lengths" type="GLsizei *" flow="out" count="count" />
-      <param name="messageLog" type="GLchar *" flow="out" count="bufSize" />
-      <returns type="GLuint" />
-    </function>
-    <function name="GetDebugMessageLogKHR" category="KHR_debug" extension="KHR">
-      <param name="count" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="sources" type="GLenum *" flow="out" count="count" />
-      <param name="types" type="GLenum *" flow="out" count="count" />
-      <param name="ids" type="GLuint *" flow="out" count="count" />
-      <param name="severities" type="GLenum *" flow="out" count="count" />
-      <param name="lengths" type="GLsizei *" flow="out" count="count" />
-      <param name="messageLog" type="GLchar *" flow="out" count="bufSize" />
-      <returns type="GLuint" />
-    </function>
-    <function name="GetDoublei_v" category="ARB_viewport_array" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="data" type="GLdouble *" flow="out" count="COMPSIZE(target)" />
+    <function name="ProgramUniformMatrix2x3fv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="GetFloati_v" category="ARB_viewport_array" extension="Core">
-      <param name="target" type="TypeEnum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="data" type="GLfloat *" flow="out" count="COMPSIZE(target)" />
+    <function name="ProgramUniformMatrix2x4dv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="GetFragDataIndex" category="ARB_blend_func_extended" extension="Core">
+    <function name="ProgramUniformMatrix2x4fv" category="ARB_separate_shader_objects" extension="Core">
       <param name="program" type="GLuint" flow="in" />
-      <param name="name" type="GLchar *" flow="in" />
-      <returns type="GLint" />
-    </function>
-    <function name="GetFramebufferAttachmentParameteriv" category="ARB_framebuffer_object" extension="Core">
-      <param name="target" type="FramebufferTarget" flow="in" />
-      <param name="attachment" type="FramebufferAttachment" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="GetFramebufferParameteriv" category="ARB_framebuffer_no_attachments" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ProgramUniformMatrix3dv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="GetGraphicsResetStatusARB" category="ARB_robustness" extension="ARB">
-      <returns type="GLenum" />
-    </function>
-    <function name="GetHistogram" category="ARB_imaging" extension="Core">
-      <param name="target" type="HistogramTarget" flow="in" />
-      <param name="reset" type="Boolean" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="type" type="PixelType" flow="in" />
-      <param name="values" type="void *" flow="out" count="COMPSIZE(target,format,type)" />
+    <function name="ProgramUniformMatrix3fv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="GetHistogramParameterfv" category="ARB_imaging" extension="Core">
-      <param name="target" type="HistogramTarget" flow="in" />
-      <param name="pname" type="GetHistogramParameterPName" flow="in" />
-      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ProgramUniformMatrix3x2dv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="GetHistogramParameteriv" category="ARB_imaging" extension="Core">
-      <param name="target" type="HistogramTarget" flow="in" />
-      <param name="pname" type="GetHistogramParameterPName" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ProgramUniformMatrix3x2fv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="GetImageHandleARB" category="ARB_bindless_texture" extension="ARB">
-      <param name="texture" type="GLuint" flow="in" />
-      <param name="level" type="GLint" flow="in" />
-      <param name="layered" type="GLboolean" flow="in" />
-      <param name="layer" type="GLint" flow="in" />
-      <param name="format" type="GLenum" flow="in" />
-      <returns type="GLuint64" />
+    <function name="ProgramUniformMatrix3x4dv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count" />
+      <returns type="void" />
     </function>
-    <function name="GetInteger64v" category="ARB_sync" extension="Core">
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="data" type="GLint64 *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ProgramUniformMatrix3x4fv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="GetInternalformati64v" category="ARB_internalformat_query2" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="params" type="GLint64 *" flow="out" count="bufSize" />
+    <function name="ProgramUniformMatrix4dv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="GetInternalformativ" category="ARB_internalformat_query" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="bufSize" />
+    <function name="ProgramUniformMatrix4fv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="GetMinmax" category="ARB_imaging" extension="Core">
-      <param name="target" type="MinmaxTarget" flow="in" />
-      <param name="reset" type="Boolean" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="type" type="PixelType" flow="in" />
-      <param name="values" type="void *" flow="out" count="COMPSIZE(target,format,type)" />
+    <function name="ProgramUniformMatrix4x2dv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="GetMinmaxParameterfv" category="ARB_imaging" extension="Core">
-      <param name="target" type="MinmaxTarget" flow="in" />
-      <param name="pname" type="GetMinmaxParameterPName" flow="in" />
-      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ProgramUniformMatrix4x2fv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="GetMinmaxParameteriv" category="ARB_imaging" extension="Core">
-      <param name="target" type="MinmaxTarget" flow="in" />
-      <param name="pname" type="GetMinmaxParameterPName" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ProgramUniformMatrix4x3dv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="GetMultisamplefv" category="ARB_texture_multisample" extension="Core">
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="val" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ProgramUniformMatrix4x3fv" category="ARB_separate_shader_objects" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="GetNamedStringARB" category="ARB_shading_language_include" extension="ARB">
-      <param name="namelen" type="GLint" flow="in" />
-      <param name="name" type="GLchar *" flow="in" count="namelen" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="stringlen" type="GLint *" flow="out" count="1" />
-      <param name="string" type="GLchar *" flow="out" count="bufSize" />
+    <function name="ProvokingVertex" category="ARB_provoking_vertex" extension="Core">
+      <param name="mode" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetNamedStringivARB" category="ARB_shading_language_include" extension="ARB">
-      <param name="namelen" type="GLint" flow="in" />
-      <param name="name" type="GLchar *" flow="in" count="namelen" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="PushDebugGroup" category="KHR_debug" extension="Core">
+      <param name="source" type="GLenum" flow="in" />
+      <param name="id" type="GLuint" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <param name="message" type="GLchar *" flow="in" count="COMPSIZE(message,length)" />
       <returns type="void" />
     </function>
-    <function name="GetnColorTableARB" category="ARB_robustness" extension="ARB">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="format" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="table" type="void *" flow="out" count="bufSize" />
+    <function name="PushDebugGroupKHR" category="KHR_debug" extension="KHR">
+      <param name="source" type="GLenum" flow="in" />
+      <param name="id" type="GLuint" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <param name="message" type="GLchar *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetnCompressedTexImageARB" category="ARB_robustness" extension="ARB">
+    <function name="QueryCounter" category="ARB_timer_query" extension="Core">
+      <param name="id" type="GLuint" flow="in" />
       <param name="target" type="GLenum" flow="in" />
-      <param name="lod" type="GLint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="img" type="void *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="GetnConvolutionFilterARB" category="ARB_robustness" extension="ARB">
-      <param name="target" type="GLenum" flow="in" />
+    <function name="ReadnPixels" category="KHR_robustness" extension="Core">
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <param name="format" type="GLenum" flow="in" />
       <param name="type" type="GLenum" flow="in" />
       <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="image" type="void *" flow="out" count="bufSize" />
+      <param name="data" type="void *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="GetnHistogramARB" category="ARB_robustness" extension="ARB">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="reset" type="Boolean" flow="in" />
+    <function name="ReadnPixelsARB" category="ARB_robustness" extension="ARB">
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <param name="format" type="GLenum" flow="in" />
       <param name="type" type="GLenum" flow="in" />
       <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="values" type="void *" flow="out" count="bufSize" />
+      <param name="data" type="void *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="GetnMapdvARB" category="ARB_robustness" extension="ARB">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="query" type="GLenum" flow="in" />
+    <function name="ReadnPixelsKHR" category="KHR_robustness" extension="KHR">
+      <param name="x" type="WinCoord" flow="in" />
+      <param name="y" type="WinCoord" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
       <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="v" type="GLdouble *" flow="out" count="bufSize" />
+      <param name="data" type="void *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="GetnMapfvARB" category="ARB_robustness" extension="ARB">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="query" type="GLenum" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="v" type="GLfloat *" flow="out" count="bufSize" />
+    <function name="ReleaseShaderCompiler" category="ARB_ES2_compatibility" extension="Core">
       <returns type="void" />
     </function>
-    <function name="GetnMapivARB" category="ARB_robustness" extension="ARB">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="query" type="GLenum" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="v" type="GLint *" flow="out" count="bufSize" />
+    <function name="RenderbufferStorage" category="ARB_framebuffer_object" extension="Core">
+      <param name="target" type="RenderbufferTarget" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetnMinmaxARB" category="ARB_robustness" extension="ARB">
+    <function name="RenderbufferStorageMultisample" category="ARB_framebuffer_object" extension="Core">
       <param name="target" type="GLenum" flow="in" />
-      <param name="reset" type="Boolean" flow="in" />
-      <param name="format" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="values" type="void *" flow="out" count="bufSize" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetnPixelMapfvARB" category="ARB_robustness" extension="ARB">
-      <param name="map" type="GLenum" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="values" type="GLfloat *" flow="out" count="bufSize" />
+    <function name="ResetHistogram" category="ARB_imaging" extension="Core">
+      <param name="target" type="HistogramTarget" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetnPixelMapuivARB" category="ARB_robustness" extension="ARB">
-      <param name="map" type="GLenum" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="values" type="GLuint *" flow="out" count="bufSize" />
+    <function name="ResetMinmax" category="ARB_imaging" extension="Core">
+      <param name="target" type="MinmaxTarget" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetnPixelMapusvARB" category="ARB_robustness" extension="ARB">
-      <param name="map" type="GLenum" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="values" type="GLushort *" flow="out" count="bufSize" />
+    <function name="ResumeTransformFeedback" category="ARB_transform_feedback2" extension="Core">
       <returns type="void" />
     </function>
-    <function name="GetnPolygonStippleARB" category="ARB_robustness" extension="ARB">
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="pattern" type="GLubyte *" flow="out" count="bufSize" />
+    <function name="SampleMaski" category="ARB_texture_multisample" extension="Core">
+      <param name="maskNumber" type="GLuint" flow="in" />
+      <param name="mask" type="GLbitfield" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetnSeparableFilterARB" category="ARB_robustness" extension="ARB">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="format" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="rowBufSize" type="GLsizei" flow="in" />
-      <param name="row" type="void *" flow="out" count="rowBufSize" />
-      <param name="columnBufSize" type="GLsizei" flow="in" />
-      <param name="column" type="void *" flow="out" count="columnBufSize" />
-      <param name="span" type="void *" flow="out" count="0" />
+    <function name="SamplerParameterf" category="ARB_sampler_objects" extension="Core">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetnTexImageARB" category="ARB_robustness" extension="ARB">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="level" type="GLint" flow="in" />
-      <param name="format" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="img" type="void *" flow="out" count="bufSize" />
+    <function name="SamplerParameterfv" category="ARB_sampler_objects" extension="Core">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLfloat *" flow="in" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="GetnUniformdvARB" category="ARB_robustness" extension="ARB">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="params" type="GLdouble *" flow="out" count="bufSize" />
+    <function name="SamplerParameteri" category="ARB_sampler_objects" extension="Core">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetnUniformfvARB" category="ARB_robustness" extension="ARB">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="params" type="GLfloat *" flow="out" count="bufSize" />
+    <function name="SamplerParameterIiv" category="ARB_sampler_objects" extension="Core">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="in" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="GetnUniformivARB" category="ARB_robustness" extension="ARB">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="bufSize" />
+    <function name="SamplerParameterIuiv" category="ARB_sampler_objects" extension="Core">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLuint *" flow="in" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="GetnUniformuivARB" category="ARB_robustness" extension="ARB">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="params" type="GLuint *" flow="out" count="bufSize" />
+    <function name="SamplerParameteriv" category="ARB_sampler_objects" extension="Core">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="in" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="GetObjectLabel" category="KHR_debug" extension="Core">
-      <param name="identifier" type="GLenum" flow="in" />
-      <param name="name" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="label" type="GLchar *" flow="out" count="bufSize" />
+    <function name="ScissorArrayv" category="ARB_viewport_array" extension="Core">
+      <param name="first" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="v" type="GLint *" flow="in" count="COMPSIZE(count)" />
       <returns type="void" />
     </function>
-    <function name="GetObjectLabelKHR" category="KHR_debug" extension="KHR">
-      <param name="identifier" type="GLenum" flow="in" />
-      <param name="name" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" />
-      <param name="label" type="GLchar *" flow="out" count="bufSize" />
+    <function name="ScissorIndexed" category="ARB_viewport_array" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="left" type="GLint" flow="in" />
+      <param name="bottom" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetObjectPtrLabel" category="KHR_debug" extension="Core">
-      <param name="ptr" type="void *" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="label" type="GLchar *" flow="out" count="bufSize" />
+    <function name="ScissorIndexedv" category="ARB_viewport_array" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLint *" flow="in" count="4" />
+      <returns type="void" />
+    </function>
+    <function name="SecondaryColorP3ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="color" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetObjectPtrLabelKHR" category="KHR_debug" extension="KHR">
-      <param name="ptr" type="void *" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="label" type="GLchar *" flow="out" count="bufSize" />
+    <function name="SecondaryColorP3uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="color" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="GetPointerv" category="KHR_debug" extension="Core">
-      <param name="pname" type="GetPointervPName" flow="in" />
-      <param name="params" type="void **" flow="out" count="1" />
+    <function name="SeparableFilter2D" category="ARB_imaging" extension="Core">
+      <param name="target" type="SeparableTarget" flow="in" />
+      <param name="internalformat" type="PixelInternalFormat" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="row" type="void *" flow="in" count="COMPSIZE(target,format,type,width)" />
+      <param name="column" type="void *" flow="in" count="COMPSIZE(target,format,type,height)" />
       <returns type="void" />
     </function>
-    <function name="GetPointervKHR" category="KHR_debug" extension="KHR">
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="void **" flow="out" />
+    <function name="ShaderBinary" category="ARB_ES2_compatibility" extension="Core">
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="shaders" type="GLuint *" flow="in" count="count" />
+      <param name="binaryformat" type="GLenum" flow="in" />
+      <param name="binary" type="void *" flow="in" count="length" />
+      <param name="length" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetProgramBinary" category="ARB_get_program_binary" extension="Core">
+    <function name="ShaderStorageBlockBinding" category="ARB_shader_storage_buffer_object" extension="Core">
       <param name="program" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="binaryFormat" type="GLenum *" flow="out" count="1" />
-      <param name="binary" type="void *" flow="out" count="bufSize" />
+      <param name="storageBlockIndex" type="GLuint" flow="in" />
+      <param name="storageBlockBinding" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetProgramInterfaceiv" category="ARB_program_interface_query" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="programInterface" type="GLenum" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="TexBufferRange" category="ARB_texture_buffer_range" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="BufferOffset" flow="in" />
+      <param name="size" type="BufferSize" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetProgramPipelineInfoLog" category="ARB_separate_shader_objects" extension="Core">
-      <param name="pipeline" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="infoLog" type="GLchar *" flow="out" count="bufSize" />
+    <function name="TexCoordP1ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetProgramPipelineiv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="pipeline" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="TexCoordP1uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="GetProgramResourceIndex" category="ARB_program_interface_query" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="programInterface" type="GLenum" flow="in" />
-      <param name="name" type="GLchar *" flow="in" count="COMPSIZE(name)" />
-      <returns type="GLuint" />
+    <function name="TexCoordP2ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint" flow="in" />
+      <returns type="void" />
     </function>
-    <function name="GetProgramResourceiv" category="ARB_program_interface_query" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="programInterface" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="propCount" type="GLsizei" flow="in" />
-      <param name="props" type="GLenum *" flow="in" count="propCount" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="params" type="GLint *" flow="out" count="bufSize" />
+    <function name="TexCoordP2uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="GetProgramResourceLocation" category="ARB_program_interface_query" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="programInterface" type="GLenum" flow="in" />
-      <param name="name" type="GLchar *" flow="in" count="COMPSIZE(name)" />
-      <returns type="GLint" />
+    <function name="TexCoordP3ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint" flow="in" />
+      <returns type="void" />
     </function>
-    <function name="GetProgramResourceLocationIndex" category="ARB_program_interface_query" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="programInterface" type="GLenum" flow="in" />
-      <param name="name" type="GLchar *" flow="in" count="COMPSIZE(name)" />
-      <returns type="GLint" />
+    <function name="TexCoordP3uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint *" flow="in" count="1" />
+      <returns type="void" />
     </function>
-    <function name="GetProgramResourceName" category="ARB_program_interface_query" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="programInterface" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="name" type="GLchar *" flow="out" count="bufSize" />
+    <function name="TexCoordP4ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetProgramStageiv" category="ARB_shader_subroutine" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="shadertype" type="GLenum" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="values" type="GLint *" flow="out" count="1" />
+    <function name="TexCoordP4uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="GetQueryIndexediv" category="ARB_transform_feedback3" extension="Core">
+    <function name="TexImage2DMultisample" category="ARB_texture_multisample" extension="Core">
       <param name="target" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="fixedsamplelocations" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetQueryObjecti64v" category="ARB_timer_query" extension="Core">
-      <param name="id" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint64 *" flow="out" count="COMPSIZE(pname)" />
+    <function name="TexImage3DMultisample" category="ARB_texture_multisample" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="fixedsamplelocations" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetQueryObjectui64v" category="ARB_timer_query" extension="Core">
-      <param name="id" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLuint64 *" flow="out" count="COMPSIZE(pname)" />
+    <function name="TexPageCommitmentARB" category="ARB_sparse_texture" extension="ARB">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="resident" type="GLboolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetRenderbufferParameteriv" category="ARB_framebuffer_object" extension="Core">
-      <param name="target" type="RenderbufferTarget" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="TexStorage1D" category="ARB_texture_storage" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="levels" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetSamplerParameterfv" category="ARB_sampler_objects" extension="Core">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
+    <function name="TexStorage2D" category="ARB_texture_storage" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="levels" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetSamplerParameterIiv" category="ARB_sampler_objects" extension="Core">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="TexStorage2DMultisample" category="ARB_texture_storage_multisample" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="fixedsamplelocations" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetSamplerParameterIuiv" category="ARB_sampler_objects" extension="Core">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLuint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="TexStorage3D" category="ARB_texture_storage" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="levels" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetSamplerParameteriv" category="ARB_sampler_objects" extension="Core">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="TexStorage3DMultisample" category="ARB_texture_storage_multisample" extension="Core">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="fixedsamplelocations" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetSeparableFilter" category="ARB_imaging" extension="Core">
-      <param name="target" type="SeparableTarget" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="type" type="PixelType" flow="in" />
-      <param name="row" type="void *" flow="out" count="COMPSIZE(target,format,type)" />
-      <param name="column" type="void *" flow="out" count="COMPSIZE(target,format,type)" />
-      <param name="span" type="void *" flow="out" count="COMPSIZE(target,format,type)" />
+    <function name="TextureBarrier" category="ARB_texture_barrier" extension="Core">
       <returns type="void" />
     </function>
-    <function name="GetShaderPrecisionFormat" category="ARB_ES2_compatibility" extension="Core">
-      <param name="shadertype" type="GLenum" flow="in" />
-      <param name="precisiontype" type="GLenum" flow="in" />
-      <param name="range" type="GLint *" flow="out" count="2" />
-      <param name="precision" type="GLint *" flow="out" count="2" />
+    <function name="TextureBuffer" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetSubroutineIndex" category="ARB_shader_subroutine" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="shadertype" type="GLenum" flow="in" />
-      <param name="name" type="GLchar *" flow="in" />
-      <returns type="GLuint" />
-    </function>
-    <function name="GetSubroutineUniformLocation" category="ARB_shader_subroutine" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="shadertype" type="GLenum" flow="in" />
-      <param name="name" type="GLchar *" flow="in" />
-      <returns type="GLint" />
-    </function>
-    <function name="GetSynciv" category="ARB_sync" extension="Core">
-      <param name="sync" type="sync" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="values" type="GLint *" flow="out" count="bufSize" />
+    <function name="TextureBufferRange" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetTextureHandleARB" category="ARB_bindless_texture" extension="ARB">
+    <function name="TextureParameterf" category="ARB_direct_state_access" extension="Core">
       <param name="texture" type="GLuint" flow="in" />
-      <returns type="GLuint64" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLfloat" flow="in" />
+      <returns type="void" />
     </function>
-    <function name="GetTextureSamplerHandleARB" category="ARB_bindless_texture" extension="ARB">
+    <function name="TextureParameterfv" category="ARB_direct_state_access" extension="Core">
       <param name="texture" type="GLuint" flow="in" />
-      <param name="sampler" type="GLuint" flow="in" />
-      <returns type="GLuint64" />
-    </function>
-    <function name="GetUniformBlockIndex" category="ARB_uniform_buffer_object" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="uniformBlockName" type="GLchar *" flow="in" count="COMPSIZE()" />
-      <returns type="GLuint" />
-    </function>
-    <function name="GetUniformdv" category="ARB_gpu_shader_fp64" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="params" type="GLdouble *" flow="out" count="COMPSIZE(program, location)" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLfloat *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetUniformIndices" category="ARB_uniform_buffer_object" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="uniformCount" type="GLsizei" flow="in" />
-      <param name="uniformNames" type="GLchar **" flow="in" count="COMPSIZE(uniformCount)" />
-      <param name="uniformIndices" type="GLuint *" flow="out" count="COMPSIZE(uniformCount)" />
+    <function name="TextureParameteri" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetUniformSubroutineuiv" category="ARB_shader_subroutine" extension="Core">
-      <param name="shadertype" type="GLenum" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="params" type="GLuint *" flow="out" count="1" />
+    <function name="TextureParameterIiv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetVertexAttribLdv" category="ARB_vertex_attrib_64bit" extension="Core">
-      <param name="index" type="GLuint" flow="in" />
+    <function name="TextureParameterIuiv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLdouble *" flow="out" count="COMPSIZE(pname)" />
+      <param name="params" type="GLuint *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetVertexAttribLui64vARB" category="ARB_bindless_texture" extension="ARB">
-      <param name="index" type="GLuint" flow="in" />
+    <function name="TextureParameteriv" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLuint64EXT *" flow="out" />
+      <param name="param" type="GLint *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Histogram" category="ARB_imaging" extension="Core">
-      <param name="target" type="HistogramTarget" flow="in" />
+    <function name="TextureStorage1D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="levels" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
-      <param name="internalformat" type="PixelInternalFormat" flow="in" />
-      <param name="sink" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="InvalidateBufferData" category="ARB_invalidate_subdata" extension="Core">
-      <param name="buffer" type="GLuint" flow="in" />
+    <function name="TextureStorage2D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="levels" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="InvalidateBufferSubData" category="ARB_invalidate_subdata" extension="Core">
-      <param name="buffer" type="GLuint" flow="in" />
-      <param name="offset" type="BufferOffset" flow="in" />
-      <param name="length" type="BufferSize" flow="in" />
+    <function name="TextureStorage2DMultisample" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="fixedsamplelocations" type="GLboolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="InvalidateFramebuffer" category="ARB_invalidate_subdata" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="numAttachments" type="GLsizei" flow="in" />
-      <param name="attachments" type="GLenum *" flow="in" count="numAttachments" />
+    <function name="TextureStorage3D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="levels" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="InvalidateSubFramebuffer" category="ARB_invalidate_subdata" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="numAttachments" type="GLsizei" flow="in" />
-      <param name="attachments" type="GLenum *" flow="in" count="numAttachments" />
-      <param name="x" type="GLint" flow="in" />
-      <param name="y" type="GLint" flow="in" />
+    <function name="TextureStorage3DMultisample" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="fixedsamplelocations" type="GLboolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="InvalidateTexImage" category="ARB_invalidate_subdata" extension="Core">
+    <function name="TextureSubImage1D" category="ARB_direct_state_access" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="pixels" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureSubImage2D" category="ARB_direct_state_access" extension="Core">
       <param name="texture" type="GLuint" flow="in" />
       <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="pixels" type="void *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="InvalidateTexSubImage" category="ARB_invalidate_subdata" extension="Core">
+    <function name="TextureSubImage3D" category="ARB_direct_state_access" extension="Core">
       <param name="texture" type="GLuint" flow="in" />
       <param name="level" type="GLint" flow="in" />
       <param name="xoffset" type="GLint" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
       <param name="depth" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="pixels" type="void *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="IsFramebuffer" category="ARB_framebuffer_object" extension="Core">
-      <param name="framebuffer" type="GLuint" flow="in" />
-      <returns type="Boolean" />
-    </function>
-    <function name="IsImageHandleResidentARB" category="ARB_bindless_texture" extension="ARB">
-      <param name="handle" type="GLuint64" flow="in" />
-      <returns type="GLboolean" />
+    <function name="TextureView" category="ARB_texture_view" extension="Core">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="target" type="GLenum" flow="in" />
+      <param name="origtexture" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="minlevel" type="GLuint" flow="in" />
+      <param name="numlevels" type="GLuint" flow="in" />
+      <param name="minlayer" type="GLuint" flow="in" />
+      <param name="numlayers" type="GLuint" flow="in" />
+      <returns type="void" />
     </function>
-    <function name="IsNamedStringARB" category="ARB_shading_language_include" extension="ARB">
-      <param name="namelen" type="GLint" flow="in" />
-      <param name="name" type="GLchar *" flow="in" count="namelen" />
-      <returns type="Boolean" />
+    <function name="TransformFeedbackBufferBase" category="ARB_direct_state_access" extension="Core">
+      <param name="xfb" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <returns type="void" />
     </function>
-    <function name="IsProgramPipeline" category="ARB_separate_shader_objects" extension="Core">
-      <param name="pipeline" type="GLuint" flow="in" />
-      <returns type="Boolean" />
+    <function name="TransformFeedbackBufferRange" category="ARB_direct_state_access" extension="Core">
+      <param name="xfb" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <returns type="void" />
     </function>
-    <function name="IsRenderbuffer" category="ARB_framebuffer_object" extension="Core">
-      <param name="renderbuffer" type="GLuint" flow="in" />
-      <returns type="Boolean" />
+    <function name="Uniform1d" category="ARB_gpu_shader_fp64" extension="Core">
+      <param name="location" type="GLint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
+      <returns type="void" />
     </function>
-    <function name="IsSampler" category="ARB_sampler_objects" extension="Core">
-      <param name="sampler" type="GLuint" flow="in" />
-      <returns type="Boolean" />
+    <function name="Uniform1dv" category="ARB_gpu_shader_fp64" extension="Core">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*1" />
+      <returns type="void" />
     </function>
-    <function name="IsSync" category="ARB_sync" extension="Core">
-      <param name="sync" type="sync" flow="in" />
-      <returns type="Boolean" />
+    <function name="Uniform2d" category="ARB_gpu_shader_fp64" extension="Core">
+      <param name="location" type="GLint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
+      <param name="y" type="GLdouble" flow="in" />
+      <returns type="void" />
     </function>
-    <function name="IsTextureHandleResidentARB" category="ARB_bindless_texture" extension="ARB">
-      <param name="handle" type="GLuint64" flow="in" />
-      <returns type="GLboolean" />
+    <function name="Uniform2dv" category="ARB_gpu_shader_fp64" extension="Core">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*2" />
+      <returns type="void" />
     </function>
-    <function name="IsTransformFeedback" category="ARB_transform_feedback2" extension="Core">
-      <param name="id" type="GLuint" flow="in" />
-      <returns type="Boolean" />
+    <function name="Uniform3d" category="ARB_gpu_shader_fp64" extension="Core">
+      <param name="location" type="GLint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
+      <param name="y" type="GLdouble" flow="in" />
+      <param name="z" type="GLdouble" flow="in" />
+      <returns type="void" />
     </function>
-    <function name="IsVertexArray" category="ARB_vertex_array_object" extension="Core">
-      <param name="array" type="GLuint" flow="in" />
-      <returns type="Boolean" />
+    <function name="Uniform3dv" category="ARB_gpu_shader_fp64" extension="Core">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*3" />
+      <returns type="void" />
     </function>
-    <function name="MakeImageHandleNonResidentARB" category="ARB_bindless_texture" extension="ARB">
-      <param name="handle" type="GLuint64" flow="in" />
+    <function name="Uniform4d" category="ARB_gpu_shader_fp64" extension="Core">
+      <param name="location" type="GLint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
+      <param name="y" type="GLdouble" flow="in" />
+      <param name="z" type="GLdouble" flow="in" />
+      <param name="w" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="MakeImageHandleResidentARB" category="ARB_bindless_texture" extension="ARB">
-      <param name="handle" type="GLuint64" flow="in" />
-      <param name="access" type="GLenum" flow="in" />
+    <function name="Uniform4dv" category="ARB_gpu_shader_fp64" extension="Core">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*4" />
       <returns type="void" />
     </function>
-    <function name="MakeTextureHandleNonResidentARB" category="ARB_bindless_texture" extension="ARB">
-      <param name="handle" type="GLuint64" flow="in" />
+    <function name="UniformBlockBinding" category="ARB_uniform_buffer_object" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="uniformBlockIndex" type="GLuint" flow="in" />
+      <param name="uniformBlockBinding" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="MakeTextureHandleResidentARB" category="ARB_bindless_texture" extension="ARB">
-      <param name="handle" type="GLuint64" flow="in" />
+    <function name="UniformHandleui64ARB" category="ARB_bindless_texture" extension="ARB">
+      <param name="location" type="GLint" flow="in" />
+      <param name="value" type="GLuint64" flow="in" />
       <returns type="void" />
     </function>
-    <function name="MapBufferRange" category="ARB_map_buffer_range" extension="Core">
-      <param name="target" type="BufferTargetARB" flow="in" />
-      <param name="offset" type="BufferOffset" flow="in" />
-      <param name="length" type="BufferSize" flow="in" />
-      <param name="access" type="BufferAccessMask" flow="in" />
-      <returns type="void *" />
+    <function name="UniformHandleui64vARB" category="ARB_bindless_texture" extension="ARB">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLuint64 *" flow="in" count="count" />
+      <returns type="void" />
     </function>
-    <function name="MemoryBarrier" category="ARB_shader_image_load_store" extension="Core">
-      <param name="barriers" type="GLbitfield" flow="in" />
+    <function name="UniformMatrix2dv" category="ARB_gpu_shader_fp64" extension="Core">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*4" />
       <returns type="void" />
     </function>
-    <function name="Minmax" category="ARB_imaging" extension="Core">
-      <param name="target" type="MinmaxTarget" flow="in" />
-      <param name="internalformat" type="PixelInternalFormat" flow="in" />
-      <param name="sink" type="Boolean" flow="in" />
+    <function name="UniformMatrix2x3dv" category="ARB_gpu_shader_fp64" extension="Core">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*6" />
       <returns type="void" />
     </function>
-    <function name="MinSampleShadingARB" category="ARB_sample_shading" extension="ARB">
-      <param name="value" type="ColorF" flow="in" />
+    <function name="UniformMatrix2x4dv" category="ARB_gpu_shader_fp64" extension="Core">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*8" />
       <returns type="void" />
     </function>
-    <function name="MultiDrawArraysIndirect" category="ARB_multi_draw_indirect" extension="Core">
-      <param name="mode" type="GLenum" flow="in" />
-      <param name="indirect" type="void *" flow="in" count="COMPSIZE(drawcount,stride)" />
-      <param name="drawcount" type="GLsizei" flow="in" />
-      <param name="stride" type="GLsizei" flow="in" />
+    <function name="UniformMatrix3dv" category="ARB_gpu_shader_fp64" extension="Core">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*9" />
       <returns type="void" />
     </function>
-    <function name="MultiDrawArraysIndirectCountARB" category="ARB_indirect_parameters" extension="ARB">
-      <param name="mode" type="GLenum" flow="in" />
-      <param name="indirect" type="GLintptr" flow="in" />
-      <param name="drawcount" type="GLintptr" flow="in" />
-      <param name="maxdrawcount" type="GLsizei" flow="in" />
-      <param name="stride" type="GLsizei" flow="in" />
+    <function name="UniformMatrix3x2dv" category="ARB_gpu_shader_fp64" extension="Core">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*6" />
       <returns type="void" />
     </function>
-    <function name="MultiDrawElementsBaseVertex" category="ARB_draw_elements_base_vertex" extension="Core">
-      <param name="mode" type="GLenum" flow="in" />
-      <param name="count" type="GLsizei *" flow="in" count="COMPSIZE(drawcount)" />
-      <param name="type" type="DrawElementsType" flow="in" />
-      <param name="indices" type="void **" flow="in" count="COMPSIZE(drawcount)" />
-      <param name="drawcount" type="GLsizei" flow="in" />
-      <param name="basevertex" type="GLint *" flow="in" count="COMPSIZE(drawcount)" />
+    <function name="UniformMatrix3x4dv" category="ARB_gpu_shader_fp64" extension="Core">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*12" />
       <returns type="void" />
     </function>
-    <function name="MultiDrawElementsIndirect" category="ARB_multi_draw_indirect" extension="Core">
-      <param name="mode" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="indirect" type="void *" flow="in" count="COMPSIZE(drawcount,stride)" />
-      <param name="drawcount" type="GLsizei" flow="in" />
-      <param name="stride" type="GLsizei" flow="in" />
+    <function name="UniformMatrix4dv" category="ARB_gpu_shader_fp64" extension="Core">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*16" />
       <returns type="void" />
     </function>
-    <function name="MultiDrawElementsIndirectCountARB" category="ARB_indirect_parameters" extension="ARB">
-      <param name="mode" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="indirect" type="GLintptr" flow="in" />
-      <param name="drawcount" type="GLintptr" flow="in" />
-      <param name="maxdrawcount" type="GLsizei" flow="in" />
-      <param name="stride" type="GLsizei" flow="in" />
+    <function name="UniformMatrix4x2dv" category="ARB_gpu_shader_fp64" extension="Core">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*8" />
       <returns type="void" />
     </function>
-    <function name="MultiTexCoordP1ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="texture" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint" flow="in" />
+    <function name="UniformMatrix4x3dv" category="ARB_gpu_shader_fp64" extension="Core">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*12" />
       <returns type="void" />
     </function>
-    <function name="MultiTexCoordP1uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="texture" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint *" flow="in" count="1" />
+    <function name="UniformSubroutinesuiv" category="ARB_shader_subroutine" extension="Core">
+      <param name="shadertype" type="GLenum" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="indices" type="GLuint *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="MultiTexCoordP2ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="texture" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint" flow="in" />
-      <returns type="void" />
+    <function name="UnmapNamedBuffer" category="ARB_direct_state_access" extension="Core">
+      <param name="buffer" type="GLuint" flow="in" />
+      <returns type="GLboolean" />
     </function>
-    <function name="MultiTexCoordP2uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="texture" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint *" flow="in" count="1" />
+    <function name="UseProgramStages" category="ARB_separate_shader_objects" extension="Core">
+      <param name="pipeline" type="GLuint" flow="in" />
+      <param name="stages" type="GLbitfield" flow="in" />
+      <param name="program" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="MultiTexCoordP3ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="texture" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint" flow="in" />
+    <function name="ValidateProgramPipeline" category="ARB_separate_shader_objects" extension="Core">
+      <param name="pipeline" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="MultiTexCoordP3uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="texture" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint *" flow="in" count="1" />
+    <function name="VertexArrayAttribBinding" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="bindingindex" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="MultiTexCoordP4ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="texture" type="GLenum" flow="in" />
+    <function name="VertexArrayAttribFormat" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="size" type="GLint" flow="in" />
       <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint" flow="in" />
+      <param name="normalized" type="GLboolean" flow="in" />
+      <param name="relativeoffset" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="MultiTexCoordP4uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="texture" type="GLenum" flow="in" />
+    <function name="VertexArrayAttribIFormat" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="size" type="GLint" flow="in" />
       <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint *" flow="in" count="1" />
+      <param name="relativeoffset" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="NamedStringARB" category="ARB_shading_language_include" extension="ARB">
+    <function name="VertexArrayAttribLFormat" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="size" type="GLint" flow="in" />
       <param name="type" type="GLenum" flow="in" />
-      <param name="namelen" type="GLint" flow="in" />
-      <param name="name" type="GLchar *" flow="in" count="namelen" />
-      <param name="stringlen" type="GLint" flow="in" />
-      <param name="string" type="GLchar *" flow="in" count="stringlen" />
+      <param name="relativeoffset" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="NormalP3ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint" flow="in" />
+    <function name="VertexArrayBindingDivisor" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="bindingindex" type="GLuint" flow="in" />
+      <param name="divisor" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="NormalP3uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint *" flow="in" count="1" />
+    <function name="VertexArrayElementBuffer" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ObjectLabel" category="KHR_debug" extension="Core">
-      <param name="identifier" type="GLenum" flow="in" />
-      <param name="name" type="GLuint" flow="in" />
-      <param name="length" type="GLsizei" flow="in" />
-      <param name="label" type="GLchar *" flow="in" count="COMPSIZE(label,length)" />
+    <function name="VertexArrayVertexBuffer" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="bindingindex" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="stride" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ObjectLabelKHR" category="KHR_debug" extension="KHR">
-      <param name="identifier" type="GLenum" flow="in" />
-      <param name="name" type="GLuint" flow="in" />
-      <param name="length" type="GLsizei" flow="in" />
-      <param name="label" type="GLchar *" flow="in" />
+    <function name="VertexArrayVertexBuffers" category="ARB_direct_state_access" extension="Core">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="first" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="buffers" type="GLuint *" flow="in" />
+      <param name="offsets" type="GLintptr *" flow="in" />
+      <param name="strides" type="GLsizei *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ObjectPtrLabel" category="KHR_debug" extension="Core">
-      <param name="ptr" type="void *" flow="in" />
-      <param name="length" type="GLsizei" flow="in" />
-      <param name="label" type="GLchar *" flow="in" count="COMPSIZE(label,length)" />
+    <function name="VertexAttribBinding" category="ARB_vertex_attrib_binding" extension="Core">
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="bindingindex" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ObjectPtrLabelKHR" category="KHR_debug" extension="KHR">
-      <param name="ptr" type="void *" flow="in" />
-      <param name="length" type="GLsizei" flow="in" />
-      <param name="label" type="GLchar *" flow="in" />
+    <function name="VertexAttribFormat" category="ARB_vertex_attrib_binding" extension="Core">
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="size" type="GLint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
+      <param name="relativeoffset" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="PatchParameterfv" category="ARB_tessellation_shader" extension="Core">
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="values" type="GLfloat *" flow="in" count="COMPSIZE(pname)" />
+    <function name="VertexAttribIFormat" category="ARB_vertex_attrib_binding" extension="Core">
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="size" type="GLint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="relativeoffset" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="PatchParameteri" category="ARB_tessellation_shader" extension="Core">
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="value" type="GLint" flow="in" />
+    <function name="VertexAttribL1d" category="ARB_vertex_attrib_64bit" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="PauseTransformFeedback" category="ARB_transform_feedback2" extension="Core">
+    <function name="VertexAttribL1dv" category="ARB_vertex_attrib_64bit" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLdouble *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="PopDebugGroup" category="KHR_debug" extension="Core">
+    <function name="VertexAttribL1ui64ARB" category="ARB_bindless_texture" extension="ARB">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLuint64EXT" flow="in" />
       <returns type="void" />
     </function>
-    <function name="PopDebugGroupKHR" category="KHR_debug" extension="KHR">
+    <function name="VertexAttribL1ui64vARB" category="ARB_bindless_texture" extension="ARB">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLuint64EXT *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramBinary" category="ARB_get_program_binary" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="binaryFormat" type="GLenum" flow="in" />
-      <param name="binary" type="void *" flow="in" count="length" />
-      <param name="length" type="GLsizei" flow="in" />
+    <function name="VertexAttribL2d" category="ARB_vertex_attrib_64bit" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
+      <param name="y" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramParameteri" category="ARB_get_program_binary" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="pname" type="ProgramParameterPName" flow="in" />
-      <param name="value" type="GLint" flow="in" />
+    <function name="VertexAttribL2dv" category="ARB_vertex_attrib_64bit" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLdouble *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform1d" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLdouble" flow="in" />
+    <function name="VertexAttribL3d" category="ARB_vertex_attrib_64bit" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
+      <param name="y" type="GLdouble" flow="in" />
+      <param name="z" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform1dv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="1" />
+    <function name="VertexAttribL3dv" category="ARB_vertex_attrib_64bit" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLdouble *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform1f" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLfloat" flow="in" />
+    <function name="VertexAttribL4d" category="ARB_vertex_attrib_64bit" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
+      <param name="y" type="GLdouble" flow="in" />
+      <param name="z" type="GLdouble" flow="in" />
+      <param name="w" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform1fv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="1" />
+    <function name="VertexAttribL4dv" category="ARB_vertex_attrib_64bit" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLdouble *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform1i" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLint" flow="in" />
+    <function name="VertexAttribLFormat" category="ARB_vertex_attrib_binding" extension="Core">
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="size" type="GLint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="relativeoffset" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform1iv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLint *" flow="in" count="1" />
+    <function name="VertexAttribLPointer" category="ARB_vertex_attrib_64bit" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="size" type="GLint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="stride" type="GLsizei" flow="in" />
+      <param name="pointer" type="void *" flow="in" count="size" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform1ui" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLuint" flow="in" />
+    <function name="VertexAttribP1ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
+      <param name="value" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform1uiv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
+    <function name="VertexAttribP1uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
       <param name="value" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform2d" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLdouble" flow="in" />
-      <param name="v1" type="GLdouble" flow="in" />
+    <function name="VertexAttribP2ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
+      <param name="value" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform2dv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="2" />
+    <function name="VertexAttribP2uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform2f" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLfloat" flow="in" />
-      <param name="v1" type="GLfloat" flow="in" />
+    <function name="VertexAttribP3ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
+      <param name="value" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform2fv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="2" />
+    <function name="VertexAttribP3uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform2i" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLint" flow="in" />
-      <param name="v1" type="GLint" flow="in" />
+    <function name="VertexAttribP4ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
+      <param name="value" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform2iv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLint *" flow="in" count="2" />
+    <function name="VertexAttribP4uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform2ui" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLuint" flow="in" />
-      <param name="v1" type="GLuint" flow="in" />
+    <function name="VertexBindingDivisor" category="ARB_vertex_attrib_binding" extension="Core">
+      <param name="bindingindex" type="GLuint" flow="in" />
+      <param name="divisor" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform2uiv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="2" />
+    <function name="VertexP2ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="value" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform3d" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLdouble" flow="in" />
-      <param name="v1" type="GLdouble" flow="in" />
-      <param name="v2" type="GLdouble" flow="in" />
+    <function name="VertexP2uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform3dv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="3" />
+    <function name="VertexP3ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="value" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform3f" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLfloat" flow="in" />
-      <param name="v1" type="GLfloat" flow="in" />
-      <param name="v2" type="GLfloat" flow="in" />
+    <function name="VertexP3uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform3fv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="3" />
+    <function name="VertexP4ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="value" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform3i" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLint" flow="in" />
-      <param name="v1" type="GLint" flow="in" />
-      <param name="v2" type="GLint" flow="in" />
+    <function name="VertexP4uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform3iv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
+    <function name="ViewportArrayv" category="ARB_viewport_array" extension="Core">
+      <param name="first" type="GLuint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLint *" flow="in" count="3" />
+      <param name="v" type="GLfloat *" flow="in" count="COMPSIZE(count)" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform3ui" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLuint" flow="in" />
-      <param name="v1" type="GLuint" flow="in" />
-      <param name="v2" type="GLuint" flow="in" />
+    <function name="ViewportIndexedf" category="ARB_viewport_array" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLfloat" flow="in" />
+      <param name="y" type="GLfloat" flow="in" />
+      <param name="w" type="GLfloat" flow="in" />
+      <param name="h" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform3uiv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="3" />
+    <function name="ViewportIndexedfv" category="ARB_viewport_array" extension="Core">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLfloat *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform4d" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLdouble" flow="in" />
-      <param name="v1" type="GLdouble" flow="in" />
-      <param name="v2" type="GLdouble" flow="in" />
-      <param name="v3" type="GLdouble" flow="in" />
+    <function name="WaitSync" category="ARB_sync" extension="Core">
+      <param name="sync" type="sync" flow="in" />
+      <param name="flags" type="GLbitfield" flow="in" />
+      <param name="timeout" type="GLuint64" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform4dv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="4" />
+  </add>
+  <add name="glcore" version="1.0">
+    <enum name="VERSION_1_0" />
+    <function name="BlendFunc" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="sfactor" type="BlendingFactorSrc" flow="in" />
+      <param name="dfactor" type="BlendingFactorDest" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform4f" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLfloat" flow="in" />
-      <param name="v1" type="GLfloat" flow="in" />
-      <param name="v2" type="GLfloat" flow="in" />
-      <param name="v3" type="GLfloat" flow="in" />
+    <function name="Clear" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="mask" type="ClearBufferMask" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform4fv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="4" />
+    <function name="ClearColor" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="red" type="ColorF" flow="in" />
+      <param name="green" type="ColorF" flow="in" />
+      <param name="blue" type="ColorF" flow="in" />
+      <param name="alpha" type="ColorF" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform4i" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLint" flow="in" />
-      <param name="v1" type="GLint" flow="in" />
-      <param name="v2" type="GLint" flow="in" />
-      <param name="v3" type="GLint" flow="in" />
+    <function name="ClearDepth" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="depth" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform4iv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLint *" flow="in" count="4" />
+    <function name="ClearStencil" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="s" type="StencilValue" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform4ui" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLuint" flow="in" />
-      <param name="v1" type="GLuint" flow="in" />
-      <param name="v2" type="GLuint" flow="in" />
-      <param name="v3" type="GLuint" flow="in" />
+    <function name="ColorMask" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="red" type="Boolean" flow="in" />
+      <param name="green" type="Boolean" flow="in" />
+      <param name="blue" type="Boolean" flow="in" />
+      <param name="alpha" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform4uiv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="4" />
+    <function name="CullFace" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="mode" type="CullFaceMode" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformHandleui64ARB" category="ARB_bindless_texture" extension="ARB">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="value" type="GLuint64" flow="in" />
+    <function name="DepthFunc" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="func" type="DepthFunction" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformHandleui64vARB" category="ARB_bindless_texture" extension="ARB">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="values" type="GLuint64 *" flow="in" count="count" />
+    <function name="DepthMask" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="flag" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix2dv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="2" />
+    <function name="DepthRange" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="near" type="GLdouble" flow="in" />
+      <param name="far" type="GLdouble" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="Disable" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="cap" type="EnableCap" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix2fv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="2" />
+    <function name="DrawBuffer" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="buf" type="DrawBufferMode" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix2x3dv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count" />
+    <function name="Enable" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="cap" type="EnableCap" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix2x3fv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count" />
+    <function name="Finish" category="VERSION_1_0" extension="Core" version="1.0">
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix2x4dv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count" />
+    <function name="Flush" category="VERSION_1_0" extension="Core" version="1.0">
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix2x4fv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count" />
+    <function name="FrontFace" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="mode" type="FrontFaceDirection" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix3dv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="3" />
+    <function name="GetBooleanv" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="pname" type="GetPName" flow="in" />
+      <param name="data" type="Boolean *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix3fv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="3" />
+    <function name="GetDoublev" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="pname" type="GetPName" flow="in" />
+      <param name="data" type="GLdouble *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix3x2dv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count" />
-      <returns type="void" />
+    <function name="GetError" category="VERSION_1_0" extension="Core" version="1.0">
+      <returns type="ErrorCode" />
     </function>
-    <function name="ProgramUniformMatrix3x2fv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count" />
+    <function name="GetFloatv" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="pname" type="GetPName" flow="in" />
+      <param name="data" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix3x4dv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count" />
+    <function name="GetIntegerv" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="pname" type="GetPName" flow="in" />
+      <param name="data" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix3x4fv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count" />
+    <function name="GetString" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="name" type="StringName" flow="in" />
+      <returns type="String" />
+    </function>
+    <function name="GetTexImage" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="pixels" type="void *" flow="out" count="COMPSIZE(target,level,format,type)" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix4dv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="4" />
+    <function name="GetTexLevelParameterfv" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="pname" type="GetTextureParameter" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix4fv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="4" />
+    <function name="GetTexLevelParameteriv" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="pname" type="GetTextureParameter" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix4x2dv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count" />
+    <function name="GetTexParameterfv" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="pname" type="GetTextureParameter" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix4x2fv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count" />
+    <function name="GetTexParameteriv" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="pname" type="GetTextureParameter" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix4x3dv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count" />
+    <function name="Hint" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="target" type="HintTarget" flow="in" />
+      <param name="mode" type="HintMode" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix4x3fv" category="ARB_separate_shader_objects" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count" />
+    <function name="IsEnabled" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="cap" type="EnableCap" flow="in" />
+      <returns type="Boolean" />
+    </function>
+    <function name="LineWidth" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="width" type="CheckedFloat32" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProvokingVertex" category="ARB_provoking_vertex" extension="Core">
-      <param name="mode" type="GLenum" flow="in" />
+    <function name="LogicOp" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="opcode" type="LogicOp" flow="in" />
       <returns type="void" />
     </function>
-    <function name="PushDebugGroup" category="KHR_debug" extension="Core">
-      <param name="source" type="GLenum" flow="in" />
-      <param name="id" type="GLuint" flow="in" />
-      <param name="length" type="GLsizei" flow="in" />
-      <param name="message" type="GLchar *" flow="in" count="COMPSIZE(message,length)" />
+    <function name="PixelStoref" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="pname" type="PixelStoreParameter" flow="in" />
+      <param name="param" type="CheckedFloat32" flow="in" />
       <returns type="void" />
     </function>
-    <function name="PushDebugGroupKHR" category="KHR_debug" extension="KHR">
-      <param name="source" type="GLenum" flow="in" />
-      <param name="id" type="GLuint" flow="in" />
-      <param name="length" type="GLsizei" flow="in" />
-      <param name="message" type="GLchar *" flow="in" />
+    <function name="PixelStorei" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="pname" type="PixelStoreParameter" flow="in" />
+      <param name="param" type="CheckedInt32" flow="in" />
       <returns type="void" />
     </function>
-    <function name="QueryCounter" category="ARB_timer_query" extension="Core">
-      <param name="id" type="GLuint" flow="in" />
-      <param name="target" type="GLenum" flow="in" />
+    <function name="PointSize" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="size" type="CheckedFloat32" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ReadnPixelsARB" category="ARB_robustness" extension="ARB">
-      <param name="x" type="GLint" flow="in" />
-      <param name="y" type="GLint" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
-      <param name="format" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="data" type="void *" flow="out" count="bufSize" />
+    <function name="PolygonMode" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="face" type="MaterialFace" flow="in" />
+      <param name="mode" type="PolygonMode" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ReleaseShaderCompiler" category="ARB_ES2_compatibility" extension="Core">
+    <function name="ReadBuffer" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="src" type="ReadBufferMode" flow="in" />
       <returns type="void" />
     </function>
-    <function name="RenderbufferStorage" category="ARB_framebuffer_object" extension="Core">
-      <param name="target" type="RenderbufferTarget" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
+    <function name="ReadPixels" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="x" type="WinCoord" flow="in" />
+      <param name="y" type="WinCoord" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="pixels" type="void *" flow="out" count="COMPSIZE(format,type,width,height)" />
       <returns type="void" />
     </function>
-    <function name="RenderbufferStorageMultisample" category="ARB_framebuffer_object" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="samples" type="GLsizei" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
+    <function name="Scissor" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="x" type="WinCoord" flow="in" />
+      <param name="y" type="WinCoord" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ResetHistogram" category="ARB_imaging" extension="Core">
-      <param name="target" type="HistogramTarget" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="ResetMinmax" category="ARB_imaging" extension="Core">
-      <param name="target" type="MinmaxTarget" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="ResumeTransformFeedback" category="ARB_transform_feedback2" extension="Core">
+    <function name="StencilFunc" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="func" type="StencilFunction" flow="in" />
+      <param name="ref" type="StencilValue" flow="in" />
+      <param name="mask" type="MaskedStencilValue" flow="in" />
       <returns type="void" />
     </function>
-    <function name="SampleMaski" category="ARB_texture_multisample" extension="Core">
-      <param name="maskNumber" type="GLuint" flow="in" />
-      <param name="mask" type="GLbitfield" flow="in" />
+    <function name="StencilMask" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="mask" type="MaskedStencilValue" flow="in" />
       <returns type="void" />
     </function>
-    <function name="SamplerParameterf" category="ARB_sampler_objects" extension="Core">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="param" type="GLfloat" flow="in" />
+    <function name="StencilOp" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="fail" type="StencilOp" flow="in" />
+      <param name="zfail" type="StencilOp" flow="in" />
+      <param name="zpass" type="StencilOp" flow="in" />
       <returns type="void" />
     </function>
-    <function name="SamplerParameterfv" category="ARB_sampler_objects" extension="Core">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="param" type="GLfloat *" flow="in" count="COMPSIZE(pname)" />
+    <function name="TexImage1D" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="internalformat" type="TextureComponentCount" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="border" type="CheckedInt32" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="pixels" type="void *" flow="in" count="COMPSIZE(format,type,width)" />
       <returns type="void" />
     </function>
-    <function name="SamplerParameteri" category="ARB_sampler_objects" extension="Core">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="param" type="GLint" flow="in" />
+    <function name="TexImage2D" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="internalformat" type="TextureComponentCount" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="border" type="CheckedInt32" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="pixels" type="void *" flow="in" count="COMPSIZE(format,type,width,height)" />
       <returns type="void" />
     </function>
-    <function name="SamplerParameterIiv" category="ARB_sampler_objects" extension="Core">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="param" type="GLint *" flow="in" count="COMPSIZE(pname)" />
+    <function name="TexParameterf" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="pname" type="TextureParameterName" flow="in" />
+      <param name="param" type="CheckedFloat32" flow="in" />
       <returns type="void" />
     </function>
-    <function name="SamplerParameterIuiv" category="ARB_sampler_objects" extension="Core">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="param" type="GLuint *" flow="in" count="COMPSIZE(pname)" />
+    <function name="TexParameterfv" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="pname" type="TextureParameterName" flow="in" />
+      <param name="params" type="CheckedFloat32 *" flow="in" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="SamplerParameteriv" category="ARB_sampler_objects" extension="Core">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="param" type="GLint *" flow="in" count="COMPSIZE(pname)" />
+    <function name="TexParameteri" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="pname" type="TextureParameterName" flow="in" />
+      <param name="param" type="CheckedInt32" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ScissorArrayv" category="ARB_viewport_array" extension="Core">
-      <param name="first" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="v" type="GLint *" flow="in" count="COMPSIZE(count)" />
+    <function name="TexParameteriv" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="pname" type="TextureParameterName" flow="in" />
+      <param name="params" type="CheckedInt32 *" flow="in" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="ScissorIndexed" category="ARB_viewport_array" extension="Core">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="left" type="GLint" flow="in" />
-      <param name="bottom" type="GLint" flow="in" />
+    <function name="Viewport" category="VERSION_1_0" extension="Core" version="1.0">
+      <param name="x" type="WinCoord" flow="in" />
+      <param name="y" type="WinCoord" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ScissorIndexedv" category="ARB_viewport_array" extension="Core">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLint *" flow="in" count="4" />
-      <returns type="void" />
-    </function>
-    <function name="SecondaryColorP3ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="color" type="GLuint" flow="in" />
+  </add>
+  <add name="glcore" version="1.1">
+    <enum name="VERSION_1_1">
+      <token name="DEPTH_BUFFER_BIT" value="0x00000100" />
+      <token name="STENCIL_BUFFER_BIT" value="0x00000400" />
+      <token name="COLOR_BUFFER_BIT" value="0x00004000" />
+      <token name="FALSE" value="0" />
+      <token name="TRUE" value="1" />
+      <token name="POINTS" value="0x0000" />
+      <token name="LINES" value="0x0001" />
+      <token name="LINE_LOOP" value="0x0002" />
+      <token name="LINE_STRIP" value="0x0003" />
+      <token name="TRIANGLES" value="0x0004" />
+      <token name="TRIANGLE_STRIP" value="0x0005" />
+      <token name="TRIANGLE_FAN" value="0x0006" />
+      <token name="NEVER" value="0x0200" />
+      <token name="LESS" value="0x0201" />
+      <token name="EQUAL" value="0x0202" />
+      <token name="LEQUAL" value="0x0203" />
+      <token name="GREATER" value="0x0204" />
+      <token name="NOTEQUAL" value="0x0205" />
+      <token name="GEQUAL" value="0x0206" />
+      <token name="ALWAYS" value="0x0207" />
+      <token name="ZERO" value="0" />
+      <token name="ONE" value="1" />
+      <token name="SRC_COLOR" value="0x0300" />
+      <token name="ONE_MINUS_SRC_COLOR" value="0x0301" />
+      <token name="SRC_ALPHA" value="0x0302" />
+      <token name="ONE_MINUS_SRC_ALPHA" value="0x0303" />
+      <token name="DST_ALPHA" value="0x0304" />
+      <token name="ONE_MINUS_DST_ALPHA" value="0x0305" />
+      <token name="DST_COLOR" value="0x0306" />
+      <token name="ONE_MINUS_DST_COLOR" value="0x0307" />
+      <token name="SRC_ALPHA_SATURATE" value="0x0308" />
+      <token name="NONE" value="0" />
+      <token name="FRONT_LEFT" value="0x0400" />
+      <token name="FRONT_RIGHT" value="0x0401" />
+      <token name="BACK_LEFT" value="0x0402" />
+      <token name="BACK_RIGHT" value="0x0403" />
+      <token name="FRONT" value="0x0404" />
+      <token name="BACK" value="0x0405" />
+      <token name="LEFT" value="0x0406" />
+      <token name="RIGHT" value="0x0407" />
+      <token name="FRONT_AND_BACK" value="0x0408" />
+      <token name="NO_ERROR" value="0" />
+      <token name="INVALID_ENUM" value="0x0500" />
+      <token name="INVALID_VALUE" value="0x0501" />
+      <token name="INVALID_OPERATION" value="0x0502" />
+      <token name="OUT_OF_MEMORY" value="0x0505" />
+      <token name="CW" value="0x0900" />
+      <token name="CCW" value="0x0901" />
+      <token name="POINT_SIZE" value="0x0B11" />
+      <token name="POINT_SIZE_RANGE" value="0x0B12" />
+      <token name="POINT_SIZE_GRANULARITY" value="0x0B13" />
+      <token name="LINE_SMOOTH" value="0x0B20" />
+      <token name="LINE_WIDTH" value="0x0B21" />
+      <token name="LINE_WIDTH_RANGE" value="0x0B22" />
+      <token name="LINE_WIDTH_GRANULARITY" value="0x0B23" />
+      <token name="POLYGON_MODE" value="0x0B40" />
+      <token name="POLYGON_SMOOTH" value="0x0B41" />
+      <token name="CULL_FACE" value="0x0B44" />
+      <token name="CULL_FACE_MODE" value="0x0B45" />
+      <token name="FRONT_FACE" value="0x0B46" />
+      <token name="DEPTH_RANGE" value="0x0B70" />
+      <token name="DEPTH_TEST" value="0x0B71" />
+      <token name="DEPTH_WRITEMASK" value="0x0B72" />
+      <token name="DEPTH_CLEAR_VALUE" value="0x0B73" />
+      <token name="DEPTH_FUNC" value="0x0B74" />
+      <token name="STENCIL_TEST" value="0x0B90" />
+      <token name="STENCIL_CLEAR_VALUE" value="0x0B91" />
+      <token name="STENCIL_FUNC" value="0x0B92" />
+      <token name="STENCIL_VALUE_MASK" value="0x0B93" />
+      <token name="STENCIL_FAIL" value="0x0B94" />
+      <token name="STENCIL_PASS_DEPTH_FAIL" value="0x0B95" />
+      <token name="STENCIL_PASS_DEPTH_PASS" value="0x0B96" />
+      <token name="STENCIL_REF" value="0x0B97" />
+      <token name="STENCIL_WRITEMASK" value="0x0B98" />
+      <token name="VIEWPORT" value="0x0BA2" />
+      <token name="DITHER" value="0x0BD0" />
+      <token name="BLEND_DST" value="0x0BE0" />
+      <token name="BLEND_SRC" value="0x0BE1" />
+      <token name="BLEND" value="0x0BE2" />
+      <token name="LOGIC_OP_MODE" value="0x0BF0" />
+      <token name="COLOR_LOGIC_OP" value="0x0BF2" />
+      <token name="DRAW_BUFFER" value="0x0C01" />
+      <token name="READ_BUFFER" value="0x0C02" />
+      <token name="SCISSOR_BOX" value="0x0C10" />
+      <token name="SCISSOR_TEST" value="0x0C11" />
+      <token name="COLOR_CLEAR_VALUE" value="0x0C22" />
+      <token name="COLOR_WRITEMASK" value="0x0C23" />
+      <token name="DOUBLEBUFFER" value="0x0C32" />
+      <token name="STEREO" value="0x0C33" />
+      <token name="LINE_SMOOTH_HINT" value="0x0C52" />
+      <token name="POLYGON_SMOOTH_HINT" value="0x0C53" />
+      <token name="UNPACK_SWAP_BYTES" value="0x0CF0" />
+      <token name="UNPACK_LSB_FIRST" value="0x0CF1" />
+      <token name="UNPACK_ROW_LENGTH" value="0x0CF2" />
+      <token name="UNPACK_SKIP_ROWS" value="0x0CF3" />
+      <token name="UNPACK_SKIP_PIXELS" value="0x0CF4" />
+      <token name="UNPACK_ALIGNMENT" value="0x0CF5" />
+      <token name="PACK_SWAP_BYTES" value="0x0D00" />
+      <token name="PACK_LSB_FIRST" value="0x0D01" />
+      <token name="PACK_ROW_LENGTH" value="0x0D02" />
+      <token name="PACK_SKIP_ROWS" value="0x0D03" />
+      <token name="PACK_SKIP_PIXELS" value="0x0D04" />
+      <token name="PACK_ALIGNMENT" value="0x0D05" />
+      <token name="MAX_TEXTURE_SIZE" value="0x0D33" />
+      <token name="MAX_VIEWPORT_DIMS" value="0x0D3A" />
+      <token name="SUBPIXEL_BITS" value="0x0D50" />
+      <token name="TEXTURE_1D" value="0x0DE0" />
+      <token name="TEXTURE_2D" value="0x0DE1" />
+      <token name="POLYGON_OFFSET_UNITS" value="0x2A00" />
+      <token name="POLYGON_OFFSET_POINT" value="0x2A01" />
+      <token name="POLYGON_OFFSET_LINE" value="0x2A02" />
+      <token name="POLYGON_OFFSET_FILL" value="0x8037" />
+      <token name="POLYGON_OFFSET_FACTOR" value="0x8038" />
+      <token name="TEXTURE_BINDING_1D" value="0x8068" />
+      <token name="TEXTURE_BINDING_2D" value="0x8069" />
+      <token name="TEXTURE_WIDTH" value="0x1000" />
+      <token name="TEXTURE_HEIGHT" value="0x1001" />
+      <token name="TEXTURE_INTERNAL_FORMAT" value="0x1003" />
+      <token name="TEXTURE_BORDER_COLOR" value="0x1004" />
+      <token name="TEXTURE_RED_SIZE" value="0x805C" />
+      <token name="TEXTURE_GREEN_SIZE" value="0x805D" />
+      <token name="TEXTURE_BLUE_SIZE" value="0x805E" />
+      <token name="TEXTURE_ALPHA_SIZE" value="0x805F" />
+      <token name="DONT_CARE" value="0x1100" />
+      <token name="FASTEST" value="0x1101" />
+      <token name="NICEST" value="0x1102" />
+      <token name="BYTE" value="0x1400" />
+      <token name="UNSIGNED_BYTE" value="0x1401" />
+      <token name="SHORT" value="0x1402" />
+      <token name="UNSIGNED_SHORT" value="0x1403" />
+      <token name="INT" value="0x1404" />
+      <token name="UNSIGNED_INT" value="0x1405" />
+      <token name="FLOAT" value="0x1406" />
+      <token name="DOUBLE" value="0x140A" />
+      <token name="CLEAR" value="0x1500" />
+      <token name="AND" value="0x1501" />
+      <token name="AND_REVERSE" value="0x1502" />
+      <token name="COPY" value="0x1503" />
+      <token name="AND_INVERTED" value="0x1504" />
+      <token name="NOOP" value="0x1505" />
+      <token name="XOR" value="0x1506" />
+      <token name="OR" value="0x1507" />
+      <token name="NOR" value="0x1508" />
+      <token name="EQUIV" value="0x1509" />
+      <token name="INVERT" value="0x150A" />
+      <token name="OR_REVERSE" value="0x150B" />
+      <token name="COPY_INVERTED" value="0x150C" />
+      <token name="OR_INVERTED" value="0x150D" />
+      <token name="NAND" value="0x150E" />
+      <token name="SET" value="0x150F" />
+      <token name="TEXTURE" value="0x1702" />
+      <token name="COLOR" value="0x1800" />
+      <token name="DEPTH" value="0x1801" />
+      <token name="STENCIL" value="0x1802" />
+      <token name="STENCIL_INDEX" value="0x1901" />
+      <token name="DEPTH_COMPONENT" value="0x1902" />
+      <token name="RED" value="0x1903" />
+      <token name="GREEN" value="0x1904" />
+      <token name="BLUE" value="0x1905" />
+      <token name="ALPHA" value="0x1906" />
+      <token name="RGB" value="0x1907" />
+      <token name="RGBA" value="0x1908" />
+      <token name="POINT" value="0x1B00" />
+      <token name="LINE" value="0x1B01" />
+      <token name="FILL" value="0x1B02" />
+      <token name="KEEP" value="0x1E00" />
+      <token name="REPLACE" value="0x1E01" />
+      <token name="INCR" value="0x1E02" />
+      <token name="DECR" value="0x1E03" />
+      <token name="VENDOR" value="0x1F00" />
+      <token name="RENDERER" value="0x1F01" />
+      <token name="VERSION" value="0x1F02" />
+      <token name="EXTENSIONS" value="0x1F03" />
+      <token name="NEAREST" value="0x2600" />
+      <token name="LINEAR" value="0x2601" />
+      <token name="NEAREST_MIPMAP_NEAREST" value="0x2700" />
+      <token name="LINEAR_MIPMAP_NEAREST" value="0x2701" />
+      <token name="NEAREST_MIPMAP_LINEAR" value="0x2702" />
+      <token name="LINEAR_MIPMAP_LINEAR" value="0x2703" />
+      <token name="TEXTURE_MAG_FILTER" value="0x2800" />
+      <token name="TEXTURE_MIN_FILTER" value="0x2801" />
+      <token name="TEXTURE_WRAP_S" value="0x2802" />
+      <token name="TEXTURE_WRAP_T" value="0x2803" />
+      <token name="PROXY_TEXTURE_1D" value="0x8063" />
+      <token name="PROXY_TEXTURE_2D" value="0x8064" />
+      <token name="REPEAT" value="0x2901" />
+      <token name="R3_G3_B2" value="0x2A10" />
+      <token name="RGB4" value="0x804F" />
+      <token name="RGB5" value="0x8050" />
+      <token name="RGB8" value="0x8051" />
+      <token name="RGB10" value="0x8052" />
+      <token name="RGB12" value="0x8053" />
+      <token name="RGB16" value="0x8054" />
+      <token name="RGBA2" value="0x8055" />
+      <token name="RGBA4" value="0x8056" />
+      <token name="RGB5_A1" value="0x8057" />
+      <token name="RGBA8" value="0x8058" />
+      <token name="RGB10_A2" value="0x8059" />
+      <token name="RGBA12" value="0x805A" />
+      <token name="RGBA16" value="0x805B" />
+    </enum>
+    <function name="BindTexture" category="VERSION_1_1" extension="Core" version="1.1">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="texture" type="Texture" flow="in" />
       <returns type="void" />
     </function>
-    <function name="SecondaryColorP3uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="color" type="GLuint *" flow="in" count="1" />
+    <function name="CopyTexImage1D" category="VERSION_1_1" extension="Core" version="1.1">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="internalformat" type="PixelInternalFormat" flow="in" />
+      <param name="x" type="WinCoord" flow="in" />
+      <param name="y" type="WinCoord" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="border" type="CheckedInt32" flow="in" />
       <returns type="void" />
     </function>
-    <function name="SeparableFilter2D" category="ARB_imaging" extension="Core">
-      <param name="target" type="SeparableTarget" flow="in" />
+    <function name="CopyTexImage2D" category="VERSION_1_1" extension="Core" version="1.1">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
       <param name="internalformat" type="PixelInternalFormat" flow="in" />
+      <param name="x" type="WinCoord" flow="in" />
+      <param name="y" type="WinCoord" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="type" type="PixelType" flow="in" />
-      <param name="row" type="void *" flow="in" count="COMPSIZE(target,format,type,width)" />
-      <param name="column" type="void *" flow="in" count="COMPSIZE(target,format,type,height)" />
-      <returns type="void" />
-    </function>
-    <function name="ShaderBinary" category="ARB_ES2_compatibility" extension="Core">
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="shaders" type="GLuint *" flow="in" count="count" />
-      <param name="binaryformat" type="GLenum" flow="in" />
-      <param name="binary" type="void *" flow="in" count="length" />
-      <param name="length" type="GLsizei" flow="in" />
+      <param name="border" type="CheckedInt32" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ShaderStorageBlockBinding" category="ARB_shader_storage_buffer_object" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="storageBlockIndex" type="GLuint" flow="in" />
-      <param name="storageBlockBinding" type="GLuint" flow="in" />
+    <function name="CopyTexSubImage1D" category="VERSION_1_1" extension="Core" version="1.1">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="xoffset" type="CheckedInt32" flow="in" />
+      <param name="x" type="WinCoord" flow="in" />
+      <param name="y" type="WinCoord" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="TexBufferRange" category="ARB_texture_buffer_range" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
-      <param name="buffer" type="GLuint" flow="in" />
-      <param name="offset" type="BufferOffset" flow="in" />
-      <param name="size" type="BufferSize" flow="in" />
+    <function name="CopyTexSubImage2D" category="VERSION_1_1" extension="Core" version="1.1">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="xoffset" type="CheckedInt32" flow="in" />
+      <param name="yoffset" type="CheckedInt32" flow="in" />
+      <param name="x" type="WinCoord" flow="in" />
+      <param name="y" type="WinCoord" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="TexCoordP1ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint" flow="in" />
+    <function name="DeleteTextures" category="VERSION_1_1" extension="Core" version="1.1">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="textures" type="Texture *" flow="in" count="n" />
       <returns type="void" />
     </function>
-    <function name="TexCoordP1uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint *" flow="in" count="1" />
+    <function name="DrawArrays" category="VERSION_1_1" extension="Core" version="1.1">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="first" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="TexCoordP2ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint" flow="in" />
+    <function name="DrawElements" category="VERSION_1_1" extension="Core" version="1.1">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="type" type="DrawElementsType" flow="in" />
+      <param name="indices" type="void *" flow="in" count="COMPSIZE(count,type)" />
       <returns type="void" />
     </function>
-    <function name="TexCoordP2uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint *" flow="in" count="1" />
+    <function name="GenTextures" category="VERSION_1_1" extension="Core" version="1.1">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="textures" type="Texture *" flow="out" count="n" />
       <returns type="void" />
     </function>
-    <function name="TexCoordP3ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint" flow="in" />
-      <returns type="void" />
+    <function name="IsTexture" category="VERSION_1_1" extension="Core" version="1.1">
+      <param name="texture" type="Texture" flow="in" />
+      <returns type="Boolean" />
     </function>
-    <function name="TexCoordP3uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint *" flow="in" count="1" />
+    <function name="PolygonOffset" category="VERSION_1_1" extension="Core" version="1.1">
+      <param name="factor" type="GLfloat" flow="in" />
+      <param name="units" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="TexCoordP4ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint" flow="in" />
+    <function name="TexSubImage1D" category="VERSION_1_1" extension="Core" version="1.1">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="xoffset" type="CheckedInt32" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="pixels" type="void *" flow="in" count="COMPSIZE(format,type,width)" />
       <returns type="void" />
     </function>
-    <function name="TexCoordP4uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint *" flow="in" count="1" />
+    <function name="TexSubImage2D" category="VERSION_1_1" extension="Core" version="1.1">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="xoffset" type="CheckedInt32" flow="in" />
+      <param name="yoffset" type="CheckedInt32" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="pixels" type="void *" flow="in" count="COMPSIZE(format,type,width,height)" />
       <returns type="void" />
     </function>
-    <function name="TexImage2DMultisample" category="ARB_texture_multisample" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="samples" type="GLsizei" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
+  </add>
+  <add name="glcore" version="1.2">
+    <enum name="VERSION_1_2">
+      <token name="UNSIGNED_BYTE_3_3_2" value="0x8032" />
+      <token name="UNSIGNED_SHORT_4_4_4_4" value="0x8033" />
+      <token name="UNSIGNED_SHORT_5_5_5_1" value="0x8034" />
+      <token name="UNSIGNED_INT_8_8_8_8" value="0x8035" />
+      <token name="UNSIGNED_INT_10_10_10_2" value="0x8036" />
+      <token name="TEXTURE_BINDING_3D" value="0x806A" />
+      <token name="PACK_SKIP_IMAGES" value="0x806B" />
+      <token name="PACK_IMAGE_HEIGHT" value="0x806C" />
+      <token name="UNPACK_SKIP_IMAGES" value="0x806D" />
+      <token name="UNPACK_IMAGE_HEIGHT" value="0x806E" />
+      <token name="TEXTURE_3D" value="0x806F" />
+      <token name="PROXY_TEXTURE_3D" value="0x8070" />
+      <token name="TEXTURE_DEPTH" value="0x8071" />
+      <token name="TEXTURE_WRAP_R" value="0x8072" />
+      <token name="MAX_3D_TEXTURE_SIZE" value="0x8073" />
+      <token name="UNSIGNED_BYTE_2_3_3_REV" value="0x8362" />
+      <token name="UNSIGNED_SHORT_5_6_5" value="0x8363" />
+      <token name="UNSIGNED_SHORT_5_6_5_REV" value="0x8364" />
+      <token name="UNSIGNED_SHORT_4_4_4_4_REV" value="0x8365" />
+      <token name="UNSIGNED_SHORT_1_5_5_5_REV" value="0x8366" />
+      <token name="UNSIGNED_INT_8_8_8_8_REV" value="0x8367" />
+      <token name="UNSIGNED_INT_2_10_10_10_REV" value="0x8368" />
+      <token name="BGR" value="0x80E0" />
+      <token name="BGRA" value="0x80E1" />
+      <token name="MAX_ELEMENTS_VERTICES" value="0x80E8" />
+      <token name="MAX_ELEMENTS_INDICES" value="0x80E9" />
+      <token name="CLAMP_TO_EDGE" value="0x812F" />
+      <token name="TEXTURE_MIN_LOD" value="0x813A" />
+      <token name="TEXTURE_MAX_LOD" value="0x813B" />
+      <token name="TEXTURE_BASE_LEVEL" value="0x813C" />
+      <token name="TEXTURE_MAX_LEVEL" value="0x813D" />
+      <token name="SMOOTH_POINT_SIZE_RANGE" value="0x0B12" />
+      <token name="SMOOTH_POINT_SIZE_GRANULARITY" value="0x0B13" />
+      <token name="SMOOTH_LINE_WIDTH_RANGE" value="0x0B22" />
+      <token name="SMOOTH_LINE_WIDTH_GRANULARITY" value="0x0B23" />
+      <token name="ALIASED_LINE_WIDTH_RANGE" value="0x846E" />
+    </enum>
+    <function name="CopyTexSubImage3D" category="VERSION_1_2" extension="Core" version="1.2">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="xoffset" type="CheckedInt32" flow="in" />
+      <param name="yoffset" type="CheckedInt32" flow="in" />
+      <param name="zoffset" type="CheckedInt32" flow="in" />
+      <param name="x" type="WinCoord" flow="in" />
+      <param name="y" type="WinCoord" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
-      <param name="fixedsamplelocations" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="TexImage3DMultisample" category="ARB_texture_multisample" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="samples" type="GLsizei" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
+    <function name="DrawRangeElements" category="VERSION_1_2" extension="Core" version="1.2">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="start" type="GLuint" flow="in" />
+      <param name="end" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="type" type="DrawElementsType" flow="in" />
+      <param name="indices" type="void *" flow="in" count="COMPSIZE(count,type)" />
+      <returns type="void" />
+    </function>
+    <function name="TexImage3D" category="VERSION_1_2" extension="Core" version="1.2">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="internalformat" type="TextureComponentCount" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
       <param name="depth" type="GLsizei" flow="in" />
-      <param name="fixedsamplelocations" type="Boolean" flow="in" />
+      <param name="border" type="CheckedInt32" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="pixels" type="void *" flow="in" count="COMPSIZE(format,type,width,height,depth)" />
       <returns type="void" />
     </function>
-    <function name="TexPageCommitmentARB" category="ARB_sparse_texture" extension="ARB">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="level" type="GLint" flow="in" />
-      <param name="xoffset" type="GLint" flow="in" />
-      <param name="yoffset" type="GLint" flow="in" />
-      <param name="zoffset" type="GLint" flow="in" />
+    <function name="TexSubImage3D" category="VERSION_1_2" extension="Core" version="1.2">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="xoffset" type="CheckedInt32" flow="in" />
+      <param name="yoffset" type="CheckedInt32" flow="in" />
+      <param name="zoffset" type="CheckedInt32" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
       <param name="depth" type="GLsizei" flow="in" />
-      <param name="resident" type="GLboolean" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="pixels" type="void *" flow="in" count="COMPSIZE(format,type,width,height,depth)" />
       <returns type="void" />
     </function>
-    <function name="TexStorage1D" category="ARB_texture_storage" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="levels" type="GLsizei" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
+  </add>
+  <add name="glcore" version="1.3">
+    <enum name="VERSION_1_3">
+      <token name="TEXTURE0" value="0x84C0" />
+      <token name="TEXTURE1" value="0x84C1" />
+      <token name="TEXTURE2" value="0x84C2" />
+      <token name="TEXTURE3" value="0x84C3" />
+      <token name="TEXTURE4" value="0x84C4" />
+      <token name="TEXTURE5" value="0x84C5" />
+      <token name="TEXTURE6" value="0x84C6" />
+      <token name="TEXTURE7" value="0x84C7" />
+      <token name="TEXTURE8" value="0x84C8" />
+      <token name="TEXTURE9" value="0x84C9" />
+      <token name="TEXTURE10" value="0x84CA" />
+      <token name="TEXTURE11" value="0x84CB" />
+      <token name="TEXTURE12" value="0x84CC" />
+      <token name="TEXTURE13" value="0x84CD" />
+      <token name="TEXTURE14" value="0x84CE" />
+      <token name="TEXTURE15" value="0x84CF" />
+      <token name="TEXTURE16" value="0x84D0" />
+      <token name="TEXTURE17" value="0x84D1" />
+      <token name="TEXTURE18" value="0x84D2" />
+      <token name="TEXTURE19" value="0x84D3" />
+      <token name="TEXTURE20" value="0x84D4" />
+      <token name="TEXTURE21" value="0x84D5" />
+      <token name="TEXTURE22" value="0x84D6" />
+      <token name="TEXTURE23" value="0x84D7" />
+      <token name="TEXTURE24" value="0x84D8" />
+      <token name="TEXTURE25" value="0x84D9" />
+      <token name="TEXTURE26" value="0x84DA" />
+      <token name="TEXTURE27" value="0x84DB" />
+      <token name="TEXTURE28" value="0x84DC" />
+      <token name="TEXTURE29" value="0x84DD" />
+      <token name="TEXTURE30" value="0x84DE" />
+      <token name="TEXTURE31" value="0x84DF" />
+      <token name="ACTIVE_TEXTURE" value="0x84E0" />
+      <token name="MULTISAMPLE" value="0x809D" />
+      <token name="SAMPLE_ALPHA_TO_COVERAGE" value="0x809E" />
+      <token name="SAMPLE_ALPHA_TO_ONE" value="0x809F" />
+      <token name="SAMPLE_COVERAGE" value="0x80A0" />
+      <token name="SAMPLE_BUFFERS" value="0x80A8" />
+      <token name="SAMPLES" value="0x80A9" />
+      <token name="SAMPLE_COVERAGE_VALUE" value="0x80AA" />
+      <token name="SAMPLE_COVERAGE_INVERT" value="0x80AB" />
+      <token name="TEXTURE_CUBE_MAP" value="0x8513" />
+      <token name="TEXTURE_BINDING_CUBE_MAP" value="0x8514" />
+      <token name="TEXTURE_CUBE_MAP_POSITIVE_X" value="0x8515" />
+      <token name="TEXTURE_CUBE_MAP_NEGATIVE_X" value="0x8516" />
+      <token name="TEXTURE_CUBE_MAP_POSITIVE_Y" value="0x8517" />
+      <token name="TEXTURE_CUBE_MAP_NEGATIVE_Y" value="0x8518" />
+      <token name="TEXTURE_CUBE_MAP_POSITIVE_Z" value="0x8519" />
+      <token name="TEXTURE_CUBE_MAP_NEGATIVE_Z" value="0x851A" />
+      <token name="PROXY_TEXTURE_CUBE_MAP" value="0x851B" />
+      <token name="MAX_CUBE_MAP_TEXTURE_SIZE" value="0x851C" />
+      <token name="COMPRESSED_RGB" value="0x84ED" />
+      <token name="COMPRESSED_RGBA" value="0x84EE" />
+      <token name="TEXTURE_COMPRESSION_HINT" value="0x84EF" />
+      <token name="TEXTURE_COMPRESSED_IMAGE_SIZE" value="0x86A0" />
+      <token name="TEXTURE_COMPRESSED" value="0x86A1" />
+      <token name="NUM_COMPRESSED_TEXTURE_FORMATS" value="0x86A2" />
+      <token name="COMPRESSED_TEXTURE_FORMATS" value="0x86A3" />
+      <token name="CLAMP_TO_BORDER" value="0x812D" />
+    </enum>
+    <function name="ActiveTexture" category="VERSION_1_3" extension="Core" version="1.3">
+      <param name="texture" type="TextureUnit" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="CompressedTexImage1D" category="VERSION_1_3" extension="Core" version="1.3">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="internalformat" type="PixelInternalFormat" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
+      <param name="border" type="CheckedInt32" flow="in" />
+      <param name="imageSize" type="GLsizei" flow="in" />
+      <param name="data" type="CompressedTextureARB *" flow="in" count="imageSize" />
       <returns type="void" />
     </function>
-    <function name="TexStorage2D" category="ARB_texture_storage" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="levels" type="GLsizei" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
+    <function name="CompressedTexImage2D" category="VERSION_1_3" extension="Core" version="1.3">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="internalformat" type="PixelInternalFormat" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
+      <param name="border" type="CheckedInt32" flow="in" />
+      <param name="imageSize" type="GLsizei" flow="in" />
+      <param name="data" type="CompressedTextureARB *" flow="in" count="imageSize" />
       <returns type="void" />
     </function>
-    <function name="TexStorage2DMultisample" category="ARB_texture_storage_multisample" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="samples" type="GLsizei" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
+    <function name="CompressedTexImage3D" category="VERSION_1_3" extension="Core" version="1.3">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="internalformat" type="PixelInternalFormat" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
-      <param name="fixedsamplelocations" type="Boolean" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="border" type="CheckedInt32" flow="in" />
+      <param name="imageSize" type="GLsizei" flow="in" />
+      <param name="data" type="CompressedTextureARB *" flow="in" count="imageSize" />
       <returns type="void" />
     </function>
-    <function name="TexStorage3D" category="ARB_texture_storage" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="levels" type="GLsizei" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
+    <function name="CompressedTexSubImage1D" category="VERSION_1_3" extension="Core" version="1.3">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="xoffset" type="CheckedInt32" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="imageSize" type="GLsizei" flow="in" />
+      <param name="data" type="CompressedTextureARB *" flow="in" count="imageSize" />
+      <returns type="void" />
+    </function>
+    <function name="CompressedTexSubImage2D" category="VERSION_1_3" extension="Core" version="1.3">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="xoffset" type="CheckedInt32" flow="in" />
+      <param name="yoffset" type="CheckedInt32" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
-      <param name="depth" type="GLsizei" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="imageSize" type="GLsizei" flow="in" />
+      <param name="data" type="CompressedTextureARB *" flow="in" count="imageSize" />
       <returns type="void" />
     </function>
-    <function name="TexStorage3DMultisample" category="ARB_texture_storage_multisample" extension="Core">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="samples" type="GLsizei" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
+    <function name="CompressedTexSubImage3D" category="VERSION_1_3" extension="Core" version="1.3">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="xoffset" type="CheckedInt32" flow="in" />
+      <param name="yoffset" type="CheckedInt32" flow="in" />
+      <param name="zoffset" type="CheckedInt32" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
       <param name="depth" type="GLsizei" flow="in" />
-      <param name="fixedsamplelocations" type="Boolean" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="imageSize" type="GLsizei" flow="in" />
+      <param name="data" type="CompressedTextureARB *" flow="in" count="imageSize" />
       <returns type="void" />
     </function>
-    <function name="TextureView" category="ARB_texture_view" extension="Core">
-      <param name="texture" type="GLuint" flow="in" />
-      <param name="target" type="GLenum" flow="in" />
-      <param name="origtexture" type="GLuint" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
-      <param name="minlevel" type="GLuint" flow="in" />
-      <param name="numlevels" type="GLuint" flow="in" />
-      <param name="minlayer" type="GLuint" flow="in" />
-      <param name="numlayers" type="GLuint" flow="in" />
+    <function name="GetCompressedTexImage" category="VERSION_1_3" extension="Core" version="1.3">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="img" type="CompressedTextureARB *" flow="out" count="COMPSIZE(target,level)" />
       <returns type="void" />
     </function>
-    <function name="Uniform1d" category="ARB_gpu_shader_fp64" extension="Core">
-      <param name="location" type="GLint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
+    <function name="SampleCoverage" category="VERSION_1_3" extension="Core" version="1.3">
+      <param name="value" type="GLfloat" flow="in" />
+      <param name="invert" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform1dv" category="ARB_gpu_shader_fp64" extension="Core">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*1" />
+  </add>
+  <add name="glcore" version="1.4">
+    <enum name="VERSION_1_4">
+      <token name="BLEND_DST_RGB" value="0x80C8" />
+      <token name="BLEND_SRC_RGB" value="0x80C9" />
+      <token name="BLEND_DST_ALPHA" value="0x80CA" />
+      <token name="BLEND_SRC_ALPHA" value="0x80CB" />
+      <token name="POINT_FADE_THRESHOLD_SIZE" value="0x8128" />
+      <token name="DEPTH_COMPONENT16" value="0x81A5" />
+      <token name="DEPTH_COMPONENT24" value="0x81A6" />
+      <token name="DEPTH_COMPONENT32" value="0x81A7" />
+      <token name="MIRRORED_REPEAT" value="0x8370" />
+      <token name="MAX_TEXTURE_LOD_BIAS" value="0x84FD" />
+      <token name="TEXTURE_LOD_BIAS" value="0x8501" />
+      <token name="INCR_WRAP" value="0x8507" />
+      <token name="DECR_WRAP" value="0x8508" />
+      <token name="TEXTURE_DEPTH_SIZE" value="0x884A" />
+      <token name="TEXTURE_COMPARE_MODE" value="0x884C" />
+      <token name="TEXTURE_COMPARE_FUNC" value="0x884D" />
+      <token name="FUNC_ADD" value="0x8006" />
+      <token name="FUNC_SUBTRACT" value="0x800A" />
+      <token name="FUNC_REVERSE_SUBTRACT" value="0x800B" />
+      <token name="MIN" value="0x8007" />
+      <token name="MAX" value="0x8008" />
+      <token name="CONSTANT_COLOR" value="0x8001" />
+      <token name="ONE_MINUS_CONSTANT_COLOR" value="0x8002" />
+      <token name="CONSTANT_ALPHA" value="0x8003" />
+      <token name="ONE_MINUS_CONSTANT_ALPHA" value="0x8004" />
+    </enum>
+    <function name="BlendColor" category="VERSION_1_4" extension="Core" version="1.4">
+      <param name="red" type="ColorF" flow="in" />
+      <param name="green" type="ColorF" flow="in" />
+      <param name="blue" type="ColorF" flow="in" />
+      <param name="alpha" type="ColorF" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform2d" category="ARB_gpu_shader_fp64" extension="Core">
-      <param name="location" type="GLint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
-      <param name="y" type="GLdouble" flow="in" />
+    <function name="BlendEquation" category="VERSION_1_4" extension="Core" version="1.4">
+      <param name="mode" type="BlendEquationMode" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform2dv" category="ARB_gpu_shader_fp64" extension="Core">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*2" />
+    <function name="BlendFuncSeparate" category="VERSION_1_4" extension="Core" version="1.4">
+      <param name="sfactorRGB" type="BlendFuncSeparateParameterEXT" flow="in" />
+      <param name="dfactorRGB" type="BlendFuncSeparateParameterEXT" flow="in" />
+      <param name="sfactorAlpha" type="BlendFuncSeparateParameterEXT" flow="in" />
+      <param name="dfactorAlpha" type="BlendFuncSeparateParameterEXT" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform3d" category="ARB_gpu_shader_fp64" extension="Core">
-      <param name="location" type="GLint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
-      <param name="y" type="GLdouble" flow="in" />
-      <param name="z" type="GLdouble" flow="in" />
+    <function name="MultiDrawArrays" category="VERSION_1_4" extension="Core" version="1.4">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="first" type="GLint *" flow="in" count="COMPSIZE(count)" />
+      <param name="count" type="GLsizei *" flow="in" count="COMPSIZE(drawcount)" />
+      <param name="drawcount" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform3dv" category="ARB_gpu_shader_fp64" extension="Core">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*3" />
+    <function name="MultiDrawElements" category="VERSION_1_4" extension="Core" version="1.4">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="count" type="GLsizei *" flow="in" count="COMPSIZE(drawcount)" />
+      <param name="type" type="DrawElementsType" flow="in" />
+      <param name="indices" type="void **" flow="in" count="COMPSIZE(drawcount)" />
+      <param name="drawcount" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform4d" category="ARB_gpu_shader_fp64" extension="Core">
-      <param name="location" type="GLint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
-      <param name="y" type="GLdouble" flow="in" />
-      <param name="z" type="GLdouble" flow="in" />
-      <param name="w" type="GLdouble" flow="in" />
+    <function name="PointParameterf" category="VERSION_1_4" extension="Core" version="1.4">
+      <param name="pname" type="PointParameterNameARB" flow="in" />
+      <param name="param" type="CheckedFloat32" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform4dv" category="ARB_gpu_shader_fp64" extension="Core">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*4" />
+    <function name="PointParameterfv" category="VERSION_1_4" extension="Core" version="1.4">
+      <param name="pname" type="PointParameterNameARB" flow="in" />
+      <param name="params" type="CheckedFloat32 *" flow="in" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="UniformBlockBinding" category="ARB_uniform_buffer_object" extension="Core">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="uniformBlockIndex" type="GLuint" flow="in" />
-      <param name="uniformBlockBinding" type="GLuint" flow="in" />
+    <function name="PointParameteri" category="VERSION_1_4" extension="Core" version="1.4">
+      <param name="pname" type="PointParameterNameARB" flow="in" />
+      <param name="param" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="UniformHandleui64ARB" category="ARB_bindless_texture" extension="ARB">
-      <param name="location" type="GLint" flow="in" />
-      <param name="value" type="GLuint64" flow="in" />
+    <function name="PointParameteriv" category="VERSION_1_4" extension="Core" version="1.4">
+      <param name="pname" type="PointParameterNameARB" flow="in" />
+      <param name="params" type="GLint *" flow="in" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+  </add>
+  <add name="glcore" version="1.5">
+    <enum name="VERSION_1_5">
+      <token name="BUFFER_SIZE" value="0x8764" />
+      <token name="BUFFER_USAGE" value="0x8765" />
+      <token name="QUERY_COUNTER_BITS" value="0x8864" />
+      <token name="CURRENT_QUERY" value="0x8865" />
+      <token name="QUERY_RESULT" value="0x8866" />
+      <token name="QUERY_RESULT_AVAILABLE" value="0x8867" />
+      <token name="ARRAY_BUFFER" value="0x8892" />
+      <token name="ELEMENT_ARRAY_BUFFER" value="0x8893" />
+      <token name="ARRAY_BUFFER_BINDING" value="0x8894" />
+      <token name="ELEMENT_ARRAY_BUFFER_BINDING" value="0x8895" />
+      <token name="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING" value="0x889F" />
+      <token name="READ_ONLY" value="0x88B8" />
+      <token name="WRITE_ONLY" value="0x88B9" />
+      <token name="READ_WRITE" value="0x88BA" />
+      <token name="BUFFER_ACCESS" value="0x88BB" />
+      <token name="BUFFER_MAPPED" value="0x88BC" />
+      <token name="BUFFER_MAP_POINTER" value="0x88BD" />
+      <token name="STREAM_DRAW" value="0x88E0" />
+      <token name="STREAM_READ" value="0x88E1" />
+      <token name="STREAM_COPY" value="0x88E2" />
+      <token name="STATIC_DRAW" value="0x88E4" />
+      <token name="STATIC_READ" value="0x88E5" />
+      <token name="STATIC_COPY" value="0x88E6" />
+      <token name="DYNAMIC_DRAW" value="0x88E8" />
+      <token name="DYNAMIC_READ" value="0x88E9" />
+      <token name="DYNAMIC_COPY" value="0x88EA" />
+      <token name="SAMPLES_PASSED" value="0x8914" />
+      <token name="SRC1_ALPHA" value="0x8589" />
+    </enum>
+    <function name="BeginQuery" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="id" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="UniformHandleui64vARB" category="ARB_bindless_texture" extension="ARB">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLuint64 *" flow="in" count="count" />
+    <function name="BindBuffer" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="target" type="BufferTargetARB" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix2dv" category="ARB_gpu_shader_fp64" extension="Core">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*4" />
+    <function name="BufferData" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="target" type="BufferTargetARB" flow="in" />
+      <param name="size" type="BufferSize" flow="in" />
+      <param name="data" type="void *" flow="in" count="size" />
+      <param name="usage" type="BufferUsageARB" flow="in" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix2x3dv" category="ARB_gpu_shader_fp64" extension="Core">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*6" />
+    <function name="BufferSubData" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="target" type="BufferTargetARB" flow="in" />
+      <param name="offset" type="BufferOffset" flow="in" />
+      <param name="size" type="BufferSize" flow="in" />
+      <param name="data" type="void *" flow="in" count="size" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix2x4dv" category="ARB_gpu_shader_fp64" extension="Core">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*8" />
+    <function name="DeleteBuffers" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="buffers" type="GLuint *" flow="in" count="n" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix3dv" category="ARB_gpu_shader_fp64" extension="Core">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*9" />
+    <function name="DeleteQueries" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="ids" type="GLuint *" flow="in" count="n" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix3x2dv" category="ARB_gpu_shader_fp64" extension="Core">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*6" />
+    <function name="EndQuery" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="target" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix3x4dv" category="ARB_gpu_shader_fp64" extension="Core">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*12" />
+    <function name="GenBuffers" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="buffers" type="GLuint *" flow="out" count="n" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix4dv" category="ARB_gpu_shader_fp64" extension="Core">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*16" />
+    <function name="GenQueries" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="ids" type="GLuint *" flow="out" count="n" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix4x2dv" category="ARB_gpu_shader_fp64" extension="Core">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*8" />
+    <function name="GetBufferParameteriv" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="target" type="BufferTargetARB" flow="in" />
+      <param name="pname" type="BufferPNameARB" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix4x3dv" category="ARB_gpu_shader_fp64" extension="Core">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*12" />
+    <function name="GetBufferPointerv" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="target" type="BufferTargetARB" flow="in" />
+      <param name="pname" type="BufferPointerNameARB" flow="in" />
+      <param name="params" type="void **" flow="out" count="1" />
       <returns type="void" />
     </function>
-    <function name="UniformSubroutinesuiv" category="ARB_shader_subroutine" extension="Core">
-      <param name="shadertype" type="GLenum" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="indices" type="GLuint *" flow="in" count="count" />
+    <function name="GetBufferSubData" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="target" type="BufferTargetARB" flow="in" />
+      <param name="offset" type="BufferOffset" flow="in" />
+      <param name="size" type="BufferSize" flow="in" />
+      <param name="data" type="void *" flow="out" count="size" />
       <returns type="void" />
     </function>
-    <function name="UseProgramStages" category="ARB_separate_shader_objects" extension="Core">
-      <param name="pipeline" type="GLuint" flow="in" />
-      <param name="stages" type="GLbitfield" flow="in" />
-      <param name="program" type="GLuint" flow="in" />
+    <function name="GetQueryiv" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="ValidateProgramPipeline" category="ARB_separate_shader_objects" extension="Core">
-      <param name="pipeline" type="GLuint" flow="in" />
+    <function name="GetQueryObjectiv" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="id" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribBinding" category="ARB_vertex_attrib_binding" extension="Core">
-      <param name="attribindex" type="GLuint" flow="in" />
-      <param name="bindingindex" type="GLuint" flow="in" />
+    <function name="GetQueryObjectuiv" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="id" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLuint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribFormat" category="ARB_vertex_attrib_binding" extension="Core">
-      <param name="attribindex" type="GLuint" flow="in" />
-      <param name="size" type="GLint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
-      <param name="relativeoffset" type="GLuint" flow="in" />
-      <returns type="void" />
+    <function name="IsBuffer" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <returns type="Boolean" />
     </function>
-    <function name="VertexAttribIFormat" category="ARB_vertex_attrib_binding" extension="Core">
-      <param name="attribindex" type="GLuint" flow="in" />
-      <param name="size" type="GLint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="relativeoffset" type="GLuint" flow="in" />
-      <returns type="void" />
+    <function name="IsQuery" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="id" type="GLuint" flow="in" />
+      <returns type="Boolean" />
     </function>
-    <function name="VertexAttribL1d" category="ARB_vertex_attrib_64bit" extension="Core">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
-      <returns type="void" />
+    <function name="MapBuffer" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="target" type="BufferTargetARB" flow="in" />
+      <param name="access" type="BufferAccessARB" flow="in" />
+      <returns type="void *" />
     </function>
-    <function name="VertexAttribL1dv" category="ARB_vertex_attrib_64bit" extension="Core">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLdouble *" flow="in" count="1" />
-      <returns type="void" />
+    <function name="UnmapBuffer" category="VERSION_1_5" extension="Core" version="1.5">
+      <param name="target" type="BufferTargetARB" flow="in" />
+      <returns type="Boolean" />
     </function>
-    <function name="VertexAttribL1ui64ARB" category="ARB_bindless_texture" extension="ARB">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLuint64EXT" flow="in" />
+  </add>
+  <add name="glcore" version="2.0">
+    <enum name="VERSION_2_0">
+      <token name="BLEND_EQUATION_RGB" value="0x8009" />
+      <token name="VERTEX_ATTRIB_ARRAY_ENABLED" value="0x8622" />
+      <token name="VERTEX_ATTRIB_ARRAY_SIZE" value="0x8623" />
+      <token name="VERTEX_ATTRIB_ARRAY_STRIDE" value="0x8624" />
+      <token name="VERTEX_ATTRIB_ARRAY_TYPE" value="0x8625" />
+      <token name="CURRENT_VERTEX_ATTRIB" value="0x8626" />
+      <token name="VERTEX_PROGRAM_POINT_SIZE" value="0x8642" />
+      <token name="VERTEX_ATTRIB_ARRAY_POINTER" value="0x8645" />
+      <token name="STENCIL_BACK_FUNC" value="0x8800" />
+      <token name="STENCIL_BACK_FAIL" value="0x8801" />
+      <token name="STENCIL_BACK_PASS_DEPTH_FAIL" value="0x8802" />
+      <token name="STENCIL_BACK_PASS_DEPTH_PASS" value="0x8803" />
+      <token name="MAX_DRAW_BUFFERS" value="0x8824" />
+      <token name="DRAW_BUFFER0" value="0x8825" />
+      <token name="DRAW_BUFFER1" value="0x8826" />
+      <token name="DRAW_BUFFER2" value="0x8827" />
+      <token name="DRAW_BUFFER3" value="0x8828" />
+      <token name="DRAW_BUFFER4" value="0x8829" />
+      <token name="DRAW_BUFFER5" value="0x882A" />
+      <token name="DRAW_BUFFER6" value="0x882B" />
+      <token name="DRAW_BUFFER7" value="0x882C" />
+      <token name="DRAW_BUFFER8" value="0x882D" />
+      <token name="DRAW_BUFFER9" value="0x882E" />
+      <token name="DRAW_BUFFER10" value="0x882F" />
+      <token name="DRAW_BUFFER11" value="0x8830" />
+      <token name="DRAW_BUFFER12" value="0x8831" />
+      <token name="DRAW_BUFFER13" value="0x8832" />
+      <token name="DRAW_BUFFER14" value="0x8833" />
+      <token name="DRAW_BUFFER15" value="0x8834" />
+      <token name="BLEND_EQUATION_ALPHA" value="0x883D" />
+      <token name="MAX_VERTEX_ATTRIBS" value="0x8869" />
+      <token name="VERTEX_ATTRIB_ARRAY_NORMALIZED" value="0x886A" />
+      <token name="MAX_TEXTURE_IMAGE_UNITS" value="0x8872" />
+      <token name="FRAGMENT_SHADER" value="0x8B30" />
+      <token name="VERTEX_SHADER" value="0x8B31" />
+      <token name="MAX_FRAGMENT_UNIFORM_COMPONENTS" value="0x8B49" />
+      <token name="MAX_VERTEX_UNIFORM_COMPONENTS" value="0x8B4A" />
+      <token name="MAX_VARYING_FLOATS" value="0x8B4B" />
+      <token name="MAX_VERTEX_TEXTURE_IMAGE_UNITS" value="0x8B4C" />
+      <token name="MAX_COMBINED_TEXTURE_IMAGE_UNITS" value="0x8B4D" />
+      <token name="SHADER_TYPE" value="0x8B4F" />
+      <token name="FLOAT_VEC2" value="0x8B50" />
+      <token name="FLOAT_VEC3" value="0x8B51" />
+      <token name="FLOAT_VEC4" value="0x8B52" />
+      <token name="INT_VEC2" value="0x8B53" />
+      <token name="INT_VEC3" value="0x8B54" />
+      <token name="INT_VEC4" value="0x8B55" />
+      <token name="BOOL" value="0x8B56" />
+      <token name="BOOL_VEC2" value="0x8B57" />
+      <token name="BOOL_VEC3" value="0x8B58" />
+      <token name="BOOL_VEC4" value="0x8B59" />
+      <token name="FLOAT_MAT2" value="0x8B5A" />
+      <token name="FLOAT_MAT3" value="0x8B5B" />
+      <token name="FLOAT_MAT4" value="0x8B5C" />
+      <token name="SAMPLER_1D" value="0x8B5D" />
+      <token name="SAMPLER_2D" value="0x8B5E" />
+      <token name="SAMPLER_3D" value="0x8B5F" />
+      <token name="SAMPLER_CUBE" value="0x8B60" />
+      <token name="SAMPLER_1D_SHADOW" value="0x8B61" />
+      <token name="SAMPLER_2D_SHADOW" value="0x8B62" />
+      <token name="DELETE_STATUS" value="0x8B80" />
+      <token name="COMPILE_STATUS" value="0x8B81" />
+      <token name="LINK_STATUS" value="0x8B82" />
+      <token name="VALIDATE_STATUS" value="0x8B83" />
+      <token name="INFO_LOG_LENGTH" value="0x8B84" />
+      <token name="ATTACHED_SHADERS" value="0x8B85" />
+      <token name="ACTIVE_UNIFORMS" value="0x8B86" />
+      <token name="ACTIVE_UNIFORM_MAX_LENGTH" value="0x8B87" />
+      <token name="SHADER_SOURCE_LENGTH" value="0x8B88" />
+      <token name="ACTIVE_ATTRIBUTES" value="0x8B89" />
+      <token name="ACTIVE_ATTRIBUTE_MAX_LENGTH" value="0x8B8A" />
+      <token name="FRAGMENT_SHADER_DERIVATIVE_HINT" value="0x8B8B" />
+      <token name="SHADING_LANGUAGE_VERSION" value="0x8B8C" />
+      <token name="CURRENT_PROGRAM" value="0x8B8D" />
+      <token name="POINT_SPRITE_COORD_ORIGIN" value="0x8CA0" />
+      <token name="LOWER_LEFT" value="0x8CA1" />
+      <token name="UPPER_LEFT" value="0x8CA2" />
+      <token name="STENCIL_BACK_REF" value="0x8CA3" />
+      <token name="STENCIL_BACK_VALUE_MASK" value="0x8CA4" />
+      <token name="STENCIL_BACK_WRITEMASK" value="0x8CA5" />
+    </enum>
+    <function name="AttachShader" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="shader" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribL1ui64vARB" category="ARB_bindless_texture" extension="ARB">
+    <function name="BindAttribLocation" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="program" type="GLuint" flow="in" />
       <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLuint64EXT *" flow="in" />
+      <param name="name" type="GLchar *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribL2d" category="ARB_vertex_attrib_64bit" extension="Core">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
-      <param name="y" type="GLdouble" flow="in" />
+    <function name="BlendEquationSeparate" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="modeRGB" type="BlendEquationModeEXT" flow="in" />
+      <param name="modeAlpha" type="BlendEquationModeEXT" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribL2dv" category="ARB_vertex_attrib_64bit" extension="Core">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLdouble *" flow="in" count="2" />
+    <function name="CompileShader" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="shader" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribL3d" category="ARB_vertex_attrib_64bit" extension="Core">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
-      <param name="y" type="GLdouble" flow="in" />
-      <param name="z" type="GLdouble" flow="in" />
-      <returns type="void" />
+    <function name="CreateProgram" category="VERSION_2_0" extension="Core" version="2.0">
+      <returns type="GLuint" />
     </function>
-    <function name="VertexAttribL3dv" category="ARB_vertex_attrib_64bit" extension="Core">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLdouble *" flow="in" count="3" />
-      <returns type="void" />
+    <function name="CreateShader" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="type" type="GLenum" flow="in" />
+      <returns type="GLuint" />
     </function>
-    <function name="VertexAttribL4d" category="ARB_vertex_attrib_64bit" extension="Core">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
-      <param name="y" type="GLdouble" flow="in" />
-      <param name="z" type="GLdouble" flow="in" />
-      <param name="w" type="GLdouble" flow="in" />
+    <function name="DeleteProgram" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="program" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribL4dv" category="ARB_vertex_attrib_64bit" extension="Core">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLdouble *" flow="in" count="4" />
+    <function name="DeleteShader" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="shader" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribLFormat" category="ARB_vertex_attrib_binding" extension="Core">
-      <param name="attribindex" type="GLuint" flow="in" />
-      <param name="size" type="GLint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="relativeoffset" type="GLuint" flow="in" />
+    <function name="DetachShader" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="shader" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribLPointer" category="ARB_vertex_attrib_64bit" extension="Core">
+    <function name="DisableVertexAttribArray" category="VERSION_2_0" extension="Core" version="2.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="size" type="GLint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="stride" type="GLsizei" flow="in" />
-      <param name="pointer" type="void *" flow="in" count="size" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribP1ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
-      <param name="value" type="GLuint" flow="in" />
+    <function name="DrawBuffers" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="bufs" type="DrawBufferModeATI *" flow="in" count="n" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribP1uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+    <function name="EnableVertexAttribArray" category="VERSION_2_0" extension="Core" version="2.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribP2ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+    <function name="GetActiveAttrib" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="program" type="GLuint" flow="in" />
       <param name="index" type="GLuint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
-      <param name="value" type="GLuint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="size" type="GLint *" flow="out" count="1" />
+      <param name="type" type="GLenum *" flow="out" count="1" />
+      <param name="name" type="GLchar *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribP2uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
+    <function name="GetActiveUniform" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="program" type="GLuint" flow="in" />
       <param name="index" type="GLuint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="1" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="size" type="GLint *" flow="out" count="1" />
+      <param name="type" type="GLenum *" flow="out" count="1" />
+      <param name="name" type="GLchar *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribP3ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
-      <param name="value" type="GLuint" flow="in" />
+    <function name="GetAttachedShaders" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="maxCount" type="GLsizei" flow="in" />
+      <param name="count" type="GLsizei *" flow="out" count="1" />
+      <param name="shaders" type="GLuint *" flow="out" count="maxCount" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribP3uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="1" />
-      <returns type="void" />
+    <function name="GetAttribLocation" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="name" type="GLchar *" flow="in" />
+      <returns type="GLint" />
     </function>
-    <function name="VertexAttribP4ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
-      <param name="value" type="GLuint" flow="in" />
+    <function name="GetProgramInfoLog" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="infoLog" type="GLchar *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribP4uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="1" />
+    <function name="GetProgramiv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="VertexBindingDivisor" category="ARB_vertex_attrib_binding" extension="Core">
-      <param name="bindingindex" type="GLuint" flow="in" />
-      <param name="divisor" type="GLuint" flow="in" />
+    <function name="GetShaderInfoLog" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="shader" type="GLuint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="infoLog" type="GLchar *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="VertexP2ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="value" type="GLuint" flow="in" />
+    <function name="GetShaderiv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="shader" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="VertexP2uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="1" />
+    <function name="GetShaderSource" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="shader" type="GLuint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="source" type="GLchar *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="VertexP3ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="value" type="GLuint" flow="in" />
+    <function name="GetUniformfv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(program,location)" />
       <returns type="void" />
     </function>
-    <function name="VertexP3uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="1" />
+    <function name="GetUniformiv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(program,location)" />
       <returns type="void" />
     </function>
-    <function name="VertexP4ui" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="value" type="GLuint" flow="in" />
-      <returns type="void" />
+    <function name="GetUniformLocation" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="name" type="GLchar *" flow="in" />
+      <returns type="GLint" />
     </function>
-    <function name="VertexP4uiv" category="ARB_vertex_type_2_10_10_10_rev" extension="Core">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="1" />
+    <function name="GetVertexAttribdv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="pname" type="VertexAttribPropertyARB" flow="in" />
+      <param name="params" type="GLdouble *" flow="out" count="4" />
       <returns type="void" />
     </function>
-    <function name="ViewportArrayv" category="ARB_viewport_array" extension="Core">
-      <param name="first" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="v" type="GLfloat *" flow="in" count="COMPSIZE(count)" />
+    <function name="GetVertexAttribfv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="pname" type="VertexAttribPropertyARB" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" count="4" />
       <returns type="void" />
     </function>
-    <function name="ViewportIndexedf" category="ARB_viewport_array" extension="Core">
+    <function name="GetVertexAttribiv" category="VERSION_2_0" extension="Core" version="2.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLfloat" flow="in" />
-      <param name="y" type="GLfloat" flow="in" />
-      <param name="w" type="GLfloat" flow="in" />
-      <param name="h" type="GLfloat" flow="in" />
+      <param name="pname" type="VertexAttribPropertyARB" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="4" />
       <returns type="void" />
     </function>
-    <function name="ViewportIndexedfv" category="ARB_viewport_array" extension="Core">
+    <function name="GetVertexAttribPointerv" category="VERSION_2_0" extension="Core" version="2.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLfloat *" flow="in" count="4" />
+      <param name="pname" type="VertexAttribPointerPropertyARB" flow="in" />
+      <param name="pointer" type="void **" flow="out" count="1" />
       <returns type="void" />
     </function>
-    <function name="WaitSync" category="ARB_sync" extension="Core">
-      <param name="sync" type="sync" flow="in" />
-      <param name="flags" type="GLbitfield" flow="in" />
-      <param name="timeout" type="GLuint64" flow="in" />
+    <function name="IsProgram" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="program" type="GLuint" flow="in" />
+      <returns type="Boolean" />
+    </function>
+    <function name="IsShader" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="shader" type="GLuint" flow="in" />
+      <returns type="Boolean" />
+    </function>
+    <function name="LinkProgram" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="program" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-  </add>
-  <add name="glcore" version="1.0">
-    <enum name="VERSION_1_0" />
-    <function name="BlendFunc" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="sfactor" type="BlendingFactorSrc" flow="in" />
-      <param name="dfactor" type="BlendingFactorDest" flow="in" />
+    <function name="ShaderSource" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="shader" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="string" type="GLchar **" flow="in" count="count" />
+      <param name="length" type="GLint *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="Clear" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="mask" type="ClearBufferMask" flow="in" />
+    <function name="StencilFuncSeparate" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="face" type="StencilFaceDirection" flow="in" />
+      <param name="func" type="StencilFunction" flow="in" />
+      <param name="ref" type="StencilValue" flow="in" />
+      <param name="mask" type="MaskedStencilValue" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ClearColor" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="red" type="ColorF" flow="in" />
-      <param name="green" type="ColorF" flow="in" />
-      <param name="blue" type="ColorF" flow="in" />
-      <param name="alpha" type="ColorF" flow="in" />
+    <function name="StencilMaskSeparate" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="face" type="StencilFaceDirection" flow="in" />
+      <param name="mask" type="MaskedStencilValue" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ClearDepth" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="depth" type="GLdouble" flow="in" />
+    <function name="StencilOpSeparate" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="face" type="StencilFaceDirection" flow="in" />
+      <param name="sfail" type="StencilOp" flow="in" />
+      <param name="dpfail" type="StencilOp" flow="in" />
+      <param name="dppass" type="StencilOp" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ClearStencil" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="s" type="StencilValue" flow="in" />
+    <function name="Uniform1f" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ColorMask" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="red" type="Boolean" flow="in" />
-      <param name="green" type="Boolean" flow="in" />
-      <param name="blue" type="Boolean" flow="in" />
-      <param name="alpha" type="Boolean" flow="in" />
+    <function name="Uniform1fv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count*1" />
       <returns type="void" />
     </function>
-    <function name="CullFace" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="mode" type="CullFaceMode" flow="in" />
+    <function name="Uniform1i" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DepthFunc" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="func" type="DepthFunction" flow="in" />
+    <function name="Uniform1iv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLint *" flow="in" count="count*1" />
       <returns type="void" />
     </function>
-    <function name="DepthMask" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="flag" type="Boolean" flow="in" />
+    <function name="Uniform2f" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLfloat" flow="in" />
+      <param name="v1" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DepthRange" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="near" type="GLdouble" flow="in" />
-      <param name="far" type="GLdouble" flow="in" />
+    <function name="Uniform2fv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count*2" />
       <returns type="void" />
     </function>
-    <function name="Disable" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="cap" type="EnableCap" flow="in" />
+    <function name="Uniform2i" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLint" flow="in" />
+      <param name="v1" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DrawBuffer" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="mode" type="DrawBufferMode" flow="in" />
+    <function name="Uniform2iv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLint *" flow="in" count="count*2" />
       <returns type="void" />
     </function>
-    <function name="Enable" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="cap" type="EnableCap" flow="in" />
+    <function name="Uniform3f" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLfloat" flow="in" />
+      <param name="v1" type="GLfloat" flow="in" />
+      <param name="v2" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Finish" category="VERSION_1_0" extension="Core" version="1.0">
+    <function name="Uniform3fv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count*3" />
       <returns type="void" />
     </function>
-    <function name="Flush" category="VERSION_1_0" extension="Core" version="1.0">
+    <function name="Uniform3i" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLint" flow="in" />
+      <param name="v1" type="GLint" flow="in" />
+      <param name="v2" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="FrontFace" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="mode" type="FrontFaceDirection" flow="in" />
+    <function name="Uniform3iv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLint *" flow="in" count="count*3" />
       <returns type="void" />
     </function>
-    <function name="GetBooleanv" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="pname" type="GetPName" flow="in" />
-      <param name="data" type="Boolean *" flow="out" count="COMPSIZE(pname)" />
+    <function name="Uniform4f" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLfloat" flow="in" />
+      <param name="v1" type="GLfloat" flow="in" />
+      <param name="v2" type="GLfloat" flow="in" />
+      <param name="v3" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetDoublev" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="pname" type="GetPName" flow="in" />
-      <param name="data" type="GLdouble *" flow="out" count="COMPSIZE(pname)" />
+    <function name="Uniform4fv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count*4" />
       <returns type="void" />
     </function>
-    <function name="GetError" category="VERSION_1_0" extension="Core" version="1.0">
-      <returns type="ErrorCode" />
-    </function>
-    <function name="GetFloatv" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="pname" type="GetPName" flow="in" />
-      <param name="data" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
+    <function name="Uniform4i" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLint" flow="in" />
+      <param name="v1" type="GLint" flow="in" />
+      <param name="v2" type="GLint" flow="in" />
+      <param name="v3" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetIntegerv" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="pname" type="GetPName" flow="in" />
-      <param name="data" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="Uniform4iv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLint *" flow="in" count="count*4" />
       <returns type="void" />
     </function>
-    <function name="GetString" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="name" type="StringName" flow="in" />
-      <returns type="String" />
-    </function>
-    <function name="GetTexImage" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="type" type="PixelType" flow="in" />
-      <param name="pixels" type="void *" flow="out" count="COMPSIZE(target,level,format,type)" />
+    <function name="UniformMatrix2fv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count*4" />
       <returns type="void" />
     </function>
-    <function name="GetTexLevelParameterfv" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="pname" type="GetTextureParameter" flow="in" />
-      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
+    <function name="UniformMatrix3fv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count*9" />
       <returns type="void" />
     </function>
-    <function name="GetTexLevelParameteriv" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="pname" type="GetTextureParameter" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="UniformMatrix4fv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count*16" />
       <returns type="void" />
     </function>
-    <function name="GetTexParameterfv" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="pname" type="GetTextureParameter" flow="in" />
-      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
+    <function name="UseProgram" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="program" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetTexParameteriv" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="pname" type="GetTextureParameter" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ValidateProgram" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="program" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Hint" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="target" type="HintTarget" flow="in" />
-      <param name="mode" type="HintMode" flow="in" />
+    <function name="VertexAttrib1d" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="IsEnabled" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="cap" type="EnableCap" flow="in" />
-      <returns type="Boolean" />
+    <function name="VertexAttrib1dv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLdouble *" flow="in" count="1" />
+      <returns type="void" />
     </function>
-    <function name="LineWidth" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="width" type="CheckedFloat32" flow="in" />
+    <function name="VertexAttrib1f" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="LogicOp" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="opcode" type="LogicOp" flow="in" />
+    <function name="VertexAttrib1fv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLfloat *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="PixelStoref" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="pname" type="PixelStoreParameter" flow="in" />
-      <param name="param" type="CheckedFloat32" flow="in" />
+    <function name="VertexAttrib1s" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLshort" flow="in" />
       <returns type="void" />
     </function>
-    <function name="PixelStorei" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="pname" type="PixelStoreParameter" flow="in" />
-      <param name="param" type="CheckedInt32" flow="in" />
+    <function name="VertexAttrib1sv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLshort *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="PointSize" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="size" type="CheckedFloat32" flow="in" />
+    <function name="VertexAttrib2d" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
+      <param name="y" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="PolygonMode" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="face" type="MaterialFace" flow="in" />
-      <param name="mode" type="PolygonMode" flow="in" />
+    <function name="VertexAttrib2dv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLdouble *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="ReadBuffer" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="mode" type="ReadBufferMode" flow="in" />
+    <function name="VertexAttrib2f" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLfloat" flow="in" />
+      <param name="y" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ReadPixels" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="x" type="WinCoord" flow="in" />
-      <param name="y" type="WinCoord" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="type" type="PixelType" flow="in" />
-      <param name="pixels" type="void *" flow="out" count="COMPSIZE(format,type,width,height)" />
+    <function name="VertexAttrib2fv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLfloat *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="Scissor" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="x" type="WinCoord" flow="in" />
-      <param name="y" type="WinCoord" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
+    <function name="VertexAttrib2s" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLshort" flow="in" />
+      <param name="y" type="GLshort" flow="in" />
       <returns type="void" />
     </function>
-    <function name="StencilFunc" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="func" type="StencilFunction" flow="in" />
-      <param name="ref" type="StencilValue" flow="in" />
-      <param name="mask" type="MaskedStencilValue" flow="in" />
+    <function name="VertexAttrib2sv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLshort *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="StencilMask" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="mask" type="MaskedStencilValue" flow="in" />
+    <function name="VertexAttrib3d" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
+      <param name="y" type="GLdouble" flow="in" />
+      <param name="z" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="StencilOp" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="fail" type="StencilOp" flow="in" />
-      <param name="zfail" type="StencilOp" flow="in" />
-      <param name="zpass" type="StencilOp" flow="in" />
+    <function name="VertexAttrib3dv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLdouble *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="TexImage1D" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="internalformat" type="TextureComponentCount" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="border" type="CheckedInt32" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="type" type="PixelType" flow="in" />
-      <param name="pixels" type="void *" flow="in" count="COMPSIZE(format,type,width)" />
+    <function name="VertexAttrib3f" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLfloat" flow="in" />
+      <param name="y" type="GLfloat" flow="in" />
+      <param name="z" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="TexImage2D" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="internalformat" type="TextureComponentCount" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
-      <param name="border" type="CheckedInt32" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="type" type="PixelType" flow="in" />
-      <param name="pixels" type="void *" flow="in" count="COMPSIZE(format,type,width,height)" />
+    <function name="VertexAttrib3fv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLfloat *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="TexParameterf" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="pname" type="TextureParameterName" flow="in" />
-      <param name="param" type="CheckedFloat32" flow="in" />
+    <function name="VertexAttrib3s" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLshort" flow="in" />
+      <param name="y" type="GLshort" flow="in" />
+      <param name="z" type="GLshort" flow="in" />
       <returns type="void" />
     </function>
-    <function name="TexParameterfv" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="pname" type="TextureParameterName" flow="in" />
-      <param name="params" type="CheckedFloat32 *" flow="in" count="COMPSIZE(pname)" />
+    <function name="VertexAttrib3sv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLshort *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="TexParameteri" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="pname" type="TextureParameterName" flow="in" />
-      <param name="param" type="CheckedInt32" flow="in" />
+    <function name="VertexAttrib4bv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLbyte *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="TexParameteriv" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="pname" type="TextureParameterName" flow="in" />
-      <param name="params" type="CheckedInt32 *" flow="in" count="COMPSIZE(pname)" />
+    <function name="VertexAttrib4d" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
+      <param name="y" type="GLdouble" flow="in" />
+      <param name="z" type="GLdouble" flow="in" />
+      <param name="w" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Viewport" category="VERSION_1_0" extension="Core" version="1.0">
-      <param name="x" type="WinCoord" flow="in" />
-      <param name="y" type="WinCoord" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
+    <function name="VertexAttrib4dv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLdouble *" flow="in" count="4" />
       <returns type="void" />
     </function>
-  </add>
-  <add name="glcore" version="1.1">
-    <enum name="VERSION_1_1">
-      <token name="DEPTH_BUFFER_BIT" value="0x00000100" />
-      <token name="STENCIL_BUFFER_BIT" value="0x00000400" />
-      <token name="COLOR_BUFFER_BIT" value="0x00004000" />
-      <token name="FALSE" value="0" />
-      <token name="TRUE" value="1" />
-      <token name="POINTS" value="0x0000" />
-      <token name="LINES" value="0x0001" />
-      <token name="LINE_LOOP" value="0x0002" />
-      <token name="LINE_STRIP" value="0x0003" />
-      <token name="TRIANGLES" value="0x0004" />
-      <token name="TRIANGLE_STRIP" value="0x0005" />
-      <token name="TRIANGLE_FAN" value="0x0006" />
-      <token name="NEVER" value="0x0200" />
-      <token name="LESS" value="0x0201" />
-      <token name="EQUAL" value="0x0202" />
-      <token name="LEQUAL" value="0x0203" />
-      <token name="GREATER" value="0x0204" />
-      <token name="NOTEQUAL" value="0x0205" />
-      <token name="GEQUAL" value="0x0206" />
-      <token name="ALWAYS" value="0x0207" />
-      <token name="ZERO" value="0" />
-      <token name="ONE" value="1" />
-      <token name="SRC_COLOR" value="0x0300" />
-      <token name="ONE_MINUS_SRC_COLOR" value="0x0301" />
-      <token name="SRC_ALPHA" value="0x0302" />
-      <token name="ONE_MINUS_SRC_ALPHA" value="0x0303" />
-      <token name="DST_ALPHA" value="0x0304" />
-      <token name="ONE_MINUS_DST_ALPHA" value="0x0305" />
-      <token name="DST_COLOR" value="0x0306" />
-      <token name="ONE_MINUS_DST_COLOR" value="0x0307" />
-      <token name="SRC_ALPHA_SATURATE" value="0x0308" />
-      <token name="NONE" value="0" />
-      <token name="FRONT_LEFT" value="0x0400" />
-      <token name="FRONT_RIGHT" value="0x0401" />
-      <token name="BACK_LEFT" value="0x0402" />
-      <token name="BACK_RIGHT" value="0x0403" />
-      <token name="FRONT" value="0x0404" />
-      <token name="BACK" value="0x0405" />
-      <token name="LEFT" value="0x0406" />
-      <token name="RIGHT" value="0x0407" />
-      <token name="FRONT_AND_BACK" value="0x0408" />
-      <token name="NO_ERROR" value="0" />
-      <token name="INVALID_ENUM" value="0x0500" />
-      <token name="INVALID_VALUE" value="0x0501" />
-      <token name="INVALID_OPERATION" value="0x0502" />
-      <token name="OUT_OF_MEMORY" value="0x0505" />
-      <token name="CW" value="0x0900" />
-      <token name="CCW" value="0x0901" />
-      <token name="POINT_SIZE" value="0x0B11" />
-      <token name="POINT_SIZE_RANGE" value="0x0B12" />
-      <token name="POINT_SIZE_GRANULARITY" value="0x0B13" />
-      <token name="LINE_SMOOTH" value="0x0B20" />
-      <token name="LINE_WIDTH" value="0x0B21" />
-      <token name="LINE_WIDTH_RANGE" value="0x0B22" />
-      <token name="LINE_WIDTH_GRANULARITY" value="0x0B23" />
-      <token name="POLYGON_MODE" value="0x0B40" />
-      <token name="POLYGON_SMOOTH" value="0x0B41" />
-      <token name="CULL_FACE" value="0x0B44" />
-      <token name="CULL_FACE_MODE" value="0x0B45" />
-      <token name="FRONT_FACE" value="0x0B46" />
-      <token name="DEPTH_RANGE" value="0x0B70" />
-      <token name="DEPTH_TEST" value="0x0B71" />
-      <token name="DEPTH_WRITEMASK" value="0x0B72" />
-      <token name="DEPTH_CLEAR_VALUE" value="0x0B73" />
-      <token name="DEPTH_FUNC" value="0x0B74" />
-      <token name="STENCIL_TEST" value="0x0B90" />
-      <token name="STENCIL_CLEAR_VALUE" value="0x0B91" />
-      <token name="STENCIL_FUNC" value="0x0B92" />
-      <token name="STENCIL_VALUE_MASK" value="0x0B93" />
-      <token name="STENCIL_FAIL" value="0x0B94" />
-      <token name="STENCIL_PASS_DEPTH_FAIL" value="0x0B95" />
-      <token name="STENCIL_PASS_DEPTH_PASS" value="0x0B96" />
-      <token name="STENCIL_REF" value="0x0B97" />
-      <token name="STENCIL_WRITEMASK" value="0x0B98" />
-      <token name="VIEWPORT" value="0x0BA2" />
-      <token name="DITHER" value="0x0BD0" />
-      <token name="BLEND_DST" value="0x0BE0" />
-      <token name="BLEND_SRC" value="0x0BE1" />
-      <token name="BLEND" value="0x0BE2" />
-      <token name="LOGIC_OP_MODE" value="0x0BF0" />
-      <token name="COLOR_LOGIC_OP" value="0x0BF2" />
-      <token name="DRAW_BUFFER" value="0x0C01" />
-      <token name="READ_BUFFER" value="0x0C02" />
-      <token name="SCISSOR_BOX" value="0x0C10" />
-      <token name="SCISSOR_TEST" value="0x0C11" />
-      <token name="COLOR_CLEAR_VALUE" value="0x0C22" />
-      <token name="COLOR_WRITEMASK" value="0x0C23" />
-      <token name="DOUBLEBUFFER" value="0x0C32" />
-      <token name="STEREO" value="0x0C33" />
-      <token name="LINE_SMOOTH_HINT" value="0x0C52" />
-      <token name="POLYGON_SMOOTH_HINT" value="0x0C53" />
-      <token name="UNPACK_SWAP_BYTES" value="0x0CF0" />
-      <token name="UNPACK_LSB_FIRST" value="0x0CF1" />
-      <token name="UNPACK_ROW_LENGTH" value="0x0CF2" />
-      <token name="UNPACK_SKIP_ROWS" value="0x0CF3" />
-      <token name="UNPACK_SKIP_PIXELS" value="0x0CF4" />
-      <token name="UNPACK_ALIGNMENT" value="0x0CF5" />
-      <token name="PACK_SWAP_BYTES" value="0x0D00" />
-      <token name="PACK_LSB_FIRST" value="0x0D01" />
-      <token name="PACK_ROW_LENGTH" value="0x0D02" />
-      <token name="PACK_SKIP_ROWS" value="0x0D03" />
-      <token name="PACK_SKIP_PIXELS" value="0x0D04" />
-      <token name="PACK_ALIGNMENT" value="0x0D05" />
-      <token name="MAX_TEXTURE_SIZE" value="0x0D33" />
-      <token name="MAX_VIEWPORT_DIMS" value="0x0D3A" />
-      <token name="SUBPIXEL_BITS" value="0x0D50" />
-      <token name="TEXTURE_1D" value="0x0DE0" />
-      <token name="TEXTURE_2D" value="0x0DE1" />
-      <token name="POLYGON_OFFSET_UNITS" value="0x2A00" />
-      <token name="POLYGON_OFFSET_POINT" value="0x2A01" />
-      <token name="POLYGON_OFFSET_LINE" value="0x2A02" />
-      <token name="POLYGON_OFFSET_FILL" value="0x8037" />
-      <token name="POLYGON_OFFSET_FACTOR" value="0x8038" />
-      <token name="TEXTURE_BINDING_1D" value="0x8068" />
-      <token name="TEXTURE_BINDING_2D" value="0x8069" />
-      <token name="TEXTURE_WIDTH" value="0x1000" />
-      <token name="TEXTURE_HEIGHT" value="0x1001" />
-      <token name="TEXTURE_INTERNAL_FORMAT" value="0x1003" />
-      <token name="TEXTURE_BORDER_COLOR" value="0x1004" />
-      <token name="TEXTURE_RED_SIZE" value="0x805C" />
-      <token name="TEXTURE_GREEN_SIZE" value="0x805D" />
-      <token name="TEXTURE_BLUE_SIZE" value="0x805E" />
-      <token name="TEXTURE_ALPHA_SIZE" value="0x805F" />
-      <token name="DONT_CARE" value="0x1100" />
-      <token name="FASTEST" value="0x1101" />
-      <token name="NICEST" value="0x1102" />
-      <token name="BYTE" value="0x1400" />
-      <token name="UNSIGNED_BYTE" value="0x1401" />
-      <token name="SHORT" value="0x1402" />
-      <token name="UNSIGNED_SHORT" value="0x1403" />
-      <token name="INT" value="0x1404" />
-      <token name="UNSIGNED_INT" value="0x1405" />
-      <token name="FLOAT" value="0x1406" />
-      <token name="DOUBLE" value="0x140A" />
-      <token name="CLEAR" value="0x1500" />
-      <token name="AND" value="0x1501" />
-      <token name="AND_REVERSE" value="0x1502" />
-      <token name="COPY" value="0x1503" />
-      <token name="AND_INVERTED" value="0x1504" />
-      <token name="NOOP" value="0x1505" />
-      <token name="XOR" value="0x1506" />
-      <token name="OR" value="0x1507" />
-      <token name="NOR" value="0x1508" />
-      <token name="EQUIV" value="0x1509" />
-      <token name="INVERT" value="0x150A" />
-      <token name="OR_REVERSE" value="0x150B" />
-      <token name="COPY_INVERTED" value="0x150C" />
-      <token name="OR_INVERTED" value="0x150D" />
-      <token name="NAND" value="0x150E" />
-      <token name="SET" value="0x150F" />
-      <token name="TEXTURE" value="0x1702" />
-      <token name="COLOR" value="0x1800" />
-      <token name="DEPTH" value="0x1801" />
-      <token name="STENCIL" value="0x1802" />
-      <token name="STENCIL_INDEX" value="0x1901" />
-      <token name="DEPTH_COMPONENT" value="0x1902" />
-      <token name="RED" value="0x1903" />
-      <token name="GREEN" value="0x1904" />
-      <token name="BLUE" value="0x1905" />
-      <token name="ALPHA" value="0x1906" />
-      <token name="RGB" value="0x1907" />
-      <token name="RGBA" value="0x1908" />
-      <token name="POINT" value="0x1B00" />
-      <token name="LINE" value="0x1B01" />
-      <token name="FILL" value="0x1B02" />
-      <token name="KEEP" value="0x1E00" />
-      <token name="REPLACE" value="0x1E01" />
-      <token name="INCR" value="0x1E02" />
-      <token name="DECR" value="0x1E03" />
-      <token name="VENDOR" value="0x1F00" />
-      <token name="RENDERER" value="0x1F01" />
-      <token name="VERSION" value="0x1F02" />
-      <token name="EXTENSIONS" value="0x1F03" />
-      <token name="NEAREST" value="0x2600" />
-      <token name="LINEAR" value="0x2601" />
-      <token name="NEAREST_MIPMAP_NEAREST" value="0x2700" />
-      <token name="LINEAR_MIPMAP_NEAREST" value="0x2701" />
-      <token name="NEAREST_MIPMAP_LINEAR" value="0x2702" />
-      <token name="LINEAR_MIPMAP_LINEAR" value="0x2703" />
-      <token name="TEXTURE_MAG_FILTER" value="0x2800" />
-      <token name="TEXTURE_MIN_FILTER" value="0x2801" />
-      <token name="TEXTURE_WRAP_S" value="0x2802" />
-      <token name="TEXTURE_WRAP_T" value="0x2803" />
-      <token name="PROXY_TEXTURE_1D" value="0x8063" />
-      <token name="PROXY_TEXTURE_2D" value="0x8064" />
-      <token name="REPEAT" value="0x2901" />
-      <token name="R3_G3_B2" value="0x2A10" />
-      <token name="RGB4" value="0x804F" />
-      <token name="RGB5" value="0x8050" />
-      <token name="RGB8" value="0x8051" />
-      <token name="RGB10" value="0x8052" />
-      <token name="RGB12" value="0x8053" />
-      <token name="RGB16" value="0x8054" />
-      <token name="RGBA2" value="0x8055" />
-      <token name="RGBA4" value="0x8056" />
-      <token name="RGB5_A1" value="0x8057" />
-      <token name="RGBA8" value="0x8058" />
-      <token name="RGB10_A2" value="0x8059" />
-      <token name="RGBA12" value="0x805A" />
-      <token name="RGBA16" value="0x805B" />
-    </enum>
-    <function name="BindTexture" category="VERSION_1_1" extension="Core" version="1.1">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="texture" type="Texture" flow="in" />
+    <function name="VertexAttrib4f" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLfloat" flow="in" />
+      <param name="y" type="GLfloat" flow="in" />
+      <param name="z" type="GLfloat" flow="in" />
+      <param name="w" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="CopyTexImage1D" category="VERSION_1_1" extension="Core" version="1.1">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="internalformat" type="PixelInternalFormat" flow="in" />
-      <param name="x" type="WinCoord" flow="in" />
-      <param name="y" type="WinCoord" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="border" type="CheckedInt32" flow="in" />
+    <function name="VertexAttrib4fv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLfloat *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="CopyTexImage2D" category="VERSION_1_1" extension="Core" version="1.1">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="internalformat" type="PixelInternalFormat" flow="in" />
-      <param name="x" type="WinCoord" flow="in" />
-      <param name="y" type="WinCoord" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
-      <param name="border" type="CheckedInt32" flow="in" />
+    <function name="VertexAttrib4iv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLint *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="CopyTexSubImage1D" category="VERSION_1_1" extension="Core" version="1.1">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="xoffset" type="CheckedInt32" flow="in" />
-      <param name="x" type="WinCoord" flow="in" />
-      <param name="y" type="WinCoord" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
+    <function name="VertexAttrib4Nbv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLbyte *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="CopyTexSubImage2D" category="VERSION_1_1" extension="Core" version="1.1">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="xoffset" type="CheckedInt32" flow="in" />
-      <param name="yoffset" type="CheckedInt32" flow="in" />
-      <param name="x" type="WinCoord" flow="in" />
-      <param name="y" type="WinCoord" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
+    <function name="VertexAttrib4Niv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLint *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="DeleteTextures" category="VERSION_1_1" extension="Core" version="1.1">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="textures" type="Texture *" flow="in" count="n" />
+    <function name="VertexAttrib4Nsv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLshort *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="DrawArrays" category="VERSION_1_1" extension="Core" version="1.1">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="first" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
+    <function name="VertexAttrib4Nub" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLubyte" flow="in" />
+      <param name="y" type="GLubyte" flow="in" />
+      <param name="z" type="GLubyte" flow="in" />
+      <param name="w" type="GLubyte" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DrawElements" category="VERSION_1_1" extension="Core" version="1.1">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="type" type="DrawElementsType" flow="in" />
-      <param name="indices" type="void *" flow="in" count="COMPSIZE(count,type)" />
+    <function name="VertexAttrib4Nubv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLubyte *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="GenTextures" category="VERSION_1_1" extension="Core" version="1.1">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="textures" type="Texture *" flow="out" count="n" />
+    <function name="VertexAttrib4Nuiv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLuint *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="IsTexture" category="VERSION_1_1" extension="Core" version="1.1">
-      <param name="texture" type="Texture" flow="in" />
-      <returns type="Boolean" />
+    <function name="VertexAttrib4Nusv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLushort *" flow="in" count="4" />
+      <returns type="void" />
     </function>
-    <function name="PolygonOffset" category="VERSION_1_1" extension="Core" version="1.1">
-      <param name="factor" type="GLfloat" flow="in" />
-      <param name="units" type="GLfloat" flow="in" />
+    <function name="VertexAttrib4s" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLshort" flow="in" />
+      <param name="y" type="GLshort" flow="in" />
+      <param name="z" type="GLshort" flow="in" />
+      <param name="w" type="GLshort" flow="in" />
       <returns type="void" />
     </function>
-    <function name="TexSubImage1D" category="VERSION_1_1" extension="Core" version="1.1">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="xoffset" type="CheckedInt32" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="type" type="PixelType" flow="in" />
-      <param name="pixels" type="void *" flow="in" count="COMPSIZE(format,type,width)" />
+    <function name="VertexAttrib4sv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLshort *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="TexSubImage2D" category="VERSION_1_1" extension="Core" version="1.1">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="xoffset" type="CheckedInt32" flow="in" />
-      <param name="yoffset" type="CheckedInt32" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="type" type="PixelType" flow="in" />
-      <param name="pixels" type="void *" flow="in" count="COMPSIZE(format,type,width,height)" />
+    <function name="VertexAttrib4ubv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLubyte *" flow="in" count="4" />
+      <returns type="void" />
+    </function>
+    <function name="VertexAttrib4uiv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLuint *" flow="in" count="4" />
+      <returns type="void" />
+    </function>
+    <function name="VertexAttrib4usv" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLushort *" flow="in" count="4" />
+      <returns type="void" />
+    </function>
+    <function name="VertexAttribPointer" category="VERSION_2_0" extension="Core" version="2.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="size" type="GLint" flow="in" />
+      <param name="type" type="VertexAttribPointerType" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
+      <param name="stride" type="GLsizei" flow="in" />
+      <param name="pointer" type="void *" flow="in" count="COMPSIZE(size,type,stride)" />
       <returns type="void" />
     </function>
   </add>
-  <add name="glcore" version="1.2">
-    <enum name="VERSION_1_2">
-      <token name="UNSIGNED_BYTE_3_3_2" value="0x8032" />
-      <token name="UNSIGNED_SHORT_4_4_4_4" value="0x8033" />
-      <token name="UNSIGNED_SHORT_5_5_5_1" value="0x8034" />
-      <token name="UNSIGNED_INT_8_8_8_8" value="0x8035" />
-      <token name="UNSIGNED_INT_10_10_10_2" value="0x8036" />
-      <token name="TEXTURE_BINDING_3D" value="0x806A" />
-      <token name="PACK_SKIP_IMAGES" value="0x806B" />
-      <token name="PACK_IMAGE_HEIGHT" value="0x806C" />
-      <token name="UNPACK_SKIP_IMAGES" value="0x806D" />
-      <token name="UNPACK_IMAGE_HEIGHT" value="0x806E" />
-      <token name="TEXTURE_3D" value="0x806F" />
-      <token name="PROXY_TEXTURE_3D" value="0x8070" />
-      <token name="TEXTURE_DEPTH" value="0x8071" />
-      <token name="TEXTURE_WRAP_R" value="0x8072" />
-      <token name="MAX_3D_TEXTURE_SIZE" value="0x8073" />
-      <token name="UNSIGNED_BYTE_2_3_3_REV" value="0x8362" />
-      <token name="UNSIGNED_SHORT_5_6_5" value="0x8363" />
-      <token name="UNSIGNED_SHORT_5_6_5_REV" value="0x8364" />
-      <token name="UNSIGNED_SHORT_4_4_4_4_REV" value="0x8365" />
-      <token name="UNSIGNED_SHORT_1_5_5_5_REV" value="0x8366" />
-      <token name="UNSIGNED_INT_8_8_8_8_REV" value="0x8367" />
-      <token name="UNSIGNED_INT_2_10_10_10_REV" value="0x8368" />
-      <token name="BGR" value="0x80E0" />
-      <token name="BGRA" value="0x80E1" />
-      <token name="MAX_ELEMENTS_VERTICES" value="0x80E8" />
-      <token name="MAX_ELEMENTS_INDICES" value="0x80E9" />
-      <token name="CLAMP_TO_EDGE" value="0x812F" />
-      <token name="TEXTURE_MIN_LOD" value="0x813A" />
-      <token name="TEXTURE_MAX_LOD" value="0x813B" />
-      <token name="TEXTURE_BASE_LEVEL" value="0x813C" />
-      <token name="TEXTURE_MAX_LEVEL" value="0x813D" />
-      <token name="SMOOTH_POINT_SIZE_RANGE" value="0x0B12" />
-      <token name="SMOOTH_POINT_SIZE_GRANULARITY" value="0x0B13" />
-      <token name="SMOOTH_LINE_WIDTH_RANGE" value="0x0B22" />
-      <token name="SMOOTH_LINE_WIDTH_GRANULARITY" value="0x0B23" />
-      <token name="ALIASED_LINE_WIDTH_RANGE" value="0x846E" />
+  <add name="glcore" version="2.1">
+    <enum name="VERSION_2_1">
+      <token name="PIXEL_PACK_BUFFER" value="0x88EB" />
+      <token name="PIXEL_UNPACK_BUFFER" value="0x88EC" />
+      <token name="PIXEL_PACK_BUFFER_BINDING" value="0x88ED" />
+      <token name="PIXEL_UNPACK_BUFFER_BINDING" value="0x88EF" />
+      <token name="FLOAT_MAT2x3" value="0x8B65" />
+      <token name="FLOAT_MAT2x4" value="0x8B66" />
+      <token name="FLOAT_MAT3x2" value="0x8B67" />
+      <token name="FLOAT_MAT3x4" value="0x8B68" />
+      <token name="FLOAT_MAT4x2" value="0x8B69" />
+      <token name="FLOAT_MAT4x3" value="0x8B6A" />
+      <token name="SRGB" value="0x8C40" />
+      <token name="SRGB8" value="0x8C41" />
+      <token name="SRGB_ALPHA" value="0x8C42" />
+      <token name="SRGB8_ALPHA8" value="0x8C43" />
+      <token name="COMPRESSED_SRGB" value="0x8C48" />
+      <token name="COMPRESSED_SRGB_ALPHA" value="0x8C49" />
     </enum>
-    <function name="CopyTexSubImage3D" category="VERSION_1_2" extension="Core" version="1.2">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="xoffset" type="CheckedInt32" flow="in" />
-      <param name="yoffset" type="CheckedInt32" flow="in" />
-      <param name="zoffset" type="CheckedInt32" flow="in" />
-      <param name="x" type="WinCoord" flow="in" />
-      <param name="y" type="WinCoord" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
+    <function name="UniformMatrix2x3fv" category="VERSION_2_1" extension="Core" version="2.1">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count*6" />
       <returns type="void" />
     </function>
-    <function name="DrawRangeElements" category="VERSION_1_2" extension="Core" version="1.2">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="start" type="GLuint" flow="in" />
-      <param name="end" type="GLuint" flow="in" />
+    <function name="UniformMatrix2x4fv" category="VERSION_2_1" extension="Core" version="2.1">
+      <param name="location" type="GLint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="type" type="DrawElementsType" flow="in" />
-      <param name="indices" type="void *" flow="in" count="COMPSIZE(count,type)" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count*8" />
       <returns type="void" />
     </function>
-    <function name="TexImage3D" category="VERSION_1_2" extension="Core" version="1.2">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="internalformat" type="TextureComponentCount" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
-      <param name="depth" type="GLsizei" flow="in" />
-      <param name="border" type="CheckedInt32" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="type" type="PixelType" flow="in" />
-      <param name="pixels" type="void *" flow="in" count="COMPSIZE(format,type,width,height,depth)" />
+    <function name="UniformMatrix3x2fv" category="VERSION_2_1" extension="Core" version="2.1">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count*6" />
       <returns type="void" />
     </function>
-    <function name="TexSubImage3D" category="VERSION_1_2" extension="Core" version="1.2">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="xoffset" type="CheckedInt32" flow="in" />
-      <param name="yoffset" type="CheckedInt32" flow="in" />
-      <param name="zoffset" type="CheckedInt32" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
-      <param name="depth" type="GLsizei" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="type" type="PixelType" flow="in" />
-      <param name="pixels" type="void *" flow="in" count="COMPSIZE(format,type,width,height,depth)" />
+    <function name="UniformMatrix3x4fv" category="VERSION_2_1" extension="Core" version="2.1">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count*12" />
+      <returns type="void" />
+    </function>
+    <function name="UniformMatrix4x2fv" category="VERSION_2_1" extension="Core" version="2.1">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count*8" />
+      <returns type="void" />
+    </function>
+    <function name="UniformMatrix4x3fv" category="VERSION_2_1" extension="Core" version="2.1">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count*12" />
       <returns type="void" />
     </function>
   </add>
-  <add name="glcore" version="1.3">
-    <enum name="VERSION_1_3">
-      <token name="TEXTURE0" value="0x84C0" />
-      <token name="TEXTURE1" value="0x84C1" />
-      <token name="TEXTURE2" value="0x84C2" />
-      <token name="TEXTURE3" value="0x84C3" />
-      <token name="TEXTURE4" value="0x84C4" />
-      <token name="TEXTURE5" value="0x84C5" />
-      <token name="TEXTURE6" value="0x84C6" />
-      <token name="TEXTURE7" value="0x84C7" />
-      <token name="TEXTURE8" value="0x84C8" />
-      <token name="TEXTURE9" value="0x84C9" />
-      <token name="TEXTURE10" value="0x84CA" />
-      <token name="TEXTURE11" value="0x84CB" />
-      <token name="TEXTURE12" value="0x84CC" />
-      <token name="TEXTURE13" value="0x84CD" />
-      <token name="TEXTURE14" value="0x84CE" />
-      <token name="TEXTURE15" value="0x84CF" />
-      <token name="TEXTURE16" value="0x84D0" />
-      <token name="TEXTURE17" value="0x84D1" />
-      <token name="TEXTURE18" value="0x84D2" />
-      <token name="TEXTURE19" value="0x84D3" />
-      <token name="TEXTURE20" value="0x84D4" />
-      <token name="TEXTURE21" value="0x84D5" />
-      <token name="TEXTURE22" value="0x84D6" />
-      <token name="TEXTURE23" value="0x84D7" />
-      <token name="TEXTURE24" value="0x84D8" />
-      <token name="TEXTURE25" value="0x84D9" />
-      <token name="TEXTURE26" value="0x84DA" />
-      <token name="TEXTURE27" value="0x84DB" />
-      <token name="TEXTURE28" value="0x84DC" />
-      <token name="TEXTURE29" value="0x84DD" />
-      <token name="TEXTURE30" value="0x84DE" />
-      <token name="TEXTURE31" value="0x84DF" />
-      <token name="ACTIVE_TEXTURE" value="0x84E0" />
-      <token name="MULTISAMPLE" value="0x809D" />
-      <token name="SAMPLE_ALPHA_TO_COVERAGE" value="0x809E" />
-      <token name="SAMPLE_ALPHA_TO_ONE" value="0x809F" />
-      <token name="SAMPLE_COVERAGE" value="0x80A0" />
-      <token name="SAMPLE_BUFFERS" value="0x80A8" />
-      <token name="SAMPLES" value="0x80A9" />
-      <token name="SAMPLE_COVERAGE_VALUE" value="0x80AA" />
-      <token name="SAMPLE_COVERAGE_INVERT" value="0x80AB" />
-      <token name="TEXTURE_CUBE_MAP" value="0x8513" />
-      <token name="TEXTURE_BINDING_CUBE_MAP" value="0x8514" />
-      <token name="TEXTURE_CUBE_MAP_POSITIVE_X" value="0x8515" />
-      <token name="TEXTURE_CUBE_MAP_NEGATIVE_X" value="0x8516" />
-      <token name="TEXTURE_CUBE_MAP_POSITIVE_Y" value="0x8517" />
-      <token name="TEXTURE_CUBE_MAP_NEGATIVE_Y" value="0x8518" />
-      <token name="TEXTURE_CUBE_MAP_POSITIVE_Z" value="0x8519" />
-      <token name="TEXTURE_CUBE_MAP_NEGATIVE_Z" value="0x851A" />
-      <token name="PROXY_TEXTURE_CUBE_MAP" value="0x851B" />
-      <token name="MAX_CUBE_MAP_TEXTURE_SIZE" value="0x851C" />
-      <token name="COMPRESSED_RGB" value="0x84ED" />
-      <token name="COMPRESSED_RGBA" value="0x84EE" />
-      <token name="TEXTURE_COMPRESSION_HINT" value="0x84EF" />
-      <token name="TEXTURE_COMPRESSED_IMAGE_SIZE" value="0x86A0" />
-      <token name="TEXTURE_COMPRESSED" value="0x86A1" />
-      <token name="NUM_COMPRESSED_TEXTURE_FORMATS" value="0x86A2" />
-      <token name="COMPRESSED_TEXTURE_FORMATS" value="0x86A3" />
-      <token name="CLAMP_TO_BORDER" value="0x812D" />
+  <add name="glcore" version="3.0">
+    <enum name="VERSION_3_0">
+      <token name="COMPARE_REF_TO_TEXTURE" value="0x884E" />
+      <token name="CLIP_DISTANCE0" value="0x3000" />
+      <token name="CLIP_DISTANCE1" value="0x3001" />
+      <token name="CLIP_DISTANCE2" value="0x3002" />
+      <token name="CLIP_DISTANCE3" value="0x3003" />
+      <token name="CLIP_DISTANCE4" value="0x3004" />
+      <token name="CLIP_DISTANCE5" value="0x3005" />
+      <token name="CLIP_DISTANCE6" value="0x3006" />
+      <token name="CLIP_DISTANCE7" value="0x3007" />
+      <token name="MAX_CLIP_DISTANCES" value="0x0D32" />
+      <token name="MAJOR_VERSION" value="0x821B" />
+      <token name="MINOR_VERSION" value="0x821C" />
+      <token name="NUM_EXTENSIONS" value="0x821D" />
+      <token name="CONTEXT_FLAGS" value="0x821E" />
+      <token name="COMPRESSED_RED" value="0x8225" />
+      <token name="COMPRESSED_RG" value="0x8226" />
+      <token name="CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT" value="0x00000001" />
+      <token name="RGBA32F" value="0x8814" />
+      <token name="RGB32F" value="0x8815" />
+      <token name="RGBA16F" value="0x881A" />
+      <token name="RGB16F" value="0x881B" />
+      <token name="VERTEX_ATTRIB_ARRAY_INTEGER" value="0x88FD" />
+      <token name="MAX_ARRAY_TEXTURE_LAYERS" value="0x88FF" />
+      <token name="MIN_PROGRAM_TEXEL_OFFSET" value="0x8904" />
+      <token name="MAX_PROGRAM_TEXEL_OFFSET" value="0x8905" />
+      <token name="CLAMP_READ_COLOR" value="0x891C" />
+      <token name="FIXED_ONLY" value="0x891D" />
+      <token name="MAX_VARYING_COMPONENTS" value="0x8B4B" />
+      <token name="TEXTURE_1D_ARRAY" value="0x8C18" />
+      <token name="PROXY_TEXTURE_1D_ARRAY" value="0x8C19" />
+      <token name="TEXTURE_2D_ARRAY" value="0x8C1A" />
+      <token name="PROXY_TEXTURE_2D_ARRAY" value="0x8C1B" />
+      <token name="TEXTURE_BINDING_1D_ARRAY" value="0x8C1C" />
+      <token name="TEXTURE_BINDING_2D_ARRAY" value="0x8C1D" />
+      <token name="R11F_G11F_B10F" value="0x8C3A" />
+      <token name="UNSIGNED_INT_10F_11F_11F_REV" value="0x8C3B" />
+      <token name="RGB9_E5" value="0x8C3D" />
+      <token name="UNSIGNED_INT_5_9_9_9_REV" value="0x8C3E" />
+      <token name="TEXTURE_SHARED_SIZE" value="0x8C3F" />
+      <token name="TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH" value="0x8C76" />
+      <token name="TRANSFORM_FEEDBACK_BUFFER_MODE" value="0x8C7F" />
+      <token name="MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS" value="0x8C80" />
+      <token name="TRANSFORM_FEEDBACK_VARYINGS" value="0x8C83" />
+      <token name="TRANSFORM_FEEDBACK_BUFFER_START" value="0x8C84" />
+      <token name="TRANSFORM_FEEDBACK_BUFFER_SIZE" value="0x8C85" />
+      <token name="PRIMITIVES_GENERATED" value="0x8C87" />
+      <token name="TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN" value="0x8C88" />
+      <token name="RASTERIZER_DISCARD" value="0x8C89" />
+      <token name="MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS" value="0x8C8A" />
+      <token name="MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS" value="0x8C8B" />
+      <token name="INTERLEAVED_ATTRIBS" value="0x8C8C" />
+      <token name="SEPARATE_ATTRIBS" value="0x8C8D" />
+      <token name="TRANSFORM_FEEDBACK_BUFFER" value="0x8C8E" />
+      <token name="TRANSFORM_FEEDBACK_BUFFER_BINDING" value="0x8C8F" />
+      <token name="RGBA32UI" value="0x8D70" />
+      <token name="RGB32UI" value="0x8D71" />
+      <token name="RGBA16UI" value="0x8D76" />
+      <token name="RGB16UI" value="0x8D77" />
+      <token name="RGBA8UI" value="0x8D7C" />
+      <token name="RGB8UI" value="0x8D7D" />
+      <token name="RGBA32I" value="0x8D82" />
+      <token name="RGB32I" value="0x8D83" />
+      <token name="RGBA16I" value="0x8D88" />
+      <token name="RGB16I" value="0x8D89" />
+      <token name="RGBA8I" value="0x8D8E" />
+      <token name="RGB8I" value="0x8D8F" />
+      <token name="RED_INTEGER" value="0x8D94" />
+      <token name="GREEN_INTEGER" value="0x8D95" />
+      <token name="BLUE_INTEGER" value="0x8D96" />
+      <token name="RGB_INTEGER" value="0x8D98" />
+      <token name="RGBA_INTEGER" value="0x8D99" />
+      <token name="BGR_INTEGER" value="0x8D9A" />
+      <token name="BGRA_INTEGER" value="0x8D9B" />
+      <token name="SAMPLER_1D_ARRAY" value="0x8DC0" />
+      <token name="SAMPLER_2D_ARRAY" value="0x8DC1" />
+      <token name="SAMPLER_1D_ARRAY_SHADOW" value="0x8DC3" />
+      <token name="SAMPLER_2D_ARRAY_SHADOW" value="0x8DC4" />
+      <token name="SAMPLER_CUBE_SHADOW" value="0x8DC5" />
+      <token name="UNSIGNED_INT_VEC2" value="0x8DC6" />
+      <token name="UNSIGNED_INT_VEC3" value="0x8DC7" />
+      <token name="UNSIGNED_INT_VEC4" value="0x8DC8" />
+      <token name="INT_SAMPLER_1D" value="0x8DC9" />
+      <token name="INT_SAMPLER_2D" value="0x8DCA" />
+      <token name="INT_SAMPLER_3D" value="0x8DCB" />
+      <token name="INT_SAMPLER_CUBE" value="0x8DCC" />
+      <token name="INT_SAMPLER_1D_ARRAY" value="0x8DCE" />
+      <token name="INT_SAMPLER_2D_ARRAY" value="0x8DCF" />
+      <token name="UNSIGNED_INT_SAMPLER_1D" value="0x8DD1" />
+      <token name="UNSIGNED_INT_SAMPLER_2D" value="0x8DD2" />
+      <token name="UNSIGNED_INT_SAMPLER_3D" value="0x8DD3" />
+      <token name="UNSIGNED_INT_SAMPLER_CUBE" value="0x8DD4" />
+      <token name="UNSIGNED_INT_SAMPLER_1D_ARRAY" value="0x8DD6" />
+      <token name="UNSIGNED_INT_SAMPLER_2D_ARRAY" value="0x8DD7" />
+      <token name="QUERY_WAIT" value="0x8E13" />
+      <token name="QUERY_NO_WAIT" value="0x8E14" />
+      <token name="QUERY_BY_REGION_WAIT" value="0x8E15" />
+      <token name="QUERY_BY_REGION_NO_WAIT" value="0x8E16" />
+      <token name="BUFFER_ACCESS_FLAGS" value="0x911F" />
+      <token name="BUFFER_MAP_LENGTH" value="0x9120" />
+      <token name="BUFFER_MAP_OFFSET" value="0x9121" />
+      <token name="DEPTH_COMPONENT32F" value="0x8CAC" />
+      <token name="DEPTH32F_STENCIL8" value="0x8CAD" />
+      <token name="FLOAT_32_UNSIGNED_INT_24_8_REV" value="0x8DAD" />
+      <token name="INVALID_FRAMEBUFFER_OPERATION" value="0x0506" />
+      <token name="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING" value="0x8210" />
+      <token name="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE" value="0x8211" />
+      <token name="FRAMEBUFFER_ATTACHMENT_RED_SIZE" value="0x8212" />
+      <token name="FRAMEBUFFER_ATTACHMENT_GREEN_SIZE" value="0x8213" />
+      <token name="FRAMEBUFFER_ATTACHMENT_BLUE_SIZE" value="0x8214" />
+      <token name="FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE" value="0x8215" />
+      <token name="FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE" value="0x8216" />
+      <token name="FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE" value="0x8217" />
+      <token name="FRAMEBUFFER_DEFAULT" value="0x8218" />
+      <token name="FRAMEBUFFER_UNDEFINED" value="0x8219" />
+      <token name="DEPTH_STENCIL_ATTACHMENT" value="0x821A" />
+      <token name="MAX_RENDERBUFFER_SIZE" value="0x84E8" />
+      <token name="DEPTH_STENCIL" value="0x84F9" />
+      <token name="UNSIGNED_INT_24_8" value="0x84FA" />
+      <token name="DEPTH24_STENCIL8" value="0x88F0" />
+      <token name="TEXTURE_STENCIL_SIZE" value="0x88F1" />
+      <token name="TEXTURE_RED_TYPE" value="0x8C10" />
+      <token name="TEXTURE_GREEN_TYPE" value="0x8C11" />
+      <token name="TEXTURE_BLUE_TYPE" value="0x8C12" />
+      <token name="TEXTURE_ALPHA_TYPE" value="0x8C13" />
+      <token name="TEXTURE_DEPTH_TYPE" value="0x8C16" />
+      <token name="UNSIGNED_NORMALIZED" value="0x8C17" />
+      <token name="FRAMEBUFFER_BINDING" value="0x8CA6" />
+      <token name="DRAW_FRAMEBUFFER_BINDING" value="0x8CA6" />
+      <token name="RENDERBUFFER_BINDING" value="0x8CA7" />
+      <token name="READ_FRAMEBUFFER" value="0x8CA8" />
+      <token name="DRAW_FRAMEBUFFER" value="0x8CA9" />
+      <token name="READ_FRAMEBUFFER_BINDING" value="0x8CAA" />
+      <token name="RENDERBUFFER_SAMPLES" value="0x8CAB" />
+      <token name="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE" value="0x8CD0" />
+      <token name="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME" value="0x8CD1" />
+      <token name="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL" value="0x8CD2" />
+      <token name="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE" value="0x8CD3" />
+      <token name="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER" value="0x8CD4" />
+      <token name="FRAMEBUFFER_COMPLETE" value="0x8CD5" />
+      <token name="FRAMEBUFFER_INCOMPLETE_ATTACHMENT" value="0x8CD6" />
+      <token name="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT" value="0x8CD7" />
+      <token name="FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER" value="0x8CDB" />
+      <token name="FRAMEBUFFER_INCOMPLETE_READ_BUFFER" value="0x8CDC" />
+      <token name="FRAMEBUFFER_UNSUPPORTED" value="0x8CDD" />
+      <token name="MAX_COLOR_ATTACHMENTS" value="0x8CDF" />
+      <token name="COLOR_ATTACHMENT0" value="0x8CE0" />
+      <token name="COLOR_ATTACHMENT1" value="0x8CE1" />
+      <token name="COLOR_ATTACHMENT2" value="0x8CE2" />
+      <token name="COLOR_ATTACHMENT3" value="0x8CE3" />
+      <token name="COLOR_ATTACHMENT4" value="0x8CE4" />
+      <token name="COLOR_ATTACHMENT5" value="0x8CE5" />
+      <token name="COLOR_ATTACHMENT6" value="0x8CE6" />
+      <token name="COLOR_ATTACHMENT7" value="0x8CE7" />
+      <token name="COLOR_ATTACHMENT8" value="0x8CE8" />
+      <token name="COLOR_ATTACHMENT9" value="0x8CE9" />
+      <token name="COLOR_ATTACHMENT10" value="0x8CEA" />
+      <token name="COLOR_ATTACHMENT11" value="0x8CEB" />
+      <token name="COLOR_ATTACHMENT12" value="0x8CEC" />
+      <token name="COLOR_ATTACHMENT13" value="0x8CED" />
+      <token name="COLOR_ATTACHMENT14" value="0x8CEE" />
+      <token name="COLOR_ATTACHMENT15" value="0x8CEF" />
+      <token name="DEPTH_ATTACHMENT" value="0x8D00" />
+      <token name="STENCIL_ATTACHMENT" value="0x8D20" />
+      <token name="FRAMEBUFFER" value="0x8D40" />
+      <token name="RENDERBUFFER" value="0x8D41" />
+      <token name="RENDERBUFFER_WIDTH" value="0x8D42" />
+      <token name="RENDERBUFFER_HEIGHT" value="0x8D43" />
+      <token name="RENDERBUFFER_INTERNAL_FORMAT" value="0x8D44" />
+      <token name="STENCIL_INDEX1" value="0x8D46" />
+      <token name="STENCIL_INDEX4" value="0x8D47" />
+      <token name="STENCIL_INDEX8" value="0x8D48" />
+      <token name="STENCIL_INDEX16" value="0x8D49" />
+      <token name="RENDERBUFFER_RED_SIZE" value="0x8D50" />
+      <token name="RENDERBUFFER_GREEN_SIZE" value="0x8D51" />
+      <token name="RENDERBUFFER_BLUE_SIZE" value="0x8D52" />
+      <token name="RENDERBUFFER_ALPHA_SIZE" value="0x8D53" />
+      <token name="RENDERBUFFER_DEPTH_SIZE" value="0x8D54" />
+      <token name="RENDERBUFFER_STENCIL_SIZE" value="0x8D55" />
+      <token name="FRAMEBUFFER_INCOMPLETE_MULTISAMPLE" value="0x8D56" />
+      <token name="MAX_SAMPLES" value="0x8D57" />
+      <token name="INDEX" value="0x8222" />
+      <token name="FRAMEBUFFER_SRGB" value="0x8DB9" />
+      <token name="HALF_FLOAT" value="0x140B" />
+      <token name="MAP_READ_BIT" value="0x0001" />
+      <token name="MAP_WRITE_BIT" value="0x0002" />
+      <token name="MAP_INVALIDATE_RANGE_BIT" value="0x0004" />
+      <token name="MAP_INVALIDATE_BUFFER_BIT" value="0x0008" />
+      <token name="MAP_FLUSH_EXPLICIT_BIT" value="0x0010" />
+      <token name="MAP_UNSYNCHRONIZED_BIT" value="0x0020" />
+      <token name="COMPRESSED_RED_RGTC1" value="0x8DBB" />
+      <token name="COMPRESSED_SIGNED_RED_RGTC1" value="0x8DBC" />
+      <token name="COMPRESSED_RG_RGTC2" value="0x8DBD" />
+      <token name="COMPRESSED_SIGNED_RG_RGTC2" value="0x8DBE" />
+      <token name="RG" value="0x8227" />
+      <token name="RG_INTEGER" value="0x8228" />
+      <token name="R8" value="0x8229" />
+      <token name="R16" value="0x822A" />
+      <token name="RG8" value="0x822B" />
+      <token name="RG16" value="0x822C" />
+      <token name="R16F" value="0x822D" />
+      <token name="R32F" value="0x822E" />
+      <token name="RG16F" value="0x822F" />
+      <token name="RG32F" value="0x8230" />
+      <token name="R8I" value="0x8231" />
+      <token name="R8UI" value="0x8232" />
+      <token name="R16I" value="0x8233" />
+      <token name="R16UI" value="0x8234" />
+      <token name="R32I" value="0x8235" />
+      <token name="R32UI" value="0x8236" />
+      <token name="RG8I" value="0x8237" />
+      <token name="RG8UI" value="0x8238" />
+      <token name="RG16I" value="0x8239" />
+      <token name="RG16UI" value="0x823A" />
+      <token name="RG32I" value="0x823B" />
+      <token name="RG32UI" value="0x823C" />
+      <token name="VERTEX_ARRAY_BINDING" value="0x85B5" />
     </enum>
-    <function name="ActiveTexture" category="VERSION_1_3" extension="Core" version="1.3">
-      <param name="texture" type="TextureUnit" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="CompressedTexImage1D" category="VERSION_1_3" extension="Core" version="1.3">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="internalformat" type="PixelInternalFormat" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="border" type="CheckedInt32" flow="in" />
-      <param name="imageSize" type="GLsizei" flow="in" />
-      <param name="data" type="CompressedTextureARB *" flow="in" count="imageSize" />
-      <returns type="void" />
-    </function>
-    <function name="CompressedTexImage2D" category="VERSION_1_3" extension="Core" version="1.3">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="internalformat" type="PixelInternalFormat" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
-      <param name="border" type="CheckedInt32" flow="in" />
-      <param name="imageSize" type="GLsizei" flow="in" />
-      <param name="data" type="CompressedTextureARB *" flow="in" count="imageSize" />
-      <returns type="void" />
-    </function>
-    <function name="CompressedTexImage3D" category="VERSION_1_3" extension="Core" version="1.3">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="internalformat" type="PixelInternalFormat" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
-      <param name="depth" type="GLsizei" flow="in" />
-      <param name="border" type="CheckedInt32" flow="in" />
-      <param name="imageSize" type="GLsizei" flow="in" />
-      <param name="data" type="CompressedTextureARB *" flow="in" count="imageSize" />
-      <returns type="void" />
-    </function>
-    <function name="CompressedTexSubImage1D" category="VERSION_1_3" extension="Core" version="1.3">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="xoffset" type="CheckedInt32" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="imageSize" type="GLsizei" flow="in" />
-      <param name="data" type="CompressedTextureARB *" flow="in" count="imageSize" />
-      <returns type="void" />
-    </function>
-    <function name="CompressedTexSubImage2D" category="VERSION_1_3" extension="Core" version="1.3">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="xoffset" type="CheckedInt32" flow="in" />
-      <param name="yoffset" type="CheckedInt32" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="imageSize" type="GLsizei" flow="in" />
-      <param name="data" type="CompressedTextureARB *" flow="in" count="imageSize" />
-      <returns type="void" />
-    </function>
-    <function name="CompressedTexSubImage3D" category="VERSION_1_3" extension="Core" version="1.3">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="xoffset" type="CheckedInt32" flow="in" />
-      <param name="yoffset" type="CheckedInt32" flow="in" />
-      <param name="zoffset" type="CheckedInt32" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
-      <param name="depth" type="GLsizei" flow="in" />
-      <param name="format" type="PixelFormat" flow="in" />
-      <param name="imageSize" type="GLsizei" flow="in" />
-      <param name="data" type="CompressedTextureARB *" flow="in" count="imageSize" />
-      <returns type="void" />
-    </function>
-    <function name="GetCompressedTexImage" category="VERSION_1_3" extension="Core" version="1.3">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="img" type="CompressedTextureARB *" flow="out" count="COMPSIZE(target,level)" />
+    <function name="BeginConditionalRender" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="id" type="GLuint" flow="in" />
+      <param name="mode" type="TypeEnum" flow="in" />
       <returns type="void" />
     </function>
-    <function name="SampleCoverage" category="VERSION_1_3" extension="Core" version="1.3">
-      <param name="value" type="GLfloat" flow="in" />
-      <param name="invert" type="Boolean" flow="in" />
+    <function name="BeginTransformFeedback" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="primitiveMode" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
-  </add>
-  <add name="glcore" version="1.4">
-    <enum name="VERSION_1_4">
-      <token name="BLEND_DST_RGB" value="0x80C8" />
-      <token name="BLEND_SRC_RGB" value="0x80C9" />
-      <token name="BLEND_DST_ALPHA" value="0x80CA" />
-      <token name="BLEND_SRC_ALPHA" value="0x80CB" />
-      <token name="POINT_FADE_THRESHOLD_SIZE" value="0x8128" />
-      <token name="DEPTH_COMPONENT16" value="0x81A5" />
-      <token name="DEPTH_COMPONENT24" value="0x81A6" />
-      <token name="DEPTH_COMPONENT32" value="0x81A7" />
-      <token name="MIRRORED_REPEAT" value="0x8370" />
-      <token name="MAX_TEXTURE_LOD_BIAS" value="0x84FD" />
-      <token name="TEXTURE_LOD_BIAS" value="0x8501" />
-      <token name="INCR_WRAP" value="0x8507" />
-      <token name="DECR_WRAP" value="0x8508" />
-      <token name="TEXTURE_DEPTH_SIZE" value="0x884A" />
-      <token name="TEXTURE_COMPARE_MODE" value="0x884C" />
-      <token name="TEXTURE_COMPARE_FUNC" value="0x884D" />
-      <token name="FUNC_ADD" value="0x8006" />
-      <token name="FUNC_SUBTRACT" value="0x800A" />
-      <token name="FUNC_REVERSE_SUBTRACT" value="0x800B" />
-      <token name="MIN" value="0x8007" />
-      <token name="MAX" value="0x8008" />
-      <token name="CONSTANT_COLOR" value="0x8001" />
-      <token name="ONE_MINUS_CONSTANT_COLOR" value="0x8002" />
-      <token name="CONSTANT_ALPHA" value="0x8003" />
-      <token name="ONE_MINUS_CONSTANT_ALPHA" value="0x8004" />
-    </enum>
-    <function name="BlendColor" category="VERSION_1_4" extension="Core" version="1.4">
-      <param name="red" type="ColorF" flow="in" />
-      <param name="green" type="ColorF" flow="in" />
-      <param name="blue" type="ColorF" flow="in" />
-      <param name="alpha" type="ColorF" flow="in" />
+    <function name="BindBufferBase" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="BlendEquation" category="VERSION_1_4" extension="Core" version="1.4">
-      <param name="mode" type="BlendEquationMode" flow="in" />
+    <function name="BindBufferRange" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="BufferOffset" flow="in" />
+      <param name="size" type="BufferSize" flow="in" />
       <returns type="void" />
     </function>
-    <function name="BlendFuncSeparate" category="VERSION_1_4" extension="Core" version="1.4">
-      <param name="sfactorRGB" type="BlendFuncSeparateParameterEXT" flow="in" />
-      <param name="dfactorRGB" type="BlendFuncSeparateParameterEXT" flow="in" />
-      <param name="sfactorAlpha" type="BlendFuncSeparateParameterEXT" flow="in" />
-      <param name="dfactorAlpha" type="BlendFuncSeparateParameterEXT" flow="in" />
+    <function name="BindFragDataLocation" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="color" type="GLuint" flow="in" />
+      <param name="name" type="GLchar *" flow="in" count="COMPSIZE(name)" />
       <returns type="void" />
     </function>
-    <function name="MultiDrawArrays" category="VERSION_1_4" extension="Core" version="1.4">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="first" type="GLint *" flow="in" count="COMPSIZE(count)" />
-      <param name="count" type="GLsizei *" flow="in" count="COMPSIZE(drawcount)" />
-      <param name="drawcount" type="GLsizei" flow="in" />
+    <function name="BindFramebuffer" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="FramebufferTarget" flow="in" />
+      <param name="framebuffer" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="MultiDrawElements" category="VERSION_1_4" extension="Core" version="1.4">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="count" type="GLsizei *" flow="in" count="COMPSIZE(drawcount)" />
-      <param name="type" type="DrawElementsType" flow="in" />
-      <param name="indices" type="void **" flow="in" count="COMPSIZE(drawcount)" />
-      <param name="drawcount" type="GLsizei" flow="in" />
+    <function name="BindRenderbuffer" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="RenderbufferTarget" flow="in" />
+      <param name="renderbuffer" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="PointParameterf" category="VERSION_1_4" extension="Core" version="1.4">
-      <param name="pname" type="PointParameterNameARB" flow="in" />
-      <param name="param" type="CheckedFloat32" flow="in" />
+    <function name="BindVertexArray" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="array" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="PointParameterfv" category="VERSION_1_4" extension="Core" version="1.4">
-      <param name="pname" type="PointParameterNameARB" flow="in" />
-      <param name="params" type="CheckedFloat32 *" flow="in" count="COMPSIZE(pname)" />
+    <function name="BlitFramebuffer" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="srcX0" type="GLint" flow="in" />
+      <param name="srcY0" type="GLint" flow="in" />
+      <param name="srcX1" type="GLint" flow="in" />
+      <param name="srcY1" type="GLint" flow="in" />
+      <param name="dstX0" type="GLint" flow="in" />
+      <param name="dstY0" type="GLint" flow="in" />
+      <param name="dstX1" type="GLint" flow="in" />
+      <param name="dstY1" type="GLint" flow="in" />
+      <param name="mask" type="ClearBufferMask" flow="in" />
+      <param name="filter" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
-    <function name="PointParameteri" category="VERSION_1_4" extension="Core" version="1.4">
-      <param name="pname" type="PointParameterNameARB" flow="in" />
-      <param name="param" type="GLint" flow="in" />
-      <returns type="void" />
+    <function name="CheckFramebufferStatus" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="FramebufferTarget" flow="in" />
+      <returns type="GLenum" />
     </function>
-    <function name="PointParameteriv" category="VERSION_1_4" extension="Core" version="1.4">
-      <param name="pname" type="PointParameterNameARB" flow="in" />
-      <param name="params" type="GLint *" flow="in" count="COMPSIZE(pname)" />
+    <function name="ClampColor" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="ClampColorTargetARB" flow="in" />
+      <param name="clamp" type="ClampColorModeARB" flow="in" />
       <returns type="void" />
     </function>
-  </add>
-  <add name="glcore" version="1.5">
-    <enum name="VERSION_1_5">
-      <token name="BUFFER_SIZE" value="0x8764" />
-      <token name="BUFFER_USAGE" value="0x8765" />
-      <token name="QUERY_COUNTER_BITS" value="0x8864" />
-      <token name="CURRENT_QUERY" value="0x8865" />
-      <token name="QUERY_RESULT" value="0x8866" />
-      <token name="QUERY_RESULT_AVAILABLE" value="0x8867" />
-      <token name="ARRAY_BUFFER" value="0x8892" />
-      <token name="ELEMENT_ARRAY_BUFFER" value="0x8893" />
-      <token name="ARRAY_BUFFER_BINDING" value="0x8894" />
-      <token name="ELEMENT_ARRAY_BUFFER_BINDING" value="0x8895" />
-      <token name="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING" value="0x889F" />
-      <token name="READ_ONLY" value="0x88B8" />
-      <token name="WRITE_ONLY" value="0x88B9" />
-      <token name="READ_WRITE" value="0x88BA" />
-      <token name="BUFFER_ACCESS" value="0x88BB" />
-      <token name="BUFFER_MAPPED" value="0x88BC" />
-      <token name="BUFFER_MAP_POINTER" value="0x88BD" />
-      <token name="STREAM_DRAW" value="0x88E0" />
-      <token name="STREAM_READ" value="0x88E1" />
-      <token name="STREAM_COPY" value="0x88E2" />
-      <token name="STATIC_DRAW" value="0x88E4" />
-      <token name="STATIC_READ" value="0x88E5" />
-      <token name="STATIC_COPY" value="0x88E6" />
-      <token name="DYNAMIC_DRAW" value="0x88E8" />
-      <token name="DYNAMIC_READ" value="0x88E9" />
-      <token name="DYNAMIC_COPY" value="0x88EA" />
-      <token name="SAMPLES_PASSED" value="0x8914" />
-      <token name="SRC1_ALPHA" value="0x8589" />
-    </enum>
-    <function name="BeginQuery" category="VERSION_1_5" extension="Core" version="1.5">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="id" type="GLuint" flow="in" />
+    <function name="ClearBufferfi" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="drawbuffer" type="DrawBufferName" flow="in" />
+      <param name="depth" type="GLfloat" flow="in" />
+      <param name="stencil" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="BindBuffer" category="VERSION_1_5" extension="Core" version="1.5">
-      <param name="target" type="BufferTargetARB" flow="in" />
-      <param name="buffer" type="GLuint" flow="in" />
+    <function name="ClearBufferfv" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="drawbuffer" type="DrawBufferName" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="COMPSIZE(buffer)" />
       <returns type="void" />
     </function>
-    <function name="BufferData" category="VERSION_1_5" extension="Core" version="1.5">
-      <param name="target" type="BufferTargetARB" flow="in" />
-      <param name="size" type="BufferSize" flow="in" />
-      <param name="data" type="void *" flow="in" count="size" />
-      <param name="usage" type="BufferUsageARB" flow="in" />
+    <function name="ClearBufferiv" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="drawbuffer" type="DrawBufferName" flow="in" />
+      <param name="value" type="GLint *" flow="in" count="COMPSIZE(buffer)" />
       <returns type="void" />
     </function>
-    <function name="BufferSubData" category="VERSION_1_5" extension="Core" version="1.5">
-      <param name="target" type="BufferTargetARB" flow="in" />
-      <param name="offset" type="BufferOffset" flow="in" />
-      <param name="size" type="BufferSize" flow="in" />
-      <param name="data" type="void *" flow="in" count="size" />
+    <function name="ClearBufferuiv" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="drawbuffer" type="DrawBufferName" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="COMPSIZE(buffer)" />
       <returns type="void" />
     </function>
-    <function name="DeleteBuffers" category="VERSION_1_5" extension="Core" version="1.5">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="buffers" type="GLuint *" flow="in" count="n" />
+    <function name="ColorMaski" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="r" type="Boolean" flow="in" />
+      <param name="g" type="Boolean" flow="in" />
+      <param name="b" type="Boolean" flow="in" />
+      <param name="a" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DeleteQueries" category="VERSION_1_5" extension="Core" version="1.5">
+    <function name="DeleteFramebuffers" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="n" type="GLsizei" flow="in" />
-      <param name="ids" type="GLuint *" flow="in" count="n" />
-      <returns type="void" />
-    </function>
-    <function name="EndQuery" category="VERSION_1_5" extension="Core" version="1.5">
-      <param name="target" type="GLenum" flow="in" />
+      <param name="framebuffers" type="GLuint *" flow="in" count="n" />
       <returns type="void" />
     </function>
-    <function name="GenBuffers" category="VERSION_1_5" extension="Core" version="1.5">
+    <function name="DeleteRenderbuffers" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="n" type="GLsizei" flow="in" />
-      <param name="buffers" type="GLuint *" flow="out" count="n" />
+      <param name="renderbuffers" type="GLuint *" flow="in" count="n" />
       <returns type="void" />
     </function>
-    <function name="GenQueries" category="VERSION_1_5" extension="Core" version="1.5">
+    <function name="DeleteVertexArrays" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="n" type="GLsizei" flow="in" />
-      <param name="ids" type="GLuint *" flow="out" count="n" />
-      <returns type="void" />
-    </function>
-    <function name="GetBufferParameteriv" category="VERSION_1_5" extension="Core" version="1.5">
-      <param name="target" type="BufferTargetARB" flow="in" />
-      <param name="pname" type="BufferPNameARB" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
-      <returns type="void" />
-    </function>
-    <function name="GetBufferPointerv" category="VERSION_1_5" extension="Core" version="1.5">
-      <param name="target" type="BufferTargetARB" flow="in" />
-      <param name="pname" type="BufferPointerNameARB" flow="in" />
-      <param name="params" type="void **" flow="out" count="1" />
+      <param name="arrays" type="GLuint *" flow="in" count="n" />
       <returns type="void" />
     </function>
-    <function name="GetBufferSubData" category="VERSION_1_5" extension="Core" version="1.5">
-      <param name="target" type="BufferTargetARB" flow="in" />
-      <param name="offset" type="BufferOffset" flow="in" />
-      <param name="size" type="BufferSize" flow="in" />
-      <param name="data" type="void *" flow="out" count="size" />
+    <function name="Disablei" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetQueryiv" category="VERSION_1_5" extension="Core" version="1.5">
+    <function name="Enablei" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="target" type="GLenum" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <param name="index" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetQueryObjectiv" category="VERSION_1_5" extension="Core" version="1.5">
-      <param name="id" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="EndConditionalRender" category="VERSION_3_0" extension="Core" version="3.0">
       <returns type="void" />
     </function>
-    <function name="GetQueryObjectuiv" category="VERSION_1_5" extension="Core" version="1.5">
-      <param name="id" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLuint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="EndTransformFeedback" category="VERSION_3_0" extension="Core" version="3.0">
       <returns type="void" />
     </function>
-    <function name="IsBuffer" category="VERSION_1_5" extension="Core" version="1.5">
-      <param name="buffer" type="GLuint" flow="in" />
-      <returns type="Boolean" />
-    </function>
-    <function name="IsQuery" category="VERSION_1_5" extension="Core" version="1.5">
-      <param name="id" type="GLuint" flow="in" />
-      <returns type="Boolean" />
-    </function>
-    <function name="MapBuffer" category="VERSION_1_5" extension="Core" version="1.5">
-      <param name="target" type="BufferTargetARB" flow="in" />
-      <param name="access" type="BufferAccessARB" flow="in" />
-      <returns type="void *" />
-    </function>
-    <function name="UnmapBuffer" category="VERSION_1_5" extension="Core" version="1.5">
+    <function name="FlushMappedBufferRange" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="target" type="BufferTargetARB" flow="in" />
-      <returns type="Boolean" />
-    </function>
-  </add>
-  <add name="glcore" version="2.0">
-    <enum name="VERSION_2_0">
-      <token name="BLEND_EQUATION_RGB" value="0x8009" />
-      <token name="VERTEX_ATTRIB_ARRAY_ENABLED" value="0x8622" />
-      <token name="VERTEX_ATTRIB_ARRAY_SIZE" value="0x8623" />
-      <token name="VERTEX_ATTRIB_ARRAY_STRIDE" value="0x8624" />
-      <token name="VERTEX_ATTRIB_ARRAY_TYPE" value="0x8625" />
-      <token name="CURRENT_VERTEX_ATTRIB" value="0x8626" />
-      <token name="VERTEX_PROGRAM_POINT_SIZE" value="0x8642" />
-      <token name="VERTEX_ATTRIB_ARRAY_POINTER" value="0x8645" />
-      <token name="STENCIL_BACK_FUNC" value="0x8800" />
-      <token name="STENCIL_BACK_FAIL" value="0x8801" />
-      <token name="STENCIL_BACK_PASS_DEPTH_FAIL" value="0x8802" />
-      <token name="STENCIL_BACK_PASS_DEPTH_PASS" value="0x8803" />
-      <token name="MAX_DRAW_BUFFERS" value="0x8824" />
-      <token name="DRAW_BUFFER0" value="0x8825" />
-      <token name="DRAW_BUFFER1" value="0x8826" />
-      <token name="DRAW_BUFFER2" value="0x8827" />
-      <token name="DRAW_BUFFER3" value="0x8828" />
-      <token name="DRAW_BUFFER4" value="0x8829" />
-      <token name="DRAW_BUFFER5" value="0x882A" />
-      <token name="DRAW_BUFFER6" value="0x882B" />
-      <token name="DRAW_BUFFER7" value="0x882C" />
-      <token name="DRAW_BUFFER8" value="0x882D" />
-      <token name="DRAW_BUFFER9" value="0x882E" />
-      <token name="DRAW_BUFFER10" value="0x882F" />
-      <token name="DRAW_BUFFER11" value="0x8830" />
-      <token name="DRAW_BUFFER12" value="0x8831" />
-      <token name="DRAW_BUFFER13" value="0x8832" />
-      <token name="DRAW_BUFFER14" value="0x8833" />
-      <token name="DRAW_BUFFER15" value="0x8834" />
-      <token name="BLEND_EQUATION_ALPHA" value="0x883D" />
-      <token name="MAX_VERTEX_ATTRIBS" value="0x8869" />
-      <token name="VERTEX_ATTRIB_ARRAY_NORMALIZED" value="0x886A" />
-      <token name="MAX_TEXTURE_IMAGE_UNITS" value="0x8872" />
-      <token name="FRAGMENT_SHADER" value="0x8B30" />
-      <token name="VERTEX_SHADER" value="0x8B31" />
-      <token name="MAX_FRAGMENT_UNIFORM_COMPONENTS" value="0x8B49" />
-      <token name="MAX_VERTEX_UNIFORM_COMPONENTS" value="0x8B4A" />
-      <token name="MAX_VARYING_FLOATS" value="0x8B4B" />
-      <token name="MAX_VERTEX_TEXTURE_IMAGE_UNITS" value="0x8B4C" />
-      <token name="MAX_COMBINED_TEXTURE_IMAGE_UNITS" value="0x8B4D" />
-      <token name="SHADER_TYPE" value="0x8B4F" />
-      <token name="FLOAT_VEC2" value="0x8B50" />
-      <token name="FLOAT_VEC3" value="0x8B51" />
-      <token name="FLOAT_VEC4" value="0x8B52" />
-      <token name="INT_VEC2" value="0x8B53" />
-      <token name="INT_VEC3" value="0x8B54" />
-      <token name="INT_VEC4" value="0x8B55" />
-      <token name="BOOL" value="0x8B56" />
-      <token name="BOOL_VEC2" value="0x8B57" />
-      <token name="BOOL_VEC3" value="0x8B58" />
-      <token name="BOOL_VEC4" value="0x8B59" />
-      <token name="FLOAT_MAT2" value="0x8B5A" />
-      <token name="FLOAT_MAT3" value="0x8B5B" />
-      <token name="FLOAT_MAT4" value="0x8B5C" />
-      <token name="SAMPLER_1D" value="0x8B5D" />
-      <token name="SAMPLER_2D" value="0x8B5E" />
-      <token name="SAMPLER_3D" value="0x8B5F" />
-      <token name="SAMPLER_CUBE" value="0x8B60" />
-      <token name="SAMPLER_1D_SHADOW" value="0x8B61" />
-      <token name="SAMPLER_2D_SHADOW" value="0x8B62" />
-      <token name="DELETE_STATUS" value="0x8B80" />
-      <token name="COMPILE_STATUS" value="0x8B81" />
-      <token name="LINK_STATUS" value="0x8B82" />
-      <token name="VALIDATE_STATUS" value="0x8B83" />
-      <token name="INFO_LOG_LENGTH" value="0x8B84" />
-      <token name="ATTACHED_SHADERS" value="0x8B85" />
-      <token name="ACTIVE_UNIFORMS" value="0x8B86" />
-      <token name="ACTIVE_UNIFORM_MAX_LENGTH" value="0x8B87" />
-      <token name="SHADER_SOURCE_LENGTH" value="0x8B88" />
-      <token name="ACTIVE_ATTRIBUTES" value="0x8B89" />
-      <token name="ACTIVE_ATTRIBUTE_MAX_LENGTH" value="0x8B8A" />
-      <token name="FRAGMENT_SHADER_DERIVATIVE_HINT" value="0x8B8B" />
-      <token name="SHADING_LANGUAGE_VERSION" value="0x8B8C" />
-      <token name="CURRENT_PROGRAM" value="0x8B8D" />
-      <token name="POINT_SPRITE_COORD_ORIGIN" value="0x8CA0" />
-      <token name="LOWER_LEFT" value="0x8CA1" />
-      <token name="UPPER_LEFT" value="0x8CA2" />
-      <token name="STENCIL_BACK_REF" value="0x8CA3" />
-      <token name="STENCIL_BACK_VALUE_MASK" value="0x8CA4" />
-      <token name="STENCIL_BACK_WRITEMASK" value="0x8CA5" />
-    </enum>
-    <function name="AttachShader" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="shader" type="GLuint" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="BindAttribLocation" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="name" type="GLchar *" flow="in" />
+      <param name="offset" type="BufferOffset" flow="in" />
+      <param name="length" type="BufferSize" flow="in" />
       <returns type="void" />
     </function>
-    <function name="BlendEquationSeparate" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="modeRGB" type="BlendEquationModeEXT" flow="in" />
-      <param name="modeAlpha" type="BlendEquationModeEXT" flow="in" />
+    <function name="FramebufferRenderbuffer" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="FramebufferTarget" flow="in" />
+      <param name="attachment" type="FramebufferAttachment" flow="in" />
+      <param name="renderbuffertarget" type="RenderbufferTarget" flow="in" />
+      <param name="renderbuffer" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="CompileShader" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="shader" type="GLuint" flow="in" />
+    <function name="FramebufferTexture1D" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="FramebufferTarget" flow="in" />
+      <param name="attachment" type="FramebufferAttachment" flow="in" />
+      <param name="textarget" type="GLenum" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="CreateProgram" category="VERSION_2_0" extension="Core" version="2.0">
-      <returns type="GLuint" />
-    </function>
-    <function name="CreateShader" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="type" type="GLenum" flow="in" />
-      <returns type="GLuint" />
-    </function>
-    <function name="DeleteProgram" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="program" type="GLuint" flow="in" />
+    <function name="FramebufferTexture2D" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="FramebufferTarget" flow="in" />
+      <param name="attachment" type="FramebufferAttachment" flow="in" />
+      <param name="textarget" type="GLenum" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DeleteShader" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="shader" type="GLuint" flow="in" />
+    <function name="FramebufferTexture3D" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="FramebufferTarget" flow="in" />
+      <param name="attachment" type="FramebufferAttachment" flow="in" />
+      <param name="textarget" type="GLenum" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DetachShader" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="shader" type="GLuint" flow="in" />
+    <function name="FramebufferTextureLayer" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="FramebufferTarget" flow="in" />
+      <param name="attachment" type="FramebufferAttachment" flow="in" />
+      <param name="texture" type="Texture" flow="in" />
+      <param name="level" type="CheckedInt32" flow="in" />
+      <param name="layer" type="CheckedInt32" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DisableVertexAttribArray" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
+    <function name="GenerateMipmap" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DrawBuffers" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="GenFramebuffers" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="n" type="GLsizei" flow="in" />
-      <param name="bufs" type="DrawBufferModeATI *" flow="in" count="n" />
+      <param name="framebuffers" type="GLuint *" flow="out" count="n" />
       <returns type="void" />
     </function>
-    <function name="EnableVertexAttribArray" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
+    <function name="GenRenderbuffers" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="renderbuffers" type="GLuint *" flow="out" count="n" />
       <returns type="void" />
     </function>
-    <function name="GetActiveAttrib" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="size" type="GLint *" flow="out" count="1" />
-      <param name="type" type="GLenum *" flow="out" count="1" />
-      <param name="name" type="GLchar *" flow="out" count="bufSize" />
+    <function name="GenVertexArrays" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="arrays" type="GLuint *" flow="out" count="n" />
       <returns type="void" />
     </function>
-    <function name="GetActiveUniform" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="program" type="GLuint" flow="in" />
+    <function name="GetBooleani_v" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="GLenum" flow="in" />
       <param name="index" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="size" type="GLint *" flow="out" count="1" />
-      <param name="type" type="GLenum *" flow="out" count="1" />
-      <param name="name" type="GLchar *" flow="out" count="bufSize" />
-      <returns type="void" />
-    </function>
-    <function name="GetAttachedShaders" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="maxCount" type="GLsizei" flow="in" />
-      <param name="count" type="GLsizei *" flow="out" count="1" />
-      <param name="shaders" type="GLuint *" flow="out" count="maxCount" />
+      <param name="data" type="Boolean *" flow="out" count="COMPSIZE(target)" />
       <returns type="void" />
     </function>
-    <function name="GetAttribLocation" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="GetFragDataLocation" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="program" type="GLuint" flow="in" />
-      <param name="name" type="GLchar *" flow="in" />
+      <param name="name" type="GLchar *" flow="in" count="COMPSIZE(name)" />
       <returns type="GLint" />
     </function>
-    <function name="GetProgramInfoLog" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="infoLog" type="GLchar *" flow="out" count="bufSize" />
-      <returns type="void" />
-    </function>
-    <function name="GetProgramiv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="program" type="GLuint" flow="in" />
+    <function name="GetFramebufferAttachmentParameteriv" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="FramebufferTarget" flow="in" />
+      <param name="attachment" type="FramebufferAttachment" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
       <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="GetShaderInfoLog" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="shader" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="infoLog" type="GLchar *" flow="out" count="bufSize" />
+    <function name="GetIntegeri_v" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="data" type="GLint *" flow="out" count="COMPSIZE(target)" />
       <returns type="void" />
     </function>
-    <function name="GetShaderiv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="shader" type="GLuint" flow="in" />
+    <function name="GetRenderbufferParameteriv" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="RenderbufferTarget" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
       <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="GetShaderSource" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="shader" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="source" type="GLchar *" flow="out" count="bufSize" />
-      <returns type="void" />
+    <function name="GetStringi" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="name" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <returns type="String" />
     </function>
-    <function name="GetUniformfv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(program, location)" />
+    <function name="GetTexParameterIiv" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="pname" type="GetTextureParameter" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="GetUniformiv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(program, location)" />
+    <function name="GetTexParameterIuiv" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="pname" type="GetTextureParameter" flow="in" />
+      <param name="params" type="GLuint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="GetUniformLocation" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="GetTransformFeedbackVarying" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="program" type="GLuint" flow="in" />
-      <param name="name" type="GLchar *" flow="in" />
-      <returns type="GLint" />
-    </function>
-    <function name="GetVertexAttribdv" category="VERSION_2_0" extension="Core" version="2.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="pname" type="VertexAttribPropertyARB" flow="in" />
-      <param name="params" type="GLdouble *" flow="out" count="4" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="size" type="GLsizei *" flow="out" count="1" />
+      <param name="type" type="GLenum *" flow="out" count="1" />
+      <param name="name" type="GLchar *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="GetVertexAttribfv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="pname" type="VertexAttribPropertyARB" flow="in" />
-      <param name="params" type="GLfloat *" flow="out" count="4" />
+    <function name="GetUniformuiv" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="params" type="GLuint *" flow="out" count="COMPSIZE(program,location)" />
       <returns type="void" />
     </function>
-    <function name="GetVertexAttribiv" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="GetVertexAttribIiv" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="pname" type="VertexAttribPropertyARB" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="4" />
+      <param name="pname" type="VertexAttribEnum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="1" />
       <returns type="void" />
     </function>
-    <function name="GetVertexAttribPointerv" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="GetVertexAttribIuiv" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="pname" type="VertexAttribPointerPropertyARB" flow="in" />
-      <param name="pointer" type="void **" flow="out" count="1" />
+      <param name="pname" type="VertexAttribEnum" flow="in" />
+      <param name="params" type="GLuint *" flow="out" count="1" />
       <returns type="void" />
     </function>
-    <function name="IsProgram" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="program" type="GLuint" flow="in" />
+    <function name="IsEnabledi" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
       <returns type="Boolean" />
     </function>
-    <function name="IsShader" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="shader" type="GLuint" flow="in" />
+    <function name="IsFramebuffer" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="framebuffer" type="GLuint" flow="in" />
       <returns type="Boolean" />
     </function>
-    <function name="LinkProgram" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="program" type="GLuint" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="ShaderSource" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="shader" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="string" type="GLchar **" flow="in" count="count" />
-      <param name="length" type="GLint *" flow="in" count="count" />
-      <returns type="void" />
-    </function>
-    <function name="StencilFuncSeparate" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="face" type="StencilFaceDirection" flow="in" />
-      <param name="func" type="StencilFunction" flow="in" />
-      <param name="ref" type="StencilValue" flow="in" />
-      <param name="mask" type="MaskedStencilValue" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="StencilMaskSeparate" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="face" type="StencilFaceDirection" flow="in" />
-      <param name="mask" type="MaskedStencilValue" flow="in" />
-      <returns type="void" />
+    <function name="IsRenderbuffer" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="renderbuffer" type="GLuint" flow="in" />
+      <returns type="Boolean" />
     </function>
-    <function name="StencilOpSeparate" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="face" type="StencilFaceDirection" flow="in" />
-      <param name="sfail" type="StencilOp" flow="in" />
-      <param name="dpfail" type="StencilOp" flow="in" />
-      <param name="dppass" type="StencilOp" flow="in" />
-      <returns type="void" />
+    <function name="IsVertexArray" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="array" type="GLuint" flow="in" />
+      <returns type="Boolean" />
     </function>
-    <function name="Uniform1f" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLfloat" flow="in" />
-      <returns type="void" />
+    <function name="MapBufferRange" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="BufferTargetARB" flow="in" />
+      <param name="offset" type="BufferOffset" flow="in" />
+      <param name="length" type="BufferSize" flow="in" />
+      <param name="access" type="BufferAccessMask" flow="in" />
+      <returns type="void *" />
     </function>
-    <function name="Uniform1fv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count*1" />
+    <function name="RenderbufferStorage" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="RenderbufferTarget" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform1i" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLint" flow="in" />
+    <function name="RenderbufferStorageMultisample" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform1iv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLint *" flow="in" count="count*1" />
+    <function name="TexParameterIiv" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="pname" type="TextureParameterName" flow="in" />
+      <param name="params" type="GLint *" flow="in" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="Uniform2f" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLfloat" flow="in" />
-      <param name="v1" type="GLfloat" flow="in" />
+    <function name="TexParameterIuiv" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="pname" type="TextureParameterName" flow="in" />
+      <param name="params" type="GLuint *" flow="in" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="Uniform2fv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="location" type="GLint" flow="in" />
+    <function name="TransformFeedbackVaryings" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="program" type="GLuint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count*2" />
+      <param name="varyings" type="GLchar **" flow="in" count="count" />
+      <param name="bufferMode" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform2i" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="Uniform1ui" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLint" flow="in" />
-      <param name="v1" type="GLint" flow="in" />
+      <param name="v0" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform2iv" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="Uniform1uiv" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="location" type="GLint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLint *" flow="in" count="count*2" />
+      <param name="value" type="GLuint *" flow="in" count="count*1" />
       <returns type="void" />
     </function>
-    <function name="Uniform3f" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="Uniform2ui" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLfloat" flow="in" />
-      <param name="v1" type="GLfloat" flow="in" />
-      <param name="v2" type="GLfloat" flow="in" />
+      <param name="v0" type="GLuint" flow="in" />
+      <param name="v1" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform3fv" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="Uniform2uiv" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="location" type="GLint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count*3" />
+      <param name="value" type="GLuint *" flow="in" count="count*2" />
       <returns type="void" />
     </function>
-    <function name="Uniform3i" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="Uniform3ui" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLint" flow="in" />
-      <param name="v1" type="GLint" flow="in" />
-      <param name="v2" type="GLint" flow="in" />
+      <param name="v0" type="GLuint" flow="in" />
+      <param name="v1" type="GLuint" flow="in" />
+      <param name="v2" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform3iv" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="Uniform3uiv" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="location" type="GLint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLint *" flow="in" count="count*3" />
+      <param name="value" type="GLuint *" flow="in" count="count*3" />
       <returns type="void" />
     </function>
-    <function name="Uniform4f" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="Uniform4ui" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLfloat" flow="in" />
-      <param name="v1" type="GLfloat" flow="in" />
-      <param name="v2" type="GLfloat" flow="in" />
-      <param name="v3" type="GLfloat" flow="in" />
+      <param name="v0" type="GLuint" flow="in" />
+      <param name="v1" type="GLuint" flow="in" />
+      <param name="v2" type="GLuint" flow="in" />
+      <param name="v3" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform4fv" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="Uniform4uiv" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="location" type="GLint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count*4" />
+      <param name="value" type="GLuint *" flow="in" count="count*4" />
       <returns type="void" />
     </function>
-    <function name="Uniform4i" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLint" flow="in" />
-      <param name="v1" type="GLint" flow="in" />
-      <param name="v2" type="GLint" flow="in" />
-      <param name="v3" type="GLint" flow="in" />
+    <function name="VertexAttribI1i" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform4iv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLint *" flow="in" count="count*4" />
+    <function name="VertexAttribI1iv" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix2fv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count*4" />
+    <function name="VertexAttribI1ui" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix3fv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count*9" />
+    <function name="VertexAttribI1uiv" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix4fv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count*16" />
+    <function name="VertexAttribI2i" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="UseProgram" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="program" type="GLuint" flow="in" />
+    <function name="VertexAttribI2iv" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLint *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="ValidateProgram" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="program" type="GLuint" flow="in" />
+    <function name="VertexAttribI2ui" category="VERSION_3_0" extension="Core" version="3.0">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLuint" flow="in" />
+      <param name="y" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib1d" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="VertexAttribI2uiv" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
+      <param name="v" type="GLuint *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib1dv" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="VertexAttribI3i" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLdouble *" flow="in" count="1" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="z" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib1f" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="VertexAttribI3iv" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLfloat" flow="in" />
+      <param name="v" type="GLint *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib1fv" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="VertexAttribI3ui" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLfloat *" flow="in" count="1" />
+      <param name="x" type="GLuint" flow="in" />
+      <param name="y" type="GLuint" flow="in" />
+      <param name="z" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib1s" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="VertexAttribI3uiv" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLshort" flow="in" />
+      <param name="v" type="GLuint *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib1sv" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="VertexAttribI4bv" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLshort *" flow="in" count="1" />
+      <param name="v" type="GLbyte *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib2d" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="VertexAttribI4i" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
-      <param name="y" type="GLdouble" flow="in" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="z" type="GLint" flow="in" />
+      <param name="w" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib2dv" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="VertexAttribI4iv" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLdouble *" flow="in" count="2" />
+      <param name="v" type="GLint *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib2f" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="VertexAttribI4sv" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLfloat" flow="in" />
-      <param name="y" type="GLfloat" flow="in" />
+      <param name="v" type="GLshort *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib2fv" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="VertexAttribI4ubv" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLfloat *" flow="in" count="2" />
+      <param name="v" type="GLubyte *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib2s" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="VertexAttribI4ui" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLshort" flow="in" />
-      <param name="y" type="GLshort" flow="in" />
+      <param name="x" type="GLuint" flow="in" />
+      <param name="y" type="GLuint" flow="in" />
+      <param name="z" type="GLuint" flow="in" />
+      <param name="w" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib2sv" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="VertexAttribI4uiv" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLshort *" flow="in" count="2" />
+      <param name="v" type="GLuint *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib3d" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="VertexAttribI4usv" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
-      <param name="y" type="GLdouble" flow="in" />
-      <param name="z" type="GLdouble" flow="in" />
+      <param name="v" type="GLushort *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib3dv" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="VertexAttribIPointer" category="VERSION_3_0" extension="Core" version="3.0">
       <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLdouble *" flow="in" count="3" />
+      <param name="size" type="GLint" flow="in" />
+      <param name="type" type="VertexAttribEnum" flow="in" />
+      <param name="stride" type="GLsizei" flow="in" />
+      <param name="pointer" type="void *" flow="in" count="COMPSIZE(size,type,stride)" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib3f" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLfloat" flow="in" />
-      <param name="y" type="GLfloat" flow="in" />
-      <param name="z" type="GLfloat" flow="in" />
+  </add>
+  <add name="glcore" version="3.1">
+    <enum name="VERSION_3_1">
+      <token name="SAMPLER_2D_RECT" value="0x8B63" />
+      <token name="SAMPLER_2D_RECT_SHADOW" value="0x8B64" />
+      <token name="SAMPLER_BUFFER" value="0x8DC2" />
+      <token name="INT_SAMPLER_2D_RECT" value="0x8DCD" />
+      <token name="INT_SAMPLER_BUFFER" value="0x8DD0" />
+      <token name="UNSIGNED_INT_SAMPLER_2D_RECT" value="0x8DD5" />
+      <token name="UNSIGNED_INT_SAMPLER_BUFFER" value="0x8DD8" />
+      <token name="TEXTURE_BUFFER" value="0x8C2A" />
+      <token name="MAX_TEXTURE_BUFFER_SIZE" value="0x8C2B" />
+      <token name="TEXTURE_BINDING_BUFFER" value="0x8C2C" />
+      <token name="TEXTURE_BUFFER_DATA_STORE_BINDING" value="0x8C2D" />
+      <token name="TEXTURE_RECTANGLE" value="0x84F5" />
+      <token name="TEXTURE_BINDING_RECTANGLE" value="0x84F6" />
+      <token name="PROXY_TEXTURE_RECTANGLE" value="0x84F7" />
+      <token name="MAX_RECTANGLE_TEXTURE_SIZE" value="0x84F8" />
+      <token name="R8_SNORM" value="0x8F94" />
+      <token name="RG8_SNORM" value="0x8F95" />
+      <token name="RGB8_SNORM" value="0x8F96" />
+      <token name="RGBA8_SNORM" value="0x8F97" />
+      <token name="R16_SNORM" value="0x8F98" />
+      <token name="RG16_SNORM" value="0x8F99" />
+      <token name="RGB16_SNORM" value="0x8F9A" />
+      <token name="RGBA16_SNORM" value="0x8F9B" />
+      <token name="SIGNED_NORMALIZED" value="0x8F9C" />
+      <token name="PRIMITIVE_RESTART" value="0x8F9D" />
+      <token name="PRIMITIVE_RESTART_INDEX" value="0x8F9E" />
+      <token name="COPY_READ_BUFFER" value="0x8F36" />
+      <token name="COPY_WRITE_BUFFER" value="0x8F37" />
+      <token name="UNIFORM_BUFFER" value="0x8A11" />
+      <token name="UNIFORM_BUFFER_BINDING" value="0x8A28" />
+      <token name="UNIFORM_BUFFER_START" value="0x8A29" />
+      <token name="UNIFORM_BUFFER_SIZE" value="0x8A2A" />
+      <token name="MAX_VERTEX_UNIFORM_BLOCKS" value="0x8A2B" />
+      <token name="MAX_GEOMETRY_UNIFORM_BLOCKS" value="0x8A2C" />
+      <token name="MAX_FRAGMENT_UNIFORM_BLOCKS" value="0x8A2D" />
+      <token name="MAX_COMBINED_UNIFORM_BLOCKS" value="0x8A2E" />
+      <token name="MAX_UNIFORM_BUFFER_BINDINGS" value="0x8A2F" />
+      <token name="MAX_UNIFORM_BLOCK_SIZE" value="0x8A30" />
+      <token name="MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS" value="0x8A31" />
+      <token name="MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS" value="0x8A32" />
+      <token name="MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS" value="0x8A33" />
+      <token name="UNIFORM_BUFFER_OFFSET_ALIGNMENT" value="0x8A34" />
+      <token name="ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH" value="0x8A35" />
+      <token name="ACTIVE_UNIFORM_BLOCKS" value="0x8A36" />
+      <token name="UNIFORM_TYPE" value="0x8A37" />
+      <token name="UNIFORM_SIZE" value="0x8A38" />
+      <token name="UNIFORM_NAME_LENGTH" value="0x8A39" />
+      <token name="UNIFORM_BLOCK_INDEX" value="0x8A3A" />
+      <token name="UNIFORM_OFFSET" value="0x8A3B" />
+      <token name="UNIFORM_ARRAY_STRIDE" value="0x8A3C" />
+      <token name="UNIFORM_MATRIX_STRIDE" value="0x8A3D" />
+      <token name="UNIFORM_IS_ROW_MAJOR" value="0x8A3E" />
+      <token name="UNIFORM_BLOCK_BINDING" value="0x8A3F" />
+      <token name="UNIFORM_BLOCK_DATA_SIZE" value="0x8A40" />
+      <token name="UNIFORM_BLOCK_NAME_LENGTH" value="0x8A41" />
+      <token name="UNIFORM_BLOCK_ACTIVE_UNIFORMS" value="0x8A42" />
+      <token name="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES" value="0x8A43" />
+      <token name="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER" value="0x8A44" />
+      <token name="UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER" value="0x8A45" />
+      <token name="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER" value="0x8A46" />
+      <token name="INVALID_INDEX" value="0xFFFFFFFF" />
+    </enum>
+    <function name="CopyBufferSubData" category="VERSION_3_1" extension="Core" version="3.1">
+      <param name="readTarget" type="GLenum" flow="in" />
+      <param name="writeTarget" type="GLenum" flow="in" />
+      <param name="readOffset" type="BufferOffset" flow="in" />
+      <param name="writeOffset" type="BufferOffset" flow="in" />
+      <param name="size" type="BufferSize" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib3fv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLfloat *" flow="in" count="3" />
+    <function name="DrawArraysInstanced" category="VERSION_3_1" extension="Core" version="3.1">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="first" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="instancecount" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib3s" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLshort" flow="in" />
-      <param name="y" type="GLshort" flow="in" />
-      <param name="z" type="GLshort" flow="in" />
+    <function name="DrawElementsInstanced" category="VERSION_3_1" extension="Core" version="3.1">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="type" type="DrawElementsType" flow="in" />
+      <param name="indices" type="void *" flow="in" count="COMPSIZE(count,type)" />
+      <param name="instancecount" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib3sv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLshort *" flow="in" count="3" />
+    <function name="GetActiveUniformBlockiv" category="VERSION_3_1" extension="Core" version="3.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="uniformBlockIndex" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(program,uniformBlockIndex,pname)" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib4bv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLbyte *" flow="in" count="4" />
+    <function name="GetActiveUniformBlockName" category="VERSION_3_1" extension="Core" version="3.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="uniformBlockIndex" type="GLuint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="uniformBlockName" type="GLchar *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib4d" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
-      <param name="y" type="GLdouble" flow="in" />
-      <param name="z" type="GLdouble" flow="in" />
-      <param name="w" type="GLdouble" flow="in" />
+    <function name="GetActiveUniformName" category="VERSION_3_1" extension="Core" version="3.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="uniformIndex" type="GLuint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="uniformName" type="GLchar *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib4dv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLdouble *" flow="in" count="4" />
+    <function name="GetActiveUniformsiv" category="VERSION_3_1" extension="Core" version="3.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="uniformCount" type="GLsizei" flow="in" />
+      <param name="uniformIndices" type="GLuint *" flow="in" count="uniformCount" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(uniformCount,pname)" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib4f" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLfloat" flow="in" />
-      <param name="y" type="GLfloat" flow="in" />
-      <param name="z" type="GLfloat" flow="in" />
-      <param name="w" type="GLfloat" flow="in" />
-      <returns type="void" />
+    <function name="GetUniformBlockIndex" category="VERSION_3_1" extension="Core" version="3.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="uniformBlockName" type="GLchar *" flow="in" count="COMPSIZE()" />
+      <returns type="GLuint" />
     </function>
-    <function name="VertexAttrib4fv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLfloat *" flow="in" count="4" />
+    <function name="GetUniformIndices" category="VERSION_3_1" extension="Core" version="3.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="uniformCount" type="GLsizei" flow="in" />
+      <param name="uniformNames" type="GLchar **" flow="in" count="COMPSIZE(uniformCount)" />
+      <param name="uniformIndices" type="GLuint *" flow="out" count="COMPSIZE(uniformCount)" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib4iv" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="PrimitiveRestartIndex" category="VERSION_3_1" extension="Core" version="3.1">
       <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLint *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib4Nbv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLbyte *" flow="in" count="4" />
+    <function name="TexBuffer" category="VERSION_3_1" extension="Core" version="3.1">
+      <param name="target" type="TextureTarget" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib4Niv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLint *" flow="in" count="4" />
+    <function name="UniformBlockBinding" category="VERSION_3_1" extension="Core" version="3.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="uniformBlockIndex" type="GLuint" flow="in" />
+      <param name="uniformBlockBinding" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib4Nsv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLshort *" flow="in" count="4" />
-      <returns type="void" />
+  </add>
+  <add name="glcore" version="3.2">
+    <enum name="VERSION_3_2">
+      <token name="CONTEXT_CORE_PROFILE_BIT" value="0x00000001" />
+      <token name="CONTEXT_COMPATIBILITY_PROFILE_BIT" value="0x00000002" />
+      <token name="LINES_ADJACENCY" value="0x000A" />
+      <token name="LINE_STRIP_ADJACENCY" value="0x000B" />
+      <token name="TRIANGLES_ADJACENCY" value="0x000C" />
+      <token name="TRIANGLE_STRIP_ADJACENCY" value="0x000D" />
+      <token name="PROGRAM_POINT_SIZE" value="0x8642" />
+      <token name="MAX_GEOMETRY_TEXTURE_IMAGE_UNITS" value="0x8C29" />
+      <token name="FRAMEBUFFER_ATTACHMENT_LAYERED" value="0x8DA7" />
+      <token name="FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS" value="0x8DA8" />
+      <token name="GEOMETRY_SHADER" value="0x8DD9" />
+      <token name="GEOMETRY_VERTICES_OUT" value="0x8916" />
+      <token name="GEOMETRY_INPUT_TYPE" value="0x8917" />
+      <token name="GEOMETRY_OUTPUT_TYPE" value="0x8918" />
+      <token name="MAX_GEOMETRY_UNIFORM_COMPONENTS" value="0x8DDF" />
+      <token name="MAX_GEOMETRY_OUTPUT_VERTICES" value="0x8DE0" />
+      <token name="MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS" value="0x8DE1" />
+      <token name="MAX_VERTEX_OUTPUT_COMPONENTS" value="0x9122" />
+      <token name="MAX_GEOMETRY_INPUT_COMPONENTS" value="0x9123" />
+      <token name="MAX_GEOMETRY_OUTPUT_COMPONENTS" value="0x9124" />
+      <token name="MAX_FRAGMENT_INPUT_COMPONENTS" value="0x9125" />
+      <token name="CONTEXT_PROFILE_MASK" value="0x9126" />
+      <token name="DEPTH_CLAMP" value="0x864F" />
+      <token name="QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION" value="0x8E4C" />
+      <token name="FIRST_VERTEX_CONVENTION" value="0x8E4D" />
+      <token name="LAST_VERTEX_CONVENTION" value="0x8E4E" />
+      <token name="PROVOKING_VERTEX" value="0x8E4F" />
+      <token name="TEXTURE_CUBE_MAP_SEAMLESS" value="0x884F" />
+      <token name="MAX_SERVER_WAIT_TIMEOUT" value="0x9111" />
+      <token name="OBJECT_TYPE" value="0x9112" />
+      <token name="SYNC_CONDITION" value="0x9113" />
+      <token name="SYNC_STATUS" value="0x9114" />
+      <token name="SYNC_FLAGS" value="0x9115" />
+      <token name="SYNC_FENCE" value="0x9116" />
+      <token name="SYNC_GPU_COMMANDS_COMPLETE" value="0x9117" />
+      <token name="UNSIGNALED" value="0x9118" />
+      <token name="SIGNALED" value="0x9119" />
+      <token name="ALREADY_SIGNALED" value="0x911A" />
+      <token name="TIMEOUT_EXPIRED" value="0x911B" />
+      <token name="CONDITION_SATISFIED" value="0x911C" />
+      <token name="WAIT_FAILED" value="0x911D" />
+      <token name="TIMEOUT_IGNORED" value="0xFFFFFFFFFFFFFFFF" />
+      <token name="SYNC_FLUSH_COMMANDS_BIT" value="0x00000001" />
+      <token name="SAMPLE_POSITION" value="0x8E50" />
+      <token name="SAMPLE_MASK" value="0x8E51" />
+      <token name="SAMPLE_MASK_VALUE" value="0x8E52" />
+      <token name="MAX_SAMPLE_MASK_WORDS" value="0x8E59" />
+      <token name="TEXTURE_2D_MULTISAMPLE" value="0x9100" />
+      <token name="PROXY_TEXTURE_2D_MULTISAMPLE" value="0x9101" />
+      <token name="TEXTURE_2D_MULTISAMPLE_ARRAY" value="0x9102" />
+      <token name="PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY" value="0x9103" />
+      <token name="TEXTURE_BINDING_2D_MULTISAMPLE" value="0x9104" />
+      <token name="TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY" value="0x9105" />
+      <token name="TEXTURE_SAMPLES" value="0x9106" />
+      <token name="TEXTURE_FIXED_SAMPLE_LOCATIONS" value="0x9107" />
+      <token name="SAMPLER_2D_MULTISAMPLE" value="0x9108" />
+      <token name="INT_SAMPLER_2D_MULTISAMPLE" value="0x9109" />
+      <token name="UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE" value="0x910A" />
+      <token name="SAMPLER_2D_MULTISAMPLE_ARRAY" value="0x910B" />
+      <token name="INT_SAMPLER_2D_MULTISAMPLE_ARRAY" value="0x910C" />
+      <token name="UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY" value="0x910D" />
+      <token name="MAX_COLOR_TEXTURE_SAMPLES" value="0x910E" />
+      <token name="MAX_DEPTH_TEXTURE_SAMPLES" value="0x910F" />
+      <token name="MAX_INTEGER_SAMPLES" value="0x9110" />
+    </enum>
+    <function name="ClientWaitSync" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="sync" type="sync" flow="in" />
+      <param name="flags" type="GLbitfield" flow="in" />
+      <param name="timeout" type="GLuint64" flow="in" />
+      <returns type="GLenum" />
     </function>
-    <function name="VertexAttrib4Nub" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLubyte" flow="in" />
-      <param name="y" type="GLubyte" flow="in" />
-      <param name="z" type="GLubyte" flow="in" />
-      <param name="w" type="GLubyte" flow="in" />
+    <function name="DeleteSync" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="sync" type="sync" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib4Nubv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLubyte *" flow="in" count="4" />
+    <function name="DrawElementsBaseVertex" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="type" type="DrawElementsType" flow="in" />
+      <param name="indices" type="void *" flow="in" count="COMPSIZE(count,type)" />
+      <param name="basevertex" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib4Nuiv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLuint *" flow="in" count="4" />
+    <function name="DrawElementsInstancedBaseVertex" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="type" type="DrawElementsType" flow="in" />
+      <param name="indices" type="void *" flow="in" count="COMPSIZE(count,type)" />
+      <param name="instancecount" type="GLsizei" flow="in" />
+      <param name="basevertex" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib4Nusv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLushort *" flow="in" count="4" />
+    <function name="DrawRangeElementsBaseVertex" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="start" type="GLuint" flow="in" />
+      <param name="end" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="type" type="DrawElementsType" flow="in" />
+      <param name="indices" type="void *" flow="in" count="COMPSIZE(count,type)" />
+      <param name="basevertex" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib4s" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLshort" flow="in" />
-      <param name="y" type="GLshort" flow="in" />
-      <param name="z" type="GLshort" flow="in" />
-      <param name="w" type="GLshort" flow="in" />
-      <returns type="void" />
+    <function name="FenceSync" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="condition" type="GLenum" flow="in" />
+      <param name="flags" type="GLbitfield" flow="in" />
+      <returns type="sync" />
     </function>
-    <function name="VertexAttrib4sv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLshort *" flow="in" count="4" />
+    <function name="FramebufferTexture" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="attachment" type="GLenum" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib4ubv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLubyte *" flow="in" count="4" />
+    <function name="GetBufferParameteri64v" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="target" type="BufferTargetARB" flow="in" />
+      <param name="pname" type="BufferPNameARB" flow="in" />
+      <param name="params" type="GLint64 *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib4uiv" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="GetInteger64i_v" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="target" type="GLenum" flow="in" />
       <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLuint *" flow="in" count="4" />
+      <param name="data" type="GLint64 *" flow="out" count="COMPSIZE(target)" />
       <returns type="void" />
     </function>
-    <function name="VertexAttrib4usv" category="VERSION_2_0" extension="Core" version="2.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLushort *" flow="in" count="4" />
+    <function name="GetInteger64v" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="data" type="GLint64 *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribPointer" category="VERSION_2_0" extension="Core" version="2.0">
+    <function name="GetMultisamplefv" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="pname" type="GLenum" flow="in" />
       <param name="index" type="GLuint" flow="in" />
-      <param name="size" type="GLint" flow="in" />
-      <param name="type" type="VertexAttribPointerType" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
-      <param name="stride" type="GLsizei" flow="in" />
-      <param name="pointer" type="void *" flow="in" count="COMPSIZE(size,type,stride)" />
+      <param name="val" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-  </add>
-  <add name="glcore" version="2.1">
-    <enum name="VERSION_2_1">
-      <token name="PIXEL_PACK_BUFFER" value="0x88EB" />
-      <token name="PIXEL_UNPACK_BUFFER" value="0x88EC" />
-      <token name="PIXEL_PACK_BUFFER_BINDING" value="0x88ED" />
-      <token name="PIXEL_UNPACK_BUFFER_BINDING" value="0x88EF" />
-      <token name="FLOAT_MAT2x3" value="0x8B65" />
-      <token name="FLOAT_MAT2x4" value="0x8B66" />
-      <token name="FLOAT_MAT3x2" value="0x8B67" />
-      <token name="FLOAT_MAT3x4" value="0x8B68" />
-      <token name="FLOAT_MAT4x2" value="0x8B69" />
-      <token name="FLOAT_MAT4x3" value="0x8B6A" />
-      <token name="SRGB" value="0x8C40" />
-      <token name="SRGB8" value="0x8C41" />
-      <token name="SRGB_ALPHA" value="0x8C42" />
-      <token name="SRGB8_ALPHA8" value="0x8C43" />
-      <token name="COMPRESSED_SRGB" value="0x8C48" />
-      <token name="COMPRESSED_SRGB_ALPHA" value="0x8C49" />
-    </enum>
-    <function name="UniformMatrix2x3fv" category="VERSION_2_1" extension="Core" version="2.1">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count*6" />
+    <function name="GetSynciv" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="sync" type="sync" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="values" type="GLint *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix2x4fv" category="VERSION_2_1" extension="Core" version="2.1">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count*8" />
+    <function name="IsSync" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="sync" type="sync" flow="in" />
+      <returns type="Boolean" />
+    </function>
+    <function name="MultiDrawElementsBaseVertex" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="mode" type="GLenum" flow="in" />
+      <param name="count" type="GLsizei *" flow="in" count="COMPSIZE(drawcount)" />
+      <param name="type" type="DrawElementsType" flow="in" />
+      <param name="indices" type="void **" flow="in" count="COMPSIZE(drawcount)" />
+      <param name="drawcount" type="GLsizei" flow="in" />
+      <param name="basevertex" type="GLint *" flow="in" count="COMPSIZE(drawcount)" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix3x2fv" category="VERSION_2_1" extension="Core" version="2.1">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count*6" />
+    <function name="ProvokingVertex" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="mode" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix3x4fv" category="VERSION_2_1" extension="Core" version="2.1">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count*12" />
+    <function name="SampleMaski" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="maskNumber" type="GLuint" flow="in" />
+      <param name="mask" type="GLbitfield" flow="in" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix4x2fv" category="VERSION_2_1" extension="Core" version="2.1">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count*8" />
+    <function name="TexImage2DMultisample" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="fixedsamplelocations" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix4x3fv" category="VERSION_2_1" extension="Core" version="2.1">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count*12" />
+    <function name="TexImage3DMultisample" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="fixedsamplelocations" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
-  </add>
-  <add name="glcore" version="3.0">
-    <enum name="VERSION_3_0">
-      <token name="COMPARE_REF_TO_TEXTURE" value="0x884E" />
-      <token name="CLIP_DISTANCE0" value="0x3000" />
-      <token name="CLIP_DISTANCE1" value="0x3001" />
-      <token name="CLIP_DISTANCE2" value="0x3002" />
-      <token name="CLIP_DISTANCE3" value="0x3003" />
-      <token name="CLIP_DISTANCE4" value="0x3004" />
-      <token name="CLIP_DISTANCE5" value="0x3005" />
-      <token name="CLIP_DISTANCE6" value="0x3006" />
-      <token name="CLIP_DISTANCE7" value="0x3007" />
-      <token name="MAX_CLIP_DISTANCES" value="0x0D32" />
-      <token name="MAJOR_VERSION" value="0x821B" />
-      <token name="MINOR_VERSION" value="0x821C" />
-      <token name="NUM_EXTENSIONS" value="0x821D" />
-      <token name="CONTEXT_FLAGS" value="0x821E" />
-      <token name="COMPRESSED_RED" value="0x8225" />
-      <token name="COMPRESSED_RG" value="0x8226" />
-      <token name="CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT" value="0x00000001" />
-      <token name="RGBA32F" value="0x8814" />
-      <token name="RGB32F" value="0x8815" />
-      <token name="RGBA16F" value="0x881A" />
-      <token name="RGB16F" value="0x881B" />
-      <token name="VERTEX_ATTRIB_ARRAY_INTEGER" value="0x88FD" />
-      <token name="MAX_ARRAY_TEXTURE_LAYERS" value="0x88FF" />
-      <token name="MIN_PROGRAM_TEXEL_OFFSET" value="0x8904" />
-      <token name="MAX_PROGRAM_TEXEL_OFFSET" value="0x8905" />
-      <token name="CLAMP_READ_COLOR" value="0x891C" />
-      <token name="FIXED_ONLY" value="0x891D" />
-      <token name="MAX_VARYING_COMPONENTS" value="0x8B4B" />
-      <token name="TEXTURE_1D_ARRAY" value="0x8C18" />
-      <token name="PROXY_TEXTURE_1D_ARRAY" value="0x8C19" />
-      <token name="TEXTURE_2D_ARRAY" value="0x8C1A" />
-      <token name="PROXY_TEXTURE_2D_ARRAY" value="0x8C1B" />
-      <token name="TEXTURE_BINDING_1D_ARRAY" value="0x8C1C" />
-      <token name="TEXTURE_BINDING_2D_ARRAY" value="0x8C1D" />
-      <token name="R11F_G11F_B10F" value="0x8C3A" />
-      <token name="UNSIGNED_INT_10F_11F_11F_REV" value="0x8C3B" />
-      <token name="RGB9_E5" value="0x8C3D" />
-      <token name="UNSIGNED_INT_5_9_9_9_REV" value="0x8C3E" />
-      <token name="TEXTURE_SHARED_SIZE" value="0x8C3F" />
-      <token name="TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH" value="0x8C76" />
-      <token name="TRANSFORM_FEEDBACK_BUFFER_MODE" value="0x8C7F" />
-      <token name="MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS" value="0x8C80" />
-      <token name="TRANSFORM_FEEDBACK_VARYINGS" value="0x8C83" />
-      <token name="TRANSFORM_FEEDBACK_BUFFER_START" value="0x8C84" />
-      <token name="TRANSFORM_FEEDBACK_BUFFER_SIZE" value="0x8C85" />
-      <token name="PRIMITIVES_GENERATED" value="0x8C87" />
-      <token name="TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN" value="0x8C88" />
-      <token name="RASTERIZER_DISCARD" value="0x8C89" />
-      <token name="MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS" value="0x8C8A" />
-      <token name="MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS" value="0x8C8B" />
-      <token name="INTERLEAVED_ATTRIBS" value="0x8C8C" />
-      <token name="SEPARATE_ATTRIBS" value="0x8C8D" />
-      <token name="TRANSFORM_FEEDBACK_BUFFER" value="0x8C8E" />
-      <token name="TRANSFORM_FEEDBACK_BUFFER_BINDING" value="0x8C8F" />
-      <token name="RGBA32UI" value="0x8D70" />
-      <token name="RGB32UI" value="0x8D71" />
-      <token name="RGBA16UI" value="0x8D76" />
-      <token name="RGB16UI" value="0x8D77" />
-      <token name="RGBA8UI" value="0x8D7C" />
-      <token name="RGB8UI" value="0x8D7D" />
-      <token name="RGBA32I" value="0x8D82" />
-      <token name="RGB32I" value="0x8D83" />
-      <token name="RGBA16I" value="0x8D88" />
-      <token name="RGB16I" value="0x8D89" />
-      <token name="RGBA8I" value="0x8D8E" />
-      <token name="RGB8I" value="0x8D8F" />
-      <token name="RED_INTEGER" value="0x8D94" />
-      <token name="GREEN_INTEGER" value="0x8D95" />
-      <token name="BLUE_INTEGER" value="0x8D96" />
-      <token name="RGB_INTEGER" value="0x8D98" />
-      <token name="RGBA_INTEGER" value="0x8D99" />
-      <token name="BGR_INTEGER" value="0x8D9A" />
-      <token name="BGRA_INTEGER" value="0x8D9B" />
-      <token name="SAMPLER_1D_ARRAY" value="0x8DC0" />
-      <token name="SAMPLER_2D_ARRAY" value="0x8DC1" />
-      <token name="SAMPLER_1D_ARRAY_SHADOW" value="0x8DC3" />
-      <token name="SAMPLER_2D_ARRAY_SHADOW" value="0x8DC4" />
-      <token name="SAMPLER_CUBE_SHADOW" value="0x8DC5" />
-      <token name="UNSIGNED_INT_VEC2" value="0x8DC6" />
-      <token name="UNSIGNED_INT_VEC3" value="0x8DC7" />
-      <token name="UNSIGNED_INT_VEC4" value="0x8DC8" />
-      <token name="INT_SAMPLER_1D" value="0x8DC9" />
-      <token name="INT_SAMPLER_2D" value="0x8DCA" />
-      <token name="INT_SAMPLER_3D" value="0x8DCB" />
-      <token name="INT_SAMPLER_CUBE" value="0x8DCC" />
-      <token name="INT_SAMPLER_1D_ARRAY" value="0x8DCE" />
-      <token name="INT_SAMPLER_2D_ARRAY" value="0x8DCF" />
-      <token name="UNSIGNED_INT_SAMPLER_1D" value="0x8DD1" />
-      <token name="UNSIGNED_INT_SAMPLER_2D" value="0x8DD2" />
-      <token name="UNSIGNED_INT_SAMPLER_3D" value="0x8DD3" />
-      <token name="UNSIGNED_INT_SAMPLER_CUBE" value="0x8DD4" />
-      <token name="UNSIGNED_INT_SAMPLER_1D_ARRAY" value="0x8DD6" />
-      <token name="UNSIGNED_INT_SAMPLER_2D_ARRAY" value="0x8DD7" />
-      <token name="QUERY_WAIT" value="0x8E13" />
-      <token name="QUERY_NO_WAIT" value="0x8E14" />
-      <token name="QUERY_BY_REGION_WAIT" value="0x8E15" />
-      <token name="QUERY_BY_REGION_NO_WAIT" value="0x8E16" />
-      <token name="BUFFER_ACCESS_FLAGS" value="0x911F" />
-      <token name="BUFFER_MAP_LENGTH" value="0x9120" />
-      <token name="BUFFER_MAP_OFFSET" value="0x9121" />
-      <token name="DEPTH_COMPONENT32F" value="0x8CAC" />
-      <token name="DEPTH32F_STENCIL8" value="0x8CAD" />
-      <token name="FLOAT_32_UNSIGNED_INT_24_8_REV" value="0x8DAD" />
-      <token name="INVALID_FRAMEBUFFER_OPERATION" value="0x0506" />
-      <token name="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING" value="0x8210" />
-      <token name="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE" value="0x8211" />
-      <token name="FRAMEBUFFER_ATTACHMENT_RED_SIZE" value="0x8212" />
-      <token name="FRAMEBUFFER_ATTACHMENT_GREEN_SIZE" value="0x8213" />
-      <token name="FRAMEBUFFER_ATTACHMENT_BLUE_SIZE" value="0x8214" />
-      <token name="FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE" value="0x8215" />
-      <token name="FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE" value="0x8216" />
-      <token name="FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE" value="0x8217" />
-      <token name="FRAMEBUFFER_DEFAULT" value="0x8218" />
-      <token name="FRAMEBUFFER_UNDEFINED" value="0x8219" />
-      <token name="DEPTH_STENCIL_ATTACHMENT" value="0x821A" />
-      <token name="MAX_RENDERBUFFER_SIZE" value="0x84E8" />
-      <token name="DEPTH_STENCIL" value="0x84F9" />
-      <token name="UNSIGNED_INT_24_8" value="0x84FA" />
-      <token name="DEPTH24_STENCIL8" value="0x88F0" />
-      <token name="TEXTURE_STENCIL_SIZE" value="0x88F1" />
-      <token name="TEXTURE_RED_TYPE" value="0x8C10" />
-      <token name="TEXTURE_GREEN_TYPE" value="0x8C11" />
-      <token name="TEXTURE_BLUE_TYPE" value="0x8C12" />
-      <token name="TEXTURE_ALPHA_TYPE" value="0x8C13" />
-      <token name="TEXTURE_DEPTH_TYPE" value="0x8C16" />
-      <token name="UNSIGNED_NORMALIZED" value="0x8C17" />
-      <token name="FRAMEBUFFER_BINDING" value="0x8CA6" />
-      <token name="DRAW_FRAMEBUFFER_BINDING" value="0x8CA6" />
-      <token name="RENDERBUFFER_BINDING" value="0x8CA7" />
-      <token name="READ_FRAMEBUFFER" value="0x8CA8" />
-      <token name="DRAW_FRAMEBUFFER" value="0x8CA9" />
-      <token name="READ_FRAMEBUFFER_BINDING" value="0x8CAA" />
-      <token name="RENDERBUFFER_SAMPLES" value="0x8CAB" />
-      <token name="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE" value="0x8CD0" />
-      <token name="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME" value="0x8CD1" />
-      <token name="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL" value="0x8CD2" />
-      <token name="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE" value="0x8CD3" />
-      <token name="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER" value="0x8CD4" />
-      <token name="FRAMEBUFFER_COMPLETE" value="0x8CD5" />
-      <token name="FRAMEBUFFER_INCOMPLETE_ATTACHMENT" value="0x8CD6" />
-      <token name="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT" value="0x8CD7" />
-      <token name="FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER" value="0x8CDB" />
-      <token name="FRAMEBUFFER_INCOMPLETE_READ_BUFFER" value="0x8CDC" />
-      <token name="FRAMEBUFFER_UNSUPPORTED" value="0x8CDD" />
-      <token name="MAX_COLOR_ATTACHMENTS" value="0x8CDF" />
-      <token name="COLOR_ATTACHMENT0" value="0x8CE0" />
-      <token name="COLOR_ATTACHMENT1" value="0x8CE1" />
-      <token name="COLOR_ATTACHMENT2" value="0x8CE2" />
-      <token name="COLOR_ATTACHMENT3" value="0x8CE3" />
-      <token name="COLOR_ATTACHMENT4" value="0x8CE4" />
-      <token name="COLOR_ATTACHMENT5" value="0x8CE5" />
-      <token name="COLOR_ATTACHMENT6" value="0x8CE6" />
-      <token name="COLOR_ATTACHMENT7" value="0x8CE7" />
-      <token name="COLOR_ATTACHMENT8" value="0x8CE8" />
-      <token name="COLOR_ATTACHMENT9" value="0x8CE9" />
-      <token name="COLOR_ATTACHMENT10" value="0x8CEA" />
-      <token name="COLOR_ATTACHMENT11" value="0x8CEB" />
-      <token name="COLOR_ATTACHMENT12" value="0x8CEC" />
-      <token name="COLOR_ATTACHMENT13" value="0x8CED" />
-      <token name="COLOR_ATTACHMENT14" value="0x8CEE" />
-      <token name="COLOR_ATTACHMENT15" value="0x8CEF" />
-      <token name="DEPTH_ATTACHMENT" value="0x8D00" />
-      <token name="STENCIL_ATTACHMENT" value="0x8D20" />
-      <token name="FRAMEBUFFER" value="0x8D40" />
-      <token name="RENDERBUFFER" value="0x8D41" />
-      <token name="RENDERBUFFER_WIDTH" value="0x8D42" />
-      <token name="RENDERBUFFER_HEIGHT" value="0x8D43" />
-      <token name="RENDERBUFFER_INTERNAL_FORMAT" value="0x8D44" />
-      <token name="STENCIL_INDEX1" value="0x8D46" />
-      <token name="STENCIL_INDEX4" value="0x8D47" />
-      <token name="STENCIL_INDEX8" value="0x8D48" />
-      <token name="STENCIL_INDEX16" value="0x8D49" />
-      <token name="RENDERBUFFER_RED_SIZE" value="0x8D50" />
-      <token name="RENDERBUFFER_GREEN_SIZE" value="0x8D51" />
-      <token name="RENDERBUFFER_BLUE_SIZE" value="0x8D52" />
-      <token name="RENDERBUFFER_ALPHA_SIZE" value="0x8D53" />
-      <token name="RENDERBUFFER_DEPTH_SIZE" value="0x8D54" />
-      <token name="RENDERBUFFER_STENCIL_SIZE" value="0x8D55" />
-      <token name="FRAMEBUFFER_INCOMPLETE_MULTISAMPLE" value="0x8D56" />
-      <token name="MAX_SAMPLES" value="0x8D57" />
-      <token name="INDEX" value="0x8222" />
-      <token name="FRAMEBUFFER_SRGB" value="0x8DB9" />
-      <token name="HALF_FLOAT" value="0x140B" />
-      <token name="MAP_READ_BIT" value="0x0001" />
-      <token name="MAP_WRITE_BIT" value="0x0002" />
-      <token name="MAP_INVALIDATE_RANGE_BIT" value="0x0004" />
-      <token name="MAP_INVALIDATE_BUFFER_BIT" value="0x0008" />
-      <token name="MAP_FLUSH_EXPLICIT_BIT" value="0x0010" />
-      <token name="MAP_UNSYNCHRONIZED_BIT" value="0x0020" />
-      <token name="COMPRESSED_RED_RGTC1" value="0x8DBB" />
-      <token name="COMPRESSED_SIGNED_RED_RGTC1" value="0x8DBC" />
-      <token name="COMPRESSED_RG_RGTC2" value="0x8DBD" />
-      <token name="COMPRESSED_SIGNED_RG_RGTC2" value="0x8DBE" />
-      <token name="RG" value="0x8227" />
-      <token name="RG_INTEGER" value="0x8228" />
-      <token name="R8" value="0x8229" />
-      <token name="R16" value="0x822A" />
-      <token name="RG8" value="0x822B" />
-      <token name="RG16" value="0x822C" />
-      <token name="R16F" value="0x822D" />
-      <token name="R32F" value="0x822E" />
-      <token name="RG16F" value="0x822F" />
-      <token name="RG32F" value="0x8230" />
-      <token name="R8I" value="0x8231" />
-      <token name="R8UI" value="0x8232" />
-      <token name="R16I" value="0x8233" />
-      <token name="R16UI" value="0x8234" />
-      <token name="R32I" value="0x8235" />
-      <token name="R32UI" value="0x8236" />
-      <token name="RG8I" value="0x8237" />
-      <token name="RG8UI" value="0x8238" />
-      <token name="RG16I" value="0x8239" />
-      <token name="RG16UI" value="0x823A" />
-      <token name="RG32I" value="0x823B" />
-      <token name="RG32UI" value="0x823C" />
-      <token name="VERTEX_ARRAY_BINDING" value="0x85B5" />
+    <function name="WaitSync" category="VERSION_3_2" extension="Core" version="3.2">
+      <param name="sync" type="sync" flow="in" />
+      <param name="flags" type="GLbitfield" flow="in" />
+      <param name="timeout" type="GLuint64" flow="in" />
+      <returns type="void" />
+    </function>
+  </add>
+  <add name="glcore" version="3.3">
+    <enum name="VERSION_3_3">
+      <token name="VERTEX_ATTRIB_ARRAY_DIVISOR" value="0x88FE" />
+      <token name="SRC1_COLOR" value="0x88F9" />
+      <token name="ONE_MINUS_SRC1_COLOR" value="0x88FA" />
+      <token name="ONE_MINUS_SRC1_ALPHA" value="0x88FB" />
+      <token name="MAX_DUAL_SOURCE_DRAW_BUFFERS" value="0x88FC" />
+      <token name="ANY_SAMPLES_PASSED" value="0x8C2F" />
+      <token name="SAMPLER_BINDING" value="0x8919" />
+      <token name="RGB10_A2UI" value="0x906F" />
+      <token name="TEXTURE_SWIZZLE_R" value="0x8E42" />
+      <token name="TEXTURE_SWIZZLE_G" value="0x8E43" />
+      <token name="TEXTURE_SWIZZLE_B" value="0x8E44" />
+      <token name="TEXTURE_SWIZZLE_A" value="0x8E45" />
+      <token name="TEXTURE_SWIZZLE_RGBA" value="0x8E46" />
+      <token name="TIME_ELAPSED" value="0x88BF" />
+      <token name="TIMESTAMP" value="0x8E28" />
+      <token name="INT_2_10_10_10_REV" value="0x8D9F" />
     </enum>
-    <function name="BeginConditionalRender" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="BindFragDataLocationIndexed" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="colorNumber" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="name" type="GLchar *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BindSampler" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="unit" type="GLuint" flow="in" />
+      <param name="sampler" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ColorP3ui" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="color" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ColorP3uiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="color" type="GLuint *" flow="in" count="1" />
+      <returns type="void" />
+    </function>
+    <function name="ColorP4ui" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="color" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="ColorP4uiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="color" type="GLuint *" flow="in" count="1" />
+      <returns type="void" />
+    </function>
+    <function name="DeleteSamplers" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="samplers" type="GLuint *" flow="in" count="count" />
+      <returns type="void" />
+    </function>
+    <function name="GenSamplers" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="samplers" type="GLuint *" flow="out" count="count" />
+      <returns type="void" />
+    </function>
+    <function name="GetFragDataIndex" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="name" type="GLchar *" flow="in" />
+      <returns type="GLint" />
+    </function>
+    <function name="GetQueryObjecti64v" category="VERSION_3_3" extension="Core" version="3.3">
       <param name="id" type="GLuint" flow="in" />
-      <param name="mode" type="TypeEnum" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint64 *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="BeginTransformFeedback" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="primitiveMode" type="GLenum" flow="in" />
+    <function name="GetQueryObjectui64v" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="id" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLuint64 *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="BindBufferBase" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="buffer" type="GLuint" flow="in" />
+    <function name="GetSamplerParameterfv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="BindBufferRange" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="GetSamplerParameterIiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetSamplerParameterIuiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLuint *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="GetSamplerParameteriv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="IsSampler" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="sampler" type="GLuint" flow="in" />
+      <returns type="Boolean" />
+    </function>
+    <function name="MultiTexCoordP1ui" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="texture" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="MultiTexCoordP1uiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="texture" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint *" flow="in" count="1" />
+      <returns type="void" />
+    </function>
+    <function name="MultiTexCoordP2ui" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="texture" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="MultiTexCoordP2uiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="texture" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint *" flow="in" count="1" />
+      <returns type="void" />
+    </function>
+    <function name="MultiTexCoordP3ui" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="texture" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="MultiTexCoordP3uiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="texture" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint *" flow="in" count="1" />
+      <returns type="void" />
+    </function>
+    <function name="MultiTexCoordP4ui" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="texture" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="MultiTexCoordP4uiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="texture" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint *" flow="in" count="1" />
+      <returns type="void" />
+    </function>
+    <function name="NormalP3ui" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NormalP3uiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint *" flow="in" count="1" />
+      <returns type="void" />
+    </function>
+    <function name="QueryCounter" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="id" type="GLuint" flow="in" />
       <param name="target" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="buffer" type="GLuint" flow="in" />
-      <param name="offset" type="BufferOffset" flow="in" />
-      <param name="size" type="BufferSize" flow="in" />
       <returns type="void" />
     </function>
-    <function name="BindFragDataLocation" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="program" type="GLuint" flow="in" />
+    <function name="SamplerParameterf" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLfloat" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="SamplerParameterfv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLfloat *" flow="in" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="SamplerParameteri" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="SamplerParameterIiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="in" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="SamplerParameterIuiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLuint *" flow="in" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="SamplerParameteriv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="sampler" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="in" count="COMPSIZE(pname)" />
+      <returns type="void" />
+    </function>
+    <function name="SecondaryColorP3ui" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
       <param name="color" type="GLuint" flow="in" />
-      <param name="name" type="GLchar *" flow="in" count="COMPSIZE(name)" />
       <returns type="void" />
     </function>
-    <function name="BindFramebuffer" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="FramebufferTarget" flow="in" />
-      <param name="framebuffer" type="GLuint" flow="in" />
+    <function name="SecondaryColorP3uiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="color" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="BindRenderbuffer" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="RenderbufferTarget" flow="in" />
-      <param name="renderbuffer" type="GLuint" flow="in" />
+    <function name="TexCoordP1ui" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="BindVertexArray" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="array" type="GLuint" flow="in" />
+    <function name="TexCoordP1uiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="BlitFramebuffer" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="srcX0" type="GLint" flow="in" />
-      <param name="srcY0" type="GLint" flow="in" />
-      <param name="srcX1" type="GLint" flow="in" />
-      <param name="srcY1" type="GLint" flow="in" />
-      <param name="dstX0" type="GLint" flow="in" />
-      <param name="dstY0" type="GLint" flow="in" />
-      <param name="dstX1" type="GLint" flow="in" />
-      <param name="dstY1" type="GLint" flow="in" />
-      <param name="mask" type="ClearBufferMask" flow="in" />
-      <param name="filter" type="GLenum" flow="in" />
+    <function name="TexCoordP2ui" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="CheckFramebufferStatus" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="FramebufferTarget" flow="in" />
-      <returns type="GLenum" />
+    <function name="TexCoordP2uiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint *" flow="in" count="1" />
+      <returns type="void" />
     </function>
-    <function name="ClampColor" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="ClampColorTargetARB" flow="in" />
-      <param name="clamp" type="ClampColorModeARB" flow="in" />
+    <function name="TexCoordP3ui" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ClearBufferfi" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="buffer" type="GLenum" flow="in" />
-      <param name="drawbuffer" type="DrawBufferName" flow="in" />
-      <param name="depth" type="GLfloat" flow="in" />
-      <param name="stencil" type="GLint" flow="in" />
+    <function name="TexCoordP3uiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="ClearBufferfv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="buffer" type="GLenum" flow="in" />
-      <param name="drawbuffer" type="DrawBufferName" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="COMPSIZE(buffer)" />
+    <function name="TexCoordP4ui" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ClearBufferiv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="buffer" type="GLenum" flow="in" />
-      <param name="drawbuffer" type="DrawBufferName" flow="in" />
-      <param name="value" type="GLint *" flow="in" count="COMPSIZE(buffer)" />
+    <function name="TexCoordP4uiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="coords" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="ClearBufferuiv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="buffer" type="GLenum" flow="in" />
-      <param name="drawbuffer" type="DrawBufferName" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="COMPSIZE(buffer)" />
+    <function name="VertexAttribDivisor" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="divisor" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ColorMaski" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="VertexAttribP1ui" category="VERSION_3_3" extension="Core" version="3.3">
       <param name="index" type="GLuint" flow="in" />
-      <param name="r" type="Boolean" flow="in" />
-      <param name="g" type="Boolean" flow="in" />
-      <param name="b" type="Boolean" flow="in" />
-      <param name="a" type="Boolean" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
+      <param name="value" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DeleteFramebuffers" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="framebuffers" type="GLuint *" flow="in" count="n" />
+    <function name="VertexAttribP1uiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="DeleteRenderbuffers" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="renderbuffers" type="GLuint *" flow="in" count="n" />
+    <function name="VertexAttribP2ui" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
+      <param name="value" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DeleteVertexArrays" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="arrays" type="GLuint *" flow="in" count="n" />
+    <function name="VertexAttribP2uiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="Disablei" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="GLenum" flow="in" />
+    <function name="VertexAttribP3ui" category="VERSION_3_3" extension="Core" version="3.3">
       <param name="index" type="GLuint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
+      <param name="value" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Enablei" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="GLenum" flow="in" />
+    <function name="VertexAttribP3uiv" category="VERSION_3_3" extension="Core" version="3.3">
       <param name="index" type="GLuint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="EndConditionalRender" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="VertexAttribP4ui" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
+      <param name="value" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="EndTransformFeedback" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="VertexAttribP4uiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="FlushMappedBufferRange" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="BufferTargetARB" flow="in" />
-      <param name="offset" type="BufferOffset" flow="in" />
-      <param name="length" type="BufferSize" flow="in" />
+    <function name="VertexP2ui" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="value" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="FramebufferRenderbuffer" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="FramebufferTarget" flow="in" />
-      <param name="attachment" type="FramebufferAttachment" flow="in" />
-      <param name="renderbuffertarget" type="RenderbufferTarget" flow="in" />
-      <param name="renderbuffer" type="GLuint" flow="in" />
+    <function name="VertexP2uiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="FramebufferTexture1D" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="FramebufferTarget" flow="in" />
-      <param name="attachment" type="FramebufferAttachment" flow="in" />
-      <param name="textarget" type="GLenum" flow="in" />
-      <param name="texture" type="GLuint" flow="in" />
-      <param name="level" type="GLint" flow="in" />
+    <function name="VertexP3ui" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="value" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="FramebufferTexture2D" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="FramebufferTarget" flow="in" />
-      <param name="attachment" type="FramebufferAttachment" flow="in" />
-      <param name="textarget" type="GLenum" flow="in" />
-      <param name="texture" type="GLuint" flow="in" />
-      <param name="level" type="GLint" flow="in" />
+    <function name="VertexP3uiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="FramebufferTexture3D" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="FramebufferTarget" flow="in" />
-      <param name="attachment" type="FramebufferAttachment" flow="in" />
-      <param name="textarget" type="GLenum" flow="in" />
-      <param name="texture" type="GLuint" flow="in" />
-      <param name="level" type="GLint" flow="in" />
-      <param name="zoffset" type="GLint" flow="in" />
+    <function name="VertexP4ui" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="value" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="FramebufferTextureLayer" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="FramebufferTarget" flow="in" />
-      <param name="attachment" type="FramebufferAttachment" flow="in" />
-      <param name="texture" type="Texture" flow="in" />
-      <param name="level" type="CheckedInt32" flow="in" />
-      <param name="layer" type="CheckedInt32" flow="in" />
+    <function name="VertexP4uiv" category="VERSION_3_3" extension="Core" version="3.3">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="1" />
+      <returns type="void" />
+    </function>
+  </add>
+  <add name="glcore" version="4.0">
+    <enum name="VERSION_4_0">
+      <token name="SAMPLE_SHADING" value="0x8C36" />
+      <token name="MIN_SAMPLE_SHADING_VALUE" value="0x8C37" />
+      <token name="MIN_PROGRAM_TEXTURE_GATHER_OFFSET" value="0x8E5E" />
+      <token name="MAX_PROGRAM_TEXTURE_GATHER_OFFSET" value="0x8E5F" />
+      <token name="TEXTURE_CUBE_MAP_ARRAY" value="0x9009" />
+      <token name="TEXTURE_BINDING_CUBE_MAP_ARRAY" value="0x900A" />
+      <token name="PROXY_TEXTURE_CUBE_MAP_ARRAY" value="0x900B" />
+      <token name="SAMPLER_CUBE_MAP_ARRAY" value="0x900C" />
+      <token name="SAMPLER_CUBE_MAP_ARRAY_SHADOW" value="0x900D" />
+      <token name="INT_SAMPLER_CUBE_MAP_ARRAY" value="0x900E" />
+      <token name="UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY" value="0x900F" />
+      <token name="DRAW_INDIRECT_BUFFER" value="0x8F3F" />
+      <token name="DRAW_INDIRECT_BUFFER_BINDING" value="0x8F43" />
+      <token name="GEOMETRY_SHADER_INVOCATIONS" value="0x887F" />
+      <token name="MAX_GEOMETRY_SHADER_INVOCATIONS" value="0x8E5A" />
+      <token name="MIN_FRAGMENT_INTERPOLATION_OFFSET" value="0x8E5B" />
+      <token name="MAX_FRAGMENT_INTERPOLATION_OFFSET" value="0x8E5C" />
+      <token name="FRAGMENT_INTERPOLATION_OFFSET_BITS" value="0x8E5D" />
+      <token name="MAX_VERTEX_STREAMS" value="0x8E71" />
+      <token name="DOUBLE_VEC2" value="0x8FFC" />
+      <token name="DOUBLE_VEC3" value="0x8FFD" />
+      <token name="DOUBLE_VEC4" value="0x8FFE" />
+      <token name="DOUBLE_MAT2" value="0x8F46" />
+      <token name="DOUBLE_MAT3" value="0x8F47" />
+      <token name="DOUBLE_MAT4" value="0x8F48" />
+      <token name="DOUBLE_MAT2x3" value="0x8F49" />
+      <token name="DOUBLE_MAT2x4" value="0x8F4A" />
+      <token name="DOUBLE_MAT3x2" value="0x8F4B" />
+      <token name="DOUBLE_MAT3x4" value="0x8F4C" />
+      <token name="DOUBLE_MAT4x2" value="0x8F4D" />
+      <token name="DOUBLE_MAT4x3" value="0x8F4E" />
+      <token name="ACTIVE_SUBROUTINES" value="0x8DE5" />
+      <token name="ACTIVE_SUBROUTINE_UNIFORMS" value="0x8DE6" />
+      <token name="ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS" value="0x8E47" />
+      <token name="ACTIVE_SUBROUTINE_MAX_LENGTH" value="0x8E48" />
+      <token name="ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH" value="0x8E49" />
+      <token name="MAX_SUBROUTINES" value="0x8DE7" />
+      <token name="MAX_SUBROUTINE_UNIFORM_LOCATIONS" value="0x8DE8" />
+      <token name="NUM_COMPATIBLE_SUBROUTINES" value="0x8E4A" />
+      <token name="COMPATIBLE_SUBROUTINES" value="0x8E4B" />
+      <token name="PATCHES" value="0x000E" />
+      <token name="PATCH_VERTICES" value="0x8E72" />
+      <token name="PATCH_DEFAULT_INNER_LEVEL" value="0x8E73" />
+      <token name="PATCH_DEFAULT_OUTER_LEVEL" value="0x8E74" />
+      <token name="TESS_CONTROL_OUTPUT_VERTICES" value="0x8E75" />
+      <token name="TESS_GEN_MODE" value="0x8E76" />
+      <token name="TESS_GEN_SPACING" value="0x8E77" />
+      <token name="TESS_GEN_VERTEX_ORDER" value="0x8E78" />
+      <token name="TESS_GEN_POINT_MODE" value="0x8E79" />
+      <token name="ISOLINES" value="0x8E7A" />
+      <token name="QUADS" value="0x0007" />
+      <token name="FRACTIONAL_ODD" value="0x8E7B" />
+      <token name="FRACTIONAL_EVEN" value="0x8E7C" />
+      <token name="MAX_PATCH_VERTICES" value="0x8E7D" />
+      <token name="MAX_TESS_GEN_LEVEL" value="0x8E7E" />
+      <token name="MAX_TESS_CONTROL_UNIFORM_COMPONENTS" value="0x8E7F" />
+      <token name="MAX_TESS_EVALUATION_UNIFORM_COMPONENTS" value="0x8E80" />
+      <token name="MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS" value="0x8E81" />
+      <token name="MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS" value="0x8E82" />
+      <token name="MAX_TESS_CONTROL_OUTPUT_COMPONENTS" value="0x8E83" />
+      <token name="MAX_TESS_PATCH_COMPONENTS" value="0x8E84" />
+      <token name="MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS" value="0x8E85" />
+      <token name="MAX_TESS_EVALUATION_OUTPUT_COMPONENTS" value="0x8E86" />
+      <token name="MAX_TESS_CONTROL_UNIFORM_BLOCKS" value="0x8E89" />
+      <token name="MAX_TESS_EVALUATION_UNIFORM_BLOCKS" value="0x8E8A" />
+      <token name="MAX_TESS_CONTROL_INPUT_COMPONENTS" value="0x886C" />
+      <token name="MAX_TESS_EVALUATION_INPUT_COMPONENTS" value="0x886D" />
+      <token name="MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS" value="0x8E1E" />
+      <token name="MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS" value="0x8E1F" />
+      <token name="UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER" value="0x84F0" />
+      <token name="UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER" value="0x84F1" />
+      <token name="TESS_EVALUATION_SHADER" value="0x8E87" />
+      <token name="TESS_CONTROL_SHADER" value="0x8E88" />
+      <token name="TRANSFORM_FEEDBACK" value="0x8E22" />
+      <token name="TRANSFORM_FEEDBACK_BUFFER_PAUSED" value="0x8E23" />
+      <token name="TRANSFORM_FEEDBACK_BUFFER_ACTIVE" value="0x8E24" />
+      <token name="TRANSFORM_FEEDBACK_BINDING" value="0x8E25" />
+      <token name="MAX_TRANSFORM_FEEDBACK_BUFFERS" value="0x8E70" />
+      <token name="MAX_VERTEX_STREAMS" value="0x8E71" />
+    </enum>
+    <function name="BeginQueryIndexed" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="id" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BindTransformFeedback" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="id" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BlendEquationi" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="buf" type="GLuint" flow="in" />
+      <param name="mode" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BlendEquationSeparatei" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="buf" type="GLuint" flow="in" />
+      <param name="modeRGB" type="GLenum" flow="in" />
+      <param name="modeAlpha" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="BlendFunci" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="buf" type="GLuint" flow="in" />
+      <param name="src" type="GLenum" flow="in" />
+      <param name="dst" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GenerateMipmap" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="GLenum" flow="in" />
+    <function name="BlendFuncSeparatei" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="buf" type="GLuint" flow="in" />
+      <param name="srcRGB" type="GLenum" flow="in" />
+      <param name="dstRGB" type="GLenum" flow="in" />
+      <param name="srcAlpha" type="GLenum" flow="in" />
+      <param name="dstAlpha" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GenFramebuffers" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="DeleteTransformFeedbacks" category="VERSION_4_0" extension="Core" version="4.0">
       <param name="n" type="GLsizei" flow="in" />
-      <param name="framebuffers" type="GLuint *" flow="out" count="n" />
+      <param name="ids" type="GLuint *" flow="in" count="n" />
       <returns type="void" />
     </function>
-    <function name="GenRenderbuffers" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="renderbuffers" type="GLuint *" flow="out" count="n" />
+    <function name="DrawArraysIndirect" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="indirect" type="void *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GenVertexArrays" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="arrays" type="GLuint *" flow="out" count="n" />
+    <function name="DrawElementsIndirect" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="indirect" type="void *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetBooleani_v" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="data" type="Boolean *" flow="out" count="COMPSIZE(target)" />
+    <function name="DrawTransformFeedback" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="id" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetFragDataLocation" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="name" type="GLchar *" flow="in" count="COMPSIZE(name)" />
-      <returns type="GLint" />
-    </function>
-    <function name="GetFramebufferAttachmentParameteriv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="FramebufferTarget" flow="in" />
-      <param name="attachment" type="FramebufferAttachment" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="DrawTransformFeedbackStream" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="id" type="GLuint" flow="in" />
+      <param name="stream" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetIntegeri_v" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="EndQueryIndexed" category="VERSION_4_0" extension="Core" version="4.0">
       <param name="target" type="GLenum" flow="in" />
       <param name="index" type="GLuint" flow="in" />
-      <param name="data" type="GLint *" flow="out" count="COMPSIZE(target)" />
       <returns type="void" />
     </function>
-    <function name="GetRenderbufferParameteriv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="RenderbufferTarget" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="GenTransformFeedbacks" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="ids" type="GLuint *" flow="out" count="n" />
       <returns type="void" />
     </function>
-    <function name="GetStringi" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="name" type="GLenum" flow="in" />
+    <function name="GetActiveSubroutineName" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="shadertype" type="GLenum" flow="in" />
       <param name="index" type="GLuint" flow="in" />
-      <returns type="String" />
-    </function>
-    <function name="GetTexParameterIiv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="pname" type="GetTextureParameter" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <param name="bufsize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="name" type="GLchar *" flow="out" count="bufsize" />
       <returns type="void" />
     </function>
-    <function name="GetTexParameterIuiv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="pname" type="GetTextureParameter" flow="in" />
-      <param name="params" type="GLuint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="GetActiveSubroutineUniformiv" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="shadertype" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="values" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="GetTransformFeedbackVarying" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="GetActiveSubroutineUniformName" category="VERSION_4_0" extension="Core" version="4.0">
       <param name="program" type="GLuint" flow="in" />
+      <param name="shadertype" type="GLenum" flow="in" />
       <param name="index" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="bufsize" type="GLsizei" flow="in" />
       <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="size" type="GLsizei *" flow="out" count="1" />
-      <param name="type" type="GLenum *" flow="out" count="1" />
-      <param name="name" type="GLchar *" flow="out" count="bufSize" />
+      <param name="name" type="GLchar *" flow="out" count="bufsize" />
       <returns type="void" />
     </function>
-    <function name="GetUniformuiv" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="GetProgramStageiv" category="VERSION_4_0" extension="Core" version="4.0">
       <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="params" type="GLuint *" flow="out" count="COMPSIZE(program,location)" />
+      <param name="shadertype" type="GLenum" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="values" type="GLint *" flow="out" count="1" />
       <returns type="void" />
     </function>
-    <function name="GetVertexAttribIiv" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="GetQueryIndexediv" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="target" type="GLenum" flow="in" />
       <param name="index" type="GLuint" flow="in" />
-      <param name="pname" type="VertexAttribEnum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="1" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="GetVertexAttribIuiv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="pname" type="VertexAttribEnum" flow="in" />
-      <param name="params" type="GLuint *" flow="out" count="1" />
-      <returns type="void" />
+    <function name="GetSubroutineIndex" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="shadertype" type="GLenum" flow="in" />
+      <param name="name" type="GLchar *" flow="in" />
+      <returns type="GLuint" />
     </function>
-    <function name="IsEnabledi" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <returns type="Boolean" />
+    <function name="GetSubroutineUniformLocation" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="shadertype" type="GLenum" flow="in" />
+      <param name="name" type="GLchar *" flow="in" />
+      <returns type="GLint" />
     </function>
-    <function name="IsFramebuffer" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="framebuffer" type="GLuint" flow="in" />
-      <returns type="Boolean" />
+    <function name="GetUniformdv" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="params" type="GLdouble *" flow="out" count="COMPSIZE(program,location)" />
+      <returns type="void" />
     </function>
-    <function name="IsRenderbuffer" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="renderbuffer" type="GLuint" flow="in" />
-      <returns type="Boolean" />
+    <function name="GetUniformSubroutineuiv" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="shadertype" type="GLenum" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="params" type="GLuint *" flow="out" count="1" />
+      <returns type="void" />
     </function>
-    <function name="IsVertexArray" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="array" type="GLuint" flow="in" />
+    <function name="IsTransformFeedback" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="id" type="GLuint" flow="in" />
       <returns type="Boolean" />
     </function>
-    <function name="MapBufferRange" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="BufferTargetARB" flow="in" />
-      <param name="offset" type="BufferOffset" flow="in" />
-      <param name="length" type="BufferSize" flow="in" />
-      <param name="access" type="BufferAccessMask" flow="in" />
-      <returns type="void *" />
-    </function>
-    <function name="RenderbufferStorage" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="RenderbufferTarget" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
+    <function name="MinSampleShading" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="value" type="ColorF" flow="in" />
       <returns type="void" />
     </function>
-    <function name="RenderbufferStorageMultisample" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="samples" type="GLsizei" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
+    <function name="PatchParameterfv" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="values" type="GLfloat *" flow="in" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="TexParameterIiv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="pname" type="TextureParameterName" flow="in" />
-      <param name="params" type="GLint *" flow="in" count="COMPSIZE(pname)" />
+    <function name="PatchParameteri" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="value" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="TexParameterIuiv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="pname" type="TextureParameterName" flow="in" />
-      <param name="params" type="GLuint *" flow="in" count="COMPSIZE(pname)" />
+    <function name="PauseTransformFeedback" category="VERSION_4_0" extension="Core" version="4.0">
       <returns type="void" />
     </function>
-    <function name="TransformFeedbackVaryings" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="varyings" type="GLchar **" flow="in" count="count" />
-      <param name="bufferMode" type="GLenum" flow="in" />
+    <function name="ResumeTransformFeedback" category="VERSION_4_0" extension="Core" version="4.0">
       <returns type="void" />
     </function>
-    <function name="Uniform1ui" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="Uniform1d" category="VERSION_4_0" extension="Core" version="4.0">
       <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLuint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform1uiv" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="Uniform1dv" category="VERSION_4_0" extension="Core" version="4.0">
       <param name="location" type="GLint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="count*1" />
+      <param name="value" type="GLdouble *" flow="in" count="count*1" />
       <returns type="void" />
     </function>
-    <function name="Uniform2ui" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="Uniform2d" category="VERSION_4_0" extension="Core" version="4.0">
       <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLuint" flow="in" />
-      <param name="v1" type="GLuint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
+      <param name="y" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform2uiv" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="Uniform2dv" category="VERSION_4_0" extension="Core" version="4.0">
       <param name="location" type="GLint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="count*2" />
+      <param name="value" type="GLdouble *" flow="in" count="count*2" />
       <returns type="void" />
     </function>
-    <function name="Uniform3ui" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="Uniform3d" category="VERSION_4_0" extension="Core" version="4.0">
       <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLuint" flow="in" />
-      <param name="v1" type="GLuint" flow="in" />
-      <param name="v2" type="GLuint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
+      <param name="y" type="GLdouble" flow="in" />
+      <param name="z" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform3uiv" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="Uniform3dv" category="VERSION_4_0" extension="Core" version="4.0">
       <param name="location" type="GLint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="count*3" />
+      <param name="value" type="GLdouble *" flow="in" count="count*3" />
       <returns type="void" />
     </function>
-    <function name="Uniform4ui" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="Uniform4d" category="VERSION_4_0" extension="Core" version="4.0">
       <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLuint" flow="in" />
-      <param name="v1" type="GLuint" flow="in" />
-      <param name="v2" type="GLuint" flow="in" />
-      <param name="v3" type="GLuint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
+      <param name="y" type="GLdouble" flow="in" />
+      <param name="z" type="GLdouble" flow="in" />
+      <param name="w" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="Uniform4uiv" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="Uniform4dv" category="VERSION_4_0" extension="Core" version="4.0">
       <param name="location" type="GLint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="count*4" />
-      <returns type="void" />
-    </function>
-    <function name="VertexAttribI1i" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLint" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*4" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribI1iv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLint *" flow="in" count="1" />
+    <function name="UniformMatrix2dv" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*4" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribI1ui" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLuint" flow="in" />
+    <function name="UniformMatrix2x3dv" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*6" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribI1uiv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLuint *" flow="in" count="1" />
+    <function name="UniformMatrix2x4dv" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*8" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribI2i" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLint" flow="in" />
-      <param name="y" type="GLint" flow="in" />
+    <function name="UniformMatrix3dv" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*9" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribI2iv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLint *" flow="in" count="2" />
+    <function name="UniformMatrix3x2dv" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*6" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribI2ui" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLuint" flow="in" />
-      <param name="y" type="GLuint" flow="in" />
+    <function name="UniformMatrix3x4dv" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*12" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribI2uiv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLuint *" flow="in" count="2" />
+    <function name="UniformMatrix4dv" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*16" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribI3i" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLint" flow="in" />
-      <param name="y" type="GLint" flow="in" />
-      <param name="z" type="GLint" flow="in" />
+    <function name="UniformMatrix4x2dv" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*8" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribI3iv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLint *" flow="in" count="3" />
+    <function name="UniformMatrix4x3dv" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count*12" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribI3ui" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLuint" flow="in" />
-      <param name="y" type="GLuint" flow="in" />
-      <param name="z" type="GLuint" flow="in" />
+    <function name="UniformSubroutinesuiv" category="VERSION_4_0" extension="Core" version="4.0">
+      <param name="shadertype" type="GLenum" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="indices" type="GLuint *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribI3uiv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLuint *" flow="in" count="3" />
+  </add>
+  <add name="glcore" version="4.1">
+    <enum name="VERSION_4_1">
+      <token name="FIXED" value="0x140C" />
+      <token name="IMPLEMENTATION_COLOR_READ_TYPE" value="0x8B9A" />
+      <token name="IMPLEMENTATION_COLOR_READ_FORMAT" value="0x8B9B" />
+      <token name="LOW_FLOAT" value="0x8DF0" />
+      <token name="MEDIUM_FLOAT" value="0x8DF1" />
+      <token name="HIGH_FLOAT" value="0x8DF2" />
+      <token name="LOW_INT" value="0x8DF3" />
+      <token name="MEDIUM_INT" value="0x8DF4" />
+      <token name="HIGH_INT" value="0x8DF5" />
+      <token name="SHADER_COMPILER" value="0x8DFA" />
+      <token name="SHADER_BINARY_FORMATS" value="0x8DF8" />
+      <token name="NUM_SHADER_BINARY_FORMATS" value="0x8DF9" />
+      <token name="MAX_VERTEX_UNIFORM_VECTORS" value="0x8DFB" />
+      <token name="MAX_VARYING_VECTORS" value="0x8DFC" />
+      <token name="MAX_FRAGMENT_UNIFORM_VECTORS" value="0x8DFD" />
+      <token name="RGB565" value="0x8D62" />
+      <token name="PROGRAM_BINARY_RETRIEVABLE_HINT" value="0x8257" />
+      <token name="PROGRAM_BINARY_LENGTH" value="0x8741" />
+      <token name="NUM_PROGRAM_BINARY_FORMATS" value="0x87FE" />
+      <token name="PROGRAM_BINARY_FORMATS" value="0x87FF" />
+      <token name="VERTEX_SHADER_BIT" value="0x00000001" />
+      <token name="FRAGMENT_SHADER_BIT" value="0x00000002" />
+      <token name="GEOMETRY_SHADER_BIT" value="0x00000004" />
+      <token name="TESS_CONTROL_SHADER_BIT" value="0x00000008" />
+      <token name="TESS_EVALUATION_SHADER_BIT" value="0x00000010" />
+      <token name="ALL_SHADER_BITS" value="0xFFFFFFFF" />
+      <token name="PROGRAM_SEPARABLE" value="0x8258" />
+      <token name="ACTIVE_PROGRAM" value="0x8259" />
+      <token name="PROGRAM_PIPELINE_BINDING" value="0x825A" />
+      <token name="MAX_VIEWPORTS" value="0x825B" />
+      <token name="VIEWPORT_SUBPIXEL_BITS" value="0x825C" />
+      <token name="VIEWPORT_BOUNDS_RANGE" value="0x825D" />
+      <token name="LAYER_PROVOKING_VERTEX" value="0x825E" />
+      <token name="VIEWPORT_INDEX_PROVOKING_VERTEX" value="0x825F" />
+      <token name="UNDEFINED_VERTEX" value="0x8260" />
+    </enum>
+    <function name="ActiveShaderProgram" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="pipeline" type="GLuint" flow="in" />
+      <param name="program" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribI4bv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLbyte *" flow="in" count="4" />
+    <function name="BindProgramPipeline" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="pipeline" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribI4i" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLint" flow="in" />
-      <param name="y" type="GLint" flow="in" />
-      <param name="z" type="GLint" flow="in" />
-      <param name="w" type="GLint" flow="in" />
+    <function name="ClearDepthf" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="d" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribI4iv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLint *" flow="in" count="4" />
-      <returns type="void" />
+    <function name="CreateShaderProgramv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="type" type="GLenum" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="strings" type="GLchar **" flow="in" count="count" />
+      <returns type="GLuint" />
     </function>
-    <function name="VertexAttribI4sv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLshort *" flow="in" count="4" />
+    <function name="DeleteProgramPipelines" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="pipelines" type="GLuint *" flow="in" count="n" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribI4ubv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLubyte *" flow="in" count="4" />
+    <function name="DepthRangeArrayv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="first" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="v" type="GLdouble *" flow="in" count="COMPSIZE(count)" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribI4ui" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLuint" flow="in" />
-      <param name="y" type="GLuint" flow="in" />
-      <param name="z" type="GLuint" flow="in" />
-      <param name="w" type="GLuint" flow="in" />
+    <function name="DepthRangef" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="n" type="GLfloat" flow="in" />
+      <param name="f" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribI4uiv" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="DepthRangeIndexed" category="VERSION_4_1" extension="Core" version="4.1">
       <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLuint *" flow="in" count="4" />
+      <param name="n" type="GLdouble" flow="in" />
+      <param name="f" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribI4usv" category="VERSION_3_0" extension="Core" version="3.0">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLushort *" flow="in" count="4" />
+    <function name="GenProgramPipelines" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="pipelines" type="GLuint *" flow="out" count="n" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribIPointer" category="VERSION_3_0" extension="Core" version="3.0">
+    <function name="GetDoublei_v" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="target" type="GLenum" flow="in" />
       <param name="index" type="GLuint" flow="in" />
-      <param name="size" type="GLint" flow="in" />
-      <param name="type" type="VertexAttribEnum" flow="in" />
-      <param name="stride" type="GLsizei" flow="in" />
-      <param name="pointer" type="void *" flow="in" count="COMPSIZE(size,type,stride)" />
-      <returns type="void" />
-    </function>
-  </add>
-  <add name="glcore" version="3.1">
-    <enum name="VERSION_3_1">
-      <token name="SAMPLER_2D_RECT" value="0x8B63" />
-      <token name="SAMPLER_2D_RECT_SHADOW" value="0x8B64" />
-      <token name="SAMPLER_BUFFER" value="0x8DC2" />
-      <token name="INT_SAMPLER_2D_RECT" value="0x8DCD" />
-      <token name="INT_SAMPLER_BUFFER" value="0x8DD0" />
-      <token name="UNSIGNED_INT_SAMPLER_2D_RECT" value="0x8DD5" />
-      <token name="UNSIGNED_INT_SAMPLER_BUFFER" value="0x8DD8" />
-      <token name="TEXTURE_BUFFER" value="0x8C2A" />
-      <token name="MAX_TEXTURE_BUFFER_SIZE" value="0x8C2B" />
-      <token name="TEXTURE_BINDING_BUFFER" value="0x8C2C" />
-      <token name="TEXTURE_BUFFER_DATA_STORE_BINDING" value="0x8C2D" />
-      <token name="TEXTURE_RECTANGLE" value="0x84F5" />
-      <token name="TEXTURE_BINDING_RECTANGLE" value="0x84F6" />
-      <token name="PROXY_TEXTURE_RECTANGLE" value="0x84F7" />
-      <token name="MAX_RECTANGLE_TEXTURE_SIZE" value="0x84F8" />
-      <token name="R8_SNORM" value="0x8F94" />
-      <token name="RG8_SNORM" value="0x8F95" />
-      <token name="RGB8_SNORM" value="0x8F96" />
-      <token name="RGBA8_SNORM" value="0x8F97" />
-      <token name="R16_SNORM" value="0x8F98" />
-      <token name="RG16_SNORM" value="0x8F99" />
-      <token name="RGB16_SNORM" value="0x8F9A" />
-      <token name="RGBA16_SNORM" value="0x8F9B" />
-      <token name="SIGNED_NORMALIZED" value="0x8F9C" />
-      <token name="PRIMITIVE_RESTART" value="0x8F9D" />
-      <token name="PRIMITIVE_RESTART_INDEX" value="0x8F9E" />
-      <token name="COPY_READ_BUFFER" value="0x8F36" />
-      <token name="COPY_WRITE_BUFFER" value="0x8F37" />
-      <token name="UNIFORM_BUFFER" value="0x8A11" />
-      <token name="UNIFORM_BUFFER_BINDING" value="0x8A28" />
-      <token name="UNIFORM_BUFFER_START" value="0x8A29" />
-      <token name="UNIFORM_BUFFER_SIZE" value="0x8A2A" />
-      <token name="MAX_VERTEX_UNIFORM_BLOCKS" value="0x8A2B" />
-      <token name="MAX_GEOMETRY_UNIFORM_BLOCKS" value="0x8A2C" />
-      <token name="MAX_FRAGMENT_UNIFORM_BLOCKS" value="0x8A2D" />
-      <token name="MAX_COMBINED_UNIFORM_BLOCKS" value="0x8A2E" />
-      <token name="MAX_UNIFORM_BUFFER_BINDINGS" value="0x8A2F" />
-      <token name="MAX_UNIFORM_BLOCK_SIZE" value="0x8A30" />
-      <token name="MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS" value="0x8A31" />
-      <token name="MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS" value="0x8A32" />
-      <token name="MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS" value="0x8A33" />
-      <token name="UNIFORM_BUFFER_OFFSET_ALIGNMENT" value="0x8A34" />
-      <token name="ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH" value="0x8A35" />
-      <token name="ACTIVE_UNIFORM_BLOCKS" value="0x8A36" />
-      <token name="UNIFORM_TYPE" value="0x8A37" />
-      <token name="UNIFORM_SIZE" value="0x8A38" />
-      <token name="UNIFORM_NAME_LENGTH" value="0x8A39" />
-      <token name="UNIFORM_BLOCK_INDEX" value="0x8A3A" />
-      <token name="UNIFORM_OFFSET" value="0x8A3B" />
-      <token name="UNIFORM_ARRAY_STRIDE" value="0x8A3C" />
-      <token name="UNIFORM_MATRIX_STRIDE" value="0x8A3D" />
-      <token name="UNIFORM_IS_ROW_MAJOR" value="0x8A3E" />
-      <token name="UNIFORM_BLOCK_BINDING" value="0x8A3F" />
-      <token name="UNIFORM_BLOCK_DATA_SIZE" value="0x8A40" />
-      <token name="UNIFORM_BLOCK_NAME_LENGTH" value="0x8A41" />
-      <token name="UNIFORM_BLOCK_ACTIVE_UNIFORMS" value="0x8A42" />
-      <token name="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES" value="0x8A43" />
-      <token name="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER" value="0x8A44" />
-      <token name="UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER" value="0x8A45" />
-      <token name="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER" value="0x8A46" />
-      <token name="INVALID_INDEX" value="0xFFFFFFFF" />
-    </enum>
-    <function name="CopyBufferSubData" category="VERSION_3_1" extension="Core" version="3.1">
-      <param name="readTarget" type="GLenum" flow="in" />
-      <param name="writeTarget" type="GLenum" flow="in" />
-      <param name="readOffset" type="BufferOffset" flow="in" />
-      <param name="writeOffset" type="BufferOffset" flow="in" />
-      <param name="size" type="BufferSize" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="DrawArraysInstanced" category="VERSION_3_1" extension="Core" version="3.1">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="first" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="instancecount" type="GLsizei" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="DrawElementsInstanced" category="VERSION_3_1" extension="Core" version="3.1">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="type" type="DrawElementsType" flow="in" />
-      <param name="indices" type="void *" flow="in" count="COMPSIZE(count,type)" />
-      <param name="instancecount" type="GLsizei" flow="in" />
+      <param name="data" type="GLdouble *" flow="out" count="COMPSIZE(target)" />
       <returns type="void" />
     </function>
-    <function name="GetActiveUniformBlockiv" category="VERSION_3_1" extension="Core" version="3.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="uniformBlockIndex" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(program, uniformBlockIndex, pname)" />
+    <function name="GetFloati_v" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="target" type="TypeEnum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="data" type="GLfloat *" flow="out" count="COMPSIZE(target)" />
       <returns type="void" />
     </function>
-    <function name="GetActiveUniformBlockName" category="VERSION_3_1" extension="Core" version="3.1">
+    <function name="GetProgramBinary" category="VERSION_4_1" extension="Core" version="4.1">
       <param name="program" type="GLuint" flow="in" />
-      <param name="uniformBlockIndex" type="GLuint" flow="in" />
       <param name="bufSize" type="GLsizei" flow="in" />
       <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="uniformBlockName" type="GLchar *" flow="out" count="bufSize" />
+      <param name="binaryFormat" type="GLenum *" flow="out" count="1" />
+      <param name="binary" type="void *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="GetActiveUniformName" category="VERSION_3_1" extension="Core" version="3.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="uniformIndex" type="GLuint" flow="in" />
+    <function name="GetProgramPipelineInfoLog" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="pipeline" type="GLuint" flow="in" />
       <param name="bufSize" type="GLsizei" flow="in" />
       <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="uniformName" type="GLchar *" flow="out" count="bufSize" />
+      <param name="infoLog" type="GLchar *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="GetActiveUniformsiv" category="VERSION_3_1" extension="Core" version="3.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="uniformCount" type="GLsizei" flow="in" />
-      <param name="uniformIndices" type="GLuint *" flow="in" count="uniformCount" />
+    <function name="GetProgramPipelineiv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="pipeline" type="GLuint" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(uniformCount, pname)" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="GetUniformBlockIndex" category="VERSION_3_1" extension="Core" version="3.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="uniformBlockName" type="GLchar *" flow="in" count="COMPSIZE()" />
-      <returns type="GLuint" />
-    </function>
-    <function name="GetUniformIndices" category="VERSION_3_1" extension="Core" version="3.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="uniformCount" type="GLsizei" flow="in" />
-      <param name="uniformNames" type="GLchar **" flow="in" count="COMPSIZE(uniformCount)" />
-      <param name="uniformIndices" type="GLuint *" flow="out" count="COMPSIZE(uniformCount)" />
+    <function name="GetShaderPrecisionFormat" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="shadertype" type="GLenum" flow="in" />
+      <param name="precisiontype" type="GLenum" flow="in" />
+      <param name="range" type="GLint *" flow="out" count="2" />
+      <param name="precision" type="GLint *" flow="out" count="2" />
       <returns type="void" />
     </function>
-    <function name="PrimitiveRestartIndex" category="VERSION_3_1" extension="Core" version="3.1">
+    <function name="GetVertexAttribLdv" category="VERSION_4_1" extension="Core" version="4.1">
       <param name="index" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLdouble *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="TexBuffer" category="VERSION_3_1" extension="Core" version="3.1">
-      <param name="target" type="TextureTarget" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
-      <param name="buffer" type="GLuint" flow="in" />
-      <returns type="void" />
+    <function name="IsProgramPipeline" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="pipeline" type="GLuint" flow="in" />
+      <returns type="Boolean" />
     </function>
-    <function name="UniformBlockBinding" category="VERSION_3_1" extension="Core" version="3.1">
+    <function name="ProgramBinary" category="VERSION_4_1" extension="Core" version="4.1">
       <param name="program" type="GLuint" flow="in" />
-      <param name="uniformBlockIndex" type="GLuint" flow="in" />
-      <param name="uniformBlockBinding" type="GLuint" flow="in" />
-      <returns type="void" />
-    </function>
-  </add>
-  <add name="glcore" version="3.2">
-    <enum name="VERSION_3_2">
-      <token name="CONTEXT_CORE_PROFILE_BIT" value="0x00000001" />
-      <token name="CONTEXT_COMPATIBILITY_PROFILE_BIT" value="0x00000002" />
-      <token name="LINES_ADJACENCY" value="0x000A" />
-      <token name="LINE_STRIP_ADJACENCY" value="0x000B" />
-      <token name="TRIANGLES_ADJACENCY" value="0x000C" />
-      <token name="TRIANGLE_STRIP_ADJACENCY" value="0x000D" />
-      <token name="PROGRAM_POINT_SIZE" value="0x8642" />
-      <token name="MAX_GEOMETRY_TEXTURE_IMAGE_UNITS" value="0x8C29" />
-      <token name="FRAMEBUFFER_ATTACHMENT_LAYERED" value="0x8DA7" />
-      <token name="FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS" value="0x8DA8" />
-      <token name="GEOMETRY_SHADER" value="0x8DD9" />
-      <token name="GEOMETRY_VERTICES_OUT" value="0x8916" />
-      <token name="GEOMETRY_INPUT_TYPE" value="0x8917" />
-      <token name="GEOMETRY_OUTPUT_TYPE" value="0x8918" />
-      <token name="MAX_GEOMETRY_UNIFORM_COMPONENTS" value="0x8DDF" />
-      <token name="MAX_GEOMETRY_OUTPUT_VERTICES" value="0x8DE0" />
-      <token name="MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS" value="0x8DE1" />
-      <token name="MAX_VERTEX_OUTPUT_COMPONENTS" value="0x9122" />
-      <token name="MAX_GEOMETRY_INPUT_COMPONENTS" value="0x9123" />
-      <token name="MAX_GEOMETRY_OUTPUT_COMPONENTS" value="0x9124" />
-      <token name="MAX_FRAGMENT_INPUT_COMPONENTS" value="0x9125" />
-      <token name="CONTEXT_PROFILE_MASK" value="0x9126" />
-      <token name="DEPTH_CLAMP" value="0x864F" />
-      <token name="QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION" value="0x8E4C" />
-      <token name="FIRST_VERTEX_CONVENTION" value="0x8E4D" />
-      <token name="LAST_VERTEX_CONVENTION" value="0x8E4E" />
-      <token name="PROVOKING_VERTEX" value="0x8E4F" />
-      <token name="TEXTURE_CUBE_MAP_SEAMLESS" value="0x884F" />
-      <token name="MAX_SERVER_WAIT_TIMEOUT" value="0x9111" />
-      <token name="OBJECT_TYPE" value="0x9112" />
-      <token name="SYNC_CONDITION" value="0x9113" />
-      <token name="SYNC_STATUS" value="0x9114" />
-      <token name="SYNC_FLAGS" value="0x9115" />
-      <token name="SYNC_FENCE" value="0x9116" />
-      <token name="SYNC_GPU_COMMANDS_COMPLETE" value="0x9117" />
-      <token name="UNSIGNALED" value="0x9118" />
-      <token name="SIGNALED" value="0x9119" />
-      <token name="ALREADY_SIGNALED" value="0x911A" />
-      <token name="TIMEOUT_EXPIRED" value="0x911B" />
-      <token name="CONDITION_SATISFIED" value="0x911C" />
-      <token name="WAIT_FAILED" value="0x911D" />
-      <token name="TIMEOUT_IGNORED" value="0xFFFFFFFFFFFFFFFF" />
-      <token name="SYNC_FLUSH_COMMANDS_BIT" value="0x00000001" />
-      <token name="SAMPLE_POSITION" value="0x8E50" />
-      <token name="SAMPLE_MASK" value="0x8E51" />
-      <token name="SAMPLE_MASK_VALUE" value="0x8E52" />
-      <token name="MAX_SAMPLE_MASK_WORDS" value="0x8E59" />
-      <token name="TEXTURE_2D_MULTISAMPLE" value="0x9100" />
-      <token name="PROXY_TEXTURE_2D_MULTISAMPLE" value="0x9101" />
-      <token name="TEXTURE_2D_MULTISAMPLE_ARRAY" value="0x9102" />
-      <token name="PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY" value="0x9103" />
-      <token name="TEXTURE_BINDING_2D_MULTISAMPLE" value="0x9104" />
-      <token name="TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY" value="0x9105" />
-      <token name="TEXTURE_SAMPLES" value="0x9106" />
-      <token name="TEXTURE_FIXED_SAMPLE_LOCATIONS" value="0x9107" />
-      <token name="SAMPLER_2D_MULTISAMPLE" value="0x9108" />
-      <token name="INT_SAMPLER_2D_MULTISAMPLE" value="0x9109" />
-      <token name="UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE" value="0x910A" />
-      <token name="SAMPLER_2D_MULTISAMPLE_ARRAY" value="0x910B" />
-      <token name="INT_SAMPLER_2D_MULTISAMPLE_ARRAY" value="0x910C" />
-      <token name="UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY" value="0x910D" />
-      <token name="MAX_COLOR_TEXTURE_SAMPLES" value="0x910E" />
-      <token name="MAX_DEPTH_TEXTURE_SAMPLES" value="0x910F" />
-      <token name="MAX_INTEGER_SAMPLES" value="0x9110" />
-    </enum>
-    <function name="ClientWaitSync" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="sync" type="sync" flow="in" />
-      <param name="flags" type="GLbitfield" flow="in" />
-      <param name="timeout" type="GLuint64" flow="in" />
-      <returns type="GLenum" />
-    </function>
-    <function name="DeleteSync" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="sync" type="sync" flow="in" />
+      <param name="binaryFormat" type="GLenum" flow="in" />
+      <param name="binary" type="void *" flow="in" count="length" />
+      <param name="length" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DrawElementsBaseVertex" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="type" type="DrawElementsType" flow="in" />
-      <param name="indices" type="void *" flow="in" count="COMPSIZE(count,type)" />
-      <param name="basevertex" type="GLint" flow="in" />
+    <function name="ProgramParameteri" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="pname" type="ProgramParameterPName" flow="in" />
+      <param name="value" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DrawElementsInstancedBaseVertex" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="type" type="DrawElementsType" flow="in" />
-      <param name="indices" type="void *" flow="in" count="COMPSIZE(count,type)" />
-      <param name="instancecount" type="GLsizei" flow="in" />
-      <param name="basevertex" type="GLint" flow="in" />
+    <function name="ProgramUniform1d" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DrawRangeElementsBaseVertex" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="start" type="GLuint" flow="in" />
-      <param name="end" type="GLuint" flow="in" />
+    <function name="ProgramUniform1dv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="type" type="DrawElementsType" flow="in" />
-      <param name="indices" type="void *" flow="in" count="COMPSIZE(count,type)" />
-      <param name="basevertex" type="GLint" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="FenceSync" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="condition" type="GLenum" flow="in" />
-      <param name="flags" type="GLbitfield" flow="in" />
-      <returns type="sync" />
-    </function>
-    <function name="FramebufferTexture" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="attachment" type="GLenum" flow="in" />
-      <param name="texture" type="GLuint" flow="in" />
-      <param name="level" type="GLint" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="GetBufferParameteri64v" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="target" type="BufferTargetARB" flow="in" />
-      <param name="pname" type="BufferPNameARB" flow="in" />
-      <param name="params" type="GLint64 *" flow="out" count="COMPSIZE(pname)" />
-      <returns type="void" />
-    </function>
-    <function name="GetInteger64i_v" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="data" type="GLint64 *" flow="out" count="COMPSIZE(target)" />
+      <param name="value" type="GLdouble *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="GetInteger64v" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="data" type="GLint64 *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ProgramUniform1f" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetMultisamplefv" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="val" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ProgramUniform1fv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="GetSynciv" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="sync" type="sync" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="values" type="GLint *" flow="out" count="bufSize" />
+    <function name="ProgramUniform1i" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="IsSync" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="sync" type="sync" flow="in" />
-      <returns type="Boolean" />
-    </function>
-    <function name="MultiDrawElementsBaseVertex" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="mode" type="GLenum" flow="in" />
-      <param name="count" type="GLsizei *" flow="in" count="COMPSIZE(drawcount)" />
-      <param name="type" type="DrawElementsType" flow="in" />
-      <param name="indices" type="void **" flow="in" count="COMPSIZE(drawcount)" />
-      <param name="drawcount" type="GLsizei" flow="in" />
-      <param name="basevertex" type="GLint *" flow="in" count="COMPSIZE(drawcount)" />
+    <function name="ProgramUniform1iv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="ProvokingVertex" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="mode" type="GLenum" flow="in" />
+    <function name="ProgramUniform1ui" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="SampleMaski" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="maskNumber" type="GLuint" flow="in" />
-      <param name="mask" type="GLbitfield" flow="in" />
+    <function name="ProgramUniform1uiv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="TexImage2DMultisample" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="samples" type="GLsizei" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
-      <param name="fixedsamplelocations" type="Boolean" flow="in" />
+    <function name="ProgramUniform2d" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLdouble" flow="in" />
+      <param name="v1" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="TexImage3DMultisample" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="samples" type="GLsizei" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
-      <param name="depth" type="GLsizei" flow="in" />
-      <param name="fixedsamplelocations" type="Boolean" flow="in" />
+    <function name="ProgramUniform2dv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="WaitSync" category="VERSION_3_2" extension="Core" version="3.2">
-      <param name="sync" type="sync" flow="in" />
-      <param name="flags" type="GLbitfield" flow="in" />
-      <param name="timeout" type="GLuint64" flow="in" />
+    <function name="ProgramUniform2f" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLfloat" flow="in" />
+      <param name="v1" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-  </add>
-  <add name="glcore" version="3.3">
-    <enum name="VERSION_3_3">
-      <token name="VERTEX_ATTRIB_ARRAY_DIVISOR" value="0x88FE" />
-      <token name="SRC1_COLOR" value="0x88F9" />
-      <token name="ONE_MINUS_SRC1_COLOR" value="0x88FA" />
-      <token name="ONE_MINUS_SRC1_ALPHA" value="0x88FB" />
-      <token name="MAX_DUAL_SOURCE_DRAW_BUFFERS" value="0x88FC" />
-      <token name="ANY_SAMPLES_PASSED" value="0x8C2F" />
-      <token name="SAMPLER_BINDING" value="0x8919" />
-      <token name="RGB10_A2UI" value="0x906F" />
-      <token name="TEXTURE_SWIZZLE_R" value="0x8E42" />
-      <token name="TEXTURE_SWIZZLE_G" value="0x8E43" />
-      <token name="TEXTURE_SWIZZLE_B" value="0x8E44" />
-      <token name="TEXTURE_SWIZZLE_A" value="0x8E45" />
-      <token name="TEXTURE_SWIZZLE_RGBA" value="0x8E46" />
-      <token name="TIME_ELAPSED" value="0x88BF" />
-      <token name="TIMESTAMP" value="0x8E28" />
-      <token name="INT_2_10_10_10_REV" value="0x8D9F" />
-    </enum>
-    <function name="BindFragDataLocationIndexed" category="VERSION_3_3" extension="Core" version="3.3">
+    <function name="ProgramUniform2fv" category="VERSION_4_1" extension="Core" version="4.1">
       <param name="program" type="GLuint" flow="in" />
-      <param name="colorNumber" type="GLuint" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="name" type="GLchar *" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="BindSampler" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="unit" type="GLuint" flow="in" />
-      <param name="sampler" type="GLuint" flow="in" />
+    <function name="ProgramUniform2i" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLint" flow="in" />
+      <param name="v1" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ColorP3ui" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="color" type="GLuint" flow="in" />
+    <function name="ProgramUniform2iv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLint *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="ColorP3uiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="color" type="GLuint *" flow="in" count="1" />
+    <function name="ProgramUniform2ui" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLuint" flow="in" />
+      <param name="v1" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ColorP4ui" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="color" type="GLuint" flow="in" />
+    <function name="ProgramUniform2uiv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="ColorP4uiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="color" type="GLuint *" flow="in" count="1" />
+    <function name="ProgramUniform3d" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLdouble" flow="in" />
+      <param name="v1" type="GLdouble" flow="in" />
+      <param name="v2" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DeleteSamplers" category="VERSION_3_3" extension="Core" version="3.3">
+    <function name="ProgramUniform3dv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="samplers" type="GLuint *" flow="in" count="count" />
+      <param name="value" type="GLdouble *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="GenSamplers" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="samplers" type="GLuint *" flow="out" count="count" />
+    <function name="ProgramUniform3f" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLfloat" flow="in" />
+      <param name="v1" type="GLfloat" flow="in" />
+      <param name="v2" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetFragDataIndex" category="VERSION_3_3" extension="Core" version="3.3">
+    <function name="ProgramUniform3fv" category="VERSION_4_1" extension="Core" version="4.1">
       <param name="program" type="GLuint" flow="in" />
-      <param name="name" type="GLchar *" flow="in" />
-      <returns type="GLint" />
-    </function>
-    <function name="GetQueryObjecti64v" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="id" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint64 *" flow="out" count="COMPSIZE(pname)" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="GetQueryObjectui64v" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="id" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLuint64 *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ProgramUniform3i" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLint" flow="in" />
+      <param name="v1" type="GLint" flow="in" />
+      <param name="v2" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetSamplerParameterfv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ProgramUniform3iv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLint *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="GetSamplerParameterIiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ProgramUniform3ui" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLuint" flow="in" />
+      <param name="v1" type="GLuint" flow="in" />
+      <param name="v2" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetSamplerParameterIuiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLuint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ProgramUniform3uiv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="GetSamplerParameteriv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+    <function name="ProgramUniform4d" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLdouble" flow="in" />
+      <param name="v1" type="GLdouble" flow="in" />
+      <param name="v2" type="GLdouble" flow="in" />
+      <param name="v3" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="IsSampler" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="sampler" type="GLuint" flow="in" />
-      <returns type="Boolean" />
-    </function>
-    <function name="MultiTexCoordP1ui" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="texture" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint" flow="in" />
+    <function name="ProgramUniform4dv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="MultiTexCoordP1uiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="texture" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint *" flow="in" count="1" />
+    <function name="ProgramUniform4f" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLfloat" flow="in" />
+      <param name="v1" type="GLfloat" flow="in" />
+      <param name="v2" type="GLfloat" flow="in" />
+      <param name="v3" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="MultiTexCoordP2ui" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="texture" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint" flow="in" />
+    <function name="ProgramUniform4fv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="MultiTexCoordP2uiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="texture" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint *" flow="in" count="1" />
+    <function name="ProgramUniform4i" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLint" flow="in" />
+      <param name="v1" type="GLint" flow="in" />
+      <param name="v2" type="GLint" flow="in" />
+      <param name="v3" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="MultiTexCoordP3ui" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="texture" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint" flow="in" />
+    <function name="ProgramUniform4iv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLint *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="MultiTexCoordP3uiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="texture" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint *" flow="in" count="1" />
+    <function name="ProgramUniform4ui" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="v0" type="GLuint" flow="in" />
+      <param name="v1" type="GLuint" flow="in" />
+      <param name="v2" type="GLuint" flow="in" />
+      <param name="v3" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="MultiTexCoordP4ui" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="texture" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint" flow="in" />
+    <function name="ProgramUniform4uiv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="value" type="GLuint *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="MultiTexCoordP4uiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="texture" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint *" flow="in" count="1" />
+    <function name="ProgramUniformMatrix2dv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="NormalP3ui" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint" flow="in" />
+    <function name="ProgramUniformMatrix2fv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="NormalP3uiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint *" flow="in" count="1" />
+    <function name="ProgramUniformMatrix2x3dv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="QueryCounter" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="id" type="GLuint" flow="in" />
-      <param name="target" type="GLenum" flow="in" />
+    <function name="ProgramUniformMatrix2x3fv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="SamplerParameterf" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="param" type="GLfloat" flow="in" />
+    <function name="ProgramUniformMatrix2x4dv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="SamplerParameterfv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="param" type="GLfloat *" flow="in" count="COMPSIZE(pname)" />
+    <function name="ProgramUniformMatrix2x4fv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="SamplerParameteri" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="param" type="GLint" flow="in" />
+    <function name="ProgramUniformMatrix3dv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="SamplerParameterIiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="param" type="GLint *" flow="in" count="COMPSIZE(pname)" />
+    <function name="ProgramUniformMatrix3fv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="SamplerParameterIuiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="param" type="GLuint *" flow="in" count="COMPSIZE(pname)" />
+    <function name="ProgramUniformMatrix3x2dv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="SamplerParameteriv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="sampler" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="param" type="GLint *" flow="in" count="COMPSIZE(pname)" />
+    <function name="ProgramUniformMatrix3x2fv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="SecondaryColorP3ui" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="color" type="GLuint" flow="in" />
+    <function name="ProgramUniformMatrix3x4dv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="SecondaryColorP3uiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="color" type="GLuint *" flow="in" count="1" />
+    <function name="ProgramUniformMatrix3x4fv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="TexCoordP1ui" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint" flow="in" />
+    <function name="ProgramUniformMatrix4dv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="TexCoordP1uiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint *" flow="in" count="1" />
+    <function name="ProgramUniformMatrix4fv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="TexCoordP2ui" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint" flow="in" />
+    <function name="ProgramUniformMatrix4x2dv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="TexCoordP2uiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint *" flow="in" count="1" />
+    <function name="ProgramUniformMatrix4x2fv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="TexCoordP3ui" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint" flow="in" />
+    <function name="ProgramUniformMatrix4x3dv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLdouble *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="TexCoordP3uiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint *" flow="in" count="1" />
+    <function name="ProgramUniformMatrix4x3fv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="transpose" type="Boolean" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="TexCoordP4ui" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint" flow="in" />
+    <function name="ReleaseShaderCompiler" category="VERSION_4_1" extension="Core" version="4.1">
       <returns type="void" />
     </function>
-    <function name="TexCoordP4uiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="coords" type="GLuint *" flow="in" count="1" />
+    <function name="ScissorArrayv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="first" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="v" type="GLint *" flow="in" count="COMPSIZE(count)" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribDivisor" category="VERSION_3_3" extension="Core" version="3.3">
+    <function name="ScissorIndexed" category="VERSION_4_1" extension="Core" version="4.1">
       <param name="index" type="GLuint" flow="in" />
-      <param name="divisor" type="GLuint" flow="in" />
+      <param name="left" type="GLint" flow="in" />
+      <param name="bottom" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribP1ui" category="VERSION_3_3" extension="Core" version="3.3">
+    <function name="ScissorIndexedv" category="VERSION_4_1" extension="Core" version="4.1">
       <param name="index" type="GLuint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
-      <param name="value" type="GLuint" flow="in" />
+      <param name="v" type="GLint *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribP1uiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="1" />
+    <function name="ShaderBinary" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="shaders" type="GLuint *" flow="in" count="count" />
+      <param name="binaryformat" type="GLenum" flow="in" />
+      <param name="binary" type="void *" flow="in" count="length" />
+      <param name="length" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribP2ui" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
-      <param name="value" type="GLuint" flow="in" />
+    <function name="UseProgramStages" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="pipeline" type="GLuint" flow="in" />
+      <param name="stages" type="GLbitfield" flow="in" />
+      <param name="program" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribP2uiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="1" />
+    <function name="ValidateProgramPipeline" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="pipeline" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribP3ui" category="VERSION_3_3" extension="Core" version="3.3">
+    <function name="VertexAttribL1d" category="VERSION_4_1" extension="Core" version="4.1">
       <param name="index" type="GLuint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
-      <param name="value" type="GLuint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribP3uiv" category="VERSION_3_3" extension="Core" version="3.3">
+    <function name="VertexAttribL1dv" category="VERSION_4_1" extension="Core" version="4.1">
       <param name="index" type="GLuint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="1" />
+      <param name="v" type="GLdouble *" flow="in" count="1" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribP4ui" category="VERSION_3_3" extension="Core" version="3.3">
+    <function name="VertexAttribL2d" category="VERSION_4_1" extension="Core" version="4.1">
       <param name="index" type="GLuint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
-      <param name="value" type="GLuint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
+      <param name="y" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribP4uiv" category="VERSION_3_3" extension="Core" version="3.3">
+    <function name="VertexAttribL2dv" category="VERSION_4_1" extension="Core" version="4.1">
       <param name="index" type="GLuint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="1" />
+      <param name="v" type="GLdouble *" flow="in" count="2" />
       <returns type="void" />
     </function>
-    <function name="VertexP2ui" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="value" type="GLuint" flow="in" />
+    <function name="VertexAttribL3d" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
+      <param name="y" type="GLdouble" flow="in" />
+      <param name="z" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexP2uiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="1" />
+    <function name="VertexAttribL3dv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLdouble *" flow="in" count="3" />
       <returns type="void" />
     </function>
-    <function name="VertexP3ui" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="value" type="GLuint" flow="in" />
+    <function name="VertexAttribL4d" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="x" type="GLdouble" flow="in" />
+      <param name="y" type="GLdouble" flow="in" />
+      <param name="z" type="GLdouble" flow="in" />
+      <param name="w" type="GLdouble" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexP3uiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="1" />
+    <function name="VertexAttribL4dv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLdouble *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="VertexP4ui" category="VERSION_3_3" extension="Core" version="3.3">
+    <function name="VertexAttribLPointer" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="size" type="GLint" flow="in" />
       <param name="type" type="GLenum" flow="in" />
-      <param name="value" type="GLuint" flow="in" />
+      <param name="stride" type="GLsizei" flow="in" />
+      <param name="pointer" type="void *" flow="in" count="size" />
       <returns type="void" />
     </function>
-    <function name="VertexP4uiv" category="VERSION_3_3" extension="Core" version="3.3">
-      <param name="type" type="GLenum" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="1" />
+    <function name="ViewportArrayv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="first" type="GLuint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="v" type="GLfloat *" flow="in" count="COMPSIZE(count)" />
       <returns type="void" />
     </function>
-  </add>
-  <add name="glcore" version="4.0">
-    <enum name="VERSION_4_0">
-      <token name="SAMPLE_SHADING" value="0x8C36" />
-      <token name="MIN_SAMPLE_SHADING_VALUE" value="0x8C37" />
-      <token name="MIN_PROGRAM_TEXTURE_GATHER_OFFSET" value="0x8E5E" />
-      <token name="MAX_PROGRAM_TEXTURE_GATHER_OFFSET" value="0x8E5F" />
-      <token name="TEXTURE_CUBE_MAP_ARRAY" value="0x9009" />
-      <token name="TEXTURE_BINDING_CUBE_MAP_ARRAY" value="0x900A" />
-      <token name="PROXY_TEXTURE_CUBE_MAP_ARRAY" value="0x900B" />
-      <token name="SAMPLER_CUBE_MAP_ARRAY" value="0x900C" />
-      <token name="SAMPLER_CUBE_MAP_ARRAY_SHADOW" value="0x900D" />
-      <token name="INT_SAMPLER_CUBE_MAP_ARRAY" value="0x900E" />
-      <token name="UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY" value="0x900F" />
-      <token name="DRAW_INDIRECT_BUFFER" value="0x8F3F" />
-      <token name="DRAW_INDIRECT_BUFFER_BINDING" value="0x8F43" />
-      <token name="GEOMETRY_SHADER_INVOCATIONS" value="0x887F" />
-      <token name="MAX_GEOMETRY_SHADER_INVOCATIONS" value="0x8E5A" />
-      <token name="MIN_FRAGMENT_INTERPOLATION_OFFSET" value="0x8E5B" />
-      <token name="MAX_FRAGMENT_INTERPOLATION_OFFSET" value="0x8E5C" />
-      <token name="FRAGMENT_INTERPOLATION_OFFSET_BITS" value="0x8E5D" />
-      <token name="MAX_VERTEX_STREAMS" value="0x8E71" />
-      <token name="DOUBLE_VEC2" value="0x8FFC" />
-      <token name="DOUBLE_VEC3" value="0x8FFD" />
-      <token name="DOUBLE_VEC4" value="0x8FFE" />
-      <token name="DOUBLE_MAT2" value="0x8F46" />
-      <token name="DOUBLE_MAT3" value="0x8F47" />
-      <token name="DOUBLE_MAT4" value="0x8F48" />
-      <token name="DOUBLE_MAT2x3" value="0x8F49" />
-      <token name="DOUBLE_MAT2x4" value="0x8F4A" />
-      <token name="DOUBLE_MAT3x2" value="0x8F4B" />
-      <token name="DOUBLE_MAT3x4" value="0x8F4C" />
-      <token name="DOUBLE_MAT4x2" value="0x8F4D" />
-      <token name="DOUBLE_MAT4x3" value="0x8F4E" />
-      <token name="ACTIVE_SUBROUTINES" value="0x8DE5" />
-      <token name="ACTIVE_SUBROUTINE_UNIFORMS" value="0x8DE6" />
-      <token name="ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS" value="0x8E47" />
-      <token name="ACTIVE_SUBROUTINE_MAX_LENGTH" value="0x8E48" />
-      <token name="ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH" value="0x8E49" />
-      <token name="MAX_SUBROUTINES" value="0x8DE7" />
-      <token name="MAX_SUBROUTINE_UNIFORM_LOCATIONS" value="0x8DE8" />
-      <token name="NUM_COMPATIBLE_SUBROUTINES" value="0x8E4A" />
-      <token name="COMPATIBLE_SUBROUTINES" value="0x8E4B" />
-      <token name="PATCHES" value="0x000E" />
-      <token name="PATCH_VERTICES" value="0x8E72" />
-      <token name="PATCH_DEFAULT_INNER_LEVEL" value="0x8E73" />
-      <token name="PATCH_DEFAULT_OUTER_LEVEL" value="0x8E74" />
-      <token name="TESS_CONTROL_OUTPUT_VERTICES" value="0x8E75" />
-      <token name="TESS_GEN_MODE" value="0x8E76" />
-      <token name="TESS_GEN_SPACING" value="0x8E77" />
-      <token name="TESS_GEN_VERTEX_ORDER" value="0x8E78" />
-      <token name="TESS_GEN_POINT_MODE" value="0x8E79" />
-      <token name="ISOLINES" value="0x8E7A" />
-      <token name="QUADS" value="0x0007" />
-      <token name="FRACTIONAL_ODD" value="0x8E7B" />
-      <token name="FRACTIONAL_EVEN" value="0x8E7C" />
-      <token name="MAX_PATCH_VERTICES" value="0x8E7D" />
-      <token name="MAX_TESS_GEN_LEVEL" value="0x8E7E" />
-      <token name="MAX_TESS_CONTROL_UNIFORM_COMPONENTS" value="0x8E7F" />
-      <token name="MAX_TESS_EVALUATION_UNIFORM_COMPONENTS" value="0x8E80" />
-      <token name="MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS" value="0x8E81" />
-      <token name="MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS" value="0x8E82" />
-      <token name="MAX_TESS_CONTROL_OUTPUT_COMPONENTS" value="0x8E83" />
-      <token name="MAX_TESS_PATCH_COMPONENTS" value="0x8E84" />
-      <token name="MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS" value="0x8E85" />
-      <token name="MAX_TESS_EVALUATION_OUTPUT_COMPONENTS" value="0x8E86" />
-      <token name="MAX_TESS_CONTROL_UNIFORM_BLOCKS" value="0x8E89" />
-      <token name="MAX_TESS_EVALUATION_UNIFORM_BLOCKS" value="0x8E8A" />
-      <token name="MAX_TESS_CONTROL_INPUT_COMPONENTS" value="0x886C" />
-      <token name="MAX_TESS_EVALUATION_INPUT_COMPONENTS" value="0x886D" />
-      <token name="MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS" value="0x8E1E" />
-      <token name="MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS" value="0x8E1F" />
-      <token name="UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER" value="0x84F0" />
-      <token name="UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER" value="0x84F1" />
-      <token name="TESS_EVALUATION_SHADER" value="0x8E87" />
-      <token name="TESS_CONTROL_SHADER" value="0x8E88" />
-      <token name="TRANSFORM_FEEDBACK" value="0x8E22" />
-      <token name="TRANSFORM_FEEDBACK_BUFFER_PAUSED" value="0x8E23" />
-      <token name="TRANSFORM_FEEDBACK_BUFFER_ACTIVE" value="0x8E24" />
-      <token name="TRANSFORM_FEEDBACK_BINDING" value="0x8E25" />
-      <token name="MAX_TRANSFORM_FEEDBACK_BUFFERS" value="0x8E70" />
-      <token name="MAX_VERTEX_STREAMS" value="0x8E71" />
-    </enum>
-    <function name="BeginQueryIndexed" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="target" type="GLenum" flow="in" />
+    <function name="ViewportIndexedf" category="VERSION_4_1" extension="Core" version="4.1">
       <param name="index" type="GLuint" flow="in" />
-      <param name="id" type="GLuint" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="BindTransformFeedback" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="id" type="GLuint" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="BlendEquationi" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="buf" type="GLuint" flow="in" />
-      <param name="mode" type="GLenum" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="BlendEquationSeparatei" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="buf" type="GLuint" flow="in" />
-      <param name="modeRGB" type="GLenum" flow="in" />
-      <param name="modeAlpha" type="GLenum" flow="in" />
+      <param name="x" type="GLfloat" flow="in" />
+      <param name="y" type="GLfloat" flow="in" />
+      <param name="w" type="GLfloat" flow="in" />
+      <param name="h" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="BlendFunci" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="buf" type="GLuint" flow="in" />
-      <param name="src" type="GLenum" flow="in" />
-      <param name="dst" type="GLenum" flow="in" />
+    <function name="ViewportIndexedfv" category="VERSION_4_1" extension="Core" version="4.1">
+      <param name="index" type="GLuint" flow="in" />
+      <param name="v" type="GLfloat *" flow="in" count="4" />
       <returns type="void" />
     </function>
-    <function name="BlendFuncSeparatei" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="buf" type="GLuint" flow="in" />
-      <param name="srcRGB" type="GLenum" flow="in" />
-      <param name="dstRGB" type="GLenum" flow="in" />
-      <param name="srcAlpha" type="GLenum" flow="in" />
-      <param name="dstAlpha" type="GLenum" flow="in" />
+  </add>
+  <add name="glcore" version="4.2">
+    <enum name="VERSION_4_2">
+      <token name="UNPACK_COMPRESSED_BLOCK_WIDTH" value="0x9127" />
+      <token name="UNPACK_COMPRESSED_BLOCK_HEIGHT" value="0x9128" />
+      <token name="UNPACK_COMPRESSED_BLOCK_DEPTH" value="0x9129" />
+      <token name="UNPACK_COMPRESSED_BLOCK_SIZE" value="0x912A" />
+      <token name="PACK_COMPRESSED_BLOCK_WIDTH" value="0x912B" />
+      <token name="PACK_COMPRESSED_BLOCK_HEIGHT" value="0x912C" />
+      <token name="PACK_COMPRESSED_BLOCK_DEPTH" value="0x912D" />
+      <token name="PACK_COMPRESSED_BLOCK_SIZE" value="0x912E" />
+      <token name="NUM_SAMPLE_COUNTS" value="0x9380" />
+      <token name="MIN_MAP_BUFFER_ALIGNMENT" value="0x90BC" />
+      <token name="ATOMIC_COUNTER_BUFFER" value="0x92C0" />
+      <token name="ATOMIC_COUNTER_BUFFER_BINDING" value="0x92C1" />
+      <token name="ATOMIC_COUNTER_BUFFER_START" value="0x92C2" />
+      <token name="ATOMIC_COUNTER_BUFFER_SIZE" value="0x92C3" />
+      <token name="ATOMIC_COUNTER_BUFFER_DATA_SIZE" value="0x92C4" />
+      <token name="ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS" value="0x92C5" />
+      <token name="ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES" value="0x92C6" />
+      <token name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER" value="0x92C7" />
+      <token name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER" value="0x92C8" />
+      <token name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER" value="0x92C9" />
+      <token name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER" value="0x92CA" />
+      <token name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER" value="0x92CB" />
+      <token name="MAX_VERTEX_ATOMIC_COUNTER_BUFFERS" value="0x92CC" />
+      <token name="MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS" value="0x92CD" />
+      <token name="MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS" value="0x92CE" />
+      <token name="MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS" value="0x92CF" />
+      <token name="MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS" value="0x92D0" />
+      <token name="MAX_COMBINED_ATOMIC_COUNTER_BUFFERS" value="0x92D1" />
+      <token name="MAX_VERTEX_ATOMIC_COUNTERS" value="0x92D2" />
+      <token name="MAX_TESS_CONTROL_ATOMIC_COUNTERS" value="0x92D3" />
+      <token name="MAX_TESS_EVALUATION_ATOMIC_COUNTERS" value="0x92D4" />
+      <token name="MAX_GEOMETRY_ATOMIC_COUNTERS" value="0x92D5" />
+      <token name="MAX_FRAGMENT_ATOMIC_COUNTERS" value="0x92D6" />
+      <token name="MAX_COMBINED_ATOMIC_COUNTERS" value="0x92D7" />
+      <token name="MAX_ATOMIC_COUNTER_BUFFER_SIZE" value="0x92D8" />
+      <token name="MAX_ATOMIC_COUNTER_BUFFER_BINDINGS" value="0x92DC" />
+      <token name="ACTIVE_ATOMIC_COUNTER_BUFFERS" value="0x92D9" />
+      <token name="UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX" value="0x92DA" />
+      <token name="UNSIGNED_INT_ATOMIC_COUNTER" value="0x92DB" />
+      <token name="VERTEX_ATTRIB_ARRAY_BARRIER_BIT" value="0x00000001" />
+      <token name="ELEMENT_ARRAY_BARRIER_BIT" value="0x00000002" />
+      <token name="UNIFORM_BARRIER_BIT" value="0x00000004" />
+      <token name="TEXTURE_FETCH_BARRIER_BIT" value="0x00000008" />
+      <token name="SHADER_IMAGE_ACCESS_BARRIER_BIT" value="0x00000020" />
+      <token name="COMMAND_BARRIER_BIT" value="0x00000040" />
+      <token name="PIXEL_BUFFER_BARRIER_BIT" value="0x00000080" />
+      <token name="TEXTURE_UPDATE_BARRIER_BIT" value="0x00000100" />
+      <token name="BUFFER_UPDATE_BARRIER_BIT" value="0x00000200" />
+      <token name="FRAMEBUFFER_BARRIER_BIT" value="0x00000400" />
+      <token name="TRANSFORM_FEEDBACK_BARRIER_BIT" value="0x00000800" />
+      <token name="ATOMIC_COUNTER_BARRIER_BIT" value="0x00001000" />
+      <token name="ALL_BARRIER_BITS" value="0xFFFFFFFF" />
+      <token name="MAX_IMAGE_UNITS" value="0x8F38" />
+      <token name="MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS" value="0x8F39" />
+      <token name="IMAGE_BINDING_NAME" value="0x8F3A" />
+      <token name="IMAGE_BINDING_LEVEL" value="0x8F3B" />
+      <token name="IMAGE_BINDING_LAYERED" value="0x8F3C" />
+      <token name="IMAGE_BINDING_LAYER" value="0x8F3D" />
+      <token name="IMAGE_BINDING_ACCESS" value="0x8F3E" />
+      <token name="IMAGE_1D" value="0x904C" />
+      <token name="IMAGE_2D" value="0x904D" />
+      <token name="IMAGE_3D" value="0x904E" />
+      <token name="IMAGE_2D_RECT" value="0x904F" />
+      <token name="IMAGE_CUBE" value="0x9050" />
+      <token name="IMAGE_BUFFER" value="0x9051" />
+      <token name="IMAGE_1D_ARRAY" value="0x9052" />
+      <token name="IMAGE_2D_ARRAY" value="0x9053" />
+      <token name="IMAGE_CUBE_MAP_ARRAY" value="0x9054" />
+      <token name="IMAGE_2D_MULTISAMPLE" value="0x9055" />
+      <token name="IMAGE_2D_MULTISAMPLE_ARRAY" value="0x9056" />
+      <token name="INT_IMAGE_1D" value="0x9057" />
+      <token name="INT_IMAGE_2D" value="0x9058" />
+      <token name="INT_IMAGE_3D" value="0x9059" />
+      <token name="INT_IMAGE_2D_RECT" value="0x905A" />
+      <token name="INT_IMAGE_CUBE" value="0x905B" />
+      <token name="INT_IMAGE_BUFFER" value="0x905C" />
+      <token name="INT_IMAGE_1D_ARRAY" value="0x905D" />
+      <token name="INT_IMAGE_2D_ARRAY" value="0x905E" />
+      <token name="INT_IMAGE_CUBE_MAP_ARRAY" value="0x905F" />
+      <token name="INT_IMAGE_2D_MULTISAMPLE" value="0x9060" />
+      <token name="INT_IMAGE_2D_MULTISAMPLE_ARRAY" value="0x9061" />
+      <token name="UNSIGNED_INT_IMAGE_1D" value="0x9062" />
+      <token name="UNSIGNED_INT_IMAGE_2D" value="0x9063" />
+      <token name="UNSIGNED_INT_IMAGE_3D" value="0x9064" />
+      <token name="UNSIGNED_INT_IMAGE_2D_RECT" value="0x9065" />
+      <token name="UNSIGNED_INT_IMAGE_CUBE" value="0x9066" />
+      <token name="UNSIGNED_INT_IMAGE_BUFFER" value="0x9067" />
+      <token name="UNSIGNED_INT_IMAGE_1D_ARRAY" value="0x9068" />
+      <token name="UNSIGNED_INT_IMAGE_2D_ARRAY" value="0x9069" />
+      <token name="UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY" value="0x906A" />
+      <token name="UNSIGNED_INT_IMAGE_2D_MULTISAMPLE" value="0x906B" />
+      <token name="UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY" value="0x906C" />
+      <token name="MAX_IMAGE_SAMPLES" value="0x906D" />
+      <token name="IMAGE_BINDING_FORMAT" value="0x906E" />
+      <token name="IMAGE_FORMAT_COMPATIBILITY_TYPE" value="0x90C7" />
+      <token name="IMAGE_FORMAT_COMPATIBILITY_BY_SIZE" value="0x90C8" />
+      <token name="IMAGE_FORMAT_COMPATIBILITY_BY_CLASS" value="0x90C9" />
+      <token name="MAX_VERTEX_IMAGE_UNIFORMS" value="0x90CA" />
+      <token name="MAX_TESS_CONTROL_IMAGE_UNIFORMS" value="0x90CB" />
+      <token name="MAX_TESS_EVALUATION_IMAGE_UNIFORMS" value="0x90CC" />
+      <token name="MAX_GEOMETRY_IMAGE_UNIFORMS" value="0x90CD" />
+      <token name="MAX_FRAGMENT_IMAGE_UNIFORMS" value="0x90CE" />
+      <token name="MAX_COMBINED_IMAGE_UNIFORMS" value="0x90CF" />
+      <token name="COMPRESSED_RGBA_BPTC_UNORM" value="0x8E8C" />
+      <token name="COMPRESSED_SRGB_ALPHA_BPTC_UNORM" value="0x8E8D" />
+      <token name="COMPRESSED_RGB_BPTC_SIGNED_FLOAT" value="0x8E8E" />
+      <token name="COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT" value="0x8E8F" />
+      <token name="TEXTURE_IMMUTABLE_FORMAT" value="0x912F" />
+    </enum>
+    <function name="BindImageTexture" category="VERSION_4_2" extension="Core" version="4.2">
+      <param name="unit" type="GLuint" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="layered" type="Boolean" flow="in" />
+      <param name="layer" type="GLint" flow="in" />
+      <param name="access" type="GLenum" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DeleteTransformFeedbacks" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="ids" type="GLuint *" flow="in" count="n" />
+    <function name="DrawArraysInstancedBaseInstance" category="VERSION_4_2" extension="Core" version="4.2">
+      <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="first" type="GLint" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="instancecount" type="GLsizei" flow="in" />
+      <param name="baseinstance" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DrawArraysIndirect" category="VERSION_4_0" extension="Core" version="4.0">
+    <function name="DrawElementsInstancedBaseInstance" category="VERSION_4_2" extension="Core" version="4.2">
       <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="indirect" type="void *" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="indices" type="void *" flow="in" count="count" />
+      <param name="instancecount" type="GLsizei" flow="in" />
+      <param name="baseinstance" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DrawElementsIndirect" category="VERSION_4_0" extension="Core" version="4.0">
+    <function name="DrawElementsInstancedBaseVertexBaseInstance" category="VERSION_4_2" extension="Core" version="4.2">
       <param name="mode" type="PrimitiveType" flow="in" />
+      <param name="count" type="GLsizei" flow="in" />
       <param name="type" type="GLenum" flow="in" />
-      <param name="indirect" type="void *" flow="in" />
+      <param name="indices" type="void *" flow="in" count="count" />
+      <param name="instancecount" type="GLsizei" flow="in" />
+      <param name="basevertex" type="GLint" flow="in" />
+      <param name="baseinstance" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DrawTransformFeedback" category="VERSION_4_0" extension="Core" version="4.0">
+    <function name="DrawTransformFeedbackInstanced" category="VERSION_4_2" extension="Core" version="4.2">
       <param name="mode" type="PrimitiveType" flow="in" />
       <param name="id" type="GLuint" flow="in" />
+      <param name="instancecount" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DrawTransformFeedbackStream" category="VERSION_4_0" extension="Core" version="4.0">
+    <function name="DrawTransformFeedbackStreamInstanced" category="VERSION_4_2" extension="Core" version="4.2">
       <param name="mode" type="PrimitiveType" flow="in" />
       <param name="id" type="GLuint" flow="in" />
       <param name="stream" type="GLuint" flow="in" />
+      <param name="instancecount" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="EndQueryIndexed" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="GenTransformFeedbacks" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="ids" type="GLuint *" flow="out" count="n" />
-      <returns type="void" />
-    </function>
-    <function name="GetActiveSubroutineName" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="shadertype" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="bufsize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="name" type="GLchar *" flow="out" count="bufsize" />
-      <returns type="void" />
-    </function>
-    <function name="GetActiveSubroutineUniformiv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="shadertype" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="values" type="GLint *" flow="out" count="COMPSIZE(pname)" />
-      <returns type="void" />
-    </function>
-    <function name="GetActiveSubroutineUniformName" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="shadertype" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="bufsize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="name" type="GLchar *" flow="out" count="bufsize" />
-      <returns type="void" />
-    </function>
-    <function name="GetProgramStageiv" category="VERSION_4_0" extension="Core" version="4.0">
+    <function name="GetActiveAtomicCounterBufferiv" category="VERSION_4_2" extension="Core" version="4.2">
       <param name="program" type="GLuint" flow="in" />
-      <param name="shadertype" type="GLenum" flow="in" />
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="values" type="GLint *" flow="out" count="1" />
-      <returns type="void" />
-    </function>
-    <function name="GetQueryIndexediv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
+      <param name="bufferIndex" type="GLuint" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
       <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="GetSubroutineIndex" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="shadertype" type="GLenum" flow="in" />
-      <param name="name" type="GLchar *" flow="in" />
-      <returns type="GLuint" />
-    </function>
-    <function name="GetSubroutineUniformLocation" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="shadertype" type="GLenum" flow="in" />
-      <param name="name" type="GLchar *" flow="in" />
-      <returns type="GLint" />
-    </function>
-    <function name="GetUniformdv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="params" type="GLdouble *" flow="out" count="COMPSIZE(program, location)" />
-      <returns type="void" />
-    </function>
-    <function name="GetUniformSubroutineuiv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="shadertype" type="GLenum" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="params" type="GLuint *" flow="out" count="1" />
-      <returns type="void" />
-    </function>
-    <function name="IsTransformFeedback" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="id" type="GLuint" flow="in" />
-      <returns type="Boolean" />
-    </function>
-    <function name="MinSampleShading" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="value" type="ColorF" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="PatchParameterfv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="pname" type="GLenum" flow="in" />
-      <param name="values" type="GLfloat *" flow="in" count="COMPSIZE(pname)" />
-      <returns type="void" />
-    </function>
-    <function name="PatchParameteri" category="VERSION_4_0" extension="Core" version="4.0">
+    <function name="GetInternalformativ" category="VERSION_4_2" extension="Core" version="4.2">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
-      <param name="value" type="GLint" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="PauseTransformFeedback" category="VERSION_4_0" extension="Core" version="4.0">
-      <returns type="void" />
-    </function>
-    <function name="ResumeTransformFeedback" category="VERSION_4_0" extension="Core" version="4.0">
-      <returns type="void" />
-    </function>
-    <function name="Uniform1d" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="Uniform1dv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*1" />
-      <returns type="void" />
-    </function>
-    <function name="Uniform2d" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
-      <param name="y" type="GLdouble" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="Uniform2dv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*2" />
-      <returns type="void" />
-    </function>
-    <function name="Uniform3d" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
-      <param name="y" type="GLdouble" flow="in" />
-      <param name="z" type="GLdouble" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="Uniform3dv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*3" />
-      <returns type="void" />
-    </function>
-    <function name="Uniform4d" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
-      <param name="y" type="GLdouble" flow="in" />
-      <param name="z" type="GLdouble" flow="in" />
-      <param name="w" type="GLdouble" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="Uniform4dv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*4" />
-      <returns type="void" />
-    </function>
-    <function name="UniformMatrix2dv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*4" />
-      <returns type="void" />
-    </function>
-    <function name="UniformMatrix2x3dv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*6" />
-      <returns type="void" />
-    </function>
-    <function name="UniformMatrix2x4dv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*8" />
-      <returns type="void" />
-    </function>
-    <function name="UniformMatrix3dv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*9" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix3x2dv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*6" />
+    <function name="MemoryBarrier" category="VERSION_4_2" extension="Core" version="4.2">
+      <param name="barriers" type="GLbitfield" flow="in" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix3x4dv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*12" />
+    <function name="TexStorage1D" category="VERSION_4_2" extension="Core" version="4.2">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="levels" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix4dv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*16" />
+    <function name="TexStorage2D" category="VERSION_4_2" extension="Core" version="4.2">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="levels" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix4x2dv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*8" />
+    <function name="TexStorage3D" category="VERSION_4_2" extension="Core" version="4.2">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="levels" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="UniformMatrix4x3dv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count*12" />
+  </add>
+  <add name="glcore" version="4.3">
+    <enum name="VERSION_4_3">
+      <token name="NUM_SHADING_LANGUAGE_VERSIONS" value="0x82E9" />
+      <token name="VERTEX_ATTRIB_ARRAY_LONG" value="0x874E" />
+      <token name="COMPRESSED_RGB8_ETC2" value="0x9274" />
+      <token name="COMPRESSED_SRGB8_ETC2" value="0x9275" />
+      <token name="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2" value="0x9276" />
+      <token name="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2" value="0x9277" />
+      <token name="COMPRESSED_RGBA8_ETC2_EAC" value="0x9278" />
+      <token name="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC" value="0x9279" />
+      <token name="COMPRESSED_R11_EAC" value="0x9270" />
+      <token name="COMPRESSED_SIGNED_R11_EAC" value="0x9271" />
+      <token name="COMPRESSED_RG11_EAC" value="0x9272" />
+      <token name="COMPRESSED_SIGNED_RG11_EAC" value="0x9273" />
+      <token name="PRIMITIVE_RESTART_FIXED_INDEX" value="0x8D69" />
+      <token name="ANY_SAMPLES_PASSED_CONSERVATIVE" value="0x8D6A" />
+      <token name="MAX_ELEMENT_INDEX" value="0x8D6B" />
+      <token name="COMPUTE_SHADER" value="0x91B9" />
+      <token name="MAX_COMPUTE_UNIFORM_BLOCKS" value="0x91BB" />
+      <token name="MAX_COMPUTE_TEXTURE_IMAGE_UNITS" value="0x91BC" />
+      <token name="MAX_COMPUTE_IMAGE_UNIFORMS" value="0x91BD" />
+      <token name="MAX_COMPUTE_SHARED_MEMORY_SIZE" value="0x8262" />
+      <token name="MAX_COMPUTE_UNIFORM_COMPONENTS" value="0x8263" />
+      <token name="MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS" value="0x8264" />
+      <token name="MAX_COMPUTE_ATOMIC_COUNTERS" value="0x8265" />
+      <token name="MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS" value="0x8266" />
+      <token name="MAX_COMPUTE_WORK_GROUP_INVOCATIONS" value="0x90EB" />
+      <token name="MAX_COMPUTE_WORK_GROUP_COUNT" value="0x91BE" />
+      <token name="MAX_COMPUTE_WORK_GROUP_SIZE" value="0x91BF" />
+      <token name="COMPUTE_WORK_GROUP_SIZE" value="0x8267" />
+      <token name="UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER" value="0x90EC" />
+      <token name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER" value="0x90ED" />
+      <token name="DISPATCH_INDIRECT_BUFFER" value="0x90EE" />
+      <token name="DISPATCH_INDIRECT_BUFFER_BINDING" value="0x90EF" />
+      <token name="COMPUTE_SHADER_BIT" value="0x00000020" />
+      <token name="DEBUG_OUTPUT_SYNCHRONOUS" value="0x8242" />
+      <token name="DEBUG_NEXT_LOGGED_MESSAGE_LENGTH" value="0x8243" />
+      <token name="DEBUG_CALLBACK_FUNCTION" value="0x8244" />
+      <token name="DEBUG_CALLBACK_USER_PARAM" value="0x8245" />
+      <token name="DEBUG_SOURCE_API" value="0x8246" />
+      <token name="DEBUG_SOURCE_WINDOW_SYSTEM" value="0x8247" />
+      <token name="DEBUG_SOURCE_SHADER_COMPILER" value="0x8248" />
+      <token name="DEBUG_SOURCE_THIRD_PARTY" value="0x8249" />
+      <token name="DEBUG_SOURCE_APPLICATION" value="0x824A" />
+      <token name="DEBUG_SOURCE_OTHER" value="0x824B" />
+      <token name="DEBUG_TYPE_ERROR" value="0x824C" />
+      <token name="DEBUG_TYPE_DEPRECATED_BEHAVIOR" value="0x824D" />
+      <token name="DEBUG_TYPE_UNDEFINED_BEHAVIOR" value="0x824E" />
+      <token name="DEBUG_TYPE_PORTABILITY" value="0x824F" />
+      <token name="DEBUG_TYPE_PERFORMANCE" value="0x8250" />
+      <token name="DEBUG_TYPE_OTHER" value="0x8251" />
+      <token name="MAX_DEBUG_MESSAGE_LENGTH" value="0x9143" />
+      <token name="MAX_DEBUG_LOGGED_MESSAGES" value="0x9144" />
+      <token name="DEBUG_LOGGED_MESSAGES" value="0x9145" />
+      <token name="DEBUG_SEVERITY_HIGH" value="0x9146" />
+      <token name="DEBUG_SEVERITY_MEDIUM" value="0x9147" />
+      <token name="DEBUG_SEVERITY_LOW" value="0x9148" />
+      <token name="DEBUG_TYPE_MARKER" value="0x8268" />
+      <token name="DEBUG_TYPE_PUSH_GROUP" value="0x8269" />
+      <token name="DEBUG_TYPE_POP_GROUP" value="0x826A" />
+      <token name="DEBUG_SEVERITY_NOTIFICATION" value="0x826B" />
+      <token name="MAX_DEBUG_GROUP_STACK_DEPTH" value="0x826C" />
+      <token name="DEBUG_GROUP_STACK_DEPTH" value="0x826D" />
+      <token name="BUFFER" value="0x82E0" />
+      <token name="SHADER" value="0x82E1" />
+      <token name="PROGRAM" value="0x82E2" />
+      <token name="VERTEX_ARRAY" value="0x8074" />
+      <token name="QUERY" value="0x82E3" />
+      <token name="PROGRAM_PIPELINE" value="0x82E4" />
+      <token name="SAMPLER" value="0x82E6" />
+      <token name="MAX_LABEL_LENGTH" value="0x82E8" />
+      <token name="DEBUG_OUTPUT" value="0x92E0" />
+      <token name="CONTEXT_FLAG_DEBUG_BIT" value="0x00000002" />
+      <token name="MAX_UNIFORM_LOCATIONS" value="0x826E" />
+      <token name="FRAMEBUFFER_DEFAULT_WIDTH" value="0x9310" />
+      <token name="FRAMEBUFFER_DEFAULT_HEIGHT" value="0x9311" />
+      <token name="FRAMEBUFFER_DEFAULT_LAYERS" value="0x9312" />
+      <token name="FRAMEBUFFER_DEFAULT_SAMPLES" value="0x9313" />
+      <token name="FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS" value="0x9314" />
+      <token name="MAX_FRAMEBUFFER_WIDTH" value="0x9315" />
+      <token name="MAX_FRAMEBUFFER_HEIGHT" value="0x9316" />
+      <token name="MAX_FRAMEBUFFER_LAYERS" value="0x9317" />
+      <token name="MAX_FRAMEBUFFER_SAMPLES" value="0x9318" />
+      <token name="INTERNALFORMAT_SUPPORTED" value="0x826F" />
+      <token name="INTERNALFORMAT_PREFERRED" value="0x8270" />
+      <token name="INTERNALFORMAT_RED_SIZE" value="0x8271" />
+      <token name="INTERNALFORMAT_GREEN_SIZE" value="0x8272" />
+      <token name="INTERNALFORMAT_BLUE_SIZE" value="0x8273" />
+      <token name="INTERNALFORMAT_ALPHA_SIZE" value="0x8274" />
+      <token name="INTERNALFORMAT_DEPTH_SIZE" value="0x8275" />
+      <token name="INTERNALFORMAT_STENCIL_SIZE" value="0x8276" />
+      <token name="INTERNALFORMAT_SHARED_SIZE" value="0x8277" />
+      <token name="INTERNALFORMAT_RED_TYPE" value="0x8278" />
+      <token name="INTERNALFORMAT_GREEN_TYPE" value="0x8279" />
+      <token name="INTERNALFORMAT_BLUE_TYPE" value="0x827A" />
+      <token name="INTERNALFORMAT_ALPHA_TYPE" value="0x827B" />
+      <token name="INTERNALFORMAT_DEPTH_TYPE" value="0x827C" />
+      <token name="INTERNALFORMAT_STENCIL_TYPE" value="0x827D" />
+      <token name="MAX_WIDTH" value="0x827E" />
+      <token name="MAX_HEIGHT" value="0x827F" />
+      <token name="MAX_DEPTH" value="0x8280" />
+      <token name="MAX_LAYERS" value="0x8281" />
+      <token name="MAX_COMBINED_DIMENSIONS" value="0x8282" />
+      <token name="COLOR_COMPONENTS" value="0x8283" />
+      <token name="DEPTH_COMPONENTS" value="0x8284" />
+      <token name="STENCIL_COMPONENTS" value="0x8285" />
+      <token name="COLOR_RENDERABLE" value="0x8286" />
+      <token name="DEPTH_RENDERABLE" value="0x8287" />
+      <token name="STENCIL_RENDERABLE" value="0x8288" />
+      <token name="FRAMEBUFFER_RENDERABLE" value="0x8289" />
+      <token name="FRAMEBUFFER_RENDERABLE_LAYERED" value="0x828A" />
+      <token name="FRAMEBUFFER_BLEND" value="0x828B" />
+      <token name="READ_PIXELS" value="0x828C" />
+      <token name="READ_PIXELS_FORMAT" value="0x828D" />
+      <token name="READ_PIXELS_TYPE" value="0x828E" />
+      <token name="TEXTURE_IMAGE_FORMAT" value="0x828F" />
+      <token name="TEXTURE_IMAGE_TYPE" value="0x8290" />
+      <token name="GET_TEXTURE_IMAGE_FORMAT" value="0x8291" />
+      <token name="GET_TEXTURE_IMAGE_TYPE" value="0x8292" />
+      <token name="MIPMAP" value="0x8293" />
+      <token name="MANUAL_GENERATE_MIPMAP" value="0x8294" />
+      <token name="AUTO_GENERATE_MIPMAP" value="0x8295" />
+      <token name="COLOR_ENCODING" value="0x8296" />
+      <token name="SRGB_READ" value="0x8297" />
+      <token name="SRGB_WRITE" value="0x8298" />
+      <token name="FILTER" value="0x829A" />
+      <token name="VERTEX_TEXTURE" value="0x829B" />
+      <token name="TESS_CONTROL_TEXTURE" value="0x829C" />
+      <token name="TESS_EVALUATION_TEXTURE" value="0x829D" />
+      <token name="GEOMETRY_TEXTURE" value="0x829E" />
+      <token name="FRAGMENT_TEXTURE" value="0x829F" />
+      <token name="COMPUTE_TEXTURE" value="0x82A0" />
+      <token name="TEXTURE_SHADOW" value="0x82A1" />
+      <token name="TEXTURE_GATHER" value="0x82A2" />
+      <token name="TEXTURE_GATHER_SHADOW" value="0x82A3" />
+      <token name="SHADER_IMAGE_LOAD" value="0x82A4" />
+      <token name="SHADER_IMAGE_STORE" value="0x82A5" />
+      <token name="SHADER_IMAGE_ATOMIC" value="0x82A6" />
+      <token name="IMAGE_TEXEL_SIZE" value="0x82A7" />
+      <token name="IMAGE_COMPATIBILITY_CLASS" value="0x82A8" />
+      <token name="IMAGE_PIXEL_FORMAT" value="0x82A9" />
+      <token name="IMAGE_PIXEL_TYPE" value="0x82AA" />
+      <token name="SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST" value="0x82AC" />
+      <token name="SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST" value="0x82AD" />
+      <token name="SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE" value="0x82AE" />
+      <token name="SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE" value="0x82AF" />
+      <token name="TEXTURE_COMPRESSED_BLOCK_WIDTH" value="0x82B1" />
+      <token name="TEXTURE_COMPRESSED_BLOCK_HEIGHT" value="0x82B2" />
+      <token name="TEXTURE_COMPRESSED_BLOCK_SIZE" value="0x82B3" />
+      <token name="CLEAR_BUFFER" value="0x82B4" />
+      <token name="TEXTURE_VIEW" value="0x82B5" />
+      <token name="VIEW_COMPATIBILITY_CLASS" value="0x82B6" />
+      <token name="FULL_SUPPORT" value="0x82B7" />
+      <token name="CAVEAT_SUPPORT" value="0x82B8" />
+      <token name="IMAGE_CLASS_4_X_32" value="0x82B9" />
+      <token name="IMAGE_CLASS_2_X_32" value="0x82BA" />
+      <token name="IMAGE_CLASS_1_X_32" value="0x82BB" />
+      <token name="IMAGE_CLASS_4_X_16" value="0x82BC" />
+      <token name="IMAGE_CLASS_2_X_16" value="0x82BD" />
+      <token name="IMAGE_CLASS_1_X_16" value="0x82BE" />
+      <token name="IMAGE_CLASS_4_X_8" value="0x82BF" />
+      <token name="IMAGE_CLASS_2_X_8" value="0x82C0" />
+      <token name="IMAGE_CLASS_1_X_8" value="0x82C1" />
+      <token name="IMAGE_CLASS_11_11_10" value="0x82C2" />
+      <token name="IMAGE_CLASS_10_10_10_2" value="0x82C3" />
+      <token name="VIEW_CLASS_128_BITS" value="0x82C4" />
+      <token name="VIEW_CLASS_96_BITS" value="0x82C5" />
+      <token name="VIEW_CLASS_64_BITS" value="0x82C6" />
+      <token name="VIEW_CLASS_48_BITS" value="0x82C7" />
+      <token name="VIEW_CLASS_32_BITS" value="0x82C8" />
+      <token name="VIEW_CLASS_24_BITS" value="0x82C9" />
+      <token name="VIEW_CLASS_16_BITS" value="0x82CA" />
+      <token name="VIEW_CLASS_8_BITS" value="0x82CB" />
+      <token name="VIEW_CLASS_S3TC_DXT1_RGB" value="0x82CC" />
+      <token name="VIEW_CLASS_S3TC_DXT1_RGBA" value="0x82CD" />
+      <token name="VIEW_CLASS_S3TC_DXT3_RGBA" value="0x82CE" />
+      <token name="VIEW_CLASS_S3TC_DXT5_RGBA" value="0x82CF" />
+      <token name="VIEW_CLASS_RGTC1_RED" value="0x82D0" />
+      <token name="VIEW_CLASS_RGTC2_RG" value="0x82D1" />
+      <token name="VIEW_CLASS_BPTC_UNORM" value="0x82D2" />
+      <token name="VIEW_CLASS_BPTC_FLOAT" value="0x82D3" />
+      <token name="UNIFORM" value="0x92E1" />
+      <token name="UNIFORM_BLOCK" value="0x92E2" />
+      <token name="PROGRAM_INPUT" value="0x92E3" />
+      <token name="PROGRAM_OUTPUT" value="0x92E4" />
+      <token name="BUFFER_VARIABLE" value="0x92E5" />
+      <token name="SHADER_STORAGE_BLOCK" value="0x92E6" />
+      <token name="VERTEX_SUBROUTINE" value="0x92E8" />
+      <token name="TESS_CONTROL_SUBROUTINE" value="0x92E9" />
+      <token name="TESS_EVALUATION_SUBROUTINE" value="0x92EA" />
+      <token name="GEOMETRY_SUBROUTINE" value="0x92EB" />
+      <token name="FRAGMENT_SUBROUTINE" value="0x92EC" />
+      <token name="COMPUTE_SUBROUTINE" value="0x92ED" />
+      <token name="VERTEX_SUBROUTINE_UNIFORM" value="0x92EE" />
+      <token name="TESS_CONTROL_SUBROUTINE_UNIFORM" value="0x92EF" />
+      <token name="TESS_EVALUATION_SUBROUTINE_UNIFORM" value="0x92F0" />
+      <token name="GEOMETRY_SUBROUTINE_UNIFORM" value="0x92F1" />
+      <token name="FRAGMENT_SUBROUTINE_UNIFORM" value="0x92F2" />
+      <token name="COMPUTE_SUBROUTINE_UNIFORM" value="0x92F3" />
+      <token name="TRANSFORM_FEEDBACK_VARYING" value="0x92F4" />
+      <token name="ACTIVE_RESOURCES" value="0x92F5" />
+      <token name="MAX_NAME_LENGTH" value="0x92F6" />
+      <token name="MAX_NUM_ACTIVE_VARIABLES" value="0x92F7" />
+      <token name="MAX_NUM_COMPATIBLE_SUBROUTINES" value="0x92F8" />
+      <token name="NAME_LENGTH" value="0x92F9" />
+      <token name="TYPE" value="0x92FA" />
+      <token name="ARRAY_SIZE" value="0x92FB" />
+      <token name="OFFSET" value="0x92FC" />
+      <token name="BLOCK_INDEX" value="0x92FD" />
+      <token name="ARRAY_STRIDE" value="0x92FE" />
+      <token name="MATRIX_STRIDE" value="0x92FF" />
+      <token name="IS_ROW_MAJOR" value="0x9300" />
+      <token name="ATOMIC_COUNTER_BUFFER_INDEX" value="0x9301" />
+      <token name="BUFFER_BINDING" value="0x9302" />
+      <token name="BUFFER_DATA_SIZE" value="0x9303" />
+      <token name="NUM_ACTIVE_VARIABLES" value="0x9304" />
+      <token name="ACTIVE_VARIABLES" value="0x9305" />
+      <token name="REFERENCED_BY_VERTEX_SHADER" value="0x9306" />
+      <token name="REFERENCED_BY_TESS_CONTROL_SHADER" value="0x9307" />
+      <token name="REFERENCED_BY_TESS_EVALUATION_SHADER" value="0x9308" />
+      <token name="REFERENCED_BY_GEOMETRY_SHADER" value="0x9309" />
+      <token name="REFERENCED_BY_FRAGMENT_SHADER" value="0x930A" />
+      <token name="REFERENCED_BY_COMPUTE_SHADER" value="0x930B" />
+      <token name="TOP_LEVEL_ARRAY_SIZE" value="0x930C" />
+      <token name="TOP_LEVEL_ARRAY_STRIDE" value="0x930D" />
+      <token name="LOCATION" value="0x930E" />
+      <token name="LOCATION_INDEX" value="0x930F" />
+      <token name="IS_PER_PATCH" value="0x92E7" />
+      <token name="SHADER_STORAGE_BUFFER" value="0x90D2" />
+      <token name="SHADER_STORAGE_BUFFER_BINDING" value="0x90D3" />
+      <token name="SHADER_STORAGE_BUFFER_START" value="0x90D4" />
+      <token name="SHADER_STORAGE_BUFFER_SIZE" value="0x90D5" />
+      <token name="MAX_VERTEX_SHADER_STORAGE_BLOCKS" value="0x90D6" />
+      <token name="MAX_GEOMETRY_SHADER_STORAGE_BLOCKS" value="0x90D7" />
+      <token name="MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS" value="0x90D8" />
+      <token name="MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS" value="0x90D9" />
+      <token name="MAX_FRAGMENT_SHADER_STORAGE_BLOCKS" value="0x90DA" />
+      <token name="MAX_COMPUTE_SHADER_STORAGE_BLOCKS" value="0x90DB" />
+      <token name="MAX_COMBINED_SHADER_STORAGE_BLOCKS" value="0x90DC" />
+      <token name="MAX_SHADER_STORAGE_BUFFER_BINDINGS" value="0x90DD" />
+      <token name="MAX_SHADER_STORAGE_BLOCK_SIZE" value="0x90DE" />
+      <token name="SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT" value="0x90DF" />
+      <token name="SHADER_STORAGE_BARRIER_BIT" value="0x00002000" />
+      <token name="MAX_COMBINED_SHADER_OUTPUT_RESOURCES" value="0x8F39" />
+      <token name="DEPTH_STENCIL_TEXTURE_MODE" value="0x90EA" />
+      <token name="TEXTURE_BUFFER_OFFSET" value="0x919D" />
+      <token name="TEXTURE_BUFFER_SIZE" value="0x919E" />
+      <token name="TEXTURE_BUFFER_OFFSET_ALIGNMENT" value="0x919F" />
+      <token name="TEXTURE_VIEW_MIN_LEVEL" value="0x82DB" />
+      <token name="TEXTURE_VIEW_NUM_LEVELS" value="0x82DC" />
+      <token name="TEXTURE_VIEW_MIN_LAYER" value="0x82DD" />
+      <token name="TEXTURE_VIEW_NUM_LAYERS" value="0x82DE" />
+      <token name="TEXTURE_IMMUTABLE_LEVELS" value="0x82DF" />
+      <token name="VERTEX_ATTRIB_BINDING" value="0x82D4" />
+      <token name="VERTEX_ATTRIB_RELATIVE_OFFSET" value="0x82D5" />
+      <token name="VERTEX_BINDING_DIVISOR" value="0x82D6" />
+      <token name="VERTEX_BINDING_OFFSET" value="0x82D7" />
+      <token name="VERTEX_BINDING_STRIDE" value="0x82D8" />
+      <token name="MAX_VERTEX_ATTRIB_RELATIVE_OFFSET" value="0x82D9" />
+      <token name="MAX_VERTEX_ATTRIB_BINDINGS" value="0x82DA" />
+      <token name="VERTEX_BINDING_BUFFER" value="0x8F4F" />
+      <token name="DISPLAY_LIST" value="0x82E7" />
+      <token name="STACK_UNDERFLOW" value="0x0504" />
+      <token name="STACK_OVERFLOW" value="0x0503" />
+    </enum>
+    <function name="BindVertexBuffer" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="bindingindex" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="BufferOffset" flow="in" />
+      <param name="stride" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="UniformSubroutinesuiv" category="VERSION_4_0" extension="Core" version="4.0">
-      <param name="shadertype" type="GLenum" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="indices" type="GLuint *" flow="in" count="count" />
+    <function name="ClearBufferData" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="data" type="void *" flow="in" count="COMPSIZE(format,type)" />
       <returns type="void" />
     </function>
-  </add>
-  <add name="glcore" version="4.1">
-    <enum name="VERSION_4_1">
-      <token name="FIXED" value="0x140C" />
-      <token name="IMPLEMENTATION_COLOR_READ_TYPE" value="0x8B9A" />
-      <token name="IMPLEMENTATION_COLOR_READ_FORMAT" value="0x8B9B" />
-      <token name="LOW_FLOAT" value="0x8DF0" />
-      <token name="MEDIUM_FLOAT" value="0x8DF1" />
-      <token name="HIGH_FLOAT" value="0x8DF2" />
-      <token name="LOW_INT" value="0x8DF3" />
-      <token name="MEDIUM_INT" value="0x8DF4" />
-      <token name="HIGH_INT" value="0x8DF5" />
-      <token name="SHADER_COMPILER" value="0x8DFA" />
-      <token name="SHADER_BINARY_FORMATS" value="0x8DF8" />
-      <token name="NUM_SHADER_BINARY_FORMATS" value="0x8DF9" />
-      <token name="MAX_VERTEX_UNIFORM_VECTORS" value="0x8DFB" />
-      <token name="MAX_VARYING_VECTORS" value="0x8DFC" />
-      <token name="MAX_FRAGMENT_UNIFORM_VECTORS" value="0x8DFD" />
-      <token name="RGB565" value="0x8D62" />
-      <token name="PROGRAM_BINARY_RETRIEVABLE_HINT" value="0x8257" />
-      <token name="PROGRAM_BINARY_LENGTH" value="0x8741" />
-      <token name="NUM_PROGRAM_BINARY_FORMATS" value="0x87FE" />
-      <token name="PROGRAM_BINARY_FORMATS" value="0x87FF" />
-      <token name="VERTEX_SHADER_BIT" value="0x00000001" />
-      <token name="FRAGMENT_SHADER_BIT" value="0x00000002" />
-      <token name="GEOMETRY_SHADER_BIT" value="0x00000004" />
-      <token name="TESS_CONTROL_SHADER_BIT" value="0x00000008" />
-      <token name="TESS_EVALUATION_SHADER_BIT" value="0x00000010" />
-      <token name="ALL_SHADER_BITS" value="0xFFFFFFFF" />
-      <token name="PROGRAM_SEPARABLE" value="0x8258" />
-      <token name="ACTIVE_PROGRAM" value="0x8259" />
-      <token name="PROGRAM_PIPELINE_BINDING" value="0x825A" />
-      <token name="MAX_VIEWPORTS" value="0x825B" />
-      <token name="VIEWPORT_SUBPIXEL_BITS" value="0x825C" />
-      <token name="VIEWPORT_BOUNDS_RANGE" value="0x825D" />
-      <token name="LAYER_PROVOKING_VERTEX" value="0x825E" />
-      <token name="VIEWPORT_INDEX_PROVOKING_VERTEX" value="0x825F" />
-      <token name="UNDEFINED_VERTEX" value="0x8260" />
-    </enum>
-    <function name="ActiveShaderProgram" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="pipeline" type="GLuint" flow="in" />
-      <param name="program" type="GLuint" flow="in" />
+    <function name="ClearBufferSubData" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="offset" type="BufferOffset" flow="in" />
+      <param name="size" type="BufferSize" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="data" type="void *" flow="in" count="COMPSIZE(format,type)" />
       <returns type="void" />
     </function>
-    <function name="BindProgramPipeline" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="pipeline" type="GLuint" flow="in" />
+    <function name="CopyImageSubData" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="srcName" type="GLuint" flow="in" />
+      <param name="srcTarget" type="GLenum" flow="in" />
+      <param name="srcLevel" type="GLint" flow="in" />
+      <param name="srcX" type="GLint" flow="in" />
+      <param name="srcY" type="GLint" flow="in" />
+      <param name="srcZ" type="GLint" flow="in" />
+      <param name="dstName" type="GLuint" flow="in" />
+      <param name="dstTarget" type="GLenum" flow="in" />
+      <param name="dstLevel" type="GLint" flow="in" />
+      <param name="dstX" type="GLint" flow="in" />
+      <param name="dstY" type="GLint" flow="in" />
+      <param name="dstZ" type="GLint" flow="in" />
+      <param name="srcWidth" type="GLsizei" flow="in" />
+      <param name="srcHeight" type="GLsizei" flow="in" />
+      <param name="srcDepth" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ClearDepthf" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="d" type="GLfloat" flow="in" />
+    <function name="DebugMessageCallback" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="callback" type="GLDEBUGPROC" flow="in" />
+      <param name="userParam" type="void *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="CreateShaderProgramv" category="VERSION_4_1" extension="Core" version="4.1">
+    <function name="DebugMessageControl" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="source" type="GLenum" flow="in" />
       <param name="type" type="GLenum" flow="in" />
+      <param name="severity" type="GLenum" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="strings" type="GLchar **" flow="in" count="count" />
-      <returns type="GLuint" />
-    </function>
-    <function name="DeleteProgramPipelines" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="pipelines" type="GLuint *" flow="in" count="n" />
-      <returns type="void" />
-    </function>
-    <function name="DepthRangeArrayv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="first" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="v" type="GLdouble *" flow="in" count="COMPSIZE(count)" />
+      <param name="ids" type="GLuint *" flow="in" count="count" />
+      <param name="enabled" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="DepthRangef" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="n" type="GLfloat" flow="in" />
-      <param name="f" type="GLfloat" flow="in" />
+    <function name="DebugMessageInsert" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="source" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="id" type="GLuint" flow="in" />
+      <param name="severity" type="GLenum" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <param name="buf" type="GLchar *" flow="in" count="COMPSIZE(buf,length)" />
       <returns type="void" />
     </function>
-    <function name="DepthRangeIndexed" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="n" type="GLdouble" flow="in" />
-      <param name="f" type="GLdouble" flow="in" />
+    <function name="DispatchCompute" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="num_groups_x" type="GLuint" flow="in" />
+      <param name="num_groups_y" type="GLuint" flow="in" />
+      <param name="num_groups_z" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GenProgramPipelines" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="n" type="GLsizei" flow="in" />
-      <param name="pipelines" type="GLuint *" flow="out" count="n" />
+    <function name="DispatchComputeIndirect" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="indirect" type="BufferOffset" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetDoublei_v" category="VERSION_4_1" extension="Core" version="4.1">
+    <function name="FramebufferParameteri" category="VERSION_4_3" extension="Core" version="4.3">
       <param name="target" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="data" type="GLdouble *" flow="out" count="COMPSIZE(target)" />
-      <returns type="void" />
-    </function>
-    <function name="GetFloati_v" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="target" type="TypeEnum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="data" type="GLfloat *" flow="out" count="COMPSIZE(target)" />
-      <returns type="void" />
-    </function>
-    <function name="GetProgramBinary" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="binaryFormat" type="GLenum *" flow="out" count="1" />
-      <param name="binary" type="void *" flow="out" count="bufSize" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetProgramPipelineInfoLog" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="pipeline" type="GLuint" flow="in" />
+    <function name="GetDebugMessageLog" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="count" type="GLuint" flow="in" />
       <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="infoLog" type="GLchar *" flow="out" count="bufSize" />
-      <returns type="void" />
+      <param name="sources" type="GLenum *" flow="out" count="count" />
+      <param name="types" type="GLenum *" flow="out" count="count" />
+      <param name="ids" type="GLuint *" flow="out" count="count" />
+      <param name="severities" type="GLenum *" flow="out" count="count" />
+      <param name="lengths" type="GLsizei *" flow="out" count="count" />
+      <param name="messageLog" type="GLchar *" flow="out" count="bufSize" />
+      <returns type="GLuint" />
     </function>
-    <function name="GetProgramPipelineiv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="pipeline" type="GLuint" flow="in" />
+    <function name="GetFramebufferParameteriv" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="target" type="GLenum" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
       <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="GetShaderPrecisionFormat" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="shadertype" type="GLenum" flow="in" />
-      <param name="precisiontype" type="GLenum" flow="in" />
-      <param name="range" type="GLint *" flow="out" count="2" />
-      <param name="precision" type="GLint *" flow="out" count="2" />
-      <returns type="void" />
-    </function>
-    <function name="GetVertexAttribLdv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="index" type="GLuint" flow="in" />
+    <function name="GetInternalformati64v" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLdouble *" flow="out" count="COMPSIZE(pname)" />
-      <returns type="void" />
-    </function>
-    <function name="IsProgramPipeline" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="pipeline" type="GLuint" flow="in" />
-      <returns type="Boolean" />
-    </function>
-    <function name="ProgramBinary" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="binaryFormat" type="GLenum" flow="in" />
-      <param name="binary" type="void *" flow="in" count="length" />
-      <param name="length" type="GLsizei" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="ProgramParameteri" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="pname" type="ProgramParameterPName" flow="in" />
-      <param name="value" type="GLint" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="ProgramUniform1d" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLdouble" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="ProgramUniform1dv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="1" />
-      <returns type="void" />
-    </function>
-    <function name="ProgramUniform1f" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLfloat" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="ProgramUniform1fv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="1" />
-      <returns type="void" />
-    </function>
-    <function name="ProgramUniform1i" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLint" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="ProgramUniform1iv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLint *" flow="in" count="1" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLint64 *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform1ui" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLuint" flow="in" />
+    <function name="GetObjectLabel" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="identifier" type="GLenum" flow="in" />
+      <param name="name" type="GLuint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="label" type="GLchar *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform1uiv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="1" />
+    <function name="GetObjectPtrLabel" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="ptr" type="void *" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="label" type="GLchar *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform2d" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLdouble" flow="in" />
-      <param name="v1" type="GLdouble" flow="in" />
+    <function name="GetPointerv" category="VERSION_4_3|VERSION_4_3" extension="Core" version="4.3">
+      <param name="pname" type="GetPointervPName" flow="in" />
+      <param name="params" type="void **" flow="out" count="1" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform2dv" category="VERSION_4_1" extension="Core" version="4.1">
+    <function name="GetProgramInterfaceiv" category="VERSION_4_3" extension="Core" version="4.3">
       <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="2" />
+      <param name="programInterface" type="GLenum" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform2f" category="VERSION_4_1" extension="Core" version="4.1">
+    <function name="GetProgramResourceIndex" category="VERSION_4_3" extension="Core" version="4.3">
       <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLfloat" flow="in" />
-      <param name="v1" type="GLfloat" flow="in" />
-      <returns type="void" />
+      <param name="programInterface" type="GLenum" flow="in" />
+      <param name="name" type="GLchar *" flow="in" count="COMPSIZE(name)" />
+      <returns type="GLuint" />
     </function>
-    <function name="ProgramUniform2fv" category="VERSION_4_1" extension="Core" version="4.1">
+    <function name="GetProgramResourceiv" category="VERSION_4_3" extension="Core" version="4.3">
       <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="2" />
+      <param name="programInterface" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="propCount" type="GLsizei" flow="in" />
+      <param name="props" type="GLenum *" flow="in" count="propCount" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="params" type="GLint *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform2i" category="VERSION_4_1" extension="Core" version="4.1">
+    <function name="GetProgramResourceLocation" category="VERSION_4_3" extension="Core" version="4.3">
       <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLint" flow="in" />
-      <param name="v1" type="GLint" flow="in" />
-      <returns type="void" />
+      <param name="programInterface" type="GLenum" flow="in" />
+      <param name="name" type="GLchar *" flow="in" count="COMPSIZE(name)" />
+      <returns type="GLint" />
     </function>
-    <function name="ProgramUniform2iv" category="VERSION_4_1" extension="Core" version="4.1">
+    <function name="GetProgramResourceLocationIndex" category="VERSION_4_3" extension="Core" version="4.3">
       <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLint *" flow="in" count="2" />
-      <returns type="void" />
+      <param name="programInterface" type="GLenum" flow="in" />
+      <param name="name" type="GLchar *" flow="in" count="COMPSIZE(name)" />
+      <returns type="GLint" />
     </function>
-    <function name="ProgramUniform2ui" category="VERSION_4_1" extension="Core" version="4.1">
+    <function name="GetProgramResourceName" category="VERSION_4_3" extension="Core" version="4.3">
       <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLuint" flow="in" />
-      <param name="v1" type="GLuint" flow="in" />
+      <param name="programInterface" type="GLenum" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="length" type="GLsizei *" flow="out" count="1" />
+      <param name="name" type="GLchar *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform2uiv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="2" />
+    <function name="InvalidateBufferData" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="buffer" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform3d" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLdouble" flow="in" />
-      <param name="v1" type="GLdouble" flow="in" />
-      <param name="v2" type="GLdouble" flow="in" />
+    <function name="InvalidateBufferSubData" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="BufferOffset" flow="in" />
+      <param name="length" type="BufferSize" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform3dv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="3" />
+    <function name="InvalidateFramebuffer" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="numAttachments" type="GLsizei" flow="in" />
+      <param name="attachments" type="GLenum *" flow="in" count="numAttachments" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform3f" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLfloat" flow="in" />
-      <param name="v1" type="GLfloat" flow="in" />
-      <param name="v2" type="GLfloat" flow="in" />
+    <function name="InvalidateSubFramebuffer" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="numAttachments" type="GLsizei" flow="in" />
+      <param name="attachments" type="GLenum *" flow="in" count="numAttachments" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform3fv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="3" />
+    <function name="InvalidateTexImage" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform3i" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLint" flow="in" />
-      <param name="v1" type="GLint" flow="in" />
-      <param name="v2" type="GLint" flow="in" />
+    <function name="InvalidateTexSubImage" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform3iv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLint *" flow="in" count="3" />
+    <function name="MultiDrawArraysIndirect" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="mode" type="GLenum" flow="in" />
+      <param name="indirect" type="void *" flow="in" count="COMPSIZE(drawcount,stride)" />
+      <param name="drawcount" type="GLsizei" flow="in" />
+      <param name="stride" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform3ui" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLuint" flow="in" />
-      <param name="v1" type="GLuint" flow="in" />
-      <param name="v2" type="GLuint" flow="in" />
+    <function name="MultiDrawElementsIndirect" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="mode" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="indirect" type="void *" flow="in" count="COMPSIZE(drawcount,stride)" />
+      <param name="drawcount" type="GLsizei" flow="in" />
+      <param name="stride" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform3uiv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="3" />
+    <function name="ObjectLabel" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="identifier" type="GLenum" flow="in" />
+      <param name="name" type="GLuint" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <param name="label" type="GLchar *" flow="in" count="COMPSIZE(label,length)" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform4d" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLdouble" flow="in" />
-      <param name="v1" type="GLdouble" flow="in" />
-      <param name="v2" type="GLdouble" flow="in" />
-      <param name="v3" type="GLdouble" flow="in" />
+    <function name="ObjectPtrLabel" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="ptr" type="void *" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <param name="label" type="GLchar *" flow="in" count="COMPSIZE(label,length)" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform4dv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="4" />
+    <function name="PopDebugGroup" category="VERSION_4_3" extension="Core" version="4.3">
       <returns type="void" />
     </function>
-    <function name="ProgramUniform4f" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLfloat" flow="in" />
-      <param name="v1" type="GLfloat" flow="in" />
-      <param name="v2" type="GLfloat" flow="in" />
-      <param name="v3" type="GLfloat" flow="in" />
+    <function name="PushDebugGroup" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="source" type="GLenum" flow="in" />
+      <param name="id" type="GLuint" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <param name="message" type="GLchar *" flow="in" count="COMPSIZE(message,length)" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform4fv" category="VERSION_4_1" extension="Core" version="4.1">
+    <function name="ShaderStorageBlockBinding" category="VERSION_4_3" extension="Core" version="4.3">
       <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="4" />
+      <param name="storageBlockIndex" type="GLuint" flow="in" />
+      <param name="storageBlockBinding" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform4i" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLint" flow="in" />
-      <param name="v1" type="GLint" flow="in" />
-      <param name="v2" type="GLint" flow="in" />
-      <param name="v3" type="GLint" flow="in" />
+    <function name="TexBufferRange" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="BufferOffset" flow="in" />
+      <param name="size" type="BufferSize" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform4iv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLint *" flow="in" count="4" />
+    <function name="TexStorage2DMultisample" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="fixedsamplelocations" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform4ui" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="v0" type="GLuint" flow="in" />
-      <param name="v1" type="GLuint" flow="in" />
-      <param name="v2" type="GLuint" flow="in" />
-      <param name="v3" type="GLuint" flow="in" />
+    <function name="TexStorage3DMultisample" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="fixedsamplelocations" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniform4uiv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="value" type="GLuint *" flow="in" count="4" />
+    <function name="TextureView" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="target" type="GLenum" flow="in" />
+      <param name="origtexture" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="minlevel" type="GLuint" flow="in" />
+      <param name="numlevels" type="GLuint" flow="in" />
+      <param name="minlayer" type="GLuint" flow="in" />
+      <param name="numlayers" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix2dv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="2" />
+    <function name="VertexAttribBinding" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="bindingindex" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix2fv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="2" />
+    <function name="VertexAttribFormat" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="size" type="GLint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="normalized" type="Boolean" flow="in" />
+      <param name="relativeoffset" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix2x3dv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count" />
+    <function name="VertexAttribIFormat" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="size" type="GLint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="relativeoffset" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix2x3fv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count" />
+    <function name="VertexAttribLFormat" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="attribindex" type="GLuint" flow="in" />
+      <param name="size" type="GLint" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="relativeoffset" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix2x4dv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count" />
+    <function name="VertexBindingDivisor" category="VERSION_4_3" extension="Core" version="4.3">
+      <param name="bindingindex" type="GLuint" flow="in" />
+      <param name="divisor" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix2x4fv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
+  </add>
+  <add name="glcore" version="4.4">
+    <enum name="VERSION_4_4">
+      <token name="MAX_VERTEX_ATTRIB_STRIDE" value="0x82E5" />
+      <token name="PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED" value="0x8221" />
+      <token name="TEXTURE_BUFFER_BINDING" value="0x8C2A" />
+      <token name="MAP_READ_BIT" value="0x0001" />
+      <token name="MAP_WRITE_BIT" value="0x0002" />
+      <token name="MAP_PERSISTENT_BIT" value="0x0040" />
+      <token name="MAP_COHERENT_BIT" value="0x0080" />
+      <token name="DYNAMIC_STORAGE_BIT" value="0x0100" />
+      <token name="CLIENT_STORAGE_BIT" value="0x0200" />
+      <token name="CLIENT_MAPPED_BUFFER_BARRIER_BIT" value="0x00004000" />
+      <token name="BUFFER_IMMUTABLE_STORAGE" value="0x821F" />
+      <token name="BUFFER_STORAGE_FLAGS" value="0x8220" />
+      <token name="CLEAR_TEXTURE" value="0x9365" />
+      <token name="LOCATION_COMPONENT" value="0x934A" />
+      <token name="TRANSFORM_FEEDBACK_BUFFER" value="0x8C8E" />
+      <token name="TRANSFORM_FEEDBACK_BUFFER_INDEX" value="0x934B" />
+      <token name="TRANSFORM_FEEDBACK_BUFFER_STRIDE" value="0x934C" />
+      <token name="QUERY_BUFFER" value="0x9192" />
+      <token name="QUERY_BUFFER_BARRIER_BIT" value="0x00008000" />
+      <token name="QUERY_BUFFER_BINDING" value="0x9193" />
+      <token name="QUERY_RESULT_NO_WAIT" value="0x9194" />
+      <token name="MIRROR_CLAMP_TO_EDGE" value="0x8743" />
+      <token name="STENCIL_INDEX" value="0x1901" />
+      <token name="STENCIL_INDEX8" value="0x8D48" />
+      <token name="UNSIGNED_INT_10F_11F_11F_REV" value="0x8C3B" />
+    </enum>
+    <function name="BindBuffersBase" category="VERSION_4_4" extension="Core" version="4.4">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="first" type="GLuint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count" />
+      <param name="buffers" type="GLuint *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix3dv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
+    <function name="BindBuffersRange" category="VERSION_4_4" extension="Core" version="4.4">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="first" type="GLuint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="3" />
+      <param name="buffers" type="GLuint *" flow="in" count="count" />
+      <param name="offsets" type="GLintptr *" flow="in" count="count" />
+      <param name="sizes" type="GLsizeiptr *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix3fv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
+    <function name="BindImageTextures" category="VERSION_4_4" extension="Core" version="4.4">
+      <param name="first" type="GLuint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="3" />
+      <param name="textures" type="GLuint *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix3x2dv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
+    <function name="BindSamplers" category="VERSION_4_4" extension="Core" version="4.4">
+      <param name="first" type="GLuint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count" />
+      <param name="samplers" type="GLuint *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix3x2fv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
+    <function name="BindTextures" category="VERSION_4_4" extension="Core" version="4.4">
+      <param name="first" type="GLuint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count" />
+      <param name="textures" type="GLuint *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix3x4dv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
+    <function name="BindVertexBuffers" category="VERSION_4_4" extension="Core" version="4.4">
+      <param name="first" type="GLuint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count" />
+      <param name="buffers" type="GLuint *" flow="in" count="count" />
+      <param name="offsets" type="GLintptr *" flow="in" count="count" />
+      <param name="strides" type="GLsizei *" flow="in" count="count" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix3x4fv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count" />
+    <function name="BufferStorage" category="VERSION_4_4" extension="Core" version="4.4">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="size" type="GLsizeiptr" flow="in" />
+      <param name="data" type="void *" flow="in" count="size" />
+      <param name="flags" type="GLbitfield" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix4dv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="4" />
+    <function name="ClearTexImage" category="VERSION_4_4" extension="Core" version="4.4">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="data" type="void *" flow="in" count="COMPSIZE(format,type)" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix4fv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="4" />
+    <function name="ClearTexSubImage" category="VERSION_4_4" extension="Core" version="4.4">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="data" type="void *" flow="in" count="COMPSIZE(format,type)" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix4x2dv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count" />
+  </add>
+  <add name="glcore" version="4.5">
+    <enum name="VERSION_4_5">
+      <token name="CONTEXT_LOST" value="0x0507" />
+      <token name="LOWER_LEFT" value="0x8CA1" />
+      <token name="UPPER_LEFT" value="0x8CA2" />
+      <token name="NEGATIVE_ONE_TO_ONE" value="0x935E" />
+      <token name="ZERO_TO_ONE" value="0x935F" />
+      <token name="CLIP_ORIGIN" value="0x935C" />
+      <token name="CLIP_DEPTH_MODE" value="0x935D" />
+      <token name="QUERY_WAIT_INVERTED" value="0x8E17" />
+      <token name="QUERY_NO_WAIT_INVERTED" value="0x8E18" />
+      <token name="QUERY_BY_REGION_WAIT_INVERTED" value="0x8E19" />
+      <token name="QUERY_BY_REGION_NO_WAIT_INVERTED" value="0x8E1A" />
+      <token name="MAX_CULL_DISTANCES" value="0x82F9" />
+      <token name="MAX_COMBINED_CLIP_AND_CULL_DISTANCES" value="0x82FA" />
+      <token name="TEXTURE_TARGET" value="0x1006" />
+      <token name="QUERY_TARGET" value="0x82EA" />
+      <token name="TEXTURE_BINDING_1D" value="0x8068" />
+      <token name="TEXTURE_BINDING_1D_ARRAY" value="0x8C1C" />
+      <token name="TEXTURE_BINDING_2D" value="0x8069" />
+      <token name="TEXTURE_BINDING_2D_ARRAY" value="0x8C1D" />
+      <token name="TEXTURE_BINDING_2D_MULTISAMPLE" value="0x9104" />
+      <token name="TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY" value="0x9105" />
+      <token name="TEXTURE_BINDING_3D" value="0x806A" />
+      <token name="TEXTURE_BINDING_BUFFER" value="0x8C2C" />
+      <token name="TEXTURE_BINDING_CUBE_MAP" value="0x8514" />
+      <token name="TEXTURE_BINDING_CUBE_MAP_ARRAY" value="0x900A" />
+      <token name="TEXTURE_BINDING_RECTANGLE" value="0x84F6" />
+      <token name="TEXTURE_BINDING" value="0x82EB" />
+      <token name="NO_ERROR" value="0" />
+      <token name="GUILTY_CONTEXT_RESET" value="0x8253" />
+      <token name="INNOCENT_CONTEXT_RESET" value="0x8254" />
+      <token name="UNKNOWN_CONTEXT_RESET" value="0x8255" />
+      <token name="RESET_NOTIFICATION_STRATEGY" value="0x8256" />
+      <token name="LOSE_CONTEXT_ON_RESET" value="0x8252" />
+      <token name="NO_RESET_NOTIFICATION" value="0x8261" />
+      <token name="CONTEXT_FLAG_ROBUST_ACCESS_BIT" value="0x00000004" />
+      <token name="CONTEXT_LOST" value="0x0507" />
+      <token name="CONTEXT_RELEASE_BEHAVIOR" value="0x82FB" />
+      <token name="NONE" value="0" />
+      <token name="CONTEXT_RELEASE_BEHAVIOR_FLUSH" value="0x82FC" />
+    </enum>
+    <function name="BindTextureUnit" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="unit" type="GLuint" flow="in" />
+      <param name="texture" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix4x2fv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count" />
+    <function name="BlitNamedFramebuffer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="readFramebuffer" type="GLuint" flow="in" />
+      <param name="drawFramebuffer" type="GLuint" flow="in" />
+      <param name="srcX0" type="GLint" flow="in" />
+      <param name="srcY0" type="GLint" flow="in" />
+      <param name="srcX1" type="GLint" flow="in" />
+      <param name="srcY1" type="GLint" flow="in" />
+      <param name="dstX0" type="GLint" flow="in" />
+      <param name="dstY0" type="GLint" flow="in" />
+      <param name="dstX1" type="GLint" flow="in" />
+      <param name="dstY1" type="GLint" flow="in" />
+      <param name="mask" type="GLbitfield" flow="in" />
+      <param name="filter" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ProgramUniformMatrix4x3dv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLdouble *" flow="in" count="count" />
-      <returns type="void" />
+    <function name="CheckNamedFramebufferStatus" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="target" type="GLenum" flow="in" />
+      <returns type="GLenum" />
     </function>
-    <function name="ProgramUniformMatrix4x3fv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="location" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="transpose" type="Boolean" flow="in" />
-      <param name="value" type="GLfloat *" flow="in" count="count" />
+    <function name="ClearNamedBufferData" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="data" type="void *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ReleaseShaderCompiler" category="VERSION_4_1" extension="Core" version="4.1">
+    <function name="ClearNamedBufferSubData" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="data" type="void *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ScissorArrayv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="first" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="v" type="GLint *" flow="in" count="COMPSIZE(count)" />
+    <function name="ClearNamedFramebufferfi" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="depth" type="GLfloat" flow="in" />
+      <param name="stencil" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ScissorIndexed" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="left" type="GLint" flow="in" />
-      <param name="bottom" type="GLint" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
+    <function name="ClearNamedFramebufferfv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="drawbuffer" type="GLint" flow="in" />
+      <param name="value" type="GLfloat *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ScissorIndexedv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLint *" flow="in" count="4" />
+    <function name="ClearNamedFramebufferiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="drawbuffer" type="GLint" flow="in" />
+      <param name="value" type="GLint *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ShaderBinary" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="shaders" type="GLuint *" flow="in" count="count" />
-      <param name="binaryformat" type="GLenum" flow="in" />
-      <param name="binary" type="void *" flow="in" count="length" />
-      <param name="length" type="GLsizei" flow="in" />
+    <function name="ClearNamedFramebufferuiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buffer" type="GLenum" flow="in" />
+      <param name="drawbuffer" type="GLint" flow="in" />
+      <param name="value" type="GLuint *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="UseProgramStages" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="pipeline" type="GLuint" flow="in" />
-      <param name="stages" type="GLbitfield" flow="in" />
-      <param name="program" type="GLuint" flow="in" />
+    <function name="ClipControl" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="origin" type="GLenum" flow="in" />
+      <param name="depth" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ValidateProgramPipeline" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="pipeline" type="GLuint" flow="in" />
+    <function name="CompressedTextureSubImage1D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="imageSize" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribL1d" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
+    <function name="CompressedTextureSubImage2D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="imageSize" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribL1dv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLdouble *" flow="in" count="1" />
+    <function name="CompressedTextureSubImage3D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="imageSize" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribL2d" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
-      <param name="y" type="GLdouble" flow="in" />
+    <function name="CopyNamedBufferSubData" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="readBuffer" type="GLuint" flow="in" />
+      <param name="writeBuffer" type="GLuint" flow="in" />
+      <param name="readOffset" type="GLintptr" flow="in" />
+      <param name="writeOffset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribL2dv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLdouble *" flow="in" count="2" />
+    <function name="CopyTextureSubImage1D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribL3d" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
-      <param name="y" type="GLdouble" flow="in" />
-      <param name="z" type="GLdouble" flow="in" />
+    <function name="CopyTextureSubImage2D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribL3dv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLdouble *" flow="in" count="3" />
+    <function name="CopyTextureSubImage3D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribL4d" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLdouble" flow="in" />
-      <param name="y" type="GLdouble" flow="in" />
-      <param name="z" type="GLdouble" flow="in" />
-      <param name="w" type="GLdouble" flow="in" />
+    <function name="CreateBuffers" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="buffers" type="GLuint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribL4dv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLdouble *" flow="in" count="4" />
+    <function name="CreateFramebuffers" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="framebuffers" type="GLuint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribLPointer" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="size" type="GLint" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="stride" type="GLsizei" flow="in" />
-      <param name="pointer" type="void *" flow="in" count="size" />
+    <function name="CreateProgramPipelines" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="pipelines" type="GLuint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="ViewportArrayv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="first" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="v" type="GLfloat *" flow="in" count="COMPSIZE(count)" />
+    <function name="CreateQueries" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="ids" type="GLuint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="ViewportIndexedf" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="x" type="GLfloat" flow="in" />
-      <param name="y" type="GLfloat" flow="in" />
-      <param name="w" type="GLfloat" flow="in" />
-      <param name="h" type="GLfloat" flow="in" />
+    <function name="CreateRenderbuffers" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="renderbuffers" type="GLuint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="ViewportIndexedfv" category="VERSION_4_1" extension="Core" version="4.1">
-      <param name="index" type="GLuint" flow="in" />
-      <param name="v" type="GLfloat *" flow="in" count="4" />
+    <function name="CreateSamplers" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="samplers" type="GLuint *" flow="out" />
       <returns type="void" />
     </function>
-  </add>
-  <add name="glcore" version="4.2">
-    <enum name="VERSION_4_2">
-      <token name="UNPACK_COMPRESSED_BLOCK_WIDTH" value="0x9127" />
-      <token name="UNPACK_COMPRESSED_BLOCK_HEIGHT" value="0x9128" />
-      <token name="UNPACK_COMPRESSED_BLOCK_DEPTH" value="0x9129" />
-      <token name="UNPACK_COMPRESSED_BLOCK_SIZE" value="0x912A" />
-      <token name="PACK_COMPRESSED_BLOCK_WIDTH" value="0x912B" />
-      <token name="PACK_COMPRESSED_BLOCK_HEIGHT" value="0x912C" />
-      <token name="PACK_COMPRESSED_BLOCK_DEPTH" value="0x912D" />
-      <token name="PACK_COMPRESSED_BLOCK_SIZE" value="0x912E" />
-      <token name="NUM_SAMPLE_COUNTS" value="0x9380" />
-      <token name="MIN_MAP_BUFFER_ALIGNMENT" value="0x90BC" />
-      <token name="ATOMIC_COUNTER_BUFFER" value="0x92C0" />
-      <token name="ATOMIC_COUNTER_BUFFER_BINDING" value="0x92C1" />
-      <token name="ATOMIC_COUNTER_BUFFER_START" value="0x92C2" />
-      <token name="ATOMIC_COUNTER_BUFFER_SIZE" value="0x92C3" />
-      <token name="ATOMIC_COUNTER_BUFFER_DATA_SIZE" value="0x92C4" />
-      <token name="ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS" value="0x92C5" />
-      <token name="ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES" value="0x92C6" />
-      <token name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER" value="0x92C7" />
-      <token name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER" value="0x92C8" />
-      <token name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER" value="0x92C9" />
-      <token name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER" value="0x92CA" />
-      <token name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER" value="0x92CB" />
-      <token name="MAX_VERTEX_ATOMIC_COUNTER_BUFFERS" value="0x92CC" />
-      <token name="MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS" value="0x92CD" />
-      <token name="MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS" value="0x92CE" />
-      <token name="MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS" value="0x92CF" />
-      <token name="MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS" value="0x92D0" />
-      <token name="MAX_COMBINED_ATOMIC_COUNTER_BUFFERS" value="0x92D1" />
-      <token name="MAX_VERTEX_ATOMIC_COUNTERS" value="0x92D2" />
-      <token name="MAX_TESS_CONTROL_ATOMIC_COUNTERS" value="0x92D3" />
-      <token name="MAX_TESS_EVALUATION_ATOMIC_COUNTERS" value="0x92D4" />
-      <token name="MAX_GEOMETRY_ATOMIC_COUNTERS" value="0x92D5" />
-      <token name="MAX_FRAGMENT_ATOMIC_COUNTERS" value="0x92D6" />
-      <token name="MAX_COMBINED_ATOMIC_COUNTERS" value="0x92D7" />
-      <token name="MAX_ATOMIC_COUNTER_BUFFER_SIZE" value="0x92D8" />
-      <token name="MAX_ATOMIC_COUNTER_BUFFER_BINDINGS" value="0x92DC" />
-      <token name="ACTIVE_ATOMIC_COUNTER_BUFFERS" value="0x92D9" />
-      <token name="UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX" value="0x92DA" />
-      <token name="UNSIGNED_INT_ATOMIC_COUNTER" value="0x92DB" />
-      <token name="VERTEX_ATTRIB_ARRAY_BARRIER_BIT" value="0x00000001" />
-      <token name="ELEMENT_ARRAY_BARRIER_BIT" value="0x00000002" />
-      <token name="UNIFORM_BARRIER_BIT" value="0x00000004" />
-      <token name="TEXTURE_FETCH_BARRIER_BIT" value="0x00000008" />
-      <token name="SHADER_IMAGE_ACCESS_BARRIER_BIT" value="0x00000020" />
-      <token name="COMMAND_BARRIER_BIT" value="0x00000040" />
-      <token name="PIXEL_BUFFER_BARRIER_BIT" value="0x00000080" />
-      <token name="TEXTURE_UPDATE_BARRIER_BIT" value="0x00000100" />
-      <token name="BUFFER_UPDATE_BARRIER_BIT" value="0x00000200" />
-      <token name="FRAMEBUFFER_BARRIER_BIT" value="0x00000400" />
-      <token name="TRANSFORM_FEEDBACK_BARRIER_BIT" value="0x00000800" />
-      <token name="ATOMIC_COUNTER_BARRIER_BIT" value="0x00001000" />
-      <token name="ALL_BARRIER_BITS" value="0xFFFFFFFF" />
-      <token name="MAX_IMAGE_UNITS" value="0x8F38" />
-      <token name="MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS" value="0x8F39" />
-      <token name="IMAGE_BINDING_NAME" value="0x8F3A" />
-      <token name="IMAGE_BINDING_LEVEL" value="0x8F3B" />
-      <token name="IMAGE_BINDING_LAYERED" value="0x8F3C" />
-      <token name="IMAGE_BINDING_LAYER" value="0x8F3D" />
-      <token name="IMAGE_BINDING_ACCESS" value="0x8F3E" />
-      <token name="IMAGE_1D" value="0x904C" />
-      <token name="IMAGE_2D" value="0x904D" />
-      <token name="IMAGE_3D" value="0x904E" />
-      <token name="IMAGE_2D_RECT" value="0x904F" />
-      <token name="IMAGE_CUBE" value="0x9050" />
-      <token name="IMAGE_BUFFER" value="0x9051" />
-      <token name="IMAGE_1D_ARRAY" value="0x9052" />
-      <token name="IMAGE_2D_ARRAY" value="0x9053" />
-      <token name="IMAGE_CUBE_MAP_ARRAY" value="0x9054" />
-      <token name="IMAGE_2D_MULTISAMPLE" value="0x9055" />
-      <token name="IMAGE_2D_MULTISAMPLE_ARRAY" value="0x9056" />
-      <token name="INT_IMAGE_1D" value="0x9057" />
-      <token name="INT_IMAGE_2D" value="0x9058" />
-      <token name="INT_IMAGE_3D" value="0x9059" />
-      <token name="INT_IMAGE_2D_RECT" value="0x905A" />
-      <token name="INT_IMAGE_CUBE" value="0x905B" />
-      <token name="INT_IMAGE_BUFFER" value="0x905C" />
-      <token name="INT_IMAGE_1D_ARRAY" value="0x905D" />
-      <token name="INT_IMAGE_2D_ARRAY" value="0x905E" />
-      <token name="INT_IMAGE_CUBE_MAP_ARRAY" value="0x905F" />
-      <token name="INT_IMAGE_2D_MULTISAMPLE" value="0x9060" />
-      <token name="INT_IMAGE_2D_MULTISAMPLE_ARRAY" value="0x9061" />
-      <token name="UNSIGNED_INT_IMAGE_1D" value="0x9062" />
-      <token name="UNSIGNED_INT_IMAGE_2D" value="0x9063" />
-      <token name="UNSIGNED_INT_IMAGE_3D" value="0x9064" />
-      <token name="UNSIGNED_INT_IMAGE_2D_RECT" value="0x9065" />
-      <token name="UNSIGNED_INT_IMAGE_CUBE" value="0x9066" />
-      <token name="UNSIGNED_INT_IMAGE_BUFFER" value="0x9067" />
-      <token name="UNSIGNED_INT_IMAGE_1D_ARRAY" value="0x9068" />
-      <token name="UNSIGNED_INT_IMAGE_2D_ARRAY" value="0x9069" />
-      <token name="UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY" value="0x906A" />
-      <token name="UNSIGNED_INT_IMAGE_2D_MULTISAMPLE" value="0x906B" />
-      <token name="UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY" value="0x906C" />
-      <token name="MAX_IMAGE_SAMPLES" value="0x906D" />
-      <token name="IMAGE_BINDING_FORMAT" value="0x906E" />
-      <token name="IMAGE_FORMAT_COMPATIBILITY_TYPE" value="0x90C7" />
-      <token name="IMAGE_FORMAT_COMPATIBILITY_BY_SIZE" value="0x90C8" />
-      <token name="IMAGE_FORMAT_COMPATIBILITY_BY_CLASS" value="0x90C9" />
-      <token name="MAX_VERTEX_IMAGE_UNIFORMS" value="0x90CA" />
-      <token name="MAX_TESS_CONTROL_IMAGE_UNIFORMS" value="0x90CB" />
-      <token name="MAX_TESS_EVALUATION_IMAGE_UNIFORMS" value="0x90CC" />
-      <token name="MAX_GEOMETRY_IMAGE_UNIFORMS" value="0x90CD" />
-      <token name="MAX_FRAGMENT_IMAGE_UNIFORMS" value="0x90CE" />
-      <token name="MAX_COMBINED_IMAGE_UNIFORMS" value="0x90CF" />
-      <token name="COMPRESSED_RGBA_BPTC_UNORM" value="0x8E8C" />
-      <token name="COMPRESSED_SRGB_ALPHA_BPTC_UNORM" value="0x8E8D" />
-      <token name="COMPRESSED_RGB_BPTC_SIGNED_FLOAT" value="0x8E8E" />
-      <token name="COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT" value="0x8E8F" />
-      <token name="TEXTURE_IMMUTABLE_FORMAT" value="0x912F" />
-    </enum>
-    <function name="BindImageTexture" category="VERSION_4_2" extension="Core" version="4.2">
-      <param name="unit" type="GLuint" flow="in" />
+    <function name="CreateTextures" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="textures" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateTransformFeedbacks" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="ids" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="CreateVertexArrays" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="arrays" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="DisableVertexArrayAttrib" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="EnableVertexArrayAttrib" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="FlushMappedNamedBufferRange" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="GenerateTextureMipmap" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="GetCompressedTextureImage" category="VERSION_4_5" extension="Core" version="4.5">
       <param name="texture" type="GLuint" flow="in" />
       <param name="level" type="GLint" flow="in" />
-      <param name="layered" type="Boolean" flow="in" />
-      <param name="layer" type="GLint" flow="in" />
-      <param name="access" type="GLenum" flow="in" />
-      <param name="format" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="DrawArraysInstancedBaseInstance" category="VERSION_4_2" extension="Core" version="4.2">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="first" type="GLint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="instancecount" type="GLsizei" flow="in" />
-      <param name="baseinstance" type="GLuint" flow="in" />
+    <function name="GetCompressedTextureSubImage" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="DrawElementsInstancedBaseInstance" category="VERSION_4_2" extension="Core" version="4.2">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="indices" type="void *" flow="in" count="count" />
-      <param name="instancecount" type="GLsizei" flow="in" />
-      <param name="baseinstance" type="GLuint" flow="in" />
+    <function name="GetGraphicsResetStatus" category="VERSION_4_5" extension="Core" version="4.5">
+      <returns type="GLenum" />
+    </function>
+    <function name="GetNamedBufferParameteri64v" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint64 *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="DrawElementsInstancedBaseVertexBaseInstance" category="VERSION_4_2" extension="Core" version="4.2">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="indices" type="void *" flow="in" count="count" />
-      <param name="instancecount" type="GLsizei" flow="in" />
-      <param name="basevertex" type="GLint" flow="in" />
-      <param name="baseinstance" type="GLuint" flow="in" />
+    <function name="GetNamedBufferParameteriv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="DrawTransformFeedbackInstanced" category="VERSION_4_2" extension="Core" version="4.2">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="id" type="GLuint" flow="in" />
-      <param name="instancecount" type="GLsizei" flow="in" />
+    <function name="GetNamedBufferPointerv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="void **" flow="out" />
       <returns type="void" />
     </function>
-    <function name="DrawTransformFeedbackStreamInstanced" category="VERSION_4_2" extension="Core" version="4.2">
-      <param name="mode" type="PrimitiveType" flow="in" />
-      <param name="id" type="GLuint" flow="in" />
-      <param name="stream" type="GLuint" flow="in" />
-      <param name="instancecount" type="GLsizei" flow="in" />
+    <function name="GetNamedBufferSubData" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="GetActiveAtomicCounterBufferiv" category="VERSION_4_2" extension="Core" version="4.2">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="bufferIndex" type="GLuint" flow="in" />
+    <function name="GetNamedFramebufferAttachmentParameteriv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="attachment" type="GLenum" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <param name="params" type="GLint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="GetInternalformativ" category="VERSION_4_2" extension="Core" version="4.2">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
+    <function name="GetNamedFramebufferParameteriv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetNamedRenderbufferParameteriv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="renderbuffer" type="GLuint" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnColorTable" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
       <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="bufSize" />
+      <param name="table" type="void *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="MemoryBarrier" category="VERSION_4_2" extension="Core" version="4.2">
-      <param name="barriers" type="GLbitfield" flow="in" />
+    <function name="GetnCompressedTexImage" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="lod" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="TexStorage1D" category="VERSION_4_2" extension="Core" version="4.2">
+    <function name="GetnConvolutionFilter" category="VERSION_4_5" extension="Core" version="4.5">
       <param name="target" type="GLenum" flow="in" />
-      <param name="levels" type="GLsizei" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="image" type="void *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="TexStorage2D" category="VERSION_4_2" extension="Core" version="4.2">
+    <function name="GetnHistogram" category="VERSION_4_5" extension="Core" version="4.5">
       <param name="target" type="GLenum" flow="in" />
-      <param name="levels" type="GLsizei" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
+      <param name="reset" type="GLboolean" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="values" type="void *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="TexStorage3D" category="VERSION_4_2" extension="Core" version="4.2">
+    <function name="GetnMapdv" category="VERSION_4_5" extension="Core" version="4.5">
       <param name="target" type="GLenum" flow="in" />
-      <param name="levels" type="GLsizei" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
-      <param name="depth" type="GLsizei" flow="in" />
+      <param name="query" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="v" type="GLdouble *" flow="out" />
       <returns type="void" />
     </function>
-  </add>
-  <add name="glcore" version="4.3">
-    <enum name="VERSION_4_3">
-      <token name="NUM_SHADING_LANGUAGE_VERSIONS" value="0x82E9" />
-      <token name="VERTEX_ATTRIB_ARRAY_LONG" value="0x874E" />
-      <token name="COMPRESSED_RGB8_ETC2" value="0x9274" />
-      <token name="COMPRESSED_SRGB8_ETC2" value="0x9275" />
-      <token name="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2" value="0x9276" />
-      <token name="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2" value="0x9277" />
-      <token name="COMPRESSED_RGBA8_ETC2_EAC" value="0x9278" />
-      <token name="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC" value="0x9279" />
-      <token name="COMPRESSED_R11_EAC" value="0x9270" />
-      <token name="COMPRESSED_SIGNED_R11_EAC" value="0x9271" />
-      <token name="COMPRESSED_RG11_EAC" value="0x9272" />
-      <token name="COMPRESSED_SIGNED_RG11_EAC" value="0x9273" />
-      <token name="PRIMITIVE_RESTART_FIXED_INDEX" value="0x8D69" />
-      <token name="ANY_SAMPLES_PASSED_CONSERVATIVE" value="0x8D6A" />
-      <token name="MAX_ELEMENT_INDEX" value="0x8D6B" />
-      <token name="COMPUTE_SHADER" value="0x91B9" />
-      <token name="MAX_COMPUTE_UNIFORM_BLOCKS" value="0x91BB" />
-      <token name="MAX_COMPUTE_TEXTURE_IMAGE_UNITS" value="0x91BC" />
-      <token name="MAX_COMPUTE_IMAGE_UNIFORMS" value="0x91BD" />
-      <token name="MAX_COMPUTE_SHARED_MEMORY_SIZE" value="0x8262" />
-      <token name="MAX_COMPUTE_UNIFORM_COMPONENTS" value="0x8263" />
-      <token name="MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS" value="0x8264" />
-      <token name="MAX_COMPUTE_ATOMIC_COUNTERS" value="0x8265" />
-      <token name="MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS" value="0x8266" />
-      <token name="MAX_COMPUTE_WORK_GROUP_INVOCATIONS" value="0x90EB" />
-      <token name="MAX_COMPUTE_WORK_GROUP_COUNT" value="0x91BE" />
-      <token name="MAX_COMPUTE_WORK_GROUP_SIZE" value="0x91BF" />
-      <token name="COMPUTE_WORK_GROUP_SIZE" value="0x8267" />
-      <token name="UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER" value="0x90EC" />
-      <token name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER" value="0x90ED" />
-      <token name="DISPATCH_INDIRECT_BUFFER" value="0x90EE" />
-      <token name="DISPATCH_INDIRECT_BUFFER_BINDING" value="0x90EF" />
-      <token name="COMPUTE_SHADER_BIT" value="0x00000020" />
-      <token name="DEBUG_OUTPUT_SYNCHRONOUS" value="0x8242" />
-      <token name="DEBUG_NEXT_LOGGED_MESSAGE_LENGTH" value="0x8243" />
-      <token name="DEBUG_CALLBACK_FUNCTION" value="0x8244" />
-      <token name="DEBUG_CALLBACK_USER_PARAM" value="0x8245" />
-      <token name="DEBUG_SOURCE_API" value="0x8246" />
-      <token name="DEBUG_SOURCE_WINDOW_SYSTEM" value="0x8247" />
-      <token name="DEBUG_SOURCE_SHADER_COMPILER" value="0x8248" />
-      <token name="DEBUG_SOURCE_THIRD_PARTY" value="0x8249" />
-      <token name="DEBUG_SOURCE_APPLICATION" value="0x824A" />
-      <token name="DEBUG_SOURCE_OTHER" value="0x824B" />
-      <token name="DEBUG_TYPE_ERROR" value="0x824C" />
-      <token name="DEBUG_TYPE_DEPRECATED_BEHAVIOR" value="0x824D" />
-      <token name="DEBUG_TYPE_UNDEFINED_BEHAVIOR" value="0x824E" />
-      <token name="DEBUG_TYPE_PORTABILITY" value="0x824F" />
-      <token name="DEBUG_TYPE_PERFORMANCE" value="0x8250" />
-      <token name="DEBUG_TYPE_OTHER" value="0x8251" />
-      <token name="MAX_DEBUG_MESSAGE_LENGTH" value="0x9143" />
-      <token name="MAX_DEBUG_LOGGED_MESSAGES" value="0x9144" />
-      <token name="DEBUG_LOGGED_MESSAGES" value="0x9145" />
-      <token name="DEBUG_SEVERITY_HIGH" value="0x9146" />
-      <token name="DEBUG_SEVERITY_MEDIUM" value="0x9147" />
-      <token name="DEBUG_SEVERITY_LOW" value="0x9148" />
-      <token name="DEBUG_TYPE_MARKER" value="0x8268" />
-      <token name="DEBUG_TYPE_PUSH_GROUP" value="0x8269" />
-      <token name="DEBUG_TYPE_POP_GROUP" value="0x826A" />
-      <token name="DEBUG_SEVERITY_NOTIFICATION" value="0x826B" />
-      <token name="MAX_DEBUG_GROUP_STACK_DEPTH" value="0x826C" />
-      <token name="DEBUG_GROUP_STACK_DEPTH" value="0x826D" />
-      <token name="BUFFER" value="0x82E0" />
-      <token name="SHADER" value="0x82E1" />
-      <token name="PROGRAM" value="0x82E2" />
-      <token name="VERTEX_ARRAY" value="0x8074" />
-      <token name="QUERY" value="0x82E3" />
-      <token name="PROGRAM_PIPELINE" value="0x82E4" />
-      <token name="SAMPLER" value="0x82E6" />
-      <token name="MAX_LABEL_LENGTH" value="0x82E8" />
-      <token name="DEBUG_OUTPUT" value="0x92E0" />
-      <token name="CONTEXT_FLAG_DEBUG_BIT" value="0x00000002" />
-      <token name="MAX_UNIFORM_LOCATIONS" value="0x826E" />
-      <token name="FRAMEBUFFER_DEFAULT_WIDTH" value="0x9310" />
-      <token name="FRAMEBUFFER_DEFAULT_HEIGHT" value="0x9311" />
-      <token name="FRAMEBUFFER_DEFAULT_LAYERS" value="0x9312" />
-      <token name="FRAMEBUFFER_DEFAULT_SAMPLES" value="0x9313" />
-      <token name="FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS" value="0x9314" />
-      <token name="MAX_FRAMEBUFFER_WIDTH" value="0x9315" />
-      <token name="MAX_FRAMEBUFFER_HEIGHT" value="0x9316" />
-      <token name="MAX_FRAMEBUFFER_LAYERS" value="0x9317" />
-      <token name="MAX_FRAMEBUFFER_SAMPLES" value="0x9318" />
-      <token name="INTERNALFORMAT_SUPPORTED" value="0x826F" />
-      <token name="INTERNALFORMAT_PREFERRED" value="0x8270" />
-      <token name="INTERNALFORMAT_RED_SIZE" value="0x8271" />
-      <token name="INTERNALFORMAT_GREEN_SIZE" value="0x8272" />
-      <token name="INTERNALFORMAT_BLUE_SIZE" value="0x8273" />
-      <token name="INTERNALFORMAT_ALPHA_SIZE" value="0x8274" />
-      <token name="INTERNALFORMAT_DEPTH_SIZE" value="0x8275" />
-      <token name="INTERNALFORMAT_STENCIL_SIZE" value="0x8276" />
-      <token name="INTERNALFORMAT_SHARED_SIZE" value="0x8277" />
-      <token name="INTERNALFORMAT_RED_TYPE" value="0x8278" />
-      <token name="INTERNALFORMAT_GREEN_TYPE" value="0x8279" />
-      <token name="INTERNALFORMAT_BLUE_TYPE" value="0x827A" />
-      <token name="INTERNALFORMAT_ALPHA_TYPE" value="0x827B" />
-      <token name="INTERNALFORMAT_DEPTH_TYPE" value="0x827C" />
-      <token name="INTERNALFORMAT_STENCIL_TYPE" value="0x827D" />
-      <token name="MAX_WIDTH" value="0x827E" />
-      <token name="MAX_HEIGHT" value="0x827F" />
-      <token name="MAX_DEPTH" value="0x8280" />
-      <token name="MAX_LAYERS" value="0x8281" />
-      <token name="MAX_COMBINED_DIMENSIONS" value="0x8282" />
-      <token name="COLOR_COMPONENTS" value="0x8283" />
-      <token name="DEPTH_COMPONENTS" value="0x8284" />
-      <token name="STENCIL_COMPONENTS" value="0x8285" />
-      <token name="COLOR_RENDERABLE" value="0x8286" />
-      <token name="DEPTH_RENDERABLE" value="0x8287" />
-      <token name="STENCIL_RENDERABLE" value="0x8288" />
-      <token name="FRAMEBUFFER_RENDERABLE" value="0x8289" />
-      <token name="FRAMEBUFFER_RENDERABLE_LAYERED" value="0x828A" />
-      <token name="FRAMEBUFFER_BLEND" value="0x828B" />
-      <token name="READ_PIXELS" value="0x828C" />
-      <token name="READ_PIXELS_FORMAT" value="0x828D" />
-      <token name="READ_PIXELS_TYPE" value="0x828E" />
-      <token name="TEXTURE_IMAGE_FORMAT" value="0x828F" />
-      <token name="TEXTURE_IMAGE_TYPE" value="0x8290" />
-      <token name="GET_TEXTURE_IMAGE_FORMAT" value="0x8291" />
-      <token name="GET_TEXTURE_IMAGE_TYPE" value="0x8292" />
-      <token name="MIPMAP" value="0x8293" />
-      <token name="MANUAL_GENERATE_MIPMAP" value="0x8294" />
-      <token name="AUTO_GENERATE_MIPMAP" value="0x8295" />
-      <token name="COLOR_ENCODING" value="0x8296" />
-      <token name="SRGB_READ" value="0x8297" />
-      <token name="SRGB_WRITE" value="0x8298" />
-      <token name="FILTER" value="0x829A" />
-      <token name="VERTEX_TEXTURE" value="0x829B" />
-      <token name="TESS_CONTROL_TEXTURE" value="0x829C" />
-      <token name="TESS_EVALUATION_TEXTURE" value="0x829D" />
-      <token name="GEOMETRY_TEXTURE" value="0x829E" />
-      <token name="FRAGMENT_TEXTURE" value="0x829F" />
-      <token name="COMPUTE_TEXTURE" value="0x82A0" />
-      <token name="TEXTURE_SHADOW" value="0x82A1" />
-      <token name="TEXTURE_GATHER" value="0x82A2" />
-      <token name="TEXTURE_GATHER_SHADOW" value="0x82A3" />
-      <token name="SHADER_IMAGE_LOAD" value="0x82A4" />
-      <token name="SHADER_IMAGE_STORE" value="0x82A5" />
-      <token name="SHADER_IMAGE_ATOMIC" value="0x82A6" />
-      <token name="IMAGE_TEXEL_SIZE" value="0x82A7" />
-      <token name="IMAGE_COMPATIBILITY_CLASS" value="0x82A8" />
-      <token name="IMAGE_PIXEL_FORMAT" value="0x82A9" />
-      <token name="IMAGE_PIXEL_TYPE" value="0x82AA" />
-      <token name="SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST" value="0x82AC" />
-      <token name="SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST" value="0x82AD" />
-      <token name="SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE" value="0x82AE" />
-      <token name="SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE" value="0x82AF" />
-      <token name="TEXTURE_COMPRESSED_BLOCK_WIDTH" value="0x82B1" />
-      <token name="TEXTURE_COMPRESSED_BLOCK_HEIGHT" value="0x82B2" />
-      <token name="TEXTURE_COMPRESSED_BLOCK_SIZE" value="0x82B3" />
-      <token name="CLEAR_BUFFER" value="0x82B4" />
-      <token name="TEXTURE_VIEW" value="0x82B5" />
-      <token name="VIEW_COMPATIBILITY_CLASS" value="0x82B6" />
-      <token name="FULL_SUPPORT" value="0x82B7" />
-      <token name="CAVEAT_SUPPORT" value="0x82B8" />
-      <token name="IMAGE_CLASS_4_X_32" value="0x82B9" />
-      <token name="IMAGE_CLASS_2_X_32" value="0x82BA" />
-      <token name="IMAGE_CLASS_1_X_32" value="0x82BB" />
-      <token name="IMAGE_CLASS_4_X_16" value="0x82BC" />
-      <token name="IMAGE_CLASS_2_X_16" value="0x82BD" />
-      <token name="IMAGE_CLASS_1_X_16" value="0x82BE" />
-      <token name="IMAGE_CLASS_4_X_8" value="0x82BF" />
-      <token name="IMAGE_CLASS_2_X_8" value="0x82C0" />
-      <token name="IMAGE_CLASS_1_X_8" value="0x82C1" />
-      <token name="IMAGE_CLASS_11_11_10" value="0x82C2" />
-      <token name="IMAGE_CLASS_10_10_10_2" value="0x82C3" />
-      <token name="VIEW_CLASS_128_BITS" value="0x82C4" />
-      <token name="VIEW_CLASS_96_BITS" value="0x82C5" />
-      <token name="VIEW_CLASS_64_BITS" value="0x82C6" />
-      <token name="VIEW_CLASS_48_BITS" value="0x82C7" />
-      <token name="VIEW_CLASS_32_BITS" value="0x82C8" />
-      <token name="VIEW_CLASS_24_BITS" value="0x82C9" />
-      <token name="VIEW_CLASS_16_BITS" value="0x82CA" />
-      <token name="VIEW_CLASS_8_BITS" value="0x82CB" />
-      <token name="VIEW_CLASS_S3TC_DXT1_RGB" value="0x82CC" />
-      <token name="VIEW_CLASS_S3TC_DXT1_RGBA" value="0x82CD" />
-      <token name="VIEW_CLASS_S3TC_DXT3_RGBA" value="0x82CE" />
-      <token name="VIEW_CLASS_S3TC_DXT5_RGBA" value="0x82CF" />
-      <token name="VIEW_CLASS_RGTC1_RED" value="0x82D0" />
-      <token name="VIEW_CLASS_RGTC2_RG" value="0x82D1" />
-      <token name="VIEW_CLASS_BPTC_UNORM" value="0x82D2" />
-      <token name="VIEW_CLASS_BPTC_FLOAT" value="0x82D3" />
-      <token name="UNIFORM" value="0x92E1" />
-      <token name="UNIFORM_BLOCK" value="0x92E2" />
-      <token name="PROGRAM_INPUT" value="0x92E3" />
-      <token name="PROGRAM_OUTPUT" value="0x92E4" />
-      <token name="BUFFER_VARIABLE" value="0x92E5" />
-      <token name="SHADER_STORAGE_BLOCK" value="0x92E6" />
-      <token name="VERTEX_SUBROUTINE" value="0x92E8" />
-      <token name="TESS_CONTROL_SUBROUTINE" value="0x92E9" />
-      <token name="TESS_EVALUATION_SUBROUTINE" value="0x92EA" />
-      <token name="GEOMETRY_SUBROUTINE" value="0x92EB" />
-      <token name="FRAGMENT_SUBROUTINE" value="0x92EC" />
-      <token name="COMPUTE_SUBROUTINE" value="0x92ED" />
-      <token name="VERTEX_SUBROUTINE_UNIFORM" value="0x92EE" />
-      <token name="TESS_CONTROL_SUBROUTINE_UNIFORM" value="0x92EF" />
-      <token name="TESS_EVALUATION_SUBROUTINE_UNIFORM" value="0x92F0" />
-      <token name="GEOMETRY_SUBROUTINE_UNIFORM" value="0x92F1" />
-      <token name="FRAGMENT_SUBROUTINE_UNIFORM" value="0x92F2" />
-      <token name="COMPUTE_SUBROUTINE_UNIFORM" value="0x92F3" />
-      <token name="TRANSFORM_FEEDBACK_VARYING" value="0x92F4" />
-      <token name="ACTIVE_RESOURCES" value="0x92F5" />
-      <token name="MAX_NAME_LENGTH" value="0x92F6" />
-      <token name="MAX_NUM_ACTIVE_VARIABLES" value="0x92F7" />
-      <token name="MAX_NUM_COMPATIBLE_SUBROUTINES" value="0x92F8" />
-      <token name="NAME_LENGTH" value="0x92F9" />
-      <token name="TYPE" value="0x92FA" />
-      <token name="ARRAY_SIZE" value="0x92FB" />
-      <token name="OFFSET" value="0x92FC" />
-      <token name="BLOCK_INDEX" value="0x92FD" />
-      <token name="ARRAY_STRIDE" value="0x92FE" />
-      <token name="MATRIX_STRIDE" value="0x92FF" />
-      <token name="IS_ROW_MAJOR" value="0x9300" />
-      <token name="ATOMIC_COUNTER_BUFFER_INDEX" value="0x9301" />
-      <token name="BUFFER_BINDING" value="0x9302" />
-      <token name="BUFFER_DATA_SIZE" value="0x9303" />
-      <token name="NUM_ACTIVE_VARIABLES" value="0x9304" />
-      <token name="ACTIVE_VARIABLES" value="0x9305" />
-      <token name="REFERENCED_BY_VERTEX_SHADER" value="0x9306" />
-      <token name="REFERENCED_BY_TESS_CONTROL_SHADER" value="0x9307" />
-      <token name="REFERENCED_BY_TESS_EVALUATION_SHADER" value="0x9308" />
-      <token name="REFERENCED_BY_GEOMETRY_SHADER" value="0x9309" />
-      <token name="REFERENCED_BY_FRAGMENT_SHADER" value="0x930A" />
-      <token name="REFERENCED_BY_COMPUTE_SHADER" value="0x930B" />
-      <token name="TOP_LEVEL_ARRAY_SIZE" value="0x930C" />
-      <token name="TOP_LEVEL_ARRAY_STRIDE" value="0x930D" />
-      <token name="LOCATION" value="0x930E" />
-      <token name="LOCATION_INDEX" value="0x930F" />
-      <token name="IS_PER_PATCH" value="0x92E7" />
-      <token name="SHADER_STORAGE_BUFFER" value="0x90D2" />
-      <token name="SHADER_STORAGE_BUFFER_BINDING" value="0x90D3" />
-      <token name="SHADER_STORAGE_BUFFER_START" value="0x90D4" />
-      <token name="SHADER_STORAGE_BUFFER_SIZE" value="0x90D5" />
-      <token name="MAX_VERTEX_SHADER_STORAGE_BLOCKS" value="0x90D6" />
-      <token name="MAX_GEOMETRY_SHADER_STORAGE_BLOCKS" value="0x90D7" />
-      <token name="MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS" value="0x90D8" />
-      <token name="MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS" value="0x90D9" />
-      <token name="MAX_FRAGMENT_SHADER_STORAGE_BLOCKS" value="0x90DA" />
-      <token name="MAX_COMPUTE_SHADER_STORAGE_BLOCKS" value="0x90DB" />
-      <token name="MAX_COMBINED_SHADER_STORAGE_BLOCKS" value="0x90DC" />
-      <token name="MAX_SHADER_STORAGE_BUFFER_BINDINGS" value="0x90DD" />
-      <token name="MAX_SHADER_STORAGE_BLOCK_SIZE" value="0x90DE" />
-      <token name="SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT" value="0x90DF" />
-      <token name="SHADER_STORAGE_BARRIER_BIT" value="0x00002000" />
-      <token name="MAX_COMBINED_SHADER_OUTPUT_RESOURCES" value="0x8F39" />
-      <token name="DEPTH_STENCIL_TEXTURE_MODE" value="0x90EA" />
-      <token name="TEXTURE_BUFFER_OFFSET" value="0x919D" />
-      <token name="TEXTURE_BUFFER_SIZE" value="0x919E" />
-      <token name="TEXTURE_BUFFER_OFFSET_ALIGNMENT" value="0x919F" />
-      <token name="TEXTURE_VIEW_MIN_LEVEL" value="0x82DB" />
-      <token name="TEXTURE_VIEW_NUM_LEVELS" value="0x82DC" />
-      <token name="TEXTURE_VIEW_MIN_LAYER" value="0x82DD" />
-      <token name="TEXTURE_VIEW_NUM_LAYERS" value="0x82DE" />
-      <token name="TEXTURE_IMMUTABLE_LEVELS" value="0x82DF" />
-      <token name="VERTEX_ATTRIB_BINDING" value="0x82D4" />
-      <token name="VERTEX_ATTRIB_RELATIVE_OFFSET" value="0x82D5" />
-      <token name="VERTEX_BINDING_DIVISOR" value="0x82D6" />
-      <token name="VERTEX_BINDING_OFFSET" value="0x82D7" />
-      <token name="VERTEX_BINDING_STRIDE" value="0x82D8" />
-      <token name="MAX_VERTEX_ATTRIB_RELATIVE_OFFSET" value="0x82D9" />
-      <token name="MAX_VERTEX_ATTRIB_BINDINGS" value="0x82DA" />
-      <token name="VERTEX_BINDING_BUFFER" value="0x8F4F" />
-      <token name="DISPLAY_LIST" value="0x82E7" />
-      <token name="STACK_UNDERFLOW" value="0x0504" />
-      <token name="STACK_OVERFLOW" value="0x0503" />
-    </enum>
-    <function name="BindVertexBuffer" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="bindingindex" type="GLuint" flow="in" />
-      <param name="buffer" type="GLuint" flow="in" />
-      <param name="offset" type="BufferOffset" flow="in" />
-      <param name="stride" type="GLsizei" flow="in" />
+    <function name="GetnMapfv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="query" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="v" type="GLfloat *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="ClearBufferData" category="VERSION_4_3" extension="Core" version="4.3">
+    <function name="GetnMapiv" category="VERSION_4_5" extension="Core" version="4.5">
       <param name="target" type="GLenum" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="query" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="v" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnMinmax" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="reset" type="GLboolean" flow="in" />
       <param name="format" type="GLenum" flow="in" />
       <param name="type" type="GLenum" flow="in" />
-      <param name="data" type="void *" flow="in" count="COMPSIZE(format,type)" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="values" type="void *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="ClearBufferSubData" category="VERSION_4_3" extension="Core" version="4.3">
+    <function name="GetnPixelMapfv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="map" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="values" type="GLfloat *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnPixelMapuiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="map" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="values" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnPixelMapusv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="map" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="values" type="GLushort *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnPolygonStipple" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pattern" type="GLubyte *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnSeparableFilter" category="VERSION_4_5" extension="Core" version="4.5">
       <param name="target" type="GLenum" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
-      <param name="offset" type="BufferOffset" flow="in" />
-      <param name="size" type="BufferSize" flow="in" />
       <param name="format" type="GLenum" flow="in" />
       <param name="type" type="GLenum" flow="in" />
-      <param name="data" type="void *" flow="in" count="COMPSIZE(format,type)" />
+      <param name="rowBufSize" type="GLsizei" flow="in" />
+      <param name="row" type="void *" flow="out" />
+      <param name="columnBufSize" type="GLsizei" flow="in" />
+      <param name="column" type="void *" flow="out" />
+      <param name="span" type="void *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="CopyImageSubData" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="srcName" type="GLuint" flow="in" />
-      <param name="srcTarget" type="GLenum" flow="in" />
-      <param name="srcLevel" type="GLint" flow="in" />
-      <param name="srcX" type="GLint" flow="in" />
-      <param name="srcY" type="GLint" flow="in" />
-      <param name="srcZ" type="GLint" flow="in" />
-      <param name="dstName" type="GLuint" flow="in" />
-      <param name="dstTarget" type="GLenum" flow="in" />
-      <param name="dstLevel" type="GLint" flow="in" />
-      <param name="dstX" type="GLint" flow="in" />
-      <param name="dstY" type="GLint" flow="in" />
-      <param name="dstZ" type="GLint" flow="in" />
-      <param name="srcWidth" type="GLsizei" flow="in" />
-      <param name="srcHeight" type="GLsizei" flow="in" />
-      <param name="srcDepth" type="GLsizei" flow="in" />
+    <function name="GetnTexImage" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="target" type="GLenum" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="DebugMessageCallback" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="callback" type="GLDEBUGPROC" flow="in" />
-      <param name="userParam" type="void *" flow="in" />
+    <function name="GetnUniformdv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLdouble *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="DebugMessageControl" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="source" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="severity" type="GLenum" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="ids" type="GLuint *" flow="in" count="count" />
-      <param name="enabled" type="Boolean" flow="in" />
+    <function name="GetnUniformfv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="DebugMessageInsert" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="source" type="GLenum" flow="in" />
+    <function name="GetnUniformiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformuiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetTextureImage" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
       <param name="type" type="GLenum" flow="in" />
-      <param name="id" type="GLuint" flow="in" />
-      <param name="severity" type="GLenum" flow="in" />
-      <param name="length" type="GLsizei" flow="in" />
-      <param name="buf" type="GLchar *" flow="in" count="COMPSIZE(buf,length)" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="pixels" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetTextureLevelParameterfv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetTextureLevelParameteriv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetTextureParameterfv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="DispatchCompute" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="num_groups_x" type="GLuint" flow="in" />
-      <param name="num_groups_y" type="GLuint" flow="in" />
-      <param name="num_groups_z" type="GLuint" flow="in" />
+    <function name="GetTextureParameterIiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="DispatchComputeIndirect" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="indirect" type="BufferOffset" flow="in" />
+    <function name="GetTextureParameterIuiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLuint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="FramebufferParameteri" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="target" type="GLenum" flow="in" />
+    <function name="GetTextureParameteriv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
-      <param name="param" type="GLint" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="GetDebugMessageLog" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="count" type="GLuint" flow="in" />
+    <function name="GetTextureSubImage" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
       <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="sources" type="GLenum *" flow="out" count="count" />
-      <param name="types" type="GLenum *" flow="out" count="count" />
-      <param name="ids" type="GLuint *" flow="out" count="count" />
-      <param name="severities" type="GLenum *" flow="out" count="count" />
-      <param name="lengths" type="GLsizei *" flow="out" count="count" />
-      <param name="messageLog" type="GLchar *" flow="out" count="bufSize" />
-      <returns type="GLuint" />
+      <param name="pixels" type="void *" flow="out" />
+      <returns type="void" />
     </function>
-    <function name="GetFramebufferParameteriv" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="target" type="GLenum" flow="in" />
+    <function name="GetTransformFeedbacki_v" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="xfb" type="GLuint" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="GetInternalformati64v" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="internalformat" type="GLenum" flow="in" />
+    <function name="GetTransformFeedbacki64_v" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="xfb" type="GLuint" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="params" type="GLint64 *" flow="out" count="bufSize" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="param" type="GLint64 *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="GetObjectLabel" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="identifier" type="GLenum" flow="in" />
-      <param name="name" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="label" type="GLchar *" flow="out" count="bufSize" />
+    <function name="GetTransformFeedbackiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="xfb" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="GetObjectPtrLabel" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="ptr" type="void *" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="label" type="GLchar *" flow="out" count="bufSize" />
+    <function name="GetVertexArrayIndexed64iv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint64 *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="GetPointerv" category="VERSION_4_3|VERSION_4_3" extension="Core" version="4.3">
-      <param name="pname" type="GetPointervPName" flow="in" />
-      <param name="params" type="void **" flow="out" count="1" />
+    <function name="GetVertexArrayIndexediv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="GetProgramInterfaceiv" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="programInterface" type="GLenum" flow="in" />
+    <function name="GetVertexArrayiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(pname)" />
+      <param name="param" type="GLint *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="GetProgramResourceIndex" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="programInterface" type="GLenum" flow="in" />
-      <param name="name" type="GLchar *" flow="in" count="COMPSIZE(name)" />
-      <returns type="GLuint" />
+    <function name="InvalidateNamedFramebufferData" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="numAttachments" type="GLsizei" flow="in" />
+      <param name="attachments" type="GLenum *" flow="in" />
+      <returns type="void" />
     </function>
-    <function name="GetProgramResourceiv" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="programInterface" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="propCount" type="GLsizei" flow="in" />
-      <param name="props" type="GLenum *" flow="in" count="propCount" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="params" type="GLint *" flow="out" count="bufSize" />
+    <function name="InvalidateNamedFramebufferSubData" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="numAttachments" type="GLsizei" flow="in" />
+      <param name="attachments" type="GLenum *" flow="in" />
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="GetProgramResourceLocation" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="programInterface" type="GLenum" flow="in" />
-      <param name="name" type="GLchar *" flow="in" count="COMPSIZE(name)" />
-      <returns type="GLint" />
+    <function name="MapNamedBuffer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="access" type="GLenum" flow="in" />
+      <returns type="void *" />
     </function>
-    <function name="GetProgramResourceLocationIndex" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="programInterface" type="GLenum" flow="in" />
-      <param name="name" type="GLchar *" flow="in" count="COMPSIZE(name)" />
-      <returns type="GLint" />
+    <function name="MapNamedBufferRange" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="length" type="GLsizei" flow="in" />
+      <param name="access" type="GLbitfield" flow="in" />
+      <returns type="void *" />
     </function>
-    <function name="GetProgramResourceName" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="programInterface" type="GLenum" flow="in" />
-      <param name="index" type="GLuint" flow="in" />
-      <param name="bufSize" type="GLsizei" flow="in" />
-      <param name="length" type="GLsizei *" flow="out" count="1" />
-      <param name="name" type="GLchar *" flow="out" count="bufSize" />
+    <function name="MemoryBarrierByRegion" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="barriers" type="GLbitfield" flow="in" />
       <returns type="void" />
     </function>
-    <function name="InvalidateBufferData" category="VERSION_4_3" extension="Core" version="4.3">
+    <function name="NamedBufferData" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <param name="usage" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedBufferStorage" category="VERSION_4_5" extension="Core" version="4.5">
       <param name="buffer" type="GLuint" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
+      <param name="flags" type="GLbitfield" flow="in" />
       <returns type="void" />
     </function>
-    <function name="InvalidateBufferSubData" category="VERSION_4_3" extension="Core" version="4.3">
+    <function name="NamedBufferSubData" category="VERSION_4_5" extension="Core" version="4.5">
       <param name="buffer" type="GLuint" flow="in" />
-      <param name="offset" type="BufferOffset" flow="in" />
-      <param name="length" type="BufferSize" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="InvalidateFramebuffer" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="numAttachments" type="GLsizei" flow="in" />
-      <param name="attachments" type="GLenum *" flow="in" count="numAttachments" />
+    <function name="NamedFramebufferDrawBuffer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="buf" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
-    <function name="InvalidateSubFramebuffer" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="numAttachments" type="GLsizei" flow="in" />
-      <param name="attachments" type="GLenum *" flow="in" count="numAttachments" />
-      <param name="x" type="GLint" flow="in" />
-      <param name="y" type="GLint" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
+    <function name="NamedFramebufferDrawBuffers" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="n" type="GLsizei" flow="in" />
+      <param name="bufs" type="GLenum *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="InvalidateTexImage" category="VERSION_4_3" extension="Core" version="4.3">
+    <function name="NamedFramebufferParameteri" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedFramebufferReadBuffer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="src" type="GLenum" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedFramebufferRenderbuffer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="attachment" type="GLenum" flow="in" />
+      <param name="renderbuffertarget" type="GLenum" flow="in" />
+      <param name="renderbuffer" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedFramebufferTexture" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="attachment" type="GLenum" flow="in" />
       <param name="texture" type="GLuint" flow="in" />
       <param name="level" type="GLint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="InvalidateTexSubImage" category="VERSION_4_3" extension="Core" version="4.3">
+    <function name="NamedFramebufferTextureLayer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="framebuffer" type="GLuint" flow="in" />
+      <param name="attachment" type="GLenum" flow="in" />
       <param name="texture" type="GLuint" flow="in" />
       <param name="level" type="GLint" flow="in" />
-      <param name="xoffset" type="GLint" flow="in" />
-      <param name="yoffset" type="GLint" flow="in" />
-      <param name="zoffset" type="GLint" flow="in" />
+      <param name="layer" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="NamedRenderbufferStorage" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="renderbuffer" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
-      <param name="depth" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="MultiDrawArraysIndirect" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="mode" type="GLenum" flow="in" />
-      <param name="indirect" type="void *" flow="in" count="COMPSIZE(drawcount,stride)" />
-      <param name="drawcount" type="GLsizei" flow="in" />
-      <param name="stride" type="GLsizei" flow="in" />
+    <function name="NamedRenderbufferStorageMultisample" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="renderbuffer" type="GLuint" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="MultiDrawElementsIndirect" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="mode" type="GLenum" flow="in" />
+    <function name="ReadnPixels" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
       <param name="type" type="GLenum" flow="in" />
-      <param name="indirect" type="void *" flow="in" count="COMPSIZE(drawcount,stride)" />
-      <param name="drawcount" type="GLsizei" flow="in" />
-      <param name="stride" type="GLsizei" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="out" />
       <returns type="void" />
     </function>
-    <function name="ObjectLabel" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="identifier" type="GLenum" flow="in" />
-      <param name="name" type="GLuint" flow="in" />
-      <param name="length" type="GLsizei" flow="in" />
-      <param name="label" type="GLchar *" flow="in" count="COMPSIZE(label,length)" />
+    <function name="TextureBarrier" category="VERSION_4_5" extension="Core" version="4.5">
       <returns type="void" />
     </function>
-    <function name="ObjectPtrLabel" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="ptr" type="void *" flow="in" />
-      <param name="length" type="GLsizei" flow="in" />
-      <param name="label" type="GLchar *" flow="in" count="COMPSIZE(label,length)" />
+    <function name="TextureBuffer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="PopDebugGroup" category="VERSION_4_3" extension="Core" version="4.3">
+    <function name="TextureBufferRange" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="PushDebugGroup" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="source" type="GLenum" flow="in" />
-      <param name="id" type="GLuint" flow="in" />
-      <param name="length" type="GLsizei" flow="in" />
-      <param name="message" type="GLchar *" flow="in" count="COMPSIZE(message,length)" />
+    <function name="TextureParameterf" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLfloat" flow="in" />
       <returns type="void" />
     </function>
-    <function name="ShaderStorageBlockBinding" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="program" type="GLuint" flow="in" />
-      <param name="storageBlockIndex" type="GLuint" flow="in" />
-      <param name="storageBlockBinding" type="GLuint" flow="in" />
+    <function name="TextureParameterfv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLfloat *" flow="in" />
       <returns type="void" />
     </function>
-    <function name="TexBufferRange" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="target" type="GLenum" flow="in" />
+    <function name="TextureParameteri" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureParameterIiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLint *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureParameterIuiv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="params" type="GLuint *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureParameteriv" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="pname" type="GLenum" flow="in" />
+      <param name="param" type="GLint *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureStorage1D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="levels" type="GLsizei" flow="in" />
       <param name="internalformat" type="GLenum" flow="in" />
-      <param name="buffer" type="GLuint" flow="in" />
-      <param name="offset" type="BufferOffset" flow="in" />
-      <param name="size" type="BufferSize" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="TexStorage2DMultisample" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="samples" type="GLsizei" flow="in" />
+    <function name="TextureStorage2D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="levels" type="GLsizei" flow="in" />
       <param name="internalformat" type="GLenum" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
-      <param name="fixedsamplelocations" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="TexStorage3DMultisample" category="VERSION_4_3" extension="Core" version="4.3">
-      <param name="target" type="GLenum" flow="in" />
+    <function name="TextureStorage2DMultisample" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
       <param name="samples" type="GLsizei" flow="in" />
       <param name="internalformat" type="GLenum" flow="in" />
       <param name="width" type="GLsizei" flow="in" />
       <param name="height" type="GLsizei" flow="in" />
+      <param name="fixedsamplelocations" type="GLboolean" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureStorage3D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="levels" type="GLsizei" flow="in" />
+      <param name="internalformat" type="GLenum" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
       <param name="depth" type="GLsizei" flow="in" />
-      <param name="fixedsamplelocations" type="Boolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="TextureView" category="VERSION_4_3" extension="Core" version="4.3">
+    <function name="TextureStorage3DMultisample" category="VERSION_4_5" extension="Core" version="4.5">
       <param name="texture" type="GLuint" flow="in" />
-      <param name="target" type="GLenum" flow="in" />
-      <param name="origtexture" type="GLuint" flow="in" />
+      <param name="samples" type="GLsizei" flow="in" />
       <param name="internalformat" type="GLenum" flow="in" />
-      <param name="minlevel" type="GLuint" flow="in" />
-      <param name="numlevels" type="GLuint" flow="in" />
-      <param name="minlayer" type="GLuint" flow="in" />
-      <param name="numlayers" type="GLuint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="fixedsamplelocations" type="GLboolean" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribBinding" category="VERSION_4_3" extension="Core" version="4.3">
+    <function name="TextureSubImage1D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="pixels" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureSubImage2D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="pixels" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TextureSubImage3D" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="texture" type="GLuint" flow="in" />
+      <param name="level" type="GLint" flow="in" />
+      <param name="xoffset" type="GLint" flow="in" />
+      <param name="yoffset" type="GLint" flow="in" />
+      <param name="zoffset" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="depth" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="pixels" type="void *" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TransformFeedbackBufferBase" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="xfb" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="TransformFeedbackBufferRange" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="xfb" type="GLuint" flow="in" />
+      <param name="index" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="size" type="GLsizei" flow="in" />
+      <returns type="void" />
+    </function>
+    <function name="UnmapNamedBuffer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="buffer" type="GLuint" flow="in" />
+      <returns type="GLboolean" />
+    </function>
+    <function name="VertexArrayAttribBinding" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
       <param name="attribindex" type="GLuint" flow="in" />
       <param name="bindingindex" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribFormat" category="VERSION_4_3" extension="Core" version="4.3">
+    <function name="VertexArrayAttribFormat" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
       <param name="attribindex" type="GLuint" flow="in" />
       <param name="size" type="GLint" flow="in" />
       <param name="type" type="GLenum" flow="in" />
-      <param name="normalized" type="Boolean" flow="in" />
+      <param name="normalized" type="GLboolean" flow="in" />
       <param name="relativeoffset" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribIFormat" category="VERSION_4_3" extension="Core" version="4.3">
+    <function name="VertexArrayAttribIFormat" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
       <param name="attribindex" type="GLuint" flow="in" />
       <param name="size" type="GLint" flow="in" />
       <param name="type" type="GLenum" flow="in" />
       <param name="relativeoffset" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexAttribLFormat" category="VERSION_4_3" extension="Core" version="4.3">
+    <function name="VertexArrayAttribLFormat" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
       <param name="attribindex" type="GLuint" flow="in" />
       <param name="size" type="GLint" flow="in" />
       <param name="type" type="GLenum" flow="in" />
       <param name="relativeoffset" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="VertexBindingDivisor" category="VERSION_4_3" extension="Core" version="4.3">
+    <function name="VertexArrayBindingDivisor" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
       <param name="bindingindex" type="GLuint" flow="in" />
       <param name="divisor" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-  </add>
-  <add name="glcore" version="4.4">
-    <enum name="VERSION_4_4">
-      <token name="MAX_VERTEX_ATTRIB_STRIDE" value="0x82E5" />
-      <token name="PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED" value="0x8221" />
-      <token name="TEXTURE_BUFFER_BINDING" value="0x8C2A" />
-      <token name="MAP_READ_BIT" value="0x0001" />
-      <token name="MAP_WRITE_BIT" value="0x0002" />
-      <token name="MAP_PERSISTENT_BIT" value="0x0040" />
-      <token name="MAP_COHERENT_BIT" value="0x0080" />
-      <token name="DYNAMIC_STORAGE_BIT" value="0x0100" />
-      <token name="CLIENT_STORAGE_BIT" value="0x0200" />
-      <token name="CLIENT_MAPPED_BUFFER_BARRIER_BIT" value="0x00004000" />
-      <token name="BUFFER_IMMUTABLE_STORAGE" value="0x821F" />
-      <token name="BUFFER_STORAGE_FLAGS" value="0x8220" />
-      <token name="CLEAR_TEXTURE" value="0x9365" />
-      <token name="LOCATION_COMPONENT" value="0x934A" />
-      <token name="TRANSFORM_FEEDBACK_BUFFER" value="0x8C8E" />
-      <token name="TRANSFORM_FEEDBACK_BUFFER_INDEX" value="0x934B" />
-      <token name="TRANSFORM_FEEDBACK_BUFFER_STRIDE" value="0x934C" />
-      <token name="QUERY_BUFFER" value="0x9192" />
-      <token name="QUERY_BUFFER_BARRIER_BIT" value="0x00008000" />
-      <token name="QUERY_BUFFER_BINDING" value="0x9193" />
-      <token name="QUERY_RESULT_NO_WAIT" value="0x9194" />
-      <token name="MIRROR_CLAMP_TO_EDGE" value="0x8743" />
-      <token name="STENCIL_INDEX" value="0x1901" />
-      <token name="STENCIL_INDEX8" value="0x8D48" />
-      <token name="UNSIGNED_INT_10F_11F_11F_REV" value="0x8C3B" />
-    </enum>
-    <function name="BindBuffersBase" category="VERSION_4_4" extension="Core" version="4.4">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="first" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="buffers" type="GLuint *" flow="in" count="count" />
-      <returns type="void" />
-    </function>
-    <function name="BindBuffersRange" category="VERSION_4_4" extension="Core" version="4.4">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="first" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="buffers" type="GLuint *" flow="in" count="count" />
-      <param name="offsets" type="GLintptr *" flow="in" count="count" />
-      <param name="sizes" type="GLsizeiptr *" flow="in" count="count" />
-      <returns type="void" />
-    </function>
-    <function name="BindImageTextures" category="VERSION_4_4" extension="Core" version="4.4">
-      <param name="first" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="textures" type="GLuint *" flow="in" count="count" />
-      <returns type="void" />
-    </function>
-    <function name="BindSamplers" category="VERSION_4_4" extension="Core" version="4.4">
-      <param name="first" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="samplers" type="GLuint *" flow="in" count="count" />
+    <function name="VertexArrayElementBuffer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
       <returns type="void" />
     </function>
-    <function name="BindTextures" category="VERSION_4_4" extension="Core" version="4.4">
-      <param name="first" type="GLuint" flow="in" />
-      <param name="count" type="GLsizei" flow="in" />
-      <param name="textures" type="GLuint *" flow="in" count="count" />
+    <function name="VertexArrayVertexBuffer" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
+      <param name="bindingindex" type="GLuint" flow="in" />
+      <param name="buffer" type="GLuint" flow="in" />
+      <param name="offset" type="GLintptr" flow="in" />
+      <param name="stride" type="GLsizei" flow="in" />
       <returns type="void" />
     </function>
-    <function name="BindVertexBuffers" category="VERSION_4_4" extension="Core" version="4.4">
+    <function name="VertexArrayVertexBuffers" category="VERSION_4_5" extension="Core" version="4.5">
+      <param name="vaobj" type="GLuint" flow="in" />
       <param name="first" type="GLuint" flow="in" />
       <param name="count" type="GLsizei" flow="in" />
-      <param name="buffers" type="GLuint *" flow="in" count="count" />
-      <param name="offsets" type="GLintptr *" flow="in" count="count" />
-      <param name="strides" type="GLsizei *" flow="in" count="count" />
-      <returns type="void" />
-    </function>
-    <function name="BufferStorage" category="VERSION_4_4" extension="Core" version="4.4">
-      <param name="target" type="GLenum" flow="in" />
-      <param name="size" type="GLsizeiptr" flow="in" />
-      <param name="data" type="void *" flow="in" count="size" />
-      <param name="flags" type="GLbitfield" flow="in" />
-      <returns type="void" />
-    </function>
-    <function name="ClearTexImage" category="VERSION_4_4" extension="Core" version="4.4">
-      <param name="texture" type="GLuint" flow="in" />
-      <param name="level" type="GLint" flow="in" />
-      <param name="format" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="data" type="void *" flow="in" count="COMPSIZE(format,type)" />
-      <returns type="void" />
-    </function>
-    <function name="ClearTexSubImage" category="VERSION_4_4" extension="Core" version="4.4">
-      <param name="texture" type="GLuint" flow="in" />
-      <param name="level" type="GLint" flow="in" />
-      <param name="xoffset" type="GLint" flow="in" />
-      <param name="yoffset" type="GLint" flow="in" />
-      <param name="zoffset" type="GLint" flow="in" />
-      <param name="width" type="GLsizei" flow="in" />
-      <param name="height" type="GLsizei" flow="in" />
-      <param name="depth" type="GLsizei" flow="in" />
-      <param name="format" type="GLenum" flow="in" />
-      <param name="type" type="GLenum" flow="in" />
-      <param name="data" type="void *" flow="in" count="COMPSIZE(format,type)" />
+      <param name="buffers" type="GLuint *" flow="in" />
+      <param name="offsets" type="GLintptr *" flow="in" />
+      <param name="strides" type="GLsizei *" flow="in" />
       <returns type="void" />
     </function>
   </add>
     <enum name="OES_byte_coordinates">
       <token name="BYTE" value="0x1400" />
     </enum>
+    <enum name="OES_compressed_ETC1_RGB8_sub_texture" />
     <enum name="OES_compressed_ETC1_RGB8_texture">
       <token name="ETC1_RGB8_OES" value="0x8D64" />
     </enum>
       <token name="RGBA8" value="0x8058" />
     </enum>
     <enum name="KHR_blend_equation_advanced">
-      <token name="BLEND_ADVANCED_COHERENT_KHR" value="0x9285" />
       <token name="MULTIPLY_KHR" value="0x9294" />
       <token name="SCREEN_KHR" value="0x9295" />
       <token name="OVERLAY_KHR" value="0x9296" />
       <token name="HSL_COLOR_KHR" value="0x92AF" />
       <token name="HSL_LUMINOSITY_KHR" value="0x92B0" />
     </enum>
+    <enum name="KHR_blend_equation_advanced_coherent">
+      <token name="BLEND_ADVANCED_COHERENT_KHR" value="0x9285" />
+    </enum>
+    <enum name="KHR_context_flush_control">
+      <token name="CONTEXT_RELEASE_BEHAVIOR" value="0x82FB" />
+      <token name="CONTEXT_RELEASE_BEHAVIOR_FLUSH" value="0x82FC" />
+      <token name="NONE" value="0" />
+      <token name="CONTEXT_RELEASE_BEHAVIOR_KHR" value="0x82FB" />
+      <token name="CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR" value="0x82FC" />
+      <token name="NONE" value="0" />
+    </enum>
     <enum name="KHR_debug">
       <token name="DEBUG_OUTPUT_SYNCHRONOUS" value="0x8242" />
       <token name="DEBUG_NEXT_LOGGED_MESSAGE_LENGTH" value="0x8243" />
       <token name="PROGRAM_PIPELINE" value="0x82E4" />
       <token name="DISPLAY_LIST" value="0x82E7" />
     </enum>
+    <enum name="KHR_robust_buffer_access_behavior" />
+    <enum name="KHR_robustness">
+      <token name="NO_ERROR" value="0" />
+      <token name="CONTEXT_ROBUST_ACCESS" value="0x90F3" />
+      <token name="LOSE_CONTEXT_ON_RESET" value="0x8252" />
+      <token name="GUILTY_CONTEXT_RESET" value="0x8253" />
+      <token name="INNOCENT_CONTEXT_RESET" value="0x8254" />
+      <token name="UNKNOWN_CONTEXT_RESET" value="0x8255" />
+      <token name="RESET_NOTIFICATION_STRATEGY" value="0x8256" />
+      <token name="NO_RESET_NOTIFICATION" value="0x8261" />
+      <token name="CONTEXT_LOST" value="0x0507" />
+      <token name="NO_ERROR" value="0" />
+      <token name="CONTEXT_ROBUST_ACCESS_KHR" value="0x90F3" />
+      <token name="LOSE_CONTEXT_ON_RESET_KHR" value="0x8252" />
+      <token name="GUILTY_CONTEXT_RESET_KHR" value="0x8253" />
+      <token name="INNOCENT_CONTEXT_RESET_KHR" value="0x8254" />
+      <token name="UNKNOWN_CONTEXT_RESET_KHR" value="0x8255" />
+      <token name="RESET_NOTIFICATION_STRATEGY_KHR" value="0x8256" />
+      <token name="NO_RESET_NOTIFICATION_KHR" value="0x8261" />
+      <token name="CONTEXT_LOST_KHR" value="0x0507" />
+    </enum>
     <enum name="KHR_texture_compression_astc_hdr">
       <token name="COMPRESSED_RGBA_ASTC_4x4_KHR" value="0x93B0" />
       <token name="COMPRESSED_RGBA_ASTC_5x4_KHR" value="0x93B1" />
       <token name="QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD" value="0x00000008" />
       <token name="QUERY_ALL_EVENT_BITS_AMD" value="0xFFFFFFFF" />
     </enum>
+    <enum name="OES_compressed_ETC1_RGB8_sub_texture" />
     <enum name="OES_compressed_ETC1_RGB8_texture">
       <token name="ETC1_RGB8_OES" value="0x8D64" />
     </enum>
       <param name="queryId" type="GLuint *" flow="out" />
       <returns type="void" />
     </function>
+    <function name="GetGraphicsResetStatus" category="KHR_robustness" extension="Core">
+      <returns type="GLenum" />
+    </function>
     <function name="GetGraphicsResetStatusEXT" category="EXT_robustness" extension="EXT">
       <returns type="GLenum" />
     </function>
+    <function name="GetGraphicsResetStatusKHR" category="KHR_robustness" extension="KHR">
+      <returns type="GLenum" />
+    </function>
     <function name="GetInteger64vAPPLE" category="APPLE_sync" extension="APPLE">
       <param name="pname" type="GLenum" flow="in" />
       <param name="params" type="GLint64 *" flow="out" />
       <param name="nextQueryId" type="GLuint *" flow="out" />
       <returns type="void" />
     </function>
+    <function name="GetnUniformfv" category="KHR_robustness" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetnUniformfvEXT" category="EXT_robustness" extension="EXT">
       <param name="program" type="GLuint" flow="in" />
       <param name="location" type="GLint" flow="in" />
       <param name="params" type="GLfloat *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
+    <function name="GetnUniformfvKHR" category="KHR_robustness" extension="KHR">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLfloat *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformiv" category="KHR_robustness" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetnUniformivEXT" category="EXT_robustness" extension="EXT">
       <param name="program" type="GLuint" flow="in" />
       <param name="location" type="GLint" flow="in" />
       <param name="params" type="GLint *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
+    <function name="GetnUniformivKHR" category="KHR_robustness" extension="KHR">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformuiv" category="KHR_robustness" extension="Core">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
+    <function name="GetnUniformuivKHR" category="KHR_robustness" extension="KHR">
+      <param name="program" type="GLuint" flow="in" />
+      <param name="location" type="GLint" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="params" type="GLuint *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="GetObjectLabel" category="KHR_debug" extension="Core">
       <param name="identifier" type="GLenum" flow="in" />
       <param name="name" type="GLuint" flow="in" />
       <param name="mode" type="GLenum" flow="in" />
       <returns type="void" />
     </function>
+    <function name="ReadnPixels" category="KHR_robustness" extension="Core">
+      <param name="x" type="GLint" flow="in" />
+      <param name="y" type="GLint" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="GLenum" flow="in" />
+      <param name="type" type="GLenum" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="out" />
+      <returns type="void" />
+    </function>
     <function name="ReadnPixelsEXT" category="EXT_robustness" extension="EXT">
       <param name="x" type="GLint" flow="in" />
       <param name="y" type="GLint" flow="in" />
       <param name="data" type="void *" flow="out" count="bufSize" />
       <returns type="void" />
     </function>
+    <function name="ReadnPixelsKHR" category="KHR_robustness" extension="KHR">
+      <param name="x" type="WinCoord" flow="in" />
+      <param name="y" type="WinCoord" flow="in" />
+      <param name="width" type="GLsizei" flow="in" />
+      <param name="height" type="GLsizei" flow="in" />
+      <param name="format" type="PixelFormat" flow="in" />
+      <param name="type" type="PixelType" flow="in" />
+      <param name="bufSize" type="GLsizei" flow="in" />
+      <param name="data" type="void *" flow="out" count="bufSize" />
+      <returns type="void" />
+    </function>
     <function name="RenderbufferStorageMultisampleANGLE" category="ANGLE_framebuffer_multisample" extension="ANGLE">
       <param name="target" type="GLenum" flow="in" />
       <param name="samples" type="GLsizei" flow="in" />
     <function name="GetUniformfv" category="ES_VERSION_2_0" extension="Core" version="2.0">
       <param name="program" type="GLuint" flow="in" />
       <param name="location" type="GLint" flow="in" />
-      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(program, location)" />
+      <param name="params" type="GLfloat *" flow="out" count="COMPSIZE(program,location)" />
       <returns type="void" />
     </function>
     <function name="GetUniformiv" category="ES_VERSION_2_0" extension="Core" version="2.0">
       <param name="program" type="GLuint" flow="in" />
       <param name="location" type="GLint" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(program, location)" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(program,location)" />
       <returns type="void" />
     </function>
     <function name="GetUniformLocation" category="ES_VERSION_2_0" extension="Core" version="2.0">
       <param name="program" type="GLuint" flow="in" />
       <param name="uniformBlockIndex" type="GLuint" flow="in" />
       <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(program, uniformBlockIndex, pname)" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(program,uniformBlockIndex,pname)" />
       <returns type="void" />
     </function>
     <function name="GetActiveUniformBlockName" category="ES_VERSION_3_0" extension="Core" version="3.0">
       <param name="uniformCount" type="GLsizei" flow="in" />
       <param name="uniformIndices" type="GLuint *" flow="in" count="uniformCount" />
       <param name="pname" type="GLenum" flow="in" />
-      <param name="params" type="GLint *" flow="out" count="COMPSIZE(uniformCount, pname)" />
+      <param name="params" type="GLint *" flow="out" count="COMPSIZE(uniformCount,pname)" />
       <returns type="void" />
     </function>
     <function name="GetBufferParameteri64v" category="ES_VERSION_3_0" extension="Core" version="3.0">
       <returns type="void" />
     </function>
     <function name="ReadBuffer" category="ES_VERSION_3_0" extension="Core" version="3.0">
-      <param name="mode" type="ReadBufferMode" flow="in" />
+      <param name="src" type="ReadBufferMode" flow="in" />
       <returns type="void" />
     </function>
     <function name="RenderbufferStorageMultisample" category="ES_VERSION_3_0" extension="Core" version="3.0">