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