1 <?xml version="1.0" encoding="utf-8"?>
3 Copyright (C) 2005 Jeremy Kolb.
6 Permission is hereby granted, free of charge, to any person ob/Sintaining a copy
7 of this software and associated documentation files (the "Software"), to deal
8 in the Software without restriction, including without limitation the rights
9 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 copies of the Software, and to permit persons to whom the Software is
11 furnished to do so, subject to the following conditions:
13 The above copyright notice and this permission notice shall be included in all
14 copies or substantial portions of the Software.
16 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20 ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 Except as contained in this notice, the names of the authors or their
24 institutions shall not be used in advertising or otherwise to promote the
25 sale, use or other dealings in this Software without prior written
26 authorization from the authors.
30 Note that on X.org servers before 6.9 (and probably others as well) the length
31 field in the reply is computed incorrectly for GetFBConfigs and
32 VendorPrivateWithReply vendor_code 0x10004 (GetFBConfigsSGIX). For these
33 requests the reply structure begins:
35 <field type="CARD32" name="numVisuals" />
36 <field type="CARD32" name="numProps" />
37 The correct value for the length field is
38 numVisuals * numProps * 2
39 but on broken servers the "* 2" was missing. A workaround that is correct for
40 all implementations is to rewrite the length field on receipt on the client
41 side, using the expression above.
43 The patch that fixed this server bug in X.org CVS is here:
44 http://cvs.freedesktop.org/xorg/xserver/xorg/GL/glx/glxcmds.c?r1=1.6&r2=1.7
47 <xcb header="glx" extension-xname="GLX" extension-name="Glx">
48 <!-- target support: 1.3 -->
50 <xidtype name="PIXMAP" />
51 <xidtype name="CONTEXT" />
52 <xidtype name="PBUFFER" />
53 <xidtype name="WINDOW" />
54 <xidtype name="FBCONFIG" />
56 <union name="DRAWABLE">
57 <field type="xcb_types:WINDOW" name="window" />
58 <field type="PBUFFER" name="glx_pbuffer" />
59 <field type="glx:PIXMAP" name="glx_pixmap" />
60 <field type="glx:WINDOW" name="glx_window" />
63 <typedef oldname="float" newname="FLOAT32" />
64 <typedef oldname="double" newname="FLOAT64" />
65 <typedef oldname="CARD32" newname="BOOL32" />
66 <typedef oldname="CARD32" newname="CONTEXT_TAG" />
69 <error name="Generic" number="-1"> <!-- FIXME: fake number -->
70 <field type="CARD32" name="bad_value" />
71 <field type="CARD16" name="minor_opcode" />
72 <field type="CARD8" name="major_opcode" />
76 <errorcopy name="BadContext" number="0" ref="Generic" />
77 <errorcopy name="BadContextState" number="1" ref="Generic" />
78 <errorcopy name="BadDrawable" number="2" ref="Generic" />
79 <errorcopy name="BadPixmap" number="3" ref="Generic" />
80 <errorcopy name="BadContextTag" number="4" ref="Generic" />
81 <errorcopy name="BadCurrentWindow" number="5" ref="Generic" />
82 <errorcopy name="BadRenderRequest" number="6" ref="Generic" />
83 <errorcopy name="BadLargeRequest" number="7" ref="Generic" />
84 <errorcopy name="UnsupportedPrivateRequest" number="8" ref="Generic" />
85 <errorcopy name="BadFBConfig" number="9" ref="Generic" />
86 <errorcopy name="BadPbuffer" number="10" ref="Generic" />
87 <errorcopy name="BadCurrentDrawable" number="11" ref="Generic" />
88 <errorcopy name="BadWindow" number="12" ref="Generic" />
91 <event name="PbufferClobber" number="0">
92 <field type="CARD16" name="event_type" />
93 <field type="CARD16" name="draw_type" />
94 <field type="glx:DRAWABLE" name="drawable" />
95 <field type="CARD32" name="b_mask" />
96 <field type="CARD16" name="aux_buffer" />
97 <field type="CARD16" name="x" />
98 <field type="CARD16" name="y" />
99 <field type="CARD16" name="width" />
100 <field type="CARD16" name="height" />
101 <field type="CARD16" name="count" />
105 <!-- enums for PbufferClobber event/draw type -->
107 <item name="Damaged">
108 <value>0x8017</value>
111 <value>0x8018</value>
117 <value>0x8019</value>
119 <item name="Pbuffer">
120 <value>0x801A</value>
125 <request name="Render" opcode="1" combine-adjacent="true">
126 <field type="CONTEXT_TAG" name="context_tag" />
127 <list type="BYTE" name="data" />
130 <request name="RenderLarge" opcode="2">
131 <field type="CONTEXT_TAG" name="context_tag" />
132 <field type="CARD16" name="request_num" />
133 <field type="CARD16" name="request_total" />
134 <field type="CARD32" name="data_len" />
135 <list type="BYTE" name="data">
136 <fieldref>data_len</fieldref>
140 <request name="CreateContext" opcode="3">
141 <field type="glx:CONTEXT" name="context" />
142 <field type="VISUALID" name="visual" />
143 <field type="CARD32" name="screen" />
144 <field type="glx:CONTEXT" name="share_list" />
145 <field type="BOOL" name="is_direct" />
149 <request name="DestroyContext" opcode="4">
150 <field type="glx:CONTEXT" name="context" />
153 <request name="MakeCurrent" opcode="5">
154 <field type="glx:DRAWABLE" name="drawable" />
155 <field type="glx:CONTEXT" name="context" />
156 <field type="CONTEXT_TAG" name="old_context_tag" />
159 <field type="CONTEXT_TAG" name="context_tag" />
164 <request name="IsDirect" opcode="6">
165 <field type="glx:CONTEXT" name="context" />
168 <field type="BOOL" name="is_direct" />
173 <request name="QueryVersion" opcode="7">
174 <field type="CARD32" name="major_version" />
175 <field type="CARD32" name="minor_version" />
178 <field type="CARD32" name="major_version" />
179 <field type="CARD32" name="minor_version" />
184 <request name="WaitGL" opcode="8">
185 <field type="CONTEXT_TAG" name="context_tag" />
188 <request name="WaitX" opcode="9">
189 <field type="CONTEXT_TAG" name="context_tag" />
192 <request name="CopyContext" opcode="10">
193 <field type="glx:CONTEXT" name="src" />
194 <field type="glx:CONTEXT" name="dest" />
195 <field type="CARD32" name="mask" />
196 <field type="CONTEXT_TAG" name="src_context_tag" />
199 <!-- Enum for CopyContext: mask -->
201 <item name="_GL_CURRENT_BIT"><value>0x00000001</value></item>
202 <item name="_GL_POINT_BIT"><value>0x00000002</value></item>
203 <item name="_GL_LINE_BIT"><value>0x00000004</value></item>
204 <item name="_GL_POLYGON_BIT"><value>0x00000008</value></item>
205 <item name="_GL_POLYGON_STIPPLE_BIT"><value>0x00000010</value></item>
206 <item name="_GL_PIXEL_MODE_BIT"><value>0x00000020</value></item>
207 <item name="_GL_LIGHTING_BIT"><value>0x00000040</value></item>
208 <item name="_GL_FOG_BIT"><value>0x00000080</value></item>
209 <item name="_GL_DEPTH_BUFFER_BIT"><value>0x00000100</value></item>
210 <item name="_GL_ACCUM_BUFFER_BIT"><value>0x00000200</value></item>
211 <item name="_GL_STENCIL_BUFFER_BIT"><value>0x00000400</value></item>
212 <item name="_GL_VIEWPORT_BIT"><value>0x00000800</value></item>
213 <item name="_GL_TRANSFORM_BIT"><value>0x00001000</value></item>
214 <item name="_GL_ENABLE_BIT"><value>0x00002000</value></item>
215 <item name="_GL_COLOR_BUFFER_BIT"><value>0x00004000</value></item>
216 <item name="_GL_HINT_BIT"><value>0x00008000</value></item>
217 <item name="_GL_EVAL_BIT"><value>0x00010000</value></item>
218 <item name="_GL_LIST_BIT"><value>0x00020000</value></item>
219 <item name="_GL_TEXTURE_BIT"><value>0x00040000</value></item>
220 <item name="_GL_SCISSOR_BIT"><value>0x00080000</value></item>
221 <item name="_GL_ALL_ATTRIB_BITS"><value>0x000ffffff</value></item>
224 <request name="SwapBuffers" opcode="11">
225 <field type="CONTEXT_TAG" name="context_tag" />
226 <field type="glx:DRAWABLE" name="drawable" />
229 <request name="UseXFont" opcode="12">
230 <field type="CONTEXT_TAG" name="context_tag" />
231 <field type="FONT" name="font" />
232 <field type="CARD32" name="first" />
233 <field type="CARD32" name="count" />
234 <field type="CARD32" name="list_base" />
237 <request name="CreateGLXPixmap" opcode="13">
238 <field type="CARD32" name="screen" />
239 <field type="VISUALID" name="visual" />
240 <field type="xcb_types:PIXMAP" name="pixmap" />
241 <field type="glx:PIXMAP" name="glx_pixmap" />
245 <request name="GetVisualConfigs" opcode="14">
246 <field type="CARD32" name="screen" />
249 <field type="CARD32" name="num_visuals" />
250 <field type="CARD32" name="num_props" />
252 <valueparam value-mask-type="CARD32"
253 value-mask-name="value_mask"
254 value-list-name="value_list" />
258 <request name="DestroyGLXPixmap" opcode="15">
259 <field type="glx:PIXMAP" name="glx_pixmap" />
263 Context tag is not in the proto, should be part of the list of bytes
264 but every VendorPrivate and VendorPrivateWithReply request uses them
265 so it is safe to put them in. That's how Mesa does it.
267 <request name="VendorPrivate" opcode="16">
268 <field type="CARD32" name="vendor_code" />
269 <field type="CONTEXT_TAG" name="context_tag" />
270 <list type="BYTE" name="data" />
273 <request name="VendorPrivateWithReply" opcode="17">
274 <field type="CARD32" name="vendor_code" />
275 <field type="CONTEXT_TAG" name="context_tag" />
276 <list type="BYTE" name="data" />
279 <field type="CARD32" name="retval" />
280 <list type="BYTE" name="data1">
283 <list type="BYTE" name="data2" />
287 <request name="QueryExtensionsString" opcode="18">
288 <field type="CARD32" name="screen" />
292 <field type="CARD32" name="n" />
297 <request name="QueryServerString" opcode="19">
298 <field type="CARD32" name="screen" />
299 <field type="CARD32" name="name" />
303 <field type="CARD32" name="str_len" />
305 <list type="CARD8" name="string">
306 <fieldref>str_len</fieldref>
311 <request name="ClientInfo" opcode="20">
312 <field type="CARD32" name="major_version" />
313 <field type="CARD32" name="minor_version" />
314 <field type="CARD32" name="str_len" />
315 <list type="CARD8" name="string">
316 <fieldref>str_len</fieldref>
320 <!-- Start of GLX 1.3 Requests -->
322 <request name="GetFBConfigs" opcode="21">
323 <field type="CARD32" name="screen" />
326 <field type="CARD32" name="num_FB_configs" />
327 <field type="CARD32" name="num_properties" />
329 <valueparam value-mask-type="CARD32"
330 value-mask-name="value_mask"
331 value-list-name="value_list" />
335 <request name="CreatePixmap" opcode="22">
336 <field type="CARD32" name="screen" />
337 <field type="CARD32" name="fbconfig" />
338 <field type="xcb_types:PIXMAP" name="pixmap" />
339 <field type="glx:PIXMAP" name="glx_pixmap" />
340 <field type="CARD32" name="num_attribs" />
343 <request name="DestroyPixmap" opcode="23">
344 <field type="glx:PIXMAP" name="glx_pixmap" />
347 <request name="CreateNewContext" opcode="24">
348 <field type="glx:CONTEXT" name="context" />
349 <field type="CARD32" name="fbconfig" />
350 <field type="SCREEN" name="screen" />
351 <field type="CARD32" name="render_type" />
352 <field type="CARD32" name="share_list" />
353 <field type="BOOL" name="is_direct" />
354 <field type="CARD8" name="reserved1" />
355 <field type="CARD16" name="reserved2" />
358 <request name="QueryContext" opcode="25">
359 <field type="glx:CONTEXT" name="context" />
362 <field type="CARD32" name="num_attributes"/>
364 <valueparam value-mask-type="CARD32"
365 value-mask-name="value_mask"
366 value-list-name="value_list" />
370 <request name="MakeContextCurrent" opcode="26">
371 <field type="CONTEXT_TAG" name="old_context_tag" />
372 <field type="glx:DRAWABLE" name="drawable" />
373 <field type="glx:DRAWABLE" name="read_drawable" />
374 <field type="glx:CONTEXT" name="context" />
377 <field type="CONTEXT_TAG" name="context_tag" />
382 <request name="CreatePbuffer" opcode="27">
383 <field type="SCREEN" name="screen" />
384 <field type="FBCONFIG" name="fbconfig" />
385 <field type="PBUFFER" name="pbuffer" />
386 <field type="CARD32" name="num_attribs" />
387 <valueparam value-mask-type="CARD32"
388 value-mask-name="value_mask"
389 value-list-name="value_list" />
392 <request name="DestroyPbuffer" opcode="28">
393 <field type="PBUFFER" name="pbuffer" />
396 <request name="GetDrawableAttributes" opcode="29">
397 <field type="glx:DRAWABLE" name="drawable" />
400 <field type="CARD32" name="num_attribs" />
402 <valueparam value-mask-type="CARD32"
403 value-mask-name="value_mask"
404 value-list-name="value_list" />
408 <request name="ChangeDrawableAttributes" opcode="30">
409 <field type="glx:DRAWABLE" name="drawable" />
410 <field type="CARD32" name="num_attribs" />
411 <valueparam value-mask-type="CARD32"
412 value-mask-name="value_mask"
413 value-list-name="value_list" />
416 <request name="CreateWindow" opcode="31">
417 <field type="SCREEN" name="screen" />
418 <field type="FBCONFIG" name="fbconfig" />
419 <field type="xcb_types:WINDOW" name="window" />
420 <field type="glx:WINDOW" name="glx_window" />
421 <field type="CARD32" name="num_attribs" />
422 <valueparam value-mask-type="CARD32"
423 value-mask-name="value_mask"
424 value-list-name="value_list" />
427 <request name="DeleteWindow" opcode="32">
428 <field type="glx:WINDOW" name="glxwindow" />
431 <!-- Requests for GL Non-rendering Commands (single ops) -->
433 <request name="NewList" opcode="101">
434 <field type="CONTEXT_TAG" name="context_tag" />
435 <field type="CARD32" name="list" />
436 <field type="CARD32" name="mode" />
439 <request name="EndList" opcode="102">
440 <field type="CONTEXT_TAG" name="context_tag" />
443 <request name="DeleteLists" opcode="103">
444 <field type="CONTEXT_TAG" name="context_tag" />
445 <field type="CARD32" name="list" />
446 <field type="INT32" name="range" />
449 <request name="GenLists" opcode="104">
450 <field type="CONTEXT_TAG" name="context_tag" />
451 <field type="INT32" name="range" />
454 <field type="CARD32" name="ret_val" />
458 <request name="FeedbackBuffer" opcode="105">
459 <field type="CONTEXT_TAG" name="context_tag" />
460 <field type="INT32" name="size" />
461 <field type="INT32" name="type" />
464 <request name="SelectBuffer" opcode="106">
465 <field type="CONTEXT_TAG" name="context_tag" />
466 <field type="INT32" name="size" />
467 <!-- the reply is actually returned in the data
468 of the next RenderMode request -->
472 <request name="RenderMode" opcode="107">
473 <field type="CONTEXT_TAG" name="context_tag" />
474 <field type="CARD32" name="mode" />
476 This reply is only if RM was previously feedback/selection.
477 If it was in feedback mode then data is FLOAT32.
478 If previously in render mode there is no reply.
482 <field type="CARD32" name="ret_val" />
483 <field type="CARD32" name="n" />
484 <field type="CARD32" name="new_mode" />
486 <list type="CARD32" name="data">
487 <fieldref>n</fieldref>
493 <item name="_GL_RENDER"><value>0x1C00</value></item>
494 <item name="_GL_FEEDBACK"><value>0x1C01</value></item>
495 <item name="_GL_SELECT"><value>0x1C02</value></item>
498 <request name="Finish" opcode="108">
499 <field type="CONTEXT_TAG" name="context_tag" />
505 <request name="PixelStoref" opcode="109">
506 <field type="CONTEXT_TAG" name="context_tag" />
507 <field type="CARD32" name="pname" />
508 <field type="FLOAT32" name="datum" />
511 <request name="PixelStorei" opcode="110">
512 <field type="CONTEXT_TAG" name="context_tag" />
513 <field type="CARD32" name="pname" />
514 <field type="INT32" name="datum" />
517 <request name="ReadPixels" opcode="111">
518 <field type="CONTEXT_TAG" name="context_tag" />
519 <field type="INT32" name="x" />
520 <field type="INT32" name="y" />
521 <field type="INT32" name="width" />
522 <field type="INT32" name="height" />
523 <field type="CARD32" name="format" />
524 <field type="CARD32" name="type" />
525 <field type="BOOL" name="swap_bytes" />
526 <field type="BOOL" name="lsb_first" />
530 <list type="BYTE" name="data" />
535 All the Get* functions can return different stuff for replies.
536 Hopefully xcb will support multiple reply structures at some point
538 Starts on page 58/180
540 <request name="GetBooleanv" opcode="112">
541 <field type="CONTEXT_TAG" name="context_tag" />
542 <field type="INT32" name="pname" />
546 <field type="CARD32" name="n" />
547 <field type="BOOL" name="datum" />
549 <list type="BOOL" name="data">
550 <fieldref>n</fieldref>
555 <request name="GetClipPlane" opcode="113">
556 <field type="CONTEXT_TAG" name="context_tag" />
557 <field type="INT32" name="plane" />
561 <list type="FLOAT64" name="data" />
565 <request name="GetDoublev" opcode="114">
566 <field type="CONTEXT_TAG" name="context_tag" />
567 <field type="CARD32" name="pname" />
571 <field type="CARD32" name="n" />
572 <field type="FLOAT64" name="datum" />
574 <list type="FLOAT64" name="data">
575 <fieldref>n</fieldref>
580 <request name="GetError" opcode="115">
581 <field type="CONTEXT_TAG" name="context_tag" />
584 <field type="INT32" name="error" />
588 <request name="GetFloatv" opcode="116">
589 <field type="CONTEXT_TAG" name="context_tag" />
590 <field type="CARD32" name="pname" />
594 <field type="CARD32" name="n" />
595 <field type="FLOAT32" name="datum" />
597 <list type="FLOAT32" name="data">
598 <fieldref>n</fieldref>
603 <request name="GetIntegerv" opcode="117">
604 <field type="CONTEXT_TAG" name="context_tag" />
605 <field type="CARD32" name="pname" />
609 <field type="CARD32" name="n" />
610 <field type="INT32" name="datum" />
612 <list type="INT32" name="data">
613 <fieldref>n</fieldref>
618 <request name="GetLightfv" opcode="118">
619 <field type="CONTEXT_TAG" name="context_tag" />
620 <field type="CARD32" name="light" />
621 <field type="CARD32" name="pname" />
625 <field type="CARD32" name="n" />
626 <field type="FLOAT32" name="datum" />
628 <list type="FLOAT32" name="data">
629 <fieldref>n</fieldref>
634 <request name="GetLightiv" opcode="119">
635 <field type="CONTEXT_TAG" name="context_tag" />
636 <field type="CARD32" name="light" />
637 <field type="CARD32" name="pname" />
641 <field type="CARD32" name="n" />
642 <field type="INT32" name="datum" />
644 <list type="INT32" name="data">
645 <fieldref>n</fieldref>
650 <request name="GetMapdv" opcode="120">
651 <field type="CONTEXT_TAG" name="context_tag" />
652 <field type="CARD32" name="target" />
653 <field type="CARD32" name="query" />
657 <field type="CARD32" name="n" />
658 <field type="FLOAT64" name="datum" />
660 <list type="FLOAT64" name="data">
661 <fieldref>n</fieldref>
666 <request name="GetMapfv" opcode="121">
667 <field type="CONTEXT_TAG" name="context_tag" />
668 <field type="CARD32" name="target" />
669 <field type="CARD32" name="query" />
673 <field type="CARD32" name="n" />
674 <field type="FLOAT32" name="datum" />
676 <list type="FLOAT32" name="data">
677 <fieldref>n</fieldref>
682 <request name="GetMapiv" opcode="122">
683 <field type="CONTEXT_TAG" name="context_tag" />
684 <field type="CARD32" name="target" />
685 <field type="CARD32" name="query" />
689 <field type="CARD32" name="n" />
690 <field type="INT32" name="datum" />
692 <list type="INT32" name="data">
693 <fieldref>n</fieldref>
698 <request name="GetMaterialfv" opcode="123">
699 <field type="CONTEXT_TAG" name="context_tag" />
700 <field type="CARD32" name="face" />
701 <field type="CARD32" name="pname" />
705 <field type="CARD32" name="n" />
706 <field type="FLOAT32" name="datum" />
708 <list type="FLOAT32" name="data">
709 <fieldref>n</fieldref>
714 <request name="GetMaterialiv" opcode="124">
715 <field type="CONTEXT_TAG" name="context_tag" />
716 <field type="CARD32" name="face" />
717 <field type="CARD32" name="pname" />
721 <field type="CARD32" name="n" />
722 <field type="INT32" name="datum" />
724 <list type="INT32" name="data">
725 <fieldref>n</fieldref>
730 <request name="GetPixelMapfv" opcode="125">
731 <field type="CONTEXT_TAG" name="context_tag" />
732 <field type="CARD32" name="map" />
736 <field type="CARD32" name="n" />
737 <field type="FLOAT32" name="datum" />
739 <list type="FLOAT32" name="data">
740 <fieldref>n</fieldref>
745 <request name="GetPixelMapuiv" opcode="126">
746 <field type="CONTEXT_TAG" name="context_tag" />
747 <field type="CARD32" name="map" />
751 <field type="CARD32" name="n" />
752 <field type="CARD32" name="datum" />
754 <list type="CARD32" name="data">
755 <fieldref>n</fieldref>
760 <request name="GetPixelMapusv" opcode="127">
761 <field type="CONTEXT_TAG" name="context_tag" />
762 <field type="CARD32" name="map" />
766 <field type="CARD32" name="n" />
767 <field type="CARD16" name="datum" />
769 <list type="CARD16" name="data">
770 <fieldref>n</fieldref>
775 <request name="GetPolygonStipple" opcode="128">
776 <field type="CONTEXT_TAG" name="context_tag" />
777 <field type="BOOL" name="lsb_first" />
781 <list type="BYTE" name="data" />
786 <request name="GetString" opcode="129">
787 <field type="CONTEXT_TAG" name="context_tag" />
788 <field type="CARD32" name="name" />
792 <field type="CARD32" name="n" />
794 <list type="CARD8" name="string">
795 <fieldref>n</fieldref>
800 <request name="GetTexEnvfv" opcode="130">
801 <field type="CONTEXT_TAG" name="context_tag" />
802 <field type="CARD32" name="target" />
803 <field type="CARD32" name="pname" />
807 <field type="CARD32" name="n" />
808 <field type="FLOAT32" name="datum" />
810 <list type="FLOAT32" name="data">
811 <fieldref>n</fieldref>
816 <request name="GetTexEnviv" opcode="131">
817 <field type="CONTEXT_TAG" name="context_tag" />
818 <field type="CARD32" name="target" />
819 <field type="CARD32" name="pname" />
823 <field type="CARD32" name="n" />
824 <field type="INT32" name="datum" />
826 <list type="INT32" name="data">
827 <fieldref>n</fieldref>
832 <request name="GetTexGendv" opcode="132">
833 <field type="CONTEXT_TAG" name="context_tag" />
834 <field type="CARD32" name="coord" />
835 <field type="CARD32" name="pname" />
839 <field type="CARD32" name="n" />
840 <field type="FLOAT64" name="datum" />
842 <list type="FLOAT64" name="data">
843 <fieldref>n</fieldref>
848 <request name="GetTexGenfv" opcode="133">
849 <field type="CONTEXT_TAG" name="context_tag" />
850 <field type="CARD32" name="coord" />
851 <field type="CARD32" name="pname" />
855 <field type="CARD32" name="n" />
856 <field type="FLOAT32" name="datum" />
858 <list type="FLOAT32" name="data">
859 <fieldref>n</fieldref>
864 <request name="GetTexGeniv" opcode="134">
865 <field type="CONTEXT_TAG" name="context_tag" />
866 <field type="CARD32" name="coord" />
867 <field type="CARD32" name="pname" />
871 <field type="CARD32" name="n" />
872 <field type="INT32" name="datum" />
874 <list type="INT32" name="data">
875 <fieldref>n</fieldref>
880 <request name="GetTexImage" opcode="135">
881 <field type="CONTEXT_TAG" name="context_tag" />
882 <field type="CARD32" name="target" />
883 <field type="INT32" name="level" />
884 <field type="CARD32" name="format" />
885 <field type="CARD32" name="type" />
886 <field type="BOOL" name="swap_bytes" />
890 <field type="INT32" name="width" />
891 <field type="INT32" name="height" />
892 <field type="INT32" name="depth" />
894 <list type="BYTE" name="data" />
899 <request name="GetTexParameterfv" opcode="136">
900 <field type="CONTEXT_TAG" name="context_tag" />
901 <field type="CARD32" name="target" />
902 <field type="CARD32" name="pname" />
906 <field type="CARD32" name="n" />
907 <field type="FLOAT32" name="datum" />
909 <list type="FLOAT32" name="data">
910 <fieldref>n</fieldref>
915 <request name="GetTexParameteriv" opcode="137">
916 <field type="CONTEXT_TAG" name="context_tag" />
917 <field type="CARD32" name="target" />
918 <field type="CARD32" name="pname" />
922 <field type="CARD32" name="n" />
923 <field type="INT32" name="datum" />
925 <list type="INT32" name="data">
926 <fieldref>n</fieldref>
931 <request name="GetTexLevelParameterfv" opcode="138">
932 <field type="CONTEXT_TAG" name="context_tag" />
933 <field type="CARD32" name="target" />
934 <field type="INT32" name="level" />
935 <field type="CARD32" name="pname" />
939 <field type="CARD32" name="n" />
940 <field type="FLOAT32" name="datum" />
942 <list type="FLOAT32" name="data">
943 <fieldref>n</fieldref>
948 <request name="GetTexLevelParameteriv" opcode="139">
949 <field type="CONTEXT_TAG" name="context_tag" />
950 <field type="CARD32" name="target" />
951 <field type="INT32" name="level" />
952 <field type="CARD32" name="pname" />
956 <field type="CARD32" name="n" />
957 <field type="INT32" name="datum" />
959 <list type="INT32" name="data">
960 <fieldref>n</fieldref>
965 <request name="IsList" opcode="141" >
966 <field type="CONTEXT_TAG" name="context_tag" />
967 <field type="CARD32" name="list" />
970 <field type="BOOL32" name="ret_val" />
974 <request name="Flush" opcode="142">
975 <field type="CONTEXT_TAG" name="context_tag" />
978 <request name="AreTexturesResident" opcode="143">
979 <field type="CONTEXT_TAG" name="context_tag" />
980 <field type="INT32" name="n" />
981 <list type="CARD32" name="textures">
982 <fieldref>n</fieldref>
986 <field type="BOOL32" name="ret_val" />
988 <list type="BOOL" name="data" />
992 <request name="DeleteTextures" opcode="144">
993 <field type="CONTEXT_TAG" name="context_tag" />
994 <field type="INT32" name="n" />
995 <list type="CARD32" name="textures">
996 <fieldref>n</fieldref>
1000 <request name="GenTextures" opcode="145">
1001 <field type="CONTEXT_TAG" name="context_tag" />
1002 <field type="INT32" name="n" />
1006 <list type="CARD32" name="data" />
1010 <request name="IsTexture" opcode="146">
1011 <field type="CONTEXT_TAG" name="context_tag" />
1012 <field type="CARD32" name="texture" />
1015 <field type="BOOL32" name="ret_val" />
1019 <request name="GetColorTable" opcode="147">
1020 <field type="CONTEXT_TAG" name="context_tag" />
1021 <field type="CARD32" name="target" />
1022 <field type="CARD32" name="format" />
1023 <field type="CARD32" name="type" />
1024 <field type="BOOL" name="swap_bytes" />
1028 <field type="INT32" name="width" />
1030 <list type="BYTE" name="data" />
1034 <request name="GetColorTableParameterfv" opcode="148">
1035 <field type="CONTEXT_TAG" name="context_tag" />
1036 <field type="CARD32" name="target" />
1037 <field type="CARD32" name="pname" />
1041 <field type="CARD32" name="n" />
1042 <field type="FLOAT32" name="datum" />
1044 <list type="FLOAT32" name="data">
1045 <fieldref>n</fieldref>
1050 <request name="GetColorTableParameteriv" opcode="149">
1051 <field type="CONTEXT_TAG" name="context_tag" />
1052 <field type="CARD32" name="target" />
1053 <field type="CARD32" name="pname" />
1057 <field type="CARD32" name="n" />
1058 <field type="INT32" name="datum" />
1060 <list type="INT32" name="data">
1061 <fieldref>n</fieldref>
1066 <request name="GetConvolutionFilter" opcode="150">
1067 <field type="CONTEXT_TAG" name="context_tag" />
1068 <field type="CARD32" name="target" />
1069 <field type="CARD32" name="format" />
1070 <field type="CARD32" name="type" />
1071 <field type="BOOL" name="swap_bytes" />
1075 <field type="INT32" name="width" />
1076 <field type="INT32" name="height" />
1078 <list type="BYTE" name="data" />
1083 <request name="GetConvolutionParameterfv" opcode="151">
1084 <field type="CONTEXT_TAG" name="context_tag" />
1085 <field type="CARD32" name="target" />
1086 <field type="CARD32" name="pname" />
1090 <field type="CARD32" name="n" />
1091 <field type="FLOAT32" name="datum" />
1093 <list type="FLOAT32" name="data">
1094 <fieldref>n</fieldref>
1099 <request name="GetConvolutionParameteriv" opcode="152">
1100 <field type="CONTEXT_TAG" name="context_tag" />
1101 <field type="CARD32" name="target" />
1102 <field type="CARD32" name="pname" />
1106 <field type="CARD32" name="n" />
1107 <field type="INT32" name="datum" />
1109 <list type="INT32" name="data">
1110 <fieldref>n</fieldref>
1115 <request name="GetSeparableFilter" opcode="153">
1116 <field type="CONTEXT_TAG" name="context_tag" />
1117 <field type="CARD32" name="target" />
1118 <field type="CARD32" name="format" />
1119 <field type="CARD32" name="type" />
1120 <field type="BOOL" name="swap_bytes" />
1124 <field type="INT32" name="row_w" />
1125 <field type="INT32" name="col_h" />
1127 <list type="BYTE" name="rows_and_cols" />
1131 <request name="GetHistogram" opcode="154">
1132 <field type="CONTEXT_TAG" name="context_tag" />
1133 <field type="CARD32" name="target" />
1134 <field type="CARD32" name="format" />
1135 <field type="CARD32" name="type" />
1136 <field type="BOOL" name="swap_bytes" />
1137 <field type="BOOL" name="reset" />
1141 <field type="INT32" name="width" />
1143 <list type="BYTE" name="data" />
1148 <request name="GetHistogramParameterfv" opcode="155">
1149 <field type="CONTEXT_TAG" name="context_tag" />
1150 <field type="CARD32" name="target" />
1151 <field type="CARD32" name="pname" />
1155 <field type="CARD32" name="n" />
1156 <field type="FLOAT32" name="datum" />
1158 <list type="FLOAT32" name="data">
1159 <fieldref>n</fieldref>
1164 <request name="GetHistogramParameteriv" opcode="156">
1165 <field type="CONTEXT_TAG" name="context_tag" />
1166 <field type="CARD32" name="target" />
1167 <field type="CARD32" name="pname" />
1171 <field type="CARD32" name="n" />
1172 <field type="INT32" name="datum" />
1174 <list type="INT32" name="data">
1175 <fieldref>n</fieldref>
1180 <request name="GetMinmax" opcode="157">
1181 <field type="CONTEXT_TAG" name="context_tag" />
1182 <field type="CARD32" name="target" />
1183 <field type="CARD32" name="format" />
1184 <field type="CARD32" name="type" />
1185 <field type="BOOL" name="swap_bytes" />
1186 <field type="BOOL" name="reset" />
1190 <list type="BYTE" name="data" />
1194 <request name="GetMinmaxParameterfv" opcode="158">
1195 <field type="CONTEXT_TAG" name="context_tag" />
1196 <field type="CARD32" name="target" />
1197 <field type="CARD32" name="pname" />
1201 <field type="CARD32" name="n" />
1202 <field type="FLOAT32" name="datum" />
1204 <list type="FLOAT32" name="data">
1205 <fieldref>n</fieldref>
1210 <request name="GetMinmaxParameteriv" opcode="159">
1211 <field type="CONTEXT_TAG" name="context_tag" />
1212 <field type="CARD32" name="target" />
1213 <field type="CARD32" name="pname" />
1217 <field type="CARD32" name="n" />
1218 <field type="INT32" name="datum" />
1220 <list type="INT32" name="data">
1221 <fieldref>n</fieldref>
1229 * XXX: So far only define non-rendering commands.
1230 * Only those extensions that affect the GLX wire protocol are listed.
1234 GL_ARB_texture_compression
1235 http://oss.sgi.com/projects/ogl-sample/registry/ARB/texture_compression.txt
1237 <request name="GetCompressedTexImageARB" opcode="160">
1238 <field type="CONTEXT_TAG" name="context_tag" />
1239 <field type="CARD32" name="target" />
1240 <field type="INT32" name="level" />
1244 <field type="INT32" name="size" />
1246 <list type="BYTE" name="data" />
1252 GL_ARB_occlusion_query
1253 http://oss.sgi.com/projects/ogl-sample/registry/ARB/occlusion_query.txt
1256 <request name="DeleteQueriesARB" opcode="161">
1257 <field type="CONTEXT_TAG" name="context_tag" />
1258 <field type="INT32" name="n" />
1259 <list type="CARD32" name="ids">
1260 <fieldref>n</fieldref>
1264 <request name="GenQueriesARB" opcode="162">
1265 <field type="CONTEXT_TAG" name="context_tag" />
1266 <field type="INT32" name="n" />
1270 <list type="CARD32" name="data" />
1274 <request name="IsQueryARB" opcode="163">
1275 <field type="CONTEXT_TAG" name="context_tag" />
1276 <field type="CARD32" name="id" />
1279 <field type="BOOL32" name="ret_val" />
1283 <request name="GetQueryivARB" opcode="164">
1284 <field type="CONTEXT_TAG" name="context_tag" />
1285 <field type="CARD32" name="target" />
1286 <field type="CARD32" name="pname" />
1290 <field type="CARD32" name="n" />
1291 <field type="INT32" name="datum" />
1293 <list type="INT32" name="data">
1294 <fieldref>n</fieldref>
1299 <request name="GetQueryObjectivARB" opcode="165">
1300 <field type="CONTEXT_TAG" name="context_tag" />
1301 <field type="CARD32" name="id" />
1302 <field type="CARD32" name="pname" />
1306 <field type="CARD32" name="n" />
1307 <field type="INT32" name="datum" />
1309 <list type="INT32" name="data">
1310 <fieldref>n</fieldref>
1315 <request name="GetQueryObjectuivARB" opcode="166">
1316 <field type="CONTEXT_TAG" name="context_tag" />
1317 <field type="CARD32" name="id" />
1318 <field type="CARD32" name="pname" />
1322 <field type="CARD32" name="n" />
1323 <field type="CARD32" name="datum" />
1325 <list type="CARD32" name="data">
1326 <fieldref>n</fieldref>
1332 GL_ARB_vertex_program
1333 http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_program.txt
1334 XXX: Need to write up vops
1338 GL_ARB_fragment_program
1339 http://oss.sgi.com/projects/ogl-sample/registry/ARB/fragment_program.txt
1340 XXX: Need to write up vops
1344 GL_SGIS_texture_filter4
1345 http://oss.sgi.com/projects/ogl-sample/registry/SGIS/texture_filter4.txt
1346 XXX: Need to write up vops
1351 http://oss.sgi.com/projects/ogl-sample/registry/EXT/histogram.txt
1352 XXX: Need to write up vops
1357 http://oss.sgi.com/projects/ogl-sample/registry/EXT/convolution.txt
1358 XXX: Need to write up vops
1363 http://oss.sgi.com/projects/ogl-sample/registry/SGI/color_table.txt
1364 XXX: Need to write up vops
1368 GL_EXT_texture_object
1369 http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_object.txt
1370 XXX: Need to write up vops
1374 GL_SGIS_detail_texture
1375 http://oss.sgi.com/projects/ogl-sample/registry/SGIS/detail_texture.txt
1376 XXX: Need to write up vops
1380 GL_SGIS_sharpen_texture
1381 http://oss.sgi.com/projects/ogl-sample/registry/SGIS/sharpen_texture.txt
1382 XXX: Need to write up vops
1386 GL_SGI_make_current_read
1387 http://oss.sgi.com/projects/ogl-sample/registry/SGI/make_current_read.txt
1388 XXX: Need to write up vops
1392 GL_EXT_import_context
1393 http://oss.sgi.com/projects/ogl-sample/registry/EXT/import_context.txt
1394 XXX: Need to write up vops
1399 http://oss.sgi.com/projects/ogl-sample/registry/SGIX/fbconfig.txt
1400 XXX: Need to write up vops
1405 http://oss.sgi.com/projects/ogl-sample/registry/SGIX/pbuffer.txt
1406 XXX: Need to write up vops
1410 GL_EXT_pixel_transform
1411 http://oss.sgi.com/projects/ogl-sample/registry/EXT/pixel_transform.txt
1412 XXX: Need to write up vops
1416 GL_NV_register_combiners
1417 http://oss.sgi.com/projects/ogl-sample/registry/NV/register_combiners.txt
1418 XXX: Need to write up vops
1423 http://oss.sgi.com/projects/ogl-sample/registry/NV/fence.txt
1424 XXX: Need to write up vops
1428 GL_NV_register_combiners2
1429 http://oss.sgi.com/projects/ogl-sample/registry/NV/register_combiners2.txt
1430 XXX: Need to write up vops
1434 GL_NV_vertex_program
1435 http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_program.txt
1436 XXX: Need to write up vops
1440 GL_NV_vertex_program
1441 http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_program.txt
1442 XXX: Need to write up vops
1446 GL_NV_occlusion_query
1447 http://oss.sgi.com/projects/ogl-sample/registry/NV/occlusion_query.txt
1448 XXX: Need to write up vops
1452 GL_NV_fragment_program
1453 http://oss.sgi.com/projects/ogl-sample/registry/NV/fragment_program.txt
1454 XXX: Need to write up vops
1458 GL_OES_single_precision
1459 http://oss.sgi.com/projects/ogl-sample/registry/OES/single_precision.txt
1460 XXX: Need to write up vops