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