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