Add support for GL_MESA_shader_debug.
[mesa.git] / src / mesa / glapi / gl_API.xml
index baca5a43521b29f3c33aa4a78eed8866fb714667..d5e299add9814a16c21f514de39c3b9a29a62157 100644 (file)
@@ -1,126 +1,5 @@
 <?xml version="1.0"?>
-<!DOCTYPE OpenGLAPI [
-<!ELEMENT OpenGLAPI (category+)>
-<!ELEMENT category (type*, enum*, function*)*>
-<!ELEMENT type EMPTY>
-<!ELEMENT enum (size*)>
-<!ELEMENT size EMPTY>
-<!ELEMENT function (param*, return?, glx?)*>
-<!ELEMENT param EMPTY>
-<!ELEMENT return EMPTY>
-<!ELEMENT glx EMPTY>
-
-<!ATTLIST category name                NMTOKEN #REQUIRED
-                   number              NMTOKEN #IMPLIED>
-<!ATTLIST type     name                NMTOKEN #REQUIRED
-                   size                NMTOKEN #REQUIRED
-                   glx_name            NMTOKEN #IMPLIED>
-<!ATTLIST enum     name                NMTOKEN #REQUIRED
-                   count               CDATA   #IMPLIED
-                   value               NMTOKEN #REQUIRED>
-<!ATTLIST function name                NMTOKEN #REQUIRED
-                   alias               NMTOKEN #IMPLIED
-                   offset              CDATA   #IMPLIED
-                   vectorequiv         NMTOKEN #IMPLIED>
-<!ATTLIST size     name                NMTOKEN #REQUIRED
-                   count               NMTOKEN #IMPLIED
-                   mode                NMTOKEN #IMPLIED>
-<!ATTLIST param    name                NMTOKEN #REQUIRED
-                   type                CDATA   #REQUIRED
-                   count               NMTOKEN #IMPLIED
-                   counter             (true | false) "false"
-                   count_scale         NMTOKEN #IMPLIED
-                   output              (true | false) "false"
-                   img_width           NMTOKEN #IMPLIED
-                   img_height          NMTOKEN #IMPLIED
-                   img_depth           NMTOKEN #IMPLIED
-                   img_extent          NMTOKEN #IMPLIED
-                   img_xoff            NMTOKEN #IMPLIED
-                   img_yoff            NMTOKEN #IMPLIED
-                   img_zoff            NMTOKEN #IMPLIED
-                   img_woff            NMTOKEN #IMPLIED
-                   img_format          NMTOKEN #IMPLIED
-                   img_type            NMTOKEN #IMPLIED
-                   img_target          NMTOKEN #IMPLIED
-                   img_send_null       (true | false) "false"
-                   img_null_flag       (true | false) "false"
-                   img_pad_dimensions  (true | false) "false"
-                   variable_param      CDATA   #IMPLIED>
-<!ATTLIST return   type                CDATA   "void">
-<!ATTLIST glx      rop                 NMTOKEN #IMPLIED
-                   sop                 NMTOKEN #IMPLIED
-                   vendorpriv          NMTOKEN #IMPLIED
-                   large               (true | false) "false"
-                   doubles_in_order    (true | false) "false"
-                   always_array        (true | false) "false"
-                   handcode            (true | false | client | server) "false"
-                   img_reset           NMTOKEN #IMPLIED
-                   dimensions_in_reply (true | false) "false"
-                   ignore              (true | false) "false">
-]>
-
-<!--
-The various attributes for param and glx have the meanings listed below.
-When adding new functions, please annote them correctly.  In most cases this
-will just mean adding a '<glx ignore="true"/>' tag.
-
-param:
-     name - name of the parameter
-     type - fully qualified type (e.g., with "const", etc.)
-     count - for counted arrays (e.g., the 'lists' parameter to glCallLists),
-         the parameter or literal that represents the count.  For functions
-         like glVertex3fv it will be a litteral, for others it will be one of
-         the parameters.
-     counter - this parameter is a counter that will be referenced by the
-         'count' attribute in another parameter.
-     count_scale - literal value scale factor for the 'count' attribute.
-         See ProgramParameters4dvNV for an example.
-     output - this parameter is used to store the output of the function.
-     variable_param - name of parameter used to determine the number of
-         elements referenced by this parameter.  This should be the name of a
-         single enum parameter.  Most of the gl*Parameter[if]v functions use
-         this.  Additionally, the enums that can be passed should be properly
-         annotated.
-     img_width / img_height / img_depth / img_extent - name of parameters
-         (or hardcoded integer) used for the dimensions of pixel data.
-     img_xoff / img_yoff / img_zoff / img_woff - name of parameters used
-         for x, y, z, and w offsets of pixel data.
-     img_format - name of parameter used as the pixel data format.
-     img_type - name of parameter used as the pixel data type.
-     img_target - name of parameter used as a texture target.  Non-texture
-        pixel data should hardcode 0.
-     img_send_null - boolean flag to determine if blank pixel data should
-        be sent when a NULL pointer is passed.  This is only used by
-        TexImage1D and TexImage2D.
-     img_null_flag - boolean flag to determine if an extra flag is used to
-        determine if a NULL pixel pointer was passed.  This is used by
-        TexSubImage1D, TexSubImage2D, TexImage3D and others.
-     img_pad_dimensions - boolean flag to determine if dimension data and
-        offset data should be padded to the next even number of dimensions.
-        For example, this will insert an empty "height" field after the
-        "width" field in the protocol for TexImage1D.
-
-glx:
-     rop - Opcode value for "render" commands
-     sop - Opcode value for "single" commands
-     vendorpriv - Opcode value for vendor private (or vendor private with
-         reply) commands
-     large - set to "true" of the render command can use RenderLarge protocol.
-     doubles_in_order - older commands always put GLdouble data at the
-         start of the render packet.  Newer commands (e.g., 
-         ProgramEnvParameter4dvARB) put the in the order that they appear
-         in the parameter list.
-     always_array - some single commands take reply data as an array or as
-         return value data (e.g., glGetLightfv).  Other single commands take
-         reply data only as an array (e.g., glGetClipPlane).
-     handcode - some functions are just too complicated to generate 
-         (e.g., glSeperableFilter2D) or operate only on client-side data
-         (e.g., glVertexPointer) and must be handcoded.
-     ignore - some functions have an entry in the dispatch table, but aren't
-         suitable for protocol implementation (e.g., glLockArraysEXT).  This
-         also applies to functions that don't have any GLX protocol specified
-         (e.g., glGetFogFuncSGIS).
--->
+<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
 
 <OpenGLAPI>
 
