00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051 #ifndef __glxew_h__
00052 #define __glxew_h__
00053 #define __GLXEW_H__
00054
00055 #ifdef __glxext_h_
00056 #error glxext.h included before glxew.h
00057 #endif
00058 #ifdef GLX_H
00059 #error glx.h included before glxew.h
00060 #endif
00061
00062 #define __glxext_h_
00063 #define __GLX_glx_h__
00064 #define GLX_H
00065
00066 #include <X11/Xlib.h>
00067 #include <X11/Xutil.h>
00068 #include <X11/Xmd.h>
00069 #include <GL/glew.h>
00070
00071 #ifdef __cplusplus
00072 extern "C" {
00073 #endif
00074
00075
00076
00077 #ifndef GLX_VERSION_1_0
00078 #define GLX_VERSION_1_0 1
00079
00080 #define GLX_USE_GL 1
00081 #define GLX_BUFFER_SIZE 2
00082 #define GLX_LEVEL 3
00083 #define GLX_RGBA 4
00084 #define GLX_DOUBLEBUFFER 5
00085 #define GLX_STEREO 6
00086 #define GLX_AUX_BUFFERS 7
00087 #define GLX_RED_SIZE 8
00088 #define GLX_GREEN_SIZE 9
00089 #define GLX_BLUE_SIZE 10
00090 #define GLX_ALPHA_SIZE 11
00091 #define GLX_DEPTH_SIZE 12
00092 #define GLX_STENCIL_SIZE 13
00093 #define GLX_ACCUM_RED_SIZE 14
00094 #define GLX_ACCUM_GREEN_SIZE 15
00095 #define GLX_ACCUM_BLUE_SIZE 16
00096 #define GLX_ACCUM_ALPHA_SIZE 17
00097 #define GLX_BAD_SCREEN 1
00098 #define GLX_BAD_ATTRIBUTE 2
00099 #define GLX_NO_EXTENSION 3
00100 #define GLX_BAD_VISUAL 4
00101 #define GLX_BAD_CONTEXT 5
00102 #define GLX_BAD_VALUE 6
00103 #define GLX_BAD_ENUM 7
00104
00105 typedef XID GLXDrawable;
00106 typedef XID GLXPixmap;
00107 #ifdef __sun
00108 typedef struct __glXContextRec *GLXContext;
00109 #else
00110 typedef struct __GLXcontextRec *GLXContext;
00111 #endif
00112
00113 extern Bool glXQueryExtension (Display *dpy, int *errorBase, int *eventBase);
00114 extern Bool glXQueryVersion (Display *dpy, int *major, int *minor);
00115 extern int glXGetConfig (Display *dpy, XVisualInfo *vis, int attrib, int *value);
00116 extern XVisualInfo* glXChooseVisual (Display *dpy, int screen, int *attribList);
00117 extern GLXPixmap glXCreateGLXPixmap (Display *dpy, XVisualInfo *vis, Pixmap pixmap);
00118 extern void glXDestroyGLXPixmap (Display *dpy, GLXPixmap pix);
00119 extern GLXContext glXCreateContext (Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);
00120 extern void glXDestroyContext (Display *dpy, GLXContext ctx);
00121 extern Bool glXIsDirect (Display *dpy, GLXContext ctx);
00122 extern void glXCopyContext (Display *dpy, GLXContext src, GLXContext dst, GLuint mask);
00123 extern Bool glXMakeCurrent (Display *dpy, GLXDrawable drawable, GLXContext ctx);
00124 extern GLXContext glXGetCurrentContext (void);
00125 extern GLXDrawable glXGetCurrentDrawable (void);
00126 extern void glXWaitGL (void);
00127 extern void glXWaitX (void);
00128 extern void glXSwapBuffers (Display *dpy, GLXDrawable drawable);
00129 extern void glXUseXFont (Font font, int first, int count, int listBase);
00130
00131 #define GLXEW_VERSION_1_0 GLXEW_GET_VAR(__GLXEW_VERSION_1_0)
00132
00133 #endif
00134
00135
00136
00137 #ifndef GLX_VERSION_1_1
00138 #define GLX_VERSION_1_1
00139
00140 #define GLX_VENDOR 0x1
00141 #define GLX_VERSION 0x2
00142 #define GLX_EXTENSIONS 0x3
00143
00144 extern const char* glXQueryExtensionsString (Display *dpy, int screen);
00145 extern const char* glXGetClientString (Display *dpy, int name);
00146 extern const char* glXQueryServerString (Display *dpy, int screen, int name);
00147
00148 #define GLXEW_VERSION_1_1 GLXEW_GET_VAR(__GLXEW_VERSION_1_1)
00149
00150 #endif
00151
00152
00153
00154 #ifndef GLX_VERSION_1_2
00155 #define GLX_VERSION_1_2 1
00156
00157 typedef Display* ( * PFNGLXGETCURRENTDISPLAYPROC) (void);
00158
00159 #define glXGetCurrentDisplay GLXEW_GET_FUN(__glewXGetCurrentDisplay)
00160
00161 #define GLXEW_VERSION_1_2 GLXEW_GET_VAR(__GLXEW_VERSION_1_2)
00162
00163 #endif
00164
00165
00166
00167 #ifndef GLX_VERSION_1_3
00168 #define GLX_VERSION_1_3 1
00169
00170 #define GLX_RGBA_BIT 0x00000001
00171 #define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001
00172 #define GLX_WINDOW_BIT 0x00000001
00173 #define GLX_COLOR_INDEX_BIT 0x00000002
00174 #define GLX_PIXMAP_BIT 0x00000002
00175 #define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002
00176 #define GLX_BACK_LEFT_BUFFER_BIT 0x00000004
00177 #define GLX_PBUFFER_BIT 0x00000004
00178 #define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
00179 #define GLX_AUX_BUFFERS_BIT 0x00000010
00180 #define GLX_CONFIG_CAVEAT 0x20
00181 #define GLX_DEPTH_BUFFER_BIT 0x00000020
00182 #define GLX_X_VISUAL_TYPE 0x22
00183 #define GLX_TRANSPARENT_TYPE 0x23
00184 #define GLX_TRANSPARENT_INDEX_VALUE 0x24
00185 #define GLX_TRANSPARENT_RED_VALUE 0x25
00186 #define GLX_TRANSPARENT_GREEN_VALUE 0x26
00187 #define GLX_TRANSPARENT_BLUE_VALUE 0x27
00188 #define GLX_TRANSPARENT_ALPHA_VALUE 0x28
00189 #define GLX_STENCIL_BUFFER_BIT 0x00000040
00190 #define GLX_ACCUM_BUFFER_BIT 0x00000080
00191 #define GLX_NONE 0x8000
00192 #define GLX_SLOW_CONFIG 0x8001
00193 #define GLX_TRUE_COLOR 0x8002
00194 #define GLX_DIRECT_COLOR 0x8003
00195 #define GLX_PSEUDO_COLOR 0x8004
00196 #define GLX_STATIC_COLOR 0x8005
00197 #define GLX_GRAY_SCALE 0x8006
00198 #define GLX_STATIC_GRAY 0x8007
00199 #define GLX_TRANSPARENT_RGB 0x8008
00200 #define GLX_TRANSPARENT_INDEX 0x8009
00201 #define GLX_VISUAL_ID 0x800B
00202 #define GLX_SCREEN 0x800C
00203 #define GLX_NON_CONFORMANT_CONFIG 0x800D
00204 #define GLX_DRAWABLE_TYPE 0x8010
00205 #define GLX_RENDER_TYPE 0x8011
00206 #define GLX_X_RENDERABLE 0x8012
00207 #define GLX_FBCONFIG_ID 0x8013
00208 #define GLX_RGBA_TYPE 0x8014
00209 #define GLX_COLOR_INDEX_TYPE 0x8015
00210 #define GLX_MAX_PBUFFER_WIDTH 0x8016
00211 #define GLX_MAX_PBUFFER_HEIGHT 0x8017
00212 #define GLX_MAX_PBUFFER_PIXELS 0x8018
00213 #define GLX_PRESERVED_CONTENTS 0x801B
00214 #define GLX_LARGEST_PBUFFER 0x801C
00215 #define GLX_WIDTH 0x801D
00216 #define GLX_HEIGHT 0x801E
00217 #define GLX_EVENT_MASK 0x801F
00218 #define GLX_DAMAGED 0x8020
00219 #define GLX_SAVED 0x8021
00220 #define GLX_WINDOW 0x8022
00221 #define GLX_PBUFFER 0x8023
00222 #define GLX_PBUFFER_HEIGHT 0x8040
00223 #define GLX_PBUFFER_WIDTH 0x8041
00224 #define GLX_PBUFFER_CLOBBER_MASK 0x08000000
00225 #define GLX_DONT_CARE 0xFFFFFFFF
00226
00227 typedef XID GLXFBConfigID;
00228 typedef XID GLXWindow;
00229 typedef XID GLXPbuffer;
00230 typedef struct __GLXFBConfigRec *GLXFBConfig;
00231
00232 typedef struct {
00233 int event_type;
00234 int draw_type;
00235 unsigned long serial;
00236 Bool send_event;
00237 Display *display;
00238 GLXDrawable drawable;
00239 unsigned int buffer_mask;
00240 unsigned int aux_buffer;
00241 int x, y;
00242 int width, height;
00243 int count;
00244 } GLXPbufferClobberEvent;
00245 typedef union __GLXEvent {
00246 GLXPbufferClobberEvent glxpbufferclobber;
00247 long pad[24];
00248 } GLXEvent;
00249
00250 typedef GLXFBConfig* ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
00251 typedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
00252 typedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
00253 typedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
00254 typedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
00255 typedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
00256 typedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
00257 typedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
00258 typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
00259 typedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
00260 typedef GLXFBConfig* ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
00261 typedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
00262 typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
00263 typedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
00264 typedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
00265 typedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
00266 typedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask);
00267
00268 #define glXChooseFBConfig GLXEW_GET_FUN(__glewXChooseFBConfig)
00269 #define glXCreateNewContext GLXEW_GET_FUN(__glewXCreateNewContext)
00270 #define glXCreatePbuffer GLXEW_GET_FUN(__glewXCreatePbuffer)
00271 #define glXCreatePixmap GLXEW_GET_FUN(__glewXCreatePixmap)
00272 #define glXCreateWindow GLXEW_GET_FUN(__glewXCreateWindow)
00273 #define glXDestroyPbuffer GLXEW_GET_FUN(__glewXDestroyPbuffer)
00274 #define glXDestroyPixmap GLXEW_GET_FUN(__glewXDestroyPixmap)
00275 #define glXDestroyWindow GLXEW_GET_FUN(__glewXDestroyWindow)
00276 #define glXGetCurrentReadDrawable GLXEW_GET_FUN(__glewXGetCurrentReadDrawable)
00277 #define glXGetFBConfigAttrib GLXEW_GET_FUN(__glewXGetFBConfigAttrib)
00278 #define glXGetFBConfigs GLXEW_GET_FUN(__glewXGetFBConfigs)
00279 #define glXGetSelectedEvent GLXEW_GET_FUN(__glewXGetSelectedEvent)
00280 #define glXGetVisualFromFBConfig GLXEW_GET_FUN(__glewXGetVisualFromFBConfig)
00281 #define glXMakeContextCurrent GLXEW_GET_FUN(__glewXMakeContextCurrent)
00282 #define glXQueryContext GLXEW_GET_FUN(__glewXQueryContext)
00283 #define glXQueryDrawable GLXEW_GET_FUN(__glewXQueryDrawable)
00284 #define glXSelectEvent GLXEW_GET_FUN(__glewXSelectEvent)
00285
00286 #define GLXEW_VERSION_1_3 GLXEW_GET_VAR(__GLXEW_VERSION_1_3)
00287
00288 #endif
00289
00290
00291
00292 #ifndef GLX_VERSION_1_4
00293 #define GLX_VERSION_1_4 1
00294
00295 #define GLX_SAMPLE_BUFFERS 100000
00296 #define GLX_SAMPLES 100001
00297
00298 extern void ( * glXGetProcAddress (const GLubyte *procName)) (void);
00299
00300 #define GLXEW_VERSION_1_4 GLXEW_GET_VAR(__GLXEW_VERSION_1_4)
00301
00302 #endif
00303
00304
00305
00306 #ifndef GLX_3DFX_multisample
00307 #define GLX_3DFX_multisample 1
00308
00309 #define GLX_SAMPLE_BUFFERS_3DFX 0x8050
00310 #define GLX_SAMPLES_3DFX 0x8051
00311
00312 #define GLXEW_3DFX_multisample GLXEW_GET_VAR(__GLXEW_3DFX_multisample)
00313
00314 #endif
00315
00316
00317
00318 #ifndef GLX_ARB_fbconfig_float
00319 #define GLX_ARB_fbconfig_float 1
00320
00321 #define GLX_RGBA_FLOAT_BIT 0x00000004
00322 #define GLX_RGBA_FLOAT_TYPE 0x20B9
00323
00324 #define GLXEW_ARB_fbconfig_float GLXEW_GET_VAR(__GLXEW_ARB_fbconfig_float)
00325
00326 #endif
00327
00328
00329
00330 #ifndef GLX_ARB_get_proc_address
00331 #define GLX_ARB_get_proc_address 1
00332
00333 extern void ( * glXGetProcAddressARB (const GLubyte *procName)) (void);
00334
00335 #define GLXEW_ARB_get_proc_address GLXEW_GET_VAR(__GLXEW_ARB_get_proc_address)
00336
00337 #endif
00338
00339
00340
00341 #ifndef GLX_ARB_multisample
00342 #define GLX_ARB_multisample 1
00343
00344 #define GLX_SAMPLE_BUFFERS_ARB 100000
00345 #define GLX_SAMPLES_ARB 100001
00346
00347 #define GLXEW_ARB_multisample GLXEW_GET_VAR(__GLXEW_ARB_multisample)
00348
00349 #endif
00350
00351
00352
00353 #ifndef GLX_ATI_pixel_format_float
00354 #define GLX_ATI_pixel_format_float 1
00355
00356 #define GLX_RGBA_FLOAT_ATI_BIT 0x00000100
00357
00358 #define GLXEW_ATI_pixel_format_float GLXEW_GET_VAR(__GLXEW_ATI_pixel_format_float)
00359
00360 #endif
00361
00362
00363
00364 #ifndef GLX_ATI_render_texture
00365 #define GLX_ATI_render_texture 1
00366
00367 #define GLX_BIND_TO_TEXTURE_RGB_ATI 0x9800
00368 #define GLX_BIND_TO_TEXTURE_RGBA_ATI 0x9801
00369 #define GLX_TEXTURE_FORMAT_ATI 0x9802
00370 #define GLX_TEXTURE_TARGET_ATI 0x9803
00371 #define GLX_MIPMAP_TEXTURE_ATI 0x9804
00372 #define GLX_TEXTURE_RGB_ATI 0x9805
00373 #define GLX_TEXTURE_RGBA_ATI 0x9806
00374 #define GLX_NO_TEXTURE_ATI 0x9807
00375 #define GLX_TEXTURE_CUBE_MAP_ATI 0x9808
00376 #define GLX_TEXTURE_1D_ATI 0x9809
00377 #define GLX_TEXTURE_2D_ATI 0x980A
00378 #define GLX_MIPMAP_LEVEL_ATI 0x980B
00379 #define GLX_CUBE_MAP_FACE_ATI 0x980C
00380 #define GLX_TEXTURE_CUBE_MAP_POSITIVE_X_ATI 0x980D
00381 #define GLX_TEXTURE_CUBE_MAP_NEGATIVE_X_ATI 0x980E
00382 #define GLX_TEXTURE_CUBE_MAP_POSITIVE_Y_ATI 0x980F
00383 #define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Y_ATI 0x9810
00384 #define GLX_TEXTURE_CUBE_MAP_POSITIVE_Z_ATI 0x9811
00385 #define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Z_ATI 0x9812
00386 #define GLX_FRONT_LEFT_ATI 0x9813
00387 #define GLX_FRONT_RIGHT_ATI 0x9814
00388 #define GLX_BACK_LEFT_ATI 0x9815
00389 #define GLX_BACK_RIGHT_ATI 0x9816
00390 #define GLX_AUX0_ATI 0x9817
00391 #define GLX_AUX1_ATI 0x9818
00392 #define GLX_AUX2_ATI 0x9819
00393 #define GLX_AUX3_ATI 0x981A
00394 #define GLX_AUX4_ATI 0x981B
00395 #define GLX_AUX5_ATI 0x981C
00396 #define GLX_AUX6_ATI 0x981D
00397 #define GLX_AUX7_ATI 0x981E
00398 #define GLX_AUX8_ATI 0x981F
00399 #define GLX_AUX9_ATI 0x9820
00400 #define GLX_BIND_TO_TEXTURE_LUMINANCE_ATI 0x9821
00401 #define GLX_BIND_TO_TEXTURE_INTENSITY_ATI 0x9822
00402
00403 typedef void ( * PFNGLXBINDTEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer);
00404 typedef void ( * PFNGLXDRAWABLEATTRIBATIPROC) (Display *dpy, GLXDrawable draw, const int *attrib_list);
00405 typedef void ( * PFNGLXRELEASETEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer);
00406
00407 #define glXBindTexImageATI GLXEW_GET_FUN(__glewXBindTexImageATI)
00408 #define glXDrawableAttribATI GLXEW_GET_FUN(__glewXDrawableAttribATI)
00409 #define glXReleaseTexImageATI GLXEW_GET_FUN(__glewXReleaseTexImageATI)
00410
00411 #define GLXEW_ATI_render_texture GLXEW_GET_VAR(__GLXEW_ATI_render_texture)
00412
00413 #endif
00414
00415
00416
00417 #ifndef GLX_EXT_fbconfig_packed_float
00418 #define GLX_EXT_fbconfig_packed_float 1
00419
00420 #define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008
00421 #define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1
00422
00423 #define GLXEW_EXT_fbconfig_packed_float GLXEW_GET_VAR(__GLXEW_EXT_fbconfig_packed_float)
00424
00425 #endif
00426
00427
00428
00429 #ifndef GLX_EXT_framebuffer_sRGB
00430 #define GLX_EXT_framebuffer_sRGB 1
00431
00432 #define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2
00433
00434 #define GLXEW_EXT_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_EXT_framebuffer_sRGB)
00435
00436 #endif
00437
00438
00439
00440 #ifndef GLX_EXT_import_context
00441 #define GLX_EXT_import_context 1
00442
00443 #define GLX_SHARE_CONTEXT_EXT 0x800A
00444 #define GLX_VISUAL_ID_EXT 0x800B
00445 #define GLX_SCREEN_EXT 0x800C
00446
00447 typedef XID GLXContextID;
00448
00449 typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display* dpy, GLXContext context);
00450 typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context);
00451 typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display* dpy, GLXContextID contextID);
00452 typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display* dpy, GLXContext context, int attribute,int *value);
00453
00454 #define glXFreeContextEXT GLXEW_GET_FUN(__glewXFreeContextEXT)
00455 #define glXGetContextIDEXT GLXEW_GET_FUN(__glewXGetContextIDEXT)
00456 #define glXImportContextEXT GLXEW_GET_FUN(__glewXImportContextEXT)
00457 #define glXQueryContextInfoEXT GLXEW_GET_FUN(__glewXQueryContextInfoEXT)
00458
00459 #define GLXEW_EXT_import_context GLXEW_GET_VAR(__GLXEW_EXT_import_context)
00460
00461 #endif
00462
00463
00464
00465 #ifndef GLX_EXT_scene_marker
00466 #define GLX_EXT_scene_marker 1
00467
00468 #define GLXEW_EXT_scene_marker GLXEW_GET_VAR(__GLXEW_EXT_scene_marker)
00469
00470 #endif
00471
00472
00473
00474 #ifndef GLX_EXT_visual_info
00475 #define GLX_EXT_visual_info 1
00476
00477 #define GLX_X_VISUAL_TYPE_EXT 0x22
00478 #define GLX_TRANSPARENT_TYPE_EXT 0x23
00479 #define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24
00480 #define GLX_TRANSPARENT_RED_VALUE_EXT 0x25
00481 #define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26
00482 #define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27
00483 #define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28
00484 #define GLX_NONE_EXT 0x8000
00485 #define GLX_TRUE_COLOR_EXT 0x8002
00486 #define GLX_DIRECT_COLOR_EXT 0x8003
00487 #define GLX_PSEUDO_COLOR_EXT 0x8004
00488 #define GLX_STATIC_COLOR_EXT 0x8005
00489 #define GLX_GRAY_SCALE_EXT 0x8006
00490 #define GLX_STATIC_GRAY_EXT 0x8007
00491 #define GLX_TRANSPARENT_RGB_EXT 0x8008
00492 #define GLX_TRANSPARENT_INDEX_EXT 0x8009
00493
00494 #define GLXEW_EXT_visual_info GLXEW_GET_VAR(__GLXEW_EXT_visual_info)
00495
00496 #endif
00497
00498
00499
00500 #ifndef GLX_EXT_visual_rating
00501 #define GLX_EXT_visual_rating 1
00502
00503 #define GLX_VISUAL_CAVEAT_EXT 0x20
00504 #define GLX_SLOW_VISUAL_EXT 0x8001
00505 #define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D
00506
00507 #define GLXEW_EXT_visual_rating GLXEW_GET_VAR(__GLXEW_EXT_visual_rating)
00508
00509 #endif
00510
00511
00512
00513 #ifndef GLX_MESA_agp_offset
00514 #define GLX_MESA_agp_offset 1
00515
00516 typedef unsigned int ( * PFNGLXGETAGPOFFSETMESAPROC) (const void* pointer);
00517
00518 #define glXGetAGPOffsetMESA GLXEW_GET_FUN(__glewXGetAGPOffsetMESA)
00519
00520 #define GLXEW_MESA_agp_offset GLXEW_GET_VAR(__GLXEW_MESA_agp_offset)
00521
00522 #endif
00523
00524
00525
00526 #ifndef GLX_MESA_copy_sub_buffer
00527 #define GLX_MESA_copy_sub_buffer 1
00528
00529 typedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display* dpy, GLXDrawable drawable, int x, int y, int width, int height);
00530
00531 #define glXCopySubBufferMESA GLXEW_GET_FUN(__glewXCopySubBufferMESA)
00532
00533 #define GLXEW_MESA_copy_sub_buffer GLXEW_GET_VAR(__GLXEW_MESA_copy_sub_buffer)
00534
00535 #endif
00536
00537
00538
00539 #ifndef GLX_MESA_pixmap_colormap
00540 #define GLX_MESA_pixmap_colormap 1
00541
00542 typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display* dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
00543
00544 #define glXCreateGLXPixmapMESA GLXEW_GET_FUN(__glewXCreateGLXPixmapMESA)
00545
00546 #define GLXEW_MESA_pixmap_colormap GLXEW_GET_VAR(__GLXEW_MESA_pixmap_colormap)
00547
00548 #endif
00549
00550
00551
00552 #ifndef GLX_MESA_release_buffers
00553 #define GLX_MESA_release_buffers 1
00554
00555 typedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display* dpy, GLXDrawable d);
00556
00557 #define glXReleaseBuffersMESA GLXEW_GET_FUN(__glewXReleaseBuffersMESA)
00558
00559 #define GLXEW_MESA_release_buffers GLXEW_GET_VAR(__GLXEW_MESA_release_buffers)
00560
00561 #endif
00562
00563
00564
00565 #ifndef GLX_MESA_set_3dfx_mode
00566 #define GLX_MESA_set_3dfx_mode 1
00567
00568 #define GLX_3DFX_WINDOW_MODE_MESA 0x1
00569 #define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2
00570
00571 typedef GLboolean ( * PFNGLXSET3DFXMODEMESAPROC) (GLint mode);
00572
00573 #define glXSet3DfxModeMESA GLXEW_GET_FUN(__glewXSet3DfxModeMESA)
00574
00575 #define GLXEW_MESA_set_3dfx_mode GLXEW_GET_VAR(__GLXEW_MESA_set_3dfx_mode)
00576
00577 #endif
00578
00579
00580
00581 #ifndef GLX_NV_float_buffer
00582 #define GLX_NV_float_buffer 1
00583
00584 #define GLX_FLOAT_COMPONENTS_NV 0x20B0
00585
00586 #define GLXEW_NV_float_buffer GLXEW_GET_VAR(__GLXEW_NV_float_buffer)
00587
00588 #endif
00589
00590
00591
00592 #ifndef GLX_NV_vertex_array_range
00593 #define GLX_NV_vertex_array_range 1
00594
00595 typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
00596 typedef void ( * PFNGLXFREEMEMORYNVPROC) (void *pointer);
00597
00598 #define glXAllocateMemoryNV GLXEW_GET_FUN(__glewXAllocateMemoryNV)
00599 #define glXFreeMemoryNV GLXEW_GET_FUN(__glewXFreeMemoryNV)
00600
00601 #define GLXEW_NV_vertex_array_range GLXEW_GET_VAR(__GLXEW_NV_vertex_array_range)
00602
00603 #endif
00604
00605
00606
00607 #ifndef GLX_OML_swap_method
00608 #define GLX_OML_swap_method 1
00609
00610 #define GLX_SWAP_METHOD_OML 0x8060
00611 #define GLX_SWAP_EXCHANGE_OML 0x8061
00612 #define GLX_SWAP_COPY_OML 0x8062
00613 #define GLX_SWAP_UNDEFINED_OML 0x8063
00614
00615 #define GLXEW_OML_swap_method GLXEW_GET_VAR(__GLXEW_OML_swap_method)
00616
00617 #endif
00618
00619
00620
00621 #if !defined(GLX_OML_sync_control) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
00622 #include <inttypes.h>
00623 #define GLX_OML_sync_control 1
00624
00625 typedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display* dpy, GLXDrawable drawable, int32_t* numerator, int32_t* denominator);
00626 typedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t* ust, int64_t* msc, int64_t* sbc);
00627 typedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
00628 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);
00629 typedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_sbc, int64_t* ust, int64_t* msc, int64_t* sbc);
00630
00631 #define glXGetMscRateOML GLXEW_GET_FUN(__glewXGetMscRateOML)
00632 #define glXGetSyncValuesOML GLXEW_GET_FUN(__glewXGetSyncValuesOML)
00633 #define glXSwapBuffersMscOML GLXEW_GET_FUN(__glewXSwapBuffersMscOML)
00634 #define glXWaitForMscOML GLXEW_GET_FUN(__glewXWaitForMscOML)
00635 #define glXWaitForSbcOML GLXEW_GET_FUN(__glewXWaitForSbcOML)
00636
00637 #define GLXEW_OML_sync_control GLXEW_GET_VAR(__GLXEW_OML_sync_control)
00638
00639 #endif
00640
00641
00642
00643 #ifndef GLX_SGIS_blended_overlay
00644 #define GLX_SGIS_blended_overlay 1
00645
00646 #define GLX_BLENDED_RGBA_SGIS 0x8025
00647
00648 #define GLXEW_SGIS_blended_overlay GLXEW_GET_VAR(__GLXEW_SGIS_blended_overlay)
00649
00650 #endif
00651
00652
00653
00654 #ifndef GLX_SGIS_color_range
00655 #define GLX_SGIS_color_range 1
00656
00657 #define GLX_MIN_RED_SGIS 0
00658 #define GLX_MAX_GREEN_SGIS 0
00659 #define GLX_MIN_BLUE_SGIS 0
00660 #define GLX_MAX_ALPHA_SGIS 0
00661 #define GLX_MIN_GREEN_SGIS 0
00662 #define GLX_MIN_ALPHA_SGIS 0
00663 #define GLX_MAX_RED_SGIS 0
00664 #define GLX_EXTENDED_RANGE_SGIS 0
00665 #define GLX_MAX_BLUE_SGIS 0
00666
00667 #define GLXEW_SGIS_color_range GLXEW_GET_VAR(__GLXEW_SGIS_color_range)
00668
00669 #endif
00670
00671
00672
00673 #ifndef GLX_SGIS_multisample
00674 #define GLX_SGIS_multisample 1
00675
00676 #define GLX_SAMPLE_BUFFERS_SGIS 100000
00677 #define GLX_SAMPLES_SGIS 100001
00678
00679 #define GLXEW_SGIS_multisample GLXEW_GET_VAR(__GLXEW_SGIS_multisample)
00680
00681 #endif
00682
00683
00684
00685 #ifndef GLX_SGIS_shared_multisample
00686 #define GLX_SGIS_shared_multisample 1
00687
00688 #define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026
00689 #define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027
00690
00691 #define GLXEW_SGIS_shared_multisample GLXEW_GET_VAR(__GLXEW_SGIS_shared_multisample)
00692
00693 #endif
00694
00695
00696
00697 #ifndef GLX_SGIX_fbconfig
00698 #define GLX_SGIX_fbconfig 1
00699
00700 #define GLX_WINDOW_BIT_SGIX 0x00000001
00701 #define GLX_RGBA_BIT_SGIX 0x00000001
00702 #define GLX_PIXMAP_BIT_SGIX 0x00000002
00703 #define GLX_COLOR_INDEX_BIT_SGIX 0x00000002
00704 #define GLX_SCREEN_EXT 0x800C
00705 #define GLX_DRAWABLE_TYPE_SGIX 0x8010
00706 #define GLX_RENDER_TYPE_SGIX 0x8011
00707 #define GLX_X_RENDERABLE_SGIX 0x8012
00708 #define GLX_FBCONFIG_ID_SGIX 0x8013
00709 #define GLX_RGBA_TYPE_SGIX 0x8014
00710 #define GLX_COLOR_INDEX_TYPE_SGIX 0x8015
00711
00712 typedef XID GLXFBConfigIDSGIX;
00713 typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
00714
00715 typedef GLXFBConfigSGIX* ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
00716 typedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
00717 typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, Pixmap pixmap);
00718 typedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, int attribute, int *value);
00719 typedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display* dpy, XVisualInfo *vis);
00720 typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfig config);
00721
00722 #define glXChooseFBConfigSGIX GLXEW_GET_FUN(__glewXChooseFBConfigSGIX)
00723 #define glXCreateContextWithConfigSGIX GLXEW_GET_FUN(__glewXCreateContextWithConfigSGIX)
00724 #define glXCreateGLXPixmapWithConfigSGIX GLXEW_GET_FUN(__glewXCreateGLXPixmapWithConfigSGIX)
00725 #define glXGetFBConfigAttribSGIX GLXEW_GET_FUN(__glewXGetFBConfigAttribSGIX)
00726 #define glXGetFBConfigFromVisualSGIX GLXEW_GET_FUN(__glewXGetFBConfigFromVisualSGIX)
00727 #define glXGetVisualFromFBConfigSGIX GLXEW_GET_FUN(__glewXGetVisualFromFBConfigSGIX)
00728
00729 #define GLXEW_SGIX_fbconfig GLXEW_GET_VAR(__GLXEW_SGIX_fbconfig)
00730
00731 #endif
00732
00733
00734
00735 #ifndef GLX_SGIX_hyperpipe
00736 #define GLX_SGIX_hyperpipe 1
00737
00738 #define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001
00739 #define GLX_PIPE_RECT_SGIX 0x00000001
00740 #define GLX_PIPE_RECT_LIMITS_SGIX 0x00000002
00741 #define GLX_HYPERPIPE_RENDER_PIPE_SGIX 0x00000002
00742 #define GLX_HYPERPIPE_STEREO_SGIX 0x00000003
00743 #define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX 0x00000004
00744 #define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
00745 #define GLX_BAD_HYPERPIPE_CONFIG_SGIX 91
00746 #define GLX_BAD_HYPERPIPE_SGIX 92
00747 #define GLX_HYPERPIPE_ID_SGIX 0x8030
00748
00749 typedef struct {
00750 char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
00751 int networkId;
00752 } GLXHyperpipeNetworkSGIX;
00753 typedef struct {
00754 char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
00755 int XOrigin;
00756 int YOrigin;
00757 int maxHeight;
00758 int maxWidth;
00759 } GLXPipeRectLimits;
00760 typedef struct {
00761 char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
00762 int channel;
00763 unsigned int participationType;
00764 int timeSlice;
00765 } GLXHyperpipeConfigSGIX;
00766 typedef struct {
00767 char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
00768 int srcXOrigin;
00769 int srcYOrigin;
00770 int srcWidth;
00771 int srcHeight;
00772 int destXOrigin;
00773 int destYOrigin;
00774 int destWidth;
00775 int destHeight;
00776 } GLXPipeRect;
00777
00778 typedef int ( * PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId);
00779 typedef int ( * PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId);
00780 typedef int ( * PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList);
00781 typedef int ( * PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId);
00782 typedef int ( * PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList);
00783 typedef int ( * PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList);
00784 typedef GLXHyperpipeConfigSGIX * ( * PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes);
00785 typedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display *dpy, int *npipes);
00786
00787 #define glXBindHyperpipeSGIX GLXEW_GET_FUN(__glewXBindHyperpipeSGIX)
00788 #define glXDestroyHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXDestroyHyperpipeConfigSGIX)
00789 #define glXHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXHyperpipeAttribSGIX)
00790 #define glXHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXHyperpipeConfigSGIX)
00791 #define glXQueryHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeAttribSGIX)
00792 #define glXQueryHyperpipeBestAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeBestAttribSGIX)
00793 #define glXQueryHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeConfigSGIX)
00794 #define glXQueryHyperpipeNetworkSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeNetworkSGIX)
00795
00796 #define GLXEW_SGIX_hyperpipe GLXEW_GET_VAR(__GLXEW_SGIX_hyperpipe)
00797
00798 #endif
00799
00800
00801
00802 #ifndef GLX_SGIX_pbuffer
00803 #define GLX_SGIX_pbuffer 1
00804
00805 #define GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x00000001
00806 #define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x00000002
00807 #define GLX_PBUFFER_BIT_SGIX 0x00000004
00808 #define GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x00000004
00809 #define GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x00000008
00810 #define GLX_AUX_BUFFERS_BIT_SGIX 0x00000010
00811 #define GLX_DEPTH_BUFFER_BIT_SGIX 0x00000020
00812 #define GLX_STENCIL_BUFFER_BIT_SGIX 0x00000040
00813 #define GLX_ACCUM_BUFFER_BIT_SGIX 0x00000080
00814 #define GLX_SAMPLE_BUFFERS_BIT_SGIX 0x00000100
00815 #define GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016
00816 #define GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017
00817 #define GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018
00818 #define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019
00819 #define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A
00820 #define GLX_PRESERVED_CONTENTS_SGIX 0x801B
00821 #define GLX_LARGEST_PBUFFER_SGIX 0x801C
00822 #define GLX_WIDTH_SGIX 0x801D
00823 #define GLX_HEIGHT_SGIX 0x801E
00824 #define GLX_EVENT_MASK_SGIX 0x801F
00825 #define GLX_DAMAGED_SGIX 0x8020
00826 #define GLX_SAVED_SGIX 0x8021
00827 #define GLX_WINDOW_SGIX 0x8022
00828 #define GLX_PBUFFER_SGIX 0x8023
00829 #define GLX_BUFFER_CLOBBER_MASK_SGIX 0x08000000
00830
00831 typedef XID GLXPbufferSGIX;
00832 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;
00833
00834 typedef GLXPbuffer ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display* dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list);
00835 typedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf);
00836 typedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long *mask);
00837 typedef void ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf, int attribute, unsigned int *value);
00838 typedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long mask);
00839
00840 #define glXCreateGLXPbufferSGIX GLXEW_GET_FUN(__glewXCreateGLXPbufferSGIX)
00841 #define glXDestroyGLXPbufferSGIX GLXEW_GET_FUN(__glewXDestroyGLXPbufferSGIX)
00842 #define glXGetSelectedEventSGIX GLXEW_GET_FUN(__glewXGetSelectedEventSGIX)
00843 #define glXQueryGLXPbufferSGIX GLXEW_GET_FUN(__glewXQueryGLXPbufferSGIX)
00844 #define glXSelectEventSGIX GLXEW_GET_FUN(__glewXSelectEventSGIX)
00845
00846 #define GLXEW_SGIX_pbuffer GLXEW_GET_VAR(__GLXEW_SGIX_pbuffer)
00847
00848 #endif
00849
00850
00851
00852 #ifndef GLX_SGIX_swap_barrier
00853 #define GLX_SGIX_swap_barrier 1
00854
00855 typedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier);
00856 typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max);
00857
00858 #define glXBindSwapBarrierSGIX GLXEW_GET_FUN(__glewXBindSwapBarrierSGIX)
00859 #define glXQueryMaxSwapBarriersSGIX GLXEW_GET_FUN(__glewXQueryMaxSwapBarriersSGIX)
00860
00861 #define GLXEW_SGIX_swap_barrier GLXEW_GET_VAR(__GLXEW_SGIX_swap_barrier)
00862
00863 #endif
00864
00865
00866
00867 #ifndef GLX_SGIX_swap_group
00868 #define GLX_SGIX_swap_group 1
00869
00870 typedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member);
00871
00872 #define glXJoinSwapGroupSGIX GLXEW_GET_FUN(__glewXJoinSwapGroupSGIX)
00873
00874 #define GLXEW_SGIX_swap_group GLXEW_GET_VAR(__GLXEW_SGIX_swap_group)
00875
00876 #endif
00877
00878
00879
00880 #ifndef GLX_SGIX_video_resize
00881 #define GLX_SGIX_video_resize 1
00882
00883 #define GLX_SYNC_FRAME_SGIX 0x00000000
00884 #define GLX_SYNC_SWAP_SGIX 0x00000001
00885
00886 typedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display* display, int screen, int channel, Window window);
00887 typedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int x, int y, int w, int h);
00888 typedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display* display, int screen, int channel, GLenum synctype);
00889 typedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display* display, int screen, int channel, int *x, int *y, int *w, int *h);
00890 typedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
00891
00892 #define glXBindChannelToWindowSGIX GLXEW_GET_FUN(__glewXBindChannelToWindowSGIX)
00893 #define glXChannelRectSGIX GLXEW_GET_FUN(__glewXChannelRectSGIX)
00894 #define glXChannelRectSyncSGIX GLXEW_GET_FUN(__glewXChannelRectSyncSGIX)
00895 #define glXQueryChannelDeltasSGIX GLXEW_GET_FUN(__glewXQueryChannelDeltasSGIX)
00896 #define glXQueryChannelRectSGIX GLXEW_GET_FUN(__glewXQueryChannelRectSGIX)
00897
00898 #define GLXEW_SGIX_video_resize GLXEW_GET_VAR(__GLXEW_SGIX_video_resize)
00899
00900 #endif
00901
00902
00903
00904 #ifndef GLX_SGIX_visual_select_group
00905 #define GLX_SGIX_visual_select_group 1
00906
00907 #define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028
00908
00909 #define GLXEW_SGIX_visual_select_group GLXEW_GET_VAR(__GLXEW_SGIX_visual_select_group)
00910
00911 #endif
00912
00913
00914
00915 #ifndef GLX_SGI_cushion
00916 #define GLX_SGI_cushion 1
00917
00918 typedef void ( * PFNGLXCUSHIONSGIPROC) (Display* dpy, Window window, float cushion);
00919
00920 #define glXCushionSGI GLXEW_GET_FUN(__glewXCushionSGI)
00921
00922 #define GLXEW_SGI_cushion GLXEW_GET_VAR(__GLXEW_SGI_cushion)
00923
00924 #endif
00925
00926
00927
00928 #ifndef GLX_SGI_make_current_read
00929 #define GLX_SGI_make_current_read 1
00930
00931 typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void);
00932 typedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display* dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
00933
00934 #define glXGetCurrentReadDrawableSGI GLXEW_GET_FUN(__glewXGetCurrentReadDrawableSGI)
00935 #define glXMakeCurrentReadSGI GLXEW_GET_FUN(__glewXMakeCurrentReadSGI)
00936
00937 #define GLXEW_SGI_make_current_read GLXEW_GET_VAR(__GLXEW_SGI_make_current_read)
00938
00939 #endif
00940
00941
00942
00943 #ifndef GLX_SGI_swap_control
00944 #define GLX_SGI_swap_control 1
00945
00946 typedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval);
00947
00948 #define glXSwapIntervalSGI GLXEW_GET_FUN(__glewXSwapIntervalSGI)
00949
00950 #define GLXEW_SGI_swap_control GLXEW_GET_VAR(__GLXEW_SGI_swap_control)
00951
00952 #endif
00953
00954
00955
00956 #ifndef GLX_SGI_video_sync
00957 #define GLX_SGI_video_sync 1
00958
00959 typedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (uint* count);
00960 typedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int* count);
00961
00962 #define glXGetVideoSyncSGI GLXEW_GET_FUN(__glewXGetVideoSyncSGI)
00963 #define glXWaitVideoSyncSGI GLXEW_GET_FUN(__glewXWaitVideoSyncSGI)
00964
00965 #define GLXEW_SGI_video_sync GLXEW_GET_VAR(__GLXEW_SGI_video_sync)
00966
00967 #endif
00968
00969
00970
00971 #ifndef GLX_SUN_get_transparent_index
00972 #define GLX_SUN_get_transparent_index 1
00973
00974 typedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display* dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex);
00975
00976 #define glXGetTransparentIndexSUN GLXEW_GET_FUN(__glewXGetTransparentIndexSUN)
00977
00978 #define GLXEW_SUN_get_transparent_index GLXEW_GET_VAR(__GLXEW_SUN_get_transparent_index)
00979
00980 #endif
00981
00982
00983
00984 #ifndef GLX_SUN_video_resize
00985 #define GLX_SUN_video_resize 1
00986
00987 #define GLX_VIDEO_RESIZE_SUN 0x8171
00988 #define GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85CD
00989
00990 typedef int ( * PFNGLXGETVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float* factor);
00991 typedef int ( * PFNGLXVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float factor);
00992
00993 #define glXGetVideoResizeSUN GLXEW_GET_FUN(__glewXGetVideoResizeSUN)
00994 #define glXVideoResizeSUN GLXEW_GET_FUN(__glewXVideoResizeSUN)
00995
00996 #define GLXEW_SUN_video_resize GLXEW_GET_VAR(__GLXEW_SUN_video_resize)
00997
00998 #endif
00999
01000
01001
01002 #ifdef GLEW_MX
01003 #define GLXEW_EXPORT
01004 #else
01005 #define GLXEW_EXPORT extern
01006 #endif
01007
01008 extern PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay;
01009
01010 extern PFNGLXCHOOSEFBCONFIGPROC __glewXChooseFBConfig;
01011 extern PFNGLXCREATENEWCONTEXTPROC __glewXCreateNewContext;
01012 extern PFNGLXCREATEPBUFFERPROC __glewXCreatePbuffer;
01013 extern PFNGLXCREATEPIXMAPPROC __glewXCreatePixmap;
01014 extern PFNGLXCREATEWINDOWPROC __glewXCreateWindow;
01015 extern PFNGLXDESTROYPBUFFERPROC __glewXDestroyPbuffer;
01016 extern PFNGLXDESTROYPIXMAPPROC __glewXDestroyPixmap;
01017 extern PFNGLXDESTROYWINDOWPROC __glewXDestroyWindow;
01018 extern PFNGLXGETCURRENTREADDRAWABLEPROC __glewXGetCurrentReadDrawable;
01019 extern PFNGLXGETFBCONFIGATTRIBPROC __glewXGetFBConfigAttrib;
01020 extern PFNGLXGETFBCONFIGSPROC __glewXGetFBConfigs;
01021 extern PFNGLXGETSELECTEDEVENTPROC __glewXGetSelectedEvent;
01022 extern PFNGLXGETVISUALFROMFBCONFIGPROC __glewXGetVisualFromFBConfig;
01023 extern PFNGLXMAKECONTEXTCURRENTPROC __glewXMakeContextCurrent;
01024 extern PFNGLXQUERYCONTEXTPROC __glewXQueryContext;
01025 extern PFNGLXQUERYDRAWABLEPROC __glewXQueryDrawable;
01026 extern PFNGLXSELECTEVENTPROC __glewXSelectEvent;
01027
01028 extern PFNGLXBINDTEXIMAGEATIPROC __glewXBindTexImageATI;
01029 extern PFNGLXDRAWABLEATTRIBATIPROC __glewXDrawableAttribATI;
01030 extern PFNGLXRELEASETEXIMAGEATIPROC __glewXReleaseTexImageATI;
01031
01032 extern PFNGLXFREECONTEXTEXTPROC __glewXFreeContextEXT;
01033 extern PFNGLXGETCONTEXTIDEXTPROC __glewXGetContextIDEXT;
01034 extern PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT;
01035 extern PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT;
01036
01037 extern PFNGLXGETAGPOFFSETMESAPROC __glewXGetAGPOffsetMESA;
01038
01039 extern PFNGLXCOPYSUBBUFFERMESAPROC __glewXCopySubBufferMESA;
01040
01041 extern PFNGLXCREATEGLXPIXMAPMESAPROC __glewXCreateGLXPixmapMESA;
01042
01043 extern PFNGLXRELEASEBUFFERSMESAPROC __glewXReleaseBuffersMESA;
01044
01045 extern PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA;
01046
01047 extern PFNGLXALLOCATEMEMORYNVPROC __glewXAllocateMemoryNV;
01048 extern PFNGLXFREEMEMORYNVPROC __glewXFreeMemoryNV;
01049
01050 #ifdef GLX_OML_sync_control
01051 extern PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML;
01052 extern PFNGLXGETSYNCVALUESOMLPROC __glewXGetSyncValuesOML;
01053 extern PFNGLXSWAPBUFFERSMSCOMLPROC __glewXSwapBuffersMscOML;
01054 extern PFNGLXWAITFORMSCOMLPROC __glewXWaitForMscOML;
01055 extern PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML;
01056 #endif
01057
01058 extern PFNGLXCHOOSEFBCONFIGSGIXPROC __glewXChooseFBConfigSGIX;
01059 extern PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC __glewXCreateContextWithConfigSGIX;
01060 extern PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC __glewXCreateGLXPixmapWithConfigSGIX;
01061 extern PFNGLXGETFBCONFIGATTRIBSGIXPROC __glewXGetFBConfigAttribSGIX;
01062 extern PFNGLXGETFBCONFIGFROMVISUALSGIXPROC __glewXGetFBConfigFromVisualSGIX;
01063 extern PFNGLXGETVISUALFROMFBCONFIGSGIXPROC __glewXGetVisualFromFBConfigSGIX;
01064
01065 extern PFNGLXBINDHYPERPIPESGIXPROC __glewXBindHyperpipeSGIX;
01066 extern PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC __glewXDestroyHyperpipeConfigSGIX;
01067 extern PFNGLXHYPERPIPEATTRIBSGIXPROC __glewXHyperpipeAttribSGIX;
01068 extern PFNGLXHYPERPIPECONFIGSGIXPROC __glewXHyperpipeConfigSGIX;
01069 extern PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC __glewXQueryHyperpipeAttribSGIX;
01070 extern PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC __glewXQueryHyperpipeBestAttribSGIX;
01071 extern PFNGLXQUERYHYPERPIPECONFIGSGIXPROC __glewXQueryHyperpipeConfigSGIX;
01072 extern PFNGLXQUERYHYPERPIPENETWORKSGIXPROC __glewXQueryHyperpipeNetworkSGIX;
01073
01074 extern PFNGLXCREATEGLXPBUFFERSGIXPROC __glewXCreateGLXPbufferSGIX;
01075 extern PFNGLXDESTROYGLXPBUFFERSGIXPROC __glewXDestroyGLXPbufferSGIX;
01076 extern PFNGLXGETSELECTEDEVENTSGIXPROC __glewXGetSelectedEventSGIX;
01077 extern PFNGLXQUERYGLXPBUFFERSGIXPROC __glewXQueryGLXPbufferSGIX;
01078 extern PFNGLXSELECTEVENTSGIXPROC __glewXSelectEventSGIX;
01079
01080 extern PFNGLXBINDSWAPBARRIERSGIXPROC __glewXBindSwapBarrierSGIX;
01081 extern PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC __glewXQueryMaxSwapBarriersSGIX;
01082
01083 extern PFNGLXJOINSWAPGROUPSGIXPROC __glewXJoinSwapGroupSGIX;
01084
01085 extern PFNGLXBINDCHANNELTOWINDOWSGIXPROC __glewXBindChannelToWindowSGIX;
01086 extern PFNGLXCHANNELRECTSGIXPROC __glewXChannelRectSGIX;
01087 extern PFNGLXCHANNELRECTSYNCSGIXPROC __glewXChannelRectSyncSGIX;
01088 extern PFNGLXQUERYCHANNELDELTASSGIXPROC __glewXQueryChannelDeltasSGIX;
01089 extern PFNGLXQUERYCHANNELRECTSGIXPROC __glewXQueryChannelRectSGIX;
01090
01091 extern PFNGLXCUSHIONSGIPROC __glewXCushionSGI;
01092
01093 extern PFNGLXGETCURRENTREADDRAWABLESGIPROC __glewXGetCurrentReadDrawableSGI;
01094 extern PFNGLXMAKECURRENTREADSGIPROC __glewXMakeCurrentReadSGI;
01095
01096 extern PFNGLXSWAPINTERVALSGIPROC __glewXSwapIntervalSGI;
01097
01098 extern PFNGLXGETVIDEOSYNCSGIPROC __glewXGetVideoSyncSGI;
01099 extern PFNGLXWAITVIDEOSYNCSGIPROC __glewXWaitVideoSyncSGI;
01100
01101 extern PFNGLXGETTRANSPARENTINDEXSUNPROC __glewXGetTransparentIndexSUN;
01102
01103 extern PFNGLXGETVIDEORESIZESUNPROC __glewXGetVideoResizeSUN;
01104 extern PFNGLXVIDEORESIZESUNPROC __glewXVideoResizeSUN;
01105
01106 #if defined(GLEW_MX)
01107 struct GLXEWContextStruct
01108 {
01109 #endif
01110
01111 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_0;
01112 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_1;
01113 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_2;
01114 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_3;
01115 GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_4;
01116 GLXEW_EXPORT GLboolean __GLXEW_3DFX_multisample;
01117 GLXEW_EXPORT GLboolean __GLXEW_ARB_fbconfig_float;
01118 GLXEW_EXPORT GLboolean __GLXEW_ARB_get_proc_address;
01119 GLXEW_EXPORT GLboolean __GLXEW_ARB_multisample;
01120 GLXEW_EXPORT GLboolean __GLXEW_ATI_pixel_format_float;
01121 GLXEW_EXPORT GLboolean __GLXEW_ATI_render_texture;
01122 GLXEW_EXPORT GLboolean __GLXEW_EXT_fbconfig_packed_float;
01123 GLXEW_EXPORT GLboolean __GLXEW_EXT_framebuffer_sRGB;
01124 GLXEW_EXPORT GLboolean __GLXEW_EXT_import_context;
01125 GLXEW_EXPORT GLboolean __GLXEW_EXT_scene_marker;
01126 GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_info;
01127 GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_rating;
01128 GLXEW_EXPORT GLboolean __GLXEW_MESA_agp_offset;
01129 GLXEW_EXPORT GLboolean __GLXEW_MESA_copy_sub_buffer;
01130 GLXEW_EXPORT GLboolean __GLXEW_MESA_pixmap_colormap;
01131 GLXEW_EXPORT GLboolean __GLXEW_MESA_release_buffers;
01132 GLXEW_EXPORT GLboolean __GLXEW_MESA_set_3dfx_mode;
01133 GLXEW_EXPORT GLboolean __GLXEW_NV_float_buffer;
01134 GLXEW_EXPORT GLboolean __GLXEW_NV_vertex_array_range;
01135 GLXEW_EXPORT GLboolean __GLXEW_OML_swap_method;
01136 GLXEW_EXPORT GLboolean __GLXEW_OML_sync_control;
01137 GLXEW_EXPORT GLboolean __GLXEW_SGIS_blended_overlay;
01138 GLXEW_EXPORT GLboolean __GLXEW_SGIS_color_range;
01139 GLXEW_EXPORT GLboolean __GLXEW_SGIS_multisample;
01140 GLXEW_EXPORT GLboolean __GLXEW_SGIS_shared_multisample;
01141 GLXEW_EXPORT GLboolean __GLXEW_SGIX_fbconfig;
01142 GLXEW_EXPORT GLboolean __GLXEW_SGIX_hyperpipe;
01143 GLXEW_EXPORT GLboolean __GLXEW_SGIX_pbuffer;
01144 GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_barrier;
01145 GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_group;
01146 GLXEW_EXPORT GLboolean __GLXEW_SGIX_video_resize;
01147 GLXEW_EXPORT GLboolean __GLXEW_SGIX_visual_select_group;
01148 GLXEW_EXPORT GLboolean __GLXEW_SGI_cushion;
01149 GLXEW_EXPORT GLboolean __GLXEW_SGI_make_current_read;
01150 GLXEW_EXPORT GLboolean __GLXEW_SGI_swap_control;
01151 GLXEW_EXPORT GLboolean __GLXEW_SGI_video_sync;
01152 GLXEW_EXPORT GLboolean __GLXEW_SUN_get_transparent_index;
01153 GLXEW_EXPORT GLboolean __GLXEW_SUN_video_resize;
01154
01155 #ifdef GLEW_MX
01156 };
01157 #endif
01158
01159
01160
01161 #ifdef GLEW_MX
01162
01163 typedef struct GLXEWContextStruct GLXEWContext;
01164 extern GLenum glxewContextInit (GLXEWContext* ctx);
01165 extern GLboolean glxewContextIsSupported (GLXEWContext* ctx, const char* name);
01166
01167 #define glxewInit() glxewContextInit(glxewGetContext())
01168 #define glxewIsSupported(x) glxewContextIsSupported(glxewGetContext(), x)
01169
01170 #define GLXEW_GET_VAR(x) (*(const GLboolean*)&(glxewGetContext()->x))
01171 #define GLXEW_GET_FUN(x) x
01172
01173 #else
01174
01175 #define GLXEW_GET_VAR(x) (*(const GLboolean*)&x)
01176 #define GLXEW_GET_FUN(x) x
01177
01178 extern GLboolean glxewIsSupported (const char* name);
01179
01180 #endif
01181
01182 extern GLboolean glxewGetExtension (const char* name);
01183
01184 #ifdef __cplusplus
01185 }
01186 #endif
01187
01188 #endif