• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
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__ */
1398