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