1<?xml version="1.0" encoding="utf-8"?>
2<!--
3Copyright (C) 2005 Jeremy Kolb.
4All Rights Reserved.
5
6Permission is hereby granted, free of charge, to any person ob/Sintaining a copy
7of this software and associated documentation files (the "Software"), to deal
8in the Software without restriction, including without limitation the rights
9to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10copies of the Software, and to permit persons to whom the Software is
11furnished to do so, subject to the following conditions:
12
13The above copyright notice and this permission notice shall be included in all
14copies or substantial portions of the Software.
15
16THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
23Except as contained in this notice, the names of the authors or their
24institutions shall not be used in advertising or otherwise to promote the
25sale, use or other dealings in this Software without prior written
26authorization from the authors.
27-->
28
29<!--
30Note that on X.org servers before 6.9 (and probably others as well) the length
31field in the reply is computed incorrectly for GetFBConfigs and
32VendorPrivateWithReply vendor_code 0x10004 (GetFBConfigsSGIX). For these
33requests the reply structure begins:
34	<pad bytes="1" />
35	<field type="CARD32" name="numVisuals" />
36	<field type="CARD32" name="numProps" />
37The correct value for the length field is
38	numVisuals * numProps * 2
39but on broken servers the "* 2" was missing. A workaround that is correct for
40all implementations is to rewrite the length field on receipt on the client
41side, using the expression above.
42
43The 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		<pad align="4" />
495		<list type="char" name="glx_extension_string">
496			<fieldref>glx_str_len</fieldref>
497		</list>
498	</request>
499
500	<request name="CreateContextAttribsARB" opcode="34">
501		<field type="glx:CONTEXT" name="context" />
502		<field type="FBCONFIG" name="fbconfig" />
503		<field type="CARD32" name="screen" />
504		<field type="glx:CONTEXT" name="share_list" />
505		<field type="BOOL" name="is_direct" />
506		<pad bytes="3" />
507		<field type="CARD32" name="num_attribs" />
508		<list type="CARD32" name="attribs">
509			<op op="*">
510				<fieldref>num_attribs</fieldref>
511				<value>2</value>
512			</op>
513		</list>
514	</request>
515
516	<request name="SetClientInfo2ARB" opcode="35">
517		<field type="CARD32" name="major_version" />
518		<field type="CARD32" name="minor_version" />
519		<field type="CARD32" name="num_versions" />
520		<field type="CARD32" name="gl_str_len" />
521		<field type="CARD32" name="glx_str_len" />
522		<list type="CARD32" name="gl_versions">
523			<op op="*">
524				<fieldref>num_versions</fieldref>
525				<value>3</value>
526			</op>
527		</list>
528		<list type="char" name="gl_extension_string">
529			<fieldref>gl_str_len</fieldref>
530		</list>
531		<pad align="4" />
532		<list type="char" name="glx_extension_string">
533			<fieldref>glx_str_len</fieldref>
534		</list>
535	</request>
536
537	<!-- Requests for GL Non-rendering Commands (single ops) -->
538
539	<request name="NewList" opcode="101">
540		<field type="CONTEXT_TAG" name="context_tag" />
541		<field type="CARD32" name="list" />
542		<field type="CARD32" name="mode" />
543	</request>
544
545	<request name="EndList" opcode="102">
546		<field type="CONTEXT_TAG" name="context_tag" />
547	</request>
548
549	<request name="DeleteLists" opcode="103">
550		<field type="CONTEXT_TAG" name="context_tag" />
551		<field type="CARD32" name="list" />
552		<field type="INT32" name="range" />
553	</request>
554
555	<request name="GenLists" opcode="104">
556		<field type="CONTEXT_TAG" name="context_tag" />
557		<field type="INT32" name="range" />
558		<reply>
559			<pad bytes="1" />
560			<field type="CARD32" name="ret_val" />
561		</reply>
562	</request>
563
564	<request name="FeedbackBuffer" opcode="105">
565		<field type="CONTEXT_TAG" name="context_tag" />
566		<field type="INT32" name="size" />
567		<field type="INT32" name="type" />
568	</request>
569
570	<request name="SelectBuffer" opcode="106">
571		<field type="CONTEXT_TAG" name="context_tag" />
572		<field type="INT32" name="size" />
573		<!-- the reply is actually returned in the data
574		of the next RenderMode request -->
575	</request>
576
577
578	<request name="RenderMode" opcode="107">
579		<field type="CONTEXT_TAG" name="context_tag" />
580		<field type="CARD32" name="mode" />
581		<!--
582		This reply is only if RM was previously feedback/selection.
583		If it was in feedback mode then data is FLOAT32.
584		If previously in render mode there is no reply.
585		-->
586		<reply>
587			<pad bytes="1" />
588			<field type="CARD32" name="ret_val" />
589			<field type="CARD32" name="n" />
590			<field type="CARD32" name="new_mode" />
591			<pad bytes="12" />
592			<list type="CARD32" name="data">
593				<fieldref>n</fieldref>
594			</list>
595		</reply>
596	</request>
597
598	<enum name="RM">
599		<item name="GL_RENDER"><value>7168</value></item>
600		<item name="GL_FEEDBACK"><value>7169</value></item>
601		<item name="GL_SELECT"><value>7170</value></item>
602	</enum>
603
604	<request name="Finish" opcode="108">
605		<field type="CONTEXT_TAG" name="context_tag" />
606		<reply>
607			<pad bytes="1" />
608		</reply>
609	</request>
610
611	<request name="PixelStoref" opcode="109">
612		<field type="CONTEXT_TAG" name="context_tag" />
613		<field type="CARD32" name="pname" />
614		<field type="FLOAT32" name="datum" />
615	</request>
616
617	<request name="PixelStorei" opcode="110">
618		<field type="CONTEXT_TAG" name="context_tag" />
619		<field type="CARD32" name="pname" />
620		<field type="INT32" name="datum" />
621	</request>
622
623	<request name="ReadPixels" opcode="111">
624		<field type="CONTEXT_TAG" name="context_tag" />
625		<field type="INT32" name="x" />
626		<field type="INT32" name="y" />
627		<field type="INT32" name="width" />
628		<field type="INT32" name="height" />
629		<field type="CARD32" name="format" />
630		<field type="CARD32" name="type" />
631		<field type="BOOL" name="swap_bytes" />
632		<field type="BOOL" name="lsb_first" />
633		<reply>
634			<pad bytes="1" />
635			<pad bytes="24" />
636			<list type="BYTE" name="data">
637				<op op="*">
638					<fieldref>length</fieldref>
639					<value>4</value>
640				</op>
641			</list>
642		</reply>
643	</request>
644		
645	<!-- FIXME:
646	All the Get* functions can return different stuff for replies.
647	Hopefully xcb will support multiple reply structures at some point
648	but for now... grrrr
649	Starts on page 58/180
650	-->
651	<request name="GetBooleanv" opcode="112">
652		<field type="CONTEXT_TAG" name="context_tag" />
653		<field type="INT32" name="pname" />
654		<reply>
655			<pad bytes="1" />
656			<pad bytes="4" />
657			<field type="CARD32" name="n" />
658			<field type="BOOL" name="datum" />
659			<pad bytes="15" />
660			<list type="BOOL" name="data">
661				<fieldref>n</fieldref>
662			</list>
663		</reply>
664	</request>
665
666	<request name="GetClipPlane" opcode="113">
667		<field type="CONTEXT_TAG" name="context_tag" />
668		<field type="INT32" name="plane" />
669		<reply>
670			<required_start_align align="8" />
671			<pad bytes="1" />
672			<pad bytes="24" />
673			<list type="FLOAT64" name="data">
674				<op op="/">
675					<fieldref>length</fieldref>
676					<value>2</value>
677				</op>
678			</list>
679		</reply>
680	</request>
681
682	<request name="GetDoublev" opcode="114">
683		<field type="CONTEXT_TAG" name="context_tag" />
684		<field type="CARD32" name="pname" />
685		<reply>
686			<required_start_align align="8" />
687			<pad bytes="1" />
688			<pad bytes="4" />
689			<field type="CARD32" name="n" />
690			<field type="FLOAT64" name="datum" />
691			<pad bytes="8" />
692			<list type="FLOAT64" name="data">
693				<fieldref>n</fieldref>
694			</list>
695		</reply>
696	</request>
697
698	<request name="GetError" opcode="115">
699		<field type="CONTEXT_TAG" name="context_tag" />
700		<reply>
701			<pad bytes="1" />
702			<field type="INT32" name="error" />
703		</reply>
704	</request>
705
706	<request name="GetFloatv" opcode="116">
707		<field type="CONTEXT_TAG" name="context_tag" />
708		<field type="CARD32" name="pname" />
709		<reply>
710			<pad bytes="1" />
711			<pad bytes="4" />
712			<field type="CARD32" name="n" />
713			<field type="FLOAT32" name="datum" />
714			<pad bytes="12" />
715			<list type="FLOAT32" name="data">
716				<fieldref>n</fieldref>
717			</list>
718		</reply>
719	</request>
720
721	<request name="GetIntegerv" opcode="117">
722		<field type="CONTEXT_TAG" name="context_tag" />
723		<field type="CARD32" name="pname" />
724		<reply>
725			<pad bytes="1" />
726			<pad bytes="4" />
727			<field type="CARD32" name="n" />
728			<field type="INT32" name="datum" />
729			<pad bytes="12" />
730			<list type="INT32" name="data">
731				<fieldref>n</fieldref>
732			</list>
733		</reply>
734	</request>
735
736	<request name="GetLightfv" opcode="118">
737		<field type="CONTEXT_TAG" name="context_tag" />
738		<field type="CARD32" name="light" />
739		<field type="CARD32" name="pname" />
740		<reply>
741			<pad bytes="1" />
742			<pad bytes="4" />
743			<field type="CARD32" name="n" />
744			<field type="FLOAT32" name="datum" />
745			<pad bytes="12" />
746			<list type="FLOAT32" name="data">
747				<fieldref>n</fieldref>
748			</list>
749		</reply>
750	</request>
751
752	<request name="GetLightiv" opcode="119">
753		<field type="CONTEXT_TAG" name="context_tag" />
754		<field type="CARD32" name="light" />
755		<field type="CARD32" name="pname" />
756		<reply>
757			<pad bytes="1" />
758			<pad bytes="4" />
759			<field type="CARD32" name="n" />
760			<field type="INT32" name="datum" />
761			<pad bytes="12" />
762			<list type="INT32" name="data">
763				<fieldref>n</fieldref>
764			</list>
765		</reply>
766	</request>
767
768	<request name="GetMapdv" opcode="120">
769		<field type="CONTEXT_TAG" name="context_tag" />
770		<field type="CARD32" name="target" />
771		<field type="CARD32" name="query" />
772		<reply>
773			<required_start_align align="8" />
774			<pad bytes="1" />
775			<pad bytes="4" />
776			<field type="CARD32" name="n" />
777			<field type="FLOAT64" name="datum" />
778			<pad bytes="8" />
779			<list type="FLOAT64" name="data">
780				<fieldref>n</fieldref>
781			</list>
782		</reply>
783	</request>
784
785	<request name="GetMapfv" opcode="121">
786		<field type="CONTEXT_TAG" name="context_tag" />
787		<field type="CARD32" name="target" />
788		<field type="CARD32" name="query" />
789		<reply>
790			<pad bytes="1" />
791			<pad bytes="4" />
792			<field type="CARD32" name="n" />
793			<field type="FLOAT32" name="datum" />
794			<pad bytes="12" />
795			<list type="FLOAT32" name="data">
796				<fieldref>n</fieldref>
797			</list>
798		</reply>
799	</request>
800
801	<request name="GetMapiv" opcode="122">
802		<field type="CONTEXT_TAG" name="context_tag" />
803		<field type="CARD32" name="target" />
804		<field type="CARD32" name="query" />
805		<reply>
806			<pad bytes="1" />
807			<pad bytes="4" />
808			<field type="CARD32" name="n" />
809			<field type="INT32" name="datum" />
810			<pad bytes="12" />
811			<list type="INT32" name="data">
812				<fieldref>n</fieldref>
813			</list>
814		</reply>
815	</request>
816
817	<request name="GetMaterialfv" opcode="123">
818		<field type="CONTEXT_TAG" name="context_tag" />
819		<field type="CARD32" name="face" />
820		<field type="CARD32" name="pname" />
821		<reply>
822			<pad bytes="1" />
823			<pad bytes="4" />
824			<field type="CARD32" name="n" />
825			<field type="FLOAT32" name="datum" />
826			<pad bytes="12" />
827			<list type="FLOAT32" name="data">
828				<fieldref>n</fieldref>
829			</list>
830		</reply>
831	</request>
832
833	<request name="GetMaterialiv" opcode="124">
834		<field type="CONTEXT_TAG" name="context_tag" />
835		<field type="CARD32" name="face" />
836		<field type="CARD32" name="pname" />
837		<reply>
838			<pad bytes="1" />
839			<pad bytes="4" />
840			<field type="CARD32" name="n" />
841			<field type="INT32" name="datum" />
842			<pad bytes="12" />
843			<list type="INT32" name="data">
844				<fieldref>n</fieldref>
845			</list>
846		</reply>
847	</request>
848
849	<request name="GetPixelMapfv" opcode="125">
850		<field type="CONTEXT_TAG" name="context_tag" />
851		<field type="CARD32" name="map" />
852		<reply>
853			<pad bytes="1" />
854			<pad bytes="4" />
855			<field type="CARD32" name="n" />
856			<field type="FLOAT32" name="datum" />
857			<pad bytes="12" />
858			<list type="FLOAT32" name="data">
859				<fieldref>n</fieldref>
860			</list>
861		</reply>
862	</request>
863
864	<request name="GetPixelMapuiv" opcode="126">
865		<field type="CONTEXT_TAG" name="context_tag" />
866		<field type="CARD32" name="map" />
867		<reply>
868			<pad bytes="1" />
869			<pad bytes="4" />
870			<field type="CARD32" name="n" />
871			<field type="CARD32" name="datum" />
872			<pad bytes="12" />
873			<list type="CARD32" name="data">
874				<fieldref>n</fieldref>
875			</list>
876		</reply>
877	</request>
878
879	<request name="GetPixelMapusv" opcode="127">
880		<field type="CONTEXT_TAG" name="context_tag" />
881		<field type="CARD32" name="map" />
882		<reply>
883			<pad bytes="1" />
884			<pad bytes="4" />
885			<field type="CARD32" name="n" />
886			<field type="CARD16" name="datum" />
887			<pad bytes="16" />
888			<list type="CARD16" name="data">
889				<fieldref>n</fieldref>
890			</list>
891		</reply>
892	</request>
893
894	<request name="GetPolygonStipple" opcode="128">
895		<field type="CONTEXT_TAG" name="context_tag" />
896		<field type="BOOL" name="lsb_first" />
897		<reply>
898			<pad bytes="1" />
899			<pad bytes="24" />
900			<list type="BYTE" name="data">
901				<op op="*">
902					<fieldref>length</fieldref>
903					<value>4</value>
904				</op>
905			</list>
906		</reply>
907	</request>
908
909
910	<request name="GetString" opcode="129">
911		<field type="CONTEXT_TAG" name="context_tag" />
912		<field type="CARD32" name="name" />
913		<reply>
914			<pad bytes="1" />
915			<pad bytes="4" />
916			<field type="CARD32" name="n" />
917			<pad bytes="16" />
918			<list type="char" name="string">
919				<fieldref>n</fieldref>
920			</list>
921		</reply>
922	</request>
923
924	<request name="GetTexEnvfv" opcode="130">
925		<field type="CONTEXT_TAG" name="context_tag" />
926		<field type="CARD32" name="target" />
927		<field type="CARD32" name="pname" />
928		<reply>
929			<pad bytes="1" />
930			<pad bytes="4" />
931			<field type="CARD32" name="n" />
932			<field type="FLOAT32" name="datum" />
933			<pad bytes="12" />
934			<list type="FLOAT32" name="data">
935				<fieldref>n</fieldref>
936			</list>
937		</reply>
938	</request>
939
940	<request name="GetTexEnviv" opcode="131">
941		<field type="CONTEXT_TAG" name="context_tag" />
942		<field type="CARD32" name="target" />
943		<field type="CARD32" name="pname" />
944		<reply>
945			<pad bytes="1" />
946			<pad bytes="4" />
947			<field type="CARD32" name="n" />
948			<field type="INT32" name="datum" />
949			<pad bytes="12" />
950			<list type="INT32" name="data">
951				<fieldref>n</fieldref>
952			</list>
953		</reply>
954	</request>
955
956	<request name="GetTexGendv" opcode="132">
957		<field type="CONTEXT_TAG" name="context_tag" />
958		<field type="CARD32" name="coord" />
959		<field type="CARD32" name="pname" />
960		<reply>
961			<required_start_align align="8" />
962			<pad bytes="1" />
963			<pad bytes="4" />
964			<field type="CARD32" name="n" />
965			<field type="FLOAT64" name="datum" />
966			<pad bytes="8" />
967			<list type="FLOAT64" name="data">
968				<fieldref>n</fieldref>
969			</list>
970		</reply>
971	</request>
972
973	<request name="GetTexGenfv" opcode="133">
974		<field type="CONTEXT_TAG" name="context_tag" />
975		<field type="CARD32" name="coord" />
976		<field type="CARD32" name="pname" />
977		<reply>
978			<pad bytes="1" />
979			<pad bytes="4" />
980			<field type="CARD32" name="n" />
981			<field type="FLOAT32" name="datum" />
982			<pad bytes="12" />
983			<list type="FLOAT32" name="data">
984				<fieldref>n</fieldref>
985			</list>
986		</reply>
987	</request>
988
989	<request name="GetTexGeniv" opcode="134">
990		<field type="CONTEXT_TAG" name="context_tag" />
991		<field type="CARD32" name="coord" />
992		<field type="CARD32" name="pname" />
993		<reply>
994			<pad bytes="1" />
995			<pad bytes="4" />
996			<field type="CARD32" name="n" />
997			<field type="INT32" name="datum" />
998			<pad bytes="12" />
999			<list type="INT32" name="data">
1000				<fieldref>n</fieldref>
1001			</list>
1002		</reply>
1003	</request>
1004
1005	<request name="GetTexImage" opcode="135">
1006		<field type="CONTEXT_TAG" name="context_tag" />
1007		<field type="CARD32" name="target" />
1008		<field type="INT32" name="level" />
1009		<field type="CARD32" name="format" />
1010		<field type="CARD32" name="type" />
1011		<field type="BOOL" name="swap_bytes" />
1012		<reply>
1013			<pad bytes="1" />
1014			<pad bytes="8" />
1015			<field type="INT32" name="width" />
1016			<field type="INT32" name="height" />
1017			<field type="INT32" name="depth" />
1018			<pad bytes="4" />
1019			<list type="BYTE" name="data">
1020				<op op="*">
1021					<fieldref>length</fieldref>
1022					<value>4</value>
1023				</op>
1024			</list>
1025		</reply>
1026	</request>
1027	    
1028
1029	<request name="GetTexParameterfv" opcode="136">
1030		<field type="CONTEXT_TAG" name="context_tag" />
1031		<field type="CARD32" name="target" />
1032		<field type="CARD32" name="pname" />
1033		<reply>
1034			<pad bytes="1" />
1035			<pad bytes="4" />
1036			<field type="CARD32" name="n" />
1037			<field type="FLOAT32" name="datum" />
1038			<pad bytes="12" />
1039			<list type="FLOAT32" name="data">
1040				<fieldref>n</fieldref>
1041			</list>
1042		</reply>
1043	</request>
1044
1045	<request name="GetTexParameteriv" opcode="137">
1046		<field type="CONTEXT_TAG" name="context_tag" />
1047		<field type="CARD32" name="target" />
1048		<field type="CARD32" name="pname" />
1049		<reply>
1050			<pad bytes="1" />
1051			<pad bytes="4" />
1052			<field type="CARD32" name="n" />
1053			<field type="INT32" name="datum" />
1054			<pad bytes="12" />
1055			<list type="INT32" name="data">
1056				<fieldref>n</fieldref>
1057			</list>
1058		</reply>
1059	</request>
1060
1061	<request name="GetTexLevelParameterfv" opcode="138">
1062		<field type="CONTEXT_TAG" name="context_tag" />
1063		<field type="CARD32" name="target" />
1064		<field type="INT32" name="level" />
1065		<field type="CARD32" name="pname" />
1066		<reply>
1067			<pad bytes="1" />
1068			<pad bytes="4" />
1069			<field type="CARD32" name="n" />
1070			<field type="FLOAT32" name="datum" />
1071			<pad bytes="12" />
1072			<list type="FLOAT32" name="data">
1073				<fieldref>n</fieldref>
1074			</list>
1075		</reply>
1076	</request>
1077
1078	<request name="GetTexLevelParameteriv" opcode="139">
1079		<field type="CONTEXT_TAG" name="context_tag" />
1080		<field type="CARD32" name="target" />
1081		<field type="INT32" name="level" />
1082		<field type="CARD32" name="pname" />
1083		<reply>
1084			<pad bytes="1" />
1085			<pad bytes="4" />
1086			<field type="CARD32" name="n" />
1087			<field type="INT32" name="datum" />
1088			<pad bytes="12" />
1089			<list type="INT32" name="data">
1090				<fieldref>n</fieldref>
1091			</list>
1092		</reply>
1093	</request>
1094
1095	<request name="IsEnabled" opcode="140" >
1096		<field type="CONTEXT_TAG" name="context_tag" />
1097		<field type="CARD32" name="capability" />
1098		<reply>
1099			<pad bytes="1" />
1100			<field type="BOOL32" name="ret_val" />
1101		</reply>
1102	</request>
1103
1104	<request name="IsList" opcode="141" >
1105		<field type="CONTEXT_TAG" name="context_tag" />
1106		<field type="CARD32" name="list" />
1107		<reply>
1108			<pad bytes="1" />
1109			<field type="BOOL32" name="ret_val" />
1110		</reply>
1111	</request>
1112
1113	<request name="Flush" opcode="142">
1114		<field type="CONTEXT_TAG" name="context_tag" />
1115	</request>
1116
1117	<request name="AreTexturesResident" opcode="143">
1118		<field type="CONTEXT_TAG" name="context_tag" />
1119		<field type="INT32" name="n" />
1120		<list type="CARD32" name="textures">
1121		    <fieldref>n</fieldref>
1122		</list>
1123		<reply>
1124			<pad bytes="1" />
1125			<field type="BOOL32" name="ret_val" />
1126			<pad bytes="20" />
1127			<list type="BOOL" name="data">
1128				<op op="*">
1129					<fieldref>length</fieldref>
1130					<value>4</value>
1131				</op>
1132			</list>
1133		</reply>
1134	</request>
1135
1136	<request name="DeleteTextures" opcode="144">
1137		<field type="CONTEXT_TAG" name="context_tag" />
1138		<field type="INT32" name="n" />
1139		<list type="CARD32" name="textures">
1140			<fieldref>n</fieldref>
1141		</list>
1142	</request>
1143
1144	<request name="GenTextures" opcode="145">
1145		<field type="CONTEXT_TAG" name="context_tag" />
1146		<field type="INT32" name="n" />
1147		<reply>
1148			<pad bytes="1" />
1149			<pad bytes="24" />
1150			<list type="CARD32" name="data">
1151				<fieldref>length</fieldref>
1152			</list>
1153		</reply>
1154	</request>
1155
1156	<request name="IsTexture" opcode="146">
1157		<field type="CONTEXT_TAG" name="context_tag" />
1158		<field type="CARD32" name="texture" />
1159		<reply>
1160			<pad bytes="1" />
1161			<field type="BOOL32" name="ret_val" />
1162		</reply>
1163	</request>
1164
1165	<request name="GetColorTable" opcode="147">
1166		<field type="CONTEXT_TAG" name="context_tag" />
1167		<field type="CARD32" name="target" />
1168		<field type="CARD32" name="format" />
1169		<field type="CARD32" name="type" />
1170		<field type="BOOL" name="swap_bytes" />
1171		<reply>
1172			<pad bytes="1" />
1173			<pad bytes="8" />
1174			<field type="INT32" name="width" />
1175			<pad bytes="12" />
1176			<list type="BYTE" name="data">
1177				<op op="*">
1178					<fieldref>length</fieldref>
1179					<value>4</value>
1180				</op>
1181			</list>
1182		</reply>
1183	</request>
1184	
1185	<request name="GetColorTableParameterfv" opcode="148">
1186		<field type="CONTEXT_TAG" name="context_tag" />
1187		<field type="CARD32" name="target" />
1188		<field type="CARD32" name="pname" />
1189		<reply>
1190			<pad bytes="1" />
1191			<pad bytes="4" />
1192			<field type="CARD32" name="n" />
1193			<field type="FLOAT32" name="datum" />
1194			<pad bytes="12" />
1195			<list type="FLOAT32" name="data">
1196				<fieldref>n</fieldref>
1197			</list>
1198		</reply>
1199	</request>
1200
1201	<request name="GetColorTableParameteriv" opcode="149">
1202		<field type="CONTEXT_TAG" name="context_tag" />
1203		<field type="CARD32" name="target" />
1204		<field type="CARD32" name="pname" />
1205		<reply>
1206			<pad bytes="1" />
1207			<pad bytes="4" />
1208			<field type="CARD32" name="n" />
1209			<field type="INT32" name="datum" />
1210			<pad bytes="12" />
1211			<list type="INT32" name="data">
1212				<fieldref>n</fieldref>
1213			</list>
1214		</reply>
1215	</request>
1216
1217	<request name="GetConvolutionFilter" opcode="150">
1218		<field type="CONTEXT_TAG" name="context_tag" />
1219		<field type="CARD32" name="target" />
1220		<field type="CARD32" name="format" />
1221		<field type="CARD32" name="type" />
1222		<field type="BOOL" name="swap_bytes" />
1223		<reply>
1224			<pad bytes="1" />
1225			<pad bytes="8" />
1226			<field type="INT32" name="width" />
1227			<field type="INT32" name="height" />
1228			<pad bytes="8" />
1229			<list type="BYTE" name="data">
1230				<op op="*">
1231					<fieldref>length</fieldref>
1232					<value>4</value>
1233				</op>
1234			</list>
1235		</reply>
1236	</request>
1237
1238
1239	<request name="GetConvolutionParameterfv" opcode="151">
1240		<field type="CONTEXT_TAG" name="context_tag" />
1241		<field type="CARD32" name="target" />
1242		<field type="CARD32" name="pname" />
1243		<reply>
1244			<pad bytes="1" />
1245			<pad bytes="4" />
1246			<field type="CARD32" name="n" />
1247			<field type="FLOAT32" name="datum" />
1248			<pad bytes="12" />
1249			<list type="FLOAT32" name="data">
1250				<fieldref>n</fieldref>
1251			</list>
1252		</reply>
1253	</request>
1254
1255	<request name="GetConvolutionParameteriv" opcode="152">
1256		<field type="CONTEXT_TAG" name="context_tag" />
1257		<field type="CARD32" name="target" />
1258		<field type="CARD32" name="pname" />
1259		<reply>
1260			<pad bytes="1" />
1261			<pad bytes="4" />
1262			<field type="CARD32" name="n" />
1263			<field type="INT32" name="datum" />
1264			<pad bytes="12" />
1265			<list type="INT32" name="data">
1266				<fieldref>n</fieldref>
1267			</list>
1268		</reply>
1269	</request>
1270
1271	<request name="GetSeparableFilter" opcode="153">
1272		<field type="CONTEXT_TAG" name="context_tag" />
1273		<field type="CARD32" name="target" />
1274		<field type="CARD32" name="format" />
1275		<field type="CARD32" name="type" />
1276		<field type="BOOL" name="swap_bytes" />
1277		<reply>
1278			<pad bytes="1" />
1279			<pad bytes="8" />
1280			<field type="INT32" name="row_w" />
1281			<field type="INT32" name="col_h" />
1282			<pad bytes="8" />
1283			<list type="BYTE" name="rows_and_cols">
1284				<op op="*">
1285					<fieldref>length</fieldref>
1286					<value>4</value>
1287				</op>
1288			</list>
1289		</reply>
1290	</request>
1291
1292	<request name="GetHistogram" opcode="154">
1293		<field type="CONTEXT_TAG" name="context_tag" />
1294		<field type="CARD32" name="target" />
1295		<field type="CARD32" name="format" />
1296		<field type="CARD32" name="type" />
1297		<field type="BOOL" name="swap_bytes" />
1298		<field type="BOOL" name="reset" />
1299		<reply>
1300			<pad bytes="1" />
1301			<pad bytes="8" />
1302			<field type="INT32" name="width" />
1303			<pad bytes="12" />
1304			<list type="BYTE" name="data">
1305				<op op="*">
1306					<fieldref>length</fieldref>
1307					<value>4</value>
1308				</op>
1309			</list>
1310		</reply>
1311	</request>
1312
1313
1314	<request name="GetHistogramParameterfv" opcode="155">
1315		<field type="CONTEXT_TAG" name="context_tag" />
1316		<field type="CARD32" name="target" />
1317		<field type="CARD32" name="pname" />
1318		<reply>
1319			<pad bytes="1" />
1320			<pad bytes="4" />
1321			<field type="CARD32" name="n" />
1322			<field type="FLOAT32" name="datum" />
1323			<pad bytes="12" />
1324			<list type="FLOAT32" name="data">
1325				<fieldref>n</fieldref>
1326			</list>
1327		</reply>
1328	</request>
1329
1330	<request name="GetHistogramParameteriv" opcode="156">
1331		<field type="CONTEXT_TAG" name="context_tag" />
1332		<field type="CARD32" name="target" />
1333		<field type="CARD32" name="pname" />
1334		<reply>
1335			<pad bytes="1" />
1336			<pad bytes="4" />
1337			<field type="CARD32" name="n" />
1338			<field type="INT32" name="datum" />
1339			<pad bytes="12" />
1340			<list type="INT32" name="data">
1341				<fieldref>n</fieldref>
1342			</list>
1343		</reply>
1344	</request>
1345
1346	<request name="GetMinmax" opcode="157">
1347		<field type="CONTEXT_TAG" name="context_tag" />
1348		<field type="CARD32" name="target" />
1349		<field type="CARD32" name="format" />
1350		<field type="CARD32" name="type" />
1351		<field type="BOOL" name="swap_bytes" />
1352		<field type="BOOL" name="reset" />
1353		<reply>
1354			<pad bytes="1" />
1355			<pad bytes="24" />
1356			<list type="BYTE" name="data">
1357				<op op="*">
1358					<fieldref>length</fieldref>
1359					<value>4</value>
1360				</op>
1361			</list>
1362		</reply>
1363	</request>
1364
1365	<request name="GetMinmaxParameterfv" opcode="158">
1366		<field type="CONTEXT_TAG" name="context_tag" />
1367		<field type="CARD32" name="target" />
1368		<field type="CARD32" name="pname" />
1369		<reply>
1370			<pad bytes="1" />
1371			<pad bytes="4" />
1372			<field type="CARD32" name="n" />
1373			<field type="FLOAT32" name="datum" />
1374			<pad bytes="12" />
1375			<list type="FLOAT32" name="data">
1376				<fieldref>n</fieldref>
1377			</list>
1378		</reply>
1379	</request>
1380
1381	<request name="GetMinmaxParameteriv" opcode="159">
1382		<field type="CONTEXT_TAG" name="context_tag" />
1383		<field type="CARD32" name="target" />
1384		<field type="CARD32" name="pname" />
1385		<reply>
1386			<pad bytes="1" />
1387			<pad bytes="4" />
1388			<field type="CARD32" name="n" />
1389			<field type="INT32" name="datum" />
1390			<pad bytes="12" />
1391			<list type="INT32" name="data">
1392				<fieldref>n</fieldref>
1393			</list>
1394		</reply>
1395	</request>
1396
1397	<!--
1398	GLX Extensions
1399	
1400	* XXX: So far only define non-rendering commands.
1401	* Only those extensions that affect the GLX wire protocol are listed.
1402	-->
1403
1404	<!--
1405	GL_ARB_texture_compression
1406	http://oss.sgi.com/projects/ogl-sample/registry/ARB/texture_compression.txt
1407	-->
1408	<request name="GetCompressedTexImageARB" opcode="160">
1409		<field type="CONTEXT_TAG" name="context_tag" />
1410		<field type="CARD32" name="target" />
1411		<field type="INT32" name="level" />
1412		<reply>
1413			<pad bytes="1" />
1414			<pad bytes="8" />
1415			<field type="INT32" name="size" />
1416			<pad bytes="12" />
1417			<list type="BYTE" name="data">
1418				<op op="*">
1419					<fieldref>length</fieldref>
1420					<value>4</value>
1421				</op>
1422			</list>
1423		</reply>
1424	</request>
1425
1426	
1427	<!--
1428	GL_ARB_occlusion_query
1429	http://oss.sgi.com/projects/ogl-sample/registry/ARB/occlusion_query.txt
1430	-->
1431
1432	<request name="DeleteQueriesARB" opcode="161">
1433		<field type="CONTEXT_TAG" name="context_tag" />
1434		<field type="INT32" name="n" />
1435		<list type="CARD32" name="ids">
1436			<fieldref>n</fieldref>
1437		</list>
1438	</request>
1439
1440	<request name="GenQueriesARB" opcode="162">
1441		<field type="CONTEXT_TAG" name="context_tag" />
1442		<field type="INT32" name="n" />
1443		<reply>
1444			<pad bytes="1" />
1445			<pad bytes="24" />
1446			<list type="CARD32" name="data">
1447				<fieldref>length</fieldref>
1448			</list>
1449		</reply>
1450	</request>
1451	
1452	<request name="IsQueryARB" opcode="163">
1453		<field type="CONTEXT_TAG" name="context_tag" />
1454		<field type="CARD32" name="id" />
1455		<reply>
1456			<pad bytes="1" />
1457			<field type="BOOL32" name="ret_val" />
1458		</reply>
1459	</request>
1460	
1461	<request name="GetQueryivARB" opcode="164">
1462		<field type="CONTEXT_TAG" name="context_tag" />
1463		<field type="CARD32" name="target" />
1464		<field type="CARD32" name="pname" />
1465		<reply>
1466			<pad bytes="1" />
1467			<pad bytes="4" />
1468			<field type="CARD32" name="n" />
1469			<field type="INT32" name="datum" />
1470			<pad bytes="12" />
1471			<list type="INT32" name="data">
1472				<fieldref>n</fieldref>
1473			</list>
1474		</reply>
1475	</request>
1476	
1477	<request name="GetQueryObjectivARB" opcode="165">
1478		<field type="CONTEXT_TAG" name="context_tag" />
1479		<field type="CARD32" name="id" />
1480		<field type="CARD32" name="pname" />
1481		<reply>
1482			<pad bytes="1" />
1483			<pad bytes="4" />
1484			<field type="CARD32" name="n" />
1485			<field type="INT32" name="datum" />
1486			<pad bytes="12" />
1487			<list type="INT32" name="data">
1488				<fieldref>n</fieldref>
1489			</list>
1490		</reply>
1491	</request>
1492	
1493	<request name="GetQueryObjectuivARB" opcode="166">
1494		<field type="CONTEXT_TAG" name="context_tag" />
1495		<field type="CARD32" name="id" />
1496		<field type="CARD32" name="pname" />
1497		<reply>
1498			<pad bytes="1" />
1499			<pad bytes="4" />
1500			<field type="CARD32" name="n" />
1501			<field type="CARD32" name="datum" />
1502			<pad bytes="12" />
1503			<list type="CARD32" name="data">
1504				<fieldref>n</fieldref>
1505			</list>
1506		</reply>
1507	</request>
1508	
1509	<!--
1510	GL_ARB_vertex_program
1511	http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_program.txt
1512	XXX: Need to write up vops
1513	--> 
1514
1515	<!--
1516	GL_ARB_fragment_program
1517	http://oss.sgi.com/projects/ogl-sample/registry/ARB/fragment_program.txt
1518	XXX: Need to write up vops
1519	-->
1520	
1521	<!--
1522	GL_SGIS_texture_filter4
1523	http://oss.sgi.com/projects/ogl-sample/registry/SGIS/texture_filter4.txt
1524	XXX: Need to write up vops
1525	-->
1526
1527	<!--
1528	GL_EXT_histogram
1529	http://oss.sgi.com/projects/ogl-sample/registry/EXT/histogram.txt
1530	XXX: Need to write up vops
1531	-->
1532
1533	<!--
1534	GL_EXT_convolution
1535	http://oss.sgi.com/projects/ogl-sample/registry/EXT/convolution.txt
1536	XXX: Need to write up vops
1537	-->
1538
1539	<!--
1540	GL_SGI_color_table
1541	http://oss.sgi.com/projects/ogl-sample/registry/SGI/color_table.txt
1542	XXX: Need to write up vops
1543	-->
1544
1545	<!--
1546	GL_EXT_texture_object
1547	http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_object.txt
1548	XXX: Need to write up vops
1549	-->
1550
1551	<!--
1552	GL_SGIS_detail_texture
1553	http://oss.sgi.com/projects/ogl-sample/registry/SGIS/detail_texture.txt
1554	XXX: Need to write up vops
1555	-->
1556
1557	<!--
1558	GL_SGIS_sharpen_texture
1559	http://oss.sgi.com/projects/ogl-sample/registry/SGIS/sharpen_texture.txt
1560	XXX: Need to write up vops
1561	-->
1562
1563	<!--
1564	GL_SGI_make_current_read
1565	http://oss.sgi.com/projects/ogl-sample/registry/SGI/make_current_read.txt
1566	XXX: Need to write up vops
1567	-->
1568
1569	<!--
1570	GL_EXT_import_context
1571	http://oss.sgi.com/projects/ogl-sample/registry/EXT/import_context.txt
1572	XXX: Need to write up vops
1573	-->
1574
1575	<!--
1576	GL_SGIX_fbconfig
1577	http://oss.sgi.com/projects/ogl-sample/registry/SGIX/fbconfig.txt
1578	XXX: Need to write up vops
1579	-->
1580
1581	<!--
1582	GL_SGIX_pbuffer
1583	http://oss.sgi.com/projects/ogl-sample/registry/SGIX/pbuffer.txt
1584	XXX: Need to write up vops
1585	-->
1586
1587	<!--
1588	GL_EXT_pixel_transform
1589	http://oss.sgi.com/projects/ogl-sample/registry/EXT/pixel_transform.txt
1590	XXX: Need to write up vops
1591	-->
1592	
1593	<!--
1594	GL_NV_register_combiners
1595	http://oss.sgi.com/projects/ogl-sample/registry/NV/register_combiners.txt
1596	XXX: Need to write up vops
1597	-->
1598
1599	<!--
1600	GL_NV_fence
1601	http://oss.sgi.com/projects/ogl-sample/registry/NV/fence.txt
1602	XXX: Need to write up vops
1603	-->
1604
1605	<!--
1606	GL_NV_register_combiners2
1607	http://oss.sgi.com/projects/ogl-sample/registry/NV/register_combiners2.txt
1608	XXX: Need to write up vops
1609	-->
1610
1611	<!--
1612	GL_NV_vertex_program
1613	http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_program.txt
1614	XXX: Need to write up vops
1615	-->
1616
1617	<!--
1618	GL_NV_vertex_program
1619	http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_program.txt
1620	XXX: Need to write up vops
1621	-->
1622
1623	<!--
1624	GL_NV_occlusion_query
1625	http://oss.sgi.com/projects/ogl-sample/registry/NV/occlusion_query.txt
1626	XXX: Need to write up vops
1627	-->
1628
1629	<!--
1630	GL_NV_fragment_program
1631	http://oss.sgi.com/projects/ogl-sample/registry/NV/fragment_program.txt
1632	XXX: Need to write up vops
1633	-->
1634
1635	<!--
1636	GL_OES_single_precision
1637	http://oss.sgi.com/projects/ogl-sample/registry/OES/single_precision.txt
1638	XXX: Need to write up vops
1639	-->
1640	
1641</xcb>
1642