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