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 typedef unsigned int GLXVideoDeviceNV; 142 143 extern Bool glXQueryExtension (Display *dpy, int *errorBase, int *eventBase); 144 extern Bool glXQueryVersion (Display *dpy, int *major, int *minor); 145 extern int glXGetConfig (Display *dpy, XVisualInfo *vis, int attrib, int *value); 146 extern XVisualInfo* glXChooseVisual (Display *dpy, int screen, int *attribList); 147 extern GLXPixmap glXCreateGLXPixmap (Display *dpy, XVisualInfo *vis, Pixmap pixmap); 148 extern void glXDestroyGLXPixmap (Display *dpy, GLXPixmap pix); 149 extern GLXContext glXCreateContext (Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct); 150 extern void glXDestroyContext (Display *dpy, GLXContext ctx); 151 extern Bool glXIsDirect (Display *dpy, GLXContext ctx); 152 extern void glXCopyContext (Display *dpy, GLXContext src, GLXContext dst, GLulong mask); 153 extern Bool glXMakeCurrent (Display *dpy, GLXDrawable drawable, GLXContext ctx); 154 extern GLXContext glXGetCurrentContext (void); 155 extern GLXDrawable glXGetCurrentDrawable (void); 156 extern void glXWaitGL (void); 157 extern void glXWaitX (void); 158 extern void glXSwapBuffers (Display *dpy, GLXDrawable drawable); 159 extern void glXUseXFont (Font font, int first, int count, int listBase); 160 161 #define GLXEW_VERSION_1_0 GLXEW_GET_VAR(__GLXEW_VERSION_1_0) 162 163 #endif /* GLX_VERSION_1_0 */ 164 165 /* ---------------------------- GLX_VERSION_1_1 --------------------------- */ 166 167 #ifndef GLX_VERSION_1_1 168 #define GLX_VERSION_1_1 169 170 #define GLX_VENDOR 0x1 171 #define GLX_VERSION 0x2 172 #define GLX_EXTENSIONS 0x3 173 174 extern const char* glXQueryExtensionsString (Display *dpy, int screen); 175 extern const char* glXGetClientString (Display *dpy, int name); 176 extern const char* glXQueryServerString (Display *dpy, int screen, int name); 177 178 #define GLXEW_VERSION_1_1 GLXEW_GET_VAR(__GLXEW_VERSION_1_1) 179 180 #endif /* GLX_VERSION_1_1 */ 181 182 /* ---------------------------- GLX_VERSION_1_2 ---------------------------- */ 183 184 #ifndef GLX_VERSION_1_2 185 #define GLX_VERSION_1_2 1 186 187 typedef Display* ( * PFNGLXGETCURRENTDISPLAYPROC) (void); 188 189 #define glXGetCurrentDisplay GLXEW_GET_FUN(__glewXGetCurrentDisplay) 190 191 #define GLXEW_VERSION_1_2 GLXEW_GET_VAR(__GLXEW_VERSION_1_2) 192 193 #endif /* GLX_VERSION_1_2 */ 194 195 /* ---------------------------- GLX_VERSION_1_3 ---------------------------- */ 196 197 #ifndef GLX_VERSION_1_3 198 #define GLX_VERSION_1_3 1 199 200 #define GLX_RGBA_BIT 0x00000001 201 #define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001 202 #define GLX_WINDOW_BIT 0x00000001 203 #define GLX_COLOR_INDEX_BIT 0x00000002 204 #define GLX_PIXMAP_BIT 0x00000002 205 #define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002 206 #define GLX_BACK_LEFT_BUFFER_BIT 0x00000004 207 #define GLX_PBUFFER_BIT 0x00000004 208 #define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008 209 #define GLX_AUX_BUFFERS_BIT 0x00000010 210 #define GLX_CONFIG_CAVEAT 0x20 211 #define GLX_DEPTH_BUFFER_BIT 0x00000020 212 #define GLX_X_VISUAL_TYPE 0x22 213 #define GLX_TRANSPARENT_TYPE 0x23 214 #define GLX_TRANSPARENT_INDEX_VALUE 0x24 215 #define GLX_TRANSPARENT_RED_VALUE 0x25 216 #define GLX_TRANSPARENT_GREEN_VALUE 0x26 217 #define GLX_TRANSPARENT_BLUE_VALUE 0x27 218 #define GLX_TRANSPARENT_ALPHA_VALUE 0x28 219 #define GLX_STENCIL_BUFFER_BIT 0x00000040 220 #define GLX_ACCUM_BUFFER_BIT 0x00000080 221 #define GLX_NONE 0x8000 222 #define GLX_SLOW_CONFIG 0x8001 223 #define GLX_TRUE_COLOR 0x8002 224 #define GLX_DIRECT_COLOR 0x8003 225 #define GLX_PSEUDO_COLOR 0x8004 226 #define GLX_STATIC_COLOR 0x8005 227 #define GLX_GRAY_SCALE 0x8006 228 #define GLX_STATIC_GRAY 0x8007 229 #define GLX_TRANSPARENT_RGB 0x8008 230 #define GLX_TRANSPARENT_INDEX 0x8009 231 #define GLX_VISUAL_ID 0x800B 232 #define GLX_SCREEN 0x800C 233 #define GLX_NON_CONFORMANT_CONFIG 0x800D 234 #define GLX_DRAWABLE_TYPE 0x8010 235 #define GLX_RENDER_TYPE 0x8011 236 #define GLX_X_RENDERABLE 0x8012 237 #define GLX_FBCONFIG_ID 0x8013 238 #define GLX_RGBA_TYPE 0x8014 239 #define GLX_COLOR_INDEX_TYPE 0x8015 240 #define GLX_MAX_PBUFFER_WIDTH 0x8016 241 #define GLX_MAX_PBUFFER_HEIGHT 0x8017 242 #define GLX_MAX_PBUFFER_PIXELS 0x8018 243 #define GLX_PRESERVED_CONTENTS 0x801B 244 #define GLX_LARGEST_PBUFFER 0x801C 245 #define GLX_WIDTH 0x801D 246 #define GLX_HEIGHT 0x801E 247 #define GLX_EVENT_MASK 0x801F 248 #define GLX_DAMAGED 0x8020 249 #define GLX_SAVED 0x8021 250 #define GLX_WINDOW 0x8022 251 #define GLX_PBUFFER 0x8023 252 #define GLX_PBUFFER_HEIGHT 0x8040 253 #define GLX_PBUFFER_WIDTH 0x8041 254 #define GLX_PBUFFER_CLOBBER_MASK 0x08000000 255 #define GLX_DONT_CARE 0xFFFFFFFF 256 257 typedef XID GLXFBConfigID; 258 typedef XID GLXWindow; 259 typedef XID GLXPbuffer; 260 typedef struct __GLXFBConfigRec *GLXFBConfig; 261 262 typedef struct { 263 int event_type; 264 int draw_type; 265 unsigned long serial; 266 Bool send_event; 267 Display *display; 268 GLXDrawable drawable; 269 unsigned int buffer_mask; 270 unsigned int aux_buffer; 271 int x, y; 272 int width, height; 273 int count; 274 } GLXPbufferClobberEvent; 275 typedef union __GLXEvent { 276 GLXPbufferClobberEvent glxpbufferclobber; 277 long pad[24]; 278 } GLXEvent; 279 280 typedef GLXFBConfig* ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements); 281 typedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct); 282 typedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list); 283 typedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list); 284 typedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list); 285 typedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf); 286 typedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap); 287 typedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win); 288 typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void); 289 typedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value); 290 typedef GLXFBConfig* ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements); 291 typedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask); 292 typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config); 293 typedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx); 294 typedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value); 295 typedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value); 296 typedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask); 297 298 #define glXChooseFBConfig GLXEW_GET_FUN(__glewXChooseFBConfig) 299 #define glXCreateNewContext GLXEW_GET_FUN(__glewXCreateNewContext) 300 #define glXCreatePbuffer GLXEW_GET_FUN(__glewXCreatePbuffer) 301 #define glXCreatePixmap GLXEW_GET_FUN(__glewXCreatePixmap) 302 #define glXCreateWindow GLXEW_GET_FUN(__glewXCreateWindow) 303 #define glXDestroyPbuffer GLXEW_GET_FUN(__glewXDestroyPbuffer) 304 #define glXDestroyPixmap GLXEW_GET_FUN(__glewXDestroyPixmap) 305 #define glXDestroyWindow GLXEW_GET_FUN(__glewXDestroyWindow) 306 #define glXGetCurrentReadDrawable GLXEW_GET_FUN(__glewXGetCurrentReadDrawable) 307 #define glXGetFBConfigAttrib GLXEW_GET_FUN(__glewXGetFBConfigAttrib) 308 #define glXGetFBConfigs GLXEW_GET_FUN(__glewXGetFBConfigs) 309 #define glXGetSelectedEvent GLXEW_GET_FUN(__glewXGetSelectedEvent) 310 #define glXGetVisualFromFBConfig GLXEW_GET_FUN(__glewXGetVisualFromFBConfig) 311 #define glXMakeContextCurrent GLXEW_GET_FUN(__glewXMakeContextCurrent) 312 #define glXQueryContext GLXEW_GET_FUN(__glewXQueryContext) 313 #define glXQueryDrawable GLXEW_GET_FUN(__glewXQueryDrawable) 314 #define glXSelectEvent GLXEW_GET_FUN(__glewXSelectEvent) 315 316 #define GLXEW_VERSION_1_3 GLXEW_GET_VAR(__GLXEW_VERSION_1_3) 317 318 #endif /* GLX_VERSION_1_3 */ 319 320 /* ---------------------------- GLX_VERSION_1_4 ---------------------------- */ 321 322 #ifndef GLX_VERSION_1_4 323 #define GLX_VERSION_1_4 1 324 325 #define GLX_SAMPLE_BUFFERS 100000 326 #define GLX_SAMPLES 100001 327 328 extern void ( * glXGetProcAddress (const GLubyte *procName)) (void); 329 330 #define GLXEW_VERSION_1_4 GLXEW_GET_VAR(__GLXEW_VERSION_1_4) 331 332 #endif /* GLX_VERSION_1_4 */ 333 334 /* -------------------------- GLX_3DFX_multisample ------------------------- */ 335 336 #ifndef GLX_3DFX_multisample 337 #define GLX_3DFX_multisample 1 338 339 #define GLX_SAMPLE_BUFFERS_3DFX 0x8050 340 #define GLX_SAMPLES_3DFX 0x8051 341 342 #define GLXEW_3DFX_multisample GLXEW_GET_VAR(__GLXEW_3DFX_multisample) 343 344 #endif /* GLX_3DFX_multisample */ 345 346 /* ------------------------- GLX_ARB_create_context ------------------------ */ 347 348 #ifndef GLX_ARB_create_context 349 #define GLX_ARB_create_context 1 350 351 #define GLX_CONTEXT_DEBUG_BIT_ARB 0x0001 352 #define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002 353 #define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091 354 #define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092 355 #define GLX_CONTEXT_FLAGS_ARB 0x2094 356 357 typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display* dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list); 358 359 #define glXCreateContextAttribsARB GLXEW_GET_FUN(__glewXCreateContextAttribsARB) 360 361 #define GLXEW_ARB_create_context GLXEW_GET_VAR(__GLXEW_ARB_create_context) 362 363 #endif /* GLX_ARB_create_context */ 364 365 /* ------------------------- GLX_ARB_fbconfig_float ------------------------ */ 366 367 #ifndef GLX_ARB_fbconfig_float 368 #define GLX_ARB_fbconfig_float 1 369 370 #define GLX_RGBA_FLOAT_BIT 0x00000004 371 #define GLX_RGBA_FLOAT_TYPE 0x20B9 372 373 #define GLXEW_ARB_fbconfig_float GLXEW_GET_VAR(__GLXEW_ARB_fbconfig_float) 374 375 #endif /* GLX_ARB_fbconfig_float */ 376 377 /* ------------------------ GLX_ARB_framebuffer_sRGB ----------------------- */ 378 379 #ifndef GLX_ARB_framebuffer_sRGB 380 #define GLX_ARB_framebuffer_sRGB 1 381 382 #define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20B2 383 384 #define GLXEW_ARB_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_ARB_framebuffer_sRGB) 385 386 #endif /* GLX_ARB_framebuffer_sRGB */ 387 388 /* ------------------------ GLX_ARB_get_proc_address ----------------------- */ 389 390 #ifndef GLX_ARB_get_proc_address 391 #define GLX_ARB_get_proc_address 1 392 393 extern void ( * glXGetProcAddressARB (const GLubyte *procName)) (void); 394 395 #define GLXEW_ARB_get_proc_address GLXEW_GET_VAR(__GLXEW_ARB_get_proc_address) 396 397 #endif /* GLX_ARB_get_proc_address */ 398 399 /* -------------------------- GLX_ARB_multisample -------------------------- */ 400 401 #ifndef GLX_ARB_multisample 402 #define GLX_ARB_multisample 1 403 404 #define GLX_SAMPLE_BUFFERS_ARB 100000 405 #define GLX_SAMPLES_ARB 100001 406 407 #define GLXEW_ARB_multisample GLXEW_GET_VAR(__GLXEW_ARB_multisample) 408 409 #endif /* GLX_ARB_multisample */ 410 411 /* ----------------------- GLX_ATI_pixel_format_float ---------------------- */ 412 413 #ifndef GLX_ATI_pixel_format_float 414 #define GLX_ATI_pixel_format_float 1 415 416 #define GLX_RGBA_FLOAT_ATI_BIT 0x00000100 417 418 #define GLXEW_ATI_pixel_format_float GLXEW_GET_VAR(__GLXEW_ATI_pixel_format_float) 419 420 #endif /* GLX_ATI_pixel_format_float */ 421 422 /* ------------------------- GLX_ATI_render_texture ------------------------ */ 423 424 #ifndef GLX_ATI_render_texture 425 #define GLX_ATI_render_texture 1 426 427 #define GLX_BIND_TO_TEXTURE_RGB_ATI 0x9800 428 #define GLX_BIND_TO_TEXTURE_RGBA_ATI 0x9801 429 #define GLX_TEXTURE_FORMAT_ATI 0x9802 430 #define GLX_TEXTURE_TARGET_ATI 0x9803 431 #define GLX_MIPMAP_TEXTURE_ATI 0x9804 432 #define GLX_TEXTURE_RGB_ATI 0x9805 433 #define GLX_TEXTURE_RGBA_ATI 0x9806 434 #define GLX_NO_TEXTURE_ATI 0x9807 435 #define GLX_TEXTURE_CUBE_MAP_ATI 0x9808 436 #define GLX_TEXTURE_1D_ATI 0x9809 437 #define GLX_TEXTURE_2D_ATI 0x980A 438 #define GLX_MIPMAP_LEVEL_ATI 0x980B 439 #define GLX_CUBE_MAP_FACE_ATI 0x980C 440 #define GLX_TEXTURE_CUBE_MAP_POSITIVE_X_ATI 0x980D 441 #define GLX_TEXTURE_CUBE_MAP_NEGATIVE_X_ATI 0x980E 442 #define GLX_TEXTURE_CUBE_MAP_POSITIVE_Y_ATI 0x980F 443 #define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Y_ATI 0x9810 444 #define GLX_TEXTURE_CUBE_MAP_POSITIVE_Z_ATI 0x9811 445 #define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Z_ATI 0x9812 446 #define GLX_FRONT_LEFT_ATI 0x9813 447 #define GLX_FRONT_RIGHT_ATI 0x9814 448 #define GLX_BACK_LEFT_ATI 0x9815 449 #define GLX_BACK_RIGHT_ATI 0x9816 450 #define GLX_AUX0_ATI 0x9817 451 #define GLX_AUX1_ATI 0x9818 452 #define GLX_AUX2_ATI 0x9819 453 #define GLX_AUX3_ATI 0x981A 454 #define GLX_AUX4_ATI 0x981B 455 #define GLX_AUX5_ATI 0x981C 456 #define GLX_AUX6_ATI 0x981D 457 #define GLX_AUX7_ATI 0x981E 458 #define GLX_AUX8_ATI 0x981F 459 #define GLX_AUX9_ATI 0x9820 460 #define GLX_BIND_TO_TEXTURE_LUMINANCE_ATI 0x9821 461 #define GLX_BIND_TO_TEXTURE_INTENSITY_ATI 0x9822 462 463 typedef void ( * PFNGLXBINDTEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer); 464 typedef void ( * PFNGLXDRAWABLEATTRIBATIPROC) (Display *dpy, GLXDrawable draw, const int *attrib_list); 465 typedef void ( * PFNGLXRELEASETEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer); 466 467 #define glXBindTexImageATI GLXEW_GET_FUN(__glewXBindTexImageATI) 468 #define glXDrawableAttribATI GLXEW_GET_FUN(__glewXDrawableAttribATI) 469 #define glXReleaseTexImageATI GLXEW_GET_FUN(__glewXReleaseTexImageATI) 470 471 #define GLXEW_ATI_render_texture GLXEW_GET_VAR(__GLXEW_ATI_render_texture) 472 473 #endif /* GLX_ATI_render_texture */ 474 475 /* --------------------- GLX_EXT_fbconfig_packed_float --------------------- */ 476 477 #ifndef GLX_EXT_fbconfig_packed_float 478 #define GLX_EXT_fbconfig_packed_float 1 479 480 #define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008 481 #define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1 482 483 #define GLXEW_EXT_fbconfig_packed_float GLXEW_GET_VAR(__GLXEW_EXT_fbconfig_packed_float) 484 485 #endif /* GLX_EXT_fbconfig_packed_float */ 486 487 /* ------------------------ GLX_EXT_framebuffer_sRGB ----------------------- */ 488 489 #ifndef GLX_EXT_framebuffer_sRGB 490 #define GLX_EXT_framebuffer_sRGB 1 491 492 #define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2 493 494 #define GLXEW_EXT_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_EXT_framebuffer_sRGB) 495 496 #endif /* GLX_EXT_framebuffer_sRGB */ 497 498 /* ------------------------- GLX_EXT_import_context ------------------------ */ 499 500 #ifndef GLX_EXT_import_context 501 #define GLX_EXT_import_context 1 502 503 #define GLX_SHARE_CONTEXT_EXT 0x800A 504 #define GLX_VISUAL_ID_EXT 0x800B 505 #define GLX_SCREEN_EXT 0x800C 506 507 typedef XID GLXContextID; 508 509 typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display* dpy, GLXContext context); 510 typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context); 511 typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display* dpy, GLXContextID contextID); 512 typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display* dpy, GLXContext context, int attribute,int *value); 513 514 #define glXFreeContextEXT GLXEW_GET_FUN(__glewXFreeContextEXT) 515 #define glXGetContextIDEXT GLXEW_GET_FUN(__glewXGetContextIDEXT) 516 #define glXImportContextEXT GLXEW_GET_FUN(__glewXImportContextEXT) 517 #define glXQueryContextInfoEXT GLXEW_GET_FUN(__glewXQueryContextInfoEXT) 518 519 #define GLXEW_EXT_import_context GLXEW_GET_VAR(__GLXEW_EXT_import_context) 520 521 #endif /* GLX_EXT_import_context */ 522 523 /* -------------------------- GLX_EXT_scene_marker ------------------------- */ 524 525 #ifndef GLX_EXT_scene_marker 526 #define GLX_EXT_scene_marker 1 527 528 #define GLXEW_EXT_scene_marker GLXEW_GET_VAR(__GLXEW_EXT_scene_marker) 529 530 #endif /* GLX_EXT_scene_marker */ 531 532 /* ---------------------- GLX_EXT_texture_from_pixmap ---------------------- */ 533 534 #ifndef GLX_EXT_texture_from_pixmap 535 #define GLX_EXT_texture_from_pixmap 1 536 537 #define GLX_TEXTURE_1D_BIT_EXT 0x00000001 538 #define GLX_TEXTURE_2D_BIT_EXT 0x00000002 539 #define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004 540 #define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0 541 #define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1 542 #define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2 543 #define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3 544 #define GLX_Y_INVERTED_EXT 0x20D4 545 #define GLX_TEXTURE_FORMAT_EXT 0x20D5 546 #define GLX_TEXTURE_TARGET_EXT 0x20D6 547 #define GLX_MIPMAP_TEXTURE_EXT 0x20D7 548 #define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8 549 #define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9 550 #define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA 551 #define GLX_TEXTURE_1D_EXT 0x20DB 552 #define GLX_TEXTURE_2D_EXT 0x20DC 553 #define GLX_TEXTURE_RECTANGLE_EXT 0x20DD 554 #define GLX_FRONT_LEFT_EXT 0x20DE 555 #define GLX_FRONT_RIGHT_EXT 0x20DF 556 #define GLX_BACK_LEFT_EXT 0x20E0 557 #define GLX_BACK_RIGHT_EXT 0x20E1 558 #define GLX_AUX0_EXT 0x20E2 559 #define GLX_AUX1_EXT 0x20E3 560 #define GLX_AUX2_EXT 0x20E4 561 #define GLX_AUX3_EXT 0x20E5 562 #define GLX_AUX4_EXT 0x20E6 563 #define GLX_AUX5_EXT 0x20E7 564 #define GLX_AUX6_EXT 0x20E8 565 #define GLX_AUX7_EXT 0x20E9 566 #define GLX_AUX8_EXT 0x20EA 567 #define GLX_AUX9_EXT 0x20EB 568 569 typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer, const int *attrib_list); 570 typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer); 571 572 #define glXBindTexImageEXT GLXEW_GET_FUN(__glewXBindTexImageEXT) 573 #define glXReleaseTexImageEXT GLXEW_GET_FUN(__glewXReleaseTexImageEXT) 574 575 #define GLXEW_EXT_texture_from_pixmap GLXEW_GET_VAR(__GLXEW_EXT_texture_from_pixmap) 576 577 #endif /* GLX_EXT_texture_from_pixmap */ 578 579 /* -------------------------- GLX_EXT_visual_info -------------------------- */ 580 581 #ifndef GLX_EXT_visual_info 582 #define GLX_EXT_visual_info 1 583 584 #define GLX_X_VISUAL_TYPE_EXT 0x22 585 #define GLX_TRANSPARENT_TYPE_EXT 0x23 586 #define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24 587 #define GLX_TRANSPARENT_RED_VALUE_EXT 0x25 588 #define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26 589 #define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27 590 #define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28 591 #define GLX_NONE_EXT 0x8000 592 #define GLX_TRUE_COLOR_EXT 0x8002 593 #define GLX_DIRECT_COLOR_EXT 0x8003 594 #define GLX_PSEUDO_COLOR_EXT 0x8004 595 #define GLX_STATIC_COLOR_EXT 0x8005 596 #define GLX_GRAY_SCALE_EXT 0x8006 597 #define GLX_STATIC_GRAY_EXT 0x8007 598 #define GLX_TRANSPARENT_RGB_EXT 0x8008 599 #define GLX_TRANSPARENT_INDEX_EXT 0x8009 600 601 #define GLXEW_EXT_visual_info GLXEW_GET_VAR(__GLXEW_EXT_visual_info) 602 603 #endif /* GLX_EXT_visual_info */ 604 605 /* ------------------------- GLX_EXT_visual_rating ------------------------- */ 606 607 #ifndef GLX_EXT_visual_rating 608 #define GLX_EXT_visual_rating 1 609 610 #define GLX_VISUAL_CAVEAT_EXT 0x20 611 #define GLX_SLOW_VISUAL_EXT 0x8001 612 #define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D 613 614 #define GLXEW_EXT_visual_rating GLXEW_GET_VAR(__GLXEW_EXT_visual_rating) 615 616 #endif /* GLX_EXT_visual_rating */ 617 618 /* -------------------------- GLX_MESA_agp_offset -------------------------- */ 619 620 #ifndef GLX_MESA_agp_offset 621 #define GLX_MESA_agp_offset 1 622 623 typedef unsigned int ( * PFNGLXGETAGPOFFSETMESAPROC) (const void* pointer); 624 625 #define glXGetAGPOffsetMESA GLXEW_GET_FUN(__glewXGetAGPOffsetMESA) 626 627 #define GLXEW_MESA_agp_offset GLXEW_GET_VAR(__GLXEW_MESA_agp_offset) 628 629 #endif /* GLX_MESA_agp_offset */ 630 631 /* ------------------------ GLX_MESA_copy_sub_buffer ----------------------- */ 632 633 #ifndef GLX_MESA_copy_sub_buffer 634 #define GLX_MESA_copy_sub_buffer 1 635 636 typedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display* dpy, GLXDrawable drawable, int x, int y, int width, int height); 637 638 #define glXCopySubBufferMESA GLXEW_GET_FUN(__glewXCopySubBufferMESA) 639 640 #define GLXEW_MESA_copy_sub_buffer GLXEW_GET_VAR(__GLXEW_MESA_copy_sub_buffer) 641 642 #endif /* GLX_MESA_copy_sub_buffer */ 643 644 /* ------------------------ GLX_MESA_pixmap_colormap ----------------------- */ 645 646 #ifndef GLX_MESA_pixmap_colormap 647 #define GLX_MESA_pixmap_colormap 1 648 649 typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display* dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap); 650 651 #define glXCreateGLXPixmapMESA GLXEW_GET_FUN(__glewXCreateGLXPixmapMESA) 652 653 #define GLXEW_MESA_pixmap_colormap GLXEW_GET_VAR(__GLXEW_MESA_pixmap_colormap) 654 655 #endif /* GLX_MESA_pixmap_colormap */ 656 657 /* ------------------------ GLX_MESA_release_buffers ----------------------- */ 658 659 #ifndef GLX_MESA_release_buffers 660 #define GLX_MESA_release_buffers 1 661 662 typedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display* dpy, GLXDrawable d); 663 664 #define glXReleaseBuffersMESA GLXEW_GET_FUN(__glewXReleaseBuffersMESA) 665 666 #define GLXEW_MESA_release_buffers GLXEW_GET_VAR(__GLXEW_MESA_release_buffers) 667 668 #endif /* GLX_MESA_release_buffers */ 669 670 /* ------------------------- GLX_MESA_set_3dfx_mode ------------------------ */ 671 672 #ifndef GLX_MESA_set_3dfx_mode 673 #define GLX_MESA_set_3dfx_mode 1 674 675 #define GLX_3DFX_WINDOW_MODE_MESA 0x1 676 #define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2 677 678 typedef GLboolean ( * PFNGLXSET3DFXMODEMESAPROC) (GLint mode); 679 680 #define glXSet3DfxModeMESA GLXEW_GET_FUN(__glewXSet3DfxModeMESA) 681 682 #define GLXEW_MESA_set_3dfx_mode GLXEW_GET_VAR(__GLXEW_MESA_set_3dfx_mode) 683 684 #endif /* GLX_MESA_set_3dfx_mode */ 685 686 /* -------------------------- GLX_NV_float_buffer -------------------------- */ 687 688 #ifndef GLX_NV_float_buffer 689 #define GLX_NV_float_buffer 1 690 691 #define GLX_FLOAT_COMPONENTS_NV 0x20B0 692 693 #define GLXEW_NV_float_buffer GLXEW_GET_VAR(__GLXEW_NV_float_buffer) 694 695 #endif /* GLX_NV_float_buffer */ 696 697 /* -------------------------- GLX_NV_present_video ------------------------- */ 698 699 #ifndef GLX_NV_present_video 700 #define GLX_NV_present_video 1 701 702 #define GLX_NUM_VIDEO_SLOTS_NV 0x20F0 703 704 typedef int ( * PFNGLXBINDVIDEODEVICENVPROC) (Display* dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list); 705 typedef unsigned int* ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements); 706 707 #define glXBindVideoDeviceNV GLXEW_GET_FUN(__glewXBindVideoDeviceNV) 708 #define glXEnumerateVideoDevicesNV GLXEW_GET_FUN(__glewXEnumerateVideoDevicesNV) 709 710 #define GLXEW_NV_present_video GLXEW_GET_VAR(__GLXEW_NV_present_video) 711 712 #endif /* GLX_NV_present_video */ 713 714 /* --------------------------- GLX_NV_swap_group --------------------------- */ 715 716 #ifndef GLX_NV_swap_group 717 #define GLX_NV_swap_group 1 718 719 typedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display* dpy, GLuint group, GLuint barrier); 720 typedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint group); 721 typedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display* dpy, int screen, GLuint *count); 722 typedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display* dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers); 723 typedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier); 724 typedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display* dpy, int screen); 725 726 #define glXBindSwapBarrierNV GLXEW_GET_FUN(__glewXBindSwapBarrierNV) 727 #define glXJoinSwapGroupNV GLXEW_GET_FUN(__glewXJoinSwapGroupNV) 728 #define glXQueryFrameCountNV GLXEW_GET_FUN(__glewXQueryFrameCountNV) 729 #define glXQueryMaxSwapGroupsNV GLXEW_GET_FUN(__glewXQueryMaxSwapGroupsNV) 730 #define glXQuerySwapGroupNV GLXEW_GET_FUN(__glewXQuerySwapGroupNV) 731 #define glXResetFrameCountNV GLXEW_GET_FUN(__glewXResetFrameCountNV) 732 733 #define GLXEW_NV_swap_group GLXEW_GET_VAR(__GLXEW_NV_swap_group) 734 735 #endif /* GLX_NV_swap_group */ 736 737 /* ----------------------- GLX_NV_vertex_array_range ----------------------- */ 738 739 #ifndef GLX_NV_vertex_array_range 740 #define GLX_NV_vertex_array_range 1 741 742 typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority); 743 typedef void ( * PFNGLXFREEMEMORYNVPROC) (void *pointer); 744 745 #define glXAllocateMemoryNV GLXEW_GET_FUN(__glewXAllocateMemoryNV) 746 #define glXFreeMemoryNV GLXEW_GET_FUN(__glewXFreeMemoryNV) 747 748 #define GLXEW_NV_vertex_array_range GLXEW_GET_VAR(__GLXEW_NV_vertex_array_range) 749 750 #endif /* GLX_NV_vertex_array_range */ 751 752 /* -------------------------- GLX_NV_video_output -------------------------- */ 753 754 #ifndef GLX_NV_video_output 755 #define GLX_NV_video_output 1 756 757 #define GLX_VIDEO_OUT_COLOR_NV 0x20C3 758 #define GLX_VIDEO_OUT_ALPHA_NV 0x20C4 759 #define GLX_VIDEO_OUT_DEPTH_NV 0x20C5 760 #define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6 761 #define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7 762 #define GLX_VIDEO_OUT_FRAME_NV 0x20C8 763 #define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9 764 #define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA 765 #define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB 766 #define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC 767 768 typedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display* dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer); 769 typedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display* dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice); 770 typedef int ( * PFNGLXGETVIDEOINFONVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo); 771 typedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice); 772 typedef int ( * PFNGLXRELEASEVIDEOIMAGENVPROC) (Display* dpy, GLXPbuffer pbuf); 773 typedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display* dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock); 774 775 #define glXBindVideoImageNV GLXEW_GET_FUN(__glewXBindVideoImageNV) 776 #define glXGetVideoDeviceNV GLXEW_GET_FUN(__glewXGetVideoDeviceNV) 777 #define glXGetVideoInfoNV GLXEW_GET_FUN(__glewXGetVideoInfoNV) 778 #define glXReleaseVideoDeviceNV GLXEW_GET_FUN(__glewXReleaseVideoDeviceNV) 779 #define glXReleaseVideoImageNV GLXEW_GET_FUN(__glewXReleaseVideoImageNV) 780 #define glXSendPbufferToVideoNV GLXEW_GET_FUN(__glewXSendPbufferToVideoNV) 781 782 #define GLXEW_NV_video_output GLXEW_GET_VAR(__GLXEW_NV_video_output) 783 784 #endif /* GLX_NV_video_output */ 785 786 /* -------------------------- GLX_OML_swap_method -------------------------- */ 787 788 #ifndef GLX_OML_swap_method 789 #define GLX_OML_swap_method 1 790 791 #define GLX_SWAP_METHOD_OML 0x8060 792 #define GLX_SWAP_EXCHANGE_OML 0x8061 793 #define GLX_SWAP_COPY_OML 0x8062 794 #define GLX_SWAP_UNDEFINED_OML 0x8063 795 796 #define GLXEW_OML_swap_method GLXEW_GET_VAR(__GLXEW_OML_swap_method) 797 798 #endif /* GLX_OML_swap_method */ 799 800 /* -------------------------- GLX_OML_sync_control ------------------------- */ 801 802 #if !defined(GLX_OML_sync_control) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) 803 #include <inttypes.h> 804 #define GLX_OML_sync_control 1 805 806 typedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display* dpy, GLXDrawable drawable, int32_t* numerator, int32_t* denominator); 807 typedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t* ust, int64_t* msc, int64_t* sbc); 808 typedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder); 809 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); 810 typedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_sbc, int64_t* ust, int64_t* msc, int64_t* sbc); 811 812 #define glXGetMscRateOML GLXEW_GET_FUN(__glewXGetMscRateOML) 813 #define glXGetSyncValuesOML GLXEW_GET_FUN(__glewXGetSyncValuesOML) 814 #define glXSwapBuffersMscOML GLXEW_GET_FUN(__glewXSwapBuffersMscOML) 815 #define glXWaitForMscOML GLXEW_GET_FUN(__glewXWaitForMscOML) 816 #define glXWaitForSbcOML GLXEW_GET_FUN(__glewXWaitForSbcOML) 817 818 #define GLXEW_OML_sync_control GLXEW_GET_VAR(__GLXEW_OML_sync_control) 819 820 #endif /* GLX_OML_sync_control */ 821 822 /* ------------------------ GLX_SGIS_blended_overlay ----------------------- */ 823 824 #ifndef GLX_SGIS_blended_overlay 825 #define GLX_SGIS_blended_overlay 1 826 827 #define GLX_BLENDED_RGBA_SGIS 0x8025 828 829 #define GLXEW_SGIS_blended_overlay GLXEW_GET_VAR(__GLXEW_SGIS_blended_overlay) 830 831 #endif /* GLX_SGIS_blended_overlay */ 832 833 /* -------------------------- GLX_SGIS_color_range ------------------------- */ 834 835 #ifndef GLX_SGIS_color_range 836 #define GLX_SGIS_color_range 1 837 838 #define GLX_MIN_RED_SGIS 0 839 #define GLX_MAX_GREEN_SGIS 0 840 #define GLX_MIN_BLUE_SGIS 0 841 #define GLX_MAX_ALPHA_SGIS 0 842 #define GLX_MIN_GREEN_SGIS 0 843 #define GLX_MIN_ALPHA_SGIS 0 844 #define GLX_MAX_RED_SGIS 0 845 #define GLX_EXTENDED_RANGE_SGIS 0 846 #define GLX_MAX_BLUE_SGIS 0 847 848 #define GLXEW_SGIS_color_range GLXEW_GET_VAR(__GLXEW_SGIS_color_range) 849 850 #endif /* GLX_SGIS_color_range */ 851 852 /* -------------------------- GLX_SGIS_multisample ------------------------- */ 853 854 #ifndef GLX_SGIS_multisample 855 #define GLX_SGIS_multisample 1 856 857 #define GLX_SAMPLE_BUFFERS_SGIS 100000 858 #define GLX_SAMPLES_SGIS 100001 859 860 #define GLXEW_SGIS_multisample GLXEW_GET_VAR(__GLXEW_SGIS_multisample) 861 862 #endif /* GLX_SGIS_multisample */ 863 864 /* ---------------------- GLX_SGIS_shared_multisample ---------------------- */ 865 866 #ifndef GLX_SGIS_shared_multisample 867 #define GLX_SGIS_shared_multisample 1 868 869 #define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026 870 #define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027 871 872 #define GLXEW_SGIS_shared_multisample GLXEW_GET_VAR(__GLXEW_SGIS_shared_multisample) 873 874 #endif /* GLX_SGIS_shared_multisample */ 875 876 /* --------------------------- GLX_SGIX_fbconfig --------------------------- */ 877 878 #ifndef GLX_SGIX_fbconfig 879 #define GLX_SGIX_fbconfig 1 880 881 #define GLX_WINDOW_BIT_SGIX 0x00000001 882 #define GLX_RGBA_BIT_SGIX 0x00000001 883 #define GLX_PIXMAP_BIT_SGIX 0x00000002 884 #define GLX_COLOR_INDEX_BIT_SGIX 0x00000002 885 #define GLX_SCREEN_EXT 0x800C 886 #define GLX_DRAWABLE_TYPE_SGIX 0x8010 887 #define GLX_RENDER_TYPE_SGIX 0x8011 888 #define GLX_X_RENDERABLE_SGIX 0x8012 889 #define GLX_FBCONFIG_ID_SGIX 0x8013 890 #define GLX_RGBA_TYPE_SGIX 0x8014 891 #define GLX_COLOR_INDEX_TYPE_SGIX 0x8015 892 893 typedef XID GLXFBConfigIDSGIX; 894 typedef struct __GLXFBConfigRec *GLXFBConfigSGIX; 895 896 typedef GLXFBConfigSGIX* ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements); 897 typedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct); 898 typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, Pixmap pixmap); 899 typedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, int attribute, int *value); 900 typedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display* dpy, XVisualInfo *vis); 901 typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfig config); 902 903 #define glXChooseFBConfigSGIX GLXEW_GET_FUN(__glewXChooseFBConfigSGIX) 904 #define glXCreateContextWithConfigSGIX GLXEW_GET_FUN(__glewXCreateContextWithConfigSGIX) 905 #define glXCreateGLXPixmapWithConfigSGIX GLXEW_GET_FUN(__glewXCreateGLXPixmapWithConfigSGIX) 906 #define glXGetFBConfigAttribSGIX GLXEW_GET_FUN(__glewXGetFBConfigAttribSGIX) 907 #define glXGetFBConfigFromVisualSGIX GLXEW_GET_FUN(__glewXGetFBConfigFromVisualSGIX) 908 #define glXGetVisualFromFBConfigSGIX GLXEW_GET_FUN(__glewXGetVisualFromFBConfigSGIX) 909 910 #define GLXEW_SGIX_fbconfig GLXEW_GET_VAR(__GLXEW_SGIX_fbconfig) 911 912 #endif /* GLX_SGIX_fbconfig */ 913 914 /* --------------------------- GLX_SGIX_hyperpipe -------------------------- */ 915 916 #ifndef GLX_SGIX_hyperpipe 917 #define GLX_SGIX_hyperpipe 1 918 919 #define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001 920 #define GLX_PIPE_RECT_SGIX 0x00000001 921 #define GLX_PIPE_RECT_LIMITS_SGIX 0x00000002 922 #define GLX_HYPERPIPE_RENDER_PIPE_SGIX 0x00000002 923 #define GLX_HYPERPIPE_STEREO_SGIX 0x00000003 924 #define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX 0x00000004 925 #define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80 926 #define GLX_BAD_HYPERPIPE_CONFIG_SGIX 91 927 #define GLX_BAD_HYPERPIPE_SGIX 92 928 #define GLX_HYPERPIPE_ID_SGIX 0x8030 929 930 typedef struct { 931 char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; 932 int networkId; 933 } GLXHyperpipeNetworkSGIX; 934 typedef struct { 935 char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; 936 int XOrigin; 937 int YOrigin; 938 int maxHeight; 939 int maxWidth; 940 } GLXPipeRectLimits; 941 typedef struct { 942 char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; 943 int channel; 944 unsigned int participationType; 945 int timeSlice; 946 } GLXHyperpipeConfigSGIX; 947 typedef struct { 948 char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; 949 int srcXOrigin; 950 int srcYOrigin; 951 int srcWidth; 952 int srcHeight; 953 int destXOrigin; 954 int destYOrigin; 955 int destWidth; 956 int destHeight; 957 } GLXPipeRect; 958 959 typedef int ( * PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId); 960 typedef int ( * PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId); 961 typedef int ( * PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList); 962 typedef int ( * PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId); 963 typedef int ( * PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList); 964 typedef int ( * PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList); 965 typedef GLXHyperpipeConfigSGIX * ( * PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes); 966 typedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display *dpy, int *npipes); 967 968 #define glXBindHyperpipeSGIX GLXEW_GET_FUN(__glewXBindHyperpipeSGIX) 969 #define glXDestroyHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXDestroyHyperpipeConfigSGIX) 970 #define glXHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXHyperpipeAttribSGIX) 971 #define glXHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXHyperpipeConfigSGIX) 972 #define glXQueryHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeAttribSGIX) 973 #define glXQueryHyperpipeBestAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeBestAttribSGIX) 974 #define glXQueryHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeConfigSGIX) 975 #define glXQueryHyperpipeNetworkSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeNetworkSGIX) 976 977 #define GLXEW_SGIX_hyperpipe GLXEW_GET_VAR(__GLXEW_SGIX_hyperpipe) 978 979 #endif /* GLX_SGIX_hyperpipe */ 980 981 /* ---------------------------- GLX_SGIX_pbuffer --------------------------- */ 982 983 #ifndef GLX_SGIX_pbuffer 984 #define GLX_SGIX_pbuffer 1 985 986 #define GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x00000001 987 #define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x00000002 988 #define GLX_PBUFFER_BIT_SGIX 0x00000004 989 #define GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x00000004 990 #define GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x00000008 991 #define GLX_AUX_BUFFERS_BIT_SGIX 0x00000010 992 #define GLX_DEPTH_BUFFER_BIT_SGIX 0x00000020 993 #define GLX_STENCIL_BUFFER_BIT_SGIX 0x00000040 994 #define GLX_ACCUM_BUFFER_BIT_SGIX 0x00000080 995 #define GLX_SAMPLE_BUFFERS_BIT_SGIX 0x00000100 996 #define GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016 997 #define GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017 998 #define GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018 999 #define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019 1000 #define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A 1001 #define GLX_PRESERVED_CONTENTS_SGIX 0x801B 1002 #define GLX_LARGEST_PBUFFER_SGIX 0x801C 1003 #define GLX_WIDTH_SGIX 0x801D 1004 #define GLX_HEIGHT_SGIX 0x801E 1005 #define GLX_EVENT_MASK_SGIX 0x801F 1006 #define GLX_DAMAGED_SGIX 0x8020 1007 #define GLX_SAVED_SGIX 0x8021 1008 #define GLX_WINDOW_SGIX 0x8022 1009 #define GLX_PBUFFER_SGIX 0x8023 1010 #define GLX_BUFFER_CLOBBER_MASK_SGIX 0x08000000 1011 1012 typedef XID GLXPbufferSGIX; 1013 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; 1014 1015 typedef GLXPbuffer ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display* dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list); 1016 typedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf); 1017 typedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long *mask); 1018 typedef void ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf, int attribute, unsigned int *value); 1019 typedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long mask); 1020 1021 #define glXCreateGLXPbufferSGIX GLXEW_GET_FUN(__glewXCreateGLXPbufferSGIX) 1022 #define glXDestroyGLXPbufferSGIX GLXEW_GET_FUN(__glewXDestroyGLXPbufferSGIX) 1023 #define glXGetSelectedEventSGIX GLXEW_GET_FUN(__glewXGetSelectedEventSGIX) 1024 #define glXQueryGLXPbufferSGIX GLXEW_GET_FUN(__glewXQueryGLXPbufferSGIX) 1025 #define glXSelectEventSGIX GLXEW_GET_FUN(__glewXSelectEventSGIX) 1026 1027 #define GLXEW_SGIX_pbuffer GLXEW_GET_VAR(__GLXEW_SGIX_pbuffer) 1028 1029 #endif /* GLX_SGIX_pbuffer */ 1030 1031 /* ------------------------- GLX_SGIX_swap_barrier ------------------------- */ 1032 1033 #ifndef GLX_SGIX_swap_barrier 1034 #define GLX_SGIX_swap_barrier 1 1035 1036 typedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier); 1037 typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max); 1038 1039 #define glXBindSwapBarrierSGIX GLXEW_GET_FUN(__glewXBindSwapBarrierSGIX) 1040 #define glXQueryMaxSwapBarriersSGIX GLXEW_GET_FUN(__glewXQueryMaxSwapBarriersSGIX) 1041 1042 #define GLXEW_SGIX_swap_barrier GLXEW_GET_VAR(__GLXEW_SGIX_swap_barrier) 1043 1044 #endif /* GLX_SGIX_swap_barrier */ 1045 1046 /* -------------------------- GLX_SGIX_swap_group -------------------------- */ 1047 1048 #ifndef GLX_SGIX_swap_group 1049 #define GLX_SGIX_swap_group 1 1050 1051 typedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member); 1052 1053 #define glXJoinSwapGroupSGIX GLXEW_GET_FUN(__glewXJoinSwapGroupSGIX) 1054 1055 #define GLXEW_SGIX_swap_group GLXEW_GET_VAR(__GLXEW_SGIX_swap_group) 1056 1057 #endif /* GLX_SGIX_swap_group */ 1058 1059 /* ------------------------- GLX_SGIX_video_resize ------------------------- */ 1060 1061 #ifndef GLX_SGIX_video_resize 1062 #define GLX_SGIX_video_resize 1 1063 1064 #define GLX_SYNC_FRAME_SGIX 0x00000000 1065 #define GLX_SYNC_SWAP_SGIX 0x00000001 1066 1067 typedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display* display, int screen, int channel, Window window); 1068 typedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int x, int y, int w, int h); 1069 typedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display* display, int screen, int channel, GLenum synctype); 1070 typedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display* display, int screen, int channel, int *x, int *y, int *w, int *h); 1071 typedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int *dx, int *dy, int *dw, int *dh); 1072 1073 #define glXBindChannelToWindowSGIX GLXEW_GET_FUN(__glewXBindChannelToWindowSGIX) 1074 #define glXChannelRectSGIX GLXEW_GET_FUN(__glewXChannelRectSGIX) 1075 #define glXChannelRectSyncSGIX GLXEW_GET_FUN(__glewXChannelRectSyncSGIX) 1076 #define glXQueryChannelDeltasSGIX GLXEW_GET_FUN(__glewXQueryChannelDeltasSGIX) 1077 #define glXQueryChannelRectSGIX GLXEW_GET_FUN(__glewXQueryChannelRectSGIX) 1078 1079 #define GLXEW_SGIX_video_resize GLXEW_GET_VAR(__GLXEW_SGIX_video_resize) 1080 1081 #endif /* GLX_SGIX_video_resize */ 1082 1083 /* ---------------------- GLX_SGIX_visual_select_group --------------------- */ 1084 1085 #ifndef GLX_SGIX_visual_select_group 1086 #define GLX_SGIX_visual_select_group 1 1087 1088 #define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028 1089 1090 #define GLXEW_SGIX_visual_select_group GLXEW_GET_VAR(__GLXEW_SGIX_visual_select_group) 1091 1092 #endif /* GLX_SGIX_visual_select_group */ 1093 1094 /* ---------------------------- GLX_SGI_cushion ---------------------------- */ 1095 1096 #ifndef GLX_SGI_cushion 1097 #define GLX_SGI_cushion 1 1098 1099 typedef void ( * PFNGLXCUSHIONSGIPROC) (Display* dpy, Window window, float cushion); 1100 1101 #define glXCushionSGI GLXEW_GET_FUN(__glewXCushionSGI) 1102 1103 #define GLXEW_SGI_cushion GLXEW_GET_VAR(__GLXEW_SGI_cushion) 1104 1105 #endif /* GLX_SGI_cushion */ 1106 1107 /* ----------------------- GLX_SGI_make_current_read ----------------------- */ 1108 1109 #ifndef GLX_SGI_make_current_read 1110 #define GLX_SGI_make_current_read 1 1111 1112 typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void); 1113 typedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display* dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); 1114 1115 #define glXGetCurrentReadDrawableSGI GLXEW_GET_FUN(__glewXGetCurrentReadDrawableSGI) 1116 #define glXMakeCurrentReadSGI GLXEW_GET_FUN(__glewXMakeCurrentReadSGI) 1117 1118 #define GLXEW_SGI_make_current_read GLXEW_GET_VAR(__GLXEW_SGI_make_current_read) 1119 1120 #endif /* GLX_SGI_make_current_read */ 1121 1122 /* -------------------------- GLX_SGI_swap_control ------------------------- */ 1123 1124 #ifndef GLX_SGI_swap_control 1125 #define GLX_SGI_swap_control 1 1126 1127 typedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval); 1128 1129 #define glXSwapIntervalSGI GLXEW_GET_FUN(__glewXSwapIntervalSGI) 1130 1131 #define GLXEW_SGI_swap_control GLXEW_GET_VAR(__GLXEW_SGI_swap_control) 1132 1133 #endif /* GLX_SGI_swap_control */ 1134 1135 /* --------------------------- GLX_SGI_video_sync -------------------------- */ 1136 1137 #ifndef GLX_SGI_video_sync 1138 #define GLX_SGI_video_sync 1 1139 1140 typedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (uint* count); 1141 typedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int* count); 1142 1143 #define glXGetVideoSyncSGI GLXEW_GET_FUN(__glewXGetVideoSyncSGI) 1144 #define glXWaitVideoSyncSGI GLXEW_GET_FUN(__glewXWaitVideoSyncSGI) 1145 1146 #define GLXEW_SGI_video_sync GLXEW_GET_VAR(__GLXEW_SGI_video_sync) 1147 1148 #endif /* GLX_SGI_video_sync */ 1149 1150 /* --------------------- GLX_SUN_get_transparent_index --------------------- */ 1151 1152 #ifndef GLX_SUN_get_transparent_index 1153 #define GLX_SUN_get_transparent_index 1 1154 1155 typedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display* dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex); 1156 1157 #define glXGetTransparentIndexSUN GLXEW_GET_FUN(__glewXGetTransparentIndexSUN) 1158 1159 #define GLXEW_SUN_get_transparent_index GLXEW_GET_VAR(__GLXEW_SUN_get_transparent_index) 1160 1161 #endif /* GLX_SUN_get_transparent_index */ 1162 1163 /* -------------------------- GLX_SUN_video_resize ------------------------- */ 1164 1165 #ifndef GLX_SUN_video_resize 1166 #define GLX_SUN_video_resize 1 1167 1168 #define GLX_VIDEO_RESIZE_SUN 0x8171 1169 #define GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85CD 1170 1171 typedef int ( * PFNGLXGETVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float* factor); 1172 typedef int ( * PFNGLXVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float factor); 1173 1174 #define glXGetVideoResizeSUN GLXEW_GET_FUN(__glewXGetVideoResizeSUN) 1175 #define glXVideoResizeSUN GLXEW_GET_FUN(__glewXVideoResizeSUN) 1176 1177 #define GLXEW_SUN_video_resize GLXEW_GET_VAR(__GLXEW_SUN_video_resize) 1178 1179 #endif /* GLX_SUN_video_resize */ 1180 1181 /* ------------------------------------------------------------------------- */ 1182 1183 #ifdef GLEW_MX 1184 #define GLXEW_EXPORT 1185 #else 1186 #define GLXEW_EXPORT extern 1187 #endif /* GLEW_MX */ 1188 1189 extern PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay; 1190 1191 extern PFNGLXCHOOSEFBCONFIGPROC __glewXChooseFBConfig; 1192 extern PFNGLXCREATENEWCONTEXTPROC __glewXCreateNewContext; 1193 extern PFNGLXCREATEPBUFFERPROC __glewXCreatePbuffer; 1194 extern PFNGLXCREATEPIXMAPPROC __glewXCreatePixmap; 1195 extern PFNGLXCREATEWINDOWPROC __glewXCreateWindow; 1196 extern PFNGLXDESTROYPBUFFERPROC __glewXDestroyPbuffer; 1197 extern PFNGLXDESTROYPIXMAPPROC __glewXDestroyPixmap; 1198 extern PFNGLXDESTROYWINDOWPROC __glewXDestroyWindow; 1199 extern PFNGLXGETCURRENTREADDRAWABLEPROC __glewXGetCurrentReadDrawable; 1200 extern PFNGLXGETFBCONFIGATTRIBPROC __glewXGetFBConfigAttrib; 1201 extern PFNGLXGETFBCONFIGSPROC __glewXGetFBConfigs; 1202 extern PFNGLXGETSELECTEDEVENTPROC __glewXGetSelectedEvent; 1203 extern PFNGLXGETVISUALFROMFBCONFIGPROC __glewXGetVisualFromFBConfig; 1204 extern PFNGLXMAKECONTEXTCURRENTPROC __glewXMakeContextCurrent; 1205 extern PFNGLXQUERYCONTEXTPROC __glewXQueryContext; 1206 extern PFNGLXQUERYDRAWABLEPROC __glewXQueryDrawable; 1207 extern PFNGLXSELECTEVENTPROC __glewXSelectEvent; 1208 1209 extern PFNGLXCREATECONTEXTATTRIBSARBPROC __glewXCreateContextAttribsARB; 1210 1211 extern PFNGLXBINDTEXIMAGEATIPROC __glewXBindTexImageATI; 1212 extern PFNGLXDRAWABLEATTRIBATIPROC __glewXDrawableAttribATI; 1213 extern PFNGLXRELEASETEXIMAGEATIPROC __glewXReleaseTexImageATI; 1214 1215 extern PFNGLXFREECONTEXTEXTPROC __glewXFreeContextEXT; 1216 extern PFNGLXGETCONTEXTIDEXTPROC __glewXGetContextIDEXT; 1217 extern PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT; 1218 extern PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT; 1219 1220 extern PFNGLXBINDTEXIMAGEEXTPROC __glewXBindTexImageEXT; 1221 extern PFNGLXRELEASETEXIMAGEEXTPROC __glewXReleaseTexImageEXT; 1222 1223 extern PFNGLXGETAGPOFFSETMESAPROC __glewXGetAGPOffsetMESA; 1224 1225 extern PFNGLXCOPYSUBBUFFERMESAPROC __glewXCopySubBufferMESA; 1226 1227 extern PFNGLXCREATEGLXPIXMAPMESAPROC __glewXCreateGLXPixmapMESA; 1228 1229 extern PFNGLXRELEASEBUFFERSMESAPROC __glewXReleaseBuffersMESA; 1230 1231 extern PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA; 1232 1233 extern PFNGLXBINDVIDEODEVICENVPROC __glewXBindVideoDeviceNV; 1234 extern PFNGLXENUMERATEVIDEODEVICESNVPROC __glewXEnumerateVideoDevicesNV; 1235 1236 extern PFNGLXBINDSWAPBARRIERNVPROC __glewXBindSwapBarrierNV; 1237 extern PFNGLXJOINSWAPGROUPNVPROC __glewXJoinSwapGroupNV; 1238 extern PFNGLXQUERYFRAMECOUNTNVPROC __glewXQueryFrameCountNV; 1239 extern PFNGLXQUERYMAXSWAPGROUPSNVPROC __glewXQueryMaxSwapGroupsNV; 1240 extern PFNGLXQUERYSWAPGROUPNVPROC __glewXQuerySwapGroupNV; 1241 extern PFNGLXRESETFRAMECOUNTNVPROC __glewXResetFrameCountNV; 1242 1243 extern PFNGLXALLOCATEMEMORYNVPROC __glewXAllocateMemoryNV; 1244 extern PFNGLXFREEMEMORYNVPROC __glewXFreeMemoryNV; 1245 1246 extern PFNGLXBINDVIDEOIMAGENVPROC __glewXBindVideoImageNV; 1247 extern PFNGLXGETVIDEODEVICENVPROC __glewXGetVideoDeviceNV; 1248 extern PFNGLXGETVIDEOINFONVPROC __glewXGetVideoInfoNV; 1249 extern PFNGLXRELEASEVIDEODEVICENVPROC __glewXReleaseVideoDeviceNV; 1250 extern PFNGLXRELEASEVIDEOIMAGENVPROC __glewXReleaseVideoImageNV; 1251 extern PFNGLXSENDPBUFFERTOVIDEONVPROC __glewXSendPbufferToVideoNV; 1252 1253 #ifdef GLX_OML_sync_control 1254 extern PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML; 1255 extern PFNGLXGETSYNCVALUESOMLPROC __glewXGetSyncValuesOML; 1256 extern PFNGLXSWAPBUFFERSMSCOMLPROC __glewXSwapBuffersMscOML; 1257 extern PFNGLXWAITFORMSCOMLPROC __glewXWaitForMscOML; 1258 extern PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML; 1259 #endif 1260 1261 extern PFNGLXCHOOSEFBCONFIGSGIXPROC __glewXChooseFBConfigSGIX; 1262 extern PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC __glewXCreateContextWithConfigSGIX; 1263 extern PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC __glewXCreateGLXPixmapWithConfigSGIX; 1264 extern PFNGLXGETFBCONFIGATTRIBSGIXPROC __glewXGetFBConfigAttribSGIX; 1265 extern PFNGLXGETFBCONFIGFROMVISUALSGIXPROC __glewXGetFBConfigFromVisualSGIX; 1266 extern PFNGLXGETVISUALFROMFBCONFIGSGIXPROC __glewXGetVisualFromFBConfigSGIX; 1267 1268 extern PFNGLXBINDHYPERPIPESGIXPROC __glewXBindHyperpipeSGIX; 1269 extern PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC __glewXDestroyHyperpipeConfigSGIX; 1270 extern PFNGLXHYPERPIPEATTRIBSGIXPROC __glewXHyperpipeAttribSGIX; 1271 extern PFNGLXHYPERPIPECONFIGSGIXPROC __glewXHyperpipeConfigSGIX; 1272 extern PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC __glewXQueryHyperpipeAttribSGIX; 1273 extern PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC __glewXQueryHyperpipeBestAttribSGIX; 1274 extern PFNGLXQUERYHYPERPIPECONFIGSGIXPROC __glewXQueryHyperpipeConfigSGIX; 1275 extern PFNGLXQUERYHYPERPIPENETWORKSGIXPROC __glewXQueryHyperpipeNetworkSGIX; 1276 1277 extern PFNGLXCREATEGLXPBUFFERSGIXPROC __glewXCreateGLXPbufferSGIX; 1278 extern PFNGLXDESTROYGLXPBUFFERSGIXPROC __glewXDestroyGLXPbufferSGIX; 1279 extern PFNGLXGETSELECTEDEVENTSGIXPROC __glewXGetSelectedEventSGIX; 1280 extern PFNGLXQUERYGLXPBUFFERSGIXPROC __glewXQueryGLXPbufferSGIX; 1281 extern PFNGLXSELECTEVENTSGIXPROC __glewXSelectEventSGIX; 1282 1283 extern PFNGLXBINDSWAPBARRIERSGIXPROC __glewXBindSwapBarrierSGIX; 1284 extern PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC __glewXQueryMaxSwapBarriersSGIX; 1285 1286 extern PFNGLXJOINSWAPGROUPSGIXPROC __glewXJoinSwapGroupSGIX; 1287 1288 extern PFNGLXBINDCHANNELTOWINDOWSGIXPROC __glewXBindChannelToWindowSGIX; 1289 extern PFNGLXCHANNELRECTSGIXPROC __glewXChannelRectSGIX; 1290 extern PFNGLXCHANNELRECTSYNCSGIXPROC __glewXChannelRectSyncSGIX; 1291 extern PFNGLXQUERYCHANNELDELTASSGIXPROC __glewXQueryChannelDeltasSGIX; 1292 extern PFNGLXQUERYCHANNELRECTSGIXPROC __glewXQueryChannelRectSGIX; 1293 1294 extern PFNGLXCUSHIONSGIPROC __glewXCushionSGI; 1295 1296 extern PFNGLXGETCURRENTREADDRAWABLESGIPROC __glewXGetCurrentReadDrawableSGI; 1297 extern PFNGLXMAKECURRENTREADSGIPROC __glewXMakeCurrentReadSGI; 1298 1299 extern PFNGLXSWAPINTERVALSGIPROC __glewXSwapIntervalSGI; 1300 1301 extern PFNGLXGETVIDEOSYNCSGIPROC __glewXGetVideoSyncSGI; 1302 extern PFNGLXWAITVIDEOSYNCSGIPROC __glewXWaitVideoSyncSGI; 1303 1304 extern PFNGLXGETTRANSPARENTINDEXSUNPROC __glewXGetTransparentIndexSUN; 1305 1306 extern PFNGLXGETVIDEORESIZESUNPROC __glewXGetVideoResizeSUN; 1307 extern PFNGLXVIDEORESIZESUNPROC __glewXVideoResizeSUN; 1308 1309 #if defined(GLEW_MX) 1310 struct GLXEWContextStruct 1311 { 1312 #endif /* GLEW_MX */ 1313 1314 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_0; 1315 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_1; 1316 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_2; 1317 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_3; 1318 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_4; 1319 GLXEW_EXPORT GLboolean __GLXEW_3DFX_multisample; 1320 GLXEW_EXPORT GLboolean __GLXEW_ARB_create_context; 1321 GLXEW_EXPORT GLboolean __GLXEW_ARB_fbconfig_float; 1322 GLXEW_EXPORT GLboolean __GLXEW_ARB_framebuffer_sRGB; 1323 GLXEW_EXPORT GLboolean __GLXEW_ARB_get_proc_address; 1324 GLXEW_EXPORT GLboolean __GLXEW_ARB_multisample; 1325 GLXEW_EXPORT GLboolean __GLXEW_ATI_pixel_format_float; 1326 GLXEW_EXPORT GLboolean __GLXEW_ATI_render_texture; 1327 GLXEW_EXPORT GLboolean __GLXEW_EXT_fbconfig_packed_float; 1328 GLXEW_EXPORT GLboolean __GLXEW_EXT_framebuffer_sRGB; 1329 GLXEW_EXPORT GLboolean __GLXEW_EXT_import_context; 1330 GLXEW_EXPORT GLboolean __GLXEW_EXT_scene_marker; 1331 GLXEW_EXPORT GLboolean __GLXEW_EXT_texture_from_pixmap; 1332 GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_info; 1333 GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_rating; 1334 GLXEW_EXPORT GLboolean __GLXEW_MESA_agp_offset; 1335 GLXEW_EXPORT GLboolean __GLXEW_MESA_copy_sub_buffer; 1336 GLXEW_EXPORT GLboolean __GLXEW_MESA_pixmap_colormap; 1337 GLXEW_EXPORT GLboolean __GLXEW_MESA_release_buffers; 1338 GLXEW_EXPORT GLboolean __GLXEW_MESA_set_3dfx_mode; 1339 GLXEW_EXPORT GLboolean __GLXEW_NV_float_buffer; 1340 GLXEW_EXPORT GLboolean __GLXEW_NV_present_video; 1341 GLXEW_EXPORT GLboolean __GLXEW_NV_swap_group; 1342 GLXEW_EXPORT GLboolean __GLXEW_NV_vertex_array_range; 1343 GLXEW_EXPORT GLboolean __GLXEW_NV_video_output; 1344 GLXEW_EXPORT GLboolean __GLXEW_OML_swap_method; 1345 GLXEW_EXPORT GLboolean __GLXEW_OML_sync_control; 1346 GLXEW_EXPORT GLboolean __GLXEW_SGIS_blended_overlay; 1347 GLXEW_EXPORT GLboolean __GLXEW_SGIS_color_range; 1348 GLXEW_EXPORT GLboolean __GLXEW_SGIS_multisample; 1349 GLXEW_EXPORT GLboolean __GLXEW_SGIS_shared_multisample; 1350 GLXEW_EXPORT GLboolean __GLXEW_SGIX_fbconfig; 1351 GLXEW_EXPORT GLboolean __GLXEW_SGIX_hyperpipe; 1352 GLXEW_EXPORT GLboolean __GLXEW_SGIX_pbuffer; 1353 GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_barrier; 1354 GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_group; 1355 GLXEW_EXPORT GLboolean __GLXEW_SGIX_video_resize; 1356 GLXEW_EXPORT GLboolean __GLXEW_SGIX_visual_select_group; 1357 GLXEW_EXPORT GLboolean __GLXEW_SGI_cushion; 1358 GLXEW_EXPORT GLboolean __GLXEW_SGI_make_current_read; 1359 GLXEW_EXPORT GLboolean __GLXEW_SGI_swap_control; 1360 GLXEW_EXPORT GLboolean __GLXEW_SGI_video_sync; 1361 GLXEW_EXPORT GLboolean __GLXEW_SUN_get_transparent_index; 1362 GLXEW_EXPORT GLboolean __GLXEW_SUN_video_resize; 1363 1364 #ifdef GLEW_MX 1365 }; /* GLXEWContextStruct */ 1366 #endif /* GLEW_MX */ 1367 1368 /* ------------------------------------------------------------------------ */ 1369 1370 #ifdef GLEW_MX 1371 1372 typedef struct GLXEWContextStruct GLXEWContext; 1373 extern GLenum glxewContextInit (GLXEWContext* ctx); 1374 extern GLboolean glxewContextIsSupported (GLXEWContext* ctx, const char* name); 1375 1376 #define glxewInit() glxewContextInit(glxewGetContext()) 1377 #define glxewIsSupported(x) glxewContextIsSupported(glxewGetContext(), x) 1378 1379 #define GLXEW_GET_VAR(x) (*(const GLboolean*)&(glxewGetContext()->x)) 1380 #define GLXEW_GET_FUN(x) x 1381 1382 #else /* GLEW_MX */ 1383 1384 #define GLXEW_GET_VAR(x) (*(const GLboolean*)&x) 1385 #define GLXEW_GET_FUN(x) x 1386 1387 extern GLboolean glxewIsSupported (const char* name); 1388 1389 #endif /* GLEW_MX */ 1390 1391 extern GLboolean glxewGetExtension (const char* name); 1392 1393 #ifdef __cplusplus 1394 } 1395 #endif 1396 1397 #endif /* __glxew_h__ */ 1398