glthread: track for each VAO whether the user has set a user pointer
[mesa.git] / src / mapi / glapi / gen / es_EXT.xml
index 1327bb602129cfc7c67d9a679601b0dee3c8a9e4..9dc1444bafec1ff1aef3207c8fc506e34f712db3 100644 (file)
@@ -10,7 +10,8 @@
     <enum name="BLEND_EQUATION_RGB_OES"                   value="0x8009"/>
     <enum name="BLEND_EQUATION_ALPHA_OES"                 value="0x883D"/>
 
-    <function name="BlendEquationSeparateOES" alias="BlendEquationSeparateEXT" static_dispatch="false">
+    <function name="BlendEquationSeparateOES" alias="BlendEquationSeparate"
+             es1="1.0">
         <param name="modeRGB" type="GLenum"/>
         <param name="modeA" type="GLenum"/>
     </function>
@@ -23,7 +24,7 @@
     <enum name="BLEND_DST_ALPHA_OES"                      value="0x80CA"/>
     <enum name="BLEND_SRC_ALPHA_OES"                      value="0x80CB"/>
 
-    <function name="BlendFuncSeparateOES" alias="BlendFuncSeparateEXT" static_dispatch="false">
+    <function name="BlendFuncSeparateOES" alias="BlendFuncSeparate" es1="1.0">
         <param name="sfactorRGB" type="GLenum"/>
         <param name="dfactorRGB" type="GLenum"/>
         <param name="sfactorAlpha" type="GLenum"/>
@@ -38,7 +39,7 @@
     <enum name="FUNC_SUBTRACT_OES"                        value="0x800A"/>
     <enum name="FUNC_REVERSE_SUBTRACT_OES"                value="0x800B"/>
 
-    <function name="BlendEquationOES" alias="BlendEquation" static_dispatch="false">
+    <function name="BlendEquationOES" alias="BlendEquation" es1="1.0">
         <param name="mode" type="GLenum"/>
     </function>
 </category>
     <enum name="BYTE"                                     value="0x1400"/>
 </category>
 
+<category name="GL_OES_compressed_ETC1_RGB8_texture" number="5">
+    <enum name="ETC1_RGB8_OES"                            value="0x8D64"/>
+</category>
+
 <category name="GL_OES_compressed_paletted_texture" number="6">
     <enum name="PALETTE4_RGB8_OES"                        value="0x8B90"/>
     <enum name="PALETTE4_RGBA8_OES"                       value="0x8B91"/>
@@ -65,7 +70,7 @@
 <category name="GL_OES_draw_texture" number="7">
     <enum name="TEXTURE_CROP_RECT_OES"                    value="0x8B9D"/>
 
-    <function name="DrawTexiOES" offset="assign" static_dispatch="false">
+    <function name="DrawTexiOES" es1="1.0" desktop="false">
         <param name="x" type="GLint"/>
         <param name="y" type="GLint"/>
         <param name="z" type="GLint"/>
         <param name="height" type="GLint"/>
     </function>
 
-    <function name="DrawTexivOES" offset="assign" static_dispatch="false">
+    <function name="DrawTexivOES" es1="1.0" desktop="false">
         <param name="coords" type="const GLint *" count="5"/>
     </function>
 
-    <function name="DrawTexfOES" offset="assign" static_dispatch="false">
+    <function name="DrawTexfOES" es1="1.0" desktop="false">
         <param name="x" type="GLfloat"/>
         <param name="y" type="GLfloat"/>
         <param name="z" type="GLfloat"/>
         <param name="height" type="GLfloat"/>
     </function>
 
-    <function name="DrawTexfvOES" offset="assign" static_dispatch="false">
+    <function name="DrawTexfvOES" es1="1.0" desktop="false">
         <param name="coords" type="const GLfloat *" count="5"/>
     </function>
 
-    <function name="DrawTexsOES" offset="assign" static_dispatch="false">
+    <function name="DrawTexsOES" es1="1.0" desktop="false">
         <param name="x" type="GLshort"/>
         <param name="y" type="GLshort"/>
         <param name="z" type="GLshort"/>
         <param name="height" type="GLshort"/>
     </function>
 
-    <function name="DrawTexsvOES" offset="assign" static_dispatch="false">
+    <function name="DrawTexsvOES" es1="1.0" desktop="false">
         <param name="coords" type="const GLshort *" count="5"/>
     </function>
 
-    <function name="DrawTexxOES" offset="assign" static_dispatch="false">
+    <function name="DrawTexxOES" es1="1.0" desktop="false">
         <param name="x" type="GLfixed"/>
         <param name="y" type="GLfixed"/>
         <param name="z" type="GLfixed"/>
         <param name="height" type="GLfixed"/>
     </function>
 
-    <function name="DrawTexxvOES" offset="assign" static_dispatch="false">
+    <function name="DrawTexxvOES" es1="1.0" desktop="false">
         <param name="coords" type="const GLfixed *" count="5"/>
     </function>
 
     <enum name="RENDERBUFFER_STENCIL_SIZE_OES"            value="0x8D55"/>
     <enum name="RGB565_OES"                               value="0x8D62"/>
 
-    <function name="BindFramebufferOES" alias="BindFramebufferEXT" static_dispatch="false">
+    <function name="BindFramebufferOES" alias="BindFramebuffer" es1="1.0">
         <param name="target" type="GLenum"/>
         <param name="framebuffer" type="GLuint"/>
     </function>
 
-    <function name="BindRenderbufferOES" alias="BindRenderbufferEXT" static_dispatch="false">
+    <function name="BindRenderbufferOES" alias="BindRenderbuffer" es1="1.0">
         <param name="target" type="GLenum"/>
         <param name="renderbuffer" type="GLuint"/>
     </function>
 
-    <function name="CheckFramebufferStatusOES" alias="CheckFramebufferStatusEXT" static_dispatch="false">
+    <function name="CheckFramebufferStatusOES"
+              alias="CheckFramebufferStatus" es1="1.0">
         <param name="target" type="GLenum"/>
        <return type="GLenum"/>
     </function>
 
-    <function name="DeleteFramebuffersOES" alias="DeleteFramebuffersEXT" static_dispatch="false">
+    <function name="DeleteFramebuffersOES" alias="DeleteFramebuffers" es1="1.0">
         <param name="n" type="GLsizei" counter="true"/>
         <param name="framebuffers" type="const GLuint *" count="n"/>
     </function>
 
-    <function name="DeleteRenderbuffersOES" alias="DeleteRenderbuffersEXT" static_dispatch="false">
+    <function name="DeleteRenderbuffersOES" alias="DeleteRenderbuffers"
+             es1="1.0">
         <param name="n" type="GLsizei" counter="true"/>
         <param name="renderbuffers" type="const GLuint *" count="n"/>
     </function>
 
-    <function name="FramebufferRenderbufferOES" alias="FramebufferRenderbufferEXT" static_dispatch="false">
+    <function name="FramebufferRenderbufferOES"
+              alias="FramebufferRenderbuffer" es1="1.0">
         <param name="target" type="GLenum"/>
         <param name="attachment" type="GLenum"/>
         <param name="renderbuffertarget" type="GLenum"/>
         <param name="renderbuffer" type="GLuint"/>
     </function>
 
-    <function name="FramebufferTexture2DOES" alias="FramebufferTexture2DEXT" static_dispatch="false">
+    <function name="FramebufferTexture2DOES" alias="FramebufferTexture2D"
+             es1="1.0">
         <param name="target" type="GLenum"/>
         <param name="attachment" type="GLenum"/>
         <param name="textarget" type="GLenum"/>
         <param name="level" type="GLint"/>
     </function>
 
-    <function name="GenerateMipmapOES" alias="GenerateMipmapEXT" static_dispatch="false">
+    <function name="GenerateMipmapOES" alias="GenerateMipmap" es1="1.0">
         <param name="target" type="GLenum"/>
     </function>
 
-    <function name="GenFramebuffersOES" alias="GenFramebuffersEXT" static_dispatch="false">
+    <function name="GenFramebuffersOES" alias="GenFramebuffers" es1="1.0">
         <param name="n" type="GLsizei" counter="true"/>
         <param name="framebuffers" type="GLuint *" count="n" output="true"/>
     </function>
 
-    <function name="GenRenderbuffersOES" alias="GenRenderbuffersEXT" static_dispatch="false">
+    <function name="GenRenderbuffersOES" alias="GenRenderbuffers" es1="1.0">
         <param name="n" type="GLsizei" counter="true"/>
         <param name="renderbuffers" type="GLuint *" count="n" output="true"/>
     </function>
 
-    <function name="GetFramebufferAttachmentParameterivOES" alias="GetFramebufferAttachmentParameterivEXT" static_dispatch="false">
+    <function name="GetFramebufferAttachmentParameterivOES"
+              alias="GetFramebufferAttachmentParameteriv" es1="1.0">
         <param name="target" type="GLenum"/>
         <param name="attachment" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLint *" output="true"/>
     </function>
 
-    <function name="GetRenderbufferParameterivOES" alias="GetRenderbufferParameterivEXT" static_dispatch="false">
+    <function name="GetRenderbufferParameterivOES"
+              alias="GetRenderbufferParameteriv" es1="1.0">
         <param name="target" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLint *" output="true"/>
     </function>
 
-    <function name="IsFramebufferOES" alias="IsFramebufferEXT" static_dispatch="false">
+    <function name="IsFramebufferOES" alias="IsFramebuffer" es1="1.0">
         <param name="framebuffer" type="GLuint"/>
        <return type="GLboolean"/>
     </function>
 
-    <function name="IsRenderbufferOES" alias="IsRenderbufferEXT" static_dispatch="false">
+    <function name="IsRenderbufferOES" alias="IsRenderbuffer" es1="1.0">
         <param name="renderbuffer" type="GLuint"/>
        <return type="GLboolean"/>
     </function>
 
-    <function name="RenderbufferStorageOES" alias="RenderbufferStorageEXT" static_dispatch="false">
+    <function name="RenderbufferStorageOES" alias="RenderbufferStorage"
+             es1="1.0">
         <param name="target" type="GLenum"/>
         <param name="internalformat" type="GLenum"/>
         <param name="width" type="GLsizei"/>
     <enum name="WEIGHT_ARRAY_BUFFER_BINDING_OES"          value="0x889E"/>
     <enum name="MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES"    value="0x8B9E"/>
 
-    <function name="CurrentPaletteMatrixOES" alias="CurrentPaletteMatrixARB" static_dispatch="false">
+    <function name="CurrentPaletteMatrixOES" alias="CurrentPaletteMatrixARB"
+             exec="skip">
         <param name="matrixpaletteindex" type="GLuint"/>
     </function>
 
     <!-- no offset -->
-    <function name="LoadPaletteFromModelViewMatrixOES" static_dispatch="false">
+    <function name="LoadPaletteFromModelViewMatrixOES" exec="skip">
     </function>
 
-    <function name="MatrixIndexPointerOES" alias="MatrixIndexPointerARB" static_dispatch="false">
+    <function name="MatrixIndexPointerOES" alias="MatrixIndexPointerARB"
+             exec="skip">
         <param name="size" type="GLint"/>
         <param name="type" type="GLenum"/>
         <param name="stride" type="GLsizei"/>
         <param name="pointer" type="const GLvoid *"/>
     </function>
 
-    <function name="WeightPointerOES" alias="WeightPointerARB" static_dispatch="false">
+    <function name="WeightPointerOES" alias="WeightPointerARB" exec="skip">
         <param name="size" type="GLint"/>
         <param name="type" type="GLenum"/>
         <param name="stride" type="GLsizei"/>
     <enum name="POINT_SIZE_ARRAY_OES"                     value="0x8B9C"/>
     <enum name="POINT_SIZE_ARRAY_BUFFER_BINDING_OES"     value="0x8B9F"/>
 
-    <function name="PointSizePointerOES" offset="assign" static_dispatch="false">
+    <function name="PointSizePointerOES" es1="1.0" desktop="false"
+              no_error="true" marshal="async"
+              marshal_call_after="_mesa_glthread_AttribPointer(ctx);">
         <param name="type" type="GLenum"/>
         <param name="stride" type="GLsizei"/>
         <param name="pointer" type="const GLvoid *"/>
 
 <!-- optional for es1.0 -->
 <category name="GL_OES_query_matrix" number="16">
-    <function name="QueryMatrixxOES" offset="assign" static_dispatch="false">
+    <function name="QueryMatrixxOES" es1="1.0" desktop="false">
         <param name="mantissa" type="GLfixed *" count="16" />
         <param name="exponent" type="GLint *" count="16" />
        <return type="GLbitfield"/>
     <enum name="MAX_CUBE_MAP_TEXTURE_SIZE_OES"            value="0x851C"/>
     <enum name="TEXTURE_GEN_STR_OES"                      value="0x8D60"/>
 
-    <function name="GetTexGenfvOES" alias="GetTexGenfv" static_dispatch="false">
+    <function name="GetTexGenfvOES" alias="GetTexGenfv" es1="1.0">
         <param name="coord" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLfloat *" output="true" variable_param="pname"/>
     </function>
 
-    <function name="GetTexGenivOES" alias="GetTexGeniv" static_dispatch="false">
+    <function name="GetTexGenivOES" alias="GetTexGeniv" es1="1.0">
         <param name="coord" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLint *" output="true" variable_param="pname"/>
     </function>
 
-    <function name="TexGenfOES" alias="TexGenf" static_dispatch="false">
+    <function name="TexGenfOES" alias="TexGenf" es1="1.0">
         <param name="coord" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="param" type="GLfloat"/>
     </function>
 
-    <function name="TexGenfvOES" alias="TexGenfv" static_dispatch="false">
+    <function name="TexGenfvOES" alias="TexGenfv" es1="1.0">
         <param name="coord" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="const GLfloat *" variable_param="pname"/>
     </function>
 
-    <function name="TexGeniOES" alias="TexGeni" static_dispatch="false">
+    <function name="TexGeniOES" alias="TexGeni" es1="1.0">
         <param name="coord" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="param" type="GLint"/>
     </function>
 
-    <function name="TexGenivOES" alias="TexGeniv" static_dispatch="false">
+    <function name="TexGenivOES" alias="TexGeniv" es1="1.0">
         <param name="coord" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="const GLint *" variable_param="pname"/>
     <enum name="BUFFER_MAPPED_OES"                        value="0x88BC"/>
     <enum name="BUFFER_MAP_POINTER_OES"                   value="0x88BD"/>
 
-    <function name="GetBufferPointervOES" alias="GetBufferPointervARB" static_dispatch="false">
+    <function name="GetBufferPointervOES" alias="GetBufferPointerv"
+             es1="1.0" es2="2.0">
         <param name="target" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLvoid **"/>
     </function>
 
-    <function name="MapBufferOES" alias="MapBufferARB" static_dispatch="false">
+    <function name="MapBufferOES" alias="MapBuffer" es1="1.0" es2="2.0">
         <param name="target" type="GLenum"/>
         <param name="access" type="GLenum"/>
        <return type="GLvoid *"/>
     </function>
 
