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