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