/[pcsx2_0.9.7]/trunk/3rdparty/GL/glxew.h
ViewVC logotype

Annotation of /trunk/3rdparty/GL/glxew.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 31 - (hide annotations) (download)
Tue Sep 7 03:24:11 2010 UTC (9 years, 11 months ago) by william
File MIME type: text/plain
File size: 55303 byte(s)
committing r3113 initial commit again...
1 william 31 /*
2     ** The OpenGL Extension Wrangler Library
3     ** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
4     ** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
5     ** Copyright (C) 2002, Lev Povalahev
6     ** All rights reserved.
7     **
8     ** Redistribution and use in source and binary forms, with or without
9     ** modification, are permitted provided that the following conditions are met:
10     **
11     ** * Redistributions of source code must retain the above copyright notice,
12     ** this list of conditions and the following disclaimer.
13     ** * Redistributions in binary form must reproduce the above copyright notice,
14     ** this list of conditions and the following disclaimer in the documentation
15     ** and/or other materials provided with the distribution.
16     ** * The name of the author may be used to endorse or promote products
17     ** derived from this software without specific prior written permission.
18     **
19     ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20     ** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21     ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22     ** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23     ** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24     ** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25     ** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26     ** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27     ** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28     ** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
29     ** THE POSSIBILITY OF SUCH DAMAGE.
30     */
31    
32     /*
33     * Mesa 3-D graphics library
34     * Version: 7.0
35     *
36     * Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
37     *
38     * Permission is hereby granted, free of charge, to any person obtaining a
39     * copy of this software and associated documentation files (the "Software"),
40     * to deal in the Software without restriction, including without limitation
41     * the rights to use, copy, modify, merge, publish, distribute, sublicense,
42     * and/or sell copies of the Software, and to permit persons to whom the
43     * Software is furnished to do so, subject to the following conditions:
44     *
45     * The above copyright notice and this permission notice shall be included
46     * in all copies or substantial portions of the Software.
47     *
48     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
49     * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
50     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
51     * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
52     * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
53     * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
54     */
55    
56     /*
57     ** Copyright (c) 2007 The Khronos Group Inc.
58     **
59     ** Permission is hereby granted, free of charge, to any person obtaining a
60     ** copy of this software and/or associated documentation files (the
61     ** "Materials"), to deal in the Materials without restriction, including
62     ** without limitation the rights to use, copy, modify, merge, publish,
63     ** distribute, sublicense, and/or sell copies of the Materials, and to
64     ** permit persons to whom the Materials are furnished to do so, subject to
65     ** the following conditions:
66     **
67     ** The above copyright notice and this permission notice shall be included
68     ** in all copies or substantial portions of the Materials.
69     **
70     ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
71     ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
72     ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
73     ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
74     ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
75     ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
76     ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
77     */
78    
79     #ifndef __glxew_h__
80     #define __glxew_h__
81     #define __GLXEW_H__
82    
83     #ifdef __glxext_h_
84     #error glxext.h included before glxew.h
85     #endif
86     #ifdef GLX_H
87     #error glx.h included before glxew.h
88     #endif
89    
90     #define __glxext_h_
91     #define __GLX_glx_h__
92     #define GLX_H
93    
94     #include <X11/Xlib.h>
95     #include <X11/Xutil.h>
96     #include <X11/Xmd.h>
97     #include <GL/glew.h>
98    
99     #ifdef __cplusplus
100     extern "C" {
101     #endif
102    
103     /* ---------------------------- GLX_VERSION_1_0 --------------------------- */
104    
105     #ifndef GLX_VERSION_1_0
106     #define GLX_VERSION_1_0 1
107    
108     #define GLX_USE_GL 1
109     #define GLX_BUFFER_SIZE 2
110     #define GLX_LEVEL 3
111     #define GLX_RGBA 4
112     #define GLX_DOUBLEBUFFER 5
113     #define GLX_STEREO 6
114     #define GLX_AUX_BUFFERS 7
115     #define GLX_RED_SIZE 8
116     #define GLX_GREEN_SIZE 9
117     #define GLX_BLUE_SIZE 10
118     #define GLX_ALPHA_SIZE 11
119     #define GLX_DEPTH_SIZE 12
120     #define GLX_STENCIL_SIZE 13
121     #define GLX_ACCUM_RED_SIZE 14
122     #define GLX_ACCUM_GREEN_SIZE 15
123     #define GLX_ACCUM_BLUE_SIZE 16
124     #define GLX_ACCUM_ALPHA_SIZE 17
125     #define GLX_BAD_SCREEN 1
126     #define GLX_BAD_ATTRIBUTE 2
127     #define GLX_NO_EXTENSION 3
128     #define GLX_BAD_VISUAL 4
129     #define GLX_BAD_CONTEXT 5
130     #define GLX_BAD_VALUE 6
131     #define GLX_BAD_ENUM 7
132    
133     typedef XID GLXDrawable;
134     typedef XID GLXPixmap;
135     #ifdef __sun
136     typedef struct __glXContextRec *GLXContext;
137     #else
138     typedef struct __GLXcontextRec *GLXContext;
139     #endif
140    
141     typedef unsigned int GLXVideoDeviceNV;
142    
143     extern Bool glXQueryExtension (Display *dpy, int *errorBase, int *eventBase);
144     extern Bool glXQueryVersion (Display *dpy, int *major, int *minor);
145     extern int glXGetConfig (Display *dpy, XVisualInfo *vis, int attrib, int *value);
146     extern XVisualInfo* glXChooseVisual (Display *dpy, int screen, int *attribList);
147     extern GLXPixmap glXCreateGLXPixmap (Display *dpy, XVisualInfo *vis, Pixmap pixmap);
148     extern void glXDestroyGLXPixmap (Display *dpy, GLXPixmap pix);
149     extern GLXContext glXCreateContext (Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);
150     extern void glXDestroyContext (Display *dpy, GLXContext ctx);
151     extern Bool glXIsDirect (Display *dpy, GLXContext ctx);
152     extern void glXCopyContext (Display *dpy, GLXContext src, GLXContext dst, GLulong mask);
153     extern Bool glXMakeCurrent (Display *dpy, GLXDrawable drawable, GLXContext ctx);
154     extern GLXContext glXGetCurrentContext (void);
155     extern GLXDrawable glXGetCurrentDrawable (void);
156     extern void glXWaitGL (void);
157     extern void glXWaitX (void);
158     extern void glXSwapBuffers (Display *dpy, GLXDrawable drawable);
159     extern void glXUseXFont (Font font, int first, int count, int listBase);
160    
161     #define GLXEW_VERSION_1_0 GLXEW_GET_VAR(__GLXEW_VERSION_1_0)
162    
163     #endif /* GLX_VERSION_1_0 */
164    
165     /* ---------------------------- GLX_VERSION_1_1 --------------------------- */
166    
167     #ifndef GLX_VERSION_1_1
168     #define GLX_VERSION_1_1
169    
170     #define GLX_VENDOR 0x1
171     #define GLX_VERSION 0x2
172     #define GLX_EXTENSIONS 0x3
173    
174     extern const char* glXQueryExtensionsString (Display *dpy, int screen);
175     extern const char* glXGetClientString (Display *dpy, int name);
176     extern const char* glXQueryServerString (Display *dpy, int screen, int name);
177    
178     #define GLXEW_VERSION_1_1 GLXEW_GET_VAR(__GLXEW_VERSION_1_1)
179    
180     #endif /* GLX_VERSION_1_1 */
181    
182     /* ---------------------------- GLX_VERSION_1_2 ---------------------------- */
183    
184     #ifndef GLX_VERSION_1_2
185     #define GLX_VERSION_1_2 1
186    
187     typedef Display* ( * PFNGLXGETCURRENTDISPLAYPROC) (void);
188    
189     #define glXGetCurrentDisplay GLXEW_GET_FUN(__glewXGetCurrentDisplay)
190    
191     #define GLXEW_VERSION_1_2 GLXEW_GET_VAR(__GLXEW_VERSION_1_2)
192    
193     #endif /* GLX_VERSION_1_2 */
194    
195     /* ---------------------------- GLX_VERSION_1_3 ---------------------------- */
196    
197     #ifndef GLX_VERSION_1_3
198     #define GLX_VERSION_1_3 1
199    
200     #define GLX_RGBA_BIT 0x00000001
201     #define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001
202     #define GLX_WINDOW_BIT 0x00000001
203     #define GLX_COLOR_INDEX_BIT 0x00000002
204     #define GLX_PIXMAP_BIT 0x00000002
205     #define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002
206     #define GLX_BACK_LEFT_BUFFER_BIT 0x00000004
207     #define GLX_PBUFFER_BIT 0x00000004
208     #define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
209     #define GLX_AUX_BUFFERS_BIT 0x00000010
210     #define GLX_CONFIG_CAVEAT 0x20
211     #define GLX_DEPTH_BUFFER_BIT 0x00000020
212     #define GLX_X_VISUAL_TYPE 0x22
213     #define GLX_TRANSPARENT_TYPE 0x23
214     #define GLX_TRANSPARENT_INDEX_VALUE 0x24
215     #define GLX_TRANSPARENT_RED_VALUE 0x25
216     #define GLX_TRANSPARENT_GREEN_VALUE 0x26
217     #define GLX_TRANSPARENT_BLUE_VALUE 0x27
218     #define GLX_TRANSPARENT_ALPHA_VALUE 0x28
219     #define GLX_STENCIL_BUFFER_BIT 0x00000040
220     #define GLX_ACCUM_BUFFER_BIT 0x00000080
221     #define GLX_NONE 0x8000
222     #define GLX_SLOW_CONFIG 0x8001
223     #define GLX_TRUE_COLOR 0x8002
224     #define GLX_DIRECT_COLOR 0x8003
225     #define GLX_PSEUDO_COLOR 0x8004
226     #define GLX_STATIC_COLOR 0x8005
227     #define GLX_GRAY_SCALE 0x8006
228     #define GLX_STATIC_GRAY 0x8007
229     #define GLX_TRANSPARENT_RGB 0x8008
230     #define GLX_TRANSPARENT_INDEX 0x8009
231     #define GLX_VISUAL_ID 0x800B
232     #define GLX_SCREEN 0x800C
233     #define GLX_NON_CONFORMANT_CONFIG 0x800D
234     #define GLX_DRAWABLE_TYPE 0x8010
235     #define GLX_RENDER_TYPE 0x8011
236     #define GLX_X_RENDERABLE 0x8012
237     #define GLX_FBCONFIG_ID 0x8013
238     #define GLX_RGBA_TYPE 0x8014
239     #define GLX_COLOR_INDEX_TYPE 0x8015
240     #define GLX_MAX_PBUFFER_WIDTH 0x8016
241     #define GLX_MAX_PBUFFER_HEIGHT 0x8017
242     #define GLX_MAX_PBUFFER_PIXELS 0x8018
243     #define GLX_PRESERVED_CONTENTS 0x801B
244     #define GLX_LARGEST_PBUFFER 0x801C
245     #define GLX_WIDTH 0x801D
246     #define GLX_HEIGHT 0x801E
247     #define GLX_EVENT_MASK 0x801F
248     #define GLX_DAMAGED 0x8020
249     #define GLX_SAVED 0x8021
250     #define GLX_WINDOW 0x8022
251     #define GLX_PBUFFER 0x8023
252     #define GLX_PBUFFER_HEIGHT 0x8040
253     #define GLX_PBUFFER_WIDTH 0x8041
254     #define GLX_PBUFFER_CLOBBER_MASK 0x08000000
255     #define GLX_DONT_CARE 0xFFFFFFFF
256    
257     typedef XID GLXFBConfigID;
258     typedef XID GLXWindow;
259     typedef XID GLXPbuffer;
260     typedef struct __GLXFBConfigRec *GLXFBConfig;
261    
262     typedef struct {
263     int event_type;
264     int draw_type;
265     unsigned long serial;
266     Bool send_event;
267     Display *display;
268     GLXDrawable drawable;
269     unsigned int buffer_mask;
270     unsigned int aux_buffer;
271     int x, y;
272     int width, height;
273     int count;
274     } GLXPbufferClobberEvent;
275     typedef union __GLXEvent {
276     GLXPbufferClobberEvent glxpbufferclobber;
277     long pad[24];
278     } GLXEvent;
279    
280     typedef GLXFBConfig* ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
281     typedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
282     typedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
283     typedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
284     typedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
285     typedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
286     typedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
287     typedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
288     typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
289     typedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
290     typedef GLXFBConfig* ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
291     typedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
292     typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
293     typedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
294     typedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
295     typedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
296     typedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask);
297    
298     #define glXChooseFBConfig GLXEW_GET_FUN(__glewXChooseFBConfig)
299     #define glXCreateNewContext GLXEW_GET_FUN(__glewXCreateNewContext)
300     #define glXCreatePbuffer GLXEW_GET_FUN(__glewXCreatePbuffer)
301     #define glXCreatePixmap GLXEW_GET_FUN(__glewXCreatePixmap)
302     #define glXCreateWindow GLXEW_GET_FUN(__glewXCreateWindow)
303     #define glXDestroyPbuffer GLXEW_GET_FUN(__glewXDestroyPbuffer)
304     #define glXDestroyPixmap GLXEW_GET_FUN(__glewXDestroyPixmap)
305     #define glXDestroyWindow GLXEW_GET_FUN(__glewXDestroyWindow)
306     #define glXGetCurrentReadDrawable GLXEW_GET_FUN(__glewXGetCurrentReadDrawable)
307     #define glXGetFBConfigAttrib GLXEW_GET_FUN(__glewXGetFBConfigAttrib)
308     #define glXGetFBConfigs GLXEW_GET_FUN(__glewXGetFBConfigs)
309     #define glXGetSelectedEvent GLXEW_GET_FUN(__glewXGetSelectedEvent)
310     #define glXGetVisualFromFBConfig GLXEW_GET_FUN(__glewXGetVisualFromFBConfig)
311     #define glXMakeContextCurrent GLXEW_GET_FUN(__glewXMakeContextCurrent)
312     #define glXQueryContext GLXEW_GET_FUN(__glewXQueryContext)
313     #define glXQueryDrawable GLXEW_GET_FUN(__glewXQueryDrawable)
314     #define glXSelectEvent GLXEW_GET_FUN(__glewXSelectEvent)
315    
316     #define GLXEW_VERSION_1_3 GLXEW_GET_VAR(__GLXEW_VERSION_1_3)
317    
318     #endif /* GLX_VERSION_1_3 */
319    
320     /* ---------------------------- GLX_VERSION_1_4 ---------------------------- */
321    
322     #ifndef GLX_VERSION_1_4
323     #define GLX_VERSION_1_4 1
324    
325     #define GLX_SAMPLE_BUFFERS 100000
326     #define GLX_SAMPLES 100001
327    
328     extern void ( * glXGetProcAddress (const GLubyte *procName)) (void);
329    
330     #define GLXEW_VERSION_1_4 GLXEW_GET_VAR(__GLXEW_VERSION_1_4)
331    
332     #endif /* GLX_VERSION_1_4 */
333    
334     /* -------------------------- GLX_3DFX_multisample ------------------------- */
335    
336     #ifndef GLX_3DFX_multisample
337     #define GLX_3DFX_multisample 1
338    
339     #define GLX_SAMPLE_BUFFERS_3DFX 0x8050
340     #define GLX_SAMPLES_3DFX 0x8051
341    
342     #define GLXEW_3DFX_multisample GLXEW_GET_VAR(__GLXEW_3DFX_multisample)
343    
344     #endif /* GLX_3DFX_multisample */
345    
346     /* ------------------------- GLX_ARB_create_context ------------------------ */
347    
348     #ifndef GLX_ARB_create_context
349     #define GLX_ARB_create_context 1
350    
351     #define GLX_CONTEXT_DEBUG_BIT_ARB 0x0001
352     #define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002
353     #define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
354     #define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
355     #define GLX_CONTEXT_FLAGS_ARB 0x2094
356    
357     typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display* dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
358    
359     #define glXCreateContextAttribsARB GLXEW_GET_FUN(__glewXCreateContextAttribsARB)
360    
361     #define GLXEW_ARB_create_context GLXEW_GET_VAR(__GLXEW_ARB_create_context)
362    
363     #endif /* GLX_ARB_create_context */
364    
365     /* ------------------------- GLX_ARB_fbconfig_float ------------------------ */
366    
367     #ifndef GLX_ARB_fbconfig_float
368     #define GLX_ARB_fbconfig_float 1
369    
370     #define GLX_RGBA_FLOAT_BIT 0x00000004
371     #define GLX_RGBA_FLOAT_TYPE 0x20B9
372    
373     #define GLXEW_ARB_fbconfig_float GLXEW_GET_VAR(__GLXEW_ARB_fbconfig_float)
374    
375     #endif /* GLX_ARB_fbconfig_float */
376    
377     /* ------------------------ GLX_ARB_framebuffer_sRGB ----------------------- */
378    
379     #ifndef GLX_ARB_framebuffer_sRGB
380     #define GLX_ARB_framebuffer_sRGB 1
381    
382     #define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20B2
383    
384     #define GLXEW_ARB_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_ARB_framebuffer_sRGB)
385    
386     #endif /* GLX_ARB_framebuffer_sRGB */
387    
388     /* ------------------------ GLX_ARB_get_proc_address ----------------------- */
389    
390     #ifndef GLX_ARB_get_proc_address
391     #define GLX_ARB_get_proc_address 1
392    
393     extern void ( * glXGetProcAddressARB (const GLubyte *procName)) (void);
394    
395     #define GLXEW_ARB_get_proc_address GLXEW_GET_VAR(__GLXEW_ARB_get_proc_address)
396    
397     #endif /* GLX_ARB_get_proc_address */
398    
399     /* -------------------------- GLX_ARB_multisample -------------------------- */
400    
401     #ifndef GLX_ARB_multisample
402     #define GLX_ARB_multisample 1
403    
404     #define GLX_SAMPLE_BUFFERS_ARB 100000
405     #define GLX_SAMPLES_ARB 100001
406    
407     #define GLXEW_ARB_multisample GLXEW_GET_VAR(__GLXEW_ARB_multisample)
408    
409     #endif /* GLX_ARB_multisample */
410    
411     /* ----------------------- GLX_ATI_pixel_format_float ---------------------- */
412    
413     #ifndef GLX_ATI_pixel_format_float
414     #define GLX_ATI_pixel_format_float 1
415    
416     #define GLX_RGBA_FLOAT_ATI_BIT 0x00000100
417    
418     #define GLXEW_ATI_pixel_format_float GLXEW_GET_VAR(__GLXEW_ATI_pixel_format_float)
419    
420     #endif /* GLX_ATI_pixel_format_float */
421    
422     /* ------------------------- GLX_ATI_render_texture ------------------------ */
423    
424     #ifndef GLX_ATI_render_texture
425     #define GLX_ATI_render_texture 1
426    
427     #define GLX_BIND_TO_TEXTURE_RGB_ATI 0x9800
428     #define GLX_BIND_TO_TEXTURE_RGBA_ATI 0x9801
429     #define GLX_TEXTURE_FORMAT_ATI 0x9802
430     #define GLX_TEXTURE_TARGET_ATI 0x9803
431     #define GLX_MIPMAP_TEXTURE_ATI 0x9804
432     #define GLX_TEXTURE_RGB_ATI 0x9805
433     #define GLX_TEXTURE_RGBA_ATI 0x9806
434     #define GLX_NO_TEXTURE_ATI 0x9807
435     #define GLX_TEXTURE_CUBE_MAP_ATI 0x9808
436     #define GLX_TEXTURE_1D_ATI 0x9809
437     #define GLX_TEXTURE_2D_ATI 0x980A
438     #define GLX_MIPMAP_LEVEL_ATI 0x980B
439     #define GLX_CUBE_MAP_FACE_ATI 0x980C
440     #define GLX_TEXTURE_CUBE_MAP_POSITIVE_X_ATI 0x980D
441     #define GLX_TEXTURE_CUBE_MAP_NEGATIVE_X_ATI 0x980E
442     #define GLX_TEXTURE_CUBE_MAP_POSITIVE_Y_ATI 0x980F
443     #define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Y_ATI 0x9810
444     #define GLX_TEXTURE_CUBE_MAP_POSITIVE_Z_ATI 0x9811
445     #define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Z_ATI 0x9812
446     #define GLX_FRONT_LEFT_ATI 0x9813
447     #define GLX_FRONT_RIGHT_ATI 0x9814
448     #define GLX_BACK_LEFT_ATI 0x9815
449     #define GLX_BACK_RIGHT_ATI 0x9816
450     #define GLX_AUX0_ATI 0x9817
451     #define GLX_AUX1_ATI 0x9818
452     #define GLX_AUX2_ATI 0x9819
453     #define GLX_AUX3_ATI 0x981A
454     #define GLX_AUX4_ATI 0x981B
455     #define GLX_AUX5_ATI 0x981C
456     #define GLX_AUX6_ATI 0x981D
457     #define GLX_AUX7_ATI 0x981E
458     #define GLX_AUX8_ATI 0x981F
459     #define GLX_AUX9_ATI 0x9820
460     #define GLX_BIND_TO_TEXTURE_LUMINANCE_ATI 0x9821
461     #define GLX_BIND_TO_TEXTURE_INTENSITY_ATI 0x9822
462    
463     typedef void ( * PFNGLXBINDTEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer);
464     typedef void ( * PFNGLXDRAWABLEATTRIBATIPROC) (Display *dpy, GLXDrawable draw, const int *attrib_list);
465     typedef void ( * PFNGLXRELEASETEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer);
466    
467     #define glXBindTexImageATI GLXEW_GET_FUN(__glewXBindTexImageATI)
468     #define glXDrawableAttribATI GLXEW_GET_FUN(__glewXDrawableAttribATI)
469     #define glXReleaseTexImageATI GLXEW_GET_FUN(__glewXReleaseTexImageATI)
470    
471     #define GLXEW_ATI_render_texture GLXEW_GET_VAR(__GLXEW_ATI_render_texture)
472    
473     #endif /* GLX_ATI_render_texture */
474    
475     /* --------------------- GLX_EXT_fbconfig_packed_float --------------------- */
476    
477     #ifndef GLX_EXT_fbconfig_packed_float
478     #define GLX_EXT_fbconfig_packed_float 1
479    
480     #define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008
481     #define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1
482    
483     #define GLXEW_EXT_fbconfig_packed_float GLXEW_GET_VAR(__GLXEW_EXT_fbconfig_packed_float)
484    
485     #endif /* GLX_EXT_fbconfig_packed_float */
486    
487     /* ------------------------ GLX_EXT_framebuffer_sRGB ----------------------- */
488    
489     #ifndef GLX_EXT_framebuffer_sRGB
490     #define GLX_EXT_framebuffer_sRGB 1
491    
492     #define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2
493    
494     #define GLXEW_EXT_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_EXT_framebuffer_sRGB)
495    
496     #endif /* GLX_EXT_framebuffer_sRGB */
497    
498     /* ------------------------- GLX_EXT_import_context ------------------------ */
499    
500     #ifndef GLX_EXT_import_context
501     #define GLX_EXT_import_context 1
502    
503     #define GLX_SHARE_CONTEXT_EXT 0x800A
504     #define GLX_VISUAL_ID_EXT 0x800B
505     #define GLX_SCREEN_EXT 0x800C
506    
507     typedef XID GLXContextID;
508    
509     typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display* dpy, GLXContext context);
510     typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context);
511     typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display* dpy, GLXContextID contextID);
512     typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display* dpy, GLXContext context, int attribute,int *value);
513    
514     #define glXFreeContextEXT GLXEW_GET_FUN(__glewXFreeContextEXT)
515     #define glXGetContextIDEXT GLXEW_GET_FUN(__glewXGetContextIDEXT)
516     #define glXImportContextEXT GLXEW_GET_FUN(__glewXImportContextEXT)
517     #define glXQueryContextInfoEXT GLXEW_GET_FUN(__glewXQueryContextInfoEXT)
518    
519     #define GLXEW_EXT_import_context GLXEW_GET_VAR(__GLXEW_EXT_import_context)
520    
521     #endif /* GLX_EXT_import_context */
522    
523     /* -------------------------- GLX_EXT_scene_marker ------------------------- */
524    
525     #ifndef GLX_EXT_scene_marker
526     #define GLX_EXT_scene_marker 1
527    
528     #define GLXEW_EXT_scene_marker GLXEW_GET_VAR(__GLXEW_EXT_scene_marker)
529    
530     #endif /* GLX_EXT_scene_marker */
531    
532     /* ---------------------- GLX_EXT_texture_from_pixmap ---------------------- */
533    
534     #ifndef GLX_EXT_texture_from_pixmap
535     #define GLX_EXT_texture_from_pixmap 1
536    
537     #define GLX_TEXTURE_1D_BIT_EXT 0x00000001
538     #define GLX_TEXTURE_2D_BIT_EXT 0x00000002
539     #define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
540     #define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0
541     #define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1
542     #define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2
543     #define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3
544     #define GLX_Y_INVERTED_EXT 0x20D4
545     #define GLX_TEXTURE_FORMAT_EXT 0x20D5
546     #define GLX_TEXTURE_TARGET_EXT 0x20D6
547     #define GLX_MIPMAP_TEXTURE_EXT 0x20D7
548     #define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8
549     #define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9
550     #define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA
551     #define GLX_TEXTURE_1D_EXT 0x20DB
552     #define GLX_TEXTURE_2D_EXT 0x20DC
553     #define GLX_TEXTURE_RECTANGLE_EXT 0x20DD
554     #define GLX_FRONT_LEFT_EXT 0x20DE
555     #define GLX_FRONT_RIGHT_EXT 0x20DF
556     #define GLX_BACK_LEFT_EXT 0x20E0
557     #define GLX_BACK_RIGHT_EXT 0x20E1
558     #define GLX_AUX0_EXT 0x20E2
559     #define GLX_AUX1_EXT 0x20E3
560     #define GLX_AUX2_EXT 0x20E4
561     #define GLX_AUX3_EXT 0x20E5
562     #define GLX_AUX4_EXT 0x20E6
563     #define GLX_AUX5_EXT 0x20E7
564     #define GLX_AUX6_EXT 0x20E8
565     #define GLX_AUX7_EXT 0x20E9
566     #define GLX_AUX8_EXT 0x20EA
567     #define GLX_AUX9_EXT 0x20EB
568    
569     typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer, const int *attrib_list);
570     typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer);
571    
572     #define glXBindTexImageEXT GLXEW_GET_FUN(__glewXBindTexImageEXT)
573     #define glXReleaseTexImageEXT GLXEW_GET_FUN(__glewXReleaseTexImageEXT)
574    
575     #define GLXEW_EXT_texture_from_pixmap GLXEW_GET_VAR(__GLXEW_EXT_texture_from_pixmap)
576    
577     #endif /* GLX_EXT_texture_from_pixmap */
578    
579     /* -------------------------- GLX_EXT_visual_info -------------------------- */
580    
581     #ifndef GLX_EXT_visual_info
582     #define GLX_EXT_visual_info 1
583    
584     #define GLX_X_VISUAL_TYPE_EXT 0x22
585     #define GLX_TRANSPARENT_TYPE_EXT 0x23
586     #define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24
587     #define GLX_TRANSPARENT_RED_VALUE_EXT 0x25
588     #define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26
589     #define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27
590     #define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28
591     #define GLX_NONE_EXT 0x8000
592     #define GLX_TRUE_COLOR_EXT 0x8002
593     #define GLX_DIRECT_COLOR_EXT 0x8003
594     #define GLX_PSEUDO_COLOR_EXT 0x8004
595     #define GLX_STATIC_COLOR_EXT 0x8005
596     #define GLX_GRAY_SCALE_EXT 0x8006
597     #define GLX_STATIC_GRAY_EXT 0x8007
598     #define GLX_TRANSPARENT_RGB_EXT 0x8008
599     #define GLX_TRANSPARENT_INDEX_EXT 0x8009
600    
601     #define GLXEW_EXT_visual_info GLXEW_GET_VAR(__GLXEW_EXT_visual_info)
602    
603     #endif /* GLX_EXT_visual_info */
604    
605     /* ------------------------- GLX_EXT_visual_rating ------------------------- */
606    
607     #ifndef GLX_EXT_visual_rating
608     #define GLX_EXT_visual_rating 1
609    
610     #define GLX_VISUAL_CAVEAT_EXT 0x20
611     #define GLX_SLOW_VISUAL_EXT 0x8001
612     #define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D
613    
614     #define GLXEW_EXT_visual_rating GLXEW_GET_VAR(__GLXEW_EXT_visual_rating)
615    
616     #endif /* GLX_EXT_visual_rating */
617    
618     /* -------------------------- GLX_MESA_agp_offset -------------------------- */
619    
620     #ifndef GLX_MESA_agp_offset
621     #define GLX_MESA_agp_offset 1
622    
623     typedef unsigned int ( * PFNGLXGETAGPOFFSETMESAPROC) (const void* pointer);
624    
625     #define glXGetAGPOffsetMESA GLXEW_GET_FUN(__glewXGetAGPOffsetMESA)
626    
627     #define GLXEW_MESA_agp_offset GLXEW_GET_VAR(__GLXEW_MESA_agp_offset)
628    
629     #endif /* GLX_MESA_agp_offset */
630    
631     /* ------------------------ GLX_MESA_copy_sub_buffer ----------------------- */
632    
633     #ifndef GLX_MESA_copy_sub_buffer
634     #define GLX_MESA_copy_sub_buffer 1
635    
636     typedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display* dpy, GLXDrawable drawable, int x, int y, int width, int height);
637    
638     #define glXCopySubBufferMESA GLXEW_GET_FUN(__glewXCopySubBufferMESA)
639    
640     #define GLXEW_MESA_copy_sub_buffer GLXEW_GET_VAR(__GLXEW_MESA_copy_sub_buffer)
641    
642     #endif /* GLX_MESA_copy_sub_buffer */
643    
644     /* ------------------------ GLX_MESA_pixmap_colormap ----------------------- */
645    
646     #ifndef GLX_MESA_pixmap_colormap
647     #define GLX_MESA_pixmap_colormap 1
648    
649     typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display* dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
650    
651     #define glXCreateGLXPixmapMESA GLXEW_GET_FUN(__glewXCreateGLXPixmapMESA)
652    
653     #define GLXEW_MESA_pixmap_colormap GLXEW_GET_VAR(__GLXEW_MESA_pixmap_colormap)
654    
655     #endif /* GLX_MESA_pixmap_colormap */
656    
657     /* ------------------------ GLX_MESA_release_buffers ----------------------- */
658    
659     #ifndef GLX_MESA_release_buffers
660     #define GLX_MESA_release_buffers 1
661    
662     typedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display* dpy, GLXDrawable d);
663    
664     #define glXReleaseBuffersMESA GLXEW_GET_FUN(__glewXReleaseBuffersMESA)
665    
666     #define GLXEW_MESA_release_buffers GLXEW_GET_VAR(__GLXEW_MESA_release_buffers)
667    
668     #endif /* GLX_MESA_release_buffers */
669    
670     /* ------------------------- GLX_MESA_set_3dfx_mode ------------------------ */
671    
672     #ifndef GLX_MESA_set_3dfx_mode
673     #define GLX_MESA_set_3dfx_mode 1
674    
675     #define GLX_3DFX_WINDOW_MODE_MESA 0x1
676     #define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2
677    
678     typedef GLboolean ( * PFNGLXSET3DFXMODEMESAPROC) (GLint mode);
679    
680     #define glXSet3DfxModeMESA GLXEW_GET_FUN(__glewXSet3DfxModeMESA)
681    
682     #define GLXEW_MESA_set_3dfx_mode GLXEW_GET_VAR(__GLXEW_MESA_set_3dfx_mode)
683    
684     #endif /* GLX_MESA_set_3dfx_mode */
685    
686     /* -------------------------- GLX_NV_float_buffer -------------------------- */
687    
688     #ifndef GLX_NV_float_buffer
689     #define GLX_NV_float_buffer 1
690    
691     #define GLX_FLOAT_COMPONENTS_NV 0x20B0
692    
693     #define GLXEW_NV_float_buffer GLXEW_GET_VAR(__GLXEW_NV_float_buffer)
694    
695     #endif /* GLX_NV_float_buffer */
696    
697     /* -------------------------- GLX_NV_present_video ------------------------- */
698    
699     #ifndef GLX_NV_present_video
700     #define GLX_NV_present_video 1
701    
702     #define GLX_NUM_VIDEO_SLOTS_NV 0x20F0
703    
704     typedef int ( * PFNGLXBINDVIDEODEVICENVPROC) (Display* dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
705     typedef unsigned int* ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements);
706    
707     #define glXBindVideoDeviceNV GLXEW_GET_FUN(__glewXBindVideoDeviceNV)
708     #define glXEnumerateVideoDevicesNV GLXEW_GET_FUN(__glewXEnumerateVideoDevicesNV)
709    
710     #define GLXEW_NV_present_video GLXEW_GET_VAR(__GLXEW_NV_present_video)
711    
712     #endif /* GLX_NV_present_video */
713    
714     /* --------------------------- GLX_NV_swap_group --------------------------- */
715    
716     #ifndef GLX_NV_swap_group
717     #define GLX_NV_swap_group 1
718    
719     typedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display* dpy, GLuint group, GLuint barrier);
720     typedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint group);
721     typedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display* dpy, int screen, GLuint *count);
722     typedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display* dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
723     typedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
724     typedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display* dpy, int screen);
725    
726     #define glXBindSwapBarrierNV GLXEW_GET_FUN(__glewXBindSwapBarrierNV)
727     #define glXJoinSwapGroupNV GLXEW_GET_FUN(__glewXJoinSwapGroupNV)
728     #define glXQueryFrameCountNV GLXEW_GET_FUN(__glewXQueryFrameCountNV)
729     #define glXQueryMaxSwapGroupsNV GLXEW_GET_FUN(__glewXQueryMaxSwapGroupsNV)
730     #define glXQuerySwapGroupNV GLXEW_GET_FUN(__glewXQuerySwapGroupNV)
731     #define glXResetFrameCountNV GLXEW_GET_FUN(__glewXResetFrameCountNV)
732    
733     #define GLXEW_NV_swap_group GLXEW_GET_VAR(__GLXEW_NV_swap_group)
734    
735     #endif /* GLX_NV_swap_group */
736    
737     /* ----------------------- GLX_NV_vertex_array_range ----------------------- */
738    
739     #ifndef GLX_NV_vertex_array_range
740     #define GLX_NV_vertex_array_range 1
741    
742     typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
743     typedef void ( * PFNGLXFREEMEMORYNVPROC) (void *pointer);
744    
745     #define glXAllocateMemoryNV GLXEW_GET_FUN(__glewXAllocateMemoryNV)
746     #define glXFreeMemoryNV GLXEW_GET_FUN(__glewXFreeMemoryNV)
747    
748     #define GLXEW_NV_vertex_array_range GLXEW_GET_VAR(__GLXEW_NV_vertex_array_range)
749    
750     #endif /* GLX_NV_vertex_array_range */
751    
752     /* -------------------------- GLX_NV_video_output -------------------------- */
753    
754     #ifndef GLX_NV_video_output
755     #define GLX_NV_video_output 1
756    
757     #define GLX_VIDEO_OUT_COLOR_NV 0x20C3
758     #define GLX_VIDEO_OUT_ALPHA_NV 0x20C4
759     #define GLX_VIDEO_OUT_DEPTH_NV 0x20C5
760     #define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
761     #define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
762     #define GLX_VIDEO_OUT_FRAME_NV 0x20C8
763     #define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9
764     #define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA
765     #define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB
766     #define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
767    
768     typedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display* dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
769     typedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display* dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
770     typedef int ( * PFNGLXGETVIDEOINFONVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
771     typedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice);
772     typedef int ( * PFNGLXRELEASEVIDEOIMAGENVPROC) (Display* dpy, GLXPbuffer pbuf);
773     typedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display* dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
774    
775     #define glXBindVideoImageNV GLXEW_GET_FUN(__glewXBindVideoImageNV)
776     #define glXGetVideoDeviceNV GLXEW_GET_FUN(__glewXGetVideoDeviceNV)
777     #define glXGetVideoInfoNV GLXEW_GET_FUN(__glewXGetVideoInfoNV)
778     #define glXReleaseVideoDeviceNV GLXEW_GET_FUN(__glewXReleaseVideoDeviceNV)
779     #define glXReleaseVideoImageNV GLXEW_GET_FUN(__glewXReleaseVideoImageNV)
780     #define glXSendPbufferToVideoNV GLXEW_GET_FUN(__glewXSendPbufferToVideoNV)
781    
782     #define GLXEW_NV_video_output GLXEW_GET_VAR(__GLXEW_NV_video_output)
783    
784     #endif /* GLX_NV_video_output */
785    
786     /* -------------------------- GLX_OML_swap_method -------------------------- */
787    
788     #ifndef GLX_OML_swap_method
789     #define GLX_OML_swap_method 1
790    
791     #define GLX_SWAP_METHOD_OML 0x8060
792     #define GLX_SWAP_EXCHANGE_OML 0x8061
793     #define GLX_SWAP_COPY_OML 0x8062
794     #define GLX_SWAP_UNDEFINED_OML 0x8063
795    
796     #define GLXEW_OML_swap_method GLXEW_GET_VAR(__GLXEW_OML_swap_method)
797    
798     #endif /* GLX_OML_swap_method */
799    
800     /* -------------------------- GLX_OML_sync_control ------------------------- */
801    
802     #if !defined(GLX_OML_sync_control) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
803     #include <inttypes.h>
804     #define GLX_OML_sync_control 1
805    
806     typedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display* dpy, GLXDrawable drawable, int32_t* numerator, int32_t* denominator);
807     typedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t* ust, int64_t* msc, int64_t* sbc);
808     typedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
809     typedef Bool ( * PFNGLXWAITFORMSCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t* ust, int64_t* msc, int64_t* sbc);
810     typedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_sbc, int64_t* ust, int64_t* msc, int64_t* sbc);
811    
812     #define glXGetMscRateOML GLXEW_GET_FUN(__glewXGetMscRateOML)
813     #define glXGetSyncValuesOML GLXEW_GET_FUN(__glewXGetSyncValuesOML)
814     #define glXSwapBuffersMscOML GLXEW_GET_FUN(__glewXSwapBuffersMscOML)
815     #define glXWaitForMscOML GLXEW_GET_FUN(__glewXWaitForMscOML)
816     #define glXWaitForSbcOML GLXEW_GET_FUN(__glewXWaitForSbcOML)
817    
818     #define GLXEW_OML_sync_control GLXEW_GET_VAR(__GLXEW_OML_sync_control)
819    
820     #endif /* GLX_OML_sync_control */
821    
822     /* ------------------------ GLX_SGIS_blended_overlay ----------------------- */
823    
824     #ifndef GLX_SGIS_blended_overlay
825     #define GLX_SGIS_blended_overlay 1
826    
827     #define GLX_BLENDED_RGBA_SGIS 0x8025
828    
829     #define GLXEW_SGIS_blended_overlay GLXEW_GET_VAR(__GLXEW_SGIS_blended_overlay)
830    
831     #endif /* GLX_SGIS_blended_overlay */
832    
833     /* -------------------------- GLX_SGIS_color_range ------------------------- */
834    
835     #ifndef GLX_SGIS_color_range
836     #define GLX_SGIS_color_range 1
837    
838     #define GLX_MIN_RED_SGIS 0
839     #define GLX_MAX_GREEN_SGIS 0
840     #define GLX_MIN_BLUE_SGIS 0
841     #define GLX_MAX_ALPHA_SGIS 0
842     #define GLX_MIN_GREEN_SGIS 0
843     #define GLX_MIN_ALPHA_SGIS 0
844     #define GLX_MAX_RED_SGIS 0
845     #define GLX_EXTENDED_RANGE_SGIS 0
846     #define GLX_MAX_BLUE_SGIS 0
847    
848     #define GLXEW_SGIS_color_range GLXEW_GET_VAR(__GLXEW_SGIS_color_range)
849    
850     #endif /* GLX_SGIS_color_range */
851    
852     /* -------------------------- GLX_SGIS_multisample ------------------------- */
853    
854     #ifndef GLX_SGIS_multisample
855     #define GLX_SGIS_multisample 1
856    
857     #define GLX_SAMPLE_BUFFERS_SGIS 100000
858     #define GLX_SAMPLES_SGIS 100001
859    
860     #define GLXEW_SGIS_multisample GLXEW_GET_VAR(__GLXEW_SGIS_multisample)
861    
862     #endif /* GLX_SGIS_multisample */
863    
864     /* ---------------------- GLX_SGIS_shared_multisample ---------------------- */
865    
866     #ifndef GLX_SGIS_shared_multisample
867     #define GLX_SGIS_shared_multisample 1
868    
869     #define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026
870     #define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027
871    
872     #define GLXEW_SGIS_shared_multisample GLXEW_GET_VAR(__GLXEW_SGIS_shared_multisample)
873    
874     #endif /* GLX_SGIS_shared_multisample */
875    
876     /* --------------------------- GLX_SGIX_fbconfig --------------------------- */
877    
878     #ifndef GLX_SGIX_fbconfig
879     #define GLX_SGIX_fbconfig 1
880    
881     #define GLX_WINDOW_BIT_SGIX 0x00000001
882     #define GLX_RGBA_BIT_SGIX 0x00000001
883     #define GLX_PIXMAP_BIT_SGIX 0x00000002
884     #define GLX_COLOR_INDEX_BIT_SGIX 0x00000002
885     #define GLX_SCREEN_EXT 0x800C
886     #define GLX_DRAWABLE_TYPE_SGIX 0x8010
887     #define GLX_RENDER_TYPE_SGIX 0x8011
888     #define GLX_X_RENDERABLE_SGIX 0x8012
889     #define GLX_FBCONFIG_ID_SGIX 0x8013
890     #define GLX_RGBA_TYPE_SGIX 0x8014
891     #define GLX_COLOR_INDEX_TYPE_SGIX 0x8015
892    
893     typedef XID GLXFBConfigIDSGIX;
894     typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
895    
896     typedef GLXFBConfigSGIX* ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
897     typedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
898     typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, Pixmap pixmap);
899     typedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, int attribute, int *value);
900     typedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display* dpy, XVisualInfo *vis);
901     typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfig config);
902    
903     #define glXChooseFBConfigSGIX GLXEW_GET_FUN(__glewXChooseFBConfigSGIX)
904     #define glXCreateContextWithConfigSGIX GLXEW_GET_FUN(__glewXCreateContextWithConfigSGIX)
905     #define glXCreateGLXPixmapWithConfigSGIX GLXEW_GET_FUN(__glewXCreateGLXPixmapWithConfigSGIX)
906     #define glXGetFBConfigAttribSGIX GLXEW_GET_FUN(__glewXGetFBConfigAttribSGIX)
907     #define glXGetFBConfigFromVisualSGIX GLXEW_GET_FUN(__glewXGetFBConfigFromVisualSGIX)
908     #define glXGetVisualFromFBConfigSGIX GLXEW_GET_FUN(__glewXGetVisualFromFBConfigSGIX)
909    
910     #define GLXEW_SGIX_fbconfig GLXEW_GET_VAR(__GLXEW_SGIX_fbconfig)
911    
912     #endif /* GLX_SGIX_fbconfig */
913    
914     /* --------------------------- GLX_SGIX_hyperpipe -------------------------- */
915    
916     #ifndef GLX_SGIX_hyperpipe
917     #define GLX_SGIX_hyperpipe 1
918    
919     #define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001
920     #define GLX_PIPE_RECT_SGIX 0x00000001
921     #define GLX_PIPE_RECT_LIMITS_SGIX 0x00000002
922     #define GLX_HYPERPIPE_RENDER_PIPE_SGIX 0x00000002
923     #define GLX_HYPERPIPE_STEREO_SGIX 0x00000003
924     #define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX 0x00000004
925     #define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
926     #define GLX_BAD_HYPERPIPE_CONFIG_SGIX 91
927     #define GLX_BAD_HYPERPIPE_SGIX 92
928     #define GLX_HYPERPIPE_ID_SGIX 0x8030
929    
930     typedef struct {
931     char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
932     int networkId;
933     } GLXHyperpipeNetworkSGIX;
934     typedef struct {
935     char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
936     int XOrigin;
937     int YOrigin;
938     int maxHeight;
939     int maxWidth;
940     } GLXPipeRectLimits;
941     typedef struct {
942     char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
943     int channel;
944     unsigned int participationType;
945     int timeSlice;
946     } GLXHyperpipeConfigSGIX;
947     typedef struct {
948     char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
949     int srcXOrigin;
950     int srcYOrigin;
951     int srcWidth;
952     int srcHeight;
953     int destXOrigin;
954     int destYOrigin;
955     int destWidth;
956     int destHeight;
957     } GLXPipeRect;
958    
959     typedef int ( * PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId);
960     typedef int ( * PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId);
961     typedef int ( * PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList);
962     typedef int ( * PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId);
963     typedef int ( * PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList);
964     typedef int ( * PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList);
965     typedef GLXHyperpipeConfigSGIX * ( * PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes);
966     typedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display *dpy, int *npipes);
967    
968     #define glXBindHyperpipeSGIX GLXEW_GET_FUN(__glewXBindHyperpipeSGIX)
969     #define glXDestroyHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXDestroyHyperpipeConfigSGIX)
970     #define glXHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXHyperpipeAttribSGIX)
971     #define glXHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXHyperpipeConfigSGIX)
972     #define glXQueryHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeAttribSGIX)
973     #define glXQueryHyperpipeBestAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeBestAttribSGIX)
974     #define glXQueryHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeConfigSGIX)
975     #define glXQueryHyperpipeNetworkSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeNetworkSGIX)
976    
977     #define GLXEW_SGIX_hyperpipe GLXEW_GET_VAR(__GLXEW_SGIX_hyperpipe)
978    
979     #endif /* GLX_SGIX_hyperpipe */
980    
981     /* ---------------------------- GLX_SGIX_pbuffer --------------------------- */
982    
983     #ifndef GLX_SGIX_pbuffer
984     #define GLX_SGIX_pbuffer 1
985    
986     #define GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x00000001
987     #define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x00000002
988     #define GLX_PBUFFER_BIT_SGIX 0x00000004
989     #define GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x00000004
990     #define GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x00000008
991     #define GLX_AUX_BUFFERS_BIT_SGIX 0x00000010
992     #define GLX_DEPTH_BUFFER_BIT_SGIX 0x00000020
993     #define GLX_STENCIL_BUFFER_BIT_SGIX 0x00000040
994     #define GLX_ACCUM_BUFFER_BIT_SGIX 0x00000080
995     #define GLX_SAMPLE_BUFFERS_BIT_SGIX 0x00000100
996     #define GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016
997     #define GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017
998     #define GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018
999     #define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019
1000     #define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A
1001     #define GLX_PRESERVED_CONTENTS_SGIX 0x801B
1002     #define GLX_LARGEST_PBUFFER_SGIX 0x801C
1003     #define GLX_WIDTH_SGIX 0x801D
1004     #define GLX_HEIGHT_SGIX 0x801E
1005     #define GLX_EVENT_MASK_SGIX 0x801F
1006     #define GLX_DAMAGED_SGIX 0x8020
1007     #define GLX_SAVED_SGIX 0x8021
1008     #define GLX_WINDOW_SGIX 0x8022
1009     #define GLX_PBUFFER_SGIX 0x8023
1010     #define GLX_BUFFER_CLOBBER_MASK_SGIX 0x08000000
1011    
1012     typedef XID GLXPbufferSGIX;
1013     typedef struct { int type; unsigned long serial; Bool send_event; Display *display; GLXDrawable drawable; int event_type; int draw_type; unsigned int mask; int x, y; int width, height; int count; } GLXBufferClobberEventSGIX;
1014    
1015     typedef GLXPbuffer ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display* dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list);
1016     typedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf);
1017     typedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long *mask);
1018     typedef void ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf, int attribute, unsigned int *value);
1019     typedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long mask);
1020    
1021     #define glXCreateGLXPbufferSGIX GLXEW_GET_FUN(__glewXCreateGLXPbufferSGIX)
1022     #define glXDestroyGLXPbufferSGIX GLXEW_GET_FUN(__glewXDestroyGLXPbufferSGIX)
1023     #define glXGetSelectedEventSGIX GLXEW_GET_FUN(__glewXGetSelectedEventSGIX)
1024     #define glXQueryGLXPbufferSGIX GLXEW_GET_FUN(__glewXQueryGLXPbufferSGIX)
1025     #define glXSelectEventSGIX GLXEW_GET_FUN(__glewXSelectEventSGIX)
1026    
1027     #define GLXEW_SGIX_pbuffer GLXEW_GET_VAR(__GLXEW_SGIX_pbuffer)
1028    
1029     #endif /* GLX_SGIX_pbuffer */
1030    
1031     /* ------------------------- GLX_SGIX_swap_barrier ------------------------- */
1032    
1033     #ifndef GLX_SGIX_swap_barrier
1034     #define GLX_SGIX_swap_barrier 1
1035    
1036     typedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier);
1037     typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max);
1038    
1039     #define glXBindSwapBarrierSGIX GLXEW_GET_FUN(__glewXBindSwapBarrierSGIX)
1040     #define glXQueryMaxSwapBarriersSGIX GLXEW_GET_FUN(__glewXQueryMaxSwapBarriersSGIX)
1041    
1042     #define GLXEW_SGIX_swap_barrier GLXEW_GET_VAR(__GLXEW_SGIX_swap_barrier)
1043    
1044     #endif /* GLX_SGIX_swap_barrier */
1045    
1046     /* -------------------------- GLX_SGIX_swap_group -------------------------- */
1047    
1048     #ifndef GLX_SGIX_swap_group
1049     #define GLX_SGIX_swap_group 1
1050    
1051     typedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member);
1052    
1053     #define glXJoinSwapGroupSGIX GLXEW_GET_FUN(__glewXJoinSwapGroupSGIX)
1054    
1055     #define GLXEW_SGIX_swap_group GLXEW_GET_VAR(__GLXEW_SGIX_swap_group)
1056    
1057     #endif /* GLX_SGIX_swap_group */
1058    
1059     /* ------------------------- GLX_SGIX_video_resize ------------------------- */
1060    
1061     #ifndef GLX_SGIX_video_resize
1062     #define GLX_SGIX_video_resize 1
1063    
1064     #define GLX_SYNC_FRAME_SGIX 0x00000000
1065     #define GLX_SYNC_SWAP_SGIX 0x00000001
1066    
1067     typedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display* display, int screen, int channel, Window window);
1068     typedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int x, int y, int w, int h);
1069     typedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display* display, int screen, int channel, GLenum synctype);
1070     typedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display* display, int screen, int channel, int *x, int *y, int *w, int *h);
1071     typedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
1072    
1073     #define glXBindChannelToWindowSGIX GLXEW_GET_FUN(__glewXBindChannelToWindowSGIX)
1074     #define glXChannelRectSGIX GLXEW_GET_FUN(__glewXChannelRectSGIX)
1075     #define glXChannelRectSyncSGIX GLXEW_GET_FUN(__glewXChannelRectSyncSGIX)
1076     #define glXQueryChannelDeltasSGIX GLXEW_GET_FUN(__glewXQueryChannelDeltasSGIX)
1077     #define glXQueryChannelRectSGIX GLXEW_GET_FUN(__glewXQueryChannelRectSGIX)
1078    
1079     #define GLXEW_SGIX_video_resize GLXEW_GET_VAR(__GLXEW_SGIX_video_resize)
1080    
1081     #endif /* GLX_SGIX_video_resize */
1082    
1083     /* ---------------------- GLX_SGIX_visual_select_group --------------------- */
1084    
1085     #ifndef GLX_SGIX_visual_select_group
1086     #define GLX_SGIX_visual_select_group 1
1087    
1088     #define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028
1089    
1090     #define GLXEW_SGIX_visual_select_group GLXEW_GET_VAR(__GLXEW_SGIX_visual_select_group)
1091    
1092     #endif /* GLX_SGIX_visual_select_group */
1093    
1094     /* ---------------------------- GLX_SGI_cushion ---------------------------- */
1095    
1096     #ifndef GLX_SGI_cushion
1097     #define GLX_SGI_cushion 1
1098    
1099     typedef void ( * PFNGLXCUSHIONSGIPROC) (Display* dpy, Window window, float cushion);
1100    
1101     #define glXCushionSGI GLXEW_GET_FUN(__glewXCushionSGI)
1102    
1103     #define GLXEW_SGI_cushion GLXEW_GET_VAR(__GLXEW_SGI_cushion)
1104    
1105     #endif /* GLX_SGI_cushion */
1106    
1107     /* ----------------------- GLX_SGI_make_current_read ----------------------- */
1108    
1109     #ifndef GLX_SGI_make_current_read
1110     #define GLX_SGI_make_current_read 1
1111    
1112     typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void);
1113     typedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display* dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
1114    
1115     #define glXGetCurrentReadDrawableSGI GLXEW_GET_FUN(__glewXGetCurrentReadDrawableSGI)
1116     #define glXMakeCurrentReadSGI GLXEW_GET_FUN(__glewXMakeCurrentReadSGI)
1117    
1118     #define GLXEW_SGI_make_current_read GLXEW_GET_VAR(__GLXEW_SGI_make_current_read)
1119    
1120     #endif /* GLX_SGI_make_current_read */
1121    
1122     /* -------------------------- GLX_SGI_swap_control ------------------------- */
1123    
1124     #ifndef GLX_SGI_swap_control
1125     #define GLX_SGI_swap_control 1
1126    
1127     typedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval);
1128    
1129     #define glXSwapIntervalSGI GLXEW_GET_FUN(__glewXSwapIntervalSGI)
1130    
1131     #define GLXEW_SGI_swap_control GLXEW_GET_VAR(__GLXEW_SGI_swap_control)
1132    
1133     #endif /* GLX_SGI_swap_control */
1134    
1135     /* --------------------------- GLX_SGI_video_sync -------------------------- */
1136    
1137     #ifndef GLX_SGI_video_sync
1138     #define GLX_SGI_video_sync 1
1139    
1140     typedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (uint* count);
1141     typedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int* count);
1142    
1143     #define glXGetVideoSyncSGI GLXEW_GET_FUN(__glewXGetVideoSyncSGI)
1144     #define glXWaitVideoSyncSGI GLXEW_GET_FUN(__glewXWaitVideoSyncSGI)
1145    
1146     #define GLXEW_SGI_video_sync GLXEW_GET_VAR(__GLXEW_SGI_video_sync)
1147    
1148     #endif /* GLX_SGI_video_sync */
1149    
1150     /* --------------------- GLX_SUN_get_transparent_index --------------------- */
1151    
1152     #ifndef GLX_SUN_get_transparent_index
1153     #define GLX_SUN_get_transparent_index 1
1154    
1155     typedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display* dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex);
1156    
1157     #define glXGetTransparentIndexSUN GLXEW_GET_FUN(__glewXGetTransparentIndexSUN)
1158    
1159     #define GLXEW_SUN_get_transparent_index GLXEW_GET_VAR(__GLXEW_SUN_get_transparent_index)
1160    
1161     #endif /* GLX_SUN_get_transparent_index */
1162    
1163     /* -------------------------- GLX_SUN_video_resize ------------------------- */
1164    
1165     #ifndef GLX_SUN_video_resize
1166     #define GLX_SUN_video_resize 1
1167    
1168     #define GLX_VIDEO_RESIZE_SUN 0x8171
1169     #define GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85CD
1170    
1171     typedef int ( * PFNGLXGETVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float* factor);
1172     typedef int ( * PFNGLXVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float factor);
1173    
1174     #define glXGetVideoResizeSUN GLXEW_GET_FUN(__glewXGetVideoResizeSUN)
1175     #define glXVideoResizeSUN GLXEW_GET_FUN(__glewXVideoResizeSUN)
1176    
1177     #define GLXEW_SUN_video_resize GLXEW_GET_VAR(__GLXEW_SUN_video_resize)
1178    
1179     #endif /* GLX_SUN_video_resize */
1180    
1181     /* ------------------------------------------------------------------------- */
1182    
1183     #ifdef GLEW_MX
1184     #define GLXEW_EXPORT
1185     #else
1186     #define GLXEW_EXPORT extern
1187     #endif /* GLEW_MX */
1188    
1189     extern PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay;
1190    
1191     extern PFNGLXCHOOSEFBCONFIGPROC __glewXChooseFBConfig;
1192     extern PFNGLXCREATENEWCONTEXTPROC __glewXCreateNewContext;
1193     extern PFNGLXCREATEPBUFFERPROC __glewXCreatePbuffer;
1194     extern PFNGLXCREATEPIXMAPPROC __glewXCreatePixmap;
1195     extern PFNGLXCREATEWINDOWPROC __glewXCreateWindow;
1196     extern PFNGLXDESTROYPBUFFERPROC __glewXDestroyPbuffer;
1197     extern PFNGLXDESTROYPIXMAPPROC __glewXDestroyPixmap;
1198     extern PFNGLXDESTROYWINDOWPROC __glewXDestroyWindow;
1199     extern PFNGLXGETCURRENTREADDRAWABLEPROC __glewXGetCurrentReadDrawable;
1200     extern PFNGLXGETFBCONFIGATTRIBPROC __glewXGetFBConfigAttrib;
1201     extern PFNGLXGETFBCONFIGSPROC __glewXGetFBConfigs;
1202     extern PFNGLXGETSELECTEDEVENTPROC __glewXGetSelectedEvent;
1203     extern PFNGLXGETVISUALFROMFBCONFIGPROC __glewXGetVisualFromFBConfig;
1204     extern PFNGLXMAKECONTEXTCURRENTPROC __glewXMakeContextCurrent;
1205     extern PFNGLXQUERYCONTEXTPROC __glewXQueryContext;
1206     extern PFNGLXQUERYDRAWABLEPROC __glewXQueryDrawable;
1207     extern PFNGLXSELECTEVENTPROC __glewXSelectEvent;
1208    
1209     extern PFNGLXCREATECONTEXTATTRIBSARBPROC __glewXCreateContextAttribsARB;
1210    
1211     extern PFNGLXBINDTEXIMAGEATIPROC __glewXBindTexImageATI;
1212     extern PFNGLXDRAWABLEATTRIBATIPROC __glewXDrawableAttribATI;
1213     extern PFNGLXRELEASETEXIMAGEATIPROC __glewXReleaseTexImageATI;
1214    
1215     extern PFNGLXFREECONTEXTEXTPROC __glewXFreeContextEXT;
1216     extern PFNGLXGETCONTEXTIDEXTPROC __glewXGetContextIDEXT;
1217     extern PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT;
1218     extern PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT;
1219    
1220     extern PFNGLXBINDTEXIMAGEEXTPROC __glewXBindTexImageEXT;
1221     extern PFNGLXRELEASETEXIMAGEEXTPROC __glewXReleaseTexImageEXT;
1222    
1223     extern PFNGLXGETAGPOFFSETMESAPROC __glewXGetAGPOffsetMESA;
1224    
1225     extern PFNGLXCOPYSUBBUFFERMESAPROC __glewXCopySubBufferMESA;
1226    
1227     extern PFNGLXCREATEGLXPIXMAPMESAPROC __glewXCreateGLXPixmapMESA;
1228    
1229     extern PFNGLXRELEASEBUFFERSMESAPROC __glewXReleaseBuffersMESA;
1230    
1231     extern PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA;
1232    
1233     extern PFNGLXBINDVIDEODEVICENVPROC __glewXBindVideoDeviceNV;
1234     extern PFNGLXENUMERATEVIDEODEVICESNVPROC __glewXEnumerateVideoDevicesNV;
1235    
1236     extern PFNGLXBINDSWAPBARRIERNVPROC __glewXBindSwapBarrierNV;
1237     extern PFNGLXJOINSWAPGROUPNVPROC __glewXJoinSwapGroupNV;
1238     extern PFNGLXQUERYFRAMECOUNTNVPROC __glewXQueryFrameCountNV;
1239     extern PFNGLXQUERYMAXSWAPGROUPSNVPROC __glewXQueryMaxSwapGroupsNV;
1240     extern PFNGLXQUERYSWAPGROUPNVPROC __glewXQuerySwapGroupNV;
1241     extern PFNGLXRESETFRAMECOUNTNVPROC __glewXResetFrameCountNV;
1242    
1243     extern PFNGLXALLOCATEMEMORYNVPROC __glewXAllocateMemoryNV;
1244     extern PFNGLXFREEMEMORYNVPROC __glewXFreeMemoryNV;
1245    
1246     extern PFNGLXBINDVIDEOIMAGENVPROC __glewXBindVideoImageNV;
1247     extern PFNGLXGETVIDEODEVICENVPROC __glewXGetVideoDeviceNV;
1248     extern PFNGLXGETVIDEOINFONVPROC __glewXGetVideoInfoNV;
1249     extern PFNGLXRELEASEVIDEODEVICENVPROC __glewXReleaseVideoDeviceNV;
1250     extern PFNGLXRELEASEVIDEOIMAGENVPROC __glewXReleaseVideoImageNV;
1251     extern PFNGLXSENDPBUFFERTOVIDEONVPROC __glewXSendPbufferToVideoNV;
1252    
1253     #ifdef GLX_OML_sync_control
1254     extern PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML;
1255     extern PFNGLXGETSYNCVALUESOMLPROC __glewXGetSyncValuesOML;
1256     extern PFNGLXSWAPBUFFERSMSCOMLPROC __glewXSwapBuffersMscOML;
1257     extern PFNGLXWAITFORMSCOMLPROC __glewXWaitForMscOML;
1258     extern PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML;
1259     #endif
1260    
1261     extern PFNGLXCHOOSEFBCONFIGSGIXPROC __glewXChooseFBConfigSGIX;
1262     extern PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC __glewXCreateContextWithConfigSGIX;
1263     extern PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC __glewXCreateGLXPixmapWithConfigSGIX;
1264     extern PFNGLXGETFBCONFIGATTRIBSGIXPROC __glewXGetFBConfigAttribSGIX;
1265     extern PFNGLXGETFBCONFIGFROMVISUALSGIXPROC __glewXGetFBConfigFromVisualSGIX;
1266     extern PFNGLXGETVISUALFROMFBCONFIGSGIXPROC __glewXGetVisualFromFBConfigSGIX;
1267    
1268     extern PFNGLXBINDHYPERPIPESGIXPROC __glewXBindHyperpipeSGIX;
1269     extern PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC __glewXDestroyHyperpipeConfigSGIX;
1270     extern PFNGLXHYPERPIPEATTRIBSGIXPROC __glewXHyperpipeAttribSGIX;
1271     extern PFNGLXHYPERPIPECONFIGSGIXPROC __glewXHyperpipeConfigSGIX;
1272     extern PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC __glewXQueryHyperpipeAttribSGIX;
1273     extern PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC __glewXQueryHyperpipeBestAttribSGIX;
1274     extern PFNGLXQUERYHYPERPIPECONFIGSGIXPROC __glewXQueryHyperpipeConfigSGIX;
1275     extern PFNGLXQUERYHYPERPIPENETWORKSGIXPROC __glewXQueryHyperpipeNetworkSGIX;
1276    
1277     extern PFNGLXCREATEGLXPBUFFERSGIXPROC __glewXCreateGLXPbufferSGIX;
1278     extern PFNGLXDESTROYGLXPBUFFERSGIXPROC __glewXDestroyGLXPbufferSGIX;
1279     extern PFNGLXGETSELECTEDEVENTSGIXPROC __glewXGetSelectedEventSGIX;
1280     extern PFNGLXQUERYGLXPBUFFERSGIXPROC __glewXQueryGLXPbufferSGIX;
1281     extern PFNGLXSELECTEVENTSGIXPROC __glewXSelectEventSGIX;
1282    
1283     extern PFNGLXBINDSWAPBARRIERSGIXPROC __glewXBindSwapBarrierSGIX;
1284     extern PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC __glewXQueryMaxSwapBarriersSGIX;
1285    
1286     extern PFNGLXJOINSWAPGROUPSGIXPROC __glewXJoinSwapGroupSGIX;
1287    
1288     extern PFNGLXBINDCHANNELTOWINDOWSGIXPROC __glewXBindChannelToWindowSGIX;
1289     extern PFNGLXCHANNELRECTSGIXPROC __glewXChannelRectSGIX;
1290     extern PFNGLXCHANNELRECTSYNCSGIXPROC __glewXChannelRectSyncSGIX;
1291     extern PFNGLXQUERYCHANNELDELTASSGIXPROC __glewXQueryChannelDeltasSGIX;
1292     extern PFNGLXQUERYCHANNELRECTSGIXPROC __glewXQueryChannelRectSGIX;
1293    
1294     extern PFNGLXCUSHIONSGIPROC __glewXCushionSGI;
1295    
1296     extern PFNGLXGETCURRENTREADDRAWABLESGIPROC __glewXGetCurrentReadDrawableSGI;
1297     extern PFNGLXMAKECURRENTREADSGIPROC __glewXMakeCurrentReadSGI;
1298    
1299     extern PFNGLXSWAPINTERVALSGIPROC __glewXSwapIntervalSGI;
1300    
1301     extern PFNGLXGETVIDEOSYNCSGIPROC __glewXGetVideoSyncSGI;
1302     extern PFNGLXWAITVIDEOSYNCSGIPROC __glewXWaitVideoSyncSGI;
1303    
1304     extern PFNGLXGETTRANSPARENTINDEXSUNPROC __glewXGetTransparentIndexSUN;
1305    
1306     extern PFNGLXGETVIDEORESIZESUNPROC __glewXGetVideoResizeSUN;
1307     extern PFNGLXVIDEORESIZESUNPROC __glewXVideoResizeSUN;
1308    
1309     #if defined(GLEW_MX)
1310     struct GLXEWContextStruct
1311     {
1312     #endif /* GLEW_MX */
1313    
1314     GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_0;
1315     GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_1;
1316     GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_2;
1317     GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_3;
1318     GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_4;
1319     GLXEW_EXPORT GLboolean __GLXEW_3DFX_multisample;
1320     GLXEW_EXPORT GLboolean __GLXEW_ARB_create_context;
1321     GLXEW_EXPORT GLboolean __GLXEW_ARB_fbconfig_float;
1322     GLXEW_EXPORT GLboolean __GLXEW_ARB_framebuffer_sRGB;
1323     GLXEW_EXPORT GLboolean __GLXEW_ARB_get_proc_address;
1324     GLXEW_EXPORT GLboolean __GLXEW_ARB_multisample;
1325     GLXEW_EXPORT GLboolean __GLXEW_ATI_pixel_format_float;
1326     GLXEW_EXPORT GLboolean __GLXEW_ATI_render_texture;
1327     GLXEW_EXPORT GLboolean __GLXEW_EXT_fbconfig_packed_float;
1328     GLXEW_EXPORT GLboolean __GLXEW_EXT_framebuffer_sRGB;
1329     GLXEW_EXPORT GLboolean __GLXEW_EXT_import_context;
1330     GLXEW_EXPORT GLboolean __GLXEW_EXT_scene_marker;
1331     GLXEW_EXPORT GLboolean __GLXEW_EXT_texture_from_pixmap;
1332     GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_info;
1333     GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_rating;
1334     GLXEW_EXPORT GLboolean __GLXEW_MESA_agp_offset;
1335     GLXEW_EXPORT GLboolean __GLXEW_MESA_copy_sub_buffer;
1336     GLXEW_EXPORT GLboolean __GLXEW_MESA_pixmap_colormap;
1337     GLXEW_EXPORT GLboolean __GLXEW_MESA_release_buffers;
1338     GLXEW_EXPORT GLboolean __GLXEW_MESA_set_3dfx_mode;
1339     GLXEW_EXPORT GLboolean __GLXEW_NV_float_buffer;
1340     GLXEW_EXPORT GLboolean __GLXEW_NV_present_video;
1341     GLXEW_EXPORT GLboolean __GLXEW_NV_swap_group;
1342     GLXEW_EXPORT GLboolean __GLXEW_NV_vertex_array_range;
1343     GLXEW_EXPORT GLboolean __GLXEW_NV_video_output;
1344     GLXEW_EXPORT GLboolean __GLXEW_OML_swap_method;
1345     GLXEW_EXPORT GLboolean __GLXEW_OML_sync_control;
1346     GLXEW_EXPORT GLboolean __GLXEW_SGIS_blended_overlay;
1347     GLXEW_EXPORT GLboolean __GLXEW_SGIS_color_range;
1348     GLXEW_EXPORT GLboolean __GLXEW_SGIS_multisample;
1349     GLXEW_EXPORT GLboolean __GLXEW_SGIS_shared_multisample;
1350     GLXEW_EXPORT GLboolean __GLXEW_SGIX_fbconfig;
1351     GLXEW_EXPORT GLboolean __GLXEW_SGIX_hyperpipe;
1352     GLXEW_EXPORT GLboolean __GLXEW_SGIX_pbuffer;
1353     GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_barrier;
1354     GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_group;
1355     GLXEW_EXPORT GLboolean __GLXEW_SGIX_video_resize;
1356     GLXEW_EXPORT GLboolean __GLXEW_SGIX_visual_select_group;
1357     GLXEW_EXPORT GLboolean __GLXEW_SGI_cushion;
1358     GLXEW_EXPORT GLboolean __GLXEW_SGI_make_current_read;
1359     GLXEW_EXPORT GLboolean __GLXEW_SGI_swap_control;
1360     GLXEW_EXPORT GLboolean __GLXEW_SGI_video_sync;
1361     GLXEW_EXPORT GLboolean __GLXEW_SUN_get_transparent_index;
1362     GLXEW_EXPORT GLboolean __GLXEW_SUN_video_resize;
1363    
1364     #ifdef GLEW_MX
1365     }; /* GLXEWContextStruct */
1366     #endif /* GLEW_MX */
1367    
1368     /* ------------------------------------------------------------------------ */
1369    
1370     #ifdef GLEW_MX
1371    
1372     typedef struct GLXEWContextStruct GLXEWContext;
1373     extern GLenum glxewContextInit (GLXEWContext* ctx);
1374     extern GLboolean glxewContextIsSupported (GLXEWContext* ctx, const char* name);
1375    
1376     #define glxewInit() glxewContextInit(glxewGetContext())
1377     #define glxewIsSupported(x) glxewContextIsSupported(glxewGetContext(), x)
1378    
1379     #define GLXEW_GET_VAR(x) (*(const GLboolean*)&(glxewGetContext()->x))
1380     #define GLXEW_GET_FUN(x) x
1381    
1382     #else /* GLEW_MX */
1383    
1384     #define GLXEW_GET_VAR(x) (*(const GLboolean*)&x)
1385     #define GLXEW_GET_FUN(x) x
1386    
1387     extern GLboolean glxewIsSupported (const char* name);
1388    
1389     #endif /* GLEW_MX */
1390    
1391     extern GLboolean glxewGetExtension (const char* name);
1392    
1393     #ifdef __cplusplus
1394     }
1395     #endif
1396    
1397     #endif /* __glxew_h__ */

  ViewVC Help
Powered by ViewVC 1.1.22