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