diff options
author | Ian Romanick <idr@us.ibm.com> | 2004-12-02 00:01:12 +0000 |
---|---|---|
committer | Ian Romanick <idr@us.ibm.com> | 2004-12-02 00:01:12 +0000 |
commit | ba807fbe2914cf1135297428f7a3163707203073 (patch) | |
tree | 725d2260aa26c0a39aecec4c24ae375acb4dd308 /src/mesa/glapi | |
parent | 00d153eb726b6869ad9aa6a099c5ce31013d5535 (diff) |
Updated the schema. Added comments explaining some of the non-obvious
attributes. Modified a couple handcode functions to use the count_scale
attribute instead.
Diffstat (limited to 'src/mesa/glapi')
-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="?"> |