GEL
2
GEL is a library for Geometry and Linear Algebra
|
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__ */