-    <function name="UnmapBufferOES" alias="UnmapBufferARB" static_dispatch="false">
+    <function name="UnmapBufferOES" alias="UnmapBuffer" es1="1.0" es2="2.0">
         <param name="target" type="GLenum"/>
        <return type="GLboolean"/>
     </function>
     <enum name="SAMPLER_3D_OES"                           value="0x8B5F"/>
     <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES" value="0x8CD4"/>
 
-    <function name="CompressedTexImage3DOES" alias="CompressedTexImage3DARB" static_dispatch="false">
+    <function name="CompressedTexImage3DOES" alias="CompressedTexImage3D"
+             es2="2.0">
         <param name="target" type="GLenum"/>
         <param name="level" type="GLint"/>
         <param name="internalformat" type="GLenum"/>
         <param name="data" type="const GLvoid *" count="imageSize"/>
     </function>
 
-    <function name="CompressedTexSubImage3DOES" alias="CompressedTexSubImage3DARB" static_dispatch="false">
+    <function name="CompressedTexSubImage3DOES"
+              alias="CompressedTexSubImage3D" es2="2.0">
         <param name="target" type="GLenum"/>
         <param name="level" type="GLint"/>
         <param name="xoffset" type="GLint"/>
         <param name="data" type="const GLvoid *" count="imageSize"/>
     </function>
 
-    <function name="CopyTexSubImage3DOES" alias="CopyTexSubImage3D" static_dispatch="false">
+    <function name="CopyTexSubImage3DOES" alias="CopyTexSubImage3D" es2="2.0">
         <param name="target" type="GLenum"/>
         <param name="level" type="GLint"/>
         <param name="xoffset" type="GLint"/>
         <param name="height" type="GLsizei"/>
     </function>
 
-    <function name="FramebufferTexture3DOES" alias="FramebufferTexture3DEXT" static_dispatch="false">
+    <function name="FramebufferTexture3DOES" alias="FramebufferTexture3D"
+             es2="2.0">
         <param name="target" type="GLenum"/>
         <param name="attachment" type="GLenum"/>
         <param name="textarget" type="GLenum"/>
         <param name="zoffset" type="GLint"/>
     </function>
 
-    <function name="TexImage3DOES" alias="TexImage3D" static_dispatch="false">
+    <function name="TexImage3DOES" alias="TexImage3D" es2="2.0">
         <param name="target" type="GLenum"/>
         <param name="level" type="GLint"/>
         <param name="internalformat" type="GLenum"/>
         <param name="pixels" type="const GLvoid *" img_width="width" img_height="height" img_depth="depth" img_format="format" img_type="type" img_target="target" img_null_flag="true" img_pad_dimensions="true"/>
     </function>
 
-    <function name="TexSubImage3DOES" alias="TexSubImage3D" static_dispatch="false">
+    <function name="TexSubImage3DOES" alias="TexSubImage3D" es2="2.0">
         <param name="target" type="GLenum"/>
         <param name="level" type="GLint"/>
         <param name="xoffset" type="GLint"/>
     <enum name="HALF_FLOAT_OES"                           value="0x8D61"/>
 </category>
 
+<category name="GL_AMD_compressed_ATC_texture" number="40">
+    <enum name="ATC_RGB_AMD"                              value="0x8C92"/>
+    <enum name="ATC_RGBA_EXPLICIT_ALPHA_AMD"              value="0x8C93"/>
+    <enum name="ATC_RGBA_INTERPOLATED_ALPHA_AMD"          value="0x87EE"/>
+</category>
+
 <!-- 41. GL_EXT_texture_filter_anisotropic -->
 
 <category name="GL_EXT_texture_type_2_10_10_10_REV" number="42">
     <enum name="NUM_PROGRAM_BINARY_FORMATS_OES"           value="0x87FE"/>
     <enum name="PROGRAM_BINARY_FORMATS_OES"               value="0x87FF"/>
 
-    <function name="GetProgramBinaryOES" alias="GetProgramBinary" static_dispatch="false">
+    <function name="GetProgramBinaryOES" alias="GetProgramBinary" es2="2.0">
         <param name="program" type="GLuint"/>
         <param name="bufSize" type="GLsizei"/>
         <param name="length" type="GLsizei *"/>
         <param name="binary" type="GLvoid *"/>
     </function>
 
-    <function name="ProgramBinaryOES" alias="ProgramBinary" static_dispatch="false">
+    <function name="ProgramBinaryOES" alias="ProgramBinary" es2="2.0">
         <param name="program" type="GLuint"/>
         <param name="binaryFormat" type="GLenum"/>
         <param name="binary" type="const GLvoid *"/>
     <enum name="MAX_TEXTURE_LOD_BIAS_EXT"                 value="0x84FD"/>
 </category>
 
+<!-- 64. GL_EXT_discard_framebuffer -->
+
+<category name="GL_EXT_discard_framebuffer" number="64">
+    <function name="DiscardFramebufferEXT" es1="1.0" es2="2.0" desktop="false">
+        <param name="target" type="GLenum"/>
+        <param name="numAttachments" type="GLsizei"/>
+        <param name="attachments" type="const GLenum *" count="numAttachments"/>
+    </function>
+    <enum name="COLOR_EXT"                                value="0x1800"/>
+    <enum name="DEPTH_EXT"                                value="0x1801"/>
+    <enum name="STENCIL_EXT"                              value="0x1802"/>
+</category>
+
 <!-- 65. GL_EXT_blend_minmax -->
 
 <category name="GL_EXT_read_format_bgra" number="66">
 
 <!-- 69. GL_EXT_multi_draw_arrays -->
 
