Fork me on GitHub

source: svn/trunk/Utilities/FROG/Includes/GL/glxew.h@ 139

Last change on this file since 139 was 95, checked in by severine ovyn, 16 years ago

first commit frog

File size: 48.1 KB
RevLine 
[95]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 "glew.h"
98
99#ifdef __cplusplus
100extern "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
133typedef XID GLXDrawable;
134typedef XID GLXPixmap;
135#ifdef __sun
136typedef struct __glXContextRec *GLXContext;
137#else
138typedef struct __GLXcontextRec *GLXContext;
139#endif
140
141extern Bool glXQueryExtension (Display *dpy, int *errorBase, int *eventBase);
142extern Bool glXQueryVersion (Display *dpy, int *major, int *minor);
143extern int glXGetConfig (Display *dpy, XVisualInfo *vis, int attrib, int *value);
144extern XVisualInfo* glXChooseVisual (Display *dpy, int screen, int *attribList);
145extern GLXPixmap glXCreateGLXPixmap (Display *dpy, XVisualInfo *vis, Pixmap pixmap);
146extern void glXDestroyGLXPixmap (Display *dpy, GLXPixmap pix);
147extern GLXContext glXCreateContext (Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);
148extern void glXDestroyContext (Display *dpy, GLXContext ctx);
149extern Bool glXIsDirect (Display *dpy, GLXContext ctx);
150extern void glXCopyContext (Display *dpy, GLXContext src, GLXContext dst, GLulong mask);
151extern Bool glXMakeCurrent (Display *dpy, GLXDrawable drawable, GLXContext ctx);
152extern GLXContext glXGetCurrentContext (void);
153extern GLXDrawable glXGetCurrentDrawable (void);
154extern void glXWaitGL (void);
155extern void glXWaitX (void);
156extern void glXSwapBuffers (Display *dpy, GLXDrawable drawable);
157extern 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
172extern const char* glXQueryExtensionsString (Display *dpy, int screen);
173extern const char* glXGetClientString (Display *dpy, int name);
174extern 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
185typedef 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
255typedef XID GLXFBConfigID;
256typedef XID GLXWindow;
257typedef XID GLXPbuffer;
258typedef struct __GLXFBConfigRec *GLXFBConfig;
259
260typedef 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;
273typedef union __GLXEvent {
274 GLXPbufferClobberEvent glxpbufferclobber;
275 long pad[24];
276} GLXEvent;
277
278typedef GLXFBConfig* ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
279typedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
280typedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
281typedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
282typedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
283typedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
284typedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
285typedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
286typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
287typedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
288typedef GLXFBConfig* ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
289typedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
290typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
291typedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
292typedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
293typedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
294typedef 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
326extern 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
361extern 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
431typedef void ( * PFNGLXBINDTEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer);
432typedef void ( * PFNGLXDRAWABLEATTRIBATIPROC) (Display *dpy, GLXDrawable draw, const int *attrib_list);
433typedef 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
475typedef XID GLXContextID;
476
477typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display* dpy, GLXContext context);
478typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context);
479typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display* dpy, GLXContextID contextID);
480typedef 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
537typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer, const int *attrib_list);
538typedef 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
591typedef 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
604typedef 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
617typedef 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
630typedef 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
646typedef 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
670typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
671typedef 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
700typedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display* dpy, GLXDrawable drawable, int32_t* numerator, int32_t* denominator);
701typedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t* ust, int64_t* msc, int64_t* sbc);
702typedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
703typedef 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);
704typedef 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
787typedef XID GLXFBConfigIDSGIX;
788typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
789
790typedef GLXFBConfigSGIX* ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
791typedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
792typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, Pixmap pixmap);
793typedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, int attribute, int *value);
794typedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display* dpy, XVisualInfo *vis);
795typedef 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
824typedef struct {
825 char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
826 int networkId;
827} GLXHyperpipeNetworkSGIX;
828typedef struct {
829 char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
830 int XOrigin;
831 int YOrigin;
832 int maxHeight;
833 int maxWidth;
834} GLXPipeRectLimits;
835typedef struct {
836 char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
837 int channel;
838 unsigned int participationType;
839 int timeSlice;
840} GLXHyperpipeConfigSGIX;
841typedef 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
853typedef int ( * PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId);
854typedef int ( * PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId);
855typedef int ( * PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList);
856typedef int ( * PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId);
857typedef int ( * PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList);
858typedef int ( * PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList);
859typedef GLXHyperpipeConfigSGIX * ( * PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes);
860typedef 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
906typedef XID GLXPbufferSGIX;
907typedef 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
909typedef GLXPbuffer ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display* dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list);
910typedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf);
911typedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long *mask);
912typedef void ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf, int attribute, unsigned int *value);
913typedef 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
930typedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier);
931typedef 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
945typedef 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
961typedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display* display, int screen, int channel, Window window);
962typedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int x, int y, int w, int h);
963typedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display* display, int screen, int channel, GLenum synctype);
964typedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display* display, int screen, int channel, int *x, int *y, int *w, int *h);
965typedef 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
993typedef 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
1006typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void);
1007typedef 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
1021typedef 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
1034typedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (uint* count);
1035typedef 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
1049typedef 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
1065typedef int ( * PFNGLXGETVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float* factor);
1066typedef 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
1083extern PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay;
1084
1085extern PFNGLXCHOOSEFBCONFIGPROC __glewXChooseFBConfig;
1086extern PFNGLXCREATENEWCONTEXTPROC __glewXCreateNewContext;
1087extern PFNGLXCREATEPBUFFERPROC __glewXCreatePbuffer;
1088extern PFNGLXCREATEPIXMAPPROC __glewXCreatePixmap;
1089extern PFNGLXCREATEWINDOWPROC __glewXCreateWindow;
1090extern PFNGLXDESTROYPBUFFERPROC __glewXDestroyPbuffer;
1091extern PFNGLXDESTROYPIXMAPPROC __glewXDestroyPixmap;
1092extern PFNGLXDESTROYWINDOWPROC __glewXDestroyWindow;
1093extern PFNGLXGETCURRENTREADDRAWABLEPROC __glewXGetCurrentReadDrawable;
1094extern PFNGLXGETFBCONFIGATTRIBPROC __glewXGetFBConfigAttrib;
1095extern PFNGLXGETFBCONFIGSPROC __glewXGetFBConfigs;
1096extern PFNGLXGETSELECTEDEVENTPROC __glewXGetSelectedEvent;
1097extern PFNGLXGETVISUALFROMFBCONFIGPROC __glewXGetVisualFromFBConfig;
1098extern PFNGLXMAKECONTEXTCURRENTPROC __glewXMakeContextCurrent;
1099extern PFNGLXQUERYCONTEXTPROC __glewXQueryContext;
1100extern PFNGLXQUERYDRAWABLEPROC __glewXQueryDrawable;
1101extern PFNGLXSELECTEVENTPROC __glewXSelectEvent;
1102
1103extern PFNGLXBINDTEXIMAGEATIPROC __glewXBindTexImageATI;
1104extern PFNGLXDRAWABLEATTRIBATIPROC __glewXDrawableAttribATI;
1105extern PFNGLXRELEASETEXIMAGEATIPROC __glewXReleaseTexImageATI;
1106
1107extern PFNGLXFREECONTEXTEXTPROC __glewXFreeContextEXT;
1108extern PFNGLXGETCONTEXTIDEXTPROC __glewXGetContextIDEXT;
1109extern PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT;
1110extern PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT;
1111
1112extern PFNGLXBINDTEXIMAGEEXTPROC __glewXBindTexImageEXT;
1113extern PFNGLXRELEASETEXIMAGEEXTPROC __glewXReleaseTexImageEXT;
1114
1115extern PFNGLXGETAGPOFFSETMESAPROC __glewXGetAGPOffsetMESA;
1116
1117extern PFNGLXCOPYSUBBUFFERMESAPROC __glewXCopySubBufferMESA;
1118
1119extern PFNGLXCREATEGLXPIXMAPMESAPROC __glewXCreateGLXPixmapMESA;
1120
1121extern PFNGLXRELEASEBUFFERSMESAPROC __glewXReleaseBuffersMESA;
1122
1123extern PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA;
1124
1125extern PFNGLXALLOCATEMEMORYNVPROC __glewXAllocateMemoryNV;
1126extern PFNGLXFREEMEMORYNVPROC __glewXFreeMemoryNV;
1127
1128#ifdef GLX_OML_sync_control
1129extern PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML;
1130extern PFNGLXGETSYNCVALUESOMLPROC __glewXGetSyncValuesOML;
1131extern PFNGLXSWAPBUFFERSMSCOMLPROC __glewXSwapBuffersMscOML;
1132extern PFNGLXWAITFORMSCOMLPROC __glewXWaitForMscOML;
1133extern PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML;
1134#endif
1135
1136extern PFNGLXCHOOSEFBCONFIGSGIXPROC __glewXChooseFBConfigSGIX;
1137extern PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC __glewXCreateContextWithConfigSGIX;
1138extern PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC __glewXCreateGLXPixmapWithConfigSGIX;
1139extern PFNGLXGETFBCONFIGATTRIBSGIXPROC __glewXGetFBConfigAttribSGIX;
1140extern PFNGLXGETFBCONFIGFROMVISUALSGIXPROC __glewXGetFBConfigFromVisualSGIX;
1141extern PFNGLXGETVISUALFROMFBCONFIGSGIXPROC __glewXGetVisualFromFBConfigSGIX;
1142
1143extern PFNGLXBINDHYPERPIPESGIXPROC __glewXBindHyperpipeSGIX;
1144extern PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC __glewXDestroyHyperpipeConfigSGIX;
1145extern PFNGLXHYPERPIPEATTRIBSGIXPROC __glewXHyperpipeAttribSGIX;
1146extern PFNGLXHYPERPIPECONFIGSGIXPROC __glewXHyperpipeConfigSGIX;
1147extern PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC __glewXQueryHyperpipeAttribSGIX;
1148extern PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC __glewXQueryHyperpipeBestAttribSGIX;
1149extern PFNGLXQUERYHYPERPIPECONFIGSGIXPROC __glewXQueryHyperpipeConfigSGIX;
1150extern PFNGLXQUERYHYPERPIPENETWORKSGIXPROC __glewXQueryHyperpipeNetworkSGIX;
1151
1152extern PFNGLXCREATEGLXPBUFFERSGIXPROC __glewXCreateGLXPbufferSGIX;
1153extern PFNGLXDESTROYGLXPBUFFERSGIXPROC __glewXDestroyGLXPbufferSGIX;
1154extern PFNGLXGETSELECTEDEVENTSGIXPROC __glewXGetSelectedEventSGIX;
1155extern PFNGLXQUERYGLXPBUFFERSGIXPROC __glewXQueryGLXPbufferSGIX;
1156extern PFNGLXSELECTEVENTSGIXPROC __glewXSelectEventSGIX;
1157
1158extern PFNGLXBINDSWAPBARRIERSGIXPROC __glewXBindSwapBarrierSGIX;
1159extern PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC __glewXQueryMaxSwapBarriersSGIX;
1160
1161extern PFNGLXJOINSWAPGROUPSGIXPROC __glewXJoinSwapGroupSGIX;
1162
1163extern PFNGLXBINDCHANNELTOWINDOWSGIXPROC __glewXBindChannelToWindowSGIX;
1164extern PFNGLXCHANNELRECTSGIXPROC __glewXChannelRectSGIX;
1165extern PFNGLXCHANNELRECTSYNCSGIXPROC __glewXChannelRectSyncSGIX;
1166extern PFNGLXQUERYCHANNELDELTASSGIXPROC __glewXQueryChannelDeltasSGIX;
1167extern PFNGLXQUERYCHANNELRECTSGIXPROC __glewXQueryChannelRectSGIX;
1168
1169extern PFNGLXCUSHIONSGIPROC __glewXCushionSGI;
1170
1171extern PFNGLXGETCURRENTREADDRAWABLESGIPROC __glewXGetCurrentReadDrawableSGI;
1172extern PFNGLXMAKECURRENTREADSGIPROC __glewXMakeCurrentReadSGI;
1173
1174extern PFNGLXSWAPINTERVALSGIPROC __glewXSwapIntervalSGI;
1175
1176extern PFNGLXGETVIDEOSYNCSGIPROC __glewXGetVideoSyncSGI;
1177extern PFNGLXWAITVIDEOSYNCSGIPROC __glewXWaitVideoSyncSGI;
1178
1179extern PFNGLXGETTRANSPARENTINDEXSUNPROC __glewXGetTransparentIndexSUN;
1180
1181extern PFNGLXGETVIDEORESIZESUNPROC __glewXGetVideoResizeSUN;
1182extern PFNGLXVIDEORESIZESUNPROC __glewXVideoResizeSUN;
1183
1184#if defined(GLEW_MX)
1185struct GLXEWContextStruct
1186{
1187#endif /* GLEW_MX */
1188
1189GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_0;
1190GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_1;
1191GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_2;
1192GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_3;
1193GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_4;
1194GLXEW_EXPORT GLboolean __GLXEW_3DFX_multisample;
1195GLXEW_EXPORT GLboolean __GLXEW_ARB_fbconfig_float;
1196GLXEW_EXPORT GLboolean __GLXEW_ARB_get_proc_address;
1197GLXEW_EXPORT GLboolean __GLXEW_ARB_multisample;
1198GLXEW_EXPORT GLboolean __GLXEW_ATI_pixel_format_float;
1199GLXEW_EXPORT GLboolean __GLXEW_ATI_render_texture;
1200GLXEW_EXPORT GLboolean __GLXEW_EXT_fbconfig_packed_float;
1201GLXEW_EXPORT GLboolean __GLXEW_EXT_framebuffer_sRGB;
1202GLXEW_EXPORT GLboolean __GLXEW_EXT_import_context;
1203GLXEW_EXPORT GLboolean __GLXEW_EXT_scene_marker;
1204GLXEW_EXPORT GLboolean __GLXEW_EXT_texture_from_pixmap;
1205GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_info;
1206GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_rating;
1207GLXEW_EXPORT GLboolean __GLXEW_MESA_agp_offset;
1208GLXEW_EXPORT GLboolean __GLXEW_MESA_copy_sub_buffer;
1209GLXEW_EXPORT GLboolean __GLXEW_MESA_pixmap_colormap;
1210GLXEW_EXPORT GLboolean __GLXEW_MESA_release_buffers;
1211GLXEW_EXPORT GLboolean __GLXEW_MESA_set_3dfx_mode;
1212GLXEW_EXPORT GLboolean __GLXEW_NV_float_buffer;
1213GLXEW_EXPORT GLboolean __GLXEW_NV_vertex_array_range;
1214GLXEW_EXPORT GLboolean __GLXEW_OML_swap_method;
1215GLXEW_EXPORT GLboolean __GLXEW_OML_sync_control;
1216GLXEW_EXPORT GLboolean __GLXEW_SGIS_blended_overlay;
1217GLXEW_EXPORT GLboolean __GLXEW_SGIS_color_range;
1218GLXEW_EXPORT GLboolean __GLXEW_SGIS_multisample;
1219GLXEW_EXPORT GLboolean __GLXEW_SGIS_shared_multisample;
1220GLXEW_EXPORT GLboolean __GLXEW_SGIX_fbconfig;
1221GLXEW_EXPORT GLboolean __GLXEW_SGIX_hyperpipe;
1222GLXEW_EXPORT GLboolean __GLXEW_SGIX_pbuffer;
1223GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_barrier;
1224GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_group;
1225GLXEW_EXPORT GLboolean __GLXEW_SGIX_video_resize;
1226GLXEW_EXPORT GLboolean __GLXEW_SGIX_visual_select_group;
1227GLXEW_EXPORT GLboolean __GLXEW_SGI_cushion;
1228GLXEW_EXPORT GLboolean __GLXEW_SGI_make_current_read;
1229GLXEW_EXPORT GLboolean __GLXEW_SGI_swap_control;
1230GLXEW_EXPORT GLboolean __GLXEW_SGI_video_sync;
1231GLXEW_EXPORT GLboolean __GLXEW_SUN_get_transparent_index;
1232GLXEW_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
1242typedef struct GLXEWContextStruct GLXEWContext;
1243extern GLenum glxewContextInit (GLXEWContext* ctx);
1244extern 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
1257extern GLboolean glxewIsSupported (const char* name);
1258
1259#endif /* GLEW_MX */
1260
1261extern GLboolean glxewGetExtension (const char* name);
1262
1263#ifdef __cplusplus
1264}
1265#endif
1266
1267#endif /* __glxew_h__ */
Note: See TracBrowser for help on using the repository browser.