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