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