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