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