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