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