@@ -1199,26 +1078,26 @@ glx:
     <enum name="SCISSOR_BIT"                              value="0x00080000"/>
     <enum name="ALL_ATTRIB_BITS"                          value="0x000FFFFF"/>
 
-    <type name="double"  size="8"  glx_name="FLOAT64"/>
-    <type name="clampd"  size="8"  glx_name="FLOAT64"/>
+    <type name="double"  size="8"  float="true"    glx_name="FLOAT64"/>
+    <type name="clampd"  size="8"  float="true"    glx_name="FLOAT64"/>
 
-    <type name="float"   size="4"  glx_name="FLOAT32"/>
-    <type name="clampf"  size="4"  glx_name="FLOAT32"/>
+    <type name="float"   size="4"  float="true"    glx_name="FLOAT32"/>
+    <type name="clampf"  size="4"  float="true"    glx_name="FLOAT32"/>
 
-    <type name="int"     size="4"  glx_name="CARD32"/>
-    <type name="uint"    size="4"  glx_name="CARD32"/>
-    <type name="sizei"   size="4"  glx_name="CARD32"/>
-    <type name="enum"    size="4"  glx_name="ENUM"/>
-    <type name="bitfield" size="4" glx_name="CARD32"/>
+    <type name="int"     size="4"                  glx_name="CARD32"/>
+    <type name="uint"    size="4"  unsigned="true" glx_name="CARD32"/>
+    <type name="sizei"   size="4"  unsigned="true" glx_name="CARD32"/>
+    <type name="enum"    size="4"  unsigned="true" glx_name="ENUM"/>
+    <type name="bitfield" size="4" unsigned="true" glx_name="CARD32"/>
 
