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