00001 #ifndef panda__glxext_h_
00002 #define panda__glxext_h_
00003
00004 #ifdef __cplusplus
00005 extern "C" {
00006 #endif
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 #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
00038 #define WIN32_LEAN_AND_MEAN 1
00039 #include <windows.h>
00040 #endif
00041
00042 #ifndef APIENTRY
00043 #define APIENTRY
00044 #endif
00045 #ifndef APIENTRYP
00046 #define APIENTRYP APIENTRY *
00047 #endif
00048 #ifndef GLAPI
00049 #define GLAPI extern
00050 #endif
00051
00052
00053
00054
00055
00056
00057 #define GLX_GLXEXT_VERSION 5
00058
00059 #ifndef GLX_VERSION_1_3
00060 #define GLX_WINDOW_BIT 0x00000001
00061 #define GLX_PIXMAP_BIT 0x00000002
00062 #define GLX_PBUFFER_BIT 0x00000004
00063 #define GLX_RGBA_BIT 0x00000001
00064 #define GLX_COLOR_INDEX_BIT 0x00000002
00065 #define GLX_PBUFFER_CLOBBER_MASK 0x08000000
00066 #define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001
00067 #define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002
00068 #define GLX_BACK_LEFT_BUFFER_BIT 0x00000004
00069 #define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
00070 #define GLX_AUX_BUFFERS_BIT 0x00000010
00071 #define GLX_DEPTH_BUFFER_BIT 0x00000020
00072 #define GLX_STENCIL_BUFFER_BIT 0x00000040
00073 #define GLX_ACCUM_BUFFER_BIT 0x00000080
00074 #define GLX_CONFIG_CAVEAT 0x20
00075 #define GLX_X_VISUAL_TYPE 0x22
00076 #define GLX_TRANSPARENT_TYPE 0x23
00077 #define GLX_TRANSPARENT_INDEX_VALUE 0x24
00078 #define GLX_TRANSPARENT_RED_VALUE 0x25
00079 #define GLX_TRANSPARENT_GREEN_VALUE 0x26
00080 #define GLX_TRANSPARENT_BLUE_VALUE 0x27
00081 #define GLX_TRANSPARENT_ALPHA_VALUE 0x28
00082 #define GLX_DONT_CARE 0xFFFFFFFF
00083 #define GLX_NONE 0x8000
00084 #define GLX_SLOW_CONFIG 0x8001
00085 #define GLX_TRUE_COLOR 0x8002
00086 #define GLX_DIRECT_COLOR 0x8003
00087 #define GLX_PSEUDO_COLOR 0x8004
00088 #define GLX_STATIC_COLOR 0x8005
00089 #define GLX_GRAY_SCALE 0x8006
00090 #define GLX_STATIC_GRAY 0x8007
00091 #define GLX_TRANSPARENT_RGB 0x8008
00092 #define GLX_TRANSPARENT_INDEX 0x8009
00093 #define GLX_VISUAL_ID 0x800B
00094 #define GLX_SCREEN 0x800C
00095 #define GLX_NON_CONFORMANT_CONFIG 0x800D
00096 #define GLX_DRAWABLE_TYPE 0x8010
00097 #define GLX_RENDER_TYPE 0x8011
00098 #define GLX_X_RENDERABLE 0x8012
00099 #define GLX_FBCONFIG_ID 0x8013
00100 #define GLX_RGBA_TYPE 0x8014
00101 #define GLX_COLOR_INDEX_TYPE 0x8015
00102 #define GLX_MAX_PBUFFER_WIDTH 0x8016
00103 #define GLX_MAX_PBUFFER_HEIGHT 0x8017
00104 #define GLX_MAX_PBUFFER_PIXELS 0x8018
00105 #define GLX_PRESERVED_CONTENTS 0x801B
00106 #define GLX_LARGEST_PBUFFER 0x801C
00107 #define GLX_WIDTH 0x801D
00108 #define GLX_HEIGHT 0x801E
00109 #define GLX_EVENT_MASK 0x801F
00110 #define GLX_DAMAGED 0x8020
00111 #define GLX_SAVED 0x8021
00112 #define GLX_WINDOW 0x8022
00113 #define GLX_PBUFFER 0x8023
00114 #define GLX_PBUFFER_HEIGHT 0x8040
00115 #define GLX_PBUFFER_WIDTH 0x8041
00116 #endif
00117
00118 #ifndef GLX_VERSION_1_4
00119 #define GLX_SAMPLE_BUFFERS 100000
00120 #define GLX_SAMPLES 100001
00121 #endif
00122
00123
00124
00125
00126 #ifndef GLX_SAMPLE_BUFFERS
00127 #define GLX_SAMPLE_BUFFERS 100000
00128 #endif
00129 #ifndef GLX_SAMPLES
00130 #define GLX_SAMPLES 100001
00131 #endif
00132
00133 #ifndef GLX_ARB_get_proc_address
00134 #endif
00135
00136 #ifndef GLX_ARB_multisample
00137 #define GLX_SAMPLE_BUFFERS_ARB 100000
00138 #define GLX_SAMPLES_ARB 100001
00139 #endif
00140
00141 #ifndef GLX_SGIS_multisample
00142 #define GLX_SAMPLE_BUFFERS_SGIS 100000
00143 #define GLX_SAMPLES_SGIS 100001
00144 #endif
00145
00146 #ifndef GLX_EXT_visual_info
00147 #define GLX_X_VISUAL_TYPE_EXT 0x22
00148 #define GLX_TRANSPARENT_TYPE_EXT 0x23
00149 #define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24
00150 #define GLX_TRANSPARENT_RED_VALUE_EXT 0x25
00151 #define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26
00152 #define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27
00153 #define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28
00154 #define GLX_NONE_EXT 0x8000
00155 #define GLX_TRUE_COLOR_EXT 0x8002
00156 #define GLX_DIRECT_COLOR_EXT 0x8003
00157 #define GLX_PSEUDO_COLOR_EXT 0x8004
00158 #define GLX_STATIC_COLOR_EXT 0x8005
00159 #define GLX_GRAY_SCALE_EXT 0x8006
00160 #define GLX_STATIC_GRAY_EXT 0x8007
00161 #define GLX_TRANSPARENT_RGB_EXT 0x8008
00162 #define GLX_TRANSPARENT_INDEX_EXT 0x8009
00163 #endif
00164
00165 #ifndef GLX_SGI_swap_control
00166 #endif
00167
00168 #ifndef GLX_SGI_video_sync
00169 #endif
00170
00171 #ifndef GLX_SGI_make_current_read
00172 #endif
00173
00174 #ifndef GLX_SGIX_video_source
00175 #endif
00176
00177 #ifndef GLX_EXT_visual_rating
00178 #define GLX_VISUAL_CAVEAT_EXT 0x20
00179 #define GLX_SLOW_VISUAL_EXT 0x8001
00180 #define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D
00181
00182 #endif
00183
00184 #ifndef GLX_EXT_import_context
00185 #define GLX_SHARE_CONTEXT_EXT 0x800A
00186 #define GLX_VISUAL_ID_EXT 0x800B
00187 #define GLX_SCREEN_EXT 0x800C
00188 #endif
00189
00190 #ifndef GLX_SGIX_fbconfig
00191 #define GLX_WINDOW_BIT_SGIX 0x00000001
00192 #define GLX_PIXMAP_BIT_SGIX 0x00000002
00193 #define GLX_RGBA_BIT_SGIX 0x00000001
00194 #define GLX_COLOR_INDEX_BIT_SGIX 0x00000002
00195 #define GLX_DRAWABLE_TYPE_SGIX 0x8010
00196 #define GLX_RENDER_TYPE_SGIX 0x8011
00197 #define GLX_X_RENDERABLE_SGIX 0x8012
00198 #define GLX_FBCONFIG_ID_SGIX 0x8013
00199 #define GLX_RGBA_TYPE_SGIX 0x8014
00200 #define GLX_COLOR_INDEX_TYPE_SGIX 0x8015
00201
00202 #endif
00203
00204 #ifndef GLX_SGIX_pbuffer
00205 #define GLX_PBUFFER_BIT_SGIX 0x00000004
00206 #define GLX_BUFFER_CLOBBER_MASK_SGIX 0x08000000
00207 #define GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x00000001
00208 #define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x00000002
00209 #define GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x00000004
00210 #define GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x00000008
00211 #define GLX_AUX_BUFFERS_BIT_SGIX 0x00000010
00212 #define GLX_DEPTH_BUFFER_BIT_SGIX 0x00000020
00213 #define GLX_STENCIL_BUFFER_BIT_SGIX 0x00000040
00214 #define GLX_ACCUM_BUFFER_BIT_SGIX 0x00000080
00215 #define GLX_SAMPLE_BUFFERS_BIT_SGIX 0x00000100
00216 #define GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016
00217 #define GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017
00218 #define GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018
00219 #define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019
00220 #define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A
00221 #define GLX_PRESERVED_CONTENTS_SGIX 0x801B
00222 #define GLX_LARGEST_PBUFFER_SGIX 0x801C
00223 #define GLX_WIDTH_SGIX 0x801D
00224 #define GLX_HEIGHT_SGIX 0x801E
00225 #define GLX_EVENT_MASK_SGIX 0x801F
00226 #define GLX_DAMAGED_SGIX 0x8020
00227 #define GLX_SAVED_SGIX 0x8021
00228 #define GLX_WINDOW_SGIX 0x8022
00229 #define GLX_PBUFFER_SGIX 0x8023
00230 #endif
00231
00232 #ifndef GLX_SGI_cushion
00233 #endif
00234
00235 #ifndef GLX_SGIX_video_resize
00236 #define GLX_SYNC_FRAME_SGIX 0x00000000
00237 #define GLX_SYNC_SWAP_SGIX 0x00000001
00238 #endif
00239
00240 #ifndef GLX_SGIX_dmbuffer
00241 #define GLX_DIGITAL_MEDIA_PBUFFER_SGIX 0x8024
00242 #endif
00243
00244 #ifndef GLX_SGIX_swap_group
00245 #endif
00246
00247 #ifndef GLX_SGIX_swap_barrier
00248 #endif
00249
00250 #ifndef GLX_SGIS_blended_overlay
00251 #define GLX_BLENDED_RGBA_SGIS 0x8025
00252 #endif
00253
00254 #ifndef GLX_SGIS_shared_multisample
00255 #define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026
00256 #define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027
00257 #endif
00258
00259 #ifndef GLX_SUN_get_transparent_index
00260 #endif
00261
00262 #ifndef GLX_3DFX_multisample
00263 #define GLX_SAMPLE_BUFFERS_3DFX 0x8050
00264 #define GLX_SAMPLES_3DFX 0x8051
00265 #endif
00266
00267 #ifndef GLX_MESA_copy_sub_buffer
00268 #endif
00269
00270 #ifndef GLX_MESA_pixmap_colormap
00271 #endif
00272
00273 #ifndef GLX_MESA_release_buffers
00274 #endif
00275
00276 #ifndef GLX_MESA_set_3dfx_mode
00277 #define GLX_3DFX_WINDOW_MODE_MESA 0x1
00278 #define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2
00279 #endif
00280
00281 #ifndef GLX_SGIX_visual_select_group
00282 #define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028
00283 #endif
00284
00285 #ifndef GLX_OML_swap_method
00286 #define GLX_SWAP_METHOD_OML 0x8060
00287 #define GLX_SWAP_EXCHANGE_OML 0x8061
00288 #define GLX_SWAP_COPY_OML 0x8062
00289 #define GLX_SWAP_UNDEFINED_OML 0x8063
00290 #endif
00291
00292 #ifndef GLX_OML_sync_control
00293 #endif
00294
00295
00296
00297
00298
00299
00300
00301
00302
00303 #define __GLXextFuncPtr panda__GLXextFuncPtr
00304 typedef void (*__GLXextFuncPtr)();
00305
00306
00307
00308
00309
00310
00311
00312 #ifndef GLX_SGIX_video_source
00313 typedef XID GLXVideoSourceSGIX;
00314 #endif
00315
00316 #ifndef GLX_SGIX_fbconfig
00317 typedef XID GLXFBConfigIDSGIX;
00318 typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
00319 #endif
00320
00321 #ifndef GLX_SGIX_pbuffer
00322 typedef XID GLXPbufferSGIX;
00323 typedef struct {
00324 int type;
00325 unsigned long serial;
00326 Bool send_event;
00327 X11_Display *display;
00328 GLXDrawable drawable;
00329 int event_type;
00330 int draw_type;
00331 unsigned int mask;
00332 int x, y;
00333 int width, height;
00334 int count;
00335 } GLXBufferClobberEventSGIX;
00336 #endif
00337
00338 #ifndef GLX_VERSION_1_3
00339 #define GLX_VERSION_1_3 1
00340
00341
00342
00343 typedef struct __GLXFBConfigRec *GLXFBConfig;
00344 typedef XID GLXPbuffer;
00345 typedef XID GLXWindow;
00346
00347 #ifdef GLX_GLXEXT_PROTOTYPES
00348 extern GLXFBConfig * glXGetFBConfigs (X11_Display *, int, int *);
00349 extern GLXFBConfig * glXChooseFBConfig (X11_Display *, int, const int *, int *);
00350 extern int glXGetFBConfigAttrib (X11_Display *, GLXFBConfig, int, int *);
00351 extern XVisualInfo * glXGetVisualFromFBConfig (X11_Display *, GLXFBConfig);
00352 extern GLXWindow glXCreateWindow (X11_Display *, GLXFBConfig, X11_Window, const int *);
00353 extern void glXDestroyWindow (X11_Display *, GLXWindow);
00354 extern GLXPixmap glXCreatePixmap (X11_Display *, GLXFBConfig, Pixmap, const int *);
00355 extern void glXDestroyPixmap (X11_Display *, GLXPixmap);
00356 extern GLXPbuffer glXCreatePbuffer (X11_Display *, GLXFBConfig, const int *);
00357 extern void glXDestroyPbuffer (X11_Display *, GLXPbuffer);
00358 extern void glXQueryDrawable (X11_Display *, GLXDrawable, int, unsigned int *);
00359 extern GLXContext glXCreateNewContext (X11_Display *, GLXFBConfig, int, GLXContext, Bool);
00360 extern Bool glXMakeContextCurrent (X11_Display *, GLXDrawable, GLXDrawable, GLXContext);
00361 extern GLXDrawable glXGetCurrentReadDrawable ();
00362 extern X11_Display * glXGetCurrentDisplay ();
00363 extern int glXQueryContext (X11_Display *, GLXContext, int, int *);
00364 extern void glXSelectEvent (X11_Display *, GLXDrawable, unsigned long);
00365 extern void glXGetSelectedEvent (X11_Display *, GLXDrawable, unsigned long *);
00366 #endif
00367
00368
00369 typedef GLXFBConfig * (* PFNGLXGETFBCONFIGSPROC) (X11_Display *dpy, int screen, int *nelements);
00370 typedef GLXFBConfig * (* PFNGLXCHOOSEFBCONFIGPROC) (X11_Display *dpy, int screen, const int *attrib_list, int *nelements);
00371 typedef int (* PFNGLXGETFBCONFIGATTRIBPROC) (X11_Display *dpy, GLXFBConfig config, int attribute, int *value);
00372 typedef XVisualInfo * (* PFNGLXGETVISUALFROMFBCONFIGPROC) (X11_Display *dpy, GLXFBConfig config);
00373 typedef GLXWindow (* PFNGLXCREATEWINDOWPROC) (X11_Display *dpy, GLXFBConfig config, X11_Window win, const int *attrib_list);
00374 typedef void (* PFNGLXDESTROYWINDOWPROC) (X11_Display *dpy, GLXWindow win);
00375 typedef GLXPixmap (* PFNGLXCREATEPIXMAPPROC) (X11_Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
00376 typedef void (* PFNGLXDESTROYPIXMAPPROC) (X11_Display *dpy, GLXPixmap pixmap);
00377 typedef GLXPbuffer (* PFNGLXCREATEPBUFFERPROC) (X11_Display *dpy, GLXFBConfig config, const int *attrib_list);
00378 typedef void (* PFNGLXDESTROYPBUFFERPROC) (X11_Display *dpy, GLXPbuffer pbuf);
00379 typedef void (* PFNGLXQUERYDRAWABLEPROC) (X11_Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
00380 typedef GLXContext (* PFNGLXCREATENEWCONTEXTPROC) (X11_Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
00381 typedef Bool (* PFNGLXMAKECONTEXTCURRENTPROC) (X11_Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
00382 typedef GLXDrawable (* PFNGLXGETCURRENTREADDRAWABLEPROC) ();
00383 typedef X11_Display * (* PFNGLXGETCURRENTDISPLAYPROC) ();
00384 typedef int (* PFNGLXQUERYCONTEXTPROC) (X11_Display *dpy, GLXContext ctx, int attribute, int *value);
00385 typedef void (* PFNGLXSELECTEVENTPROC) (X11_Display *dpy, GLXDrawable draw, unsigned long event_mask);
00386 typedef void (* PFNGLXGETSELECTEDEVENTPROC) (X11_Display *dpy, GLXDrawable draw, unsigned long *event_mask);
00387 #endif
00388
00389 #ifndef GLX_VERSION_1_4
00390 #define GLX_VERSION_1_4 1
00391 #ifdef GLX_GLXEXT_PROTOTYPES
00392 extern __GLXextFuncPtr glXGetProcAddress (const GLubyte *);
00393 #endif
00394 typedef __GLXextFuncPtr (* PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName);
00395 #endif
00396
00397 #ifndef GLX_ARB_get_proc_address
00398 #define GLX_ARB_get_proc_address 1
00399 #ifdef GLX_GLXEXT_PROTOTYPES
00400 extern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *);
00401 #endif
00402 typedef __GLXextFuncPtr (* PFNGLXGETPROCADDRESSARBPROC) (const GLubyte *procName);
00403 #endif
00404
00405 #ifndef GLX_ARB_multisample
00406 #define GLX_ARB_multisample 1
00407 #endif
00408
00409 #ifndef GLX_SGIS_multisample
00410 #define GLX_SGIS_multisample 1
00411 #endif
00412
00413 #ifndef GLX_EXT_visual_info
00414 #define GLX_EXT_visual_info 1
00415 #endif
00416
00417 #ifndef GLX_SGI_swap_control
00418 #define GLX_SGI_swap_control 1
00419 #ifdef GLX_GLXEXT_PROTOTYPES
00420 extern int glXSwapIntervalSGI (int);
00421 #endif
00422 typedef int (* PFNGLXSWAPINTERVALSGIPROC) (int interval);
00423 #endif
00424
00425 #ifndef GLX_SGI_video_sync
00426 #define GLX_SGI_video_sync 1
00427 #ifdef GLX_GLXEXT_PROTOTYPES
00428 extern int glXGetVideoSyncSGI (unsigned int *);
00429 extern int glXWaitVideoSyncSGI (int, int, unsigned int *);
00430 #endif
00431 typedef int (* PFNGLXGETVIDEOSYNCSGIPROC) (unsigned int *count);
00432 typedef int (* PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int *count);
00433 #endif
00434
00435 #ifndef GLX_SGI_make_current_read
00436 #define GLX_SGI_make_current_read 1
00437 #ifdef GLX_GLXEXT_PROTOTYPES
00438 extern Bool glXMakeCurrentReadSGI (X11_Display *, GLXDrawable, GLXDrawable, GLXContext);
00439 extern GLXDrawable glXGetCurrentReadDrawableSGI ();
00440 #endif
00441 typedef Bool (* PFNGLXMAKECURRENTREADSGIPROC) (X11_Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
00442 typedef GLXDrawable (* PFNGLXGETCURRENTREADDRAWABLESGIPROC) ();
00443 #endif
00444
00445 #ifndef GLX_SGIX_video_source
00446 #define GLX_SGIX_video_source 1
00447 #ifdef _VL_H
00448 #ifdef GLX_GLXEXT_PROTOTYPES
00449 extern GLXVideoSourceSGIX glXCreateGLXVideoSourceSGIX (X11_Display *, int, VLServer, VLPath, int, VLNode);
00450 extern void glXDestroyGLXVideoSourceSGIX (X11_Display *, GLXVideoSourceSGIX);
00451 #endif
00452 typedef GLXVideoSourceSGIX (* PFNGLXCREATEGLXVIDEOSOURCESGIXPROC) (X11_Display *display, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode);
00453 typedef void (* PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC) (X11_Display *dpy, GLXVideoSourceSGIX glxvideosource);
00454 #endif
00455
00456 #endif
00457 #ifndef GLX_EXT_visual_rating
00458 #define GLX_EXT_visual_rating 1
00459 #endif
00460
00461 #ifndef GLX_EXT_import_context
00462 #define GLX_EXT_import_context 1
00463 #ifdef GLX_GLXEXT_PROTOTYPES
00464 extern X11_Display * glXGetCurrentDisplayEXT ();
00465 extern int glXQueryContextInfoEXT (X11_Display *, GLXContext, int, int *);
00466 extern GLXContextID glXGetContextIDEXT (const GLXContext);
00467 extern GLXContext glXImportContextEXT (X11_Display *, GLXContextID);
00468 extern void glXFreeContextEXT (X11_Display *, GLXContext);
00469 #endif
00470 typedef X11_Display * (* PFNGLXGETCURRENTDISPLAYEXTPROC) ();
00471 typedef int (* PFNGLXQUERYCONTEXTINFOEXTPROC) (X11_Display *dpy, GLXContext context, int attribute, int *value);
00472 typedef GLXContextID (* PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context);
00473 typedef GLXContext (* PFNGLXIMPORTCONTEXTEXTPROC) (X11_Display *dpy, GLXContextID contextID);
00474 typedef void (* PFNGLXFREECONTEXTEXTPROC) (X11_Display *dpy, GLXContext context);
00475 #endif
00476
00477 #ifndef GLX_SGIX_fbconfig
00478 #define GLX_SGIX_fbconfig 1
00479 #ifdef GLX_GLXEXT_PROTOTYPES
00480 extern int glXGetFBConfigAttribSGIX (X11_Display *, GLXFBConfigSGIX, int, int *);
00481 extern GLXFBConfigSGIX * glXChooseFBConfigSGIX (X11_Display *, int, int *, int *);
00482 extern GLXPixmap glXCreateGLXPixmapWithConfigSGIX (X11_Display *, GLXFBConfigSGIX, Pixmap);
00483 extern GLXContext glXCreateContextWithConfigSGIX (X11_Display *, GLXFBConfigSGIX, int, GLXContext, Bool);
00484 extern XVisualInfo * glXGetVisualFromFBConfigSGIX (X11_Display *, GLXFBConfigSGIX);
00485 extern GLXFBConfigSGIX glXGetFBConfigFromVisualSGIX (X11_Display *, XVisualInfo *);
00486 #endif
00487 typedef int (* PFNGLXGETFBCONFIGATTRIBSGIXPROC) (X11_Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);
00488 typedef GLXFBConfigSGIX * (* PFNGLXCHOOSEFBCONFIGSGIXPROC) (X11_Display *dpy, int screen, int *attrib_list, int *nelements);
00489 typedef GLXPixmap (* PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (X11_Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap);
00490 typedef GLXContext (* PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (X11_Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct);
00491 typedef XVisualInfo * (* PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (X11_Display *dpy, GLXFBConfigSGIX config);
00492 typedef GLXFBConfigSGIX (* PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (X11_Display *dpy, XVisualInfo *vis);
00493 #endif
00494
00495 #ifndef GLX_SGIX_pbuffer
00496 #define GLX_SGIX_pbuffer 1
00497 #ifdef GLX_GLXEXT_PROTOTYPES
00498 extern GLXPbufferSGIX glXCreateGLXPbufferSGIX (X11_Display *, GLXFBConfigSGIX, unsigned int, unsigned int, int *);
00499 extern void glXDestroyGLXPbufferSGIX (X11_Display *, GLXPbufferSGIX);
00500 extern int glXQueryGLXPbufferSGIX (X11_Display *, GLXPbufferSGIX, int, unsigned int *);
00501 extern void glXSelectEventSGIX (X11_Display *, GLXDrawable, unsigned long);
00502 extern void glXGetSelectedEventSGIX (X11_Display *, GLXDrawable, unsigned long *);
00503 #endif
00504 typedef GLXPbufferSGIX (* PFNGLXCREATEGLXPBUFFERSGIXPROC) (X11_Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list);
00505 typedef void (* PFNGLXDESTROYGLXPBUFFERSGIXPROC) (X11_Display *dpy, GLXPbufferSGIX pbuf);
00506 typedef int (* PFNGLXQUERYGLXPBUFFERSGIXPROC) (X11_Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value);
00507 typedef void (* PFNGLXSELECTEVENTSGIXPROC) (X11_Display *dpy, GLXDrawable drawable, unsigned long mask);
00508 typedef void (* PFNGLXGETSELECTEDEVENTSGIXPROC) (X11_Display *dpy, GLXDrawable drawable, unsigned long *mask);
00509 #endif
00510
00511 #ifndef GLX_SGI_cushion
00512 #define GLX_SGI_cushion 1
00513 #ifdef GLX_GLXEXT_PROTOTYPES
00514 extern void glXCushionSGI (X11_Display *, X11_Window, float);
00515 #endif
00516 typedef void (* PFNGLXCUSHIONSGIPROC) (X11_Display *dpy, X11_Window window, float cushion);
00517 #endif
00518
00519 #ifndef GLX_SGIX_video_resize
00520 #define GLX_SGIX_video_resize 1
00521 #ifdef GLX_GLXEXT_PROTOTYPES
00522 extern int glXBindChannelToWindowSGIX (X11_Display *, int, int, X11_Window);
00523 extern int glXChannelRectSGIX (X11_Display *, int, int, int, int, int, int);
00524 extern int glXQueryChannelRectSGIX (X11_Display *, int, int, int *, int *, int *, int *);
00525 extern int glXQueryChannelDeltasSGIX (X11_Display *, int, int, int *, int *, int *, int *);
00526 extern int glXChannelRectSyncSGIX (X11_Display *, int, int, GLenum);
00527 #endif
00528 typedef int (* PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (X11_Display *display, int screen, int channel, X11_Window window);
00529 typedef int (* PFNGLXCHANNELRECTSGIXPROC) (X11_Display *display, int screen, int channel, int x, int y, int w, int h);
00530 typedef int (* PFNGLXQUERYCHANNELRECTSGIXPROC) (X11_Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
00531 typedef int (* PFNGLXQUERYCHANNELDELTASSGIXPROC) (X11_Display *display, int screen, int channel, int *x, int *y, int *w, int *h);
00532 typedef int (* PFNGLXCHANNELRECTSYNCSGIXPROC) (X11_Display *display, int screen, int channel, GLenum synctype);
00533 #endif
00534
00535 #ifndef GLX_SGIX_dmbuffer
00536 #define GLX_SGIX_dmbuffer 1
00537 #ifdef _DM_BUFFER_H_
00538 #ifdef GLX_GLXEXT_PROTOTYPES
00539 extern Bool glXAssociateDMPbufferSGIX (X11_Display *, GLXPbufferSGIX, DMparams *, DMbuffer);
00540 #endif
00541 typedef Bool (* PFNGLXASSOCIATEDMPBUFFERSGIXPROC) (X11_Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer);
00542 #endif
00543
00544 #endif
00545 #ifndef GLX_SGIX_swap_group
00546 #define GLX_SGIX_swap_group 1
00547 #ifdef GLX_GLXEXT_PROTOTYPES
00548 extern void glXJoinSwapGroupSGIX (X11_Display *, GLXDrawable, GLXDrawable);
00549 #endif
00550 typedef void (* PFNGLXJOINSWAPGROUPSGIXPROC) (X11_Display *dpy, GLXDrawable drawable, GLXDrawable member);
00551 #endif
00552
00553 #ifndef GLX_SGIX_swap_barrier
00554 #define GLX_SGIX_swap_barrier 1
00555 #ifdef GLX_GLXEXT_PROTOTYPES
00556 extern void glXBindSwapBarrierSGIX (X11_Display *, GLXDrawable, int);
00557 extern Bool glXQueryMaxSwapBarriersSGIX (X11_Display *, int, int *);
00558 #endif
00559 typedef void (* PFNGLXBINDSWAPBARRIERSGIXPROC) (X11_Display *dpy, GLXDrawable drawable, int barrier);
00560 typedef Bool (* PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (X11_Display *dpy, int screen, int *max);
00561 #endif
00562
00563 #ifndef GLX_SUN_get_transparent_index
00564 #define GLX_SUN_get_transparent_index 1
00565 #ifdef GLX_GLXEXT_PROTOTYPES
00566 extern Status glXGetTransparentIndexSUN (X11_Display *, X11_Window, X11_Window, long *);
00567 #endif
00568 typedef Status (* PFNGLXGETTRANSPARENTINDEXSUNPROC) (X11_Display *dpy, X11_Window overlay, X11_Window underlay, long *pTransparentIndex);
00569 #endif
00570
00571 #ifndef GLX_MESA_copy_sub_buffer
00572 #define GLX_MESA_copy_sub_buffer 1
00573 #ifdef GLX_GLXEXT_PROTOTYPES
00574 extern void glXCopySubBufferMESA (X11_Display *, GLXDrawable, int, int, int, int);
00575 #endif
00576 typedef void (* PFNGLXCOPYSUBBUFFERMESAPROC) (X11_Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);
00577 #endif
00578
00579 #ifndef GLX_MESA_pixmap_colormap
00580 #define GLX_MESA_pixmap_colormap 1
00581 #ifdef GLX_GLXEXT_PROTOTYPES
00582 extern GLXPixmap glXCreateGLXPixmapMESA (X11_Display *, XVisualInfo *, Pixmap, Colormap);
00583 #endif
00584 typedef GLXPixmap (* PFNGLXCREATEGLXPIXMAPMESAPROC) (X11_Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
00585 #endif
00586
00587 #ifndef GLX_MESA_release_buffers
00588 #define GLX_MESA_release_buffers 1
00589 #ifdef GLX_GLXEXT_PROTOTYPES
00590 extern Bool glXReleaseBuffersMESA (X11_Display *, GLXDrawable);
00591 #endif
00592 typedef Bool (* PFNGLXRELEASEBUFFERSMESAPROC) (X11_Display *dpy, GLXDrawable drawable);
00593 #endif
00594
00595 #ifndef GLX_MESA_set_3dfx_mode
00596 #define GLX_MESA_set_3dfx_mode 1
00597 #ifdef GLX_GLXEXT_PROTOTYPES
00598 extern Bool glXSet3DfxModeMESA (int);
00599 #endif
00600 typedef Bool (* PFNGLXSET3DFXMODEMESAPROC) (int mode);
00601 #endif
00602
00603 #ifndef GLX_SGIX_visual_select_group
00604 #define GLX_SGIX_visual_select_group 1
00605 #endif
00606
00607 #ifndef GLX_OML_swap_method
00608 #define GLX_OML_swap_method 1
00609 #endif
00610
00611 #ifndef GLX_OML_sync_control
00612 #define GLX_OML_sync_control 1
00613 #if defined(__STDC_VERSION__)
00614 #if __STDC_VERSION__ >= 199901L
00615
00616 #include <inttypes.h>
00617
00618 #ifdef GLX_GLXEXT_PROTOTYPES
00619 extern Bool glXGetSyncValuesOML (X11_Display *, GLXDrawable, int64_t *, int64_t *, int64_t *);
00620 extern Bool glXGetMscRateOML (X11_Display *, GLXDrawable, int32_t *, int32_t *);
00621 extern int64_t glXSwapBuffersMscOML (X11_Display *, GLXDrawable, int64_t, int64_t, int64_t);
00622 extern Bool glXWaitForMscOML (X11_Display *, GLXDrawable, int64_t, int64_t, int64_t, int64_t *, int64_t *, int64_t *);
00623 extern Bool glXWaitForSbcOML (X11_Display *, GLXDrawable, int64_t, int64_t *, int64_t *, int64_t *);
00624 #endif
00625 typedef Bool (* PFNGLXGETSYNCVALUESOMLPROC) (X11_Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);
00626 typedef Bool (* PFNGLXGETMSCRATEOMLPROC) (X11_Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);
00627 typedef int64_t (* PFNGLXSWAPBUFFERSMSCOMLPROC) (X11_Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
00628 typedef Bool (* PFNGLXWAITFORMSCOMLPROC) (X11_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) (X11_Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);
00630 #endif
00631
00632 #endif
00633 #endif
00634
00635 #ifdef __cplusplus
00636 }
00637 #endif
00638
00639 #endif