-    <type name="short"   size="2"  glx_name="CARD16"/>
-    <type name="ushort"  size="2"  glx_name="CARD16"/>
+    <type name="short"   size="2"                  glx_name="CARD16"/>
+    <type name="ushort"  size="2"  unsigned="true" glx_name="CARD16"/>
 
-    <type name="byte"    size="1"  glx_name="CARD8"/>
-    <type name="ubyte"   size="1"  glx_name="CARD8"/>
-    <type name="boolean" size="1"  glx_name="CARD8"/>
+    <type name="byte"    size="1"                  glx_name="CARD8"/>
+    <type name="ubyte"   size="1"  unsigned="true" glx_name="CARD8"/>
+    <type name="boolean" size="1"  unsigned="true" glx_name="CARD8"/>
     
-    <type name="void"    size="0"/>
+    <type name="void"    size="1"/>
 
     <function name="NewList" offset="0">
         <param name="list" type="GLuint"/>
@@ -2801,21 +2680,21 @@ glx:
     <function name="GetMapdv" offset="266">
         <param name="target" type="GLenum"/>
         <param name="query" type="GLenum"/>
-        <param name="v" type="GLdouble *" output="true" variable_param="target, query"/>
+        <param name="v" type="GLdouble *" output="true" variable_param="target query"/>
         <glx sop="120"/>
     </function>
 
     <function name="GetMapfv" offset="267">
         <param name="target" type="GLenum"/>
         <param name="query" type="GLenum"/>
-        <param name="v" type="GLfloat *" output="true" variable_param="target, query"/>
+        <param name="v" type="GLfloat *" output="true" variable_param="target query"/>
         <glx sop="121"/>
     </function>
 
     <function name="GetMapiv" offset="268">
         <param name="target" type="GLenum"/>
         <param name="query" type="GLenum"/>
-        <param name="v" type="GLint *" output="true" variable_param="target, query"/>
+        <param name="v" type="GLint *" output="true" variable_param="target query"/>
         <glx sop="122"/>
     </function>
 
@@ -4236,7 +4115,7 @@ glx:
     <enum name="NUM_COMPRESSED_TEXTURE_FORMATS" count="1" value="0x86A2">
         <size name="Get" mode="get"/>
     </enum>
-    <enum name="COMPRESSED_TEXTURE_FORMATS"    count="?"  value="0x86A3">
+    <enum name="COMPRESSED_TEXTURE_FORMATS"    count="-1"  value="0x86A3">
         <size name="Get" mode="get"/>
     </enum>
     <enum name="CLAMP_TO_BORDER"                          value="0x812D"/>
@@ -5005,7 +4884,7 @@ glx:
     <enum name="DYNAMIC_READ"                             value="0x88E9"/>
     <enum name="DYNAMIC_COPY"                             value="0x88EA"/>
     <enum name="SAMPLES_PASSED"                count="1"  value="0x8914"/>
-    <enum name="FOG_COORD_SOURCE"                         value="0x8450">
+    <enum name="FOG_COORD_SRC"                            value="0x8450">
         <size name="Get" mode="get"/>
     </enum>
     <enum name="FOG_COORD"                                value="0x8451"/>
@@ -5030,8 +4909,8 @@ glx:
     <enum name="SRC1_ALPHA"                               value="0x8589"/>
     <enum name="SRC2_ALPHA"                               value="0x858A"/>
 
