glx.xml revision 891601f5
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		<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			<required_start_align align="8" />
669			<pad bytes="1" />
670			<pad bytes="24" />
671			<list type="FLOAT64" name="data">
672				<op op="/">
673					<fieldref>length</fieldref>
674					<value>2</value>
675				</op>
676			</list>
677		</reply>
678	</request>
679
680	<request name="GetDoublev" opcode="114">
681		<field type="CONTEXT_TAG" name="context_tag" />
682		<field type="CARD32" name="pname" />
683		<reply>
684			<required_start_align align="8" />
685			<pad bytes="1" />
686			<pad bytes="4" />
687			<field type="CARD32" name="n" />
688			<field type="FLOAT64" name="datum" />
689			<pad bytes="8" />
690			<list type="FLOAT64" name="data">
691				<fieldref>n</fieldref>
692			</list>
693		</reply>
694	</request>
695
696	<request name="GetError" opcode="115">
697		<field type="CONTEXT_TAG" name="context_tag" />
698		<reply>
699			<pad bytes="1" />
700			<field type="INT32" name="error" />
701		</reply>
702	</request>
703
704	<request name="GetFloatv" opcode="116">
705		<field type="CONTEXT_TAG" name="context_tag" />
706		<field type="CARD32" name="pname" />
707		<reply>
708			<pad bytes="1" />
709			<pad bytes="4" />
710			<field type="CARD32" name="n" />
711			<field type="FLOAT32" name="datum" />
712			<pad bytes="12" />
713			<list type="FLOAT32" name="data">
714				<fieldref>n</fieldref>
715			</list>
716		</reply>
717	</request>
718
719	<request name="GetIntegerv" opcode="117">
720		<field type="CONTEXT_TAG" name="context_tag" />
721		<field type="CARD32" name="pname" />
722		<reply>
723			<pad bytes="1" />
724			<pad bytes="4" />
725			<field type="CARD32" name="n" />
726			<field type="INT32" name="datum" />
727			<pad bytes="12" />
728			<list type="INT32" name="data">
729				<fieldref>n</fieldref>
730			</list>
731		</reply>
732	</request>
733
734	<request name="GetLightfv" opcode="118">
735		<field type="CONTEXT_TAG" name="context_tag" />
736		<field type="CARD32" name="light" />
737		<field type="CARD32" name="pname" />
738		<reply>
739			<pad bytes="1" />
740			<pad bytes="4" />
741			<field type="CARD32" name="n" />
742			<field type="FLOAT32" name="datum" />
743			<pad bytes="12" />
744			<list type="FLOAT32" name="data">
745				<fieldref>n</fieldref>
746			</list>
747		</reply>
748	</request>
749
750	<request name="GetLightiv" opcode="119">
751		<field type="CONTEXT_TAG" name="context_tag" />
752		<field type="CARD32" name="light" />
753		<field type="CARD32" name="pname" />
754		<reply>
755			<pad bytes="1" />
756			<pad bytes="4" />
757			<field type="CARD32" name="n" />
758			<field type="INT32" name="datum" />
759			<pad bytes="12" />
760			<list type="INT32" name="data">
761				<fieldref>n</fieldref>
762			</list>
763		</reply>
764	</request>
765
766	<request name="GetMapdv" opcode="120">
767		<field type="CONTEXT_TAG" name="context_tag" />
768		<field type="CARD32" name="target" />
769		<field type="CARD32" name="query" />
770		<reply>
771			<required_start_align align="8" />
772			<pad bytes="1" />
773			<pad bytes="4" />
774			<field type="CARD32" name="n" />
775			<field type="FLOAT64" name="datum" />
776			<pad bytes="8" />
777			<list type="FLOAT64" name="data">
778				<fieldref>n</fieldref>
779			</list>
780		</reply>
781	</request>
782
783	<request name="GetMapfv" opcode="121">
784		<field type="CONTEXT_TAG" name="context_tag" />
785		<field type="CARD32" name="target" />
786		<field type="CARD32" name="query" />
787		<reply>
788			<pad bytes="1" />
789			<pad bytes="4" />
790			<field type="CARD32" name="n" />
791			<field type="FLOAT32" name="datum" />
792			<pad bytes="12" />
793			<list type="FLOAT32" name="data">
794				<fieldref>n</fieldref>
795			</list>
796		</reply>
797	</request>
798
799	<request name="GetMapiv" opcode="122">
800		<field type="CONTEXT_TAG" name="context_tag" />
801		<field type="CARD32" name="target" />
802		<field type="CARD32" name="query" />
803		<reply>
804			<pad bytes="1" />
805			<pad bytes="4" />
806			<field type="CARD32" name="n" />
807			<field type="INT32" name="datum" />
808			<pad bytes="12" />
809			<list type="INT32" name="data">
810				<fieldref>n</fieldref>
811			</list>
812		</reply>
813	</request>
814
815	<request name="GetMaterialfv" opcode="123">
816		<field type="CONTEXT_TAG" name="context_tag" />
817		<field type="CARD32" name="face" />
818		<field type="CARD32" name="pname" />
819		<reply>
820			<pad bytes="1" />
821			<pad bytes="4" />
822			<field type="CARD32" name="n" />
823			<field type="FLOAT32" name="datum" />
824			<pad bytes="12" />
825			<list type="FLOAT32" name="data">
826				<fieldref>n</fieldref>
827			</list>
828		</reply>
829	</request>
830
831	<request name="GetMaterialiv" opcode="124">
832		<field type="CONTEXT_TAG" name="context_tag" />
833		<field type="CARD32" name="face" />
834		<field type="CARD32" name="pname" />
835		<reply>
836			<pad bytes="1" />
837			<pad bytes="4" />
838			<field type="CARD32" name="n" />
839			<field type="INT32" name="datum" />
840			<pad bytes="12" />
841			<list type="INT32" name="data">
842				<fieldref>n</fieldref>
843			</list>
844		</reply>
845	</request>
846
847	<request name="GetPixelMapfv" opcode="125">
848		<field type="CONTEXT_TAG" name="context_tag" />
849		<field type="CARD32" name="map" />
850		<reply>
851			<pad bytes="1" />
852			<pad bytes="4" />
853			<field type="CARD32" name="n" />
854			<field type="FLOAT32" name="datum" />
855			<pad bytes="12" />
856			<list type="FLOAT32" name="data">
857				<fieldref>n</fieldref>
858			</list>
859		</reply>
860	</request>
861
862	<request name="GetPixelMapuiv" opcode="126">
863		<field type="CONTEXT_TAG" name="context_tag" />
864		<field type="CARD32" name="map" />
865		<reply>
866			<pad bytes="1" />
867			<pad bytes="4" />
868			<field type="CARD32" name="n" />
869			<field type="CARD32" name="datum" />
870			<pad bytes="12" />
871			<list type="CARD32" name="data">
872				<fieldref>n</fieldref>
873			</list>
874		</reply>
875	</request>
876
877	<request name="GetPixelMapusv" opcode="127">
878		<field type="CONTEXT_TAG" name="context_tag" />
879		<field type="CARD32" name="map" />
880		<reply>
881			<pad bytes="1" />
882			<pad bytes="4" />
883			<field type="CARD32" name="n" />
884			<field type="CARD16" name="datum" />
885			<pad bytes="16" />
886			<list type="CARD16" name="data">
887				<fieldref>n</fieldref>
888			</list>
889		</reply>
890	</request>
891
892	<request name="GetPolygonStipple" opcode="128">
893		<field type="CONTEXT_TAG" name="context_tag" />
894		<field type="BOOL" name="lsb_first" />
895		<reply>
896			<pad bytes="1" />
897			<pad bytes="24" />
898			<list type="BYTE" name="data">
899				<op op="*">
900					<fieldref>length</fieldref>
901					<value>4</value>
902				</op>
903			</list>
904		</reply>
905	</request>
906
907
908	<request name="GetString" opcode="129">
909		<field type="CONTEXT_TAG" name="context_tag" />
910		<field type="CARD32" name="name" />
911		<reply>
912			<pad bytes="1" />
913			<pad bytes="4" />
914			<field type="CARD32" name="n" />
915			<pad bytes="16" />
916			<list type="char" name="string">
917				<fieldref>n</fieldref>
918			</list>
919		</reply>
920	</request>
921
922	<request name="GetTexEnvfv" opcode="130">
923		<field type="CONTEXT_TAG" name="context_tag" />
924		<field type="CARD32" name="target" />
925		<field type="CARD32" name="pname" />
926		<reply>
927			<pad bytes="1" />
928			<pad bytes="4" />
929			<field type="CARD32" name="n" />
930			<field type="FLOAT32" name="datum" />
931			<pad bytes="12" />
932			<list type="FLOAT32" name="data">
933				<fieldref>n</fieldref>
934			</list>
935		</reply>
936	</request>
937
938	<request name="GetTexEnviv" opcode="131">
939		<field type="CONTEXT_TAG" name="context_tag" />
940		<field type="CARD32" name="target" />
941		<field type="CARD32" name="pname" />
942		<reply>
943			<pad bytes="1" />
944			<pad bytes="4" />
945			<field type="CARD32" name="n" />
946			<field type="INT32" name="datum" />
947			<pad bytes="12" />
948			<list type="INT32" name="data">
949				<fieldref>n</fieldref>
950			</list>
951		</reply>
952	</request>
953
954	<request name="GetTexGendv" opcode="132">
955		<field type="CONTEXT_TAG" name="context_tag" />
956		<field type="CARD32" name="coord" />
957		<field type="CARD32" name="pname" />
958		<reply>
959			<required_start_align align="8" />
960			<pad bytes="1" />
961			<pad bytes="4" />
962			<field type="CARD32" name="n" />
963			<field type="FLOAT64" name="datum" />
964			<pad bytes="8" />
965			<list type="FLOAT64" name="data">
966				<fieldref>n</fieldref>
967			</list>
968		</reply>
969	</request>
970
971	<request name="GetTexGenfv" opcode="133">
972		<field type="CONTEXT_TAG" name="context_tag" />
973		<field type="CARD32" name="coord" />
974		<field type="CARD32" name="pname" />
975		<reply>
976			<pad bytes="1" />
977			<pad bytes="4" />
978			<field type="CARD32" name="n" />
979			<field type="FLOAT32" name="datum" />
980			<pad bytes="12" />
981			<list type="FLOAT32" name="data">
982				<fieldref>n</fieldref>
983			</list>
984		</reply>
985	</request>
986
987	<request name="GetTexGeniv" opcode="134">
988		<field type="CONTEXT_TAG" name="context_tag" />
989		<field type="CARD32" name="coord" />
990		<field type="CARD32" name="pname" />
991		<reply>
992			<pad bytes="1" />
993			<pad bytes="4" />
994			<field type="CARD32" name="n" />
995			<field type="INT32" name="datum" />
996			<pad bytes="12" />
997			<list type="INT32" name="data">
998				<fieldref>n</fieldref>
999			</list>
1000		</reply>
1001	</request>
1002
1003	<request name="GetTexImage" opcode="135">
1004		<field type="CONTEXT_TAG" name="context_tag" />
1005		<field type="CARD32" name="target" />
1006		<field type="INT32" name="level" />
1007		<field type="CARD32" name="format" />
1008		<field type="CARD32" name="type" />
1009		<field type="BOOL" name="swap_bytes" />
1010		<reply>
1011			<pad bytes="1" />
1012			<pad bytes="8" />
1013			<field type="INT32" name="width" />
1014			<field type="INT32" name="height" />
1015			<field type="INT32" name="depth" />
1016			<pad bytes="4" />
1017			<list type="BYTE" name="data">
1018				<op op="*">
1019					<fieldref>length</fieldref>
1020					<value>4</value>
1021				</op>
1022			</list>
1023		</reply>
1024	</request>
1025	    
1026
1027	<request name="GetTexParameterfv" opcode="136">
1028		<field type="CONTEXT_TAG" name="context_tag" />
1029		<field type="CARD32" name="target" />
1030		<field type="CARD32" name="pname" />
1031		<reply>
1032			<pad bytes="1" />
1033			<pad bytes="4" />
1034			<field type="CARD32" name="n" />
1035			<field type="FLOAT32" name="datum" />
1036			<pad bytes="12" />
1037			<list type="FLOAT32" name="data">
1038				<fieldref>n</fieldref>
1039			</list>
1040		</reply>
1041	</request>
1042
1043	<request name="GetTexParameteriv" opcode="137">
1044		<field type="CONTEXT_TAG" name="context_tag" />
1045		<field type="CARD32" name="target" />
1046		<field type="CARD32" name="pname" />
1047		<reply>
1048			<pad bytes="1" />
1049			<pad bytes="4" />
1050			<field type="CARD32" name="n" />
1051			<field type="INT32" name="datum" />
1052			<pad bytes="12" />
1053			<list type="INT32" name="data">
1054				<fieldref>n</fieldref>
1055			</list>
1056		</reply>
1057	</request>
1058
1059	<request name="GetTexLevelParameterfv" opcode="138">
1060		<field type="CONTEXT_TAG" name="context_tag" />
1061		<field type="CARD32" name="target" />
1062		<field type="INT32" name="level" />
1063		<field type="CARD32" name="pname" />
1064		<reply>
1065			<pad bytes="1" />
1066			<pad bytes="4" />
1067			<field type="CARD32" name="n" />
1068			<field type="FLOAT32" name="datum" />
1069			<pad bytes="12" />
1070			<list type="FLOAT32" name="data">
1071				<fieldref>n</fieldref>
1072			</list>
1073		</reply>
1074	</request>
1075
1076	<request name="GetTexLevelParameteriv" opcode="139">
1077		<field type="CONTEXT_TAG" name="context_tag" />
1078		<field type="CARD32" name="target" />
1079		<field type="INT32" name="level" />
1080		<field type="CARD32" name="pname" />
1081		<reply>
1082			<pad bytes="1" />
1083			<pad bytes="4" />
1084			<field type="CARD32" name="n" />
1085			<field type="INT32" name="datum" />
1086			<pad bytes="12" />
1087			<list type="INT32" name="data">
1088				<fieldref>n</fieldref>
1089			</list>
1090		</reply>
1091	</request>
1092
1093	<request name="IsEnabled" opcode="140" >
1094		<field type="CONTEXT_TAG" name="context_tag" />
1095		<field type="CARD32" name="capability" />
1096		<reply>
1097			<pad bytes="1" />
1098			<field type="BOOL32" name="ret_val" />
1099		</reply>
1100	</request>
1101
1102	<request name="IsList" opcode="141" >
1103		<field type="CONTEXT_TAG" name="context_tag" />
1104		<field type="CARD32" name="list" />
1105		<reply>
1106			<pad bytes="1" />
1107			<field type="BOOL32" name="ret_val" />
1108		</reply>
1109	</request>
1110
1111	<request name="Flush" opcode="142">
1112		<field type="CONTEXT_TAG" name="context_tag" />
1113	</request>
1114
1115	<request name="AreTexturesResident" opcode="143">
1116		<field type="CONTEXT_TAG" name="context_tag" />
1117		<field type="INT32" name="n" />
1118		<list type="CARD32" name="textures">
1119		    <fieldref>n</fieldref>
1120		</list>
1121		<reply>
1122			<pad bytes="1" />
1123			<field type="BOOL32" name="ret_val" />
1124			<pad bytes="20" />
1125			<list type="BOOL" name="data">
1126				<op op="*">
1127					<fieldref>length</fieldref>
1128					<value>4</value>
1129				</op>
1130			</list>
1131		</reply>
1132	</request>
1133
1134	<request name="DeleteTextures" opcode="144">
1135		<field type="CONTEXT_TAG" name="context_tag" />
1136		<field type="INT32" name="n" />
1137		<list type="CARD32" name="textures">
1138			<fieldref>n</fieldref>
1139		</list>
1140	</request>
1141
1142	<request name="GenTextures" opcode="145">
1143		<field type="CONTEXT_TAG" name="context_tag" />
1144		<field type="INT32" name="n" />
1145		<reply>
1146			<pad bytes="1" />
1147			<pad bytes="24" />
1148			<list type="CARD32" name="data">
1149				<fieldref>length</fieldref>
1150			</list>
1151		</reply>
1152	</request>
1153
1154	<request name="IsTexture" opcode="146">
1155		<field type="CONTEXT_TAG" name="context_tag" />
1156		<field type="CARD32" name="texture" />
1157		<reply>
1158			<pad bytes="1" />
1159			<field type="BOOL32" name="ret_val" />
1160		</reply>
1161	</request>
1162
1163	<request name="GetColorTable" opcode="147">
1164		<field type="CONTEXT_TAG" name="context_tag" />
1165		<field type="CARD32" name="target" />
1166		<field type="CARD32" name="format" />
1167		<field type="CARD32" name="type" />
1168		<field type="BOOL" name="swap_bytes" />
1169		<reply>
1170			<pad bytes="1" />
1171			<pad bytes="8" />
1172			<field type="INT32" name="width" />
1173			<pad bytes="12" />
1174			<list type="BYTE" name="data">
1175				<op op="*">
1176					<fieldref>length</fieldref>
1177					<value>4</value>
1178				</op>
1179			</list>
1180		</reply>
1181	</request>
1182	
1183	<request name="GetColorTableParameterfv" opcode="148">
1184		<field type="CONTEXT_TAG" name="context_tag" />
1185		<field type="CARD32" name="target" />
1186		<field type="CARD32" name="pname" />
1187		<reply>
1188			<pad bytes="1" />
1189			<pad bytes="4" />
1190			<field type="CARD32" name="n" />
1191			<field type="FLOAT32" name="datum" />
1192			<pad bytes="12" />
1193			<list type="FLOAT32" name="data">
1194				<fieldref>n</fieldref>
1195			</list>
1196		</reply>
1197	</request>
1198
1199	<request name="GetColorTableParameteriv" opcode="149">
1200		<field type="CONTEXT_TAG" name="context_tag" />
1201		<field type="CARD32" name="target" />
1202		<field type="CARD32" name="pname" />
1203		<reply>
1204			<pad bytes="1" />
1205			<pad bytes="4" />
1206			<field type="CARD32" name="n" />
1207			<field type="INT32" name="datum" />
1208			<pad bytes="12" />
1209			<list type="INT32" name="data">
1210				<fieldref>n</fieldref>
1211			</list>
1212		</reply>
1213	</request>
1214
1215	<request name="GetConvolutionFilter" opcode="150">
1216		<field type="CONTEXT_TAG" name="context_tag" />
1217		<field type="CARD32" name="target" />
1218		<field type="CARD32" name="format" />
1219		<field type="CARD32" name="type" />
1220		<field type="BOOL" name="swap_bytes" />
1221		<reply>
1222			<pad bytes="1" />
1223			<pad bytes="8" />
1224			<field type="INT32" name="width" />
1225			<field type="INT32" name="height" />
1226			<pad bytes="8" />
1227			<list type="BYTE" name="data">
1228				<op op="*">
1229					<fieldref>length</fieldref>
1230					<value>4</value>
1231				</op>
1232			</list>
1233		</reply>
1234	</request>
1235
1236
1237	<request name="GetConvolutionParameterfv" opcode="151">
1238		<field type="CONTEXT_TAG" name="context_tag" />
1239		<field type="CARD32" name="target" />
1240		<field type="CARD32" name="pname" />
1241		<reply>
1242			<pad bytes="1" />
1243			<pad bytes="4" />
1244			<field type="CARD32" name="n" />
1245			<field type="FLOAT32" name="datum" />
1246			<pad bytes="12" />
1247			<list type="FLOAT32" name="data">
1248				<fieldref>n</fieldref>
1249			</list>
1250		</reply>
1251	</request>
1252
1253	<request name="GetConvolutionParameteriv" opcode="152">
1254		<field type="CONTEXT_TAG" name="context_tag" />
1255		<field type="CARD32" name="target" />
1256		<field type="CARD32" name="pname" />
1257		<reply>
1258			<pad bytes="1" />
1259			<pad bytes="4" />
1260			<field type="CARD32" name="n" />
1261			<field type="INT32" name="datum" />
1262			<pad bytes="12" />
1263			<list type="INT32" name="data">
1264				<fieldref>n</fieldref>
1265			</list>
1266		</reply>
1267	</request>
1268
1269	<request name="GetSeparableFilter" opcode="153">
1270		<field type="CONTEXT_TAG" name="context_tag" />
1271		<field type="CARD32" name="target" />
1272		<field type="CARD32" name="format" />
1273		<field type="CARD32" name="type" />
1274		<field type="BOOL" name="swap_bytes" />
1275		<reply>
1276			<pad bytes="1" />
1277			<pad bytes="8" />
1278			<field type="INT32" name="row_w" />
1279			<field type="INT32" name="col_h" />
1280			<pad bytes="8" />
1281			<list type="BYTE" name="rows_and_cols">
1282				<op op="*">
1283					<fieldref>length</fieldref>
1284					<value>4</value>
1285				</op>
1286			</list>
1287		</reply>
1288	</request>
1289
1290	<request name="GetHistogram" opcode="154">
1291		<field type="CONTEXT_TAG" name="context_tag" />
1292		<field type="CARD32" name="target" />
1293		<field type="CARD32" name="format" />
1294		<field type="CARD32" name="type" />
1295		<field type="BOOL" name="swap_bytes" />
1296		<field type="BOOL" name="reset" />
1297		<reply>
1298			<pad bytes="1" />
1299			<pad bytes="8" />
1300			<field type="INT32" name="width" />
1301			<pad bytes="12" />
1302			<list type="BYTE" name="data">
1303				<op op="*">
1304					<fieldref>length</fieldref>
1305					<value>4</value>
1306				</op>
1307			</list>
1308		</reply>
1309	</request>
1310
1311
1312	<request name="GetHistogramParameterfv" opcode="155">
1313		<field type="CONTEXT_TAG" name="context_tag" />
1314		<field type="CARD32" name="target" />
1315		<field type="CARD32" name="pname" />
1316		<reply>
1317			<pad bytes="1" />
1318			<pad bytes="4" />
1319			<field type="CARD32" name="n" />
1320			<field type="FLOAT32" name="datum" />
1321			<pad bytes="12" />
1322			<list type="FLOAT32" name="data">
1323				<fieldref>n</fieldref>
1324			</list>
1325		</reply>
1326	</request>
1327
1328	<request name="GetHistogramParameteriv" opcode="156">
1329		<field type="CONTEXT_TAG" name="context_tag" />
1330		<field type="CARD32" name="target" />
1331		<field type="CARD32" name="pname" />
1332		<reply>
1333			<pad bytes="1" />
1334			<pad bytes="4" />
1335			<field type="CARD32" name="n" />
1336			<field type="INT32" name="datum" />
1337			<pad bytes="12" />
1338			<list type="INT32" name="data">
1339				<fieldref>n</fieldref>
1340			</list>
1341		</reply>
1342	</request>
1343
1344	<request name="GetMinmax" opcode="157">
1345		<field type="CONTEXT_TAG" name="context_tag" />
1346		<field type="CARD32" name="target" />
1347		<field type="CARD32" name="format" />
1348		<field type="CARD32" name="type" />
1349		<field type="BOOL" name="swap_bytes" />
1350		<field type="BOOL" name="reset" />
1351		<reply>
1352			<pad bytes="1" />
1353			<pad bytes="24" />
1354			<list type="BYTE" name="data">
1355				<op op="*">
1356					<fieldref>length</fieldref>
1357					<value>4</value>
1358				</op>
1359			</list>
1360		</reply>
1361	</request>
1362
1363	<request name="GetMinmaxParameterfv" opcode="158">
1364		<field type="CONTEXT_TAG" name="context_tag" />
1365		<field type="CARD32" name="target" />
1366		<field type="CARD32" name="pname" />
1367		<reply>
1368			<pad bytes="1" />
1369			<pad bytes="4" />
1370			<field type="CARD32" name="n" />
1371			<field type="FLOAT32" name="datum" />
1372			<pad bytes="12" />
1373			<list type="FLOAT32" name="data">
1374				<fieldref>n</fieldref>
1375			</list>
1376		</reply>
1377	</request>
1378
1379	<request name="GetMinmaxParameteriv" opcode="159">
1380		<field type="CONTEXT_TAG" name="context_tag" />
1381		<field type="CARD32" name="target" />
1382		<field type="CARD32" name="pname" />
1383		<reply>
1384			<pad bytes="1" />
1385			<pad bytes="4" />
1386			<field type="CARD32" name="n" />
1387			<field type="INT32" name="datum" />
1388			<pad bytes="12" />
1389			<list type="INT32" name="data">
1390				<fieldref>n</fieldref>
1391			</list>
1392		</reply>
1393	</request>
1394
1395	<!--
1396	GLX Extensions
1397	
1398	* XXX: So far only define non-rendering commands.
1399	* Only those extensions that affect the GLX wire protocol are listed.
1400	-->
1401
1402	<!--
1403	GL_ARB_texture_compression
1404	http://oss.sgi.com/projects/ogl-sample/registry/ARB/texture_compression.txt
1405	-->
1406	<request name="GetCompressedTexImageARB" opcode="160">
1407		<field type="CONTEXT_TAG" name="context_tag" />
1408		<field type="CARD32" name="target" />
1409		<field type="INT32" name="level" />
1410		<reply>
1411			<pad bytes="1" />
1412			<pad bytes="8" />
1413			<field type="INT32" name="size" />
1414			<pad bytes="12" />
1415			<list type="BYTE" name="data">
1416				<op op="*">
1417					<fieldref>length</fieldref>
1418					<value>4</value>
1419				</op>
1420			</list>
1421		</reply>
1422	</request>
1423
1424	
1425	<!--
1426	GL_ARB_occlusion_query
1427	http://oss.sgi.com/projects/ogl-sample/registry/ARB/occlusion_query.txt
1428	-->
1429
1430	<request name="DeleteQueriesARB" opcode="161">
1431		<field type="CONTEXT_TAG" name="context_tag" />
1432		<field type="INT32" name="n" />
1433		<list type="CARD32" name="ids">
1434			<fieldref>n</fieldref>
1435		</list>
1436	</request>
1437
1438	<request name="GenQueriesARB" opcode="162">
1439		<field type="CONTEXT_TAG" name="context_tag" />
1440		<field type="INT32" name="n" />
1441		<reply>
1442			<pad bytes="1" />
1443			<pad bytes="24" />
1444			<list type="CARD32" name="data">
1445				<fieldref>length</fieldref>
1446			</list>
1447		</reply>
1448	</request>
1449	
1450	<request name="IsQueryARB" opcode="163">
1451		<field type="CONTEXT_TAG" name="context_tag" />
1452		<field type="CARD32" name="id" />
1453		<reply>
1454			<pad bytes="1" />
1455			<field type="BOOL32" name="ret_val" />
1456		</reply>
1457	</request>
1458	
1459	<request name="GetQueryivARB" opcode="164">
1460		<field type="CONTEXT_TAG" name="context_tag" />
1461		<field type="CARD32" name="target" />
1462		<field type="CARD32" name="pname" />
1463		<reply>
1464			<pad bytes="1" />
1465			<pad bytes="4" />
1466			<field type="CARD32" name="n" />
1467			<field type="INT32" name="datum" />
1468			<pad bytes="12" />
1469			<list type="INT32" name="data">
1470				<fieldref>n</fieldref>
1471			</list>
1472		</reply>
1473	</request>
1474	
1475	<request name="GetQueryObjectivARB" opcode="165">
1476		<field type="CONTEXT_TAG" name="context_tag" />
1477		<field type="CARD32" name="id" />
1478		<field type="CARD32" name="pname" />
1479		<reply>
1480			<pad bytes="1" />
1481			<pad bytes="4" />
1482			<field type="CARD32" name="n" />
1483			<field type="INT32" name="datum" />
1484			<pad bytes="12" />
1485			<list type="INT32" name="data">
1486				<fieldref>n</fieldref>
1487			</list>
1488		</reply>
1489	</request>
1490	
1491	<request name="GetQueryObjectuivARB" opcode="166">
1492		<field type="CONTEXT_TAG" name="context_tag" />
1493		<field type="CARD32" name="id" />
1494		<field type="CARD32" name="pname" />
1495		<reply>
1496			<pad bytes="1" />
1497			<pad bytes="4" />
1498			<field type="CARD32" name="n" />
1499			<field type="CARD32" name="datum" />
1500			<pad bytes="12" />
1501			<list type="CARD32" name="data">
1502				<fieldref>n</fieldref>
1503			</list>
1504		</reply>
1505	</request>
1506	
1507	<!--
1508	GL_ARB_vertex_program
1509	http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_program.txt
1510	XXX: Need to write up vops
1511	--> 
1512
1513	<!--
1514	GL_ARB_fragment_program
1515	http://oss.sgi.com/projects/ogl-sample/registry/ARB/fragment_program.txt
1516	XXX: Need to write up vops
1517	-->
1518	
1519	<!--
1520	GL_SGIS_texture_filter4
1521	http://oss.sgi.com/projects/ogl-sample/registry/SGIS/texture_filter4.txt
1522	XXX: Need to write up vops
1523	-->
1524
1525	<!--
1526	GL_EXT_histogram
1527	http://oss.sgi.com/projects/ogl-sample/registry/EXT/histogram.txt
1528	XXX: Need to write up vops
1529	-->
1530
1531	<!--
1532	GL_EXT_convolution
1533	http://oss.sgi.com/projects/ogl-sample/registry/EXT/convolution.txt
1534	XXX: Need to write up vops
1535	-->
1536
1537	<!--
1538	GL_SGI_color_table
1539	http://oss.sgi.com/projects/ogl-sample/registry/SGI/color_table.txt
1540	XXX: Need to write up vops
1541	-->
1542
1543	<!--
1544	GL_EXT_texture_object
1545	http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_object.txt
1546	XXX: Need to write up vops
1547	-->
1548
1549	<!--
1550	GL_SGIS_detail_texture
1551	http://oss.sgi.com/projects/ogl-sample/registry/SGIS/detail_texture.txt
1552	XXX: Need to write up vops
1553	-->
1554
1555	<!--
1556	GL_SGIS_sharpen_texture
1557	http://oss.sgi.com/projects/ogl-sample/registry/SGIS/sharpen_texture.txt
1558	XXX: Need to write up vops
1559	-->
1560
1561	<!--
1562	GL_SGI_make_current_read
1563	http://oss.sgi.com/projects/ogl-sample/registry/SGI/make_current_read.txt
1564	XXX: Need to write up vops
1565	-->
1566
1567	<!--
1568	GL_EXT_import_context
1569	http://oss.sgi.com/projects/ogl-sample/registry/EXT/import_context.txt
1570	XXX: Need to write up vops
1571	-->
1572
1573	<!--
1574	GL_SGIX_fbconfig
1575	http://oss.sgi.com/projects/ogl-sample/registry/SGIX/fbconfig.txt
1576	XXX: Need to write up vops
1577	-->
1578
1579	<!--
1580	GL_SGIX_pbuffer
1581	http://oss.sgi.com/projects/ogl-sample/registry/SGIX/pbuffer.txt
1582	XXX: Need to write up vops
1583	-->
1584
1585	<!--
1586	GL_EXT_pixel_transform
1587	http://oss.sgi.com/projects/ogl-sample/registry/EXT/pixel_transform.txt
1588	XXX: Need to write up vops
1589	-->
1590	
1591	<!--
1592	GL_NV_register_combiners
1593	http://oss.sgi.com/projects/ogl-sample/registry/NV/register_combiners.txt
1594	XXX: Need to write up vops
1595	-->
1596
1597	<!--
1598	GL_NV_fence
1599	http://oss.sgi.com/projects/ogl-sample/registry/NV/fence.txt
1600	XXX: Need to write up vops
1601	-->
1602
1603	<!--
1604	GL_NV_register_combiners2
1605	http://oss.sgi.com/projects/ogl-sample/registry/NV/register_combiners2.txt
1606	XXX: Need to write up vops
1607	-->
1608
1609	<!--
1610	GL_NV_vertex_program
1611	http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_program.txt
1612	XXX: Need to write up vops
1613	-->
1614
1615	<!--
1616	GL_NV_vertex_program
1617	http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_program.txt
1618	XXX: Need to write up vops
1619	-->
1620
1621	<!--
1622	GL_NV_occlusion_query
1623	http://oss.sgi.com/projects/ogl-sample/registry/NV/occlusion_query.txt
1624	XXX: Need to write up vops
1625	-->
1626
1627	<!--
1628	GL_NV_fragment_program
1629	http://oss.sgi.com/projects/ogl-sample/registry/NV/fragment_program.txt
1630	XXX: Need to write up vops
1631	-->
1632
1633	<!--
1634	GL_OES_single_precision
1635	http://oss.sgi.com/projects/ogl-sample/registry/OES/single_precision.txt
1636	XXX: Need to write up vops
1637	-->
1638	
1639</xcb>
1640