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