-    <type name="intptr"   size="4"  glx_name="CARD32"/>
-    <type name="sizeiptr" size="4"  glx_name="CARD32"/>
+    <type name="intptr"   size="4"                  glx_name="CARD32"/>
+    <type name="sizeiptr" size="4"  unsigned="true" glx_name="CARD32"/>
 
     <function name="BindBuffer" alias="BindBufferARB">
         <param name="target" type="GLenum"/>
@@ -5040,15 +4919,15 @@ glx:
 
     <function name="BufferData" alias="BufferDataARB">
         <param name="target" type="GLenum"/>
-        <param name="size" type="GLsizeiptrARB"/>
+        <param name="size" type="GLsizeiptr"/>
         <param name="data" type="const GLvoid *"/>
         <param name="usage" type="GLenum"/>
     </function>
 
     <function name="BufferSubData" alias="BufferSubDataARB">
         <param name="target" type="GLenum"/>
-        <param name="offset" type="GLintptrARB"/>
-        <param name="size" type="GLsizeiptrARB"/>
+        <param name="offset" type="GLintptr"/>
+        <param name="size" type="GLsizeiptr"/>
         <param name="data" type="const GLvoid *"/>
     </function>
 
@@ -5076,8 +4955,8 @@ glx:
 
     <function name="GetBufferSubData" alias="GetBufferSubDataARB">
         <param name="target" type="GLenum"/>
-        <param name="offset" type="GLintptrARB"/>
-        <param name="size" type="GLsizeiptrARB"/>
+        <param name="offset" type="GLintptr"/>
+        <param name="size" type="GLsizeiptr"/>
         <param name="data" type="GLvoid *" output="true"/>
     </function>
 
@@ -6009,19 +5888,19 @@ glx:
     </function>
 
     <function name="WindowPos2dvARB" alias="WindowPos2dvMESA">
-        <param name="p" type="const GLdouble *"/>
+        <param name="v" type="const GLdouble *"/>
     </function>
 
     <function name="WindowPos2fvARB" alias="WindowPos2fvMESA">
-        <param name="p" type="const GLfloat *"/>
+        <param name="v" type="const GLfloat *"/>
     </function>
 
     <function name="WindowPos2ivARB" alias="WindowPos2ivMESA">
-        <param name="p" type="const GLint *"/>
+        <param name="v" type="const GLint *"/>
     </function>
 
     <function name="WindowPos2svARB" alias="WindowPos2svMESA">
-        <param name="p" type="const GLshort *"/>
+        <param name="v" type="const GLshort *"/>
     </function>
 
     <function name="WindowPos3dARB" alias="WindowPos3dMESA">
@@ -6049,19 +5928,19 @@ glx:
     </function>
 
     <function name="WindowPos3dvARB" alias="WindowPos3dvMESA">
-        <param name="p" type="const GLdouble *"/>
+        <param name="v" type="const GLdouble *"/>
     </function>
 
     <function name="WindowPos3fvARB" alias="WindowPos3fvMESA">
-        <param name="p" type="const GLfloat *"/>
+        <param name="v" type="const GLfloat *"/>
     </function>
 
     <function name="WindowPos3ivARB" alias="WindowPos3ivMESA">
-        <param name="p" type="const GLint *"/>
+        <param name="v" type="const GLint *"/>
     </function>
 
     <function name="WindowPos3svARB" alias="WindowPos3svMESA">
-        <param name="p" type="const GLshort *"/>
+        <param name="v" type="const GLshort *"/>
     </function>
 </category>
 
@@ -6743,8 +6622,8 @@ glx:
     <enum name="DYNAMIC_READ_ARB"                         value="0x88E9"/>
     <enum name="DYNAMIC_COPY_ARB"                         value="0x88EA"/>
 
-    <type name="intptrARB" size="4"/>
-    <type name="sizeiptrARB" size="4"/>
+    <type name="intptrARB"                   size="4"/>
+    <type name="sizeiptrARB" unsigned="true" size="4"/>
 
     <function name="BindBufferARB" offset="688">
         <param name="target" type="GLenum"/>
