]> git.cworth.org Git - glaze/blob - specs/glx.xml
Add egl definitions and related buildsupport.
[glaze] / specs / glx.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <registry>
3     <!--
4     Copyright (c) 2013 The Khronos Group Inc.
5
6     Permission is hereby granted, free of charge, to any person obtaining a
7     copy of this software and/or associated documentation files (the
8     "Materials"), to deal in the Materials without restriction, including
9     without limitation the rights to use, copy, modify, merge, publish,
10     distribute, sublicense, and/or sell copies of the Materials, and to
11     permit persons to whom the Materials are furnished to do so, subject to
12     the following conditions:
13
14     The above copyright notice and this permission notice shall be included
15     in all copies or substantial portions of the Materials.
16
17     THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19     MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20     IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21     CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22     TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23     MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
24     -->
25     <!--
26     This file, glx.xml, is the GLX API Registry. The older ".spec" file
27     format has been retired and will no longer be updated with new
28     extensions and API versions. The canonical version of the registry,
29     together with documentation, schema, and Python generator scripts used
30     to generate C header files for GLX, can always be found in the Khronos
31     Registry at
32         http://www.opengl.org/registry/
33     -->
34
35     <!-- SECTION: GLX type definitions. Does not include X or GL types. -->
36     <types>
37             <!-- These are dependencies GLX types require to be declared legally -->
38         <type name="inttypes"><![CDATA[#ifndef GLEXT_64_TYPES_DEFINED
39 /* This code block is duplicated in glext.h, so must be protected */
40 #define GLEXT_64_TYPES_DEFINED
41 /* Define int32_t, int64_t, and uint64_t types for UST/MSC */
42 /* (as used in the GLX_OML_sync_control extension). */
43 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
44 #include <inttypes.h>
45 #elif defined(__sun__) || defined(__digital__)
46 #include <inttypes.h>
47 #if defined(__STDC__)
48 #if defined(__arch64__) || defined(_LP64)
49 typedef long int int64_t;
50 typedef unsigned long int uint64_t;
51 #else
52 typedef long long int int64_t;
53 typedef unsigned long long int uint64_t;
54 #endif /* __arch64__ */
55 #endif /* __STDC__ */
56 #elif defined( __VMS ) || defined(__sgi)
57 #include <inttypes.h>
58 #elif defined(__SCO__) || defined(__USLC__)
59 #include <stdint.h>
60 #elif defined(__UNIXOS2__) || defined(__SOL64__)
61 typedef long int int32_t;
62 typedef long long int int64_t;
63 typedef unsigned long long int uint64_t;
64 #elif defined(_WIN32) && defined(__GNUC__)
65 #include <stdint.h>
66 #elif defined(_WIN32)
67 typedef __int32 int32_t;
68 typedef __int64 int64_t;
69 typedef unsigned __int64 uint64_t;
70 #else
71 /* Fallback if nothing above works */
72 #include <inttypes.h>
73 #endif
74 #endif]]></type>
75         <type name="int32_t" requires="inttypes"/>
76         <type name="int64_t" requires="inttypes"/>
77             <!-- Dummy placeholders for X types -->
78         <type name="Bool"/>
79         <type name="Colormap"/>
80         <type name="Display"/>
81         <type name="Font"/>
82         <type name="Pixmap"/>
83         <type name="Screen"/>
84         <type name="Status"/>
85         <type name="Window"/>
86         <type name="XVisualInfo"/>
87         <type name="GLboolean"/>
88         <type name="GLenum"/>
89         <type name="GLint"/>
90         <type name="GLsizei"/>
91         <type name="GLubyte"/>
92         <type name="GLuint"/>
93         <type name="DMbuffer"/>
94         <type name="DMparams"/>
95         <type name="VLNode"/>
96         <type name="VLPath"/>
97         <type name="VLServer"/>
98             <!-- These are actual GLX types. X types are not included.  -->
99         <type>typedef XID <name>GLXFBConfigID</name>;</type>
100         <type>typedef struct __GLXFBConfigRec *<name>GLXFBConfig</name>;</type>
101         <type>typedef XID <name>GLXContextID</name>;</type>
102         <type>typedef struct __GLXcontextRec *<name>GLXContext</name>;</type>
103         <type>typedef XID <name>GLXPixmap</name>;</type>
104         <type>typedef XID <name>GLXDrawable</name>;</type>
105         <type>typedef XID <name>GLXWindow</name>;</type>
106         <type>typedef XID <name>GLXPbuffer</name>;</type>
107         <type>typedef void (<apientry /> *<name>__GLXextFuncPtr</name>)(void);</type>
108         <type>typedef XID <name>GLXVideoCaptureDeviceNV</name>;</type>
109         <type>typedef unsigned int <name>GLXVideoDeviceNV</name>;</type>
110         <type>typedef XID <name>GLXVideoSourceSGIX</name>;</type>
111         <type>typedef XID <name>GLXFBConfigIDSGIX</name>;</type>
112         <type>typedef struct __GLXFBConfigRec *<name>GLXFBConfigSGIX</name>;</type>
113         <type>typedef XID <name>GLXPbufferSGIX</name>;</type>
114             <!-- Declaring C structures in XML is a pain indentation-wise -->
115         <type>typedef struct {
116     int event_type;             /* GLX_DAMAGED or GLX_SAVED */
117     int draw_type;              /* GLX_WINDOW or GLX_PBUFFER */
118     unsigned long serial;       /* # of last request processed by server */
119     Bool send_event;            /* true if this came for SendEvent request */
120     Display *display;           /* display the event was read from */
121     GLXDrawable drawable;       /* XID of Drawable */
122     unsigned int buffer_mask;   /* mask indicating which buffers are affected */
123     unsigned int aux_buffer;    /* which aux buffer was affected */
124     int x, y;
125     int width, height;
126     int count;                  /* if nonzero, at least this many more */
127 } <name>GLXPbufferClobberEvent</name>;</type>
128
129         <type>typedef struct {
130     int type;
131     unsigned long serial;       /* # of last request processed by server */
132     Bool send_event;            /* true if this came from a SendEvent request */
133     Display *display;           /* Display the event was read from */
134     GLXDrawable drawable;       /* drawable on which event was requested in event mask */
135     int event_type;
136     int64_t ust;
137     int64_t msc;
138     int64_t sbc;
139 } <name>GLXBufferSwapComplete</name>;</type>
140
141         <type>typedef union __GLXEvent {
142     GLXPbufferClobberEvent glxpbufferclobber;
143     GLXBufferSwapComplete glxbufferswapcomplete;
144     long pad[24];
145 } <name>GLXEvent</name>;</type>
146
147         <type>typedef struct {
148     int type;
149     unsigned long serial;   /* # of last request processed by server */
150     Bool send_event;        /* true if this came for SendEvent request */
151     Display *display;       /* display the event was read from */
152     GLXDrawable drawable;   /* i.d. of Drawable */
153     int event_type;         /* GLX_DAMAGED_SGIX or GLX_SAVED_SGIX */
154     int draw_type;          /* GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX */
155     unsigned int mask;      /* mask indicating which buffers are affected*/
156     int x, y;
157     int width, height;
158     int count;              /* if nonzero, at least this many more */
159 } <name>GLXBufferClobberEventSGIX</name>;</type>
160
161         <type>typedef struct {
162     char    pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
163     int     networkId;
164 } <name>GLXHyperpipeNetworkSGIX</name>;</type>
165
166         <type>typedef struct {
167     char    pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
168     int     channel;
169     unsigned int participationType;
170     int     timeSlice;
171 } <name>GLXHyperpipeConfigSGIX</name>;</type>
172
173         <type>typedef struct {
174     char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
175     int srcXOrigin, srcYOrigin, srcWidth, srcHeight;
176     int destXOrigin, destYOrigin, destWidth, destHeight;
177 } <name>GLXPipeRect</name>;</type>
178
179         <type>typedef struct {
180     char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
181     int XOrigin, YOrigin, maxHeight, maxWidth;
182 } <name>GLXPipeRectLimits</name>;</type>
183
184     </types>
185
186     <!-- SECTION: GLX enumerant (token) definitions. -->
187
188     <!-- This is modest abuse of the <enum> mechanism but there's no
189          better way to inject this #define at present (maybe a <string>
190          tag?). -->
191     <enums namespace="GLXStrings">
192         <enum value="&quot;GLX&quot;"  name="GLX_EXTENSION_NAME"/>
193     </enums>
194
195     <!-- Bitmasks each have their own namespace, as do a few other
196          categories of enumeration -->
197
198     <enums namespace="GLXStringName">
199         <enum value="0x1"           name="GLX_VENDOR"/>
200         <enum value="0x2"           name="GLX_VERSION"/>
201         <enum value="0x3"           name="GLX_EXTENSIONS"/>
202     </enums>
203
204     <enums namespace="GLXMesa3DFXMode" vendor="MESA">
205         <enum value="0x1"           name="GLX_3DFX_WINDOW_MODE_MESA"/>
206         <enum value="0x2"           name="GLX_3DFX_FULLSCREEN_MODE_MESA"/>
207     </enums>
208
209     <enums namespace="GLXEventCodes">
210         <!-- __GLX_NUMBER_EVENTS is set to 17 to account for the
211              BufferClobberSGIX event. This helps initialization if the
212              server supports the extension and the client doesn't. -->
213         <enum value="0"             name="GLX_PbufferClobber"/>
214         <enum value="1"             name="GLX_BufferSwapComplete"/>
215         <enum value="17"            name="__GLX_NUMBER_EVENTS"/>
216     </enums>
217
218     <enums namespace="GLXErrorCode">
219         <enum value="1"             name="GLX_BAD_SCREEN"/>
220         <enum value="2"             name="GLX_BAD_ATTRIBUTE"/>
221         <enum value="3"             name="GLX_NO_EXTENSION"/>
222         <enum value="4"             name="GLX_BAD_VISUAL"/>
223         <enum value="5"             name="GLX_BAD_CONTEXT"/>
224         <enum value="6"             name="GLX_BAD_VALUE"/>
225         <enum value="7"             name="GLX_BAD_ENUM"/>
226         <enum value="91"            name="GLX_BAD_HYPERPIPE_CONFIG_SGIX"/>
227         <enum value="92"            name="GLX_BAD_HYPERPIPE_SGIX"/>
228     </enums>
229
230     <enums namespace="GLXDrawableTypeMask" type="bitmask" comment="DRAWABLE_TYPE bits">
231         <enum value="0x00000001"    name="GLX_WINDOW_BIT"/>
232         <enum value="0x00000001"    name="GLX_WINDOW_BIT_SGIX"/>
233         <enum value="0x00000002"    name="GLX_PIXMAP_BIT"/>
234         <enum value="0x00000002"    name="GLX_PIXMAP_BIT_SGIX"/>
235         <enum value="0x00000004"    name="GLX_PBUFFER_BIT"/>
236         <enum value="0x00000004"    name="GLX_PBUFFER_BIT_SGIX"/>
237     </enums>
238
239     <enums namespace="GLXRenderTypeMask" type="bitmask" comment="RENDER_TYPE bits">
240         <enum value="0x00000001"    name="GLX_RGBA_BIT"/>
241         <enum value="0x00000001"    name="GLX_RGBA_BIT_SGIX"/>
242         <enum value="0x00000002"    name="GLX_COLOR_INDEX_BIT"/>
243         <enum value="0x00000002"    name="GLX_COLOR_INDEX_BIT_SGIX"/>
244         <enum value="0x00000004"    name="GLX_RGBA_FLOAT_BIT_ARB"/>
245         <enum value="0x00000008"    name="GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT"/>
246     </enums>
247
248     <enums namespace="GLXSyncType" type="bitmask" comment="ChannelRectSyncSGIX bits">
249         <enum value="0x00000000"    name="GLX_SYNC_FRAME_SGIX"/>
250         <enum value="0x00000001"    name="GLX_SYNC_SWAP_SGIX"/>
251     </enums>
252
253     <enums namespace="GLXEventMask" type="bitmask" comment="SelectEvent mask">
254         <enum value="0x04000000"    name="GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK"/>
255         <enum value="0x08000000"    name="GLX_PBUFFER_CLOBBER_MASK"/>
256         <enum value="0x08000000"    name="GLX_BUFFER_CLOBBER_MASK_SGIX"/>
257     </enums>
258
259     <enums namespace="GLXPbufferClobberMask" type="bitmask">
260         <enum value="0x00000001"    name="GLX_FRONT_LEFT_BUFFER_BIT"/>
261         <enum value="0x00000001"    name="GLX_FRONT_LEFT_BUFFER_BIT_SGIX"/>
262         <enum value="0x00000002"    name="GLX_FRONT_RIGHT_BUFFER_BIT"/>
263         <enum value="0x00000002"    name="GLX_FRONT_RIGHT_BUFFER_BIT_SGIX"/>
264         <enum value="0x00000004"    name="GLX_BACK_LEFT_BUFFER_BIT"/>
265         <enum value="0x00000004"    name="GLX_BACK_LEFT_BUFFER_BIT_SGIX"/>
266         <enum value="0x00000008"    name="GLX_BACK_RIGHT_BUFFER_BIT"/>
267         <enum value="0x00000008"    name="GLX_BACK_RIGHT_BUFFER_BIT_SGIX"/>
268         <enum value="0x00000010"    name="GLX_AUX_BUFFERS_BIT"/>
269         <enum value="0x00000010"    name="GLX_AUX_BUFFERS_BIT_SGIX"/>
270         <enum value="0x00000020"    name="GLX_DEPTH_BUFFER_BIT"/>
271         <enum value="0x00000020"    name="GLX_DEPTH_BUFFER_BIT_SGIX"/>
272         <enum value="0x00000040"    name="GLX_STENCIL_BUFFER_BIT"/>
273         <enum value="0x00000040"    name="GLX_STENCIL_BUFFER_BIT_SGIX"/>
274         <enum value="0x00000080"    name="GLX_ACCUM_BUFFER_BIT"/>
275         <enum value="0x00000080"    name="GLX_ACCUM_BUFFER_BIT_SGIX"/>
276         <enum value="0x00000100"    name="GLX_SAMPLE_BUFFERS_BIT_SGIX"/>
277     </enums>
278
279     <enums namespace="GLXHyperpipeTypeMask" type="bitmask">
280         <enum value="0x00000001"    name="GLX_HYPERPIPE_DISPLAY_PIPE_SGIX"/>                     <!-- SGIX_hyperpipe                                 -->
281         <enum value="0x00000002"    name="GLX_HYPERPIPE_RENDER_PIPE_SGIX"/>                      <!--   "                                            -->
282     </enums>
283
284     <enums namespace="GLXHyperpipeAttribSGIX" type="bitmask">
285         <enum value="0x00000001"    name="GLX_PIPE_RECT_SGIX"/>
286         <enum value="0x00000002"    name="GLX_PIPE_RECT_LIMITS_SGIX"/>
287         <enum value="0x00000003"    name="GLX_HYPERPIPE_STEREO_SGIX"/>
288         <enum value="0x00000004"    name="GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX"/>
289     </enums>
290
291     <enums namespace="GLXBindToTextureTargetMask" type="bitmask">
292         <enum value="0x00000001"    name="GLX_TEXTURE_1D_BIT_EXT"/>
293         <enum value="0x00000002"    name="GLX_TEXTURE_2D_BIT_EXT"/>
294         <enum value="0x00000004"    name="GLX_TEXTURE_RECTANGLE_BIT_EXT"/>
295     </enums>
296
297     <enums namespace="GLXContextFlags" type="bitmask" comment="CONTEXT_FLAGS_ARB bits (shared with WGL/GL)">
298         <enum value="0x00000001"    name="GLX_CONTEXT_DEBUG_BIT_ARB"/>
299         <enum value="0x00000002"    name="GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB"/>
300         <enum value="0x00000004"    name="GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB"/>
301         <enum value="0x00000008"    name="GLX_CONTEXT_RESET_ISOLATION_BIT_ARB"/>
302     </enums>
303
304     <enums namespace="GLXContextProfileMask" type="bitmask" comment="CONTEXT_PROFILE_MASK_ARB bits">
305         <enum value="0x00000001"    name="GLX_CONTEXT_CORE_PROFILE_BIT_ARB"/>
306         <enum value="0x00000002"    name="GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB"/>
307         <enum value="0x00000004"    name="GLX_CONTEXT_ES_PROFILE_BIT_EXT"/>
308         <enum value="0x00000004"    name="GLX_CONTEXT_ES2_PROFILE_BIT_EXT" alias="GLX_CONTEXT_ES_PROFILE_BIT_EXT"/>
309     </enums>
310
311     <enums namespace="GLXHyperpipeMiscSGIX">
312         <enum value="80"            name="GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX"/>
313     </enums>
314
315     <enums namespace="GLX" start="0x0000" end="0x2FFF" vendor="ARB"           comment="Miscellaneous OpenGL 1.0/1.1 enums. Most parts of this range are unused and should remain unused."/>
316
317     <enums namespace="GLX" group="SpecialNumbers"  vendor="ARB" comment="Tokens whose numeric value is intrinsically meaningful">
318         <enum value="0xFFFFFFFF"    name="GLX_DONT_CARE"/>                                       <!-- for ChooseFBConfig attributes                  -->
319     </enums>
320
321     <enums namespace="GLX" group="GLXAttribute" vendor="ARB" comment="Visual attributes">
322         <enum value="1"             name="GLX_USE_GL"/>
323         <enum value="2"             name="GLX_BUFFER_SIZE"/>
324         <enum value="3"             name="GLX_LEVEL"/>
325         <enum value="4"             name="GLX_RGBA"/>
326         <enum value="5"             name="GLX_DOUBLEBUFFER"/>
327         <enum value="6"             name="GLX_STEREO"/>
328         <enum value="7"             name="GLX_AUX_BUFFERS"/>
329         <enum value="8"             name="GLX_RED_SIZE"/>
330         <enum value="9"             name="GLX_GREEN_SIZE"/>
331         <enum value="10"            name="GLX_BLUE_SIZE"/>
332         <enum value="11"            name="GLX_ALPHA_SIZE"/>
333         <enum value="12"            name="GLX_DEPTH_SIZE"/>
334         <enum value="13"            name="GLX_STENCIL_SIZE"/>
335         <enum value="14"            name="GLX_ACCUM_RED_SIZE"/>
336         <enum value="15"            name="GLX_ACCUM_GREEN_SIZE"/>
337         <enum value="16"            name="GLX_ACCUM_BLUE_SIZE"/>
338         <enum value="17"            name="GLX_ACCUM_ALPHA_SIZE"/>
339             <unused start="18" end="0x1F"/>
340         <enum value="0x20"          name="GLX_CONFIG_CAVEAT"/>
341         <enum value="0x20"          name="GLX_VISUAL_CAVEAT_EXT"/>
342         <enum value="0x22"          name="GLX_X_VISUAL_TYPE"/>
343         <enum value="0x22"          name="GLX_X_VISUAL_TYPE_EXT"/>
344         <enum value="0x23"          name="GLX_TRANSPARENT_TYPE"/>
345         <enum value="0x23"          name="GLX_TRANSPARENT_TYPE_EXT"/>
346         <enum value="0x24"          name="GLX_TRANSPARENT_INDEX_VALUE"/>
347         <enum value="0x24"          name="GLX_TRANSPARENT_INDEX_VALUE_EXT"/>
348         <enum value="0x25"          name="GLX_TRANSPARENT_RED_VALUE"/>
349         <enum value="0x25"          name="GLX_TRANSPARENT_RED_VALUE_EXT"/>
350         <enum value="0x26"          name="GLX_TRANSPARENT_GREEN_VALUE"/>
351         <enum value="0x26"          name="GLX_TRANSPARENT_GREEN_VALUE_EXT"/>
352         <enum value="0x27"          name="GLX_TRANSPARENT_BLUE_VALUE"/>
353         <enum value="0x27"          name="GLX_TRANSPARENT_BLUE_VALUE_EXT"/>
354         <enum value="0x28"          name="GLX_TRANSPARENT_ALPHA_VALUE"/>
355         <enum value="0x28"          name="GLX_TRANSPARENT_ALPHA_VALUE_EXT"/>
356     </enums>
357
358     <enums namespace="GLX" start="0x1F00" end="0x1F02" vendor="AMD" comment="Equivalent to corresponding WGL/GL tokens">
359         <enum value="0x1F00"        name="GLX_GPU_VENDOR_AMD"/>
360         <enum value="0x1F01"        name="GLX_GPU_RENDERER_STRING_AMD"/>
361         <enum value="0x1F02"        name="GLX_GPU_OPENGL_VERSION_STRING_AMD"/>
362     </enums>
363
364     <enums namespace="GLX" start="0x2070" end="0x209F" vendor="ARB" comment="Shared with WGL; synchronize create_context enums">
365         <enum value="0x2091"        name="GLX_CONTEXT_MAJOR_VERSION_ARB"/>
366         <enum value="0x2092"        name="GLX_CONTEXT_MINOR_VERSION_ARB"/>
367             <!-- 0x2093 used for WGL_CONTEXT_LAYER_PLANE_ARB -->
368         <enum value="0x2094"        name="GLX_CONTEXT_FLAGS_ARB"/>
369             <!-- 0x2095 collides with WGL_ERROR_INVALID_VERSION_ARB! -->
370         <enum value="0x2095"        name="GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB"/>
371             <!-- 0x2096 used for WGL_ERROR_INVALID_PROFILE_ARB -->
372             <unused start="0x2097" end="0x209F"/>
373     </enums>
374
375     <enums namespace="GLX" start="0x20A0" end="0x219F" vendor="NV" comment="Shared with WGL">
376         <enum value="0x20B0"        name="GLX_FLOAT_COMPONENTS_NV"/>
377         <enum value="0x20B1"        name="GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT"/>
378         <enum value="0x20B2"        name="GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB"/>
379         <enum value="0x20B2"        name="GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT"/>
380         <enum value="0x20B3"        name="GLX_COLOR_SAMPLES_NV"/>
381             <unused start="0x20B4" end="0x20B8"/>
382         <enum value="0x20B9"        name="GLX_RGBA_FLOAT_TYPE_ARB"/>
383             <unused start="0x20BA" end="0x20C2"/>
384         <enum value="0x20C3"        name="GLX_VIDEO_OUT_COLOR_NV"/>
385         <enum value="0x20C4"        name="GLX_VIDEO_OUT_ALPHA_NV"/>
386         <enum value="0x20C5"        name="GLX_VIDEO_OUT_DEPTH_NV"/>
387         <enum value="0x20C6"        name="GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV"/>
388         <enum value="0x20C7"        name="GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV"/>
389         <enum value="0x20C8"        name="GLX_VIDEO_OUT_FRAME_NV"/>
390         <enum value="0x20C9"        name="GLX_VIDEO_OUT_FIELD_1_NV"/>
391         <enum value="0x20CA"        name="GLX_VIDEO_OUT_FIELD_2_NV"/>
392         <enum value="0x20CB"        name="GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV"/>
393         <enum value="0x20CC"        name="GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV"/>
394         <enum value="0x20CD"        name="GLX_DEVICE_ID_NV"/>
395         <enum value="0x20CE"        name="GLX_UNIQUE_ID_NV"/>
396         <enum value="0x20CF"        name="GLX_NUM_VIDEO_CAPTURE_SLOTS_NV"/>
397         <enum value="0x20D0"        name="GLX_BIND_TO_TEXTURE_RGB_EXT"/>
398         <enum value="0x20D1"        name="GLX_BIND_TO_TEXTURE_RGBA_EXT"/>
399         <enum value="0x20D2"        name="GLX_BIND_TO_MIPMAP_TEXTURE_EXT"/>
400         <enum value="0x20D3"        name="GLX_BIND_TO_TEXTURE_TARGETS_EXT"/>
401         <enum value="0x20D4"        name="GLX_Y_INVERTED_EXT"/>
402         <enum value="0x20D5"        name="GLX_TEXTURE_FORMAT_EXT"/>
403         <enum value="0x20D6"        name="GLX_TEXTURE_TARGET_EXT"/>
404         <enum value="0x20D7"        name="GLX_MIPMAP_TEXTURE_EXT"/>
405         <enum value="0x20D8"        name="GLX_TEXTURE_FORMAT_NONE_EXT"/>
406         <enum value="0x20D9"        name="GLX_TEXTURE_FORMAT_RGB_EXT"/>
407         <enum value="0x20DA"        name="GLX_TEXTURE_FORMAT_RGBA_EXT"/>
408         <enum value="0x20DB"        name="GLX_TEXTURE_1D_EXT"/>
409         <enum value="0x20DC"        name="GLX_TEXTURE_2D_EXT"/>
410         <enum value="0x20DD"        name="GLX_TEXTURE_RECTANGLE_EXT"/>
411         <enum value="0x20DE"        name="GLX_FRONT_LEFT_EXT"/>
412         <enum value="0x20DF"        name="GLX_FRONT_RIGHT_EXT"/>
413         <enum value="0x20E0"        name="GLX_BACK_LEFT_EXT"/>
414         <enum value="0x20E1"        name="GLX_BACK_RIGHT_EXT"/>
415         <enum value="0x20DE"        name="GLX_FRONT_EXT"    alias="GLX_FRONT_LEFT_EXT"/>
416         <enum value="0x20E0"        name="GLX_BACK_EXT"     alias="GLX_BACK_LEFT_EXT"/>
417         <enum value="0x20E2"        name="GLX_AUX0_EXT"/>
418         <enum value="0x20E3"        name="GLX_AUX1_EXT"/>
419         <enum value="0x20E4"        name="GLX_AUX2_EXT"/>
420         <enum value="0x20E5"        name="GLX_AUX3_EXT"/>
421         <enum value="0x20E6"        name="GLX_AUX4_EXT"/>
422         <enum value="0x20E7"        name="GLX_AUX5_EXT"/>
423         <enum value="0x20E8"        name="GLX_AUX6_EXT"/>
424         <enum value="0x20E9"        name="GLX_AUX7_EXT"/>
425         <enum value="0x20EA"        name="GLX_AUX8_EXT"/>
426         <enum value="0x20EB"        name="GLX_AUX9_EXT"/>
427             <unused start="0x20EC" end="0x20EF"/>
428         <enum value="0x20F0"        name="GLX_NUM_VIDEO_SLOTS_NV"/>
429         <enum value="0x20F1"        name="GLX_SWAP_INTERVAL_EXT"/>
430         <enum value="0x20F2"        name="GLX_MAX_SWAP_INTERVAL_EXT"/>
431         <enum value="0x20F3"        name="GLX_LATE_SWAPS_TEAR_EXT"/>
432         <enum value="0x20F4"        name="GLX_BACK_BUFFER_AGE_EXT"/>
433             <unused start="0x20F5" end="0x219F"/>
434     </enums>
435
436     <enums namespace="GLX" start="0x21A0" end="0x21AF" vendor="AMD" comment="Shared with WGL; synchronize create_context enums">
437             <unused start="0x21A0" end="0x21A1" comment="used by WGL extensions"/>
438         <enum value="0x21A2"        name="GLX_GPU_FASTEST_TARGET_GPUS_AMD"/>
439         <enum value="0x21A3"        name="GLX_GPU_RAM_AMD"/>
440         <enum value="0x21A4"        name="GLX_GPU_CLOCK_AMD"/>
441         <enum value="0x21A5"        name="GLX_GPU_NUM_PIPES_AMD"/>
442         <enum value="0x21A6"        name="GLX_GPU_NUM_SIMD_AMD"/>
443         <enum value="0x21A7"        name="GLX_GPU_NUM_RB_AMD"/>
444         <enum value="0x21A8"        name="GLX_GPU_NUM_SPI_AMD"/>
445             <unused start="0x21A9" end="0x21AF"/>
446     </enums>
447
448     <enums namespace="GLX" start="0x8000" end="0x804F" vendor="ARB">
449         <enum value="0x8000"        name="GLX_NONE"/>                                            <!-- several attribute values                       -->
450         <enum value="0x8001"        name="GLX_SLOW_CONFIG"/>                                     <!-- CONFIG_CAVEAT attribute value                  -->
451         <enum value="0x8002"        name="GLX_TRUE_COLOR"/>                                      <!-- X_VISUAL_TYPE attribute value                  -->
452         <enum value="0x8003"        name="GLX_DIRECT_COLOR"/>                                    <!--   "                                            -->
453         <enum value="0x8004"        name="GLX_PSEUDO_COLOR"/>                                    <!--   "                                            -->
454         <enum value="0x8005"        name="GLX_STATIC_COLOR"/>                                    <!--   "                                            -->
455         <enum value="0x8006"        name="GLX_GRAY_SCALE"/>                                      <!--   "                                            -->
456         <enum value="0x8007"        name="GLX_STATIC_GRAY"/>                                     <!--   "                                            -->
457         <enum value="0x8008"        name="GLX_TRANSPARENT_RGB"/>                                 <!-- TRANSPARENT_TYPE attribute value               -->
458         <enum value="0x8009"        name="GLX_TRANSPARENT_INDEX"/>                               <!--   "                                            -->
459         <enum value="0x800B"        name="GLX_VISUAL_ID"/>                                       <!-- Context attribute                              -->
460         <enum value="0x800C"        name="GLX_SCREEN"/>                                          <!--   "                                            -->
461         <enum value="0x800D"        name="GLX_NON_CONFORMANT_CONFIG"/>                           <!-- CONFIG_CAVEAT attribute value                  -->
462         <enum value="0x8010"        name="GLX_DRAWABLE_TYPE"/>                                   <!-- FBConfig attribute                             -->
463         <enum value="0x8011"        name="GLX_RENDER_TYPE"/>                                     <!--   "                                            -->
464         <enum value="0x8012"        name="GLX_X_RENDERABLE"/>                                    <!--   "                                            -->
465         <enum value="0x8013"        name="GLX_FBCONFIG_ID"/>                                     <!--   "                                            -->
466         <enum value="0x8014"        name="GLX_RGBA_TYPE"/>                                       <!-- CreateNewContext render_type value             -->
467         <enum value="0x8015"        name="GLX_COLOR_INDEX_TYPE"/>                                <!--   "                                            -->
468         <enum value="0x8016"        name="GLX_MAX_PBUFFER_WIDTH"/>                               <!-- FBConfig attribute                             -->
469         <enum value="0x8017"        name="GLX_MAX_PBUFFER_HEIGHT"/>                              <!--   "                                            -->
470         <enum value="0x8018"        name="GLX_MAX_PBUFFER_PIXELS"/>                              <!--   "                                            -->
471         <enum value="0x801B"        name="GLX_PRESERVED_CONTENTS"/>                              <!-- CreateGLXPbuffer attribute                     -->
472         <enum value="0x801C"        name="GLX_LARGEST_PBUFFER"/>                                 <!--   "                                            -->
473         <enum value="0x801D"        name="GLX_WIDTH"/>                                           <!-- Drawable attribute                             -->
474         <enum value="0x801E"        name="GLX_HEIGHT"/>                                          <!--   "                                            -->
475         <enum value="0x801F"        name="GLX_EVENT_MASK"/>                                      <!--   "                                            -->
476         <enum value="0x8020"        name="GLX_DAMAGED"/>                                         <!-- PbufferClobber event_type value                -->
477         <enum value="0x8021"        name="GLX_SAVED"/>                                           <!--   "                                            -->
478         <enum value="0x8022"        name="GLX_WINDOW"/>                                          <!-- PbufferClobber draw_type value                 -->
479         <enum value="0x8023"        name="GLX_PBUFFER"/>                                         <!--   "                                            -->
480         <enum value="0x8000"        name="GLX_NONE_EXT"/>                                        <!-- several EXT attribute values                   -->
481         <enum value="0x8001"        name="GLX_SLOW_VISUAL_EXT"/>                                 <!-- VISUAL_CAVEAT_EXT attribute value              -->
482         <enum value="0x8002"        name="GLX_TRUE_COLOR_EXT"/>                                  <!-- X_VISUAL_TYPE_EXT attribute value              -->
483         <enum value="0x8003"        name="GLX_DIRECT_COLOR_EXT"/>                                <!--   "                                            -->
484         <enum value="0x8004"        name="GLX_PSEUDO_COLOR_EXT"/>                                <!--   "                                            -->
485         <enum value="0x8005"        name="GLX_STATIC_COLOR_EXT"/>                                <!--   "                                            -->
486         <enum value="0x8006"        name="GLX_GRAY_SCALE_EXT"/>                                  <!--   "                                            -->
487         <enum value="0x8007"        name="GLX_STATIC_GRAY_EXT"/>                                 <!--   "                                            -->
488         <enum value="0x8008"        name="GLX_TRANSPARENT_RGB_EXT"/>                             <!-- TRANSPARENT_TYPE_EXT attribute value           -->
489         <enum value="0x8009"        name="GLX_TRANSPARENT_INDEX_EXT"/>                           <!--   "                                            -->
490         <enum value="0x800A"        name="GLX_SHARE_CONTEXT_EXT"/>                               <!-- QueryContextInfoEXT attribute                  -->
491         <enum value="0x800B"        name="GLX_VISUAL_ID_EXT"/>                                   <!--   "                                            -->
492         <enum value="0x800C"        name="GLX_SCREEN_EXT"/>                                      <!--   "                                            -->
493         <enum value="0x800D"        name="GLX_NON_CONFORMANT_VISUAL_EXT"/>                       <!-- VISUAL_CAVEAT_EXT attribute value              -->
494         <enum value="0x8010"        name="GLX_DRAWABLE_TYPE_SGIX"/>                              <!-- FBConfigSGIX attribute                         -->
495         <enum value="0x8011"        name="GLX_RENDER_TYPE_SGIX"/>                                <!--   "                                            -->
496         <enum value="0x8012"        name="GLX_X_RENDERABLE_SGIX"/>                               <!--   "                                            -->
497         <enum value="0x8013"        name="GLX_FBCONFIG_ID_SGIX"/>                                <!--   "                                            -->
498         <enum value="0x8014"        name="GLX_RGBA_TYPE_SGIX"/>                                  <!-- CreateContextWithConfigSGIX render_type value  -->
499         <enum value="0x8015"        name="GLX_COLOR_INDEX_TYPE_SGIX"/>                           <!--   "                                            -->
500         <enum value="0x8016"        name="GLX_MAX_PBUFFER_WIDTH_SGIX"/>                          <!-- FBConfigSGIX attribute                         -->
501         <enum value="0x8017"        name="GLX_MAX_PBUFFER_HEIGHT_SGIX"/>                         <!--   "                                            -->
502         <enum value="0x8018"        name="GLX_MAX_PBUFFER_PIXELS_SGIX"/>                         <!--   "                                            -->
503         <enum value="0x8019"        name="GLX_OPTIMAL_PBUFFER_WIDTH_SGIX"/>                      <!--   "                                            -->
504         <enum value="0x801A"        name="GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX"/>                     <!--   "                                            -->
505         <enum value="0x801B"        name="GLX_PRESERVED_CONTENTS_SGIX"/>                         <!-- PbufferSGIX attribute                          -->
506         <enum value="0x801C"        name="GLX_LARGEST_PBUFFER_SGIX"/>                            <!--   "                                            -->
507         <enum value="0x801D"        name="GLX_WIDTH_SGIX"/>                                      <!--   "                                            -->
508         <enum value="0x801E"        name="GLX_HEIGHT_SGIX"/>                                     <!--   "                                            -->
509         <enum value="0x801F"        name="GLX_EVENT_MASK_SGIX"/>                                 <!--   "                                            -->
510         <enum value="0x8020"        name="GLX_DAMAGED_SGIX"/>                                    <!-- BufferClobberSGIX event_type value             -->
511         <enum value="0x8021"        name="GLX_SAVED_SGIX"/>                                      <!--   "                                            -->
512         <enum value="0x8022"        name="GLX_WINDOW_SGIX"/>                                     <!-- BufferClobberSGIX draw_type value              -->
513         <enum value="0x8023"        name="GLX_PBUFFER_SGIX"/>                                    <!--   "                                            -->
514         <enum value="0x8024"        name="GLX_DIGITAL_MEDIA_PBUFFER_SGIX"/>                      <!-- PbufferSGIX attribute                          -->
515         <enum value="0x8025"        name="GLX_BLENDED_RGBA_SGIS"/>                               <!-- TRANSPARENT_TYPE_EXT attribute value           -->
516         <enum value="0x8026"        name="GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS"/>                 <!-- Visual attribute (shared_multisample)          -->
517         <enum value="0x8027"        name="GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS"/>                <!--   "                                            -->
518         <enum value="0x8028"        name="GLX_VISUAL_SELECT_GROUP_SGIX"/>                        <!-- Visual attribute (visual_select_group)         -->
519             <unused start="0x8029" end="0x802F"/>
520         <enum value="0x8030"        name="GLX_HYPERPIPE_ID_SGIX"/>                               <!-- Associated hyperpipe ID (SGIX_hyperpipe)       -->
521             <unused start="0x8031" end="0x803F"/>
522         <enum value="0x8040"        name="GLX_PBUFFER_HEIGHT"/>                                  <!-- CreateGLXPbuffer attribute                     -->
523         <enum value="0x8041"        name="GLX_PBUFFER_WIDTH"/>                                   <!--   "                                            -->
524             <unused start="0x8042" end="0x804F"/>
525     </enums>
526
527     <enums namespace="GLX" start="0x8050" end="0x804F" vendor="3DFX">
528         <enum value="0x8050"        name="GLX_SAMPLE_BUFFERS_3DFX"/>
529         <enum value="0x8051"        name="GLX_SAMPLES_3DFX"/>
530             <unused start="0x8052" end="0x805F"/>
531     </enums>
532
533
534     <enums namespace="GLX" start="0x8060" end="0x806F" vendor="OML">
535         <enum value="0x8060"        name="GLX_SWAP_METHOD_OML"/>
536         <enum value="0x8061"        name="GLX_SWAP_EXCHANGE_OML"/>
537         <enum value="0x8062"        name="GLX_SWAP_COPY_OML"/>
538         <enum value="0x8063"        name="GLX_SWAP_UNDEFINED_OML"/>
539             <unused start="0x8064" end="0x806F"/>
540     </enums>
541
542     <enums namespace="GLX" start="0x8070" end="0x816F" vendor="NV">
543             <unused start="0x8070" end="0x816F"/>
544     </enums>
545
546     <enums namespace="GLX" start="0x8170" end="0x817F" vendor="SUN">
547             <unused start="0x8170" end="0x817F"/>
548     </enums>
549
550     <enums namespace="GLX" start="0x8180" end="0x818F" vendor="INTEL">
551         <enum value="0x8180"        name="GLX_EXCHANGE_COMPLETE_INTEL"/>
552         <enum value="0x8181"        name="GLX_COPY_COMPLETE_INTEL"/>
553         <enum value="0x8182"        name="GLX_FLIP_COMPLETE_INTEL"/>
554             <unused start="0x8183" end="0x818F"/>
555     </enums>
556
557 <!-- Please remember that new enumerant allocations must be obtained by
558      request to the Khronos API registrar (see comments at the top of this
559      file) File requests in the Khronos Bugzilla, OpenGL project, Registry
560      component. Also note that some GLX enum values are shared with GL and
561      WGL, and new ranges should be allocated with such overlaps in mind. -->
562
563 <!-- Reservable for future use: 0x8190-0x824F.
564      To generate a new range, allocate multiples of 16 starting at the
565      lowest available point in this block. -->
566     <enums namespace="GLX" start="0x8190" end="0x824F" vendor="ARB">
567             <unused start="0x8190" end="0x824F" comment="Reserved for future use"/>
568     </enums>
569
570     <enums namespace="GL" start="0x8250" end="0x826F" vendor="ARB" comment="Values shared with GL. Do not allocate additional values in this range.">
571         <enum value="0x8252"        name="GLX_LOSE_CONTEXT_ON_RESET_ARB"/>
572         <enum value="0x8256"        name="GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB"/>
573         <enum value="0x8261"        name="GLX_NO_RESET_NOTIFICATION_ARB"/>
574     </enums>
575
576     <enums namespace="GLX" start="0x8270" end="99999"  vendor="ARB" comment="RESERVED FOR FUTURE ALLOCATIONS BY KHRONOS">
577             <unused start="0x8270" end="0x9125"/>
578         <enum value="0x9126"        name="GLX_CONTEXT_PROFILE_MASK_ARB" comment="Value shared with GL"/>
579             <unused start="0x9127" end="99999"/>
580     </enums>
581
582 <!-- Historical allocations. Do not allocate new values in this space. -->
583     <enums namespace="GLX" start="100000" end="100001" vendor="ARB" comment="Visual attributes for multisampling">
584         <enum value="100000"        name="GLX_SAMPLE_BUFFERS"/>
585         <enum value="100000"        name="GLX_SAMPLE_BUFFERS_ARB"/>
586         <enum value="100000"        name="GLX_SAMPLE_BUFFERS_SGIS"/>
587         <enum value="100001"        name="GLX_SAMPLES"/>
588         <enum value="100001"        name="GLX_SAMPLES_ARB"/>
589         <enum value="100001"        name="GLX_SAMPLES_SGIS"/>
590         <enum value="100001"        name="GLX_COVERAGE_SAMPLES_NV"/>
591     </enums>
592
593
594     <!-- SECTION: GLX command definitions. -->
595     <commands namespace="GLX">
596         <command>
597             <proto><ptype>Bool</ptype> <name>glXAssociateDMPbufferSGIX</name></proto>
598             <param><ptype>Display</ptype> *<name>dpy</name></param>
599             <param><ptype>GLXPbufferSGIX</ptype> <name>pbuffer</name></param>
600             <param><ptype>DMparams</ptype> *<name>params</name></param>
601             <param><ptype>DMbuffer</ptype> <name>dmbuffer</name></param>
602         </command>
603         <command>
604             <proto>int <name>glXBindChannelToWindowSGIX</name></proto>
605             <param><ptype>Display</ptype> *<name>display</name></param>
606             <param>int <name>screen</name></param>
607             <param>int <name>channel</name></param>
608             <param><ptype>Window</ptype> <name>window</name></param>
609         </command>
610         <command>
611             <proto>int <name>glXBindHyperpipeSGIX</name></proto>
612             <param><ptype>Display</ptype> *<name>dpy</name></param>
613             <param>int <name>hpId</name></param>
614         </command>
615         <command>
616             <proto><ptype>Bool</ptype> <name>glXBindSwapBarrierNV</name></proto>
617             <param><ptype>Display</ptype> *<name>dpy</name></param>
618             <param><ptype>GLuint</ptype> <name>group</name></param>
619             <param><ptype>GLuint</ptype> <name>barrier</name></param>
620         </command>
621         <command>
622             <proto>void <name>glXBindSwapBarrierSGIX</name></proto>
623             <param><ptype>Display</ptype> *<name>dpy</name></param>
624             <param><ptype>GLXDrawable</ptype> <name>drawable</name></param>
625             <param>int <name>barrier</name></param>
626         </command>
627         <command>
628             <proto>void <name>glXBindTexImageEXT</name></proto>
629             <param><ptype>Display</ptype> *<name>dpy</name></param>
630             <param><ptype>GLXDrawable</ptype> <name>drawable</name></param>
631             <param>int <name>buffer</name></param>
632             <param>const int *<name>attrib_list</name></param>
633         </command>
634         <command>
635             <proto>int <name>glXBindVideoCaptureDeviceNV</name></proto>
636             <param><ptype>Display</ptype> *<name>dpy</name></param>
637             <param>unsigned int <name>video_capture_slot</name></param>
638             <param><ptype>GLXVideoCaptureDeviceNV</ptype> <name>device</name></param>
639         </command>
640         <command>
641             <proto>int <name>glXBindVideoDeviceNV</name></proto>
642             <param><ptype>Display</ptype> *<name>dpy</name></param>
643             <param>unsigned int <name>video_slot</name></param>
644             <param>unsigned int <name>video_device</name></param>
645             <param>const int *<name>attrib_list</name></param>
646         </command>
647         <command>
648             <proto>int <name>glXBindVideoImageNV</name></proto>
649             <param><ptype>Display</ptype> *<name>dpy</name></param>
650             <param><ptype>GLXVideoDeviceNV</ptype> <name>VideoDevice</name></param>
651             <param><ptype>GLXPbuffer</ptype> <name>pbuf</name></param>
652             <param>int <name>iVideoBuffer</name></param>
653         </command>
654         <command>
655             <proto>int <name>glXChannelRectSGIX</name></proto>
656             <param><ptype>Display</ptype> *<name>display</name></param>
657             <param>int <name>screen</name></param>
658             <param>int <name>channel</name></param>
659             <param>int <name>x</name></param>
660             <param>int <name>y</name></param>
661             <param>int <name>w</name></param>
662             <param>int <name>h</name></param>
663         </command>
664         <command>
665             <proto>int <name>glXChannelRectSyncSGIX</name></proto>
666             <param><ptype>Display</ptype> *<name>display</name></param>
667             <param>int <name>screen</name></param>
668             <param>int <name>channel</name></param>
669             <param><ptype>GLenum</ptype> <name>synctype</name></param>
670         </command>
671         <command>
672             <proto><ptype>GLXFBConfig</ptype> *<name>glXChooseFBConfig</name></proto>
673             <param><ptype>Display</ptype> *<name>dpy</name></param>
674             <param>int <name>screen</name></param>
675             <param>const int *<name>attrib_list</name></param>
676             <param>int *<name>nelements</name></param>
677         </command>
678         <command>
679             <proto><ptype>GLXFBConfigSGIX</ptype> *<name>glXChooseFBConfigSGIX</name></proto>
680             <param><ptype>Display</ptype> *<name>dpy</name></param>
681             <param>int <name>screen</name></param>
682             <param>int *<name>attrib_list</name></param>
683             <param>int *<name>nelements</name></param>
684         </command>
685         <command>
686             <proto><ptype>XVisualInfo</ptype> *<name>glXChooseVisual</name></proto>
687             <param><ptype>Display</ptype> *<name>dpy</name></param>
688             <param>int <name>screen</name></param>
689             <param>int *<name>attribList</name></param>
690         </command>
691         <command>
692             <proto>void <name>glXCopyContext</name></proto>
693             <param><ptype>Display</ptype> *<name>dpy</name></param>
694             <param><ptype>GLXContext</ptype> <name>src</name></param>
695             <param><ptype>GLXContext</ptype> <name>dst</name></param>
696             <param>unsigned long <name>mask</name></param>
697         </command>
698         <command>
699             <proto>void <name>glXCopyImageSubDataNV</name></proto>
700             <param><ptype>Display</ptype> *<name>dpy</name></param>
701             <param><ptype>GLXContext</ptype> <name>srcCtx</name></param>
702             <param><ptype>GLuint</ptype> <name>srcName</name></param>
703             <param><ptype>GLenum</ptype> <name>srcTarget</name></param>
704             <param><ptype>GLint</ptype> <name>srcLevel</name></param>
705             <param><ptype>GLint</ptype> <name>srcX</name></param>
706             <param><ptype>GLint</ptype> <name>srcY</name></param>
707             <param><ptype>GLint</ptype> <name>srcZ</name></param>
708             <param><ptype>GLXContext</ptype> <name>dstCtx</name></param>
709             <param><ptype>GLuint</ptype> <name>dstName</name></param>
710             <param><ptype>GLenum</ptype> <name>dstTarget</name></param>
711             <param><ptype>GLint</ptype> <name>dstLevel</name></param>
712             <param><ptype>GLint</ptype> <name>dstX</name></param>
713             <param><ptype>GLint</ptype> <name>dstY</name></param>
714             <param><ptype>GLint</ptype> <name>dstZ</name></param>
715             <param><ptype>GLsizei</ptype> <name>width</name></param>
716             <param><ptype>GLsizei</ptype> <name>height</name></param>
717             <param><ptype>GLsizei</ptype> <name>depth</name></param>
718         </command>
719         <command>
720             <proto>void <name>glXCopySubBufferMESA</name></proto>
721             <param><ptype>Display</ptype> *<name>dpy</name></param>
722             <param><ptype>GLXDrawable</ptype> <name>drawable</name></param>
723             <param>int <name>x</name></param>
724             <param>int <name>y</name></param>
725             <param>int <name>width</name></param>
726             <param>int <name>height</name></param>
727         </command>
728         <command>
729             <proto><ptype>GLXContext</ptype> <name>glXCreateContextAttribsARB</name></proto>
730             <param><ptype>Display</ptype> *<name>dpy</name></param>
731             <param><ptype>GLXFBConfig</ptype> <name>config</name></param>
732             <param><ptype>GLXContext</ptype> <name>share_context</name></param>
733             <param><ptype>Bool</ptype> <name>direct</name></param>
734             <param>const int *<name>attrib_list</name></param>
735         </command>
736         <command>
737             <proto><ptype>GLXContext</ptype> <name>glXCreateContext</name></proto>
738             <param><ptype>Display</ptype> *<name>dpy</name></param>
739             <param><ptype>XVisualInfo</ptype> *<name>vis</name></param>
740             <param><ptype>GLXContext</ptype> <name>shareList</name></param>
741             <param><ptype>Bool</ptype> <name>direct</name></param>
742         </command>
743         <command>
744             <proto><ptype>GLXContext</ptype> <name>glXCreateContextWithConfigSGIX</name></proto>
745             <param><ptype>Display</ptype> *<name>dpy</name></param>
746             <param><ptype>GLXFBConfigSGIX</ptype> <name>config</name></param>
747             <param>int <name>render_type</name></param>
748             <param><ptype>GLXContext</ptype> <name>share_list</name></param>
749             <param><ptype>Bool</ptype> <name>direct</name></param>
750         </command>
751         <command>
752             <proto><ptype>GLXPbufferSGIX</ptype> <name>glXCreateGLXPbufferSGIX</name></proto>
753             <param><ptype>Display</ptype> *<name>dpy</name></param>
754             <param><ptype>GLXFBConfigSGIX</ptype> <name>config</name></param>
755             <param>unsigned int <name>width</name></param>
756             <param>unsigned int <name>height</name></param>
757             <param>int *<name>attrib_list</name></param>
758         </command>
759         <command>
760             <proto><ptype>GLXPixmap</ptype> <name>glXCreateGLXPixmap</name></proto>
761             <param><ptype>Display</ptype> *<name>dpy</name></param>
762             <param><ptype>XVisualInfo</ptype> *<name>visual</name></param>
763             <param><ptype>Pixmap</ptype> <name>pixmap</name></param>
764         </command>
765         <command>
766             <proto><ptype>GLXPixmap</ptype> <name>glXCreateGLXPixmapMESA</name></proto>
767             <param><ptype>Display</ptype> *<name>dpy</name></param>
768             <param><ptype>XVisualInfo</ptype> *<name>visual</name></param>
769             <param><ptype>Pixmap</ptype> <name>pixmap</name></param>
770             <param><ptype>Colormap</ptype> <name>cmap</name></param>
771         </command>
772         <command>
773             <proto><ptype>GLXPixmap</ptype> <name>glXCreateGLXPixmapWithConfigSGIX</name></proto>
774             <param><ptype>Display</ptype> *<name>dpy</name></param>
775             <param><ptype>GLXFBConfigSGIX</ptype> <name>config</name></param>
776             <param><ptype>Pixmap</ptype> <name>pixmap</name></param>
777         </command>
778         <command>
779             <proto><ptype>GLXVideoSourceSGIX</ptype> <name>glXCreateGLXVideoSourceSGIX</name></proto>
780             <param><ptype>Display</ptype> *<name>display</name></param>
781             <param>int <name>screen</name></param>
782             <param><ptype>VLServer</ptype> <name>server</name></param>
783             <param><ptype>VLPath</ptype> <name>path</name></param>
784             <param>int <name>nodeClass</name></param>
785             <param><ptype>VLNode</ptype> <name>drainNode</name></param>
786         </command>
787         <command>
788             <proto><ptype>GLXContext</ptype> <name>glXCreateNewContext</name></proto>
789             <param><ptype>Display</ptype> *<name>dpy</name></param>
790             <param><ptype>GLXFBConfig</ptype> <name>config</name></param>
791             <param>int <name>render_type</name></param>
792             <param><ptype>GLXContext</ptype> <name>share_list</name></param>
793             <param><ptype>Bool</ptype> <name>direct</name></param>
794         </command>
795         <command>
796             <proto><ptype>GLXPbuffer</ptype> <name>glXCreatePbuffer</name></proto>
797             <param><ptype>Display</ptype> *<name>dpy</name></param>
798             <param><ptype>GLXFBConfig</ptype> <name>config</name></param>
799             <param>const int *<name>attrib_list</name></param>
800         </command>
801         <command>
802             <proto><ptype>GLXPixmap</ptype> <name>glXCreatePixmap</name></proto>
803             <param><ptype>Display</ptype> *<name>dpy</name></param>
804             <param><ptype>GLXFBConfig</ptype> <name>config</name></param>
805             <param><ptype>Pixmap</ptype> <name>pixmap</name></param>
806             <param>const int *<name>attrib_list</name></param>
807         </command>
808         <command>
809             <proto><ptype>GLXWindow</ptype> <name>glXCreateWindow</name></proto>
810             <param><ptype>Display</ptype> *<name>dpy</name></param>
811             <param><ptype>GLXFBConfig</ptype> <name>config</name></param>
812             <param><ptype>Window</ptype> <name>win</name></param>
813             <param>const int *<name>attrib_list</name></param>
814         </command>
815         <command>
816             <proto>void <name>glXCushionSGI</name></proto>
817             <param><ptype>Display</ptype> *<name>dpy</name></param>
818             <param><ptype>Window</ptype> <name>window</name></param>
819             <param>float <name>cushion</name></param>
820         </command>
821         <command>
822             <proto>void <name>glXDestroyContext</name></proto>
823             <param><ptype>Display</ptype> *<name>dpy</name></param>
824             <param><ptype>GLXContext</ptype> <name>ctx</name></param>
825         </command>
826         <command>
827             <proto>void <name>glXDestroyGLXPbufferSGIX</name></proto>
828             <param><ptype>Display</ptype> *<name>dpy</name></param>
829             <param><ptype>GLXPbufferSGIX</ptype> <name>pbuf</name></param>
830         </command>
831         <command>
832             <proto>void <name>glXDestroyGLXPixmap</name></proto>
833             <param><ptype>Display</ptype> *<name>dpy</name></param>
834             <param><ptype>GLXPixmap</ptype> <name>pixmap</name></param>
835         </command>
836         <command>
837             <proto>void <name>glXDestroyGLXVideoSourceSGIX</name></proto>
838             <param><ptype>Display</ptype> *<name>dpy</name></param>
839             <param><ptype>GLXVideoSourceSGIX</ptype> <name>glxvideosource</name></param>
840         </command>
841         <command>
842             <proto>int <name>glXDestroyHyperpipeConfigSGIX</name></proto>
843             <param><ptype>Display</ptype> *<name>dpy</name></param>
844             <param>int <name>hpId</name></param>
845         </command>
846         <command>
847             <proto>void <name>glXDestroyPbuffer</name></proto>
848             <param><ptype>Display</ptype> *<name>dpy</name></param>
849             <param><ptype>GLXPbuffer</ptype> <name>pbuf</name></param>
850         </command>
851         <command>
852             <proto>void <name>glXDestroyPixmap</name></proto>
853             <param><ptype>Display</ptype> *<name>dpy</name></param>
854             <param><ptype>GLXPixmap</ptype> <name>pixmap</name></param>
855         </command>
856         <command>
857             <proto>void <name>glXDestroyWindow</name></proto>
858             <param><ptype>Display</ptype> *<name>dpy</name></param>
859             <param><ptype>GLXWindow</ptype> <name>win</name></param>
860         </command>
861         <command>
862             <proto><ptype>GLXVideoCaptureDeviceNV</ptype> *<name>glXEnumerateVideoCaptureDevicesNV</name></proto>
863             <param><ptype>Display</ptype> *<name>dpy</name></param>
864             <param>int <name>screen</name></param>
865             <param>int *<name>nelements</name></param>
866         </command>
867         <command>
868             <proto>void <name>glXFreeContextEXT</name></proto>
869             <param><ptype>Display</ptype> *<name>dpy</name></param>
870             <param><ptype>GLXContext</ptype> <name>context</name></param>
871         </command>
872         <command>
873             <proto>const char *<name>glXGetClientString</name></proto>
874             <param><ptype>Display</ptype> *<name>dpy</name></param>
875             <param>int <name>name</name></param>
876         </command>
877         <command>
878             <proto>int <name>glXGetConfig</name></proto>
879             <param><ptype>Display</ptype> *<name>dpy</name></param>
880             <param><ptype>XVisualInfo</ptype> *<name>visual</name></param>
881             <param>int <name>attrib</name></param>
882             <param>int *<name>value</name></param>
883         </command>
884         <command>
885             <proto><ptype>GLXContextID</ptype> <name>glXGetContextIDEXT</name></proto>
886             <param>const <ptype>GLXContext</ptype> <name>context</name></param>
887         </command>
888         <command>
889             <proto><ptype>GLXContext</ptype> <name>glXGetCurrentContext</name></proto>
890         </command>
891         <command>
892             <proto><ptype>Display</ptype> *<name>glXGetCurrentDisplayEXT</name></proto>
893         </command>
894         <command>
895             <proto><ptype>Display</ptype> *<name>glXGetCurrentDisplay</name></proto>
896         </command>
897         <command>
898             <proto><ptype>GLXDrawable</ptype> <name>glXGetCurrentDrawable</name></proto>
899         </command>
900         <command>
901             <proto><ptype>GLXDrawable</ptype> <name>glXGetCurrentReadDrawableSGI</name></proto>
902         </command>
903         <command>
904             <proto><ptype>GLXDrawable</ptype> <name>glXGetCurrentReadDrawable</name></proto>
905         </command>
906         <command>
907             <proto>int <name>glXGetFBConfigAttrib</name></proto>
908             <param><ptype>Display</ptype> *<name>dpy</name></param>
909             <param><ptype>GLXFBConfig</ptype> <name>config</name></param>
910             <param>int <name>attribute</name></param>
911             <param>int *<name>value</name></param>
912         </command>
913         <command>
914             <proto>int <name>glXGetFBConfigAttribSGIX</name></proto>
915             <param><ptype>Display</ptype> *<name>dpy</name></param>
916             <param><ptype>GLXFBConfigSGIX</ptype> <name>config</name></param>
917             <param>int <name>attribute</name></param>
918             <param>int *<name>value</name></param>
919         </command>
920         <command>
921             <proto><ptype>GLXFBConfigSGIX</ptype> <name>glXGetFBConfigFromVisualSGIX</name></proto>
922             <param><ptype>Display</ptype> *<name>dpy</name></param>
923             <param><ptype>XVisualInfo</ptype> *<name>vis</name></param>
924         </command>
925         <command>
926             <proto><ptype>GLXFBConfig</ptype> *<name>glXGetFBConfigs</name></proto>
927             <param><ptype>Display</ptype> *<name>dpy</name></param>
928             <param>int <name>screen</name></param>
929             <param>int *<name>nelements</name></param>
930         </command>
931         <command>
932             <proto><ptype>Bool</ptype> <name>glXGetMscRateOML</name></proto>
933             <param><ptype>Display</ptype> *<name>dpy</name></param>
934             <param><ptype>GLXDrawable</ptype> <name>drawable</name></param>
935             <param><ptype>int32_t</ptype> *<name>numerator</name></param>
936             <param><ptype>int32_t</ptype> *<name>denominator</name></param>
937         </command>
938         <command>
939             <proto><ptype>__GLXextFuncPtr</ptype> <name>glXGetProcAddressARB</name></proto>
940             <param>const <ptype>GLubyte</ptype> *<name>procName</name></param>
941         </command>
942         <command>
943             <proto><ptype>__GLXextFuncPtr</ptype> <name>glXGetProcAddress</name></proto>
944             <param>const <ptype>GLubyte</ptype> *<name>procName</name></param>
945         </command>
946         <command>
947             <proto>void <name>glXGetSelectedEvent</name></proto>
948             <param><ptype>Display</ptype> *<name>dpy</name></param>
949             <param><ptype>GLXDrawable</ptype> <name>draw</name></param>
950             <param>unsigned long *<name>event_mask</name></param>
951         </command>
952         <command>
953             <proto>void <name>glXGetSelectedEventSGIX</name></proto>
954             <param><ptype>Display</ptype> *<name>dpy</name></param>
955             <param><ptype>GLXDrawable</ptype> <name>drawable</name></param>
956             <param>unsigned long *<name>mask</name></param>
957         </command>
958         <command>
959             <proto><ptype>Bool</ptype> <name>glXGetSyncValuesOML</name></proto>
960             <param><ptype>Display</ptype> *<name>dpy</name></param>
961             <param><ptype>GLXDrawable</ptype> <name>drawable</name></param>
962             <param><ptype>int64_t</ptype> *<name>ust</name></param>
963             <param><ptype>int64_t</ptype> *<name>msc</name></param>
964             <param><ptype>int64_t</ptype> *<name>sbc</name></param>
965         </command>
966         <command>
967             <proto><ptype>Status</ptype> <name>glXGetTransparentIndexSUN</name></proto>
968             <param><ptype>Display</ptype> *<name>dpy</name></param>
969             <param><ptype>Window</ptype> <name>overlay</name></param>
970             <param><ptype>Window</ptype> <name>underlay</name></param>
971             <param>long *<name>pTransparentIndex</name></param>
972         </command>
973         <command>
974             <proto>int <name>glXGetVideoDeviceNV</name></proto>
975             <param><ptype>Display</ptype> *<name>dpy</name></param>
976             <param>int <name>screen</name></param>
977             <param>int <name>numVideoDevices</name></param>
978             <param><ptype>GLXVideoDeviceNV</ptype> *<name>pVideoDevice</name></param>
979         </command>
980         <command>
981             <proto>int <name>glXGetVideoInfoNV</name></proto>
982             <param><ptype>Display</ptype> *<name>dpy</name></param>
983             <param>int <name>screen</name></param>
984             <param><ptype>GLXVideoDeviceNV</ptype> <name>VideoDevice</name></param>
985             <param>unsigned long *<name>pulCounterOutputPbuffer</name></param>
986             <param>unsigned long *<name>pulCounterOutputVideo</name></param>
987         </command>
988         <command>
989             <proto>int <name>glXGetVideoSyncSGI</name></proto>
990             <param>unsigned int *<name>count</name></param>
991         </command>
992         <command>
993             <proto><ptype>XVisualInfo</ptype> *<name>glXGetVisualFromFBConfig</name></proto>
994             <param><ptype>Display</ptype> *<name>dpy</name></param>
995             <param><ptype>GLXFBConfig</ptype> <name>config</name></param>
996         </command>
997         <command>
998             <proto><ptype>XVisualInfo</ptype> *<name>glXGetVisualFromFBConfigSGIX</name></proto>
999             <param><ptype>Display</ptype> *<name>dpy</name></param>
1000             <param><ptype>GLXFBConfigSGIX</ptype> <name>config</name></param>
1001         </command>
1002         <command>
1003             <proto>int <name>glXHyperpipeAttribSGIX</name></proto>
1004             <param><ptype>Display</ptype> *<name>dpy</name></param>
1005             <param>int <name>timeSlice</name></param>
1006             <param>int <name>attrib</name></param>
1007             <param>int <name>size</name></param>
1008             <param>void *<name>attribList</name></param>
1009         </command>
1010         <command>
1011             <proto>int <name>glXHyperpipeConfigSGIX</name></proto>
1012             <param><ptype>Display</ptype> *<name>dpy</name></param>
1013             <param>int <name>networkId</name></param>
1014             <param>int <name>npipes</name></param>
1015             <param><ptype>GLXHyperpipeConfigSGIX</ptype> *<name>cfg</name></param>
1016             <param>int *<name>hpId</name></param>
1017         </command>
1018         <command>
1019             <proto><ptype>GLXContext</ptype> <name>glXImportContextEXT</name></proto>
1020             <param><ptype>Display</ptype> *<name>dpy</name></param>
1021             <param><ptype>GLXContextID</ptype> <name>contextID</name></param>
1022         </command>
1023         <command>
1024             <proto><ptype>Bool</ptype> <name>glXIsDirect</name></proto>
1025             <param><ptype>Display</ptype> *<name>dpy</name></param>
1026             <param><ptype>GLXContext</ptype> <name>ctx</name></param>
1027         </command>
1028         <command>
1029             <proto><ptype>Bool</ptype> <name>glXJoinSwapGroupNV</name></proto>
1030             <param><ptype>Display</ptype> *<name>dpy</name></param>
1031             <param><ptype>GLXDrawable</ptype> <name>drawable</name></param>
1032             <param><ptype>GLuint</ptype> <name>group</name></param>
1033         </command>
1034         <command>
1035             <proto>void <name>glXJoinSwapGroupSGIX</name></proto>
1036             <param><ptype>Display</ptype> *<name>dpy</name></param>
1037             <param><ptype>GLXDrawable</ptype> <name>drawable</name></param>
1038             <param><ptype>GLXDrawable</ptype> <name>member</name></param>
1039         </command>
1040         <command>
1041             <proto>void <name>glXLockVideoCaptureDeviceNV</name></proto>
1042             <param><ptype>Display</ptype> *<name>dpy</name></param>
1043             <param><ptype>GLXVideoCaptureDeviceNV</ptype> <name>device</name></param>
1044         </command>
1045         <command>
1046             <proto><ptype>Bool</ptype> <name>glXMakeContextCurrent</name></proto>
1047             <param><ptype>Display</ptype> *<name>dpy</name></param>
1048             <param><ptype>GLXDrawable</ptype> <name>draw</name></param>
1049             <param><ptype>GLXDrawable</ptype> <name>read</name></param>
1050             <param><ptype>GLXContext</ptype> <name>ctx</name></param>
1051         </command>
1052         <command>
1053             <proto><ptype>Bool</ptype> <name>glXMakeCurrent</name></proto>
1054             <param><ptype>Display</ptype> *<name>dpy</name></param>
1055             <param><ptype>GLXDrawable</ptype> <name>drawable</name></param>
1056             <param><ptype>GLXContext</ptype> <name>ctx</name></param>
1057         </command>
1058         <command>
1059             <proto><ptype>Bool</ptype> <name>glXMakeCurrentReadSGI</name></proto>
1060             <param><ptype>Display</ptype> *<name>dpy</name></param>
1061             <param><ptype>GLXDrawable</ptype> <name>draw</name></param>
1062             <param><ptype>GLXDrawable</ptype> <name>read</name></param>
1063             <param><ptype>GLXContext</ptype> <name>ctx</name></param>
1064         </command>
1065         <command>
1066             <proto>int <name>glXQueryChannelDeltasSGIX</name></proto>
1067             <param><ptype>Display</ptype> *<name>display</name></param>
1068             <param>int <name>screen</name></param>
1069             <param>int <name>channel</name></param>
1070             <param>int *<name>x</name></param>
1071             <param>int *<name>y</name></param>
1072             <param>int *<name>w</name></param>
1073             <param>int *<name>h</name></param>
1074         </command>
1075         <command>
1076             <proto>int <name>glXQueryChannelRectSGIX</name></proto>
1077             <param><ptype>Display</ptype> *<name>display</name></param>
1078             <param>int <name>screen</name></param>
1079             <param>int <name>channel</name></param>
1080             <param>int *<name>dx</name></param>
1081             <param>int *<name>dy</name></param>
1082             <param>int *<name>dw</name></param>
1083             <param>int *<name>dh</name></param>
1084         </command>
1085         <command>
1086             <proto>int <name>glXQueryContext</name></proto>
1087             <param><ptype>Display</ptype> *<name>dpy</name></param>
1088             <param><ptype>GLXContext</ptype> <name>ctx</name></param>
1089             <param>int <name>attribute</name></param>
1090             <param>int *<name>value</name></param>
1091         </command>
1092         <command>
1093             <proto>int <name>glXQueryContextInfoEXT</name></proto>
1094             <param><ptype>Display</ptype> *<name>dpy</name></param>
1095             <param><ptype>GLXContext</ptype> <name>context</name></param>
1096             <param>int <name>attribute</name></param>
1097             <param>int *<name>value</name></param>
1098         </command>
1099         <command>
1100             <proto>void <name>glXQueryDrawable</name></proto>
1101             <param><ptype>Display</ptype> *<name>dpy</name></param>
1102             <param><ptype>GLXDrawable</ptype> <name>draw</name></param>
1103             <param>int <name>attribute</name></param>
1104             <param>unsigned int *<name>value</name></param>
1105         </command>
1106         <command>
1107             <proto><ptype>Bool</ptype> <name>glXQueryExtension</name></proto>
1108             <param><ptype>Display</ptype> *<name>dpy</name></param>
1109             <param>int *<name>errorb</name></param>
1110             <param>int *<name>event</name></param>
1111         </command>
1112         <command>
1113             <proto>const char *<name>glXQueryExtensionsString</name></proto>
1114             <param><ptype>Display</ptype> *<name>dpy</name></param>
1115             <param>int <name>screen</name></param>
1116         </command>
1117         <command>
1118             <proto><ptype>Bool</ptype> <name>glXQueryFrameCountNV</name></proto>
1119             <param><ptype>Display</ptype> *<name>dpy</name></param>
1120             <param>int <name>screen</name></param>
1121             <param><ptype>GLuint</ptype> *<name>count</name></param>
1122         </command>
1123         <command>
1124             <proto>int <name>glXQueryGLXPbufferSGIX</name></proto>
1125             <param><ptype>Display</ptype> *<name>dpy</name></param>
1126             <param><ptype>GLXPbufferSGIX</ptype> <name>pbuf</name></param>
1127             <param>int <name>attribute</name></param>
1128             <param>unsigned int *<name>value</name></param>
1129         </command>
1130         <command>
1131             <proto>int <name>glXQueryHyperpipeAttribSGIX</name></proto>
1132             <param><ptype>Display</ptype> *<name>dpy</name></param>
1133             <param>int <name>timeSlice</name></param>
1134             <param>int <name>attrib</name></param>
1135             <param>int <name>size</name></param>
1136             <param>void *<name>returnAttribList</name></param>
1137         </command>
1138         <command>
1139             <proto>int <name>glXQueryHyperpipeBestAttribSGIX</name></proto>
1140             <param><ptype>Display</ptype> *<name>dpy</name></param>
1141             <param>int <name>timeSlice</name></param>
1142             <param>int <name>attrib</name></param>
1143             <param>int <name>size</name></param>
1144             <param>void *<name>attribList</name></param>
1145             <param>void *<name>returnAttribList</name></param>
1146         </command>
1147         <command>
1148             <proto><ptype>GLXHyperpipeConfigSGIX</ptype> *<name>glXQueryHyperpipeConfigSGIX</name></proto>
1149             <param><ptype>Display</ptype> *<name>dpy</name></param>
1150             <param>int <name>hpId</name></param>
1151             <param>int *<name>npipes</name></param>
1152         </command>
1153         <command>
1154             <proto><ptype>GLXHyperpipeNetworkSGIX</ptype> *<name>glXQueryHyperpipeNetworkSGIX</name></proto>
1155             <param><ptype>Display</ptype> *<name>dpy</name></param>
1156             <param>int *<name>npipes</name></param>
1157         </command>
1158         <command>
1159             <proto><ptype>Bool</ptype> <name>glXQueryMaxSwapBarriersSGIX</name></proto>
1160             <param><ptype>Display</ptype> *<name>dpy</name></param>
1161             <param>int <name>screen</name></param>
1162             <param>int *<name>max</name></param>
1163         </command>
1164         <command>
1165             <proto><ptype>Bool</ptype> <name>glXQueryMaxSwapGroupsNV</name></proto>
1166             <param><ptype>Display</ptype> *<name>dpy</name></param>
1167             <param>int <name>screen</name></param>
1168             <param><ptype>GLuint</ptype> *<name>maxGroups</name></param>
1169             <param><ptype>GLuint</ptype> *<name>maxBarriers</name></param>
1170         </command>
1171         <command>
1172             <proto>const char *<name>glXQueryServerString</name></proto>
1173             <param><ptype>Display</ptype> *<name>dpy</name></param>
1174             <param>int <name>screen</name></param>
1175             <param>int <name>name</name></param>
1176         </command>
1177         <command>
1178             <proto><ptype>Bool</ptype> <name>glXQuerySwapGroupNV</name></proto>
1179             <param><ptype>Display</ptype> *<name>dpy</name></param>
1180             <param><ptype>GLXDrawable</ptype> <name>drawable</name></param>
1181             <param><ptype>GLuint</ptype> *<name>group</name></param>
1182             <param><ptype>GLuint</ptype> *<name>barrier</name></param>
1183         </command>
1184         <command>
1185             <proto><ptype>Bool</ptype> <name>glXQueryVersion</name></proto>
1186             <param><ptype>Display</ptype> *<name>dpy</name></param>
1187             <param>int *<name>maj</name></param>
1188             <param>int *<name>min</name></param>
1189         </command>
1190         <command>
1191             <proto>int <name>glXQueryVideoCaptureDeviceNV</name></proto>
1192             <param><ptype>Display</ptype> *<name>dpy</name></param>
1193             <param><ptype>GLXVideoCaptureDeviceNV</ptype> <name>device</name></param>
1194             <param>int <name>attribute</name></param>
1195             <param>int *<name>value</name></param>
1196         </command>
1197         <command>
1198             <proto><ptype>Bool</ptype> <name>glXReleaseBuffersMESA</name></proto>
1199             <param><ptype>Display</ptype> *<name>dpy</name></param>
1200             <param><ptype>GLXDrawable</ptype> <name>drawable</name></param>
1201         </command>
1202         <command>
1203             <proto>void <name>glXReleaseTexImageEXT</name></proto>
1204             <param><ptype>Display</ptype> *<name>dpy</name></param>
1205             <param><ptype>GLXDrawable</ptype> <name>drawable</name></param>
1206             <param>int <name>buffer</name></param>
1207         </command>
1208         <command>
1209             <proto>void <name>glXReleaseVideoCaptureDeviceNV</name></proto>
1210             <param><ptype>Display</ptype> *<name>dpy</name></param>
1211             <param><ptype>GLXVideoCaptureDeviceNV</ptype> <name>device</name></param>
1212         </command>
1213         <command>
1214             <proto>int <name>glXReleaseVideoDeviceNV</name></proto>
1215             <param><ptype>Display</ptype> *<name>dpy</name></param>
1216             <param>int <name>screen</name></param>
1217             <param><ptype>GLXVideoDeviceNV</ptype> <name>VideoDevice</name></param>
1218         </command>
1219         <command>
1220             <proto>int <name>glXReleaseVideoImageNV</name></proto>
1221             <param><ptype>Display</ptype> *<name>dpy</name></param>
1222             <param><ptype>GLXPbuffer</ptype> <name>pbuf</name></param>
1223         </command>
1224         <command>
1225             <proto><ptype>Bool</ptype> <name>glXResetFrameCountNV</name></proto>
1226             <param><ptype>Display</ptype> *<name>dpy</name></param>
1227             <param>int <name>screen</name></param>
1228         </command>
1229         <command>
1230             <proto>void <name>glXSelectEvent</name></proto>
1231             <param><ptype>Display</ptype> *<name>dpy</name></param>
1232             <param><ptype>GLXDrawable</ptype> <name>draw</name></param>
1233             <param>unsigned long <name>event_mask</name></param>
1234         </command>
1235         <command>
1236             <proto>void <name>glXSelectEventSGIX</name></proto>
1237             <param><ptype>Display</ptype> *<name>dpy</name></param>
1238             <param><ptype>GLXDrawable</ptype> <name>drawable</name></param>
1239             <param>unsigned long <name>mask</name></param>
1240         </command>
1241         <command>
1242             <proto>int <name>glXSendPbufferToVideoNV</name></proto>
1243             <param><ptype>Display</ptype> *<name>dpy</name></param>
1244             <param><ptype>GLXPbuffer</ptype> <name>pbuf</name></param>
1245             <param>int <name>iBufferType</name></param>
1246             <param>unsigned long *<name>pulCounterPbuffer</name></param>
1247             <param><ptype>GLboolean</ptype> <name>bBlock</name></param>
1248         </command>
1249         <command>
1250             <proto><ptype>Bool</ptype> <name>glXSet3DfxModeMESA</name></proto>
1251             <param>int <name>mode</name></param>
1252         </command>
1253         <command>
1254             <proto>void <name>glXSwapBuffers</name></proto>
1255             <param><ptype>Display</ptype> *<name>dpy</name></param>
1256             <param><ptype>GLXDrawable</ptype> <name>drawable</name></param>
1257         </command>
1258         <command>
1259             <proto><ptype>int64_t</ptype> <name>glXSwapBuffersMscOML</name></proto>
1260             <param><ptype>Display</ptype> *<name>dpy</name></param>
1261             <param><ptype>GLXDrawable</ptype> <name>drawable</name></param>
1262             <param><ptype>int64_t</ptype> <name>target_msc</name></param>
1263             <param><ptype>int64_t</ptype> <name>divisor</name></param>
1264             <param><ptype>int64_t</ptype> <name>remainder</name></param>
1265         </command>
1266         <command>
1267             <proto>void <name>glXSwapIntervalEXT</name></proto>
1268             <param><ptype>Display</ptype> *<name>dpy</name></param>
1269             <param><ptype>GLXDrawable</ptype> <name>drawable</name></param>
1270             <param>int <name>interval</name></param>
1271         </command>
1272         <command>
1273             <proto>int <name>glXSwapIntervalSGI</name></proto>
1274             <param>int <name>interval</name></param>
1275         </command>
1276         <command>
1277             <proto>void <name>glXUseXFont</name></proto>
1278             <param><ptype>Font</ptype> <name>font</name></param>
1279             <param>int <name>first</name></param>
1280             <param>int <name>count</name></param>
1281             <param>int <name>list</name></param>
1282         </command>
1283         <command>
1284             <proto><ptype>Bool</ptype> <name>glXWaitForMscOML</name></proto>
1285             <param><ptype>Display</ptype> *<name>dpy</name></param>
1286             <param><ptype>GLXDrawable</ptype> <name>drawable</name></param>
1287             <param><ptype>int64_t</ptype> <name>target_msc</name></param>
1288             <param><ptype>int64_t</ptype> <name>divisor</name></param>
1289             <param><ptype>int64_t</ptype> <name>remainder</name></param>
1290             <param><ptype>int64_t</ptype> *<name>ust</name></param>
1291             <param><ptype>int64_t</ptype> *<name>msc</name></param>
1292             <param><ptype>int64_t</ptype> *<name>sbc</name></param>
1293         </command>
1294         <command>
1295             <proto><ptype>Bool</ptype> <name>glXWaitForSbcOML</name></proto>
1296             <param><ptype>Display</ptype> *<name>dpy</name></param>
1297             <param><ptype>GLXDrawable</ptype> <name>drawable</name></param>
1298             <param><ptype>int64_t</ptype> <name>target_sbc</name></param>
1299             <param><ptype>int64_t</ptype> *<name>ust</name></param>
1300             <param><ptype>int64_t</ptype> *<name>msc</name></param>
1301             <param><ptype>int64_t</ptype> *<name>sbc</name></param>
1302         </command>
1303         <command>
1304             <proto>void <name>glXWaitGL</name></proto>
1305         </command>
1306         <command>
1307             <proto>int <name>glXWaitVideoSyncSGI</name></proto>
1308             <param>int <name>divisor</name></param>
1309             <param>int <name>remainder</name></param>
1310             <param>unsigned int *<name>count</name></param>
1311         </command>
1312         <command>
1313             <proto>void <name>glXWaitX</name></proto>
1314         </command>
1315         <command>
1316             <proto>unsigned int *<name>glXEnumerateVideoDevicesNV</name></proto>
1317             <param><ptype>Display</ptype> *<name>dpy</name></param>
1318             <param>int <name>screen</name></param>
1319             <param>int *<name>nelements</name></param>
1320         </command>
1321         <command>
1322             <proto>unsigned int <name>glXGetAGPOffsetMESA</name></proto>
1323             <param>const void *<name>pointer</name></param>
1324         </command>
1325     </commands>
1326
1327     <!-- SECTION: GLX API interface definitions. -->
1328     <feature api="glx" name="GLX_VERSION_1_0" number="1.0">
1329         <require>
1330                 <!-- A string #define. Maybe should have a <text> tag for this use? -->
1331             <enum name="GLX_EXTENSION_NAME"/>
1332                 <!-- Events -->
1333             <enum name="GLX_PbufferClobber"/>
1334             <enum name="GLX_BufferSwapComplete"/>
1335             <enum name="__GLX_NUMBER_EVENTS"/>
1336                 <!-- Error codes -->
1337             <enum name="GLX_BAD_SCREEN"/>
1338             <enum name="GLX_BAD_ATTRIBUTE"/>
1339             <enum name="GLX_NO_EXTENSION"/>
1340             <enum name="GLX_BAD_VISUAL"/>
1341             <enum name="GLX_BAD_CONTEXT"/>
1342             <enum name="GLX_BAD_VALUE"/>
1343             <enum name="GLX_BAD_ENUM"/>
1344                 <!-- Tokens for glXChooseVisual and glXGetConfig -->
1345             <enum name="GLX_USE_GL"/>
1346             <enum name="GLX_BUFFER_SIZE"/>
1347             <enum name="GLX_LEVEL"/>
1348             <enum name="GLX_RGBA"/>
1349             <enum name="GLX_DOUBLEBUFFER"/>
1350             <enum name="GLX_STEREO"/>
1351             <enum name="GLX_AUX_BUFFERS"/>
1352             <enum name="GLX_RED_SIZE"/>
1353             <enum name="GLX_GREEN_SIZE"/>
1354             <enum name="GLX_BLUE_SIZE"/>
1355             <enum name="GLX_ALPHA_SIZE"/>
1356             <enum name="GLX_DEPTH_SIZE"/>
1357             <enum name="GLX_STENCIL_SIZE"/>
1358             <enum name="GLX_ACCUM_RED_SIZE"/>
1359             <enum name="GLX_ACCUM_GREEN_SIZE"/>
1360             <enum name="GLX_ACCUM_BLUE_SIZE"/>
1361             <enum name="GLX_ACCUM_ALPHA_SIZE"/>
1362             <command name="glXChooseVisual"/>
1363             <command name="glXCreateContext"/>
1364             <command name="glXDestroyContext"/>
1365             <command name="glXMakeCurrent"/>
1366             <command name="glXCopyContext"/>
1367             <command name="glXSwapBuffers"/>
1368             <command name="glXCreateGLXPixmap"/>
1369             <command name="glXDestroyGLXPixmap"/>
1370             <command name="glXQueryExtension"/>
1371             <command name="glXQueryVersion"/>
1372             <command name="glXIsDirect"/>
1373             <command name="glXGetConfig"/>
1374             <command name="glXGetCurrentContext"/>
1375             <command name="glXGetCurrentDrawable"/>
1376             <command name="glXWaitGL"/>
1377             <command name="glXWaitX"/>
1378             <command name="glXUseXFont"/>
1379         </require>
1380     </feature>
1381
1382     <feature api="glx" name="GLX_VERSION_1_1" number="1.1">
1383         <require>
1384             <enum name="GLX_VENDOR"/>
1385             <enum name="GLX_VERSION"/>
1386             <enum name="GLX_EXTENSIONS"/>
1387             <command name="glXQueryExtensionsString"/>
1388             <command name="glXQueryServerString"/>
1389             <command name="glXGetClientString"/>
1390         </require>
1391     </feature>
1392
1393     <feature api="glx" name="GLX_VERSION_1_2" number="1.2">
1394         <require>
1395             <command name="glXGetCurrentDisplay"/>
1396         </require>
1397     </feature>
1398
1399
1400     <feature api="glx" name="GLX_VERSION_1_3" number="1.3">
1401         <require>
1402             <enum name="GLX_WINDOW_BIT"/>
1403             <enum name="GLX_PIXMAP_BIT"/>
1404             <enum name="GLX_PBUFFER_BIT"/>
1405             <enum name="GLX_RGBA_BIT"/>
1406             <enum name="GLX_COLOR_INDEX_BIT"/>
1407             <enum name="GLX_PBUFFER_CLOBBER_MASK"/>
1408             <enum name="GLX_FRONT_LEFT_BUFFER_BIT"/>
1409             <enum name="GLX_FRONT_RIGHT_BUFFER_BIT"/>
1410             <enum name="GLX_BACK_LEFT_BUFFER_BIT"/>
1411             <enum name="GLX_BACK_RIGHT_BUFFER_BIT"/>
1412             <enum name="GLX_AUX_BUFFERS_BIT"/>
1413             <enum name="GLX_DEPTH_BUFFER_BIT"/>
1414             <enum name="GLX_STENCIL_BUFFER_BIT"/>
1415             <enum name="GLX_ACCUM_BUFFER_BIT"/>
1416             <enum name="GLX_CONFIG_CAVEAT"/>
1417             <enum name="GLX_X_VISUAL_TYPE"/>
1418             <enum name="GLX_TRANSPARENT_TYPE"/>
1419             <enum name="GLX_TRANSPARENT_INDEX_VALUE"/>
1420             <enum name="GLX_TRANSPARENT_RED_VALUE"/>
1421             <enum name="GLX_TRANSPARENT_GREEN_VALUE"/>
1422             <enum name="GLX_TRANSPARENT_BLUE_VALUE"/>
1423             <enum name="GLX_TRANSPARENT_ALPHA_VALUE"/>
1424             <enum name="GLX_DONT_CARE"/>
1425             <enum name="GLX_NONE"/>
1426             <enum name="GLX_SLOW_CONFIG"/>
1427             <enum name="GLX_TRUE_COLOR"/>
1428             <enum name="GLX_DIRECT_COLOR"/>
1429             <enum name="GLX_PSEUDO_COLOR"/>
1430             <enum name="GLX_STATIC_COLOR"/>
1431             <enum name="GLX_GRAY_SCALE"/>
1432             <enum name="GLX_STATIC_GRAY"/>
1433             <enum name="GLX_TRANSPARENT_RGB"/>
1434             <enum name="GLX_TRANSPARENT_INDEX"/>
1435             <enum name="GLX_VISUAL_ID"/>
1436             <enum name="GLX_SCREEN"/>
1437             <enum name="GLX_NON_CONFORMANT_CONFIG"/>
1438             <enum name="GLX_DRAWABLE_TYPE"/>
1439             <enum name="GLX_RENDER_TYPE"/>
1440             <enum name="GLX_X_RENDERABLE"/>
1441             <enum name="GLX_FBCONFIG_ID"/>
1442             <enum name="GLX_RGBA_TYPE"/>
1443             <enum name="GLX_COLOR_INDEX_TYPE"/>
1444             <enum name="GLX_MAX_PBUFFER_WIDTH"/>
1445             <enum name="GLX_MAX_PBUFFER_HEIGHT"/>
1446             <enum name="GLX_MAX_PBUFFER_PIXELS"/>
1447             <enum name="GLX_PRESERVED_CONTENTS"/>
1448             <enum name="GLX_LARGEST_PBUFFER"/>
1449             <enum name="GLX_WIDTH"/>
1450             <enum name="GLX_HEIGHT"/>
1451             <enum name="GLX_EVENT_MASK"/>
1452             <enum name="GLX_DAMAGED"/>
1453             <enum name="GLX_SAVED"/>
1454             <enum name="GLX_WINDOW"/>
1455             <enum name="GLX_PBUFFER"/>
1456             <enum name="GLX_PBUFFER_HEIGHT"/>
1457             <enum name="GLX_PBUFFER_WIDTH"/>
1458             <command name="glXGetFBConfigs"/>
1459             <command name="glXChooseFBConfig"/>
1460             <command name="glXGetFBConfigAttrib"/>
1461             <command name="glXGetVisualFromFBConfig"/>
1462             <command name="glXCreateWindow"/>
1463             <command name="glXDestroyWindow"/>
1464             <command name="glXCreatePixmap"/>
1465             <command name="glXDestroyPixmap"/>
1466             <command name="glXCreatePbuffer"/>
1467             <command name="glXDestroyPbuffer"/>
1468             <command name="glXQueryDrawable"/>
1469             <command name="glXCreateNewContext"/>
1470             <command name="glXMakeContextCurrent"/>
1471             <command name="glXGetCurrentReadDrawable"/>
1472             <command name="glXQueryContext"/>
1473             <command name="glXSelectEvent"/>
1474             <command name="glXGetSelectedEvent"/>
1475         </require>
1476     </feature>
1477
1478     <feature api="glx" name="GLX_VERSION_1_4" number="1.4">
1479         <require>
1480             <enum name="GLX_SAMPLE_BUFFERS"/>
1481             <enum name="GLX_SAMPLES"/>
1482             <command name="glXGetProcAddress"/>
1483         </require>
1484     </feature>
1485
1486
1487     <!-- SECTION: GLX extension interface definitions -->
1488     <extensions>
1489         <extension name="GLX_ARB_get_proc_address" supported="glx">
1490             <require>
1491                 <command name="glXGetProcAddressARB"/>
1492             </require>
1493         </extension>
1494         <extension name="GLX_ARB_multisample" supported="glx">
1495             <require>
1496                 <enum name="GLX_SAMPLE_BUFFERS_ARB"/>
1497                 <enum name="GLX_SAMPLES_ARB"/>
1498             </require>
1499         </extension>
1500         <extension name="GLX_3DFX_multisample" supported="glx">
1501             <require>
1502                 <enum name="GLX_SAMPLE_BUFFERS_3DFX"/>
1503                 <enum name="GLX_SAMPLES_3DFX"/>
1504             </require>
1505         </extension>
1506         <extension name="GLX_ARB_vertex_buffer_object" supported="glx">
1507             <require>
1508                 <enum name="GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB"/>
1509             </require>
1510         </extension>
1511         <extension name="GLX_ARB_fbconfig_float" supported="glx">
1512             <require>
1513                 <enum name="GLX_RGBA_FLOAT_TYPE_ARB"/>
1514                 <enum name="GLX_RGBA_FLOAT_BIT_ARB"/>
1515             </require>
1516         </extension>
1517         <extension name="GLX_ARB_framebuffer_sRGB" supported="glx">
1518             <require>
1519                 <enum name="GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB"/>
1520             </require>
1521         </extension>
1522         <extension name="GLX_ARB_create_context" supported="glx">
1523             <require>
1524                 <enum name="GLX_CONTEXT_DEBUG_BIT_ARB"/>
1525                 <enum name="GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB"/>
1526                 <enum name="GLX_CONTEXT_MAJOR_VERSION_ARB"/>
1527                 <enum name="GLX_CONTEXT_MINOR_VERSION_ARB"/>
1528                 <enum name="GLX_CONTEXT_FLAGS_ARB"/>
1529                 <command name="glXCreateContextAttribsARB"/>
1530             </require>
1531         </extension>
1532         <extension name="GLX_ARB_create_context_profile" supported="glx">
1533             <require>
1534                 <enum name="GLX_CONTEXT_CORE_PROFILE_BIT_ARB"/>
1535                 <enum name="GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB"/>
1536                 <enum name="GLX_CONTEXT_PROFILE_MASK_ARB"/>
1537             </require>
1538         </extension>
1539         <extension name="GLX_ARB_create_context_robustness" supported="glx">
1540             <require>
1541                 <enum name="GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB"/>
1542                 <enum name="GLX_LOSE_CONTEXT_ON_RESET_ARB"/>
1543                 <enum name="GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB"/>
1544                 <enum name="GLX_NO_RESET_NOTIFICATION_ARB"/>
1545             </require>
1546         </extension>
1547         <extension name="GLX_ARB_robustness_application_isolation" supported="glx">
1548             <require>
1549                 <enum name="GLX_CONTEXT_RESET_ISOLATION_BIT_ARB"/>
1550             </require>
1551         </extension>
1552         <extension name="GLX_ARB_robustness_share_group_isolation" supported="glx">
1553             <require>
1554                 <enum name="GLX_CONTEXT_RESET_ISOLATION_BIT_ARB"/>
1555             </require>
1556         </extension>
1557         <extension name="GLX_SGIS_multisample" supported="glx">
1558             <require>
1559                 <enum name="GLX_SAMPLE_BUFFERS_SGIS"/>
1560                 <enum name="GLX_SAMPLES_SGIS"/>
1561             </require>
1562         </extension>
1563         <extension name="GLX_EXT_visual_info" supported="glx">
1564             <require>
1565                 <enum name="GLX_X_VISUAL_TYPE_EXT"/>
1566                 <enum name="GLX_TRANSPARENT_TYPE_EXT"/>
1567                 <enum name="GLX_TRANSPARENT_INDEX_VALUE_EXT"/>
1568                 <enum name="GLX_TRANSPARENT_RED_VALUE_EXT"/>
1569                 <enum name="GLX_TRANSPARENT_GREEN_VALUE_EXT"/>
1570                 <enum name="GLX_TRANSPARENT_BLUE_VALUE_EXT"/>
1571                 <enum name="GLX_TRANSPARENT_ALPHA_VALUE_EXT"/>
1572                 <enum name="GLX_NONE_EXT"/>
1573                 <enum name="GLX_TRUE_COLOR_EXT"/>
1574                 <enum name="GLX_DIRECT_COLOR_EXT"/>
1575                 <enum name="GLX_PSEUDO_COLOR_EXT"/>
1576                 <enum name="GLX_STATIC_COLOR_EXT"/>
1577                 <enum name="GLX_GRAY_SCALE_EXT"/>
1578                 <enum name="GLX_STATIC_GRAY_EXT"/>
1579                 <enum name="GLX_TRANSPARENT_RGB_EXT"/>
1580                 <enum name="GLX_TRANSPARENT_INDEX_EXT"/>
1581             </require>
1582         </extension>
1583         <extension name="GLX_SGI_swap_control" supported="glx">
1584             <require>
1585                 <command name="glXSwapIntervalSGI"/>
1586             </require>
1587         </extension>
1588         <extension name="GLX_SGI_video_sync" supported="glx">
1589             <require>
1590                 <command name="glXGetVideoSyncSGI"/>
1591                 <command name="glXWaitVideoSyncSGI"/>
1592             </require>
1593         </extension>
1594         <extension name="GLX_SGI_make_current_read" supported="glx">
1595             <require>
1596                 <command name="glXMakeCurrentReadSGI"/>
1597                 <command name="glXGetCurrentReadDrawableSGI"/>
1598             </require>
1599         </extension>
1600         <extension name="GLX_SGIX_video_source" supported="glx" protect="_VL_H">
1601             <require>
1602                 <command name="glXCreateGLXVideoSourceSGIX"/>
1603                 <command name="glXDestroyGLXVideoSourceSGIX"/>
1604             </require>
1605         </extension>
1606         <extension name="GLX_EXT_visual_rating" supported="glx">
1607             <require>
1608                 <enum name="GLX_VISUAL_CAVEAT_EXT"/>
1609                 <enum name="GLX_SLOW_VISUAL_EXT"/>
1610                 <enum name="GLX_NON_CONFORMANT_VISUAL_EXT"/>
1611                 <enum name="GLX_NONE_EXT"/>
1612             </require>
1613         </extension>
1614         <extension name="GLX_EXT_import_context" supported="glx">
1615             <require>
1616                 <enum name="GLX_SHARE_CONTEXT_EXT"/>
1617                 <enum name="GLX_VISUAL_ID_EXT"/>
1618                 <enum name="GLX_SCREEN_EXT"/>
1619                 <command name="glXGetCurrentDisplayEXT"/>
1620                 <command name="glXQueryContextInfoEXT"/>
1621                 <command name="glXGetContextIDEXT"/>
1622                 <command name="glXImportContextEXT"/>
1623                 <command name="glXFreeContextEXT"/>
1624             </require>
1625         </extension>
1626         <extension name="GLX_SGIX_fbconfig" supported="glx">
1627             <require>
1628                 <enum name="GLX_WINDOW_BIT_SGIX"/>
1629                 <enum name="GLX_PIXMAP_BIT_SGIX"/>
1630                 <enum name="GLX_RGBA_BIT_SGIX"/>
1631                 <enum name="GLX_COLOR_INDEX_BIT_SGIX"/>
1632                 <enum name="GLX_DRAWABLE_TYPE_SGIX"/>
1633                 <enum name="GLX_RENDER_TYPE_SGIX"/>
1634                 <enum name="GLX_X_RENDERABLE_SGIX"/>
1635                 <enum name="GLX_FBCONFIG_ID_SGIX"/>
1636                 <enum name="GLX_RGBA_TYPE_SGIX"/>
1637                 <enum name="GLX_COLOR_INDEX_TYPE_SGIX"/>
1638                 <enum name="GLX_SCREEN_EXT"/>
1639                 <command name="glXGetFBConfigAttribSGIX"/>
1640                 <command name="glXChooseFBConfigSGIX"/>
1641                 <command name="glXCreateGLXPixmapWithConfigSGIX"/>
1642                 <command name="glXCreateContextWithConfigSGIX"/>
1643                 <command name="glXGetVisualFromFBConfigSGIX"/>
1644                 <command name="glXGetFBConfigFromVisualSGIX"/>
1645             </require>
1646         </extension>
1647         <extension name="GLX_SGIX_pbuffer" supported="glx">
1648             <require>
1649                 <enum name="GLX_PBUFFER_BIT_SGIX"/>
1650                 <enum name="GLX_BUFFER_CLOBBER_MASK_SGIX"/>
1651                 <enum name="GLX_FRONT_LEFT_BUFFER_BIT_SGIX"/>
1652                 <enum name="GLX_FRONT_RIGHT_BUFFER_BIT_SGIX"/>
1653                 <enum name="GLX_BACK_LEFT_BUFFER_BIT_SGIX"/>
1654                 <enum name="GLX_BACK_RIGHT_BUFFER_BIT_SGIX"/>
1655                 <enum name="GLX_AUX_BUFFERS_BIT_SGIX"/>
1656                 <enum name="GLX_DEPTH_BUFFER_BIT_SGIX"/>
1657                 <enum name="GLX_STENCIL_BUFFER_BIT_SGIX"/>
1658                 <enum name="GLX_ACCUM_BUFFER_BIT_SGIX"/>
1659                 <enum name="GLX_SAMPLE_BUFFERS_BIT_SGIX"/>
1660                 <enum name="GLX_MAX_PBUFFER_WIDTH_SGIX"/>
1661                 <enum name="GLX_MAX_PBUFFER_HEIGHT_SGIX"/>
1662                 <enum name="GLX_MAX_PBUFFER_PIXELS_SGIX"/>
1663                 <enum name="GLX_OPTIMAL_PBUFFER_WIDTH_SGIX"/>
1664                 <enum name="GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX"/>
1665                 <enum name="GLX_PRESERVED_CONTENTS_SGIX"/>
1666                 <enum name="GLX_LARGEST_PBUFFER_SGIX"/>
1667                 <enum name="GLX_WIDTH_SGIX"/>
1668                 <enum name="GLX_HEIGHT_SGIX"/>
1669                 <enum name="GLX_EVENT_MASK_SGIX"/>
1670                 <enum name="GLX_DAMAGED_SGIX"/>
1671                 <enum name="GLX_SAVED_SGIX"/>
1672                 <enum name="GLX_WINDOW_SGIX"/>
1673                 <enum name="GLX_PBUFFER_SGIX"/>
1674                 <command name="glXCreateGLXPbufferSGIX"/>
1675                 <command name="glXDestroyGLXPbufferSGIX"/>
1676                 <command name="glXQueryGLXPbufferSGIX"/>
1677                 <command name="glXSelectEventSGIX"/>
1678                 <command name="glXGetSelectedEventSGIX"/>
1679             </require>
1680         </extension>
1681         <extension name="GLX_SGIS_blended_overlay" supported="glx">
1682             <require>
1683                 <enum name="GLX_BLENDED_RGBA_SGIS"/>
1684             </require>
1685         </extension>
1686         <extension name="GLX_SGI_cushion" supported="glx">
1687             <require>
1688                 <command name="glXCushionSGI"/>
1689             </require>
1690         </extension>
1691         <extension name="GLX_SGIS_shared_multisample" supported="glx">
1692             <require>
1693                 <enum name="GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS"/>
1694                 <enum name="GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS"/>
1695             </require>
1696         </extension>
1697         <extension name="GLX_SGIX_video_resize" supported="glx">
1698             <require>
1699                 <enum name="GLX_SYNC_FRAME_SGIX"/>
1700                 <enum name="GLX_SYNC_SWAP_SGIX"/>
1701                 <command name="glXBindChannelToWindowSGIX"/>
1702                 <command name="glXChannelRectSGIX"/>
1703                 <command name="glXQueryChannelRectSGIX"/>
1704                 <command name="glXQueryChannelDeltasSGIX"/>
1705                 <command name="glXChannelRectSyncSGIX"/>
1706             </require>
1707         </extension>
1708 <!--     Comment GLX_SGIX_dmbuffer out for the moment. The extension pulls in
1709          the GLXPbufferSGIX <type> but then comments it out with #ifdef
1710          _DM_BUFFER_H_, making it unavailable to later extensions. Need some
1711          work on dependencies.
1712 -->
1713         <extension name="GLX_SGIX_dmbuffer" supported="glx" protect="_DM_BUFFER_H_">
1714             <require>
1715                 <enum name="GLX_DIGITAL_MEDIA_PBUFFER_SGIX"/>
1716                 <command name="glXAssociateDMPbufferSGIX"/>
1717             </require>
1718         </extension>
1719 <!--
1720 -->
1721         <extension name="GLX_SGIX_swap_group" supported="glx">
1722             <require>
1723                 <command name="glXJoinSwapGroupSGIX"/>
1724             </require>
1725         </extension>
1726         <extension name="GLX_SGIX_swap_barrier" supported="glx">
1727             <require>
1728                 <command name="glXBindSwapBarrierSGIX"/>
1729                 <command name="glXQueryMaxSwapBarriersSGIX"/>
1730             </require>
1731         </extension>
1732         <extension name="GLX_SUN_get_transparent_index" supported="glx">
1733             <require>
1734                 <command name="glXGetTransparentIndexSUN"/>
1735             </require>
1736         </extension>
1737         <extension name="GLX_MESA_copy_sub_buffer" supported="glx">
1738             <require>
1739                 <command name="glXCopySubBufferMESA"/>
1740             </require>
1741         </extension>
1742         <extension name="GLX_MESA_pixmap_colormap" supported="glx">
1743             <require>
1744                 <command name="glXCreateGLXPixmapMESA"/>
1745             </require>
1746         </extension>
1747         <extension name="GLX_MESA_release_buffers" supported="glx">
1748             <require>
1749                 <command name="glXReleaseBuffersMESA"/>
1750             </require>
1751         </extension>
1752         <extension name="GLX_MESA_set_3dfx_mode" supported="glx">
1753             <require>
1754                 <enum name="GLX_3DFX_WINDOW_MODE_MESA"/>
1755                 <enum name="GLX_3DFX_FULLSCREEN_MODE_MESA"/>
1756                 <command name="glXSet3DfxModeMESA"/>
1757             </require>
1758         </extension>
1759         <extension name="GLX_SGIX_visual_select_group" supported="glx">
1760             <require>
1761                 <enum name="GLX_VISUAL_SELECT_GROUP_SGIX"/>
1762             </require>
1763         </extension>
1764         <extension name="GLX_OML_swap_method" supported="glx">
1765             <require>
1766                 <enum name="GLX_SWAP_METHOD_OML"/>
1767                 <enum name="GLX_SWAP_EXCHANGE_OML"/>
1768                 <enum name="GLX_SWAP_COPY_OML"/>
1769                 <enum name="GLX_SWAP_UNDEFINED_OML"/>
1770             </require>
1771         </extension>
1772         <extension name="GLX_OML_sync_control" supported="glx">
1773             <require>
1774                 <command name="glXGetSyncValuesOML"/>
1775                 <command name="glXGetMscRateOML"/>
1776                 <command name="glXSwapBuffersMscOML"/>
1777                 <command name="glXWaitForMscOML"/>
1778                 <command name="glXWaitForSbcOML"/>
1779             </require>
1780         </extension>
1781         <extension name="GLX_NV_float_buffer" supported="glx">
1782             <require>
1783                 <enum name="GLX_FLOAT_COMPONENTS_NV"/>
1784             </require>
1785         </extension>
1786         <extension name="GLX_SGIX_hyperpipe" supported="glx">
1787             <require>
1788                 <type name="GLXHyperpipeNetworkSGIX"/>
1789                 <type name="GLXHyperpipeConfigSGIX"/>
1790                 <type name="GLXPipeRect"/>
1791                 <type name="GLXPipeRectLimits"/>
1792                 <enum name="GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX"/>
1793                 <enum name="GLX_BAD_HYPERPIPE_CONFIG_SGIX"/>
1794                 <enum name="GLX_BAD_HYPERPIPE_SGIX"/>
1795                 <enum name="GLX_HYPERPIPE_DISPLAY_PIPE_SGIX"/>
1796                 <enum name="GLX_HYPERPIPE_RENDER_PIPE_SGIX"/>
1797                 <enum name="GLX_PIPE_RECT_SGIX"/>
1798                 <enum name="GLX_PIPE_RECT_LIMITS_SGIX"/>
1799                 <enum name="GLX_HYPERPIPE_STEREO_SGIX"/>
1800                 <enum name="GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX"/>
1801                 <enum name="GLX_HYPERPIPE_ID_SGIX"/>
1802                 <command name="glXQueryHyperpipeNetworkSGIX"/>
1803                 <command name="glXHyperpipeConfigSGIX"/>
1804                 <command name="glXQueryHyperpipeConfigSGIX"/>
1805                 <command name="glXDestroyHyperpipeConfigSGIX"/>
1806                 <command name="glXBindHyperpipeSGIX"/>
1807                 <command name="glXQueryHyperpipeBestAttribSGIX"/>
1808                 <command name="glXHyperpipeAttribSGIX"/>
1809                 <command name="glXQueryHyperpipeAttribSGIX"/>
1810             </require>
1811         </extension>
1812         <extension name="GLX_MESA_agp_offset" supported="glx">
1813             <require>
1814                 <command name="glXGetAGPOffsetMESA"/>
1815             </require>
1816         </extension>
1817         <extension name="GLX_EXT_fbconfig_packed_float" supported="glx">
1818             <require>
1819                 <enum name="GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT"/>
1820                 <enum name="GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT"/>
1821             </require>
1822         </extension>
1823         <extension name="GLX_EXT_framebuffer_sRGB" supported="glx">
1824             <require>
1825                 <enum name="GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT"/>
1826             </require>
1827         </extension>
1828         <extension name="GLX_EXT_texture_from_pixmap" supported="glx">
1829             <require>
1830                 <enum name="GLX_TEXTURE_1D_BIT_EXT"/>
1831                 <enum name="GLX_TEXTURE_2D_BIT_EXT"/>
1832                 <enum name="GLX_TEXTURE_RECTANGLE_BIT_EXT"/>
1833                 <enum name="GLX_BIND_TO_TEXTURE_RGB_EXT"/>
1834                 <enum name="GLX_BIND_TO_TEXTURE_RGBA_EXT"/>
1835                 <enum name="GLX_BIND_TO_MIPMAP_TEXTURE_EXT"/>
1836                 <enum name="GLX_BIND_TO_TEXTURE_TARGETS_EXT"/>
1837                 <enum name="GLX_Y_INVERTED_EXT"/>
1838                 <enum name="GLX_TEXTURE_FORMAT_EXT"/>
1839                 <enum name="GLX_TEXTURE_TARGET_EXT"/>
1840                 <enum name="GLX_MIPMAP_TEXTURE_EXT"/>
1841                 <enum name="GLX_TEXTURE_FORMAT_NONE_EXT"/>
1842                 <enum name="GLX_TEXTURE_FORMAT_RGB_EXT"/>
1843                 <enum name="GLX_TEXTURE_FORMAT_RGBA_EXT"/>
1844                 <enum name="GLX_TEXTURE_1D_EXT"/>
1845                 <enum name="GLX_TEXTURE_2D_EXT"/>
1846                 <enum name="GLX_TEXTURE_RECTANGLE_EXT"/>
1847                 <enum name="GLX_FRONT_LEFT_EXT"/>
1848                 <enum name="GLX_FRONT_RIGHT_EXT"/>
1849                 <enum name="GLX_BACK_LEFT_EXT"/>
1850                 <enum name="GLX_BACK_RIGHT_EXT"/>
1851                 <enum name="GLX_FRONT_EXT"/>
1852                 <enum name="GLX_BACK_EXT"/>
1853                 <enum name="GLX_AUX0_EXT"/>
1854                 <enum name="GLX_AUX1_EXT"/>
1855                 <enum name="GLX_AUX2_EXT"/>
1856                 <enum name="GLX_AUX3_EXT"/>
1857                 <enum name="GLX_AUX4_EXT"/>
1858                 <enum name="GLX_AUX5_EXT"/>
1859                 <enum name="GLX_AUX6_EXT"/>
1860                 <enum name="GLX_AUX7_EXT"/>
1861                 <enum name="GLX_AUX8_EXT"/>
1862                 <enum name="GLX_AUX9_EXT"/>
1863                 <command name="glXBindTexImageEXT"/>
1864                 <command name="glXReleaseTexImageEXT"/>
1865             </require>
1866         </extension>
1867         <extension name="GLX_NV_present_video" supported="glx">
1868             <require>
1869                 <enum name="GLX_NUM_VIDEO_SLOTS_NV"/>
1870                 <command name="glXEnumerateVideoDevicesNV"/>
1871                 <command name="glXBindVideoDeviceNV"/>
1872             </require>
1873         </extension>
1874         <extension name="GLX_NV_video_output" supported="glx">
1875             <require>
1876                 <enum name="GLX_VIDEO_OUT_COLOR_NV"/>
1877                 <enum name="GLX_VIDEO_OUT_ALPHA_NV"/>
1878                 <enum name="GLX_VIDEO_OUT_DEPTH_NV"/>
1879                 <enum name="GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV"/>
1880                 <enum name="GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV"/>
1881                 <enum name="GLX_VIDEO_OUT_FRAME_NV"/>
1882                 <enum name="GLX_VIDEO_OUT_FIELD_1_NV"/>
1883                 <enum name="GLX_VIDEO_OUT_FIELD_2_NV"/>
1884                 <enum name="GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV"/>
1885                 <enum name="GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV"/>
1886                 <command name="glXGetVideoDeviceNV"/>
1887                 <command name="glXReleaseVideoDeviceNV"/>
1888                 <command name="glXBindVideoImageNV"/>
1889                 <command name="glXReleaseVideoImageNV"/>
1890                 <command name="glXSendPbufferToVideoNV"/>
1891                 <command name="glXGetVideoInfoNV"/>
1892             </require>
1893         </extension>
1894         <extension name="GLX_NV_swap_group" supported="glx">
1895             <require>
1896                 <command name="glXJoinSwapGroupNV"/>
1897                 <command name="glXBindSwapBarrierNV"/>
1898                 <command name="glXQuerySwapGroupNV"/>
1899                 <command name="glXQueryMaxSwapGroupsNV"/>
1900                 <command name="glXQueryFrameCountNV"/>
1901                 <command name="glXResetFrameCountNV"/>
1902             </require>
1903         </extension>
1904         <extension name="GLX_NV_video_capture" supported="glx">
1905             <require>
1906                 <enum name="GLX_DEVICE_ID_NV"/>
1907                 <enum name="GLX_UNIQUE_ID_NV"/>
1908                 <enum name="GLX_NUM_VIDEO_CAPTURE_SLOTS_NV"/>
1909                 <command name="glXBindVideoCaptureDeviceNV"/>
1910                 <command name="glXEnumerateVideoCaptureDevicesNV"/>
1911                 <command name="glXLockVideoCaptureDeviceNV"/>
1912                 <command name="glXQueryVideoCaptureDeviceNV"/>
1913                 <command name="glXReleaseVideoCaptureDeviceNV"/>
1914             </require>
1915         </extension>
1916         <extension name="GLX_EXT_swap_control" supported="glx">
1917             <require>
1918                 <enum name="GLX_SWAP_INTERVAL_EXT"/>
1919                 <enum name="GLX_MAX_SWAP_INTERVAL_EXT"/>
1920                 <command name="glXSwapIntervalEXT"/>
1921             </require>
1922         </extension>
1923         <extension name="GLX_NV_copy_image" supported="glx">
1924             <require>
1925                 <command name="glXCopyImageSubDataNV"/>
1926             </require>
1927         </extension>
1928         <extension name="GLX_INTEL_swap_event" supported="glx">
1929             <require>
1930                 <enum name="GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK"/>
1931                 <enum name="GLX_EXCHANGE_COMPLETE_INTEL"/>
1932                 <enum name="GLX_COPY_COMPLETE_INTEL"/>
1933                 <enum name="GLX_FLIP_COMPLETE_INTEL"/>
1934             </require>
1935         </extension>
1936         <extension name="GLX_NV_multisample_coverage" supported="glx">
1937             <require>
1938                 <enum name="GLX_COVERAGE_SAMPLES_NV"/>
1939                 <enum name="GLX_COLOR_SAMPLES_NV"/>
1940             </require>
1941         </extension>
1942         <extension name="GLX_AMD_gpu_association" supported="glx">
1943             <require>
1944                 <enum name="GLX_GPU_VENDOR_AMD"/>
1945                 <enum name="GLX_GPU_RENDERER_STRING_AMD"/>
1946                 <enum name="GLX_GPU_OPENGL_VERSION_STRING_AMD"/>
1947                 <enum name="GLX_GPU_FASTEST_TARGET_GPUS_AMD"/>
1948                 <enum name="GLX_GPU_RAM_AMD"/>
1949                 <enum name="GLX_GPU_CLOCK_AMD"/>
1950                 <enum name="GLX_GPU_NUM_PIPES_AMD"/>
1951                 <enum name="GLX_GPU_NUM_SIMD_AMD"/>
1952                 <enum name="GLX_GPU_NUM_RB_AMD"/>
1953                 <enum name="GLX_GPU_NUM_SPI_AMD"/>
1954             </require>
1955         </extension>
1956         <extension name="GLX_EXT_create_context_es_profile" supported="glx">
1957             <require>
1958                 <enum name="GLX_CONTEXT_ES_PROFILE_BIT_EXT"/>
1959             </require>
1960         </extension>
1961         <extension name="GLX_EXT_create_context_es2_profile" supported="glx">
1962             <require>
1963                 <enum name="GLX_CONTEXT_ES2_PROFILE_BIT_EXT"/>
1964             </require>
1965         </extension>
1966         <extension name="GLX_EXT_swap_control_tear" supported="glx">
1967             <require>
1968                 <enum name="GLX_LATE_SWAPS_TEAR_EXT"/>
1969             </require>
1970         </extension>
1971         <extension name="GLX_EXT_buffer_age" supported="glx">
1972             <require>
1973                 <enum name="GLX_BACK_BUFFER_AGE_EXT"/>
1974             </require>
1975         </extension>
1976     </extensions>
1977 </registry>