+<!-- 71. GL_OES_vertex_array_object -->
+<category name="GL_OES_vertex_array_object" number="71">
+    <function name="BindVertexArrayOES" alias="BindVertexArray" es2="2.0">
+        <param name="array" type="GLuint"/>
+    </function>
+
+    <function name="DeleteVertexArraysOES" alias="DeleteVertexArrays" es2="2.0">
+        <param name="n" type="GLsizei"/>
+        <param name="arrays" type="const GLuint *" count="n"/>
+    </function>
+
+    <function name="GenVertexArraysOES" alias="GenVertexArrays" es2="2.0">
+        <param name="n" type="GLsizei"/>
+        <param name="arrays" type="GLuint *" output="true" count="n"/>
+    </function>
+
+    <function name="IsVertexArrayOES" alias="IsVertexArray" es2="2.0">
+        <param name="array" type="GLuint"/>
+        <return type="GLboolean"/>
+    </function>
+
+    <enum name="VERTEX_ARRAY_BINDING_OES"      count="1"  value="0x85B5">
+        <size name="Get" mode="get"/>
+    </enum>
+</category>
+
+<!-- 87. GL_OES_EGL_image_external -->
+<category name="GL_OES_EGL_image_external" number="87">
+    <enum name="TEXTURE_EXTERNAL_OES"                     value="0x8D65"/>
+    <enum name="SAMPLER_EXTERNAL_OES"                     value="0x8D66"/>
+    <enum name="TEXTURE_BINDING_EXTERNAL_OES"             value="0x8D67"/>
+    <enum name="REQUIRED_TEXTURE_IMAGE_UNITS_OES"         value="0x8D68"/>
+</category>
+
+<!--
+    This extension serves a similar purpose to ARB_draw_buffers except
+    that this is for OpenGL ES 2.0.
+-->
+<category name="GL_NV_draw_buffers" number="91">
+    <enum name="MAX_DRAW_BUFFERS_NV"           count="1"  value="0x8824">
+        <size name="Get" mode="get"/>
+    </enum>
+    <enum name="DRAW_BUFFER0_NV"               count="1"  value="0x8825">
+        <size name="Get" mode="get"/>
+    </enum>
+    <enum name="DRAW_BUFFER1_NV"               count="1"  value="0x8826">
+        <size name="Get" mode="get"/>
+    </enum>
+    <enum name="DRAW_BUFFER2_NV"               count="1"  value="0x8827">
+        <size name="Get" mode="get"/>
+    </enum>
+    <enum name="DRAW_BUFFER3_NV"               count="1"  value="0x8828">
+        <size name="Get" mode="get"/>
+    </enum>
+    <enum name="DRAW_BUFFER4_NV"               count="1"  value="0x8829">
+        <size name="Get" mode="get"/>
+    </enum>
+    <enum name="DRAW_BUFFER5_NV"               count="1"  value="0x882A">
+        <size name="Get" mode="get"/>
+    </enum>
+    <enum name="DRAW_BUFFER6_NV"               count="1"  value="0x882B">
+        <size name="Get" mode="get"/>
+    </enum>
+    <enum name="DRAW_BUFFER7_NV"               count="1"  value="0x882C">
+        <size name="Get" mode="get"/>
+    </enum>
+    <enum name="DRAW_BUFFER8_NV"               count="1"  value="0x882D">
+        <size name="Get" mode="get"/>
+    </enum>
+    <enum name="DRAW_BUFFER9_NV"               count="1"  value="0x882E">
+        <size name="Get" mode="get"/>
+    </enum>
+    <enum name="DRAW_BUFFER10_NV"              count="1"  value="0x882F">
+        <size name="Get" mode="get"/>
+    </enum>
+    <enum name="DRAW_BUFFER11_NV"              count="1"  value="0x8830">
+        <size name="Get" mode="get"/>
+    </enum>
+    <enum name="DRAW_BUFFER12_NV"              count="1"  value="0x8831">
+        <size name="Get" mode="get"/>
+    </enum>
+    <enum name="DRAW_BUFFER13_NV"              count="1"  value="0x8832">
+        <size name="Get" mode="get"/>
+    </enum>
+    <enum name="DRAW_BUFFER14_NV"              count="1"  value="0x8833">
+        <size name="Get" mode="get"/>
+    </enum>
+    <enum name="DRAW_BUFFER15_NV"              count="1"  value="0x8834">
+        <size name="Get" mode="get"/>
+    </enum>
+
+    <function name="DrawBuffersNV" alias="DrawBuffers" es2="2.0">
+        <param name="n" type="GLsizei" counter="true"/>
+        <param name="bufs" type="const GLenum *" count="n"/>
+    </function>
+</category>
+
+<!-- 93. GL_NV_read_buffer -->
+<category name="GL_NV_read_buffer">
+    <function name="ReadBufferNV" alias="ReadBuffer" es2="2.0">
+        <param name="mode" type="GLenum"/>
+    </function>
+</category>
+
+<!-- 100. GL_EXT_occlusion_query_boolean -->
+<category name="GL_EXT_occlusion_query_boolean" number="100">
+    <enum name="CURRENT_QUERY_EXT"                   value="0x8865"/>
+    <enum name="QUERY_RESULT_EXT"                    value="0x8866"/>
+    <enum name="QUERY_RESULT_AVAILABLE_EXT"          value="0x8867"/>
+    <enum name="ANY_SAMPLES_PASSED_EXT"              value="0x8C2F"/>
+    <enum name="ANY_SAMPLES_PASSED_CONSERVATIVE_EXT" value="0x8D6A"/>
+
+    <function name="GenQueriesEXT" alias="GenQueries" es2="2.0">
+        <param name="n" type="GLsizei"/>
+        <param name="ids" type="GLuint *"/>
+    </function>
+
+    <function name="DeleteQueriesEXT" alias="DeleteQueries" es2="2.0">
+        <param name="n" type="GLsizei"/>
+        <param name="ids" type="const GLuint *"/>
+    </function>
+
+    <function name="IsQueryEXT" alias="IsQuery" es2="2.0">
+        <param name="id" type="GLuint"/>
+        <return type="GLboolean"/>
+    </function>
+
+    <function name="BeginQueryEXT" alias="BeginQuery" es2="2.0">
+        <param name="target" type="GLenum"/>
+        <param name="id" type="GLuint"/>
+    </function>
+
+    <function name="EndQueryEXT" alias="EndQuery" es2="2.0">
+        <param name="target" type="GLenum"/>
+    </function>
+
+    <function name="GetQueryivEXT" alias="GetQueryiv" es2="2.0">
+        <param name="target" type="GLenum"/>
+        <param name="pname" type="GLenum"/>
+        <param name="params" type="GLint *"/>
+    </function>
+
+    <function name="GetQueryObjectivEXT" alias="GetQueryObjectiv" es2="2.0">
+        <param name="id" type="GLuint"/>
+        <param name="pname" type="GLenum"/>
+        <param name="params" type="GLint *"/>
+    </function>
+
+    <function name="GetQueryObjectuivEXT" alias="GetQueryObjectuiv" es2="2.0">
+        <param name="id" type="GLuint"/>
+        <param name="pname" type="GLenum"/>
+        <param name="params" type="GLuint *"/>
+    </function>
+</category>
+
+<!-- 103. GL_EXT_texture_rg -->
+<category name="GL_EXT_texture_rg" number="103">
+    <enum name="RED_EXT"                                  value="0x1903"/>
+    <enum name="RG_EXT"                                   value="0x8227"/>
+    <enum name="R8_EXT"                                   value="0x8229"/>
+    <enum name="RG8_EXT"                                  value="0x822B"/>
+</category>
+
+<xi:include href="EXT_multisampled_render_to_texture.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
+<!-- 111. GL_ANGLE_texture_compression_dxt -->
+<category name="GL_ANGLE_texture_compression_dxt" number="111">
+    <enum name="COMPRESSED_RGBA_S3TC_DXT3_ANGLE"        value="0x83F2"/>
+    <enum name="COMPRESSED_RGBA_S3TC_DXT5_ANGLE"        value="0x83F3"/>
+</category>
+
+<!-- 121. GL_EXT_map_buffer_range -->
+<category name="GL_EXT_map_buffer_range" number="121">
+    <enum name="MAP_READ_BIT_EXT"                         value="0x0001"/>
+    <enum name="MAP_WRITE_BIT_EXT"                        value="0x0002"/>
+    <enum name="MAP_INVALIDATE_RANGE_BIT_EXT"             value="0x0004"/>
+    <enum name="MAP_INVALIDATE_BUFFER_BIT_EXT"            value="0x0008"/>
+    <enum name="MAP_FLUSH_EXPLICIT_BIT_EXT"               value="0x0010"/>
+    <enum name="MAP_UNSYNCHRONIZED_BIT_EXT"               value="0x0020"/>
+
+    <function name="MapBufferRangeEXT" alias="MapBufferRange"
+             es1="1.0" es2="2.0">
+        <param name="target" type="GLenum"/>
+        <param name="offset" type="GLintptr"/>
+        <param name="size" type="GLsizeiptr"/>
+        <param name="length" type="GLbitfield"/>
+        <return type="GLvoid *"/>
+    </function>
+
+    <function name="FlushMappedBufferRangeEXT" alias="FlushMappedBufferRange"
+             es1="1.0" es2="2.0">
+        <param name="target" type="GLenum"/>
+        <param name="offset" type="GLintptr"/>
+        <param name="length" type="GLsizeiptr"/>
+    </function>
+</category>
+
+<!-- 150. GL_EXT_disjoint_timer_query -->
+<category name="GL_EXT_disjoint_timer_query" number="150">
+    <enum name="QUERY_COUNTER_BITS_EXT"     value="0x8864"/>
+    <enum name="CURRENT_QUERY_EXT"          value="0x8865"/>
+    <enum name="QUERY_RESULT_EXT"           value="0x8866"/>
+    <enum name="QUERY_RESULT_AVAILABLE_EXT" value="0x8867"/>
+    <enum name="TIME_ELAPSED_EXT"           value="0x88BF"/>
+    <enum name="TIMESTAMP_EXT"              value="0x8E28"/>
+    <enum name="GPU_DISJOINT_EXT"           value="0x8FBB"/>
+
+    <function name="QueryCounterEXT" alias="QueryCounter" es2="2.0">
+        <param name="id" type="GLuint"/>
+        <param name="target" type="GLenum"/>
+    </function>
+
+    <function name="GetInteger64vEXT" alias="GetInteger64v" es2="2.0">
+        <param name="pname" type="GLenum"/>
+        <param name="params" type="GLint64 *" output="true" variable_param="pname"/>
+    </function>
+
+</category>
+
+<!-- 151. GL_EXT_draw_buffers -->
+<category name="GL_EXT_draw_buffers" number="151">
+    <function name="DrawBuffersEXT" alias="DrawBuffers" es2="2.0">
+        <param name="n" type="GLsizei" counter="true"/>
+        <param name="bufs" type="const GLenum *" count="n"/>
+    </function>
+</category>
+
+<category name="GL_OES_sample_shading" number="169">
+    <function name="MinSampleShadingOES" alias="MinSampleShading" es2="3.0">
+        <param name="value" type="GLfloat"/>
+    </function>
+</category>
+
+<!-- 174. GL_OES_texture_storage_multisample_2d_array -->
+<category name="GL_OES_texture_storage_multisample_2d_array" number="174">
+    <enum name="TEXTURE_2D_MULTISAMPLE_ARRAY_OES"              value="0x9102"/>
+    <enum name="TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES"      value="0x9105"/>
+    <enum name="SAMPLER_2D_MULTISAMPLE_ARRAY_OES"              value="0x910B"/>
+    <enum name="INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"          value="0x910C"/>
+    <enum name="UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES" value="0x910D"/>
+
+    <function name="TexStorage3DMultisampleOES" alias="TexStorage3DMultisample" es2="3.1">
+        <param name="target" type="GLenum"/>
+        <param name="samples" type="GLsizei"/>
+        <param name="internalformat" type="GLenum"/>
+        <param name="width" type="GLsizei"/>
+        <param name="height" type="GLsizei"/>
+        <param name="depth" type="GLsizei"/>
+        <param name="fixedsamplelocations" type="GLboolean"/>
+    </function>
+</category>
+
+<category name="GL_EXT_draw_buffers_indexed" number="176">
+
+  <function name="BlendFunciEXT" alias="BlendFunciARB" es2="3.0">
+    <param name="buf" type="GLuint"/>
+    <param name="sfactor" type="GLenum"/>
+    <param name="dfactor" type="GLenum"/>
+  </function>
+
+  <function name="BlendFuncSeparateiEXT" alias="BlendFuncSeparateiARB" es2="3.0">
+    <param name="buf" type="GLuint"/>
+    <param name="sfactorRGB" type="GLenum"/>
+    <param name="dfactorRGB" type="GLenum"/>
+    <param name="sfactorAlpha" type="GLenum"/>
+    <param name="dfactorAlpha" type="GLenum"/>
+  </function>
+
+  <function name="BlendEquationiEXT" alias="BlendEquationiARB" es2="3.0">
+    <param name="buf" type="GLuint"/>
+    <param name="mode" type="GLenum"/>
+  </function>
+
+  <function name="BlendEquationSeparateiEXT" alias="BlendEquationSeparateiARB" es2="3.0">
+    <param name="buf" type="GLuint"/>
+    <param name="modeRGB" type="GLenum"/>
+    <param name="modeA" type="GLenum"/>
+  </function>
+
+  <function name="ColorMaskiEXT" alias="ColorMaski" es2="3.0">
+    <param name="buf" type="GLuint"/>
+    <param name="r" type="GLboolean"/>
+    <param name="g" type="GLboolean"/>
+    <param name="b" type="GLboolean"/>
+    <param name="a" type="GLboolean"/>
+  </function>
+
+  <function name="EnableiEXT" alias="Enablei" es2="3.0">
+    <param name="target" type="GLenum"/>
+    <param name="index" type="GLuint"/>
+  </function>
+
+  <function name="DisableiEXT" alias="Disablei" es2="3.0">
+    <param name="target" type="GLenum"/>
+    <param name="index" type="GLuint"/>
+  </function>
+
+  <function name="IsEnablediEXT" alias="IsEnabledi" es2="3.0">
+    <param name="target" type="GLenum"/>
+    <param name="index" type="GLuint"/>
+    <return type="GLboolean"/>
+  </function>
+
+</category>
+
+<category name="GL_EXT_geometry_shader" number="177">
+    <!-- The rest of the bits for this are below in OES_geometry_shader. -->
+    <function name="FramebufferTextureEXT" alias="FramebufferTexture" es2="3.1">
+        <param name="target" type="GLenum"/>
+        <param name="attachment" type="GLenum"/>
+        <param name="texture" type="GLuint"/>
+        <param name="level" type="GLint"/>
+    </function>
+</category>
+
+<category name="GL_EXT_texture_border_clamp" number="182">
+
+    <!-- The *TexParameter* functions are added in EXT_texture_integer -->
+
+    <function name="SamplerParameterIivEXT" es2="3.0" alias="SamplerParameterIiv">
+      <param name="sampler" type="GLuint"/>
+      <param name="pname" type="GLenum"/>
+      <param name="params" type="const GLint *"/>
+    </function>
+
+    <function name="SamplerParameterIuivEXT" es2="3.0" alias="SamplerParameterIuiv">
+      <param name="sampler" type="GLuint"/>
+      <param name="pname" type="GLenum"/>
+      <param name="params" type="const GLuint *"/>
+    </function>
+
+    <function name="GetSamplerParameterIivEXT" es2="3.0" alias="GetSamplerParameterIiv">
+      <param name="sampler" type="GLuint"/>
+      <param name="pname" type="GLenum"/>
+      <param name="params" type="GLint *"/>
+    </function>
+
+    <function name="GetSamplerParameterIuivEXT" es2="3.0" alias="GetSamplerParameterIuiv">
+      <param name="sampler" type="GLuint"/>
+      <param name="pname" type="GLenum"/>
+      <param name="params" type="GLuint *"/>
+    </function>
+
+</category>
+
+<category name="GL_EXT_texture_buffer" number="183">
+
+    <function name="TexBufferEXT" es2="3.1" alias="TexBuffer">
+        <param name="target" type="GLenum"/>
+        <param name="internalFormat" type="GLenum"/>
+        <param name="buffer" type="GLuint"/>
+    </function>
+
+    <function name="TexBufferRangeEXT" es2="3.1" alias="TexBufferRange">
+        <param name="target" type="GLenum"/>
+        <param name="internalformat" type="GLenum"/>
+        <param name="buffer" type="GLuint"/>
+        <param name="offset" type="GLintptr"/>
+        <param name="size" type="GLsizeiptr"/>
+    </function>
+
+</category>
+
+<category name="GL_EXT_primitive_bounding_box" number="187">
+
+    <function name="PrimitiveBoundingBoxEXT" es2="3.1" alias="PrimitiveBoundingBox">
+        <param name="minX" type="GLfloat"/>
+        <param name="minY" type="GLfloat"/>
+        <param name="minZ" type="GLfloat"/>
+        <param name="minW" type="GLfloat"/>
+        <param name="maxX" type="GLfloat"/>
+        <param name="maxY" type="GLfloat"/>
+        <param name="maxZ" type="GLfloat"/>
+        <param name="maxW" type="GLfloat"/>
+    </function>
+
+</category>
+
+<xi:include href="KHR_robustness_es.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
+<category name="GL_EXT_base_instance" number="203">
+
+  <function name="DrawArraysInstancedBaseInstanceEXT" es2="3.0"
+            alias="DrawArraysInstancedBaseInstance">
+    <param name="mode" type="GLenum"/>
+    <param name="first" type="GLint"/>
+    <param name="count" type="GLsizei"/>
+    <param name="instancecount" type="GLsizei"/>
+    <param name="baseinstance" type="GLuint"/>
+  </function>
+
+  <function name="DrawElementsInstancedBaseInstanceEXT" es2="3.0"
+            alias="DrawElementsInstancedBaseInstance">
+    <param name="mode" type="GLenum"/>
+    <param name="count" type="GLsizei"/>
+    <param name="type" type="GLenum"/>
+    <param name="indices" type="const GLvoid *"/>
+    <param name="instancecount" type="GLsizei"/>
+    <param name="baseinstance" type="GLuint"/>
+  </function>
+
+  <function name="DrawElementsInstancedBaseVertexBaseInstanceEXT" es2="3.0"
+            alias="DrawElementsInstancedBaseVertexBaseInstance">
+    <param name="mode" type="GLenum"/>
+    <param name="count" type="GLsizei"/>
+    <param name="type" type="GLenum"/>
+    <param name="indices" type="const GLvoid *"/>
+    <param name="instancecount" type="GLsizei"/>
+    <param name="basevertex" type="GLint"/>
+    <param name="baseinstance" type="GLuint"/>
+  </function>
+
+</category>
+
+<category name="GL_EXT_draw_elements_base_vertex" number="204">
+
+    <function name="DrawElementsBaseVertexEXT" alias="DrawElementsBaseVertex"
+              es2="2.0" exec="dynamic">
+        <param name="mode" type="GLenum"/>
+        <param name="count" type="GLsizei"/>
+        <param name="type" type="GLenum"/>
+        <param name="indices" type="const GLvoid *"/>
+        <param name="basevertex" type="GLint"/>
+    </function>
+
+    <function name="DrawRangeElementsBaseVertexEXT" alias="DrawRangeElementsBaseVertex"
+              es2="3.0" exec="dynamic">
+        <param name="mode" type="GLenum"/>
+        <param name="start" type="GLuint"/>
+        <param name="end" type="GLuint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="type" type="GLenum"/>
+        <param name="indices" type="const GLvoid *"/>
+        <param name="basevertex" type="GLint"/>
+    </function>
+
+    <function name="MultiDrawElementsBaseVertexEXT" alias="MultiDrawElementsBaseVertex"
+              es2="2.0" exec="dynamic">
+        <param name="mode" type="GLenum"/>
+        <param name="count" type="const GLsizei *"/>
+        <param name="type" type="GLenum"/>
+        <param name="indices" type="const GLvoid * const *"/>
+        <param name="primcount" type="GLsizei"/>
+        <param name="basevertex" type="const GLint *"/>
+    </function>
+
+    <function name="DrawElementsInstancedBaseVertexEXT" alias="DrawElementsInstancedBaseVertex"
+              es2="3.0" exec="dynamic">
+        <param name="mode" type="GLenum"/>
+        <param name="count" type="GLsizei"/>
+        <param name="type" type="GLenum"/>
+        <param name="indices" type="const GLvoid *"/>
+        <param name="primcount" type="GLsizei"/>
+        <param name="basevertex" type="GLint"/>
+    </function>
+
+</category>
+
+<category name="GL_EXT_copy_image" number="208">
+
+    <function name="CopyImageSubDataEXT" alias="CopyImageSubData" es2="3.0">
+        <param name="srcName" type="GLuint"/>
+        <param name="srcTarget" type="GLenum"/>
+        <param name="srcLevel" type="GLint"/>
+        <param name="srcX" type="GLint"/>
+        <param name="srcY" type="GLint"/>
+        <param name="srcZ" type="GLint"/>
+        <param name="dstName" type="GLuint"/>
+        <param name="dstTarget" type="GLenum"/>
+        <param name="dstLevel" type="GLint"/>
+        <param name="dstX" type="GLint"/>
+        <param name="dstY" type="GLint"/>
+        <param name="dstZ" type="GLint"/>
+        <param name="srcWidth" type="GLsizei"/>
+        <param name="srcHeight" type="GLsizei"/>
+        <param name="srcDepth" type="GLsizei"/>
+    </function>
+
+</category>
+
+<category name="GL_OES_draw_buffers_indexed" number="209">
+
+  <function name="BlendFunciOES" alias="BlendFunciARB" es2="3.0">
+    <param name="buf" type="GLuint"/>
+    <param name="sfactor" type="GLenum"/>
+    <param name="dfactor" type="GLenum"/>
+  </function>
+
+  <function name="BlendFuncSeparateiOES" alias="BlendFuncSeparateiARB" es2="3.0">
+    <param name="buf" type="GLuint"/>
+    <param name="sfactorRGB" type="GLenum"/>
+    <param name="dfactorRGB" type="GLenum"/>
+    <param name="sfactorAlpha" type="GLenum"/>
+    <param name="dfactorAlpha" type="GLenum"/>
+  </function>
+
+  <function name="BlendEquationiOES" alias="BlendEquationiARB" es2="3.0">
+    <param name="buf" type="GLuint"/>
+    <param name="mode" type="GLenum"/>
+  </function>
+
+  <function name="BlendEquationSeparateiOES" alias="BlendEquationSeparateiARB" es2="3.0">
+    <param name="buf" type="GLuint"/>
+    <param name="modeRGB" type="GLenum"/>
+    <param name="modeA" type="GLenum"/>
+  </function>
+
+  <function name="ColorMaskiOES" alias="ColorMaski" es2="3.0">
+    <param name="buf" type="GLuint"/>
+    <param name="r" type="GLboolean"/>
+    <param name="g" type="GLboolean"/>
+    <param name="b" type="GLboolean"/>
+    <param name="a" type="GLboolean"/>
+  </function>
+
+  <function name="EnableiOES" alias="Enablei" es2="3.0">
+    <param name="target" type="GLenum"/>
+    <param name="index" type="GLuint"/>
+  </function>
+
+  <function name="DisableiOES" alias="Disablei" es2="3.0">
+    <param name="target" type="GLenum"/>
+    <param name="index" type="GLuint"/>
+  </function>
+
+  <function name="IsEnablediOES" alias="IsEnabledi" es2="3.0">
+    <param name="target" type="GLenum"/>
+    <param name="index" type="GLuint"/>
+    <return type="GLboolean"/>
+  </function>
+
+</category>
+
+<category name="GL_EXT_primitive_bounding_box" number="212">
+
+    <function name="PrimitiveBoundingBoxOES" es2="3.1" alias="PrimitiveBoundingBox">
+        <param name="minX" type="GLfloat"/>
+        <param name="minY" type="GLfloat"/>
+        <param name="minZ" type="GLfloat"/>
+        <param name="minW" type="GLfloat"/>
+        <param name="maxX" type="GLfloat"/>
+        <param name="maxY" type="GLfloat"/>
+        <param name="maxZ" type="GLfloat"/>
+        <param name="maxW" type="GLfloat"/>
+    </function>
+
+</category>
+
+<category name="GL_OES_texture_buffer" number="216">
+
+    <function name="TexBufferOES" es2="3.1" alias="TexBuffer">
+        <param name="target" type="GLenum"/>
+        <param name="internalFormat" type="GLenum"/>
+        <param name="buffer" type="GLuint"/>
+    </function>
+
+    <function name="TexBufferRangeOES" es2="3.1" alias="TexBufferRange">
+        <param name="target" type="GLenum"/>
+        <param name="internalformat" type="GLenum"/>
+        <param name="buffer" type="GLuint"/>
+        <param name="offset" type="GLintptr"/>
+        <param name="size" type="GLsizeiptr"/>
+    </function>
+
+</category>
+
+<category name="GL_OES_draw_elements_base_vertex" number="219">
+
+    <function name="DrawElementsBaseVertexOES" alias="DrawElementsBaseVertex"
+              es2="2.0" exec="dynamic">
+        <param name="mode" type="GLenum"/>
+        <param name="count" type="GLsizei"/>
+        <param name="type" type="GLenum"/>
+        <param name="indices" type="const GLvoid *"/>
+        <param name="basevertex" type="GLint"/>
+    </function>
+
+    <function name="DrawRangeElementsBaseVertexOES" alias="DrawRangeElementsBaseVertex"
+              es2="3.0" exec="dynamic">
+        <param name="mode" type="GLenum"/>
+        <param name="start" type="GLuint"/>
+        <param name="end" type="GLuint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="type" type="GLenum"/>
+        <param name="indices" type="const GLvoid *"/>
+        <param name="basevertex" type="GLint"/>
+    </function>
+
+    <function name="DrawElementsInstancedBaseVertexOES" alias="DrawElementsInstancedBaseVertex"
+              es2="3.0" exec="dynamic">
+        <param name="mode" type="GLenum"/>
+        <param name="count" type="GLsizei"/>
+        <param name="type" type="GLenum"/>
+        <param name="indices" type="const GLvoid *"/>
+        <param name="primcount" type="GLsizei"/>
+        <param name="basevertex" type="GLint"/>
+    </function>
+
+</category>
+
+<category name="GL_EXT_buffer_storage" number="239">
+    <function name="BufferStorageEXT" alias="BufferStorage" es2="3.1">
+        <param name="target" type="GLenum"/>
+        <param name="size" type="GLsizeiptr"/>
+        <param name="data" type="const GLvoid *"/>
+        <param name="flags" type="GLbitfield"/>
+    </function>
+</category>
+
+<category name="GL_EXT_blend_func_extended" number="247">
+
+    <function name="BindFragDataLocationIndexedEXT" alias="BindFragDataLocationIndexed"
+            es2="3.0">
+        <param name="program" type="GLuint"/>
+        <param name="colorNumber" type="GLuint"/>
+        <param name="index" type="GLuint"/>
+        <param name="name" type="const GLchar *"/>
+    </function>
+
+    <function name="GetFragDataIndexEXT" alias="GetFragDataIndex"
+            es2="3.0">
+        <param name="program" type="GLuint"/>
+        <param name="name" type="const GLchar *"/>
+        <return type="GLint"/>
+    </function>
+
+    <function name="GetProgramResourceLocationIndexEXT" alias="GetProgramResourceLocationIndex"
+           es2="3.1">
+        <param name="program" type="GLuint"/>
+        <param name="programInterface" type="GLenum"/>
+        <param name="name" type="const GLchar *"/>
+        <return type="GLint"/>
+    </function>
+
+</category>
+
+<category name="GL_EXT_clip_control" number="290">
+
+    <enum name="LOWER_LEFT_EXT" value = "0x8CA1"/>
+    <enum name="UPPER_LEFT_EXT" value = "0x8CA2"/>
+
+    <enum name="NEGATIVE_ONE_TO_ONE_EXT" value = "0x935E"/>
+    <enum name="ZERO_TO_ONE_EXT" value = "0x935F"/>
+
+    <enum name="CLIP_ORIGIN_EXT" value = "0x935C"/>
+    <enum name="CLIP_DEPTH_MODE_EXT" value = "0x935D"/>
+
+    <function name="ClipControlEXT" no_error="true" es2="2.0" alias="ClipControl">
+        <param name="origin" type="GLenum"/>
+        <param name="depth" type="GLenum"/>
+    </function>
+
+</category>
+
+<category name="GL_OES_copy_image" number="208">
+
+    <function name="CopyImageSubDataOES" alias="CopyImageSubData" es2="3.0">
+        <param name="srcName" type="GLuint"/>
+        <param name="srcTarget" type="GLenum"/>
+        <param name="srcLevel" type="GLint"/>
+        <param name="srcX" type="GLint"/>
+        <param name="srcY" type="GLint"/>
+        <param name="srcZ" type="GLint"/>
+        <param name="dstName" type="GLuint"/>
+        <param name="dstTarget" type="GLenum"/>
+        <param name="dstLevel" type="GLint"/>
+        <param name="dstX" type="GLint"/>
+        <param name="dstY" type="GLint"/>
+        <param name="dstZ" type="GLint"/>
+        <param name="srcWidth" type="GLsizei"/>
+        <param name="srcHeight" type="GLsizei"/>
+        <param name="srcDepth" type="GLsizei"/>
+    </function>
+
+</category>
+
+<!-- 175. GL_OES_geometry_shader -->
+<category name="GL_OES_geometry_shader" number="210">
+    <enum name="GEOMETRY_SHADER_OES"                             value="0x8DD9"/>
+    <enum name="GEOMETRY_SHADER_BIT_OES"                         value="0x00000004"/>
+    <enum name="GEOMETRY_LINKED_VERTICES_OUT_OES"                value="0x8916"/>
+    <enum name="GEOMETRY_LINKED_INPUT_TYPE_OES"                  value="0x8917"/>
+    <enum name="GEOMETRY_LINKED_OUTPUT_TYPE_OES"                 value="0x8918"/>
+    <enum name="GEOMETRY_SHADER_INVOCATIONS_OES"                 value="0x887F"/>
+    <enum name="LAYER_PROVOKING_VERTEX_OES"                      value="0x825E"/>
+    <enum name="MAX_GEOMETRY_UNIFORM_BLOCKS_OES"                 value="0x8A2C"/>
+    <enum name="MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES"    value="0x8A32"/>
+    <enum name="MAX_GEOMETRY_INPUT_COMPONENTS_OES"               value="0x9123"/>
+    <enum name="MAX_GEOMETRY_OUTPUT_COMPONENTS_OES"              value="0x9124"/>
+    <enum name="MAX_GEOMETRY_OUTPUT_VERTICES_OES"                value="0x8DE0"/>
+    <enum name="MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES"        value="0x8DE1"/>
+    <enum name="MAX_GEOMETRY_SHADER_INVOCATIONS_OES"             value="0x8E5A"/>
+    <enum name="MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES"            value="0x8C29"/>
+    <enum name="MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES"         value="0x92CF"/>
+    <enum name="MAX_GEOMETRY_ATOMIC_COUNTERS_OES"                value="0x92D5"/>
+    <enum name="MAX_GEOMETRY_IMAGE_UNIFORMS_OES"                 value="0x90CD"/>
+    <enum name="MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES"          value="0x90D7"/>
+    <enum name="FIRST_VERTEX_CONVENTION_OES"                     value="0x8E4D"/>
+    <enum name="LAST_VERTEX_CONVENTION_OES"                      value="0x8E4E"/>
+    <enum name="UNDEFINED_VERTEX_OES"                            value="0x8260"/>
+    <enum name="PRIMITIVES_GENERATED_OES"                        value="0x8C87"/>
+    <enum name="LINES_ADJACENCY_OES"                             value="0xA"/>
+    <enum name="LINE_STRIP_ADJACENCY_OES"                        value="0xB"/>
+    <enum name="TRIANGLES_ADJACENCY_OES"                         value="0xC"/>
+    <enum name="TRIANGLE_STRIP_ADJACENCY_OES"                    value="0xD"/>
+    <enum name="FRAMEBUFFER_DEFAULT_LAYERS_OES"                  value="0x9312"/>
+    <enum name="MAX_FRAMEBUFFER_LAYERS_OES"                      value="0x9317"/>
+    <enum name="FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES"        value="0x8DA8"/>
+    <enum name="FRAMEBUFFER_ATTACHMENT_LAYERED_OES"              value="0x8DA7"/>
+    <enum name="REFERENCED_BY_GEOMETRY_SHADER_OES"               value="0x9309"/>
+
+    <function name="FramebufferTextureOES" alias="FramebufferTexture" es2="3.1">
+        <param name="target" type="GLenum"/>
+        <param name="attachment" type="GLenum"/>
+        <param name="texture" type="GLuint"/>
+        <param name="level" type="GLint"/>
+    </function>
+</category>
+
+<category name="GL_OES_texture_border_clamp" number="215">
+
+    <enum name="TEXTURE_BORDER_COLOR_OES" value ="0x1004"/>
+    <enum name="CLAMP_TO_BORDER_OES"      value="0x812D"/>
+
+    <function name="TexParameterIivOES" es2="3.0" alias="TexParameterIiv">
+        <param name="target" type="GLenum"/>
+        <param name="pname"  type="GLenum"/>
+        <param name="params" type="const GLint *"/>
+    </function>
+
+    <function name="TexParameterIuivOES" es2="3.0" alias="TexParameterIuiv">
+        <param name="target" type="GLenum"/>
+        <param name="pname"  type="GLenum"/>
+        <param name="params" type="const GLuint *"/>
+    </function>
+
+    <function name="GetTexParameterIivOES" es2="3.0" alias="GetTexParameterIiv">
+        <param name="target" type="GLenum"/>
+        <param name="pname"  type="GLenum"/>
+        <param name="params" type="GLint *"/>
+    </function>
+
+    <function name="GetTexParameterIuivOES" es2="3.0" alias="GetTexParameterIuiv">
+        <param name="target" type="GLenum"/>
+        <param name="pname"  type="GLenum"/>
+        <param name="params" type="GLuint *"/>
+    </function>
+
+    <function name="SamplerParameterIivOES" es2="3.0" alias="SamplerParameterIiv">
+      <param name="sampler" type="GLuint"/>
+      <param name="pname" type="GLenum"/>
+      <param name="params" type="const GLint *"/>
+    </function>
+
+    <function name="SamplerParameterIuivOES" es2="3.0" alias="SamplerParameterIuiv">
+      <param name="sampler" type="GLuint"/>
+      <param name="pname" type="GLenum"/>
+      <param name="params" type="const GLuint *"/>
+    </function>
+
+    <function name="GetSamplerParameterIivOES" es2="3.0" alias="GetSamplerParameterIiv">
+      <param name="sampler" type="GLuint"/>
+      <param name="pname" type="GLenum"/>
+      <param name="params" type="GLint *"/>
+    </function>
+
+    <function name="GetSamplerParameterIuivOES" es2="3.0" alias="GetSamplerParameterIuiv">
+      <param name="sampler" type="GLuint"/>
+      <param name="pname" type="GLenum"/>
+      <param name="params" type="GLuint *"/>
+    </function>
+
+</category>
+
+<category name="GL_OES_viewport_array" number="267">
+    <function name="ViewportArrayvOES" es2="3.1" alias="ViewportArrayv">
+        <param name="first" type="GLuint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="v" type="const GLfloat *"/>
+    </function>
+    <function name="ViewportIndexedfOES" es2="3.1" alias="ViewportIndexedf">
+        <param name="index" type="GLuint"/>
+        <param name="x" type="GLfloat"/>
+        <param name="y" type="GLfloat"/>
+        <param name="w" type="GLfloat"/>
+        <param name="h" type="GLfloat"/>
+    </function>
+    <function name="ViewportIndexedfvOES" es2="3.1" alias="ViewportIndexedfv">
+        <param name="index" type="GLuint"/>
+        <param name="v" type="const GLfloat *"/>
+    </function>
+    <function name="ScissorArrayvOES" es2="3.1" alias="ScissorArrayv">
+        <param name="first" type="GLuint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="v" type="const int *"/>
+    </function>
+    <function name="ScissorIndexedOES" es2="3.1" alias="ScissorIndexed">
+        <param name="index" type="GLuint"/>
+        <param name="left" type="GLint"/>
+        <param name="bottom" type="GLint"/>
+        <param name="width" type="GLsizei"/>
+        <param name="height" type="GLsizei"/>
+    </function>
+    <function name="ScissorIndexedvOES" es2="3.1" alias="ScissorIndexedv">
+        <param name="index" type="GLuint"/>
+        <param name="v" type="const GLint *"/>
+    </function>
+    <function name="DepthRangeArrayfvOES" es2="3.1" desktop="false">
+        <param name="first" type="GLuint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="v" type="const GLfloat *" count="(2 * count)"/>
+    </function>
+    <function name="DepthRangeIndexedfOES" es2="3.1" desktop="false">
+        <param name="index" type="GLuint"/>
+        <param name="n" type="GLfloat"/>
+        <param name="f" type="GLfloat"/>
+    </function>
+    <function name="GetFloati_vOES" es2="3.1" alias="GetFloati_v">
+        <param name="target" type="GLenum"/>
+        <param name="index" type="GLuint"/>
+        <param name="data" type="GLfloat *"/>
+    </function>
+</category>
+
+<!-- 218. GL_OES_texture_view -->
+
+<category name="GL_OES_texture_view" number="218">
+    <function name="TextureViewOES" es2="3.1" alias="TextureView">
+        <param name="texture" type="GLuint"/>
+        <param name="target" type="GLenum"/>
+        <param name="origtexture" type="GLuint"/>
+        <param name="internalformat" type="GLenum"/>
+        <param name="minlevel" type="GLuint"/>
+        <param name="numlevels" type="GLuint"/>
+        <param name="minlayer" type="GLuint"/>
+        <param name="numlayers" type="GLuint"/>
+   </function>
+</category>
+
+<category name="GL_EXT_texture_view" number="185">
+    <function name="TextureViewEXT" es2="3.1" alias="TextureView">
+        <param name="texture" type="GLuint"/>
+        <param name="target" type="GLenum"/>
+        <param name="origtexture" type="GLuint"/>
+        <param name="internalformat" type="GLenum"/>
+        <param name="minlevel" type="GLuint"/>
+        <param name="numlevels" type="GLuint"/>
+        <param name="minlayer" type="GLuint"/>
+        <param name="numlayers" type="GLuint"/>
+   </function>
+</category>
+
+<!-- 302. GL_MESA_framebuffer_flip_y -->
+<category name="GL_MESA_framebuffer_flip_y" number="302">
+   <enum name="GL_FRAMEBUFFER_FLIP_Y_MESA" value="0x8BBB"/>
+   <function name="FramebufferParameteriMESA" es2="3.0">
+       <param name="target" type="GLenum"/>
+       <param name="pname"  type="GLenum"/>
+       <param name="param"  type="GLint" />
+   </function>
+   <function name="GetFramebufferParameterivMESA" es2="3.0">
+       <param name="target" type="GLenum" />
+       <param name="pname"  type="GLenum" />
+       <param name="params" type="GLint *" output="true" />
+   </function>
+</category>
+
 </OpenGLAPI>