diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/mesa/glapi/gl_API.xml | 65 | 
1 files changed, 55 insertions, 10 deletions
diff --git a/src/mesa/glapi/gl_API.xml b/src/mesa/glapi/gl_API.xml index 4844df6839..bcd700a02c 100644 --- a/src/mesa/glapi/gl_API.xml +++ b/src/mesa/glapi/gl_API.xml @@ -21,10 +21,14 @@  <!ATTLIST param    name   CDATA #REQUIRED                     type   CDATA #REQUIRED                     count  CDATA #IMPLIED +                   counter  CDATA #IMPLIED +                   count_scale  CDATA #IMPLIED +                   output   CDATA #IMPLIED                     variable_param  CDATA #IMPLIED>  <!ATTLIST return   type     CDATA #REQUIRED>  <!ATTLIST glx      rop      CDATA #IMPLIED                     sop      CDATA #IMPLIED +                   vendorpriv  CDATA #IMPLIED                     large    CDATA #IMPLIED                     doubles_in_order CDATA #IMPLIED                     always_array CDATA #IMPLIED @@ -32,6 +36,51 @@                     ignore   CDATA #IMPLIED>  ]> +<!-- +The various attributes for param and glx have the meanings listed below. +When adding new functions, please annote them correct.  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. + +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., glTexImage2D) 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). +--> +  <OpenGLAPI>  <!-- Core versions sorted by version number. --> @@ -6579,13 +6628,9 @@  <category name="GL_SGIS_sharpen_texture" number="22">      <function name="SharpenTexFuncSGIS" offset="444">          <param name="target" type="GLenum"/> -        <param name="n" type="GLsizei"/> -        <param name="points" type="const GLfloat *"/> - -        <!-- This is hand coded because the number of array elements -             pointed to by 'points' is 2*n. -        --> -        <glx rop="2052" handcode="true" ignore="true"/> +        <param name="n" type="GLsizei" counter="true"/> +        <param name="points" type="const GLfloat *" counter="n" count_scale="2"/> +        <glx rop="2052" ignore="true"/>      </function>      <function name="GetSharpenTexFuncSGIS" offset="445"> @@ -6877,9 +6922,9 @@  <category name="GL_SGIS_fog_function" number="64">      <function name="FogFuncSGIS" offset="?"> -        <param name="n" type="GLsizei"/> -        <param name="points" type="const GLfloat *"/> -        <glx rop="2067" handcode="true"/> +        <param name="n" type="GLsizei" counter="true"/> +        <param name="points" type="const GLfloat *" counter="n" count_scale="2"/> +        <glx rop="2067" ignore="true"/>      </function>      <function name="GetFogFuncSGIS" offset="?">  | 
