GEL  2
GEL is a library for Geometry and Linear Algebra
/Users/jab/Documents/Teaching/02585/GEL2_and_demos/GEL/src/GLGraphics/glxew.h
00001 /*
00002 ** The OpenGL Extension Wrangler Library
00003 ** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
00004 ** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
00005 ** Copyright (C) 2002, Lev Povalahev
00006 ** All rights reserved.
00007 ** 
00008 ** Redistribution and use in source and binary forms, with or without 
00009 ** modification, are permitted provided that the following conditions are met:
00010 ** 
00011 ** * Redistributions of source code must retain the above copyright notice, 
00012 **   this list of conditions and the following disclaimer.
00013 ** * Redistributions in binary form must reproduce the above copyright notice, 
00014 **   this list of conditions and the following disclaimer in the documentation 
00015 **   and/or other materials provided with the distribution.
00016 ** * The name of the author may be used to endorse or promote products 
00017 **   derived from this software without specific prior written permission.
00018 **
00019 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
00020 ** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
00021 ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00022 ** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
00023 ** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
00024 ** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
00025 ** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00026 ** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00027 ** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00028 ** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
00029 ** THE POSSIBILITY OF SUCH DAMAGE.
00030 */
00031 
00032 /*
00033  * Mesa 3-D graphics library
00034  * Version:  7.0
00035  *
00036  * Copyright (C) 1999-2007  Brian Paul   All Rights Reserved.
00037  *
00038  * Permission is hereby granted, free of charge, to any person obtaining a
00039  * copy of this software and associated documentation files (the "Software"),
00040  * to deal in the Software without restriction, including without limitation
00041  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00042  * and/or sell copies of the Software, and to permit persons to whom the
00043  * Software is furnished to do so, subject to the following conditions:
00044  *
00045  * The above copyright notice and this permission notice shall be included
00046  * in all copies or substantial portions of the Software.
00047  *
00048  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00049  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00050  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
00051  * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
00052  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
00053  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00054  */
00055 
00056 /*
00057 ** Copyright (c) 2007 The Khronos Group Inc.
00058 ** 
00059 ** Permission is hereby granted, free of charge, to any person obtaining a
00060 ** copy of this software and/or associated documentation files (the
00061 ** "Materials"), to deal in the Materials without restriction, including
00062 ** without limitation the rights to use, copy, modify, merge, publish,
00063 ** distribute, sublicense, and/or sell copies of the Materials, and to
00064 ** permit persons to whom the Materials are furnished to do so, subject to
00065 ** the following conditions:
00066 ** 
00067 ** The above copyright notice and this permission notice shall be included
00068 ** in all copies or substantial portions of the Materials.
00069 ** 
00070 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
00071 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00072 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
00073 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
00074 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
00075 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
00076 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
00077 */
00078 
00079 #ifndef __glxew_h__
00080 #define __glxew_h__
00081 #define __GLXEW_H__
00082 
00083 #ifdef __glxext_h_
00084 #error glxext.h included before glxew.h
00085 #endif
00086 #ifdef GLX_H
00087 #error glx.h included before glxew.h
00088 #endif
00089 
00090 #define __glxext_h_
00091 #define __GLX_glx_h__
00092 #define GLX_H
00093 
00094 #include <X11/Xlib.h>
00095 #include <X11/Xutil.h>
00096 #include <X11/Xmd.h>
00097 #include <GL/glew.h>
00098 
00099 #ifdef __cplusplus
00100 extern "C" {
00101 #endif
00102 
00103 /* ---------------------------- GLX_VERSION_1_0 --------------------------- */
00104 
00105 #ifndef GLX_VERSION_1_0
00106 #define GLX_VERSION_1_0 1
00107 
00108 #define GLX_USE_GL 1
00109 #define GLX_BUFFER_SIZE 2
00110 #define GLX_LEVEL 3
00111 #define GLX_RGBA 4
00112 #define GLX_DOUBLEBUFFER 5
00113 #define GLX_STEREO 6
00114 #define GLX_AUX_BUFFERS 7
00115 #define GLX_RED_SIZE 8
00116 #define GLX_GREEN_SIZE 9
00117 #define GLX_BLUE_SIZE 10
00118 #define GLX_ALPHA_SIZE 11
00119 #define GLX_DEPTH_SIZE 12
00120 #define GLX_STENCIL_SIZE 13
00121 #define GLX_ACCUM_RED_SIZE 14
00122 #define GLX_ACCUM_GREEN_SIZE 15
00123 #define GLX_ACCUM_BLUE_SIZE 16
00124 #define GLX_ACCUM_ALPHA_SIZE 17
00125 #define GLX_BAD_SCREEN 1
00126 #define GLX_BAD_ATTRIBUTE 2
00127 #define GLX_NO_EXTENSION 3
00128 #define GLX_BAD_VISUAL 4
00129 #define GLX_BAD_CONTEXT 5
00130 #define GLX_BAD_VALUE 6
00131 #define GLX_BAD_ENUM 7
00132 
00133 typedef XID GLXDrawable;
00134 typedef XID GLXPixmap;
00135 #ifdef __sun
00136 typedef struct __glXContextRec *GLXContext;
00137 #else
00138 typedef struct __GLXcontextRec *GLXContext;
00139 #endif
00140 
00141 typedef unsigned int GLXVideoDeviceNV; 
00142 
00143 extern Bool glXQueryExtension (Display *dpy, int *errorBase, int *eventBase);
00144 extern Bool glXQueryVersion (Display *dpy, int *major, int *minor);
00145 extern int glXGetConfig (Display *dpy, XVisualInfo *vis, int attrib, int *value);
00146 extern XVisualInfo* glXChooseVisual (Display *dpy, int screen, int *attribList);
00147 extern GLXPixmap glXCreateGLXPixmap (Display *dpy, XVisualInfo *vis, Pixmap pixmap);
00148 extern void glXDestroyGLXPixmap (Display *dpy, GLXPixmap pix);
00149 extern GLXContext glXCreateContext (Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);
00150 extern void glXDestroyContext (Display *dpy, GLXContext ctx);
00151 extern Bool glXIsDirect (Display *dpy, GLXContext ctx);
00152 extern void glXCopyContext (Display *dpy, GLXContext src, GLXContext dst, GLulong mask);
00153 extern Bool glXMakeCurrent (Display *dpy, GLXDrawable drawable, GLXContext ctx);
00154 extern GLXContext glXGetCurrentContext (void);
00155 extern GLXDrawable glXGetCurrentDrawable (void);
00156 extern void glXWaitGL (void);
00157 extern void glXWaitX (void);
00158 extern void glXSwapBuffers (Display *dpy, GLXDrawable drawable);
00159 extern void glXUseXFont (Font font, int first, int count, int listBase);
00160 
00161 #define GLXEW_VERSION_1_0 GLXEW_GET_VAR(__GLXEW_VERSION_1_0)
00162 
00163 #endif /* GLX_VERSION_1_0 */
00164 
00165 /* ---------------------------- GLX_VERSION_1_1 --------------------------- */
00166 
00167 #ifndef GLX_VERSION_1_1
00168 #define GLX_VERSION_1_1
00169 
00170 #define GLX_VENDOR 0x1
00171 #define GLX_VERSION 0x2
00172 #define GLX_EXTENSIONS 0x3
00173 
00174 extern const char* glXQueryExtensionsString (Display *dpy, int screen);
00175 extern const char* glXGetClientString (Display *dpy, int name);
00176 extern const char* glXQueryServerString (Display *dpy, int screen, int name);
00177 
00178 #define GLXEW_VERSION_1_1 GLXEW_GET_VAR(__GLXEW_VERSION_1_1)
00179 
00180 #endif /* GLX_VERSION_1_1 */
00181 
00182 /* ---------------------------- GLX_VERSION_1_2 ---------------------------- */
00183 
00184 #ifndef GLX_VERSION_1_2
00185 #define GLX_VERSION_1_2 1
00186 
00187 typedef Display* ( * PFNGLXGETCURRENTDISPLAYPROC) (void);
00188 
00189 #define glXGetCurrentDisplay GLXEW_GET_FUN(__glewXGetCurrentDisplay)
00190 
00191 #define GLXEW_VERSION_1_2 GLXEW_GET_VAR(__GLXEW_VERSION_1_2)
00192 
00193 #endif /* GLX_VERSION_1_2 */
00194 
00195 /* ---------------------------- GLX_VERSION_1_3 ---------------------------- */
00196 
00197 #ifndef GLX_VERSION_1_3
00198 #define GLX_VERSION_1_3 1
00199 
00200 #define GLX_RGBA_BIT 0x00000001
00201 #define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001
00202 #define GLX_WINDOW_BIT 0x00000001
00203 #define GLX_COLOR_INDEX_BIT 0x00000002
00204 #define GLX_PIXMAP_BIT 0x00000002
00205 #define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002
00206 #define GLX_BACK_LEFT_BUFFER_BIT 0x00000004
00207 #define GLX_PBUFFER_BIT 0x00000004
00208 #define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
00209 #define GLX_AUX_BUFFERS_BIT 0x00000010
00210 #define GLX_CONFIG_CAVEAT 0x20
00211 #define GLX_DEPTH_BUFFER_BIT 0x00000020
00212 #define GLX_X_VISUAL_TYPE 0x22
00213 #define GLX_TRANSPARENT_TYPE 0x23
00214 #define GLX_TRANSPARENT_INDEX_VALUE 0x24
00215 #define GLX_TRANSPARENT_RED_VALUE 0x25
00216 #define GLX_TRANSPARENT_GREEN_VALUE 0x26
00217 #define GLX_TRANSPARENT_BLUE_VALUE 0x27
00218 #define GLX_TRANSPARENT_ALPHA_VALUE 0x28
00219 #define GLX_STENCIL_BUFFER_BIT 0x00000040
00220 #define GLX_ACCUM_BUFFER_BIT 0x00000080
00221 #define GLX_NONE 0x8000
00222 #define GLX_SLOW_CONFIG 0x8001
00223 #define GLX_TRUE_COLOR 0x8002
00224 #define GLX_DIRECT_COLOR 0x8003
00225 #define GLX_PSEUDO_COLOR 0x8004
00226 #define GLX_STATIC_COLOR 0x8005
00227 #define GLX_GRAY_SCALE 0x8006
00228 #define GLX_STATIC_GRAY 0x8007
00229 #define GLX_TRANSPARENT_RGB 0x8008
00230 #define GLX_TRANSPARENT_INDEX 0x8009
00231 #define GLX_VISUAL_ID 0x800B
00232 #define GLX_SCREEN 0x800C
00233 #define GLX_NON_CONFORMANT_CONFIG 0x800D
00234 #define GLX_DRAWABLE_TYPE 0x8010
00235 #define GLX_RENDER_TYPE 0x8011
00236 #define GLX_X_RENDERABLE 0x8012
00237 #define GLX_FBCONFIG_ID 0x8013
00238 #define GLX_RGBA_TYPE 0x8014
00239 #define GLX_COLOR_INDEX_TYPE 0x8015
00240 #define GLX_MAX_PBUFFER_WIDTH 0x8016
00241 #define GLX_MAX_PBUFFER_HEIGHT 0x8017
00242 #define GLX_MAX_PBUFFER_PIXELS 0x8018
00243 #define GLX_PRESERVED_CONTENTS 0x801B
00244 #define GLX_LARGEST_PBUFFER 0x801C
00245 #define GLX_WIDTH 0x801D
00246 #define GLX_HEIGHT 0x801E
00247 #define GLX_EVENT_MASK 0x801F
00248 #define GLX_DAMAGED 0x8020
00249 #define GLX_SAVED 0x8021
00250 #define GLX_WINDOW 0x8022
00251 #define GLX_PBUFFER 0x8023
00252 #define GLX_PBUFFER_HEIGHT 0x8040
00253 #define GLX_PBUFFER_WIDTH 0x8041
00254 #define GLX_PBUFFER_CLOBBER_MASK 0x08000000
00255 #define GLX_DONT_CARE 0xFFFFFFFF
00256 
00257 typedef XID GLXFBConfigID;
00258 typedef XID GLXWindow;
00259 typedef XID GLXPbuffer;
00260 typedef struct __GLXFBConfigRec *GLXFBConfig;
00261 
00262 typedef struct {
00263   int event_type; 
00264   int draw_type; 
00265   unsigned long serial; 
00266   Bool send_event; 
00267   Display *display; 
00268   GLXDrawable drawable; 
00269   unsigned int buffer_mask; 
00270   unsigned int aux_buffer; 
00271   int x, y; 
00272   int width, height; 
00273   int count; 
00274 } GLXPbufferClobberEvent;
00275 typedef union __GLXEvent {
00276   GLXPbufferClobberEvent glxpbufferclobber; 
00277   long pad[24]; 
00278 } GLXEvent;
00279 
00280 typedef GLXFBConfig* ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
00281 typedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
00282 typedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
00283 typedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
00284 typedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
00285 typedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
00286 typedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
00287 typedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
00288 typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
00289 typedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
00290 typedef GLXFBConfig* ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
00291 typedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
00292 typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
00293 typedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
00294 typedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
00295 typedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
00296 typedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask);
00297 
00298 #define glXChooseFBConfig GLXEW_GET_FUN(__glewXChooseFBConfig)
00299 #define glXCreateNewContext GLXEW_GET_FUN(__glewXCreateNewContext)
00300 #define glXCreatePbuffer GLXEW_GET_FUN(__glewXCreatePbuffer)
00301 #define glXCreatePixmap GLXEW_GET_FUN(__glewXCreatePixmap)
00302 #define glXCreateWindow GLXEW_GET_FUN(__glewXCreateWindow)
00303 #define glXDestroyPbuffer GLXEW_GET_FUN(__glewXDestroyPbuffer)
00304 #define glXDestroyPixmap GLXEW_GET_FUN(__glewXDestroyPixmap)
00305 #define glXDestroyWindow GLXEW_GET_FUN(__glewXDestroyWindow)
00306 #define glXGetCurrentReadDrawable GLXEW_GET_FUN(__glewXGetCurrentReadDrawable)
00307 #define glXGetFBConfigAttrib GLXEW_GET_FUN(__glewXGetFBConfigAttrib)
00308 #define glXGetFBConfigs GLXEW_GET_FUN(__glewXGetFBConfigs)
00309 #define glXGetSelectedEvent GLXEW_GET_FUN(__glewXGetSelectedEvent)
00310 #define glXGetVisualFromFBConfig GLXEW_GET_FUN(__glewXGetVisualFromFBConfig)
00311 #define glXMakeContextCurrent GLXEW_GET_FUN(__glewXMakeContextCurrent)
00312 #define glXQueryContext GLXEW_GET_FUN(__glewXQueryContext)
00313 #define glXQueryDrawable GLXEW_GET_FUN(__glewXQueryDrawable)
00314 #define glXSelectEvent GLXEW_GET_FUN(__glewXSelectEvent)
00315 
00316 #define GLXEW_VERSION_1_3 GLXEW_GET_VAR(__GLXEW_VERSION_1_3)
00317 
00318 #endif /* GLX_VERSION_1_3 */
00319 
00320 /* ---------------------------- GLX_VERSION_1_4 ---------------------------- */
00321 
00322 #ifndef GLX_VERSION_1_4
00323 #define GLX_VERSION_1_4 1
00324 
00325 #define GLX_SAMPLE_BUFFERS 100000
00326 #define GLX_SAMPLES 100001
00327 
00328 extern void ( * glXGetProcAddress (const GLubyte *procName)) (void);
00329 
00330 #define GLXEW_VERSION_1_4 GLXEW_GET_VAR(__GLXEW_VERSION_1_4)
00331 
00332 #endif /* GLX_VERSION_1_4 */
00333 
00334 /* -------------------------- GLX_3DFX_multisample ------------------------- */
00335 
00336 #ifndef GLX_3DFX_multisample
00337 #define GLX_3DFX_multisample 1
00338 
00339 #define GLX_SAMPLE_BUFFERS_3DFX 0x8050
00340 #define GLX_SAMPLES_3DFX 0x8051
00341 
00342 #define GLXEW_3DFX_multisample GLXEW_GET_VAR(__GLXEW_3DFX_multisample)
00343 
00344 #endif /* GLX_3DFX_multisample */
00345 
00346 /* ------------------------- GLX_ARB_create_context ------------------------ */
00347 
00348 #ifndef GLX_ARB_create_context
00349 #define GLX_ARB_create_context 1
00350 
00351 #define GLX_CONTEXT_DEBUG_BIT_ARB 0x0001
00352 #define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002
00353 #define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
00354 #define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
00355 #define GLX_CONTEXT_FLAGS_ARB 0x2094
00356 
00357 typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display* dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
00358 
00359 #define glXCreateContextAttribsARB GLXEW_GET_FUN(__glewXCreateContextAttribsARB)
00360 
00361 #define GLXEW_ARB_create_context GLXEW_GET_VAR(__GLXEW_ARB_create_context)
00362 
00363 #endif /* GLX_ARB_create_context */
00364 
00365 /* --------------------- GLX_ARB_create_context_profile -------------------- */
00366 
00367 #ifndef GLX_ARB_create_context_profile
00368 #define GLX_ARB_create_context_profile 1
00369 
00370 #define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
00371 #define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
00372 #define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126
00373 
00374 #define GLXEW_ARB_create_context_profile GLXEW_GET_VAR(__GLXEW_ARB_create_context_profile)
00375 
00376 #endif /* GLX_ARB_create_context_profile */
00377 
00378 /* ------------------------- GLX_ARB_fbconfig_float ------------------------ */
00379 
00380 #ifndef GLX_ARB_fbconfig_float
00381 #define GLX_ARB_fbconfig_float 1
00382 
00383 #define GLX_RGBA_FLOAT_BIT 0x00000004
00384 #define GLX_RGBA_FLOAT_TYPE 0x20B9
00385 
00386 #define GLXEW_ARB_fbconfig_float GLXEW_GET_VAR(__GLXEW_ARB_fbconfig_float)
00387 
00388 #endif /* GLX_ARB_fbconfig_float */
00389 
00390 /* ------------------------ GLX_ARB_framebuffer_sRGB ----------------------- */
00391 
00392 #ifndef GLX_ARB_framebuffer_sRGB
00393 #define GLX_ARB_framebuffer_sRGB 1
00394 
00395 #define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20B2
00396 
00397 #define GLXEW_ARB_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_ARB_framebuffer_sRGB)
00398 
00399 #endif /* GLX_ARB_framebuffer_sRGB */
00400 
00401 /* ------------------------ GLX_ARB_get_proc_address ----------------------- */
00402 
00403 #ifndef GLX_ARB_get_proc_address
00404 #define GLX_ARB_get_proc_address 1
00405 
00406 extern void ( * glXGetProcAddressARB (const GLubyte *procName)) (void);
00407 
00408 #define GLXEW_ARB_get_proc_address GLXEW_GET_VAR(__GLXEW_ARB_get_proc_address)
00409 
00410 #endif /* GLX_ARB_get_proc_address */
00411 
00412 /* -------------------------- GLX_ARB_multisample -------------------------- */
00413 
00414 #ifndef GLX_ARB_multisample
00415 #define GLX_ARB_multisample 1
00416 
00417 #define GLX_SAMPLE_BUFFERS_ARB 100000
00418 #define GLX_SAMPLES_ARB 100001
00419 
00420 #define GLXEW_ARB_multisample GLXEW_GET_VAR(__GLXEW_ARB_multisample)
00421 
00422 #endif /* GLX_ARB_multisample */
00423 
00424 /* ----------------------- GLX_ATI_pixel_format_float ---------------------- */
00425 
00426 #ifndef GLX_ATI_pixel_format_float
00427 #define GLX_ATI_pixel_format_float 1
00428 
00429 #define GLX_RGBA_FLOAT_ATI_BIT 0x00000100
00430 
00431 #define GLXEW_ATI_pixel_format_float GLXEW_GET_VAR(__GLXEW_ATI_pixel_format_float)
00432 
00433 #endif /* GLX_ATI_pixel_format_float */
00434 
00435 /* ------------------------- GLX_ATI_render_texture ------------------------ */
00436 
00437 #ifndef GLX_ATI_render_texture
00438 #define GLX_ATI_render_texture 1
00439 
00440 #define GLX_BIND_TO_TEXTURE_RGB_ATI 0x9800
00441 #define GLX_BIND_TO_TEXTURE_RGBA_ATI 0x9801
00442 #define GLX_TEXTURE_FORMAT_ATI 0x9802
00443 #define GLX_TEXTURE_TARGET_ATI 0x9803
00444 #define GLX_MIPMAP_TEXTURE_ATI 0x9804
00445 #define GLX_TEXTURE_RGB_ATI 0x9805
00446 #define GLX_TEXTURE_RGBA_ATI 0x9806
00447 #define GLX_NO_TEXTURE_ATI 0x9807
00448 #define GLX_TEXTURE_CUBE_MAP_ATI 0x9808
00449 #define GLX_TEXTURE_1D_ATI 0x9809
00450 #define GLX_TEXTURE_2D_ATI 0x980A
00451 #define GLX_MIPMAP_LEVEL_ATI 0x980B
00452 #define GLX_CUBE_MAP_FACE_ATI 0x980C
00453 #define GLX_TEXTURE_CUBE_MAP_POSITIVE_X_ATI 0x980D
00454 #define GLX_TEXTURE_CUBE_MAP_NEGATIVE_X_ATI 0x980E
00455 #define GLX_TEXTURE_CUBE_MAP_POSITIVE_Y_ATI 0x980F
00456 #define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Y_ATI 0x9810
00457 #define GLX_TEXTURE_CUBE_MAP_POSITIVE_Z_ATI 0x9811
00458 #define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Z_ATI 0x9812
00459 #define GLX_FRONT_LEFT_ATI 0x9813
00460 #define GLX_FRONT_RIGHT_ATI 0x9814
00461 #define GLX_BACK_LEFT_ATI 0x9815
00462 #define GLX_BACK_RIGHT_ATI 0x9816
00463 #define GLX_AUX0_ATI 0x9817
00464 #define GLX_AUX1_ATI 0x9818
00465 #define GLX_AUX2_ATI 0x9819
00466 #define GLX_AUX3_ATI 0x981A
00467 #define GLX_AUX4_ATI 0x981B
00468 #define GLX_AUX5_ATI 0x981C
00469 #define GLX_AUX6_ATI 0x981D
00470 #define GLX_AUX7_ATI 0x981E
00471 #define GLX_AUX8_ATI 0x981F
00472 #define GLX_AUX9_ATI 0x9820
00473 #define GLX_BIND_TO_TEXTURE_LUMINANCE_ATI 0x9821
00474 #define GLX_BIND_TO_TEXTURE_INTENSITY_ATI 0x9822
00475 
00476 typedef void ( * PFNGLXBINDTEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer);
00477 typedef void ( * PFNGLXDRAWABLEATTRIBATIPROC) (Display *dpy, GLXDrawable draw, const int *attrib_list);
00478 typedef void ( * PFNGLXRELEASETEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer);
00479 
00480 #define glXBindTexImageATI GLXEW_GET_FUN(__glewXBindTexImageATI)
00481 #define glXDrawableAttribATI GLXEW_GET_FUN(__glewXDrawableAttribATI)
00482 #define glXReleaseTexImageATI GLXEW_GET_FUN(__glewXReleaseTexImageATI)
00483 
00484 #define GLXEW_ATI_render_texture GLXEW_GET_VAR(__GLXEW_ATI_render_texture)
00485 
00486 #endif /* GLX_ATI_render_texture */
00487 
00488 /* --------------------- GLX_EXT_fbconfig_packed_float --------------------- */
00489 
00490 #ifndef GLX_EXT_fbconfig_packed_float
00491 #define GLX_EXT_fbconfig_packed_float 1
00492 
00493 #define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008
00494 #define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1
00495 
00496 #define GLXEW_EXT_fbconfig_packed_float GLXEW_GET_VAR(__GLXEW_EXT_fbconfig_packed_float)
00497 
00498 #endif /* GLX_EXT_fbconfig_packed_float */
00499 
00500 /* ------------------------ GLX_EXT_framebuffer_sRGB ----------------------- */
00501 
00502 #ifndef GLX_EXT_framebuffer_sRGB
00503 #define GLX_EXT_framebuffer_sRGB 1
00504 
00505 #define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2
00506 
00507 #define GLXEW_EXT_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_EXT_framebuffer_sRGB)
00508 
00509 #endif /* GLX_EXT_framebuffer_sRGB */
00510 
00511 /* ------------------------- GLX_EXT_import_context ------------------------ */
00512 
00513 #ifndef GLX_EXT_import_context
00514 #define GLX_EXT_import_context 1
00515 
00516 #define GLX_SHARE_CONTEXT_EXT 0x800A
00517 #define GLX_VISUAL_ID_EXT 0x800B
00518 #define GLX_SCREEN_EXT 0x800C
00519 
00520 typedef XID GLXContextID;
00521 
00522 typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display* dpy, GLXContext context);
00523 typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context);
00524 typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display* dpy, GLXContextID contextID);
00525 typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display* dpy, GLXContext context, int attribute,int *value);
00526 
00527 #define glXFreeContextEXT GLXEW_GET_FUN(__glewXFreeContextEXT)
00528 #define glXGetContextIDEXT GLXEW_GET_FUN(__glewXGetContextIDEXT)
00529 #define glXImportContextEXT GLXEW_GET_FUN(__glewXImportContextEXT)
00530 #define glXQueryContextInfoEXT GLXEW_GET_FUN(__glewXQueryContextInfoEXT)
00531 
00532 #define GLXEW_EXT_import_context GLXEW_GET_VAR(__GLXEW_EXT_import_context)
00533 
00534 #endif /* GLX_EXT_import_context */
00535 
00536 /* -------------------------- GLX_EXT_scene_marker ------------------------- */
00537 
00538 #ifndef GLX_EXT_scene_marker
00539 #define GLX_EXT_scene_marker 1
00540 
00541 #define GLXEW_EXT_scene_marker GLXEW_GET_VAR(__GLXEW_EXT_scene_marker)
00542 
00543 #endif /* GLX_EXT_scene_marker */
00544 
00545 /* -------------------------- GLX_EXT_swap_control ------------------------- */
00546 
00547 #ifndef GLX_EXT_swap_control
00548 #define GLX_EXT_swap_control 1
00549 
00550 #define GLX_SWAP_INTERVAL_EXT 0x20F1
00551 #define GLX_MAX_SWAP_INTERVAL_EXT 0x20F2
00552 
00553 typedef void ( * PFNGLXSWAPINTERVALEXTPROC) (Display* dpy, GLXDrawable drawable, int interval);
00554 
00555 #define glXSwapIntervalEXT GLXEW_GET_FUN(__glewXSwapIntervalEXT)
00556 
00557 #define GLXEW_EXT_swap_control GLXEW_GET_VAR(__GLXEW_EXT_swap_control)
00558 
00559 #endif /* GLX_EXT_swap_control */
00560 
00561 /* ---------------------- GLX_EXT_texture_from_pixmap ---------------------- */
00562 
00563 #ifndef GLX_EXT_texture_from_pixmap
00564 #define GLX_EXT_texture_from_pixmap 1
00565 
00566 #define GLX_TEXTURE_1D_BIT_EXT 0x00000001
00567 #define GLX_TEXTURE_2D_BIT_EXT 0x00000002
00568 #define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
00569 #define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0
00570 #define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1
00571 #define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2
00572 #define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3
00573 #define GLX_Y_INVERTED_EXT 0x20D4
00574 #define GLX_TEXTURE_FORMAT_EXT 0x20D5
00575 #define GLX_TEXTURE_TARGET_EXT 0x20D6
00576 #define GLX_MIPMAP_TEXTURE_EXT 0x20D7
00577 #define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8
00578 #define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9
00579 #define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA
00580 #define GLX_TEXTURE_1D_EXT 0x20DB
00581 #define GLX_TEXTURE_2D_EXT 0x20DC
00582 #define GLX_TEXTURE_RECTANGLE_EXT 0x20DD
00583 #define GLX_FRONT_LEFT_EXT 0x20DE
00584 #define GLX_FRONT_RIGHT_EXT 0x20DF
00585 #define GLX_BACK_LEFT_EXT 0x20E0
00586 #define GLX_BACK_RIGHT_EXT 0x20E1
00587 #define GLX_AUX0_EXT 0x20E2
00588 #define GLX_AUX1_EXT 0x20E3
00589 #define GLX_AUX2_EXT 0x20E4
00590 #define GLX_AUX3_EXT 0x20E5
00591 #define GLX_AUX4_EXT 0x20E6
00592 #define GLX_AUX5_EXT 0x20E7
00593 #define GLX_AUX6_EXT 0x20E8
00594 #define GLX_AUX7_EXT 0x20E9
00595 #define GLX_AUX8_EXT 0x20EA
00596 #define GLX_AUX9_EXT 0x20EB
00597 
00598 typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer, const int *attrib_list);
00599 typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer);
00600 
00601 #define glXBindTexImageEXT GLXEW_GET_FUN(__glewXBindTexImageEXT)
00602 #define glXReleaseTexImageEXT GLXEW_GET_FUN(__glewXReleaseTexImageEXT)
00603 
00604 #define GLXEW_EXT_texture_from_pixmap GLXEW_GET_VAR(__GLXEW_EXT_texture_from_pixmap)
00605 
00606 #endif /* GLX_EXT_texture_from_pixmap */
00607 
00608 /* -------------------------- GLX_EXT_visual_info -------------------------- */
00609 
00610 #ifndef GLX_EXT_visual_info
00611 #define GLX_EXT_visual_info 1
00612 
00613 #define GLX_X_VISUAL_TYPE_EXT 0x22
00614 #define GLX_TRANSPARENT_TYPE_EXT 0x23
00615 #define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24
00616 #define GLX_TRANSPARENT_RED_VALUE_EXT 0x25
00617 #define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26
00618 #define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27
00619 #define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28
00620 #define GLX_NONE_EXT 0x8000
00621 #define GLX_TRUE_COLOR_EXT 0x8002
00622 #define GLX_DIRECT_COLOR_EXT 0x8003
00623 #define GLX_PSEUDO_COLOR_EXT 0x8004
00624 #define GLX_STATIC_COLOR_EXT 0x8005
00625 #define GLX_GRAY_SCALE_EXT 0x8006
00626 #define GLX_STATIC_GRAY_EXT 0x8007
00627 #define GLX_TRANSPARENT_RGB_EXT 0x8008
00628 #define GLX_TRANSPARENT_INDEX_EXT 0x8009
00629 
00630 #define GLXEW_EXT_visual_info GLXEW_GET_VAR(__GLXEW_EXT_visual_info)
00631 
00632 #endif /* GLX_EXT_visual_info */
00633 
00634 /* ------------------------- GLX_EXT_visual_rating ------------------------- */
00635 
00636 #ifndef GLX_EXT_visual_rating
00637 #define GLX_EXT_visual_rating 1
00638 
00639 #define GLX_VISUAL_CAVEAT_EXT 0x20
00640 #define GLX_SLOW_VISUAL_EXT 0x8001
00641 #define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D
00642 
00643 #define GLXEW_EXT_visual_rating GLXEW_GET_VAR(__GLXEW_EXT_visual_rating)
00644 
00645 #endif /* GLX_EXT_visual_rating */
00646 
00647 /* -------------------------- GLX_MESA_agp_offset -------------------------- */
00648 
00649 #ifndef GLX_MESA_agp_offset
00650 #define GLX_MESA_agp_offset 1
00651 
00652 typedef unsigned int ( * PFNGLXGETAGPOFFSETMESAPROC) (const void* pointer);
00653 
00654 #define glXGetAGPOffsetMESA GLXEW_GET_FUN(__glewXGetAGPOffsetMESA)
00655 
00656 #define GLXEW_MESA_agp_offset GLXEW_GET_VAR(__GLXEW_MESA_agp_offset)
00657 
00658 #endif /* GLX_MESA_agp_offset */
00659 
00660 /* ------------------------ GLX_MESA_copy_sub_buffer ----------------------- */
00661 
00662 #ifndef GLX_MESA_copy_sub_buffer
00663 #define GLX_MESA_copy_sub_buffer 1
00664 
00665 typedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display* dpy, GLXDrawable drawable, int x, int y, int width, int height);
00666 
00667 #define glXCopySubBufferMESA GLXEW_GET_FUN(__glewXCopySubBufferMESA)
00668 
00669 #define GLXEW_MESA_copy_sub_buffer GLXEW_GET_VAR(__GLXEW_MESA_copy_sub_buffer)
00670 
00671 #endif /* GLX_MESA_copy_sub_buffer */
00672 
00673 /* ------------------------ GLX_MESA_pixmap_colormap ----------------------- */
00674 
00675 #ifndef GLX_MESA_pixmap_colormap
00676 #define GLX_MESA_pixmap_colormap 1
00677 
00678 typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display* dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
00679 
00680 #define glXCreateGLXPixmapMESA GLXEW_GET_FUN(__glewXCreateGLXPixmapMESA)
00681 
00682 #define GLXEW_MESA_pixmap_colormap GLXEW_GET_VAR(__GLXEW_MESA_pixmap_colormap)
00683 
00684 #endif /* GLX_MESA_pixmap_colormap */
00685 
00686 /* ------------------------ GLX_MESA_release_buffers ----------------------- */
00687 
00688 #ifndef GLX_MESA_release_buffers
00689 #define GLX_MESA_release_buffers 1
00690 
00691 typedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display* dpy, GLXDrawable d);
00692 
00693 #define glXReleaseBuffersMESA GLXEW_GET_FUN(__glewXReleaseBuffersMESA)
00694 
00695 #define GLXEW_MESA_release_buffers GLXEW_GET_VAR(__GLXEW_MESA_release_buffers)
00696 
00697 #endif /* GLX_MESA_release_buffers */
00698 
00699 /* ------------------------- GLX_MESA_set_3dfx_mode ------------------------ */
00700 
00701 #ifndef GLX_MESA_set_3dfx_mode
00702 #define GLX_MESA_set_3dfx_mode 1
00703 
00704 #define GLX_3DFX_WINDOW_MODE_MESA 0x1
00705 #define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2
00706 
00707 typedef GLboolean ( * PFNGLXSET3DFXMODEMESAPROC) (GLint mode);
00708 
00709 #define glXSet3DfxModeMESA GLXEW_GET_FUN(__glewXSet3DfxModeMESA)
00710 
00711 #define GLXEW_MESA_set_3dfx_mode GLXEW_GET_VAR(__GLXEW_MESA_set_3dfx_mode)
00712 
00713 #endif /* GLX_MESA_set_3dfx_mode */
00714 
00715 /* --------------------------- GLX_NV_copy_image --------------------------- */
00716 
00717 #ifndef GLX_NV_copy_image
00718 #define GLX_NV_copy_image 1
00719 
00720 typedef void ( * PFNGLXCOPYIMAGESUBDATANVPROC) (Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
00721 
00722 #define glXCopyImageSubDataNV GLXEW_GET_FUN(__glewXCopyImageSubDataNV)
00723 
00724 #define GLXEW_NV_copy_image GLXEW_GET_VAR(__GLXEW_NV_copy_image)
00725 
00726 #endif /* GLX_NV_copy_image */
00727 
00728 /* -------------------------- GLX_NV_float_buffer -------------------------- */
00729 
00730 #ifndef GLX_NV_float_buffer
00731 #define GLX_NV_float_buffer 1
00732 
00733 #define GLX_FLOAT_COMPONENTS_NV 0x20B0
00734 
00735 #define GLXEW_NV_float_buffer GLXEW_GET_VAR(__GLXEW_NV_float_buffer)
00736 
00737 #endif /* GLX_NV_float_buffer */
00738 
00739 /* -------------------------- GLX_NV_present_video ------------------------- */
00740 
00741 #ifndef GLX_NV_present_video
00742 #define GLX_NV_present_video 1
00743 
00744 #define GLX_NUM_VIDEO_SLOTS_NV 0x20F0
00745 
00746 typedef int ( * PFNGLXBINDVIDEODEVICENVPROC) (Display* dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
00747 typedef unsigned int* ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements);
00748 
00749 #define glXBindVideoDeviceNV GLXEW_GET_FUN(__glewXBindVideoDeviceNV)
00750 #define glXEnumerateVideoDevicesNV GLXEW_GET_FUN(__glewXEnumerateVideoDevicesNV)
00751 
00752 #define GLXEW_NV_present_video GLXEW_GET_VAR(__GLXEW_NV_present_video)
00753 
00754 #endif /* GLX_NV_present_video */
00755 
00756 /* --------------------------- GLX_NV_swap_group --------------------------- */
00757 
00758 #ifndef GLX_NV_swap_group
00759 #define GLX_NV_swap_group 1
00760 
00761 typedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display* dpy, GLuint group, GLuint barrier);
00762 typedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint group);
00763 typedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display* dpy, int screen, GLuint *count);
00764 typedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display* dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
00765 typedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
00766 typedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display* dpy, int screen);
00767 
00768 #define glXBindSwapBarrierNV GLXEW_GET_FUN(__glewXBindSwapBarrierNV)
00769 #define glXJoinSwapGroupNV GLXEW_GET_FUN(__glewXJoinSwapGroupNV)
00770 #define glXQueryFrameCountNV GLXEW_GET_FUN(__glewXQueryFrameCountNV)
00771 #define glXQueryMaxSwapGroupsNV GLXEW_GET_FUN(__glewXQueryMaxSwapGroupsNV)
00772 #define glXQuerySwapGroupNV GLXEW_GET_FUN(__glewXQuerySwapGroupNV)
00773 #define glXResetFrameCountNV GLXEW_GET_FUN(__glewXResetFrameCountNV)
00774 
00775 #define GLXEW_NV_swap_group GLXEW_GET_VAR(__GLXEW_NV_swap_group)
00776 
00777 #endif /* GLX_NV_swap_group */
00778 
00779 /* ----------------------- GLX_NV_vertex_array_range ----------------------- */
00780 
00781 #ifndef GLX_NV_vertex_array_range
00782 #define GLX_NV_vertex_array_range 1
00783 
00784 typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
00785 typedef void ( * PFNGLXFREEMEMORYNVPROC) (void *pointer);
00786 
00787 #define glXAllocateMemoryNV GLXEW_GET_FUN(__glewXAllocateMemoryNV)
00788 #define glXFreeMemoryNV GLXEW_GET_FUN(__glewXFreeMemoryNV)
00789 
00790 #define GLXEW_NV_vertex_array_range GLXEW_GET_VAR(__GLXEW_NV_vertex_array_range)
00791 
00792 #endif /* GLX_NV_vertex_array_range */
00793 
00794 /* -------------------------- GLX_NV_video_output -------------------------- */
00795 
00796 #ifndef GLX_NV_video_output
00797 #define GLX_NV_video_output 1
00798 
00799 #define GLX_VIDEO_OUT_COLOR_NV 0x20C3
00800 #define GLX_VIDEO_OUT_ALPHA_NV 0x20C4
00801 #define GLX_VIDEO_OUT_DEPTH_NV 0x20C5
00802 #define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
00803 #define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
00804 #define GLX_VIDEO_OUT_FRAME_NV 0x20C8
00805 #define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9
00806 #define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA
00807 #define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB
00808 #define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
00809 
00810 typedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display* dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
00811 typedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display* dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
00812 typedef int ( * PFNGLXGETVIDEOINFONVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
00813 typedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice);
00814 typedef int ( * PFNGLXRELEASEVIDEOIMAGENVPROC) (Display* dpy, GLXPbuffer pbuf);
00815 typedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display* dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
00816 
00817 #define glXBindVideoImageNV GLXEW_GET_FUN(__glewXBindVideoImageNV)
00818 #define glXGetVideoDeviceNV GLXEW_GET_FUN(__glewXGetVideoDeviceNV)
00819 #define glXGetVideoInfoNV GLXEW_GET_FUN(__glewXGetVideoInfoNV)
00820 #define glXReleaseVideoDeviceNV GLXEW_GET_FUN(__glewXReleaseVideoDeviceNV)
00821 #define glXReleaseVideoImageNV GLXEW_GET_FUN(__glewXReleaseVideoImageNV)
00822 #define glXSendPbufferToVideoNV GLXEW_GET_FUN(__glewXSendPbufferToVideoNV)
00823 
00824 #define GLXEW_NV_video_output GLXEW_GET_VAR(__GLXEW_NV_video_output)
00825 
00826 #endif /* GLX_NV_video_output */
00827 
00828 /* -------------------------- GLX_OML_swap_method -------------------------- */
00829 
00830 #ifndef GLX_OML_swap_method
00831 #define GLX_OML_swap_method 1
00832 
00833 #define GLX_SWAP_METHOD_OML 0x8060
00834 #define GLX_SWAP_EXCHANGE_OML 0x8061
00835 #define GLX_SWAP_COPY_OML 0x8062
00836 #define GLX_SWAP_UNDEFINED_OML 0x8063
00837 
00838 #define GLXEW_OML_swap_method GLXEW_GET_VAR(__GLXEW_OML_swap_method)
00839 
00840 #endif /* GLX_OML_swap_method */
00841 
00842 /* -------------------------- GLX_OML_sync_control ------------------------- */
00843 
00844 #if !defined(GLX_OML_sync_control) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
00845 #include <inttypes.h>
00846 #define GLX_OML_sync_control 1
00847 
00848 typedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display* dpy, GLXDrawable drawable, int32_t* numerator, int32_t* denominator);
00849 typedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t* ust, int64_t* msc, int64_t* sbc);
00850 typedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
00851 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);
00852 typedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_sbc, int64_t* ust, int64_t* msc, int64_t* sbc);
00853 
00854 #define glXGetMscRateOML GLXEW_GET_FUN(__glewXGetMscRateOML)
00855 #define glXGetSyncValuesOML GLXEW_GET_FUN(__glewXGetSyncValuesOML)
00856 #define glXSwapBuffersMscOML GLXEW_GET_FUN(__glewXSwapBuffersMscOML)
00857 #define glXWaitForMscOML GLXEW_GET_FUN(__glewXWaitForMscOML)
00858 #define glXWaitForSbcOML GLXEW_GET_FUN(__glewXWaitForSbcOML)
00859 
00860 #define GLXEW_OML_sync_control GLXEW_GET_VAR(__GLXEW_OML_sync_control)
00861 
00862 #endif /* GLX_OML_sync_control */
00863 
00864 /* ------------------------ GLX_SGIS_blended_overlay ----------------------- */
00865 
00866 #ifndef GLX_SGIS_blended_overlay
00867 #define GLX_SGIS_blended_overlay 1
00868 
00869 #define GLX_BLENDED_RGBA_SGIS 0x8025
00870 
00871 #define GLXEW_SGIS_blended_overlay GLXEW_GET_VAR(__GLXEW_SGIS_blended_overlay)
00872 
00873 #endif /* GLX_SGIS_blended_overlay */
00874 
00875 /* -------------------------- GLX_SGIS_color_range ------------------------- */
00876 
00877 #ifndef GLX_SGIS_color_range
00878 #define GLX_SGIS_color_range 1
00879 
00880 #define GLX_MIN_RED_SGIS 0
00881 #define GLX_MAX_GREEN_SGIS 0
00882 #define GLX_MIN_BLUE_SGIS 0
00883 #define GLX_MAX_ALPHA_SGIS 0
00884 #define GLX_MIN_GREEN_SGIS 0
00885 #define GLX_MIN_ALPHA_SGIS 0
00886 #define GLX_MAX_RED_SGIS 0
00887 #define GLX_EXTENDED_RANGE_SGIS 0
00888 #define GLX_MAX_BLUE_SGIS 0
00889 
00890 #define GLXEW_SGIS_color_range GLXEW_GET_VAR(__GLXEW_SGIS_color_range)
00891 
00892 #endif /* GLX_SGIS_color_range */
00893 
00894 /* -------------------------- GLX_SGIS_multisample ------------------------- */
00895 
00896 #ifndef GLX_SGIS_multisample
00897 #define GLX_SGIS_multisample 1
00898 
00899 #define GLX_SAMPLE_BUFFERS_SGIS 100000
00900 #define GLX_SAMPLES_SGIS 100001
00901 
00902 #define GLXEW_SGIS_multisample GLXEW_GET_VAR(__GLXEW_SGIS_multisample)
00903 
00904 #endif /* GLX_SGIS_multisample */
00905 
00906 /* ---------------------- GLX_SGIS_shared_multisample ---------------------- */
00907 
00908 #ifndef GLX_SGIS_shared_multisample
00909 #define GLX_SGIS_shared_multisample 1
00910 
00911 #define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026
00912 #define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027
00913 
00914 #define GLXEW_SGIS_shared_multisample GLXEW_GET_VAR(__GLXEW_SGIS_shared_multisample)
00915 
00916 #endif /* GLX_SGIS_shared_multisample */
00917 
00918 /* --------------------------- GLX_SGIX_fbconfig --------------------------- */
00919 
00920 #ifndef GLX_SGIX_fbconfig
00921 #define GLX_SGIX_fbconfig 1
00922 
00923 #define GLX_WINDOW_BIT_SGIX 0x00000001
00924 #define GLX_RGBA_BIT_SGIX 0x00000001
00925 #define GLX_PIXMAP_BIT_SGIX 0x00000002
00926 #define GLX_COLOR_INDEX_BIT_SGIX 0x00000002
00927 #define GLX_SCREEN_EXT 0x800C
00928 #define GLX_DRAWABLE_TYPE_SGIX 0x8010
00929 #define GLX_RENDER_TYPE_SGIX 0x8011
00930 #define GLX_X_RENDERABLE_SGIX 0x8012
00931 #define GLX_FBCONFIG_ID_SGIX 0x8013
00932 #define GLX_RGBA_TYPE_SGIX 0x8014
00933 #define GLX_COLOR_INDEX_TYPE_SGIX 0x8015
00934 
00935 typedef XID GLXFBConfigIDSGIX;
00936 typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
00937 
00938 typedef GLXFBConfigSGIX* ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
00939 typedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
00940 typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, Pixmap pixmap);
00941 typedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, int attribute, int *value);
00942 typedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display* dpy, XVisualInfo *vis);
00943 typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfig config);
00944 
00945 #define glXChooseFBConfigSGIX GLXEW_GET_FUN(__glewXChooseFBConfigSGIX)
00946 #define glXCreateContextWithConfigSGIX GLXEW_GET_FUN(__glewXCreateContextWithConfigSGIX)
00947 #define glXCreateGLXPixmapWithConfigSGIX GLXEW_GET_FUN(__glewXCreateGLXPixmapWithConfigSGIX)
00948 #define glXGetFBConfigAttribSGIX GLXEW_GET_FUN(__glewXGetFBConfigAttribSGIX)
00949 #define glXGetFBConfigFromVisualSGIX GLXEW_GET_FUN(__glewXGetFBConfigFromVisualSGIX)
00950 #define glXGetVisualFromFBConfigSGIX GLXEW_GET_FUN(__glewXGetVisualFromFBConfigSGIX)
00951 
00952 #define GLXEW_SGIX_fbconfig GLXEW_GET_VAR(__GLXEW_SGIX_fbconfig)
00953 
00954 #endif /* GLX_SGIX_fbconfig */
00955 
00956 /* --------------------------- GLX_SGIX_hyperpipe -------------------------- */
00957 
00958 #ifndef GLX_SGIX_hyperpipe
00959 #define GLX_SGIX_hyperpipe 1
00960 
00961 #define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001
00962 #define GLX_PIPE_RECT_SGIX 0x00000001
00963 #define GLX_PIPE_RECT_LIMITS_SGIX 0x00000002
00964 #define GLX_HYPERPIPE_RENDER_PIPE_SGIX 0x00000002
00965 #define GLX_HYPERPIPE_STEREO_SGIX 0x00000003
00966 #define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX 0x00000004
00967 #define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
00968 #define GLX_BAD_HYPERPIPE_CONFIG_SGIX 91
00969 #define GLX_BAD_HYPERPIPE_SGIX 92
00970 #define GLX_HYPERPIPE_ID_SGIX 0x8030
00971 
00972 typedef struct {
00973   char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; 
00974   int  networkId; 
00975 } GLXHyperpipeNetworkSGIX;
00976 typedef struct {
00977   char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; 
00978   int XOrigin; 
00979   int YOrigin; 
00980   int maxHeight; 
00981   int maxWidth; 
00982 } GLXPipeRectLimits;
00983 typedef struct {
00984   char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; 
00985   int channel; 
00986   unsigned int participationType; 
00987   int timeSlice; 
00988 } GLXHyperpipeConfigSGIX;
00989 typedef struct {
00990   char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; 
00991   int srcXOrigin; 
00992   int srcYOrigin; 
00993   int srcWidth; 
00994   int srcHeight; 
00995   int destXOrigin; 
00996   int destYOrigin; 
00997   int destWidth; 
00998   int destHeight; 
00999 } GLXPipeRect;
01000 
01001 typedef int ( * PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId);
01002 typedef int ( * PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId);
01003 typedef int ( * PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList);
01004 typedef int ( * PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId);
01005 typedef int ( * PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList);
01006 typedef int ( * PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList);
01007 typedef GLXHyperpipeConfigSGIX * ( * PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes);
01008 typedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display *dpy, int *npipes);
01009 
01010 #define glXBindHyperpipeSGIX GLXEW_GET_FUN(__glewXBindHyperpipeSGIX)
01011 #define glXDestroyHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXDestroyHyperpipeConfigSGIX)
01012 #define glXHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXHyperpipeAttribSGIX)
01013 #define glXHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXHyperpipeConfigSGIX)
01014 #define glXQueryHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeAttribSGIX)
01015 #define glXQueryHyperpipeBestAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeBestAttribSGIX)
01016 #define glXQueryHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeConfigSGIX)
01017 #define glXQueryHyperpipeNetworkSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeNetworkSGIX)
01018 
01019 #define GLXEW_SGIX_hyperpipe GLXEW_GET_VAR(__GLXEW_SGIX_hyperpipe)
01020 
01021 #endif /* GLX_SGIX_hyperpipe */
01022 
01023 /* ---------------------------- GLX_SGIX_pbuffer --------------------------- */
01024 
01025 #ifndef GLX_SGIX_pbuffer
01026 #define GLX_SGIX_pbuffer 1
01027 
01028 #define GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x00000001
01029 #define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x00000002
01030 #define GLX_PBUFFER_BIT_SGIX 0x00000004
01031 #define GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x00000004
01032 #define GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x00000008
01033 #define GLX_AUX_BUFFERS_BIT_SGIX 0x00000010
01034 #define GLX_DEPTH_BUFFER_BIT_SGIX 0x00000020
01035 #define GLX_STENCIL_BUFFER_BIT_SGIX 0x00000040
01036 #define GLX_ACCUM_BUFFER_BIT_SGIX 0x00000080
01037 #define GLX_SAMPLE_BUFFERS_BIT_SGIX 0x00000100
01038 #define GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016
01039 #define GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017
01040 #define GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018
01041 #define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019
01042 #define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A
01043 #define GLX_PRESERVED_CONTENTS_SGIX 0x801B
01044 #define GLX_LARGEST_PBUFFER_SGIX 0x801C
01045 #define GLX_WIDTH_SGIX 0x801D
01046 #define GLX_HEIGHT_SGIX 0x801E
01047 #define GLX_EVENT_MASK_SGIX 0x801F
01048 #define GLX_DAMAGED_SGIX 0x8020
01049 #define GLX_SAVED_SGIX 0x8021
01050 #define GLX_WINDOW_SGIX 0x8022
01051 #define GLX_PBUFFER_SGIX 0x8023
01052 #define GLX_BUFFER_CLOBBER_MASK_SGIX 0x08000000
01053 
01054 typedef XID GLXPbufferSGIX;
01055 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;
01056 
01057 typedef GLXPbuffer ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display* dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list);
01058 typedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf);
01059 typedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long *mask);
01060 typedef void ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf, int attribute, unsigned int *value);
01061 typedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long mask);
01062 
01063 #define glXCreateGLXPbufferSGIX GLXEW_GET_FUN(__glewXCreateGLXPbufferSGIX)
01064 #define glXDestroyGLXPbufferSGIX GLXEW_GET_FUN(__glewXDestroyGLXPbufferSGIX)
01065 #define glXGetSelectedEventSGIX GLXEW_GET_FUN(__glewXGetSelectedEventSGIX)
01066 #define glXQueryGLXPbufferSGIX GLXEW_GET_FUN(__glewXQueryGLXPbufferSGIX)
01067 #define glXSelectEventSGIX GLXEW_GET_FUN(__glewXSelectEventSGIX)
01068 
01069 #define GLXEW_SGIX_pbuffer GLXEW_GET_VAR(__GLXEW_SGIX_pbuffer)
01070 
01071 #endif /* GLX_SGIX_pbuffer */
01072 
01073 /* ------------------------- GLX_SGIX_swap_barrier ------------------------- */
01074 
01075 #ifndef GLX_SGIX_swap_barrier
01076 #define GLX_SGIX_swap_barrier 1
01077 
01078 typedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier);
01079 typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max);
01080 
01081 #define glXBindSwapBarrierSGIX GLXEW_GET_FUN(__glewXBindSwapBarrierSGIX)
01082 #define glXQueryMaxSwapBarriersSGIX GLXEW_GET_FUN(__glewXQueryMaxSwapBarriersSGIX)
01083 
01084 #define GLXEW_SGIX_swap_barrier GLXEW_GET_VAR(__GLXEW_SGIX_swap_barrier)
01085 
01086 #endif /* GLX_SGIX_swap_barrier */
01087 
01088 /* -------------------------- GLX_SGIX_swap_group -------------------------- */
01089 
01090 #ifndef GLX_SGIX_swap_group
01091 #define GLX_SGIX_swap_group 1
01092 
01093 typedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member);
01094 
01095 #define glXJoinSwapGroupSGIX GLXEW_GET_FUN(__glewXJoinSwapGroupSGIX)
01096 
01097 #define GLXEW_SGIX_swap_group GLXEW_GET_VAR(__GLXEW_SGIX_swap_group)
01098 
01099 #endif /* GLX_SGIX_swap_group */
01100 
01101 /* ------------------------- GLX_SGIX_video_resize ------------------------- */
01102 
01103 #ifndef GLX_SGIX_video_resize
01104 #define GLX_SGIX_video_resize 1
01105 
01106 #define GLX_SYNC_FRAME_SGIX 0x00000000
01107 #define GLX_SYNC_SWAP_SGIX 0x00000001
01108 
01109 typedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display* display, int screen, int channel, Window window);
01110 typedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int x, int y, int w, int h);
01111 typedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display* display, int screen, int channel, GLenum synctype);
01112 typedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display* display, int screen, int channel, int *x, int *y, int *w, int *h);
01113 typedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
01114 
01115 #define glXBindChannelToWindowSGIX GLXEW_GET_FUN(__glewXBindChannelToWindowSGIX)
01116 #define glXChannelRectSGIX GLXEW_GET_FUN(__glewXChannelRectSGIX)
01117 #define glXChannelRectSyncSGIX GLXEW_GET_FUN(__glewXChannelRectSyncSGIX)
01118 #define glXQueryChannelDeltasSGIX GLXEW_GET_FUN(__glewXQueryChannelDeltasSGIX)
01119 #define glXQueryChannelRectSGIX GLXEW_GET_FUN(__glewXQueryChannelRectSGIX)
01120 
01121 #define GLXEW_SGIX_video_resize GLXEW_GET_VAR(__GLXEW_SGIX_video_resize)
01122 
01123 #endif /* GLX_SGIX_video_resize */
01124 
01125 /* ---------------------- GLX_SGIX_visual_select_group --------------------- */
01126 
01127 #ifndef GLX_SGIX_visual_select_group
01128 #define GLX_SGIX_visual_select_group 1
01129 
01130 #define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028
01131 
01132 #define GLXEW_SGIX_visual_select_group GLXEW_GET_VAR(__GLXEW_SGIX_visual_select_group)
01133 
01134 #endif /* GLX_SGIX_visual_select_group */
01135 
01136 /* ---------------------------- GLX_SGI_cushion ---------------------------- */
01137 
01138 #ifndef GLX_SGI_cushion
01139 #define GLX_SGI_cushion 1
01140 
01141 typedef void ( * PFNGLXCUSHIONSGIPROC) (Display* dpy, Window window, float cushion);
01142 
01143 #define glXCushionSGI GLXEW_GET_FUN(__glewXCushionSGI)
01144 
01145 #define GLXEW_SGI_cushion GLXEW_GET_VAR(__GLXEW_SGI_cushion)
01146 
01147 #endif /* GLX_SGI_cushion */
01148 
01149 /* ----------------------- GLX_SGI_make_current_read ----------------------- */
01150 
01151 #ifndef GLX_SGI_make_current_read
01152 #define GLX_SGI_make_current_read 1
01153 
01154 typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void);
01155 typedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display* dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
01156 
01157 #define glXGetCurrentReadDrawableSGI GLXEW_GET_FUN(__glewXGetCurrentReadDrawableSGI)
01158 #define glXMakeCurrentReadSGI GLXEW_GET_FUN(__glewXMakeCurrentReadSGI)
01159 
01160 #define GLXEW_SGI_make_current_read GLXEW_GET_VAR(__GLXEW_SGI_make_current_read)
01161 
01162 #endif /* GLX_SGI_make_current_read */
01163 
01164 /* -------------------------- GLX_SGI_swap_control ------------------------- */
01165 
01166 #ifndef GLX_SGI_swap_control
01167 #define GLX_SGI_swap_control 1
01168 
01169 typedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval);
01170 
01171 #define glXSwapIntervalSGI GLXEW_GET_FUN(__glewXSwapIntervalSGI)
01172 
01173 #define GLXEW_SGI_swap_control GLXEW_GET_VAR(__GLXEW_SGI_swap_control)
01174 
01175 #endif /* GLX_SGI_swap_control */
01176 
01177 /* --------------------------- GLX_SGI_video_sync -------------------------- */
01178 
01179 #ifndef GLX_SGI_video_sync
01180 #define GLX_SGI_video_sync 1
01181 
01182 typedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (uint* count);
01183 typedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int* count);
01184 
01185 #define glXGetVideoSyncSGI GLXEW_GET_FUN(__glewXGetVideoSyncSGI)
01186 #define glXWaitVideoSyncSGI GLXEW_GET_FUN(__glewXWaitVideoSyncSGI)
01187 
01188 #define GLXEW_SGI_video_sync GLXEW_GET_VAR(__GLXEW_SGI_video_sync)
01189 
01190 #endif /* GLX_SGI_video_sync */
01191 
01192 /* --------------------- GLX_SUN_get_transparent_index --------------------- */
01193 
01194 #ifndef GLX_SUN_get_transparent_index
01195 #define GLX_SUN_get_transparent_index 1
01196 
01197 typedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display* dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex);
01198 
01199 #define glXGetTransparentIndexSUN GLXEW_GET_FUN(__glewXGetTransparentIndexSUN)
01200 
01201 #define GLXEW_SUN_get_transparent_index GLXEW_GET_VAR(__GLXEW_SUN_get_transparent_index)
01202 
01203 #endif /* GLX_SUN_get_transparent_index */
01204 
01205 /* -------------------------- GLX_SUN_video_resize ------------------------- */
01206 
01207 #ifndef GLX_SUN_video_resize
01208 #define GLX_SUN_video_resize 1
01209 
01210 #define GLX_VIDEO_RESIZE_SUN 0x8171
01211 #define GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85CD
01212 
01213 typedef int ( * PFNGLXGETVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float* factor);
01214 typedef int ( * PFNGLXVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float factor);
01215 
01216 #define glXGetVideoResizeSUN GLXEW_GET_FUN(__glewXGetVideoResizeSUN)
01217 #define glXVideoResizeSUN GLXEW_GET_FUN(__glewXVideoResizeSUN)
01218 
01219 #define GLXEW_SUN_video_resize GLXEW_GET_VAR(__GLXEW_SUN_video_resize)
01220 
01221 #endif /* GLX_SUN_video_resize */
01222 
01223 /* ------------------------------------------------------------------------- */
01224 
01225 #ifdef GLEW_MX
01226 #define GLXEW_EXPORT
01227 #else
01228 #define GLXEW_EXPORT extern
01229 #endif /* GLEW_MX */
01230 
01231 extern PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay;
01232 
01233 extern PFNGLXCHOOSEFBCONFIGPROC __glewXChooseFBConfig;
01234 extern PFNGLXCREATENEWCONTEXTPROC __glewXCreateNewContext;
01235 extern PFNGLXCREATEPBUFFERPROC __glewXCreatePbuffer;
01236 extern PFNGLXCREATEPIXMAPPROC __glewXCreatePixmap;
01237 extern PFNGLXCREATEWINDOWPROC __glewXCreateWindow;
01238 extern PFNGLXDESTROYPBUFFERPROC __glewXDestroyPbuffer;
01239 extern PFNGLXDESTROYPIXMAPPROC __glewXDestroyPixmap;
01240 extern PFNGLXDESTROYWINDOWPROC __glewXDestroyWindow;
01241 extern PFNGLXGETCURRENTREADDRAWABLEPROC __glewXGetCurrentReadDrawable;
01242 extern PFNGLXGETFBCONFIGATTRIBPROC __glewXGetFBConfigAttrib;
01243 extern PFNGLXGETFBCONFIGSPROC __glewXGetFBConfigs;
01244 extern PFNGLXGETSELECTEDEVENTPROC __glewXGetSelectedEvent;
01245 extern PFNGLXGETVISUALFROMFBCONFIGPROC __glewXGetVisualFromFBConfig;
01246 extern PFNGLXMAKECONTEXTCURRENTPROC __glewXMakeContextCurrent;
01247 extern PFNGLXQUERYCONTEXTPROC __glewXQueryContext;
01248 extern PFNGLXQUERYDRAWABLEPROC __glewXQueryDrawable;
01249 extern PFNGLXSELECTEVENTPROC __glewXSelectEvent;
01250 
01251 extern PFNGLXCREATECONTEXTATTRIBSARBPROC __glewXCreateContextAttribsARB;
01252 
01253 extern PFNGLXBINDTEXIMAGEATIPROC __glewXBindTexImageATI;
01254 extern PFNGLXDRAWABLEATTRIBATIPROC __glewXDrawableAttribATI;
01255 extern PFNGLXRELEASETEXIMAGEATIPROC __glewXReleaseTexImageATI;
01256 
01257 extern PFNGLXFREECONTEXTEXTPROC __glewXFreeContextEXT;
01258 extern PFNGLXGETCONTEXTIDEXTPROC __glewXGetContextIDEXT;
01259 extern PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT;
01260 extern PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT;
01261 
01262 extern PFNGLXSWAPINTERVALEXTPROC __glewXSwapIntervalEXT;
01263 
01264 extern PFNGLXBINDTEXIMAGEEXTPROC __glewXBindTexImageEXT;
01265 extern PFNGLXRELEASETEXIMAGEEXTPROC __glewXReleaseTexImageEXT;
01266 
01267 extern PFNGLXGETAGPOFFSETMESAPROC __glewXGetAGPOffsetMESA;
01268 
01269 extern PFNGLXCOPYSUBBUFFERMESAPROC __glewXCopySubBufferMESA;
01270 
01271 extern PFNGLXCREATEGLXPIXMAPMESAPROC __glewXCreateGLXPixmapMESA;
01272 
01273 extern PFNGLXRELEASEBUFFERSMESAPROC __glewXReleaseBuffersMESA;
01274 
01275 extern PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA;
01276 
01277 extern PFNGLXCOPYIMAGESUBDATANVPROC __glewXCopyImageSubDataNV;
01278 
01279 extern PFNGLXBINDVIDEODEVICENVPROC __glewXBindVideoDeviceNV;
01280 extern PFNGLXENUMERATEVIDEODEVICESNVPROC __glewXEnumerateVideoDevicesNV;
01281 
01282 extern PFNGLXBINDSWAPBARRIERNVPROC __glewXBindSwapBarrierNV;
01283 extern PFNGLXJOINSWAPGROUPNVPROC __glewXJoinSwapGroupNV;
01284 extern PFNGLXQUERYFRAMECOUNTNVPROC __glewXQueryFrameCountNV;
01285 extern PFNGLXQUERYMAXSWAPGROUPSNVPROC __glewXQueryMaxSwapGroupsNV;
01286 extern PFNGLXQUERYSWAPGROUPNVPROC __glewXQuerySwapGroupNV;
01287 extern PFNGLXRESETFRAMECOUNTNVPROC __glewXResetFrameCountNV;
01288 
01289 extern PFNGLXALLOCATEMEMORYNVPROC __glewXAllocateMemoryNV;
01290 extern PFNGLXFREEMEMORYNVPROC __glewXFreeMemoryNV;
01291 
01292 extern PFNGLXBINDVIDEOIMAGENVPROC __glewXBindVideoImageNV;
01293 extern PFNGLXGETVIDEODEVICENVPROC __glewXGetVideoDeviceNV;
01294 extern PFNGLXGETVIDEOINFONVPROC __glewXGetVideoInfoNV;
01295 extern PFNGLXRELEASEVIDEODEVICENVPROC __glewXReleaseVideoDeviceNV;
01296 extern PFNGLXRELEASEVIDEOIMAGENVPROC __glewXReleaseVideoImageNV;
01297 extern PFNGLXSENDPBUFFERTOVIDEONVPROC __glewXSendPbufferToVideoNV;
01298 
01299 #ifdef GLX_OML_sync_control
01300 extern PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML;
01301 extern PFNGLXGETSYNCVALUESOMLPROC __glewXGetSyncValuesOML;
01302 extern PFNGLXSWAPBUFFERSMSCOMLPROC __glewXSwapBuffersMscOML;
01303 extern PFNGLXWAITFORMSCOMLPROC __glewXWaitForMscOML;
01304 extern PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML;
01305 #endif
01306 
01307 extern PFNGLXCHOOSEFBCONFIGSGIXPROC __glewXChooseFBConfigSGIX;
01308 extern PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC __glewXCreateContextWithConfigSGIX;
01309 extern PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC __glewXCreateGLXPixmapWithConfigSGIX;
01310 extern PFNGLXGETFBCONFIGATTRIBSGIXPROC __glewXGetFBConfigAttribSGIX;
01311 extern PFNGLXGETFBCONFIGFROMVISUALSGIXPROC __glewXGetFBConfigFromVisualSGIX;
01312 extern PFNGLXGETVISUALFROMFBCONFIGSGIXPROC __glewXGetVisualFromFBConfigSGIX;
01313 
01314 extern PFNGLXBINDHYPERPIPESGIXPROC __glewXBindHyperpipeSGIX;
01315 extern PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC __glewXDestroyHyperpipeConfigSGIX;
01316 extern PFNGLXHYPERPIPEATTRIBSGIXPROC __glewXHyperpipeAttribSGIX;
01317 extern PFNGLXHYPERPIPECONFIGSGIXPROC __glewXHyperpipeConfigSGIX;
01318 extern PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC __glewXQueryHyperpipeAttribSGIX;
01319 extern PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC __glewXQueryHyperpipeBestAttribSGIX;
01320 extern PFNGLXQUERYHYPERPIPECONFIGSGIXPROC __glewXQueryHyperpipeConfigSGIX;
01321 extern PFNGLXQUERYHYPERPIPENETWORKSGIXPROC __glewXQueryHyperpipeNetworkSGIX;
01322 
01323 extern PFNGLXCREATEGLXPBUFFERSGIXPROC __glewXCreateGLXPbufferSGIX;
01324 extern PFNGLXDESTROYGLXPBUFFERSGIXPROC __glewXDestroyGLXPbufferSGIX;
01325 extern PFNGLXGETSELECTEDEVENTSGIXPROC __glewXGetSelectedEventSGIX;
01326 extern PFNGLXQUERYGLXPBUFFERSGIXPROC __glewXQueryGLXPbufferSGIX;
01327 extern PFNGLXSELECTEVENTSGIXPROC __glewXSelectEventSGIX;
01328 
01329 extern PFNGLXBINDSWAPBARRIERSGIXPROC __glewXBindSwapBarrierSGIX;
01330 extern PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC __glewXQueryMaxSwapBarriersSGIX;
01331 
01332 extern PFNGLXJOINSWAPGROUPSGIXPROC __glewXJoinSwapGroupSGIX;
01333 
01334 extern PFNGLXBINDCHANNELTOWINDOWSGIXPROC __glewXBindChannelToWindowSGIX;
01335 extern PFNGLXCHANNELRECTSGIXPROC __glewXChannelRectSGIX;
01336 extern PFNGLXCHANNELRECTSYNCSGIXPROC __glewXChannelRectSyncSGIX;
01337 extern PFNGLXQUERYCHANNELDELTASSGIXPROC __glewXQueryChannelDeltasSGIX;
01338 extern PFNGLXQUERYCHANNELRECTSGIXPROC __glewXQueryChannelRectSGIX;
01339 
01340 extern PFNGLXCUSHIONSGIPROC __glewXCushionSGI;
01341 
01342 extern PFNGLXGETCURRENTREADDRAWABLESGIPROC __glewXGetCurrentReadDrawableSGI;
01343 extern PFNGLXMAKECURRENTREADSGIPROC __glewXMakeCurrentReadSGI;
01344 
01345 extern PFNGLXSWAPINTERVALSGIPROC __glewXSwapIntervalSGI;
01346 
01347 extern PFNGLXGETVIDEOSYNCSGIPROC __glewXGetVideoSyncSGI;
01348 extern PFNGLXWAITVIDEOSYNCSGIPROC __glewXWaitVideoSyncSGI;
01349 
01350 extern PFNGLXGETTRANSPARENTINDEXSUNPROC __glewXGetTransparentIndexSUN;
01351 
01352 extern PFNGLXGETVIDEORESIZESUNPROC __glewXGetVideoResizeSUN;
01353 extern PFNGLXVIDEORESIZESUNPROC __glewXVideoResizeSUN;
01354 
01355 #if defined(GLEW_MX)
01356 struct GLXEWContextStruct
01357 {
01358 #endif /* GLEW_MX */
01359 
01360 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_0;
01361 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_1;
01362 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_2;
01363 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_3;
01364 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_4;
01365 GLXEW_EXPORT GLboolean __GLXEW_3DFX_multisample;
01366 GLXEW_EXPORT GLboolean __GLXEW_ARB_create_context;
01367 GLXEW_EXPORT GLboolean __GLXEW_ARB_create_context_profile;
01368 GLXEW_EXPORT GLboolean __GLXEW_ARB_fbconfig_float;
01369 GLXEW_EXPORT GLboolean __GLXEW_ARB_framebuffer_sRGB;
01370 GLXEW_EXPORT GLboolean __GLXEW_ARB_get_proc_address;
01371 GLXEW_EXPORT GLboolean __GLXEW_ARB_multisample;
01372 GLXEW_EXPORT GLboolean __GLXEW_ATI_pixel_format_float;
01373 GLXEW_EXPORT GLboolean __GLXEW_ATI_render_texture;
01374 GLXEW_EXPORT GLboolean __GLXEW_EXT_fbconfig_packed_float;
01375 GLXEW_EXPORT GLboolean __GLXEW_EXT_framebuffer_sRGB;
01376 GLXEW_EXPORT GLboolean __GLXEW_EXT_import_context;
01377 GLXEW_EXPORT GLboolean __GLXEW_EXT_scene_marker;
01378 GLXEW_EXPORT GLboolean __GLXEW_EXT_swap_control;
01379 GLXEW_EXPORT GLboolean __GLXEW_EXT_texture_from_pixmap;
01380 GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_info;
01381 GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_rating;
01382 GLXEW_EXPORT GLboolean __GLXEW_MESA_agp_offset;
01383 GLXEW_EXPORT GLboolean __GLXEW_MESA_copy_sub_buffer;
01384 GLXEW_EXPORT GLboolean __GLXEW_MESA_pixmap_colormap;
01385 GLXEW_EXPORT GLboolean __GLXEW_MESA_release_buffers;
01386 GLXEW_EXPORT GLboolean __GLXEW_MESA_set_3dfx_mode;
01387 GLXEW_EXPORT GLboolean __GLXEW_NV_copy_image;
01388 GLXEW_EXPORT GLboolean __GLXEW_NV_float_buffer;
01389 GLXEW_EXPORT GLboolean __GLXEW_NV_present_video;
01390 GLXEW_EXPORT GLboolean __GLXEW_NV_swap_group;
01391 GLXEW_EXPORT GLboolean __GLXEW_NV_vertex_array_range;
01392 GLXEW_EXPORT GLboolean __GLXEW_NV_video_output;
01393 GLXEW_EXPORT GLboolean __GLXEW_OML_swap_method;
01394 GLXEW_EXPORT GLboolean __GLXEW_OML_sync_control;
01395 GLXEW_EXPORT GLboolean __GLXEW_SGIS_blended_overlay;
01396 GLXEW_EXPORT GLboolean __GLXEW_SGIS_color_range;
01397 GLXEW_EXPORT GLboolean __GLXEW_SGIS_multisample;
01398 GLXEW_EXPORT GLboolean __GLXEW_SGIS_shared_multisample;
01399 GLXEW_EXPORT GLboolean __GLXEW_SGIX_fbconfig;
01400 GLXEW_EXPORT GLboolean __GLXEW_SGIX_hyperpipe;
01401 GLXEW_EXPORT GLboolean __GLXEW_SGIX_pbuffer;
01402 GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_barrier;
01403 GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_group;
01404 GLXEW_EXPORT GLboolean __GLXEW_SGIX_video_resize;
01405 GLXEW_EXPORT GLboolean __GLXEW_SGIX_visual_select_group;
01406 GLXEW_EXPORT GLboolean __GLXEW_SGI_cushion;
01407 GLXEW_EXPORT GLboolean __GLXEW_SGI_make_current_read;
01408 GLXEW_EXPORT GLboolean __GLXEW_SGI_swap_control;
01409 GLXEW_EXPORT GLboolean __GLXEW_SGI_video_sync;
01410 GLXEW_EXPORT GLboolean __GLXEW_SUN_get_transparent_index;
01411 GLXEW_EXPORT GLboolean __GLXEW_SUN_video_resize;
01412 
01413 #ifdef GLEW_MX
01414 }; /* GLXEWContextStruct */
01415 #endif /* GLEW_MX */
01416 
01417 /* ------------------------------------------------------------------------ */
01418 
01419 #ifdef GLEW_MX
01420 
01421 typedef struct GLXEWContextStruct GLXEWContext;
01422 extern GLenum glxewContextInit (GLXEWContext* ctx);
01423 extern GLboolean glxewContextIsSupported (GLXEWContext* ctx, const char* name);
01424 
01425 #define glxewInit() glxewContextInit(glxewGetContext())
01426 #define glxewIsSupported(x) glxewContextIsSupported(glxewGetContext(), x)
01427 
01428 #define GLXEW_GET_VAR(x) (*(const GLboolean*)&(glxewGetContext()->x))
01429 #define GLXEW_GET_FUN(x) x
01430 
01431 #else /* GLEW_MX */
01432 
01433 #define GLXEW_GET_VAR(x) (*(const GLboolean*)&x)
01434 #define GLXEW_GET_FUN(x) x
01435 
01436 extern GLboolean glxewIsSupported (const char* name);
01437 
01438 #endif /* GLEW_MX */
01439 
01440 extern GLboolean glxewGetExtension (const char* name);
01441 
01442 #ifdef __cplusplus
01443 }
01444 #endif
01445 
01446 #endif /* __glxew_h__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations