119a81f1a4f10813eab1ce33509e17b22bf039ad
[free-sw/xcb/proto] / src / glx.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!--
3 Copyright (C) 2005 Jeremy Kolb.
4 All Rights Reserved.
5
6 Permission is hereby granted, free of charge, to any person ob/Sintaining a copy
7 of this software and associated documentation files (the "Software"), to deal
8 in the Software without restriction, including without limitation the rights
9 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 copies of the Software, and to permit persons to whom the Software is
11 furnished to do so, subject to the following conditions:
12
13 The above copyright notice and this permission notice shall be included in all
14 copies or substantial portions of the Software.
15
16 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20 ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
23 Except as contained in this notice, the names of the authors or their
24 institutions shall not be used in advertising or otherwise to promote the
25 sale, use or other dealings in this Software without prior written
26 authorization from the authors.
27 -->
28
29 <!--
30 Note that on X.org servers before 6.9 (and probably others as well) the length
31 field in the reply is computed incorrectly for GetFBConfigs and
32 VendorPrivateWithReply vendor_code 0x10004 (GetFBConfigsSGIX). For these
33 requests the reply structure begins:
34         <pad bytes="1" />
35         <field type="CARD32" name="numVisuals" />
36         <field type="CARD32" name="numProps" />
37 The correct value for the length field is
38         numVisuals * numProps * 2
39 but on broken servers the "* 2" was missing. A workaround that is correct for
40 all implementations is to rewrite the length field on receipt on the client
41 side, using the expression above.
42
43 The patch that fixed this server bug in X.org CVS is here:
44         http://cvs.freedesktop.org/xorg/xserver/xorg/GL/glx/glxcmds.c?r1=1.6&r2=1.7
45 -->
46
47 <xcb header="glx" extension-xname="GLX" extension-name="Glx"
48     major-version="1" minor-version="3">
49         <!-- target support: 1.3 -->
50
51         <import>xproto</import>
52
53         <xidtype name="PIXMAP" />
54         <xidtype name="CONTEXT" />
55         <xidtype name="PBUFFER" />
56         <xidtype name="WINDOW" />
57         <xidtype name="FBCONFIG" />
58
59         <xidunion name="DRAWABLE">
60             <type>xproto:WINDOW</type>
61             <type>PBUFFER</type>
62             <type>glx:PIXMAP</type>
63             <type>glx:WINDOW</type>
64         </xidunion>
65
66         <typedef oldname="float" newname="FLOAT32" />
67         <typedef oldname="double" newname="FLOAT64" />
68         <typedef oldname="CARD32" newname="BOOL32" />
69         <typedef oldname="CARD32" newname="CONTEXT_TAG" />
70             
71         <!-- Errors -->
72         <error name="Generic" number="-1"> <!-- FIXME: fake number -->
73                 <field type="CARD32" name="bad_value" />
74                 <field type="CARD16" name="minor_opcode" />
75                 <field type="CARD8" name="major_opcode" />
76                 <pad bytes="21" />
77         </error>
78
79         <errorcopy name="BadContext" number="0" ref="Generic" />
80         <errorcopy name="BadContextState" number="1" ref="Generic" />
81         <errorcopy name="BadDrawable" number="2" ref="Generic" />
82         <errorcopy name="BadPixmap" number="3" ref="Generic" />
83         <errorcopy name="BadContextTag" number="4" ref="Generic" />
84         <errorcopy name="BadCurrentWindow" number="5" ref="Generic" />
85         <errorcopy name="BadRenderRequest" number="6" ref="Generic" />
86         <errorcopy name="BadLargeRequest" number="7" ref="Generic" />
87         <errorcopy name="UnsupportedPrivateRequest" number="8" ref="Generic" />
88         <errorcopy name="BadFBConfig" number="9" ref="Generic" />
89         <errorcopy name="BadPbuffer" number="10" ref="Generic" />
90         <errorcopy name="BadCurrentDrawable" number="11" ref="Generic" />
91         <errorcopy name="BadWindow" number="12" ref="Generic" />
92
93         <!-- Events -->
94         <event name="PbufferClobber" number="0">
95                 <pad bytes="1" />
96                 <field type="CARD16" name="event_type" />
97                 <field type="CARD16" name="draw_type" />
98                 <field type="glx:DRAWABLE" name="drawable" />
99                 <field type="CARD32" name="b_mask" />
100                 <field type="CARD16" name="aux_buffer" />
101                 <field type="CARD16" name="x" />
102                 <field type="CARD16" name="y" />
103                 <field type="CARD16" name="width" />
104                 <field type="CARD16" name="height" />
105                 <field type="CARD16" name="count" />
106                 <pad bytes="4" />
107         </event>
108
109         <!-- enums for PbufferClobber event/draw type -->
110         <enum name="PBCET">
111                 <item name="Damaged">
112                         <value>32791</value>
113                 </item>
114                 <item name="Saved">
115                         <value>32792</value>
116                 </item>
117         </enum>
118
119         <enum name="PBCDT">
120                 <item name="Window">
121                         <value>32793</value>
122                 </item>
123                 <item name="Pbuffer">
124                         <value>32794</value>
125                 </item>
126         </enum>
127
128         <!-- Requests -->
129         <request name="Render" opcode="1" combine-adjacent="true">
130                 <field type="CONTEXT_TAG" name="context_tag" />
131                 <list type="BYTE" name="data" />
132         </request>
133
134         <request name="RenderLarge" opcode="2">
135                 <field type="CONTEXT_TAG" name="context_tag" />
136                 <field type="CARD16" name="request_num" />
137                 <field type="CARD16" name="request_total" />
138                 <field type="CARD32" name="data_len" />
139                 <list type="BYTE" name="data">
140                     <fieldref>data_len</fieldref>
141                 </list>
142         </request>
143
144         <request name="CreateContext" opcode="3">
145                 <field type="glx:CONTEXT" name="context" />
146                 <field type="VISUALID" name="visual" />
147                 <field type="CARD32" name="screen" />
148                 <field type="glx:CONTEXT" name="share_list" />
149                 <field type="BOOL" name="is_direct" />
150                 <pad bytes="3" />
151         </request>
152
153         <request name="DestroyContext" opcode="4">
154                 <field type="glx:CONTEXT" name="context" />
155         </request>
156
157         <request name="MakeCurrent" opcode="5">
158                 <field type="glx:DRAWABLE" name="drawable" />
159                 <field type="glx:CONTEXT" name="context" />
160                 <field type="CONTEXT_TAG" name="old_context_tag" />
161                 <reply>
162                         <pad bytes="1" />
163                         <field type="CONTEXT_TAG" name="context_tag" />
164                         <pad bytes="20" />
165                 </reply>
166         </request>
167
168         <request name="IsDirect" opcode="6">
169                 <field type="glx:CONTEXT" name="context" />
170                 <reply>
171                         <pad bytes="1" />
172                         <field type="BOOL" name="is_direct" />
173                         <pad bytes="23" />
174                 </reply>
175         </request>
176
177         <request name="QueryVersion" opcode="7">
178                 <field type="CARD32" name="major_version" />
179                 <field type="CARD32" name="minor_version" />
180                 <reply>
181                         <pad bytes="1" />
182                         <field type="CARD32" name="major_version" />
183                         <field type="CARD32" name="minor_version" />
184                         <pad bytes="16" />
185                 </reply>
186         </request>
187
188         <request name="WaitGL" opcode="8">
189                 <field type="CONTEXT_TAG" name="context_tag" />
190         </request>
191
192         <request name="WaitX" opcode="9">
193                 <field type="CONTEXT_TAG" name="context_tag" />
194         </request>
195
196         <request name="CopyContext" opcode="10">
197                 <field type="glx:CONTEXT" name="src" />
198                 <field type="glx:CONTEXT" name="dest" />
199                 <field type="CARD32" name="mask" />
200                 <field type="CONTEXT_TAG" name="src_context_tag" />
201         </request>
202
203         <!-- Enum for CopyContext: mask -->
204         <enum name="GC">
205                 <item name="GL_CURRENT_BIT"><bit>0</bit></item>
206                 <item name="GL_POINT_BIT"><bit>1</bit></item>
207                 <item name="GL_LINE_BIT"><bit>2</bit></item>
208                 <item name="GL_POLYGON_BIT"><bit>3</bit></item>
209                 <item name="GL_POLYGON_STIPPLE_BIT"><bit>4</bit></item>
210                 <item name="GL_PIXEL_MODE_BIT"><bit>5</bit></item>
211                 <item name="GL_LIGHTING_BIT"><bit>6</bit></item>
212                 <item name="GL_FOG_BIT"><bit>7</bit></item>
213                 <item name="GL_DEPTH_BUFFER_BIT"><bit>8</bit></item>
214                 <item name="GL_ACCUM_BUFFER_BIT"><bit>9</bit></item>
215                 <item name="GL_STENCIL_BUFFER_BIT"><bit>10</bit></item>
216                 <item name="GL_VIEWPORT_BIT"><bit>11</bit></item>
217                 <item name="GL_TRANSFORM_BIT"><bit>12</bit></item>
218                 <item name="GL_ENABLE_BIT"><bit>13</bit></item>
219                 <item name="GL_COLOR_BUFFER_BIT"><bit>14</bit></item>
220                 <item name="GL_HINT_BIT"><bit>15</bit></item>
221                 <item name="GL_EVAL_BIT"><bit>16</bit></item>
222                 <item name="GL_LIST_BIT"><bit>17</bit></item>
223                 <item name="GL_TEXTURE_BIT"><bit>18</bit></item>
224                 <item name="GL_SCISSOR_BIT"><bit>19</bit></item>
225                 <item name="GL_ALL_ATTRIB_BITS"><value>16777215<!--0x000ffffff--></value></item>
226         </enum>
227
228         <request name="SwapBuffers" opcode="11">
229                 <field type="CONTEXT_TAG" name="context_tag" />
230                 <field type="glx:DRAWABLE" name="drawable" />
231         </request>
232
233         <request name="UseXFont" opcode="12">
234                 <field type="CONTEXT_TAG" name="context_tag" />
235                 <field type="FONT" name="font" />
236                 <field type="CARD32" name="first" />
237                 <field type="CARD32" name="count" />
238                 <field type="CARD32" name="list_base" />
239         </request>
240
241         <request name="CreateGLXPixmap" opcode="13">
242                 <field type="CARD32" name="screen" />
243                 <field type="VISUALID" name="visual" />
244                 <field type="xproto:PIXMAP" name="pixmap" />
245                 <field type="glx:PIXMAP" name="glx_pixmap" />
246         </request>
247
248         
249         <request name="GetVisualConfigs" opcode="14">
250                 <field type="CARD32" name="screen" />
251                 <reply>
252                         <pad bytes="1" />
253                         <field type="CARD32" name="num_visuals" />
254                         <field type="CARD32" name="num_properties" />
255                         <pad bytes="16" />
256                         <list type="CARD32" name="property_list">
257                                 <fieldref>length</fieldref>
258                         </list>
259                 </reply>
260         </request>
261
262         <request name="DestroyGLXPixmap" opcode="15">
263                 <field type="glx:PIXMAP" name="glx_pixmap" />
264         </request>
265
266         <!--
267         Context tag is not in the proto, should be part of the list of bytes
268         but every VendorPrivate and VendorPrivateWithReply request uses them
269         so it is safe to put them in.  That's how Mesa does it.
270         -->
271         <request name="VendorPrivate" opcode="16">
272                 <field type="CARD32" name="vendor_code" />
273                 <field type="CONTEXT_TAG" name="context_tag" />
274                 <list type="BYTE" name="data" />
275         </request>
276
277         <request name="VendorPrivateWithReply" opcode="17">
278                 <field type="CARD32" name="vendor_code" />
279                 <field type="CONTEXT_TAG" name="context_tag" />
280                 <list type="BYTE" name="data" />
281                 <reply>
282                         <pad bytes="1" />
283                         <field type="CARD32" name="retval" />
284                         <list type="BYTE" name="data1">
285                                 <value>24</value>
286                         </list>
287                         <list type="BYTE" name="data2">
288                                 <op op="*">
289                                         <fieldref>length</fieldref>
290                                         <value>4</value>
291                                 </op>
292                         </list>
293                 </reply>
294         </request>
295
296         <request name="QueryExtensionsString" opcode="18">
297                 <field type="CARD32" name="screen" />
298                 <reply>
299                         <pad bytes="1" />
300                         <pad bytes="4" />
301                         <field type="CARD32" name="n" />
302                         <pad bytes="16" />
303                 </reply>
304         </request>
305
306         <request name="QueryServerString" opcode="19">
307                 <field type="CARD32" name="screen" />
308                 <field type="CARD32" name="name" />
309                 <reply>
310                         <pad bytes="1" />
311                         <pad bytes="4" />
312                         <field type="CARD32" name="str_len" />
313                         <pad bytes="16" />
314                         <list type="char" name="string">
315                                 <fieldref>str_len</fieldref>
316                         </list>
317                 </reply>
318         </request>
319
320         <request name="ClientInfo" opcode="20">
321                 <field type="CARD32" name="major_version" />
322                 <field type="CARD32" name="minor_version" />
323                 <field type="CARD32" name="str_len" />
324                 <list type="char" name="string">
325                         <fieldref>str_len</fieldref>
326                 </list>
327         </request>
328
329         <!-- Start of GLX 1.3 Requests -->
330
331         <request name="GetFBConfigs" opcode="21">
332                 <field type="CARD32" name="screen" />
333                 <reply>
334                         <pad bytes="1" />
335                         <field type="CARD32" name="num_FB_configs" />
336                         <field type="CARD32" name="num_properties" />
337                         <pad bytes="16" />
338                         <!--
339                         <valueparam value-mask-type="CARD32"
340                                 value-mask-name="value_mask"
341                                 value-list-name="value_list" />
342                             -->
343                         <list type="CARD32" name="property_list">
344                                 <fieldref>length</fieldref>
345                         </list>
346                 </reply>
347         </request>
348
349         <request name="CreatePixmap" opcode="22">
350                 <field type="CARD32" name="screen" />
351                 <field type="FBCONFIG" name="fbconfig" />
352                 <field type="xproto:PIXMAP" name="pixmap" />
353                 <field type="glx:PIXMAP" name="glx_pixmap" />
354                 <field type="CARD32" name="num_attribs" />  
355                 <list type="CARD32" name="attribs">
356                         <op op="*">
357                                 <fieldref>num_attribs</fieldref>
358                                 <value>2</value>
359                         </op>
360                 </list>
361         </request>
362
363         <request name="DestroyPixmap" opcode="23">
364                 <field type="glx:PIXMAP" name="glx_pixmap" />
365         </request>
366
367         <request name="CreateNewContext" opcode="24">
368                 <field type="glx:CONTEXT" name="context" />
369                 <field type="FBCONFIG" name="fbconfig" />
370                 <field type="CARD32" name="screen" />
371                 <field type="CARD32" name="render_type" />
372                 <field type="glx:CONTEXT" name="share_list" />
373                 <field type="BOOL" name="is_direct" />
374                 <pad bytes="3" />
375         </request>
376
377         <request name="QueryContext" opcode="25">
378                 <field type="glx:CONTEXT" name="context" />
379                 <reply>
380                         <pad bytes="1" />
381                         <field type="CARD32" name="num_attribs"/>
382                         <pad bytes="20" />
383                         <list type="CARD32" name="attribs">
384                                 <op op="*">
385                                         <fieldref>num_attribs</fieldref>
386                                         <value>2</value>
387                                 </op>
388                         </list>
389                 </reply>
390         </request>
391
392         <request name="MakeContextCurrent" opcode="26">
393                 <field type="CONTEXT_TAG" name="old_context_tag" />
394                 <field type="glx:DRAWABLE" name="drawable" />
395                 <field type="glx:DRAWABLE" name="read_drawable" />
396                 <field type="glx:CONTEXT" name="context" />
397                 <reply>
398                         <pad bytes="1" />
399                         <field type="CONTEXT_TAG" name="context_tag" />
400                         <pad bytes="20" />
401                 </reply>
402         </request>
403
404         <request name="CreatePbuffer" opcode="27">
405                 <field type="CARD32" name="screen" />
406                 <field type="FBCONFIG" name="fbconfig" />
407                 <field type="PBUFFER" name="pbuffer" />
408                 <field type="CARD32" name="num_attribs" />
409                 <list type="CARD32" name="attribs">
410                         <op op="*">
411                                 <fieldref>num_attribs</fieldref>
412                                 <value>2</value>
413                         </op>
414                 </list>
415         </request>
416
417         <request name="DestroyPbuffer" opcode="28">
418                 <field type="PBUFFER" name="pbuffer" />
419         </request>
420
421         <request name="GetDrawableAttributes" opcode="29">
422                 <field type="glx:DRAWABLE" name="drawable" />
423                 <reply>
424                         <pad bytes="1" />
425                         <field type="CARD32" name="num_attribs" />
426                         <pad bytes="20" />
427                         <list type="CARD32" name="attribs">
428                                 <op op="*">
429                                         <fieldref>num_attribs</fieldref>
430                                         <value>2</value>
431                                 </op>
432                         </list>
433                 </reply>
434         </request>
435
436         <request name="ChangeDrawableAttributes" opcode="30">
437                 <field type="glx:DRAWABLE" name="drawable" />
438                 <field type="CARD32" name="num_attribs" />
439                 <list type="CARD32" name="attribs">
440                         <op op="*">
441                                 <fieldref>num_attribs</fieldref>
442                                 <value>2</value>
443                         </op>
444                 </list>
445         </request>
446
447         <request name="CreateWindow" opcode="31">
448                 <field type="CARD32" name="screen" />
449                 <field type="FBCONFIG" name="fbconfig" />
450                 <field type="xproto:WINDOW" name="window" />
451                 <field type="glx:WINDOW" name="glx_window" />
452                 <field type="CARD32" name="num_attribs" />
453                 <list type="CARD32" name="attribs">
454                         <op op="*">
455                                 <fieldref>num_attribs</fieldref>
456                                 <value>2</value>
457                         </op>
458                 </list>
459         </request>
460
461         <request name="DeleteWindow" opcode="32">
462                 <field type="glx:WINDOW" name="glxwindow" />
463         </request>
464
465         <!-- Requests for GL Non-rendering Commands (single ops) -->
466
467         <request name="NewList" opcode="101">
468                 <field type="CONTEXT_TAG" name="context_tag" />
469                 <field type="CARD32" name="list" />
470                 <field type="CARD32" name="mode" />
471         </request>
472
473         <request name="EndList" opcode="102">
474                 <field type="CONTEXT_TAG" name="context_tag" />
475         </request>
476
477         <request name="DeleteLists" opcode="103">
478                 <field type="CONTEXT_TAG" name="context_tag" />
479                 <field type="CARD32" name="list" />
480                 <field type="INT32" name="range" />
481         </request>
482
483         <request name="GenLists" opcode="104">
484                 <field type="CONTEXT_TAG" name="context_tag" />
485                 <field type="INT32" name="range" />
486                 <reply>
487                         <pad bytes="1" />
488                         <field type="CARD32" name="ret_val" />
489                 </reply>
490         </request>
491
492         <request name="FeedbackBuffer" opcode="105">
493                 <field type="CONTEXT_TAG" name="context_tag" />
494                 <field type="INT32" name="size" />
495                 <field type="INT32" name="type" />
496         </request>
497
498         <request name="SelectBuffer" opcode="106">
499                 <field type="CONTEXT_TAG" name="context_tag" />
500                 <field type="INT32" name="size" />
501                 <!-- the reply is actually returned in the data
502                 of the next RenderMode request -->
503         </request>
504
505
506         <request name="RenderMode" opcode="107">
507                 <field type="CONTEXT_TAG" name="context_tag" />
508                 <field type="CARD32" name="mode" />
509                 <!--
510                 This reply is only if RM was previously feedback/selection.
511                 If it was in feedback mode then data is FLOAT32.
512                 If previously in render mode there is no reply.
513                 -->
514                 <reply>
515                         <pad bytes="1" />
516                         <field type="CARD32" name="ret_val" />
517                         <field type="CARD32" name="n" />
518                         <field type="CARD32" name="new_mode" />
519                         <pad bytes="12" />
520                         <list type="CARD32" name="data">
521                                 <fieldref>n</fieldref>
522                         </list>
523                 </reply>
524         </request>
525
526         <enum name="RM">
527                 <item name="GL_RENDER"><value>7168</value></item>
528                 <item name="GL_FEEDBACK"><value>7169</value></item>
529                 <item name="GL_SELECT"><value>7170</value></item>
530         </enum>
531
532         <request name="Finish" opcode="108">
533                 <field type="CONTEXT_TAG" name="context_tag" />
534                 <reply>
535                         <pad bytes="1" />
536                 </reply>
537         </request>
538
539         <request name="PixelStoref" opcode="109">
540                 <field type="CONTEXT_TAG" name="context_tag" />
541                 <field type="CARD32" name="pname" />
542                 <field type="FLOAT32" name="datum" />
543         </request>
544
545         <request name="PixelStorei" opcode="110">
546                 <field type="CONTEXT_TAG" name="context_tag" />
547                 <field type="CARD32" name="pname" />
548                 <field type="INT32" name="datum" />
549         </request>
550
551         <request name="ReadPixels" opcode="111">
552                 <field type="CONTEXT_TAG" name="context_tag" />
553                 <field type="INT32" name="x" />
554                 <field type="INT32" name="y" />
555                 <field type="INT32" name="width" />
556                 <field type="INT32" name="height" />
557                 <field type="CARD32" name="format" />
558                 <field type="CARD32" name="type" />
559                 <field type="BOOL" name="swap_bytes" />
560                 <field type="BOOL" name="lsb_first" />
561                 <reply>
562                         <pad bytes="1" />
563                         <pad bytes="24" />
564                         <list type="BYTE" name="data">
565                                 <op op="*">
566                                         <fieldref>length</fieldref>
567                                         <value>4</value>
568                                 </op>
569                         </list>
570                 </reply>
571         </request>
572                 
573         <!-- FIXME:
574         All the Get* functions can return different stuff for replies.
575         Hopefully xcb will support multiple reply structures at some point
576         but for now... grrrr
577         Starts on page 58/180
578         -->
579         <request name="GetBooleanv" opcode="112">
580                 <field type="CONTEXT_TAG" name="context_tag" />
581                 <field type="INT32" name="pname" />
582                 <reply>
583                         <pad bytes="1" />
584                         <pad bytes="4" />
585                         <field type="CARD32" name="n" />
586                         <field type="BOOL" name="datum" />
587                         <pad bytes="15" />
588                         <list type="BOOL" name="data">
589                                 <fieldref>n</fieldref>
590                         </list>
591                 </reply>
592         </request>
593
594         <request name="GetClipPlane" opcode="113">
595                 <field type="CONTEXT_TAG" name="context_tag" />
596                 <field type="INT32" name="plane" />
597                 <reply>
598                         <pad bytes="1" />
599                         <pad bytes="24" />
600                         <list type="FLOAT64" name="data">
601                                 <op op="/">
602                                         <fieldref>length</fieldref>
603                                         <value>2</value>
604                                 </op>
605                         </list>
606                 </reply>
607         </request>
608
609         <request name="GetDoublev" opcode="114">
610                 <field type="CONTEXT_TAG" name="context_tag" />
611                 <field type="CARD32" name="pname" />
612                 <reply>
613                         <pad bytes="1" />
614                         <pad bytes="4" />
615                         <field type="CARD32" name="n" />
616                         <field type="FLOAT64" name="datum" />
617                         <pad bytes="8" />
618                         <list type="FLOAT64" name="data">
619                                 <fieldref>n</fieldref>
620                         </list>
621                 </reply>
622         </request>
623
624         <request name="GetError" opcode="115">
625                 <field type="CONTEXT_TAG" name="context_tag" />
626                 <reply>
627                         <pad bytes="1" />
628                         <field type="INT32" name="error" />
629                 </reply>
630         </request>
631
632         <request name="GetFloatv" opcode="116">
633                 <field type="CONTEXT_TAG" name="context_tag" />
634                 <field type="CARD32" name="pname" />
635                 <reply>
636                         <pad bytes="1" />
637                         <pad bytes="4" />
638                         <field type="CARD32" name="n" />
639                         <field type="FLOAT32" name="datum" />
640                         <pad bytes="12" />
641                         <list type="FLOAT32" name="data">
642                                 <fieldref>n</fieldref>
643                         </list>
644                 </reply>
645         </request>
646
647         <request name="GetIntegerv" opcode="117">
648                 <field type="CONTEXT_TAG" name="context_tag" />
649                 <field type="CARD32" name="pname" />
650                 <reply>
651                         <pad bytes="1" />
652                         <pad bytes="4" />
653                         <field type="CARD32" name="n" />
654                         <field type="INT32" name="datum" />
655                         <pad bytes="12" />
656                         <list type="INT32" name="data">
657                                 <fieldref>n</fieldref>
658                         </list>
659                 </reply>
660         </request>
661
662         <request name="GetLightfv" opcode="118">
663                 <field type="CONTEXT_TAG" name="context_tag" />
664                 <field type="CARD32" name="light" />
665                 <field type="CARD32" name="pname" />
666                 <reply>
667                         <pad bytes="1" />
668                         <pad bytes="4" />
669                         <field type="CARD32" name="n" />
670                         <field type="FLOAT32" name="datum" />
671                         <pad bytes="12" />
672                         <list type="FLOAT32" name="data">
673                                 <fieldref>n</fieldref>
674                         </list>
675                 </reply>
676         </request>
677
678         <request name="GetLightiv" opcode="119">
679                 <field type="CONTEXT_TAG" name="context_tag" />
680                 <field type="CARD32" name="light" />
681                 <field type="CARD32" name="pname" />
682                 <reply>
683                         <pad bytes="1" />
684                         <pad bytes="4" />
685                         <field type="CARD32" name="n" />
686                         <field type="INT32" name="datum" />
687                         <pad bytes="12" />
688                         <list type="INT32" name="data">
689                                 <fieldref>n</fieldref>
690                         </list>
691                 </reply>
692         </request>
693
694         <request name="GetMapdv" opcode="120">
695                 <field type="CONTEXT_TAG" name="context_tag" />
696                 <field type="CARD32" name="target" />
697                 <field type="CARD32" name="query" />
698                 <reply>
699                         <pad bytes="1" />
700                         <pad bytes="4" />
701                         <field type="CARD32" name="n" />
702                         <field type="FLOAT64" name="datum" />
703                         <pad bytes="8" />
704                         <list type="FLOAT64" name="data">
705                                 <fieldref>n</fieldref>
706                         </list>
707                 </reply>
708         </request>
709
710         <request name="GetMapfv" opcode="121">
711                 <field type="CONTEXT_TAG" name="context_tag" />
712                 <field type="CARD32" name="target" />
713                 <field type="CARD32" name="query" />
714                 <reply>
715                         <pad bytes="1" />
716                         <pad bytes="4" />
717                         <field type="CARD32" name="n" />
718                         <field type="FLOAT32" name="datum" />
719                         <pad bytes="12" />
720                         <list type="FLOAT32" name="data">
721                                 <fieldref>n</fieldref>
722                         </list>
723                 </reply>
724         </request>
725
726         <request name="GetMapiv" opcode="122">
727                 <field type="CONTEXT_TAG" name="context_tag" />
728                 <field type="CARD32" name="target" />
729                 <field type="CARD32" name="query" />
730                 <reply>
731                         <pad bytes="1" />
732                         <pad bytes="4" />
733                         <field type="CARD32" name="n" />
734                         <field type="INT32" name="datum" />
735                         <pad bytes="12" />
736                         <list type="INT32" name="data">
737                                 <fieldref>n</fieldref>
738                         </list>
739                 </reply>
740         </request>
741
742         <request name="GetMaterialfv" opcode="123">
743                 <field type="CONTEXT_TAG" name="context_tag" />
744                 <field type="CARD32" name="face" />
745                 <field type="CARD32" name="pname" />
746                 <reply>
747                         <pad bytes="1" />
748                         <pad bytes="4" />
749                         <field type="CARD32" name="n" />
750                         <field type="FLOAT32" name="datum" />
751                         <pad bytes="12" />
752                         <list type="FLOAT32" name="data">
753                                 <fieldref>n</fieldref>
754                         </list>
755                 </reply>
756         </request>
757
758         <request name="GetMaterialiv" opcode="124">
759                 <field type="CONTEXT_TAG" name="context_tag" />
760                 <field type="CARD32" name="face" />
761                 <field type="CARD32" name="pname" />
762                 <reply>
763                         <pad bytes="1" />
764                         <pad bytes="4" />
765                         <field type="CARD32" name="n" />
766                         <field type="INT32" name="datum" />
767                         <pad bytes="12" />
768                         <list type="INT32" name="data">
769                                 <fieldref>n</fieldref>
770                         </list>
771                 </reply>
772         </request>
773
774         <request name="GetPixelMapfv" opcode="125">
775                 <field type="CONTEXT_TAG" name="context_tag" />
776                 <field type="CARD32" name="map" />
777                 <reply>
778                         <pad bytes="1" />
779                         <pad bytes="4" />
780                         <field type="CARD32" name="n" />
781                         <field type="FLOAT32" name="datum" />
782                         <pad bytes="12" />
783                         <list type="FLOAT32" name="data">
784                                 <fieldref>n</fieldref>
785                         </list>
786                 </reply>
787         </request>
788
789         <request name="GetPixelMapuiv" opcode="126">
790                 <field type="CONTEXT_TAG" name="context_tag" />
791                 <field type="CARD32" name="map" />
792                 <reply>
793                         <pad bytes="1" />
794                         <pad bytes="4" />
795                         <field type="CARD32" name="n" />
796                         <field type="CARD32" name="datum" />
797                         <pad bytes="12" />
798                         <list type="CARD32" name="data">
799                                 <fieldref>n</fieldref>
800                         </list>
801                 </reply>
802         </request>
803
804         <request name="GetPixelMapusv" opcode="127">
805                 <field type="CONTEXT_TAG" name="context_tag" />
806                 <field type="CARD32" name="map" />
807                 <reply>
808                         <pad bytes="1" />
809                         <pad bytes="4" />
810                         <field type="CARD32" name="n" />
811                         <field type="CARD16" name="datum" />
812                         <pad bytes="16" />
813                         <list type="CARD16" name="data">
814                                 <fieldref>n</fieldref>
815                         </list>
816                 </reply>
817         </request>
818
819         <request name="GetPolygonStipple" opcode="128">
820                 <field type="CONTEXT_TAG" name="context_tag" />
821                 <field type="BOOL" name="lsb_first" />
822                 <reply>
823                         <pad bytes="1" />
824                         <pad bytes="24" />
825                         <list type="BYTE" name="data">
826                                 <op op="*">
827                                         <fieldref>length</fieldref>
828                                         <value>4</value>
829                                 </op>
830                         </list>
831                 </reply>
832         </request>
833
834
835         <request name="GetString" opcode="129">
836                 <field type="CONTEXT_TAG" name="context_tag" />
837                 <field type="CARD32" name="name" />
838                 <reply>
839                         <pad bytes="1" />
840                         <pad bytes="4" />
841                         <field type="CARD32" name="n" />
842                         <pad bytes="16" />
843                         <list type="char" name="string">
844                                 <fieldref>n</fieldref>
845                         </list>
846                 </reply>
847         </request>
848
849         <request name="GetTexEnvfv" opcode="130">
850                 <field type="CONTEXT_TAG" name="context_tag" />
851                 <field type="CARD32" name="target" />
852                 <field type="CARD32" name="pname" />
853                 <reply>
854                         <pad bytes="1" />
855                         <pad bytes="4" />
856                         <field type="CARD32" name="n" />
857                         <field type="FLOAT32" name="datum" />
858                         <pad bytes="12" />
859                         <list type="FLOAT32" name="data">
860                                 <fieldref>n</fieldref>
861                         </list>
862                 </reply>
863         </request>
864
865         <request name="GetTexEnviv" opcode="131">
866                 <field type="CONTEXT_TAG" name="context_tag" />
867                 <field type="CARD32" name="target" />
868                 <field type="CARD32" name="pname" />
869                 <reply>
870                         <pad bytes="1" />
871                         <pad bytes="4" />
872                         <field type="CARD32" name="n" />
873                         <field type="INT32" name="datum" />
874                         <pad bytes="12" />
875                         <list type="INT32" name="data">
876                                 <fieldref>n</fieldref>
877                         </list>
878                 </reply>
879         </request>
880
881         <request name="GetTexGendv" opcode="132">
882                 <field type="CONTEXT_TAG" name="context_tag" />
883                 <field type="CARD32" name="coord" />
884                 <field type="CARD32" name="pname" />
885                 <reply>
886                         <pad bytes="1" />
887                         <pad bytes="4" />
888                         <field type="CARD32" name="n" />
889                         <field type="FLOAT64" name="datum" />
890                         <pad bytes="8" />
891                         <list type="FLOAT64" name="data">
892                                 <fieldref>n</fieldref>
893                         </list>
894                 </reply>
895         </request>
896
897         <request name="GetTexGenfv" opcode="133">
898                 <field type="CONTEXT_TAG" name="context_tag" />
899                 <field type="CARD32" name="coord" />
900                 <field type="CARD32" name="pname" />
901                 <reply>
902                         <pad bytes="1" />
903                         <pad bytes="4" />
904                         <field type="CARD32" name="n" />
905                         <field type="FLOAT32" name="datum" />
906                         <pad bytes="12" />
907                         <list type="FLOAT32" name="data">
908                                 <fieldref>n</fieldref>
909                         </list>
910                 </reply>
911         </request>
912
913         <request name="GetTexGeniv" opcode="134">
914                 <field type="CONTEXT_TAG" name="context_tag" />
915                 <field type="CARD32" name="coord" />
916                 <field type="CARD32" name="pname" />
917                 <reply>
918                         <pad bytes="1" />
919                         <pad bytes="4" />
920                         <field type="CARD32" name="n" />
921                         <field type="INT32" name="datum" />
922                         <pad bytes="12" />
923                         <list type="INT32" name="data">
924                                 <fieldref>n</fieldref>
925                         </list>
926                 </reply>
927         </request>
928
929         <request name="GetTexImage" opcode="135">
930                 <field type="CONTEXT_TAG" name="context_tag" />
931                 <field type="CARD32" name="target" />
932                 <field type="INT32" name="level" />
933                 <field type="CARD32" name="format" />
934                 <field type="CARD32" name="type" />
935                 <field type="BOOL" name="swap_bytes" />
936                 <reply>
937                         <pad bytes="1" />
938                         <pad bytes="8" />
939                         <field type="INT32" name="width" />
940                         <field type="INT32" name="height" />
941                         <field type="INT32" name="depth" />
942                         <pad bytes="4" />
943                         <list type="BYTE" name="data">
944                                 <op op="*">
945                                         <fieldref>length</fieldref>
946                                         <value>4</value>
947                                 </op>
948                         </list>
949                 </reply>
950         </request>
951             
952
953         <request name="GetTexParameterfv" opcode="136">
954                 <field type="CONTEXT_TAG" name="context_tag" />
955                 <field type="CARD32" name="target" />
956                 <field type="CARD32" name="pname" />
957                 <reply>
958                         <pad bytes="1" />
959                         <pad bytes="4" />
960                         <field type="CARD32" name="n" />
961                         <field type="FLOAT32" name="datum" />
962                         <pad bytes="12" />
963                         <list type="FLOAT32" name="data">
964                                 <fieldref>n</fieldref>
965                         </list>
966                 </reply>
967         </request>
968
969         <request name="GetTexParameteriv" opcode="137">
970                 <field type="CONTEXT_TAG" name="context_tag" />
971                 <field type="CARD32" name="target" />
972                 <field type="CARD32" name="pname" />
973                 <reply>
974                         <pad bytes="1" />
975                         <pad bytes="4" />
976                         <field type="CARD32" name="n" />
977                         <field type="INT32" name="datum" />
978                         <pad bytes="12" />
979                         <list type="INT32" name="data">
980                                 <fieldref>n</fieldref>
981                         </list>
982                 </reply>
983         </request>
984
985         <request name="GetTexLevelParameterfv" opcode="138">
986                 <field type="CONTEXT_TAG" name="context_tag" />
987                 <field type="CARD32" name="target" />
988                 <field type="INT32" name="level" />
989                 <field type="CARD32" name="pname" />
990                 <reply>
991                         <pad bytes="1" />
992                         <pad bytes="4" />
993                         <field type="CARD32" name="n" />
994                         <field type="FLOAT32" name="datum" />
995                         <pad bytes="12" />
996                         <list type="FLOAT32" name="data">
997                                 <fieldref>n</fieldref>
998                         </list>
999                 </reply>
1000         </request>
1001
1002         <request name="GetTexLevelParameteriv" opcode="139">
1003                 <field type="CONTEXT_TAG" name="context_tag" />
1004                 <field type="CARD32" name="target" />
1005                 <field type="INT32" name="level" />
1006                 <field type="CARD32" name="pname" />
1007                 <reply>
1008                         <pad bytes="1" />
1009                         <pad bytes="4" />
1010                         <field type="CARD32" name="n" />
1011                         <field type="INT32" name="datum" />
1012                         <pad bytes="12" />
1013                         <list type="INT32" name="data">
1014                                 <fieldref>n</fieldref>
1015                         </list>
1016                 </reply>
1017         </request>
1018
1019         <request name="IsList" opcode="141" >
1020                 <field type="CONTEXT_TAG" name="context_tag" />
1021                 <field type="CARD32" name="list" />
1022                 <reply>
1023                         <pad bytes="1" />
1024                         <field type="BOOL32" name="ret_val" />
1025                 </reply>
1026         </request>
1027
1028         <request name="Flush" opcode="142">
1029                 <field type="CONTEXT_TAG" name="context_tag" />
1030         </request>
1031
1032         <request name="AreTexturesResident" opcode="143">
1033                 <field type="CONTEXT_TAG" name="context_tag" />
1034                 <field type="INT32" name="n" />
1035                 <list type="CARD32" name="textures">
1036                     <fieldref>n</fieldref>
1037                 </list>
1038                 <reply>
1039                         <pad bytes="1" />
1040                         <field type="BOOL32" name="ret_val" />
1041                         <pad bytes="20" />
1042                         <list type="BOOL" name="data">
1043                                 <op op="*">
1044                                         <fieldref>length</fieldref>
1045                                         <value>4</value>
1046                                 </op>
1047                         </list>
1048                 </reply>
1049         </request>
1050
1051         <request name="DeleteTextures" opcode="144">
1052                 <field type="CONTEXT_TAG" name="context_tag" />
1053                 <field type="INT32" name="n" />
1054                 <list type="CARD32" name="textures">
1055                         <fieldref>n</fieldref>
1056                 </list>
1057         </request>
1058
1059         <request name="GenTextures" opcode="145">
1060                 <field type="CONTEXT_TAG" name="context_tag" />
1061                 <field type="INT32" name="n" />
1062                 <reply>
1063                         <pad bytes="1" />
1064                         <pad bytes="24" />
1065                         <list type="CARD32" name="data">
1066                                 <fieldref>length</fieldref>
1067                         </list>
1068                 </reply>
1069         </request>
1070
1071         <request name="IsTexture" opcode="146">
1072                 <field type="CONTEXT_TAG" name="context_tag" />
1073                 <field type="CARD32" name="texture" />
1074                 <reply>
1075                         <pad bytes="1" />
1076                         <field type="BOOL32" name="ret_val" />
1077                 </reply>
1078         </request>
1079
1080         <request name="GetColorTable" opcode="147">
1081                 <field type="CONTEXT_TAG" name="context_tag" />
1082                 <field type="CARD32" name="target" />
1083                 <field type="CARD32" name="format" />
1084                 <field type="CARD32" name="type" />
1085                 <field type="BOOL" name="swap_bytes" />
1086                 <reply>
1087                         <pad bytes="1" />
1088                         <pad bytes="8" />
1089                         <field type="INT32" name="width" />
1090                         <pad bytes="12" />
1091                         <list type="BYTE" name="data">
1092                                 <op op="*">
1093                                         <fieldref>length</fieldref>
1094                                         <value>4</value>
1095                                 </op>
1096                         </list>
1097                 </reply>
1098         </request>
1099         
1100         <request name="GetColorTableParameterfv" opcode="148">
1101                 <field type="CONTEXT_TAG" name="context_tag" />
1102                 <field type="CARD32" name="target" />
1103                 <field type="CARD32" name="pname" />
1104                 <reply>
1105                         <pad bytes="1" />
1106                         <pad bytes="4" />
1107                         <field type="CARD32" name="n" />
1108                         <field type="FLOAT32" name="datum" />
1109                         <pad bytes="12" />
1110                         <list type="FLOAT32" name="data">
1111                                 <fieldref>n</fieldref>
1112                         </list>
1113                 </reply>
1114         </request>
1115
1116         <request name="GetColorTableParameteriv" opcode="149">
1117                 <field type="CONTEXT_TAG" name="context_tag" />
1118                 <field type="CARD32" name="target" />
1119                 <field type="CARD32" name="pname" />
1120                 <reply>
1121                         <pad bytes="1" />
1122                         <pad bytes="4" />
1123                         <field type="CARD32" name="n" />
1124                         <field type="INT32" name="datum" />
1125                         <pad bytes="12" />
1126                         <list type="INT32" name="data">
1127                                 <fieldref>n</fieldref>
1128                         </list>
1129                 </reply>
1130         </request>
1131
1132         <request name="GetConvolutionFilter" opcode="150">
1133                 <field type="CONTEXT_TAG" name="context_tag" />
1134                 <field type="CARD32" name="target" />
1135                 <field type="CARD32" name="format" />
1136                 <field type="CARD32" name="type" />
1137                 <field type="BOOL" name="swap_bytes" />
1138                 <reply>
1139                         <pad bytes="1" />
1140                         <pad bytes="8" />
1141                         <field type="INT32" name="width" />
1142                         <field type="INT32" name="height" />
1143                         <pad bytes="8" />
1144                         <list type="BYTE" name="data">
1145                                 <op op="*">
1146                                         <fieldref>length</fieldref>
1147                                         <value>4</value>
1148                                 </op>
1149                         </list>
1150                 </reply>
1151         </request>
1152
1153
1154         <request name="GetConvolutionParameterfv" opcode="151">
1155                 <field type="CONTEXT_TAG" name="context_tag" />
1156                 <field type="CARD32" name="target" />
1157                 <field type="CARD32" name="pname" />
1158                 <reply>
1159                         <pad bytes="1" />
1160                         <pad bytes="4" />
1161                         <field type="CARD32" name="n" />
1162                         <field type="FLOAT32" name="datum" />
1163                         <pad bytes="12" />
1164                         <list type="FLOAT32" name="data">
1165                                 <fieldref>n</fieldref>
1166                         </list>
1167                 </reply>
1168         </request>
1169
1170         <request name="GetConvolutionParameteriv" opcode="152">
1171                 <field type="CONTEXT_TAG" name="context_tag" />
1172                 <field type="CARD32" name="target" />
1173                 <field type="CARD32" name="pname" />
1174                 <reply>
1175                         <pad bytes="1" />
1176                         <pad bytes="4" />
1177                         <field type="CARD32" name="n" />
1178                         <field type="INT32" name="datum" />
1179                         <pad bytes="12" />
1180                         <list type="INT32" name="data">
1181                                 <fieldref>n</fieldref>
1182                         </list>
1183                 </reply>
1184         </request>
1185
1186         <request name="GetSeparableFilter" opcode="153">
1187                 <field type="CONTEXT_TAG" name="context_tag" />
1188                 <field type="CARD32" name="target" />
1189                 <field type="CARD32" name="format" />
1190                 <field type="CARD32" name="type" />
1191                 <field type="BOOL" name="swap_bytes" />
1192                 <reply>
1193                         <pad bytes="1" />
1194                         <pad bytes="8" />
1195                         <field type="INT32" name="row_w" />
1196                         <field type="INT32" name="col_h" />
1197                         <pad bytes="8" />
1198                         <list type="BYTE" name="rows_and_cols">
1199                                 <op op="*">
1200                                         <fieldref>length</fieldref>
1201                                         <value>4</value>
1202                                 </op>
1203                         </list>
1204                 </reply>
1205         </request>
1206
1207         <request name="GetHistogram" opcode="154">
1208                 <field type="CONTEXT_TAG" name="context_tag" />
1209                 <field type="CARD32" name="target" />
1210                 <field type="CARD32" name="format" />
1211                 <field type="CARD32" name="type" />
1212                 <field type="BOOL" name="swap_bytes" />
1213                 <field type="BOOL" name="reset" />
1214                 <reply>
1215                         <pad bytes="1" />
1216                         <pad bytes="8" />
1217                         <field type="INT32" name="width" />
1218                         <pad bytes="12" />
1219                         <list type="BYTE" name="data">
1220                                 <op op="*">
1221                                         <fieldref>length</fieldref>
1222                                         <value>4</value>
1223                                 </op>
1224                         </list>
1225                 </reply>
1226         </request>
1227
1228
1229         <request name="GetHistogramParameterfv" opcode="155">
1230                 <field type="CONTEXT_TAG" name="context_tag" />
1231                 <field type="CARD32" name="target" />
1232                 <field type="CARD32" name="pname" />
1233                 <reply>
1234                         <pad bytes="1" />
1235                         <pad bytes="4" />
1236                         <field type="CARD32" name="n" />
1237                         <field type="FLOAT32" name="datum" />
1238                         <pad bytes="12" />
1239                         <list type="FLOAT32" name="data">
1240                                 <fieldref>n</fieldref>
1241                         </list>
1242                 </reply>
1243         </request>
1244
1245         <request name="GetHistogramParameteriv" opcode="156">
1246                 <field type="CONTEXT_TAG" name="context_tag" />
1247                 <field type="CARD32" name="target" />
1248                 <field type="CARD32" name="pname" />
1249                 <reply>
1250                         <pad bytes="1" />
1251                         <pad bytes="4" />
1252                         <field type="CARD32" name="n" />
1253                         <field type="INT32" name="datum" />
1254                         <pad bytes="12" />
1255                         <list type="INT32" name="data">
1256                                 <fieldref>n</fieldref>
1257                         </list>
1258                 </reply>
1259         </request>
1260
1261         <request name="GetMinmax" opcode="157">
1262                 <field type="CONTEXT_TAG" name="context_tag" />
1263                 <field type="CARD32" name="target" />
1264                 <field type="CARD32" name="format" />
1265                 <field type="CARD32" name="type" />
1266                 <field type="BOOL" name="swap_bytes" />
1267                 <field type="BOOL" name="reset" />
1268                 <reply>
1269                         <pad bytes="1" />
1270                         <pad bytes="24" />
1271                         <list type="BYTE" name="data">
1272                                 <op op="*">
1273                                         <fieldref>length</fieldref>
1274                                         <value>4</value>
1275                                 </op>
1276                         </list>
1277                 </reply>
1278         </request>
1279
1280         <request name="GetMinmaxParameterfv" opcode="158">
1281                 <field type="CONTEXT_TAG" name="context_tag" />
1282                 <field type="CARD32" name="target" />
1283                 <field type="CARD32" name="pname" />
1284                 <reply>
1285                         <pad bytes="1" />
1286                         <pad bytes="4" />
1287                         <field type="CARD32" name="n" />
1288                         <field type="FLOAT32" name="datum" />
1289                         <pad bytes="12" />
1290                         <list type="FLOAT32" name="data">
1291                                 <fieldref>n</fieldref>
1292                         </list>
1293                 </reply>
1294         </request>
1295
1296         <request name="GetMinmaxParameteriv" opcode="159">
1297                 <field type="CONTEXT_TAG" name="context_tag" />
1298                 <field type="CARD32" name="target" />
1299                 <field type="CARD32" name="pname" />
1300                 <reply>
1301                         <pad bytes="1" />
1302                         <pad bytes="4" />
1303                         <field type="CARD32" name="n" />
1304                         <field type="INT32" name="datum" />
1305                         <pad bytes="12" />
1306                         <list type="INT32" name="data">
1307                                 <fieldref>n</fieldref>
1308                         </list>
1309                 </reply>
1310         </request>
1311
1312         <!--
1313         GLX Extensions
1314         
1315         * XXX: So far only define non-rendering commands.
1316         * Only those extensions that affect the GLX wire protocol are listed.
1317         -->
1318
1319         <!--
1320         GL_ARB_texture_compression
1321         http://oss.sgi.com/projects/ogl-sample/registry/ARB/texture_compression.txt
1322         -->
1323         <request name="GetCompressedTexImageARB" opcode="160">
1324                 <field type="CONTEXT_TAG" name="context_tag" />
1325                 <field type="CARD32" name="target" />
1326                 <field type="INT32" name="level" />
1327                 <reply>
1328                         <pad bytes="1" />
1329                         <pad bytes="8" />
1330                         <field type="INT32" name="size" />
1331                         <pad bytes="12" />
1332                         <list type="BYTE" name="data">
1333                                 <op op="*">
1334                                         <fieldref>length</fieldref>
1335                                         <value>4</value>
1336                                 </op>
1337                         </list>
1338                 </reply>
1339         </request>
1340
1341         
1342         <!--
1343         GL_ARB_occlusion_query
1344         http://oss.sgi.com/projects/ogl-sample/registry/ARB/occlusion_query.txt
1345         -->
1346
1347         <request name="DeleteQueriesARB" opcode="161">
1348                 <field type="CONTEXT_TAG" name="context_tag" />
1349                 <field type="INT32" name="n" />
1350                 <list type="CARD32" name="ids">
1351                         <fieldref>n</fieldref>
1352                 </list>
1353         </request>
1354
1355         <request name="GenQueriesARB" opcode="162">
1356                 <field type="CONTEXT_TAG" name="context_tag" />
1357                 <field type="INT32" name="n" />
1358                 <reply>
1359                         <pad bytes="1" />
1360                         <pad bytes="24" />
1361                         <list type="CARD32" name="data">
1362                                 <fieldref>length</fieldref>
1363                         </list>
1364                 </reply>
1365         </request>
1366         
1367         <request name="IsQueryARB" opcode="163">
1368                 <field type="CONTEXT_TAG" name="context_tag" />
1369                 <field type="CARD32" name="id" />
1370                 <reply>
1371                         <pad bytes="1" />
1372                         <field type="BOOL32" name="ret_val" />
1373                 </reply>
1374         </request>
1375         
1376         <request name="GetQueryivARB" opcode="164">
1377                 <field type="CONTEXT_TAG" name="context_tag" />
1378                 <field type="CARD32" name="target" />
1379                 <field type="CARD32" name="pname" />
1380                 <reply>
1381                         <pad bytes="1" />
1382                         <pad bytes="4" />
1383                         <field type="CARD32" name="n" />
1384                         <field type="INT32" name="datum" />
1385                         <pad bytes="12" />
1386                         <list type="INT32" name="data">
1387                                 <fieldref>n</fieldref>
1388                         </list>
1389                 </reply>
1390         </request>
1391         
1392         <request name="GetQueryObjectivARB" opcode="165">
1393                 <field type="CONTEXT_TAG" name="context_tag" />
1394                 <field type="CARD32" name="id" />
1395                 <field type="CARD32" name="pname" />
1396                 <reply>
1397                         <pad bytes="1" />
1398                         <pad bytes="4" />
1399                         <field type="CARD32" name="n" />
1400                         <field type="INT32" name="datum" />
1401                         <pad bytes="12" />
1402                         <list type="INT32" name="data">
1403                                 <fieldref>n</fieldref>
1404                         </list>
1405                 </reply>
1406         </request>
1407         
1408         <request name="GetQueryObjectuivARB" opcode="166">
1409                 <field type="CONTEXT_TAG" name="context_tag" />
1410                 <field type="CARD32" name="id" />
1411                 <field type="CARD32" name="pname" />
1412                 <reply>
1413                         <pad bytes="1" />
1414                         <pad bytes="4" />
1415                         <field type="CARD32" name="n" />
1416                         <field type="CARD32" name="datum" />
1417                         <pad bytes="12" />
1418                         <list type="CARD32" name="data">
1419                                 <fieldref>n</fieldref>
1420                         </list>
1421                 </reply>
1422         </request>
1423         
1424         <!--
1425         GL_ARB_vertex_program
1426         http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_program.txt
1427         XXX: Need to write up vops
1428         --> 
1429
1430         <!--
1431         GL_ARB_fragment_program
1432         http://oss.sgi.com/projects/ogl-sample/registry/ARB/fragment_program.txt
1433         XXX: Need to write up vops
1434         -->
1435         
1436         <!--
1437         GL_SGIS_texture_filter4
1438         http://oss.sgi.com/projects/ogl-sample/registry/SGIS/texture_filter4.txt
1439         XXX: Need to write up vops
1440         -->
1441
1442         <!--
1443         GL_EXT_histogram
1444         http://oss.sgi.com/projects/ogl-sample/registry/EXT/histogram.txt
1445         XXX: Need to write up vops
1446         -->
1447
1448         <!--
1449         GL_EXT_convolution
1450         http://oss.sgi.com/projects/ogl-sample/registry/EXT/convolution.txt
1451         XXX: Need to write up vops
1452         -->
1453
1454         <!--
1455         GL_SGI_color_table
1456         http://oss.sgi.com/projects/ogl-sample/registry/SGI/color_table.txt
1457         XXX: Need to write up vops
1458         -->
1459
1460         <!--
1461         GL_EXT_texture_object
1462         http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_object.txt
1463         XXX: Need to write up vops
1464         -->
1465
1466         <!--
1467         GL_SGIS_detail_texture
1468         http://oss.sgi.com/projects/ogl-sample/registry/SGIS/detail_texture.txt
1469         XXX: Need to write up vops
1470         -->
1471
1472         <!--
1473         GL_SGIS_sharpen_texture
1474         http://oss.sgi.com/projects/ogl-sample/registry/SGIS/sharpen_texture.txt
1475         XXX: Need to write up vops
1476         -->
1477
1478         <!--
1479         GL_SGI_make_current_read
1480         http://oss.sgi.com/projects/ogl-sample/registry/SGI/make_current_read.txt
1481         XXX: Need to write up vops
1482         -->
1483
1484         <!--
1485         GL_EXT_import_context
1486         http://oss.sgi.com/projects/ogl-sample/registry/EXT/import_context.txt
1487         XXX: Need to write up vops
1488         -->
1489
1490         <!--
1491         GL_SGIX_fbconfig
1492         http://oss.sgi.com/projects/ogl-sample/registry/SGIX/fbconfig.txt
1493         XXX: Need to write up vops
1494         -->
1495
1496         <!--
1497         GL_SGIX_pbuffer
1498         http://oss.sgi.com/projects/ogl-sample/registry/SGIX/pbuffer.txt
1499         XXX: Need to write up vops
1500         -->
1501
1502         <!--
1503         GL_EXT_pixel_transform
1504         http://oss.sgi.com/projects/ogl-sample/registry/EXT/pixel_transform.txt
1505         XXX: Need to write up vops
1506         -->
1507         
1508         <!--
1509         GL_NV_register_combiners
1510         http://oss.sgi.com/projects/ogl-sample/registry/NV/register_combiners.txt
1511         XXX: Need to write up vops
1512         -->
1513
1514         <!--
1515         GL_NV_fence
1516         http://oss.sgi.com/projects/ogl-sample/registry/NV/fence.txt
1517         XXX: Need to write up vops
1518         -->
1519
1520         <!--
1521         GL_NV_register_combiners2
1522         http://oss.sgi.com/projects/ogl-sample/registry/NV/register_combiners2.txt
1523         XXX: Need to write up vops
1524         -->
1525
1526         <!--
1527         GL_NV_vertex_program
1528         http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_program.txt
1529         XXX: Need to write up vops
1530         -->
1531
1532         <!--
1533         GL_NV_vertex_program
1534         http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_program.txt
1535         XXX: Need to write up vops
1536         -->
1537
1538         <!--
1539         GL_NV_occlusion_query
1540         http://oss.sgi.com/projects/ogl-sample/registry/NV/occlusion_query.txt
1541         XXX: Need to write up vops
1542         -->
1543
1544         <!--
1545         GL_NV_fragment_program
1546         http://oss.sgi.com/projects/ogl-sample/registry/NV/fragment_program.txt
1547         XXX: Need to write up vops
1548         -->
1549
1550         <!--
1551         GL_OES_single_precision
1552         http://oss.sgi.com/projects/ogl-sample/registry/OES/single_precision.txt
1553         XXX: Need to write up vops
1554         -->
1555         
1556 </xcb>