@@ -6842,7 +6721,7 @@ glx:
     <function name="GenQueriesARB" offset="700">
         <param name="n" type="GLsizei" counter="true"/>
         <param name="ids" type="GLuint *" output="true" count="n"/>
-        <glx sop="162"/>
+        <glx sop="162" always_array="true"/>
     </function>
 
     <function name="DeleteQueriesARB" offset="701">
@@ -8533,7 +8412,7 @@ glx:
 
     <function name="ColorTableEXT" alias="ColorTable">
         <param name="target" type="GLenum"/>
-        <param name="internalFormat" type="GLenum"/>
+        <param name="internalformat" type="GLenum"/>
         <param name="width" type="GLsizei"/>
         <param name="format" type="GLenum"/>
         <param name="type" type="GLenum"/>
@@ -10548,13 +10427,13 @@ glx:
 
     <function name="BindProgramNV" offset="579">
         <param name="target" type="GLenum"/>
-        <param name="id" type="GLuint"/>
+        <param name="program" type="GLuint"/>
         <glx rop="4180"/>
     </function>
 
     <function name="DeleteProgramsNV" offset="580">
         <param name="n" type="GLsizei" counter="true"/>
-        <param name="ids" type="const GLuint *" count="n"/>
+        <param name="programs" type="const GLuint *" count="n"/>
         <glx vendorpriv="1294"/>
     </function>
 
@@ -10567,9 +10446,9 @@ glx:
 
     <function name="GenProgramsNV" offset="582">
         <param name="n" type="GLsizei" counter="true"/>
-        <param name="ids" type="GLuint *" output="true" count="n"/>
-        <glx vendorpriv="1295"/>
-    </function>
+        <param name="programs" type="GLuint *" output="true" count="n"/>
+        <glx vendorpriv="1295" always_array="true"/>
+     </function>
 
     <!-- This isn't 100% correct.  Currently, the only valid value of pname
          is GL_PROGRAM_PARAMETER_NV, and the count for that pname is always
@@ -10639,12 +10518,12 @@ glx:
     <function name="GetVertexAttribPointervNV" offset="591">
         <param name="index" type="GLuint"/>
         <param name="pname" type="GLenum"/>
-        <param name="pointer" type="GLvoid **" output="true"/>
+        <param name="params" type="GLvoid **" output="true"/>
         <glx handcode="true"/>
     </function>
 
     <function name="IsProgramNV" offset="592">
-        <param name="id" type="GLuint"/>
+        <param name="program" type="GLuint"/>
         <return type="GLboolean"/>
         <glx vendorpriv="1304"/>
     </function>
@@ -11213,7 +11092,7 @@ glx:
 
     <function name="PointParameteriNV" offset="642">
         <param name="pname" type="GLenum"/>
-        <param name="params" type="GLint"/>
+        <param name="param" type="GLint"/>
         <glx rop="4221"/>
     </function>
 
@@ -11231,7 +11110,7 @@ glx:
     <!-- No new functions, types, enums. -->
 </category>
 
-<category name="EXT_stencil_two_side" number="268">
+<category name="GL_EXT_stencil_two_side" number="268">
     <enum name="STENCIL_TEST_TWO_SIDE_EXT"     count="1"  value="0x8910">
         <size name="Get" mode="get"/>
     </enum>
@@ -11245,6 +11124,8 @@ glx:
     </function>
 </category>
 
+<xi:include href="APPLE_vertex_array_object.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
 <category name="GL_APPLE_ycbcr_422" number="275">
     <enum name="YCBCR_422_APPLE"                          value="0x85B9"/>
     <enum name="UNSIGNED_SHORT_8_8_APPLE"                 value="0x85BA"/>
@@ -11499,158 +11380,7 @@ glx:
     <enum name="MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB" count="1" value="0x8B4C"/>
 </category>
 
