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