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 extern Bool glXQueryExtension (Display *dpy, int *errorBase, int *eventBase);
142 extern Bool glXQueryVersion (Display *dpy, int *major, int *minor);
143 extern int glXGetConfig (Display *dpy, XVisualInfo *vis, int attrib, int *value);
144 extern XVisualInfo* glXChooseVisual (Display *dpy, int screen, int *attribList);
145 extern GLXPixmap glXCreateGLXPixmap (Display *dpy, XVisualInfo *vis, Pixmap pixmap);
146 extern void glXDestroyGLXPixmap (Display *dpy, GLXPixmap pix);
147 extern GLXContext glXCreateContext (Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);
148 extern void glXDestroyContext (Display *dpy, GLXContext ctx);
149 extern Bool glXIsDirect (Display *dpy, GLXContext ctx);
150 extern void glXCopyContext (Display *dpy, GLXContext src, GLXContext dst, GLulong mask);
151 extern Bool glXMakeCurrent (Display *dpy, GLXDrawable drawable, GLXContext ctx);
152 extern GLXContext glXGetCurrentContext (void);
153 extern GLXDrawable glXGetCurrentDrawable (void);
154 extern void glXWaitGL (void);
155 extern void glXWaitX (void);
156 extern void glXSwapBuffers (Display *dpy, GLXDrawable drawable);
157 extern void glXUseXFont (Font font, int first, int count, int listBase);
158 
159 #define GLXEW_VERSION_1_0 GLXEW_GET_VAR(__GLXEW_VERSION_1_0)
160 
161 #endif /* GLX_VERSION_1_0 */
162 
163 /* ---------------------------- GLX_VERSION_1_1 --------------------------- */
164 
165 #ifndef GLX_VERSION_1_1
166 #define GLX_VERSION_1_1
167 
168 #define GLX_VENDOR 0x1
169 #define GLX_VERSION 0x2
170 #define GLX_EXTENSIONS 0x3
171 
172 extern const char* glXQueryExtensionsString (Display *dpy, int screen);
173 extern const char* glXGetClientString (Display *dpy, int name);
174 extern const char* glXQueryServerString (Display *dpy, int screen, int name);
175 
176 #define GLXEW_VERSION_1_1 GLXEW_GET_VAR(__GLXEW_VERSION_1_1)
177 
178 #endif /* GLX_VERSION_1_1 */
179 
180 /* ---------------------------- GLX_VERSION_1_2 ---------------------------- */
181 
182 #ifndef GLX_VERSION_1_2
183 #define GLX_VERSION_1_2 1
184 
185 typedef Display* ( * PFNGLXGETCURRENTDISPLAYPROC) (void);
186 
187 #define glXGetCurrentDisplay GLXEW_GET_FUN(__glewXGetCurrentDisplay)
188 
189 #define GLXEW_VERSION_1_2 GLXEW_GET_VAR(__GLXEW_VERSION_1_2)
190 
191 #endif /* GLX_VERSION_1_2 */
192 
193 /* ---------------------------- GLX_VERSION_1_3 ---------------------------- */
194 
195 #ifndef GLX_VERSION_1_3
196 #define GLX_VERSION_1_3 1
197 
198 #define GLX_RGBA_BIT 0x00000001
199 #define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001
200 #define GLX_WINDOW_BIT 0x00000001
201 #define GLX_COLOR_INDEX_BIT 0x00000002
202 #define GLX_PIXMAP_BIT 0x00000002
203 #define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002
204 #define GLX_BACK_LEFT_BUFFER_BIT 0x00000004
205 #define GLX_PBUFFER_BIT 0x00000004
206 #define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
207 #define GLX_AUX_BUFFERS_BIT 0x00000010
208 #define GLX_CONFIG_CAVEAT 0x20
209 #define GLX_DEPTH_BUFFER_BIT 0x00000020
210 #define GLX_X_VISUAL_TYPE 0x22
211 #define GLX_TRANSPARENT_TYPE 0x23
212 #define GLX_TRANSPARENT_INDEX_VALUE 0x24
213 #define GLX_TRANSPARENT_RED_VALUE 0x25
214 #define GLX_TRANSPARENT_GREEN_VALUE 0x26
215 #define GLX_TRANSPARENT_BLUE_VALUE 0x27
216 #define GLX_TRANSPARENT_ALPHA_VALUE 0x28
217 #define GLX_STENCIL_BUFFER_BIT 0x00000040
218 #define GLX_ACCUM_BUFFER_BIT 0x00000080
219 #define GLX_NONE 0x8000
220 #define GLX_SLOW_CONFIG 0x8001
221 #define GLX_TRUE_COLOR 0x8002
222 #define GLX_DIRECT_COLOR 0x8003
223 #define GLX_PSEUDO_COLOR 0x8004
224 #define GLX_STATIC_COLOR 0x8005
225 #define GLX_GRAY_SCALE 0x8006
226 #define GLX_STATIC_GRAY 0x8007
227 #define GLX_TRANSPARENT_RGB 0x8008
228 #define GLX_TRANSPARENT_INDEX 0x8009
229 #define GLX_VISUAL_ID 0x800B
230 #define GLX_SCREEN 0x800C
231 #define GLX_NON_CONFORMANT_CONFIG 0x800D
232 #define GLX_DRAWABLE_TYPE 0x8010
233 #define GLX_RENDER_TYPE 0x8011
234 #define GLX_X_RENDERABLE 0x8012
235 #define GLX_FBCONFIG_ID 0x8013
236 #define GLX_RGBA_TYPE 0x8014
237 #define GLX_COLOR_INDEX_TYPE 0x8015
238 #define GLX_MAX_PBUFFER_WIDTH 0x8016
239 #define GLX_MAX_PBUFFER_HEIGHT 0x8017
240 #define GLX_MAX_PBUFFER_PIXELS 0x8018
241 #define GLX_PRESERVED_CONTENTS 0x801B
242 #define GLX_LARGEST_PBUFFER 0x801C
243 #define GLX_WIDTH 0x801D
244 #define GLX_HEIGHT 0x801E
245 #define GLX_EVENT_MASK 0x801F
246 #define GLX_DAMAGED 0x8020
247 #define GLX_SAVED 0x8021
248 #define GLX_WINDOW 0x8022
249 #define GLX_PBUFFER 0x8023
250 #define GLX_PBUFFER_HEIGHT 0x8040
251 #define GLX_PBUFFER_WIDTH 0x8041
252 #define GLX_PBUFFER_CLOBBER_MASK 0x08000000
253 #define GLX_DONT_CARE 0xFFFFFFFF
254 
255 typedef XID GLXFBConfigID;
256 typedef XID GLXWindow;
257 typedef XID GLXPbuffer;
258 typedef struct __GLXFBConfigRec *GLXFBConfig;
259 
260 typedef struct {
261   int event_type;
262   int draw_type;
263   unsigned long serial;
264   Bool send_event;
265   Display *display;
266   GLXDrawable drawable;
267   unsigned int buffer_mask;
268   unsigned int aux_buffer;
269   int x, y;
270   int width, height;
271   int count;
272 } GLXPbufferClobberEvent;
273 typedef union __GLXEvent {
274   GLXPbufferClobberEvent glxpbufferclobber;
275   long pad[24];
276 } GLXEvent;
277 
278 typedef GLXFBConfig* ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
279 typedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
280 typedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
281 typedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
282 typedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
283 typedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
284 typedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
285 typedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
286 typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
287 typedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
288 typedef GLXFBConfig* ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
289 typedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
290 typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
291 typedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
292 typedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
293 typedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
294 typedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask);
295 
296 #define glXChooseFBConfig GLXEW_GET_FUN(__glewXChooseFBConfig)
297 #define glXCreateNewContext GLXEW_GET_FUN(__glewXCreateNewContext)
298 #define glXCreatePbuffer GLXEW_GET_FUN(__glewXCreatePbuffer)
299 #define glXCreatePixmap GLXEW_GET_FUN(__glewXCreatePixmap)
300 #define glXCreateWindow GLXEW_GET_FUN(__glewXCreateWindow)
301 #define glXDestroyPbuffer GLXEW_GET_FUN(__glewXDestroyPbuffer)
302 #define glXDestroyPixmap GLXEW_GET_FUN(__glewXDestroyPixmap)
303 #define glXDestroyWindow GLXEW_GET_FUN(__glewXDestroyWindow)
304 #define glXGetCurrentReadDrawable GLXEW_GET_FUN(__glewXGetCurrentReadDrawable)
305 #define glXGetFBConfigAttrib GLXEW_GET_FUN(__glewXGetFBConfigAttrib)
306 #define glXGetFBConfigs GLXEW_GET_FUN(__glewXGetFBConfigs)
307 #define glXGetSelectedEvent GLXEW_GET_FUN(__glewXGetSelectedEvent)
308 #define glXGetVisualFromFBConfig GLXEW_GET_FUN(__glewXGetVisualFromFBConfig)
309 #define glXMakeContextCurrent GLXEW_GET_FUN(__glewXMakeContextCurrent)
310 #define glXQueryContext GLXEW_GET_FUN(__glewXQueryContext)
311 #define glXQueryDrawable GLXEW_GET_FUN(__glewXQueryDrawable)
312 #define glXSelectEvent GLXEW_GET_FUN(__glewXSelectEvent)
313 
314 #define GLXEW_VERSION_1_3 GLXEW_GET_VAR(__GLXEW_VERSION_1_3)
315 
316 #endif /* GLX_VERSION_1_3 */
317 
318 /* ---------------------------- GLX_VERSION_1_4 ---------------------------- */
319 
320 #ifndef GLX_VERSION_1_4
321 #define GLX_VERSION_1_4 1
322 
323 #define GLX_SAMPLE_BUFFERS 100000
324 #define GLX_SAMPLES 100001
325 
326 extern void ( * glXGetProcAddress (const GLubyte *procName)) (void);
327 
328 #define GLXEW_VERSION_1_4 GLXEW_GET_VAR(__GLXEW_VERSION_1_4)
329 
330 #endif /* GLX_VERSION_1_4 */
331 
332 /* -------------------------- GLX_3DFX_multisample ------------------------- */
333 
334 #ifndef GLX_3DFX_multisample
335 #define GLX_3DFX_multisample 1
336 
337 #define GLX_SAMPLE_BUFFERS_3DFX 0x8050
338 #define GLX_SAMPLES_3DFX 0x8051
339 
340 #define GLXEW_3DFX_multisample GLXEW_GET_VAR(__GLXEW_3DFX_multisample)
341 
342 #endif /* GLX_3DFX_multisample */
343 
344 /* ------------------------- GLX_ARB_fbconfig_float ------------------------ */
345 
346 #ifndef GLX_ARB_fbconfig_float
347 #define GLX_ARB_fbconfig_float 1
348 
349 #define GLX_RGBA_FLOAT_BIT 0x00000004
350 #define GLX_RGBA_FLOAT_TYPE 0x20B9
351 
352 #define GLXEW_ARB_fbconfig_float GLXEW_GET_VAR(__GLXEW_ARB_fbconfig_float)
353 
354 #endif /* GLX_ARB_fbconfig_float */
355 
356 /* ------------------------ GLX_ARB_get_proc_address ----------------------- */
357 
358 #ifndef GLX_ARB_get_proc_address
359 #define GLX_ARB_get_proc_address 1
360 
361 extern void ( * glXGetProcAddressARB (const GLubyte *procName)) (void);
362 
363 #define GLXEW_ARB_get_proc_address GLXEW_GET_VAR(__GLXEW_ARB_get_proc_address)
364 
365 #endif /* GLX_ARB_get_proc_address */
366 
367 /* -------------------------- GLX_ARB_multisample -------------------------- */
368 
369 #ifndef GLX_ARB_multisample
370 #define GLX_ARB_multisample 1
371 
372 #define GLX_SAMPLE_BUFFERS_ARB 100000
373 #define GLX_SAMPLES_ARB 100001
374 
375 #define GLXEW_ARB_multisample GLXEW_GET_VAR(__GLXEW_ARB_multisample)
376 
377 #endif /* GLX_ARB_multisample */
378 
379 /* ----------------------- GLX_ATI_pixel_format_float ---------------------- */
380 
381 #ifndef GLX_ATI_pixel_format_float
382 #define GLX_ATI_pixel_format_float 1
383 
384 #define GLX_RGBA_FLOAT_ATI_BIT 0x00000100
385 
386 #define GLXEW_ATI_pixel_format_float GLXEW_GET_VAR(__GLXEW_ATI_pixel_format_float)
387 
388 #endif /* GLX_ATI_pixel_format_float */
389 
390 /* ------------------------- GLX_ATI_render_texture ------------------------ */
391 
392 #ifndef GLX_ATI_render_texture
393 #define GLX_ATI_render_texture 1
394 
395 #define GLX_BIND_TO_TEXTURE_RGB_ATI 0x9800
396 #define GLX_BIND_TO_TEXTURE_RGBA_ATI 0x9801
397 #define GLX_TEXTURE_FORMAT_ATI 0x9802
398 #define GLX_TEXTURE_TARGET_ATI 0x9803
399 #define GLX_MIPMAP_TEXTURE_ATI 0x9804
400 #define GLX_TEXTURE_RGB_ATI 0x9805
401 #define GLX_TEXTURE_RGBA_ATI 0x9806
402 #define GLX_NO_TEXTURE_ATI 0x9807
403 #define GLX_TEXTURE_CUBE_MAP_ATI 0x9808
404 #define GLX_TEXTURE_1D_ATI 0x9809
405 #define GLX_TEXTURE_2D_ATI 0x980A
406 #define GLX_MIPMAP_LEVEL_ATI 0x980B
407 #define GLX_CUBE_MAP_FACE_ATI 0x980C
408 #define GLX_TEXTURE_CUBE_MAP_POSITIVE_X_ATI 0x980D
409 #define GLX_TEXTURE_CUBE_MAP_NEGATIVE_X_ATI 0x980E
410 #define GLX_TEXTURE_CUBE_MAP_POSITIVE_Y_ATI 0x980F
411 #define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Y_ATI 0x9810
412 #define GLX_TEXTURE_CUBE_MAP_POSITIVE_Z_ATI 0x9811
413 #define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Z_ATI 0x9812
414 #define GLX_FRONT_LEFT_ATI 0x9813
415 #define GLX_FRONT_RIGHT_ATI 0x9814
416 #define GLX_BACK_LEFT_ATI 0x9815
417 #define GLX_BACK_RIGHT_ATI 0x9816
418 #define GLX_AUX0_ATI 0x9817
419 #define GLX_AUX1_ATI 0x9818
420 #define GLX_AUX2_ATI 0x9819
421 #define GLX_AUX3_ATI 0x981A
422 #define GLX_AUX4_ATI 0x981B
423 #define GLX_AUX5_ATI 0x981C
424 #define GLX_AUX6_ATI 0x981D
425 #define GLX_AUX7_ATI 0x981E
426 #define GLX_AUX8_ATI 0x981F
427 #define GLX_AUX9_ATI 0x9820
428 #define GLX_BIND_TO_TEXTURE_LUMINANCE_ATI 0x9821
429 #define GLX_BIND_TO_TEXTURE_INTENSITY_ATI 0x9822
430 
431 typedef void ( * PFNGLXBINDTEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer);
432 typedef void ( * PFNGLXDRAWABLEATTRIBATIPROC) (Display *dpy, GLXDrawable draw, const int *attrib_list);
433 typedef void ( * PFNGLXRELEASETEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer);
434 
435 #define glXBindTexImageATI GLXEW_GET_FUN(__glewXBindTexImageATI)
436 #define glXDrawableAttribATI GLXEW_GET_FUN(__glewXDrawableAttribATI)
437 #define glXReleaseTexImageATI GLXEW_GET_FUN(__glewXReleaseTexImageATI)
438 
439 #define GLXEW_ATI_render_texture GLXEW_GET_VAR(__GLXEW_ATI_render_texture)
440 
441 #endif /* GLX_ATI_render_texture */
442 
443 /* --------------------- GLX_EXT_fbconfig_packed_float --------------------- */
444 
445 #ifndef GLX_EXT_fbconfig_packed_float
446 #define GLX_EXT_fbconfig_packed_float 1
447 
448 #define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008
449 #define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1
450 
451 #define GLXEW_EXT_fbconfig_packed_float GLXEW_GET_VAR(__GLXEW_EXT_fbconfig_packed_float)
452 
453 #endif /* GLX_EXT_fbconfig_packed_float */
454 
455 /* ------------------------ GLX_EXT_framebuffer_sRGB ----------------------- */
456 
457 #ifndef GLX_EXT_framebuffer_sRGB
458 #define GLX_EXT_framebuffer_sRGB 1
459 
460 #define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2
461 
462 #define GLXEW_EXT_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_EXT_framebuffer_sRGB)
463 
464 #endif /* GLX_EXT_framebuffer_sRGB */
465 
466 /* ------------------------- GLX_EXT_import_context ------------------------ */
467 
468 #ifndef GLX_EXT_import_context
469 #define GLX_EXT_import_context 1
470 
471 #define GLX_SHARE_CONTEXT_EXT 0x800A
472 #define GLX_VISUAL_ID_EXT 0x800B
473 #define GLX_SCREEN_EXT 0x800C
474 
475 typedef XID GLXContextID;
476 
477 typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display* dpy, GLXContext context);
478 typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context);
479 typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display* dpy, GLXContextID contextID);
480 typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display* dpy, GLXContext context, int attribute,int *value);
481 
482 #define glXFreeContextEXT GLXEW_GET_FUN(__glewXFreeContextEXT)
483 #define glXGetContextIDEXT GLXEW_GET_FUN(__glewXGetContextIDEXT)
484 #define glXImportContextEXT GLXEW_GET_FUN(__glewXImportContextEXT)
485 #define glXQueryContextInfoEXT GLXEW_GET_FUN(__glewXQueryContextInfoEXT)
486 
487 #define GLXEW_EXT_import_context GLXEW_GET_VAR(__GLXEW_EXT_import_context)
488 
489 #endif /* GLX_EXT_import_context */
490 
491 /* -------------------------- GLX_EXT_scene_marker ------------------------- */
492 
493 #ifndef GLX_EXT_scene_marker
494 #define GLX_EXT_scene_marker 1
495 
496 #define GLXEW_EXT_scene_marker GLXEW_GET_VAR(__GLXEW_EXT_scene_marker)
497 
498 #endif /* GLX_EXT_scene_marker */
499 
500 /* ---------------------- GLX_EXT_texture_from_pixmap ---------------------- */
501 
502 #ifndef GLX_EXT_texture_from_pixmap
503 #define GLX_EXT_texture_from_pixmap 1
504 
505 #define GLX_TEXTURE_1D_BIT_EXT 0x00000001
506 #define GLX_TEXTURE_2D_BIT_EXT 0x00000002
507 #define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
508 #define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0
509 #define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1
510 #define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2
511 #define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3
512 #define GLX_Y_INVERTED_EXT 0x20D4
513 #define GLX_TEXTURE_FORMAT_EXT 0x20D5
514 #define GLX_TEXTURE_TARGET_EXT 0x20D6
515 #define GLX_MIPMAP_TEXTURE_EXT 0x20D7
516 #define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8
517 #define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9
518 #define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA
519 #define GLX_TEXTURE_1D_EXT 0x20DB
520 #define GLX_TEXTURE_2D_EXT 0x20DC
521 #define GLX_TEXTURE_RECTANGLE_EXT 0x20DD
522 #define GLX_FRONT_LEFT_EXT 0x20DE
523 #define GLX_FRONT_RIGHT_EXT 0x20DF
524 #define GLX_BACK_LEFT_EXT 0x20E0
525 #define GLX_BACK_RIGHT_EXT 0x20E1
526 #define GLX_AUX0_EXT 0x20E2
527 #define GLX_AUX1_EXT 0x20E3
528 #define GLX_AUX2_EXT 0x20E4
529 #define GLX_AUX3_EXT 0x20E5
530 #define GLX_AUX4_EXT 0x20E6
531 #define GLX_AUX5_EXT 0x20E7
532 #define GLX_AUX6_EXT 0x20E8
533 #define GLX_AUX7_EXT 0x20E9
534 #define GLX_AUX8_EXT 0x20EA
535 #define GLX_AUX9_EXT 0x20EB
536 
537 typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer, const int *attrib_list);
538 typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer);
539 
540 #define glXBindTexImageEXT GLXEW_GET_FUN(__glewXBindTexImageEXT)
541 #define glXReleaseTexImageEXT GLXEW_GET_FUN(__glewXReleaseTexImageEXT)
542 
543 #define GLXEW_EXT_texture_from_pixmap GLXEW_GET_VAR(__GLXEW_EXT_texture_from_pixmap)
544 
545 #endif /* GLX_EXT_texture_from_pixmap */
546 
547 /* -------------------------- GLX_EXT_visual_info -------------------------- */
548 
549 #ifndef GLX_EXT_visual_info
550 #define GLX_EXT_visual_info 1
551 
552 #define GLX_X_VISUAL_TYPE_EXT 0x22
553 #define GLX_TRANSPARENT_TYPE_EXT 0x23
554 #define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24
555 #define GLX_TRANSPARENT_RED_VALUE_EXT 0x25
556 #define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26
557 #define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27
558 #define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28
559 #define GLX_NONE_EXT 0x8000
560 #define GLX_TRUE_COLOR_EXT 0x8002
561 #define GLX_DIRECT_COLOR_EXT 0x8003
562 #define GLX_PSEUDO_COLOR_EXT 0x8004
563 #define GLX_STATIC_COLOR_EXT 0x8005
564 #define GLX_GRAY_SCALE_EXT 0x8006
565 #define GLX_STATIC_GRAY_EXT 0x8007
566 #define GLX_TRANSPARENT_RGB_EXT 0x8008
567 #define GLX_TRANSPARENT_INDEX_EXT 0x8009
568 
569 #define GLXEW_EXT_visual_info GLXEW_GET_VAR(__GLXEW_EXT_visual_info)
570 
571 #endif /* GLX_EXT_visual_info */
572 
573 /* ------------------------- GLX_EXT_visual_rating ------------------------- */
574 
575 #ifndef GLX_EXT_visual_rating
576 #define GLX_EXT_visual_rating 1
577 
578 #define GLX_VISUAL_CAVEAT_EXT 0x20
579 #define GLX_SLOW_VISUAL_EXT 0x8001
580 #define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D
581 
582 #define GLXEW_EXT_visual_rating GLXEW_GET_VAR(__GLXEW_EXT_visual_rating)
583 
584 #endif /* GLX_EXT_visual_rating */
585 
586 /* -------------------------- GLX_MESA_agp_offset -------------------------- */
587 
588 #ifndef GLX_MESA_agp_offset
589 #define GLX_MESA_agp_offset 1
590 
591 typedef unsigned int ( * PFNGLXGETAGPOFFSETMESAPROC) (const void* pointer);
592 
593 #define glXGetAGPOffsetMESA GLXEW_GET_FUN(__glewXGetAGPOffsetMESA)
594 
595 #define GLXEW_MESA_agp_offset GLXEW_GET_VAR(__GLXEW_MESA_agp_offset)
596 
597 #endif /* GLX_MESA_agp_offset */
598 
599 /* ------------------------ GLX_MESA_copy_sub_buffer ----------------------- */
600 
601 #ifndef GLX_MESA_copy_sub_buffer
602 #define GLX_MESA_copy_sub_buffer 1
603 
604 typedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display* dpy, GLXDrawable drawable, int x, int y, int width, int height);
605 
606 #define glXCopySubBufferMESA GLXEW_GET_FUN(__glewXCopySubBufferMESA)
607 
608 #define GLXEW_MESA_copy_sub_buffer GLXEW_GET_VAR(__GLXEW_MESA_copy_sub_buffer)
609 
610 #endif /* GLX_MESA_copy_sub_buffer */
611 
612 /* ------------------------ GLX_MESA_pixmap_colormap ----------------------- */
613 
614 #ifndef GLX_MESA_pixmap_colormap
615 #define GLX_MESA_pixmap_colormap 1
616 
617 typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display* dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
618 
619 #define glXCreateGLXPixmapMESA GLXEW_GET_FUN(__glewXCreateGLXPixmapMESA)
620 
621 #define GLXEW_MESA_pixmap_colormap GLXEW_GET_VAR(__GLXEW_MESA_pixmap_colormap)
622 
623 #endif /* GLX_MESA_pixmap_colormap */
624 
625 /* ------------------------ GLX_MESA_release_buffers ----------------------- */
626 
627 #ifndef GLX_MESA_release_buffers
628 #define GLX_MESA_release_buffers 1
629 
630 typedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display* dpy, GLXDrawable d);
631 
632 #define glXReleaseBuffersMESA GLXEW_GET_FUN(__glewXReleaseBuffersMESA)
633 
634 #define GLXEW_MESA_release_buffers GLXEW_GET_VAR(__GLXEW_MESA_release_buffers)
635 
636 #endif /* GLX_MESA_release_buffers */
637 
638 /* ------------------------- GLX_MESA_set_3dfx_mode ------------------------ */
639 
640 #ifndef GLX_MESA_set_3dfx_mode
641 #define GLX_MESA_set_3dfx_mode 1
642 
643 #define GLX_3DFX_WINDOW_MODE_MESA 0x1
644 #define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2
645 
646 typedef GLboolean ( * PFNGLXSET3DFXMODEMESAPROC) (GLint mode);
647 
648 #define glXSet3DfxModeMESA GLXEW_GET_FUN(__glewXSet3DfxModeMESA)
649 
650 #define GLXEW_MESA_set_3dfx_mode GLXEW_GET_VAR(__GLXEW_MESA_set_3dfx_mode)
651 
652 #endif /* GLX_MESA_set_3dfx_mode */
653 
654 /* -------------------------- GLX_NV_float_buffer -------------------------- */
655 
656 #ifndef GLX_NV_float_buffer
657 #define GLX_NV_float_buffer 1
658 
659 #define GLX_FLOAT_COMPONENTS_NV 0x20B0
660 
661 #define GLXEW_NV_float_buffer GLXEW_GET_VAR(__GLXEW_NV_float_buffer)
662 
663 #endif /* GLX_NV_float_buffer */
664 
665 /* ----------------------- GLX_NV_vertex_array_range ----------------------- */
666 
667 #ifndef GLX_NV_vertex_array_range
668 #define GLX_NV_vertex_array_range 1
669 
670 typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
671 typedef void ( * PFNGLXFREEMEMORYNVPROC) (void *pointer);
672 
673 #define glXAllocateMemoryNV GLXEW_GET_FUN(__glewXAllocateMemoryNV)
674 #define glXFreeMemoryNV GLXEW_GET_FUN(__glewXFreeMemoryNV)
675 
676 #define GLXEW_NV_vertex_array_range GLXEW_GET_VAR(__GLXEW_NV_vertex_array_range)
677 
678 #endif /* GLX_NV_vertex_array_range */
679 
680 /* -------------------------- GLX_OML_swap_method -------------------------- */
681 
682 #ifndef GLX_OML_swap_method
683 #define GLX_OML_swap_method 1
684 
685 #define GLX_SWAP_METHOD_OML 0x8060
686 #define GLX_SWAP_EXCHANGE_OML 0x8061
687 #define GLX_SWAP_COPY_OML 0x8062
688 #define GLX_SWAP_UNDEFINED_OML 0x8063
689 
690 #define GLXEW_OML_swap_method GLXEW_GET_VAR(__GLXEW_OML_swap_method)
691 
692 #endif /* GLX_OML_swap_method */
693 
694 /* -------------------------- GLX_OML_sync_control ------------------------- */
695 
696 #if !defined(GLX_OML_sync_control) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
697 #include <inttypes.h>
698 #define GLX_OML_sync_control 1
699 
700 typedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display* dpy, GLXDrawable drawable, int32_t* numerator, int32_t* denominator);
701 typedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t* ust, int64_t* msc, int64_t* sbc);
702 typedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
703 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);
704 typedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_sbc, int64_t* ust, int64_t* msc, int64_t* sbc);
705 
706 #define glXGetMscRateOML GLXEW_GET_FUN(__glewXGetMscRateOML)
707 #define glXGetSyncValuesOML GLXEW_GET_FUN(__glewXGetSyncValuesOML)
708 #define glXSwapBuffersMscOML GLXEW_GET_FUN(__glewXSwapBuffersMscOML)
709 #define glXWaitForMscOML GLXEW_GET_FUN(__glewXWaitForMscOML)
710 #define glXWaitForSbcOML GLXEW_GET_FUN(__glewXWaitForSbcOML)
711 
712 #define GLXEW_OML_sync_control GLXEW_GET_VAR(__GLXEW_OML_sync_control)
713 
714 #endif /* GLX_OML_sync_control */
715 
716 /* ------------------------ GLX_SGIS_blended_overlay ----------------------- */
717 
718 #ifndef GLX_SGIS_blended_overlay
719 #define GLX_SGIS_blended_overlay 1
720 
721 #define GLX_BLENDED_RGBA_SGIS 0x8025
722 
723 #define GLXEW_SGIS_blended_overlay GLXEW_GET_VAR(__GLXEW_SGIS_blended_overlay)
724 
725 #endif /* GLX_SGIS_blended_overlay */
726 
727 /* -------------------------- GLX_SGIS_color_range ------------------------- */
728 
729 #ifndef GLX_SGIS_color_range
730 #define GLX_SGIS_color_range 1
731 
732 #define GLX_MIN_RED_SGIS 0
733 #define GLX_MAX_GREEN_SGIS 0
734 #define GLX_MIN_BLUE_SGIS 0
735 #define GLX_MAX_ALPHA_SGIS 0
736 #define GLX_MIN_GREEN_SGIS 0
737 #define GLX_MIN_ALPHA_SGIS 0
738 #define GLX_MAX_RED_SGIS 0
739 #define GLX_EXTENDED_RANGE_SGIS 0
740 #define GLX_MAX_BLUE_SGIS 0
741 
742 #define GLXEW_SGIS_color_range GLXEW_GET_VAR(__GLXEW_SGIS_color_range)
743 
744 #endif /* GLX_SGIS_color_range */
745 
746 /* -------------------------- GLX_SGIS_multisample ------------------------- */
747 
748 #ifndef GLX_SGIS_multisample
749 #define GLX_SGIS_multisample 1
750 
751 #define GLX_SAMPLE_BUFFERS_SGIS 100000
752 #define GLX_SAMPLES_SGIS 100001
753 
754 #define GLXEW_SGIS_multisample GLXEW_GET_VAR(__GLXEW_SGIS_multisample)
755 
756 #endif /* GLX_SGIS_multisample */
757 
758 /* ---------------------- GLX_SGIS_shared_multisample ---------------------- */
759 
760 #ifndef GLX_SGIS_shared_multisample
761 #define GLX_SGIS_shared_multisample 1
762 
763 #define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026
764 #define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027
765 
766 #define GLXEW_SGIS_shared_multisample GLXEW_GET_VAR(__GLXEW_SGIS_shared_multisample)
767 
768 #endif /* GLX_SGIS_shared_multisample */
769 
770 /* --------------------------- GLX_SGIX_fbconfig --------------------------- */
771 
772 #ifndef GLX_SGIX_fbconfig
773 #define GLX_SGIX_fbconfig 1
774 
775 #define GLX_WINDOW_BIT_SGIX 0x00000001
776 #define GLX_RGBA_BIT_SGIX 0x00000001
777 #define GLX_PIXMAP_BIT_SGIX 0x00000002
778 #define GLX_COLOR_INDEX_BIT_SGIX 0x00000002
779 #define GLX_SCREEN_EXT 0x800C
780 #define GLX_DRAWABLE_TYPE_SGIX 0x8010
781 #define GLX_RENDER_TYPE_SGIX 0x8011
782 #define GLX_X_RENDERABLE_SGIX 0x8012
783 #define GLX_FBCONFIG_ID_SGIX 0x8013
784 #define GLX_RGBA_TYPE_SGIX 0x8014
785 #define GLX_COLOR_INDEX_TYPE_SGIX 0x8015
786 
787 typedef XID GLXFBConfigIDSGIX;
788 typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
789 
790 typedef GLXFBConfigSGIX* ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
791 typedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
792 typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, Pixmap pixmap);
793 typedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, int attribute, int *value);
794 typedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display* dpy, XVisualInfo *vis);
795 typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfig config);
796 
797 #define glXChooseFBConfigSGIX GLXEW_GET_FUN(__glewXChooseFBConfigSGIX)
798 #define glXCreateContextWithConfigSGIX GLXEW_GET_FUN(__glewXCreateContextWithConfigSGIX)
799 #define glXCreateGLXPixmapWithConfigSGIX GLXEW_GET_FUN(__glewXCreateGLXPixmapWithConfigSGIX)
800 #define glXGetFBConfigAttribSGIX GLXEW_GET_FUN(__glewXGetFBConfigAttribSGIX)
801 #define glXGetFBConfigFromVisualSGIX GLXEW_GET_FUN(__glewXGetFBConfigFromVisualSGIX)
802 #define glXGetVisualFromFBConfigSGIX GLXEW_GET_FUN(__glewXGetVisualFromFBConfigSGIX)
803 
804 #define GLXEW_SGIX_fbconfig GLXEW_GET_VAR(__GLXEW_SGIX_fbconfig)
805 
806 #endif /* GLX_SGIX_fbconfig */
807 
808 /* --------------------------- GLX_SGIX_hyperpipe -------------------------- */
809 
810 #ifndef GLX_SGIX_hyperpipe
811 #define GLX_SGIX_hyperpipe 1
812 
813 #define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001
814 #define GLX_PIPE_RECT_SGIX 0x00000001
815 #define GLX_PIPE_RECT_LIMITS_SGIX 0x00000002
816 #define GLX_HYPERPIPE_RENDER_PIPE_SGIX 0x00000002
817 #define GLX_HYPERPIPE_STEREO_SGIX 0x00000003
818 #define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX 0x00000004
819 #define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
820 #define GLX_BAD_HYPERPIPE_CONFIG_SGIX 91
821 #define GLX_BAD_HYPERPIPE_SGIX 92
822 #define GLX_HYPERPIPE_ID_SGIX 0x8030
823 
824 typedef struct {
825   char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
826   int  networkId;
827 } GLXHyperpipeNetworkSGIX;
828 typedef struct {
829   char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
830   int XOrigin;
831   int YOrigin;
832   int maxHeight;
833   int maxWidth;
834 } GLXPipeRectLimits;
835 typedef struct {
836   char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
837   int channel;
838   unsigned int participationType;
839   int timeSlice;
840 } GLXHyperpipeConfigSGIX;
841 typedef struct {
842   char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
843   int srcXOrigin;
844   int srcYOrigin;
845   int srcWidth;
846   int srcHeight;
847   int destXOrigin;
848   int destYOrigin;
849   int destWidth;
850   int destHeight;
851 } GLXPipeRect;
852 
853 typedef int ( * PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId);
854 typedef int ( * PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId);
855 typedef int ( * PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList);
856 typedef int ( * PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId);
857 typedef int ( * PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList);
858 typedef int ( * PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList);
859 typedef GLXHyperpipeConfigSGIX * ( * PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes);
860 typedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display *dpy, int *npipes);
861 
862 #define glXBindHyperpipeSGIX GLXEW_GET_FUN(__glewXBindHyperpipeSGIX)
863 #define glXDestroyHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXDestroyHyperpipeConfigSGIX)
864 #define glXHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXHyperpipeAttribSGIX)
865 #define glXHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXHyperpipeConfigSGIX)
866 #define glXQueryHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeAttribSGIX)
867 #define glXQueryHyperpipeBestAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeBestAttribSGIX)
868 #define glXQueryHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeConfigSGIX)
869 #define glXQueryHyperpipeNetworkSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeNetworkSGIX)
870 
871 #define GLXEW_SGIX_hyperpipe GLXEW_GET_VAR(__GLXEW_SGIX_hyperpipe)
872 
873 #endif /* GLX_SGIX_hyperpipe */
874 
875 /* ---------------------------- GLX_SGIX_pbuffer --------------------------- */
876 
877 #ifndef GLX_SGIX_pbuffer
878 #define GLX_SGIX_pbuffer 1
879 
880 #define GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x00000001
881 #define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x00000002
882 #define GLX_PBUFFER_BIT_SGIX 0x00000004
883 #define GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x00000004
884 #define GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x00000008
885 #define GLX_AUX_BUFFERS_BIT_SGIX 0x00000010
886 #define GLX_DEPTH_BUFFER_BIT_SGIX 0x00000020
887 #define GLX_STENCIL_BUFFER_BIT_SGIX 0x00000040
888 #define GLX_ACCUM_BUFFER_BIT_SGIX 0x00000080
889 #define GLX_SAMPLE_BUFFERS_BIT_SGIX 0x00000100
890 #define GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016
891 #define GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017
892 #define GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018
893 #define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019
894 #define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A
895 #define GLX_PRESERVED_CONTENTS_SGIX 0x801B
896 #define GLX_LARGEST_PBUFFER_SGIX 0x801C
897 #define GLX_WIDTH_SGIX 0x801D
898 #define GLX_HEIGHT_SGIX 0x801E
899 #define GLX_EVENT_MASK_SGIX 0x801F
900 #define GLX_DAMAGED_SGIX 0x8020
901 #define GLX_SAVED_SGIX 0x8021
902 #define GLX_WINDOW_SGIX 0x8022
903 #define GLX_PBUFFER_SGIX 0x8023
904 #define GLX_BUFFER_CLOBBER_MASK_SGIX 0x08000000
905 
906 typedef XID GLXPbufferSGIX;
907 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;
908 
909 typedef GLXPbuffer ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display* dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list);
910 typedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf);
911 typedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long *mask);
912 typedef void ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf, int attribute, unsigned int *value);
913 typedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long mask);
914 
915 #define glXCreateGLXPbufferSGIX GLXEW_GET_FUN(__glewXCreateGLXPbufferSGIX)
916 #define glXDestroyGLXPbufferSGIX GLXEW_GET_FUN(__glewXDestroyGLXPbufferSGIX)
917 #define glXGetSelectedEventSGIX GLXEW_GET_FUN(__glewXGetSelectedEventSGIX)
918 #define glXQueryGLXPbufferSGIX GLXEW_GET_FUN(__glewXQueryGLXPbufferSGIX)
919 #define glXSelectEventSGIX GLXEW_GET_FUN(__glewXSelectEventSGIX)
920 
921 #define GLXEW_SGIX_pbuffer GLXEW_GET_VAR(__GLXEW_SGIX_pbuffer)
922 
923 #endif /* GLX_SGIX_pbuffer */
924 
925 /* ------------------------- GLX_SGIX_swap_barrier ------------------------- */
926 
927 #ifndef GLX_SGIX_swap_barrier
928 #define GLX_SGIX_swap_barrier 1
929 
930 typedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier);
931 typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max);
932 
933 #define glXBindSwapBarrierSGIX GLXEW_GET_FUN(__glewXBindSwapBarrierSGIX)
934 #define glXQueryMaxSwapBarriersSGIX GLXEW_GET_FUN(__glewXQueryMaxSwapBarriersSGIX)
935 
936 #define GLXEW_SGIX_swap_barrier GLXEW_GET_VAR(__GLXEW_SGIX_swap_barrier)
937 
938 #endif /* GLX_SGIX_swap_barrier */
939 
940 /* -------------------------- GLX_SGIX_swap_group -------------------------- */
941 
942 #ifndef GLX_SGIX_swap_group
943 #define GLX_SGIX_swap_group 1
944 
945 typedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member);
946 
947 #define glXJoinSwapGroupSGIX GLXEW_GET_FUN(__glewXJoinSwapGroupSGIX)
948 
949 #define GLXEW_SGIX_swap_group GLXEW_GET_VAR(__GLXEW_SGIX_swap_group)
950 
951 #endif /* GLX_SGIX_swap_group */
952 
953 /* ------------------------- GLX_SGIX_video_resize ------------------------- */
954 
955 #ifndef GLX_SGIX_video_resize
956 #define GLX_SGIX_video_resize 1
957 
958 #define GLX_SYNC_FRAME_SGIX 0x00000000
959 #define GLX_SYNC_SWAP_SGIX 0x00000001
960 
961 typedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display* display, int screen, int channel, Window window);
962 typedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int x, int y, int w, int h);
963 typedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display* display, int screen, int channel, GLenum synctype);
964 typedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display* display, int screen, int channel, int *x, int *y, int *w, int *h);
965 typedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
966 
967 #define glXBindChannelToWindowSGIX GLXEW_GET_FUN(__glewXBindChannelToWindowSGIX)
968 #define glXChannelRectSGIX GLXEW_GET_FUN(__glewXChannelRectSGIX)
969 #define glXChannelRectSyncSGIX GLXEW_GET_FUN(__glewXChannelRectSyncSGIX)
970 #define glXQueryChannelDeltasSGIX GLXEW_GET_FUN(__glewXQueryChannelDeltasSGIX)
971 #define glXQueryChannelRectSGIX GLXEW_GET_FUN(__glewXQueryChannelRectSGIX)
972 
973 #define GLXEW_SGIX_video_resize GLXEW_GET_VAR(__GLXEW_SGIX_video_resize)
974 
975 #endif /* GLX_SGIX_video_resize */
976 
977 /* ---------------------- GLX_SGIX_visual_select_group --------------------- */
978 
979 #ifndef GLX_SGIX_visual_select_group
980 #define GLX_SGIX_visual_select_group 1
981 
982 #define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028
983 
984 #define GLXEW_SGIX_visual_select_group GLXEW_GET_VAR(__GLXEW_SGIX_visual_select_group)
985 
986 #endif /* GLX_SGIX_visual_select_group */
987 
988 /* ---------------------------- GLX_SGI_cushion ---------------------------- */
989 
990 #ifndef GLX_SGI_cushion
991 #define GLX_SGI_cushion 1
992 
993 typedef void ( * PFNGLXCUSHIONSGIPROC) (Display* dpy, Window window, float cushion);
994 
995 #define glXCushionSGI GLXEW_GET_FUN(__glewXCushionSGI)
996 
997 #define GLXEW_SGI_cushion GLXEW_GET_VAR(__GLXEW_SGI_cushion)
998 
999 #endif /* GLX_SGI_cushion */
1000 
1001 /* ----------------------- GLX_SGI_make_current_read ----------------------- */
1002 
1003 #ifndef GLX_SGI_make_current_read
1004 #define GLX_SGI_make_current_read 1
1005 
1006 typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void);
1007 typedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display* dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
1008 
1009 #define glXGetCurrentReadDrawableSGI GLXEW_GET_FUN(__glewXGetCurrentReadDrawableSGI)
1010 #define glXMakeCurrentReadSGI GLXEW_GET_FUN(__glewXMakeCurrentReadSGI)
1011 
1012 #define GLXEW_SGI_make_current_read GLXEW_GET_VAR(__GLXEW_SGI_make_current_read)
1013 
1014 #endif /* GLX_SGI_make_current_read */
1015 
1016 /* -------------------------- GLX_SGI_swap_control ------------------------- */
1017 
1018 #ifndef GLX_SGI_swap_control
1019 #define GLX_SGI_swap_control 1
1020 
1021 typedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval);
1022 
1023 #define glXSwapIntervalSGI GLXEW_GET_FUN(__glewXSwapIntervalSGI)
1024 
1025 #define GLXEW_SGI_swap_control GLXEW_GET_VAR(__GLXEW_SGI_swap_control)
1026 
1027 #endif /* GLX_SGI_swap_control */
1028 
1029 /* --------------------------- GLX_SGI_video_sync -------------------------- */
1030 
1031 #ifndef GLX_SGI_video_sync
1032 #define GLX_SGI_video_sync 1
1033 
1034 typedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (uint* count);
1035 typedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int* count);
1036 
1037 #define glXGetVideoSyncSGI GLXEW_GET_FUN(__glewXGetVideoSyncSGI)
1038 #define glXWaitVideoSyncSGI GLXEW_GET_FUN(__glewXWaitVideoSyncSGI)
1039 
1040 #define GLXEW_SGI_video_sync GLXEW_GET_VAR(__GLXEW_SGI_video_sync)
1041 
1042 #endif /* GLX_SGI_video_sync */
1043 
1044 /* --------------------- GLX_SUN_get_transparent_index --------------------- */
1045 
1046 #ifndef GLX_SUN_get_transparent_index
1047 #define GLX_SUN_get_transparent_index 1
1048 
1049 typedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display* dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex);
1050 
1051 #define glXGetTransparentIndexSUN GLXEW_GET_FUN(__glewXGetTransparentIndexSUN)
1052 
1053 #define GLXEW_SUN_get_transparent_index GLXEW_GET_VAR(__GLXEW_SUN_get_transparent_index)
1054 
1055 #endif /* GLX_SUN_get_transparent_index */
1056 
1057 /* -------------------------- GLX_SUN_video_resize ------------------------- */
1058 
1059 #ifndef GLX_SUN_video_resize
1060 #define GLX_SUN_video_resize 1
1061 
1062 #define GLX_VIDEO_RESIZE_SUN 0x8171
1063 #define GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85CD
1064 
1065 typedef int ( * PFNGLXGETVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float* factor);
1066 typedef int ( * PFNGLXVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float factor);
1067 
1068 #define glXGetVideoResizeSUN GLXEW_GET_FUN(__glewXGetVideoResizeSUN)
1069 #define glXVideoResizeSUN GLXEW_GET_FUN(__glewXVideoResizeSUN)
1070 
1071 #define GLXEW_SUN_video_resize GLXEW_GET_VAR(__GLXEW_SUN_video_resize)
1072 
1073 #endif /* GLX_SUN_video_resize */
1074 
1075 /* ------------------------------------------------------------------------- */
1076 
1077 #ifdef GLEW_MX
1078 #define GLXEW_EXPORT
1079 #else
1080 #define GLXEW_EXPORT extern
1081 #endif /* GLEW_MX */
1082 
1083 extern PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay;
1084 
1085 extern PFNGLXCHOOSEFBCONFIGPROC __glewXChooseFBConfig;
1086 extern PFNGLXCREATENEWCONTEXTPROC __glewXCreateNewContext;
1087 extern PFNGLXCREATEPBUFFERPROC __glewXCreatePbuffer;
1088 extern PFNGLXCREATEPIXMAPPROC __glewXCreatePixmap;
1089 extern PFNGLXCREATEWINDOWPROC __glewXCreateWindow;
1090 extern PFNGLXDESTROYPBUFFERPROC __glewXDestroyPbuffer;
1091 extern PFNGLXDESTROYPIXMAPPROC __glewXDestroyPixmap;
1092 extern PFNGLXDESTROYWINDOWPROC __glewXDestroyWindow;
1093 extern PFNGLXGETCURRENTREADDRAWABLEPROC __glewXGetCurrentReadDrawable;
1094 extern PFNGLXGETFBCONFIGATTRIBPROC __glewXGetFBConfigAttrib;
1095 extern PFNGLXGETFBCONFIGSPROC __glewXGetFBConfigs;
1096 extern PFNGLXGETSELECTEDEVENTPROC __glewXGetSelectedEvent;
1097 extern PFNGLXGETVISUALFROMFBCONFIGPROC __glewXGetVisualFromFBConfig;
1098 extern PFNGLXMAKECONTEXTCURRENTPROC __glewXMakeContextCurrent;
1099 extern PFNGLXQUERYCONTEXTPROC __glewXQueryContext;
1100 extern PFNGLXQUERYDRAWABLEPROC __glewXQueryDrawable;
1101 extern PFNGLXSELECTEVENTPROC __glewXSelectEvent;
1102 
1103 extern PFNGLXBINDTEXIMAGEATIPROC __glewXBindTexImageATI;
1104 extern PFNGLXDRAWABLEATTRIBATIPROC __glewXDrawableAttribATI;
1105 extern PFNGLXRELEASETEXIMAGEATIPROC __glewXReleaseTexImageATI;
1106 
1107 extern PFNGLXFREECONTEXTEXTPROC __glewXFreeContextEXT;
1108 extern PFNGLXGETCONTEXTIDEXTPROC __glewXGetContextIDEXT;
1109 extern PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT;
1110 extern PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT;
1111 
1112 extern PFNGLXBINDTEXIMAGEEXTPROC __glewXBindTexImageEXT;
1113 extern PFNGLXRELEASETEXIMAGEEXTPROC __glewXReleaseTexImageEXT;
1114 
1115 extern PFNGLXGETAGPOFFSETMESAPROC __glewXGetAGPOffsetMESA;
1116 
1117 extern PFNGLXCOPYSUBBUFFERMESAPROC __glewXCopySubBufferMESA;
1118 
1119 extern PFNGLXCREATEGLXPIXMAPMESAPROC __glewXCreateGLXPixmapMESA;
1120 
1121 extern PFNGLXRELEASEBUFFERSMESAPROC __glewXReleaseBuffersMESA;
1122 
1123 extern PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA;
1124 
1125 extern PFNGLXALLOCATEMEMORYNVPROC __glewXAllocateMemoryNV;
1126 extern PFNGLXFREEMEMORYNVPROC __glewXFreeMemoryNV;
1127 
1128 #ifdef GLX_OML_sync_control
1129 extern PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML;
1130 extern PFNGLXGETSYNCVALUESOMLPROC __glewXGetSyncValuesOML;
1131 extern PFNGLXSWAPBUFFERSMSCOMLPROC __glewXSwapBuffersMscOML;
1132 extern PFNGLXWAITFORMSCOMLPROC __glewXWaitForMscOML;
1133 extern PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML;
1134 #endif
1135 
1136 extern PFNGLXCHOOSEFBCONFIGSGIXPROC __glewXChooseFBConfigSGIX;
1137 extern PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC __glewXCreateContextWithConfigSGIX;
1138 extern PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC __glewXCreateGLXPixmapWithConfigSGIX;
1139 extern PFNGLXGETFBCONFIGATTRIBSGIXPROC __glewXGetFBConfigAttribSGIX;
1140 extern PFNGLXGETFBCONFIGFROMVISUALSGIXPROC __glewXGetFBConfigFromVisualSGIX;
1141 extern PFNGLXGETVISUALFROMFBCONFIGSGIXPROC __glewXGetVisualFromFBConfigSGIX;
1142 
1143 extern PFNGLXBINDHYPERPIPESGIXPROC __glewXBindHyperpipeSGIX;
1144 extern PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC __glewXDestroyHyperpipeConfigSGIX;
1145 extern PFNGLXHYPERPIPEATTRIBSGIXPROC __glewXHyperpipeAttribSGIX;
1146 extern PFNGLXHYPERPIPECONFIGSGIXPROC __glewXHyperpipeConfigSGIX;
1147 extern PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC __glewXQueryHyperpipeAttribSGIX;
1148 extern PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC __glewXQueryHyperpipeBestAttribSGIX;
1149 extern PFNGLXQUERYHYPERPIPECONFIGSGIXPROC __glewXQueryHyperpipeConfigSGIX;
1150 extern PFNGLXQUERYHYPERPIPENETWORKSGIXPROC __glewXQueryHyperpipeNetworkSGIX;
1151 
1152 extern PFNGLXCREATEGLXPBUFFERSGIXPROC __glewXCreateGLXPbufferSGIX;
1153 extern PFNGLXDESTROYGLXPBUFFERSGIXPROC __glewXDestroyGLXPbufferSGIX;
1154 extern PFNGLXGETSELECTEDEVENTSGIXPROC __glewXGetSelectedEventSGIX;
1155 extern PFNGLXQUERYGLXPBUFFERSGIXPROC __glewXQueryGLXPbufferSGIX;
1156 extern PFNGLXSELECTEVENTSGIXPROC __glewXSelectEventSGIX;
1157 
1158 extern PFNGLXBINDSWAPBARRIERSGIXPROC __glewXBindSwapBarrierSGIX;
1159 extern PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC __glewXQueryMaxSwapBarriersSGIX;
1160 
1161 extern PFNGLXJOINSWAPGROUPSGIXPROC __glewXJoinSwapGroupSGIX;
1162 
1163 extern PFNGLXBINDCHANNELTOWINDOWSGIXPROC __glewXBindChannelToWindowSGIX;
1164 extern PFNGLXCHANNELRECTSGIXPROC __glewXChannelRectSGIX;
1165 extern PFNGLXCHANNELRECTSYNCSGIXPROC __glewXChannelRectSyncSGIX;
1166 extern PFNGLXQUERYCHANNELDELTASSGIXPROC __glewXQueryChannelDeltasSGIX;
1167 extern PFNGLXQUERYCHANNELRECTSGIXPROC __glewXQueryChannelRectSGIX;
1168 
1169 extern PFNGLXCUSHIONSGIPROC __glewXCushionSGI;
1170 
1171 extern PFNGLXGETCURRENTREADDRAWABLESGIPROC __glewXGetCurrentReadDrawableSGI;
1172 extern PFNGLXMAKECURRENTREADSGIPROC __glewXMakeCurrentReadSGI;
1173 
1174 extern PFNGLXSWAPINTERVALSGIPROC __glewXSwapIntervalSGI;
1175 
1176 extern PFNGLXGETVIDEOSYNCSGIPROC __glewXGetVideoSyncSGI;
1177 extern PFNGLXWAITVIDEOSYNCSGIPROC __glewXWaitVideoSyncSGI;
1178 
1179 extern PFNGLXGETTRANSPARENTINDEXSUNPROC __glewXGetTransparentIndexSUN;
1180 
1181 extern PFNGLXGETVIDEORESIZESUNPROC __glewXGetVideoResizeSUN;
1182 extern PFNGLXVIDEORESIZESUNPROC __glewXVideoResizeSUN;
1183 
1184 #if defined(GLEW_MX)
1185 struct GLXEWContextStruct
1186 {
1187 #endif /* GLEW_MX */
1188 
1189 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_0;
1190 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_1;
1191 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_2;
1192 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_3;
1193 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_4;
1194 GLXEW_EXPORT GLboolean __GLXEW_3DFX_multisample;
1195 GLXEW_EXPORT GLboolean __GLXEW_ARB_fbconfig_float;
1196 GLXEW_EXPORT GLboolean __GLXEW_ARB_get_proc_address;
1197 GLXEW_EXPORT GLboolean __GLXEW_ARB_multisample;
1198 GLXEW_EXPORT GLboolean __GLXEW_ATI_pixel_format_float;
1199 GLXEW_EXPORT GLboolean __GLXEW_ATI_render_texture;
1200 GLXEW_EXPORT GLboolean __GLXEW_EXT_fbconfig_packed_float;
1201 GLXEW_EXPORT GLboolean __GLXEW_EXT_framebuffer_sRGB;
1202 GLXEW_EXPORT GLboolean __GLXEW_EXT_import_context;
1203 GLXEW_EXPORT GLboolean __GLXEW_EXT_scene_marker;
1204 GLXEW_EXPORT GLboolean __GLXEW_EXT_texture_from_pixmap;
1205 GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_info;
1206 GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_rating;
1207 GLXEW_EXPORT GLboolean __GLXEW_MESA_agp_offset;
1208 GLXEW_EXPORT GLboolean __GLXEW_MESA_copy_sub_buffer;
1209 GLXEW_EXPORT GLboolean __GLXEW_MESA_pixmap_colormap;
1210 GLXEW_EXPORT GLboolean __GLXEW_MESA_release_buffers;
1211 GLXEW_EXPORT GLboolean __GLXEW_MESA_set_3dfx_mode;
1212 GLXEW_EXPORT GLboolean __GLXEW_NV_float_buffer;
1213 GLXEW_EXPORT GLboolean __GLXEW_NV_vertex_array_range;
1214 GLXEW_EXPORT GLboolean __GLXEW_OML_swap_method;
1215 GLXEW_EXPORT GLboolean __GLXEW_OML_sync_control;
1216 GLXEW_EXPORT GLboolean __GLXEW_SGIS_blended_overlay;
1217 GLXEW_EXPORT GLboolean __GLXEW_SGIS_color_range;
1218 GLXEW_EXPORT GLboolean __GLXEW_SGIS_multisample;
1219 GLXEW_EXPORT GLboolean __GLXEW_SGIS_shared_multisample;
1220 GLXEW_EXPORT GLboolean __GLXEW_SGIX_fbconfig;
1221 GLXEW_EXPORT GLboolean __GLXEW_SGIX_hyperpipe;
1222 GLXEW_EXPORT GLboolean __GLXEW_SGIX_pbuffer;
1223 GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_barrier;
1224 GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_group;
1225 GLXEW_EXPORT GLboolean __GLXEW_SGIX_video_resize;
1226 GLXEW_EXPORT GLboolean __GLXEW_SGIX_visual_select_group;
1227 GLXEW_EXPORT GLboolean __GLXEW_SGI_cushion;
1228 GLXEW_EXPORT GLboolean __GLXEW_SGI_make_current_read;
1229 GLXEW_EXPORT GLboolean __GLXEW_SGI_swap_control;
1230 GLXEW_EXPORT GLboolean __GLXEW_SGI_video_sync;
1231 GLXEW_EXPORT GLboolean __GLXEW_SUN_get_transparent_index;
1232 GLXEW_EXPORT GLboolean __GLXEW_SUN_video_resize;
1233 
1234 #ifdef GLEW_MX
1235 }; /* GLXEWContextStruct */
1236 #endif /* GLEW_MX */
1237 
1238 /* ------------------------------------------------------------------------ */
1239 
1240 #ifdef GLEW_MX
1241 
1242 typedef struct GLXEWContextStruct GLXEWContext;
1243 extern GLenum glxewContextInit (GLXEWContext* ctx);
1244 extern GLboolean glxewContextIsSupported (GLXEWContext* ctx, const char* name);
1245 
1246 #define glxewInit() glxewContextInit(glxewGetContext())
1247 #define glxewIsSupported(x) glxewContextIsSupported(glxewGetContext(), x)
1248 
1249 #define GLXEW_GET_VAR(x) (*(const GLboolean*)&(glxewGetContext()->x))
1250 #define GLXEW_GET_FUN(x) x
1251 
1252 #else /* GLEW_MX */
1253 
1254 #define GLXEW_GET_VAR(x) (*(const GLboolean*)&x)
1255 #define GLXEW_GET_FUN(x) x
1256 
1257 extern GLboolean glxewIsSupported (const char* name);
1258 
1259 #endif /* GLEW_MX */
1260 
1261 extern GLboolean glxewGetExtension (const char* name);
1262 
1263 #ifdef __cplusplus
1264 }
1265 #endif
1266 
1267 #endif /* __glxew_h__ */
1268