-<category name="GL_EXT_framebuffer_object" number="310">
-    <enum name="FRAMEBUFFER_EXT" value="0x8D40"/>
-    <enum name="RENDERBUFFER_EXT" value="0x8D41"/>
-    <enum name="STENCIL_INDEX_EXT" value="0x8D45"/>
-    <enum name="STENCIL_INDEX1_EXT" value="0x8D46"/>
-    <enum name="STENCIL_INDEX4_EXT" value="0x8D47"/>
-    <enum name="STENCIL_INDEX8_EXT" value="0x8D48"/>
-    <enum name="STENCIL_INDEX16_EXT" value="0x8D49"/>
-    <enum name="RENDERBUFFER_WIDTH_EXT" value="0x8D42"/>
-    <enum name="RENDERBUFFER_HEIGHT_EXT" value="0x8D43"/>
-    <enum name="RENDERBUFFER_INTERNAL_FORMAT_EXT" value="0x8D44"/>
-    <enum name="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT" value="0x8CD0"/>
-    <enum name="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT" value="0x8CD1"/>
-    <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT" value="0x8CD2"/>
-    <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT" value="0x8CD3"/>
-    <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT" value="0x8CD4"/>
-    <enum name="COLOR_ATTACHMENT0_EXT" value="0x8CE0"/>
-    <enum name="COLOR_ATTACHMENT1_EXT" value="0x8CE1"/>
-    <enum name="COLOR_ATTACHMENT2_EXT" value="0x8CE2"/>
-    <enum name="COLOR_ATTACHMENT3_EXT" value="0x8CE3"/>
-    <enum name="COLOR_ATTACHMENT4_EXT" value="0x8CE4"/>
-    <enum name="COLOR_ATTACHMENT5_EXT" value="0x8CE5"/>
-    <enum name="COLOR_ATTACHMENT6_EXT" value="0x8CE6"/>
-    <enum name="COLOR_ATTACHMENT7_EXT" value="0x8CE7"/>
-    <enum name="COLOR_ATTACHMENT8_EXT" value="0x8CE8"/>
-    <enum name="COLOR_ATTACHMENT9_EXT" value="0x8CE9"/>
-    <enum name="COLOR_ATTACHMENT10_EXT" value="0x8CEA"/>
-    <enum name="COLOR_ATTACHMENT11_EXT" value="0x8CEB"/>
-    <enum name="COLOR_ATTACHMENT12_EXT" value="0x8CEC"/>
-    <enum name="COLOR_ATTACHMENT13_EXT" value="0x8CED"/>
-    <enum name="COLOR_ATTACHMENT14_EXT" value="0x8CEE"/>
-    <enum name="COLOR_ATTACHMENT15_EXT" value="0x8CEF"/>
-    <enum name="DEPTH_ATTACHMENT_EXT" value="0x8D00"/>
-    <enum name="STENCIL_ATTACHMENT_EXT" value="0x8D20"/>
-    <enum name="FRAMEBUFFER_COMPLETE_EXT" value="0x8CD5"/>
-    <enum name="FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT" value="0x8CD6"/>
-    <enum name="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT" value="0x8CD7"/>
-    <enum name="FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT" value="0x8CD8"/>
-    <enum name="FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT" value="0x8CD9"/>
-    <enum name="FRAMEBUFFER_INCOMPLETE_FORMATS_EXT" value="0x8CDA"/>
-    <enum name="FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT" value="0x8CDB"/>
-    <enum name="FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT" value="0x8CDC"/>
-    <enum name="FRAMEBUFFER_UNSUPPORTED_EXT" value="0x8CDD"/>
-    <enum name="FRAMEBUFFER_STATUS_ERROR_EXT" value="0x8CDE"/>
-    <enum name="FRAMEBUFFER_BINDING_EXT" value="0x8CA6"/>
-    <enum name="RENDERBUFFER_BINDING_EXT" value="0x8CA7"/>
-    <enum name="MAX_COLOR_ATTACHMENTS_EXT" value="0x8CDF"/>
-    <enum name="MAX_RENDERBUFFER_SIZE_EXT" value="0x84E8"/>
-    <enum name="INVALID_FRAMEBUFFER_OPERATION_EXT" value="0x0506"/>
-
-    <function name="IsRenderbufferEXT" offset="796">
-      <param name="renderbuffer" type="GLuint"/>
-      <return type="GLboolean"/>
-    </function>
-
-    <function name="BindRenderbufferEXT" offset="797">
-      <param name="target" type="GLenum"/>
-      <param name="renderbuffer" type="GLuint"/>
-    </function>
-
-    <function name="DeleteRenderbuffersEXT" offset="798">
-      <param name="n" type="GLsizei"/>
-      <param name="renderbuffers" type="const GLuint *"/>
-    </function>
-
-    <function name="GenRenderbuffersEXT" offset="799">
-      <param name="n" type="GLsizei"/>
-      <param name="renderbuffers" type="GLuint *"/>
-    </function>
-
-    <function name="RenderbufferStorageEXT" offset="800">
-      <param name="target" type="GLenum"/>
-      <param name="internalformat" type="GLenum"/>
-      <param name="width" type="GLsizei"/>
-      <param name="height" type="GLsizei"/>
-    </function>
-
-    <function name="GetRenderbufferParameterivEXT" offset="801">
-      <param name="target" type="GLenum"/>
-      <param name="pname" type="GLenum"/>
-      <param name="params" type="GLint *"/>
-    </function>
-
-    <function name="IsFramebufferEXT" offset="802">
-      <param name="framebuffer" type="GLuint"/>
-      <return type="GLboolean"/>
-    </function>
-
-    <function name="BindFramebufferEXT" offset="803">
-      <param name="target" type="GLenum"/>
-      <param name="framebuffer" type="GLuint"/>
-    </function>
-
-    <function name="DeleteFramebuffersEXT" offset="804">
-      <param name="n" type="GLsizei"/>
-      <param name="framebuffers" type="const GLuint *"/>
-    </function>
-
-    <function name="GenFramebuffersEXT" offset="805">
-      <param name="n" type="GLsizei"/>
-      <param name="framebuffers" type="GLuint *"/>
-    </function>
-
-    <function name="CheckFramebufferStatusEXT" offset="806">
-      <param name="target" type="GLenum"/>
-      <return type="GLenum"/>
-    </function>
-
-    <function name="FramebufferTexture1DEXT" offset="807">
-      <param name="target" type="GLenum"/>
-      <param name="attachment" type="GLenum"/>
-      <param name="textarget" type="GLenum"/>
-      <param name="texture" type="GLuint"/>
-      <param name="level" type="GLint"/>
-    </function>
-
-    <function name="FramebufferTexture2DEXT" offset="808">
-      <param name="target" type="GLenum"/>
-      <param name="attachment" type="GLenum"/>
-      <param name="textarget" type="GLenum"/>
-      <param name="texture" type="GLuint"/>
-      <param name="level" type="GLint"/>
-    </function>
-
-    <function name="FramebufferTexture3DEXT" offset="809">
-      <param name="target" type="GLenum"/>
-      <param name="attachment" type="GLenum"/>
-      <param name="textarget" type="GLenum"/>
-      <param name="texture" type="GLuint"/>
-      <param name="level" type="GLint"/>
-      <param name="zoffsetl" type="GLint"/>
-    </function>
-
-    <function name="FramebufferRenderbufferEXT" offset="810">
-      <param name="target" type="GLenum"/>
-      <param name="attachment" type="GLenum"/>
-      <param name="renderbuffertarget" type="GLenum"/>
-      <param name="renderbuffer" type="GLuint"/>
-    </function>
-
-    <function name="GetFramebufferAttachmentParameterivEXT" offset="811">
-      <param name="target" type="GLenum"/>
-      <param name="attachment" type="GLenum"/>
-      <param name="pname" type="GLenum"/>
-      <param name="params" type="GLint *"/>
-    </function>
-
-    <function name="GenerateMipmapEXT" offset="812">
-      <param name="target" type="GLenum"/>
-    </function>
-</category>
-
+<xi:include href="EXT_framebuffer_object.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
 
 <!-- Extension number 307 is a GLX extension. -->
 <!-- Extension number 308 is a GLX extension. -->
@@ -11678,6 +11408,38 @@ glx:
     </function>
 </category>
 
+<category name="GL_MESA_shader_debug">
+    <enum name="DEBUG_OBJECT_MESA"                        value="0x8759"/>
+    <enum name="DEBUG_PRINT_MESA"                         value="0x875A"/>
+    <enum name="DEBUG_ASSERT_MESA"                        value="0x875B"/>
+    <function name="CreateDebugObjectMESA">
+        <return type="GLhandleARB"/>
+        <glx ignore="true"/>
+    </function>
+    <function name="ClearDebugLogMESA" offset="?">
+        <param name="obj" type="GLhandleARB"/>
+        <param name="logType" type="GLenum"/>
+        <param name="shaderType" type="GLenum"/>
+        <glx ignore="true"/>
+    </function>
+    <function name="GetDebugLogMESA" offset="?">
+        <param name="obj" type="GLhandleARB"/>
+        <param name="logType" type="GLenum"/>
+        <param name="shaderType" type="GLenum"/>
+        <param name="maxLength" type="GLsizei"/>
+        <param name="length" type="GLsizei *" output="true"/>
+        <param name="debugLog" type="GLcharARB *" output="true"/>
+        <glx ignore="true"/>
+    </function>
+    <function name="GetDebugLogLengthMESA" offset="?">
+        <return type="GLsizei"/>
+        <param name="obj" type="GLhandleARB"/>
+        <param name="logType" type="GLenum"/>
+        <param name="shaderType" type="GLenum"/>
+        <glx ignore="true"/>
+    </function>
+</category>
+
 <category name="GL_SGIS_point_parameters">
     <enum name="POINT_SIZE_MIN_SGIS"           count="1"  value="0x8126">
         <size name="PointParameterfvEXT"/>
@@ -11754,4 +11516,39 @@ glx:
     </function>
 </category>
 
+<category name="GL_EXT_timer_query" number="310">
+    <enum name="TIME_ELAPSED_EXT" value="0x88BF"/>
+    <type name="int64EXT"                  size="8"/>
+    <type name="uint64EXT" unsigned="true" size="8"/>
+    <function name="GetQueryObjecti64vEXT" offset="816">
+        <param name="id" type="GLuint"/>
+        <param name="pname" type="GLenum"/>
+        <param name="params" type="GLint64EXT *"/>
+    </function>
+    <function name="GetQueryObjectui64vEXT" offset="817">
+        <param name="id" type="GLuint"/>
+        <param name="pname" type="GLenum"/>
+        <param name="params" type="GLuint64EXT *"/>
+    </function>
+</category>
+
+<category name="GL_EXT_framebuffer_blit" number="316">
+    <enum name="READ_FRAMEBUFFER_EXT" value="0x8CA8"/>
+    <enum name="DRAW_FRAMEBUFFER_EXT" value="0x8CA9"/>
+    <enum name="DRAW_FRAMEBUFFER_BINDING_EXT" value="0x8CA6"/>
+    <enum name="READ_FRAMEBUFFER_BINDING_EXT" value="0x8CAA"/>
+    <function name="BlitFramebufferEXT" offset="818">
+        <param name="srcX0" type="GLint"/>
+        <param name="srcY0" type="GLint"/>
+        <param name="srcX1" type="GLint"/>
+        <param name="srcY1" type="GLint"/>
+        <param name="dstX0" type="GLint"/>
+        <param name="dstY0" type="GLint"/>
+        <param name="dstX1" type="GLint"/>
+        <param name="dstY1" type="GLint"/>
+        <param name="mask" type="GLbitfield"/>
+        <param name="filter" type="GLenum"/>
+    </function>
+</category>
+
 </OpenGLAPI>