1 /* GdkGLExt - OpenGL Extension to GDK 2 * Copyright (C) 2002-2004 Naofumi Yasufuku 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the Free Software 16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 */ 18 19 /* 20 * This is a generated file. Please modify "gen-gdkglglxext-h.pl". 21 */ 22 23 #ifndef __GDK_GL_GLXEXT_H__ 24 #define __GDK_GL_GLXEXT_H__ 25 26 #include <X11/Xlib.h> 27 #include <X11/Xutil.h> 28 29 #include <GL/gl.h> 30 #include <GL/glx.h> 31 32 #include <gdk/gdkgldefs.h> 33 #include <gdk/gdkglquery.h> 34 #include <gdk/gdkglconfig.h> 35 36 G_BEGIN_DECLS 37 38 #ifndef GLX_VERSION_1_3 39 typedef struct __GLXFBConfigRec *GLXFBConfig; 40 typedef XID GLXFBConfigID; 41 typedef XID GLXContextID; 42 typedef XID GLXWindow; 43 typedef XID GLXPbuffer; 44 #endif 45 46 #ifndef HAVE_GLXFBCONFIGSGIX 47 #if defined(GLX_SGIX_fbconfig) && defined(GDKGLEXT_NEED_GLXFBCONFIGSGIX_TYPEDEF) 48 typedef struct __GLXFBConfigRec *GLXFBConfigSGIX; 49 #endif 50 #endif 51 52 #ifndef HAVE_GLXFBCONFIGIDSGIX 53 #if defined(GLX_SGIX_fbconfig) && defined(GDKGLEXT_NEED_GLXFBCONFIGIDSGIX_TYPEDEF) 54 typedef XID GLXFBConfigIDSGIX; 55 #endif 56 #endif 57 58 #ifndef HAVE_GLXPBUFFERSGIX 59 #if defined(GLX_SGIX_pbuffer) && defined(GDKGLEXT_NEED_GLXPBUFFERSGIX_TYPEDEF) 60 typedef XID GLXPbufferSGIX; 61 #endif 62 #endif 63 64 /* for __GLXextFuncPtr typedef in glxext.h */ 65 #ifndef HAVE___GLXEXTFUNCPTR 66 #if defined(GLX_ARB_get_proc_address) && defined(GDKGLEXT_NEED_GLXEXTFUNCPTR_TYPEDEF) 67 #undef GLX_ARB_get_proc_address 68 #endif 69 #endif 70 71 /* Suppress 'redefined' warnings (Solaris 8, etc.) */ 72 73 #if !defined(GLX_ARB_multisample) && defined(GLX_SAMPLE_BUFFERS_ARB) 74 #define GLX_ARB_multisample 1 75 #endif 76 77 #if !defined(GLX_SGIS_multisample) && defined(GLX_SAMPLE_BUFFERS_SGIS) 78 #define GLX_SGIS_multisample 1 79 #endif 80 81 #if !defined(GLX_EXT_visual_rating) && defined(GLX_VISUAL_CAVEAT_EXT) 82 #define GLX_EXT_visual_rating 1 83 #endif 84 85 #if !defined(GLX_EXT_import_context) && defined(GLX_SHARE_CONTEXT_EXT) 86 #define GLX_EXT_import_context 1 87 #endif 88 89 /* Avoid old glxext.h bug. */ 90 #if !defined(GLX_SGIX_video_source) && !defined(GDKGLEXT_NEED_GLXVIDEOSOURCESGIX_TYPEDEF) 91 #define GLX_SGIX_video_source 1 92 #endif 93 94 #undef __glxext_h_ 95 #undef GLX_GLXEXT_VERSION 96 #include <gdk/glext/glxext.h> 97 #include <gdk/glext/glxext-extra.h> 98 99 /* 100 * GLX_VERSION_1_3 101 */ 102 103 /* glXGetFBConfigs */ 104 typedef GLXFBConfig * ( * GdkGLProc_glXGetFBConfigs) (Display *dpy, int screen, int *nelements); 105 GdkGLProc gdk_gl_get_glXGetFBConfigs (void); 106 #define gdk_gl_glXGetFBConfigs(proc, dpy, screen, nelements) \ 107 ( ((GdkGLProc_glXGetFBConfigs) (proc)) (dpy, screen, nelements) ) 108 109 /* glXChooseFBConfig */ 110 typedef GLXFBConfig * ( * GdkGLProc_glXChooseFBConfig) (Display *dpy, int screen, const int *attrib_list, int *nelements); 111 GdkGLProc gdk_gl_get_glXChooseFBConfig (void); 112 #define gdk_gl_glXChooseFBConfig(proc, dpy, screen, attrib_list, nelements) \ 113 ( ((GdkGLProc_glXChooseFBConfig) (proc)) (dpy, screen, attrib_list, nelements) ) 114 115 /* glXGetFBConfigAttrib */ 116 typedef int ( * GdkGLProc_glXGetFBConfigAttrib) (Display *dpy, GLXFBConfig config, int attribute, int *value); 117 GdkGLProc gdk_gl_get_glXGetFBConfigAttrib (void); 118 #define gdk_gl_glXGetFBConfigAttrib(proc, dpy, config, attribute, value) \ 119 ( ((GdkGLProc_glXGetFBConfigAttrib) (proc)) (dpy, config, attribute, value) ) 120 121 /* glXGetVisualFromFBConfig */ 122 typedef XVisualInfo * ( * GdkGLProc_glXGetVisualFromFBConfig) (Display *dpy, GLXFBConfig config); 123 GdkGLProc gdk_gl_get_glXGetVisualFromFBConfig (void); 124 #define gdk_gl_glXGetVisualFromFBConfig(proc, dpy, config) \ 125 ( ((GdkGLProc_glXGetVisualFromFBConfig) (proc)) (dpy, config) ) 126 127 /* glXCreateWindow */ 128 typedef GLXWindow ( * GdkGLProc_glXCreateWindow) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list); 129 GdkGLProc gdk_gl_get_glXCreateWindow (void); 130 #define gdk_gl_glXCreateWindow(proc, dpy, config, win, attrib_list) \ 131 ( ((GdkGLProc_glXCreateWindow) (proc)) (dpy, config, win, attrib_list) ) 132 133 /* glXDestroyWindow */ 134 typedef void ( * GdkGLProc_glXDestroyWindow) (Display *dpy, GLXWindow win); 135 GdkGLProc gdk_gl_get_glXDestroyWindow (void); 136 #define gdk_gl_glXDestroyWindow(proc, dpy, win) \ 137 ( ((GdkGLProc_glXDestroyWindow) (proc)) (dpy, win) ) 138 139 /* glXCreatePixmap */ 140 typedef GLXPixmap ( * GdkGLProc_glXCreatePixmap) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list); 141 GdkGLProc gdk_gl_get_glXCreatePixmap (void); 142 #define gdk_gl_glXCreatePixmap(proc, dpy, config, pixmap, attrib_list) \ 143 ( ((GdkGLProc_glXCreatePixmap) (proc)) (dpy, config, pixmap, attrib_list) ) 144 145 /* glXDestroyPixmap */ 146 typedef void ( * GdkGLProc_glXDestroyPixmap) (Display *dpy, GLXPixmap pixmap); 147 GdkGLProc gdk_gl_get_glXDestroyPixmap (void); 148 #define gdk_gl_glXDestroyPixmap(proc, dpy, pixmap) \ 149 ( ((GdkGLProc_glXDestroyPixmap) (proc)) (dpy, pixmap) ) 150 151 /* glXCreatePbuffer */ 152 typedef GLXPbuffer ( * GdkGLProc_glXCreatePbuffer) (Display *dpy, GLXFBConfig config, const int *attrib_list); 153 GdkGLProc gdk_gl_get_glXCreatePbuffer (void); 154 #define gdk_gl_glXCreatePbuffer(proc, dpy, config, attrib_list) \ 155 ( ((GdkGLProc_glXCreatePbuffer) (proc)) (dpy, config, attrib_list) ) 156 157 /* glXDestroyPbuffer */ 158 typedef void ( * GdkGLProc_glXDestroyPbuffer) (Display *dpy, GLXPbuffer pbuf); 159 GdkGLProc gdk_gl_get_glXDestroyPbuffer (void); 160 #define gdk_gl_glXDestroyPbuffer(proc, dpy, pbuf) \ 161 ( ((GdkGLProc_glXDestroyPbuffer) (proc)) (dpy, pbuf) ) 162 163 /* glXQueryDrawable */ 164 typedef void ( * GdkGLProc_glXQueryDrawable) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value); 165 GdkGLProc gdk_gl_get_glXQueryDrawable (void); 166 #define gdk_gl_glXQueryDrawable(proc, dpy, draw, attribute, value) \ 167 ( ((GdkGLProc_glXQueryDrawable) (proc)) (dpy, draw, attribute, value) ) 168 169 /* glXCreateNewContext */ 170 typedef GLXContext ( * GdkGLProc_glXCreateNewContext) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct); 171 GdkGLProc gdk_gl_get_glXCreateNewContext (void); 172 #define gdk_gl_glXCreateNewContext(proc, dpy, config, render_type, share_list, direct) \ 173 ( ((GdkGLProc_glXCreateNewContext) (proc)) (dpy, config, render_type, share_list, direct) ) 174 175 /* glXMakeContextCurrent */ 176 typedef Bool ( * GdkGLProc_glXMakeContextCurrent) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); 177 GdkGLProc gdk_gl_get_glXMakeContextCurrent (void); 178 #define gdk_gl_glXMakeContextCurrent(proc, dpy, draw, read, ctx) \ 179 ( ((GdkGLProc_glXMakeContextCurrent) (proc)) (dpy, draw, read, ctx) ) 180 181 /* glXGetCurrentReadDrawable */ 182 typedef GLXDrawable ( * GdkGLProc_glXGetCurrentReadDrawable) (void); 183 GdkGLProc gdk_gl_get_glXGetCurrentReadDrawable (void); 184 #define gdk_gl_glXGetCurrentReadDrawable(proc) \ 185 ( ((GdkGLProc_glXGetCurrentReadDrawable) (proc)) () ) 186 187 /* glXGetCurrentDisplay */ 188 typedef Display * ( * GdkGLProc_glXGetCurrentDisplay) (void); 189 GdkGLProc gdk_gl_get_glXGetCurrentDisplay (void); 190 #define gdk_gl_glXGetCurrentDisplay(proc) \ 191 ( ((GdkGLProc_glXGetCurrentDisplay) (proc)) () ) 192 193 /* glXQueryContext */ 194 typedef int ( * GdkGLProc_glXQueryContext) (Display *dpy, GLXContext ctx, int attribute, int *value); 195 GdkGLProc gdk_gl_get_glXQueryContext (void); 196 #define gdk_gl_glXQueryContext(proc, dpy, ctx, attribute, value) \ 197 ( ((GdkGLProc_glXQueryContext) (proc)) (dpy, ctx, attribute, value) ) 198 199 /* glXSelectEvent */ 200 typedef void ( * GdkGLProc_glXSelectEvent) (Display *dpy, GLXDrawable draw, unsigned long event_mask); 201 GdkGLProc gdk_gl_get_glXSelectEvent (void); 202 #define gdk_gl_glXSelectEvent(proc, dpy, draw, event_mask) \ 203 ( ((GdkGLProc_glXSelectEvent) (proc)) (dpy, draw, event_mask) ) 204 205 /* glXGetSelectedEvent */ 206 typedef void ( * GdkGLProc_glXGetSelectedEvent) (Display *dpy, GLXDrawable draw, unsigned long *event_mask); 207 GdkGLProc gdk_gl_get_glXGetSelectedEvent (void); 208 #define gdk_gl_glXGetSelectedEvent(proc, dpy, draw, event_mask) \ 209 ( ((GdkGLProc_glXGetSelectedEvent) (proc)) (dpy, draw, event_mask) ) 210 211 /* proc struct */ 212 213 typedef struct _GdkGL_GLX_VERSION_1_3 GdkGL_GLX_VERSION_1_3; 214 215 struct _GdkGL_GLX_VERSION_1_3 216 { 217 GdkGLProc_glXGetFBConfigs glXGetFBConfigs; 218 GdkGLProc_glXChooseFBConfig glXChooseFBConfig; 219 GdkGLProc_glXGetFBConfigAttrib glXGetFBConfigAttrib; 220 GdkGLProc_glXGetVisualFromFBConfig glXGetVisualFromFBConfig; 221 GdkGLProc_glXCreateWindow glXCreateWindow; 222 GdkGLProc_glXDestroyWindow glXDestroyWindow; 223 GdkGLProc_glXCreatePixmap glXCreatePixmap; 224 GdkGLProc_glXDestroyPixmap glXDestroyPixmap; 225 GdkGLProc_glXCreatePbuffer glXCreatePbuffer; 226 GdkGLProc_glXDestroyPbuffer glXDestroyPbuffer; 227 GdkGLProc_glXQueryDrawable glXQueryDrawable; 228 GdkGLProc_glXCreateNewContext glXCreateNewContext; 229 GdkGLProc_glXMakeContextCurrent glXMakeContextCurrent; 230 GdkGLProc_glXGetCurrentReadDrawable glXGetCurrentReadDrawable; 231 GdkGLProc_glXGetCurrentDisplay glXGetCurrentDisplay; 232 GdkGLProc_glXQueryContext glXQueryContext; 233 GdkGLProc_glXSelectEvent glXSelectEvent; 234 GdkGLProc_glXGetSelectedEvent glXGetSelectedEvent; 235 }; 236 237 GdkGL_GLX_VERSION_1_3 *gdk_gl_get_GLX_VERSION_1_3 (void); 238 239 /* 240 * GLX_VERSION_1_4 241 */ 242 243 /* glXGetProcAddress */ 244 typedef __GLXextFuncPtr ( * GdkGLProc_glXGetProcAddress) (const GLubyte *procName); 245 GdkGLProc gdk_gl_get_glXGetProcAddress (void); 246 #define gdk_gl_glXGetProcAddress(proc, procName) \ 247 ( ((GdkGLProc_glXGetProcAddress) (proc)) (procName) ) 248 249 /* proc struct */ 250 251 typedef struct _GdkGL_GLX_VERSION_1_4 GdkGL_GLX_VERSION_1_4; 252 253 struct _GdkGL_GLX_VERSION_1_4 254 { 255 GdkGLProc_glXGetProcAddress glXGetProcAddress; 256 }; 257 258 GdkGL_GLX_VERSION_1_4 *gdk_gl_get_GLX_VERSION_1_4 (void); 259 260 /* 261 * GLX_ARB_get_proc_address 262 */ 263 264 /* glXGetProcAddressARB */ 265 typedef __GLXextFuncPtr ( * GdkGLProc_glXGetProcAddressARB) (const GLubyte *procName); 266 GdkGLProc gdk_gl_get_glXGetProcAddressARB (void); 267 #define gdk_gl_glXGetProcAddressARB(proc, procName) \ 268 ( ((GdkGLProc_glXGetProcAddressARB) (proc)) (procName) ) 269 270 /* proc struct */ 271 272 typedef struct _GdkGL_GLX_ARB_get_proc_address GdkGL_GLX_ARB_get_proc_address; 273 274 struct _GdkGL_GLX_ARB_get_proc_address 275 { 276 GdkGLProc_glXGetProcAddressARB glXGetProcAddressARB; 277 }; 278 279 GdkGL_GLX_ARB_get_proc_address *gdk_gl_get_GLX_ARB_get_proc_address (GdkGLConfig *glconfig); 280 281 /* 282 * GLX_SGI_swap_control 283 */ 284 285 /* glXSwapIntervalSGI */ 286 typedef int ( * GdkGLProc_glXSwapIntervalSGI) (int interval); 287 GdkGLProc gdk_gl_get_glXSwapIntervalSGI (void); 288 #define gdk_gl_glXSwapIntervalSGI(proc, interval) \ 289 ( ((GdkGLProc_glXSwapIntervalSGI) (proc)) (interval) ) 290 291 /* proc struct */ 292 293 typedef struct _GdkGL_GLX_SGI_swap_control GdkGL_GLX_SGI_swap_control; 294 295 struct _GdkGL_GLX_SGI_swap_control 296 { 297 GdkGLProc_glXSwapIntervalSGI glXSwapIntervalSGI; 298 }; 299 300 GdkGL_GLX_SGI_swap_control *gdk_gl_get_GLX_SGI_swap_control (GdkGLConfig *glconfig); 301 302 /* 303 * GLX_SGI_video_sync 304 */ 305 306 /* glXGetVideoSyncSGI */ 307 typedef int ( * GdkGLProc_glXGetVideoSyncSGI) (unsigned int *count); 308 GdkGLProc gdk_gl_get_glXGetVideoSyncSGI (void); 309 #define gdk_gl_glXGetVideoSyncSGI(proc, count) \ 310 ( ((GdkGLProc_glXGetVideoSyncSGI) (proc)) (count) ) 311 312 /* glXWaitVideoSyncSGI */ 313 typedef int ( * GdkGLProc_glXWaitVideoSyncSGI) (int divisor, int remainder, unsigned int *count); 314 GdkGLProc gdk_gl_get_glXWaitVideoSyncSGI (void); 315 #define gdk_gl_glXWaitVideoSyncSGI(proc, divisor, remainder, count) \ 316 ( ((GdkGLProc_glXWaitVideoSyncSGI) (proc)) (divisor, remainder, count) ) 317 318 /* proc struct */ 319 320 typedef struct _GdkGL_GLX_SGI_video_sync GdkGL_GLX_SGI_video_sync; 321 322 struct _GdkGL_GLX_SGI_video_sync 323 { 324 GdkGLProc_glXGetVideoSyncSGI glXGetVideoSyncSGI; 325 GdkGLProc_glXWaitVideoSyncSGI glXWaitVideoSyncSGI; 326 }; 327 328 GdkGL_GLX_SGI_video_sync *gdk_gl_get_GLX_SGI_video_sync (GdkGLConfig *glconfig); 329 330 /* 331 * GLX_SGI_make_current_read 332 */ 333 334 /* glXMakeCurrentReadSGI */ 335 typedef Bool ( * GdkGLProc_glXMakeCurrentReadSGI) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); 336 GdkGLProc gdk_gl_get_glXMakeCurrentReadSGI (void); 337 #define gdk_gl_glXMakeCurrentReadSGI(proc, dpy, draw, read, ctx) \ 338 ( ((GdkGLProc_glXMakeCurrentReadSGI) (proc)) (dpy, draw, read, ctx) ) 339 340 /* glXGetCurrentReadDrawableSGI */ 341 typedef GLXDrawable ( * GdkGLProc_glXGetCurrentReadDrawableSGI) (void); 342 GdkGLProc gdk_gl_get_glXGetCurrentReadDrawableSGI (void); 343 #define gdk_gl_glXGetCurrentReadDrawableSGI(proc) \ 344 ( ((GdkGLProc_glXGetCurrentReadDrawableSGI) (proc)) () ) 345 346 /* proc struct */ 347 348 typedef struct _GdkGL_GLX_SGI_make_current_read GdkGL_GLX_SGI_make_current_read; 349 350 struct _GdkGL_GLX_SGI_make_current_read 351 { 352 GdkGLProc_glXMakeCurrentReadSGI glXMakeCurrentReadSGI; 353 GdkGLProc_glXGetCurrentReadDrawableSGI glXGetCurrentReadDrawableSGI; 354 }; 355 356 GdkGL_GLX_SGI_make_current_read *gdk_gl_get_GLX_SGI_make_current_read (GdkGLConfig *glconfig); 357 358 /* 359 * GLX_SGIX_video_source 360 */ 361 362 #ifdef _VL_H 363 364 /* glXCreateGLXVideoSourceSGIX */ 365 typedef GLXVideoSourceSGIX ( * GdkGLProc_glXCreateGLXVideoSourceSGIX) (Display *display, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode); 366 GdkGLProc gdk_gl_get_glXCreateGLXVideoSourceSGIX (void); 367 #define gdk_gl_glXCreateGLXVideoSourceSGIX(proc, display, screen, server, path, nodeClass, drainNode) \ 368 ( ((GdkGLProc_glXCreateGLXVideoSourceSGIX) (proc)) (display, screen, server, path, nodeClass, drainNode) ) 369 370 /* glXDestroyGLXVideoSourceSGIX */ 371 typedef void ( * GdkGLProc_glXDestroyGLXVideoSourceSGIX) (Display *dpy, GLXVideoSourceSGIX glxvideosource); 372 GdkGLProc gdk_gl_get_glXDestroyGLXVideoSourceSGIX (void); 373 #define gdk_gl_glXDestroyGLXVideoSourceSGIX(proc, dpy, glxvideosource) \ 374 ( ((GdkGLProc_glXDestroyGLXVideoSourceSGIX) (proc)) (dpy, glxvideosource) ) 375 376 /* proc struct */ 377 378 typedef struct _GdkGL_GLX_SGIX_video_source GdkGL_GLX_SGIX_video_source; 379 380 struct _GdkGL_GLX_SGIX_video_source 381 { 382 GdkGLProc_glXCreateGLXVideoSourceSGIX glXCreateGLXVideoSourceSGIX; 383 GdkGLProc_glXDestroyGLXVideoSourceSGIX glXDestroyGLXVideoSourceSGIX; 384 }; 385 386 GdkGL_GLX_SGIX_video_source *gdk_gl_get_GLX_SGIX_video_source (GdkGLConfig *glconfig); 387 388 #endif /* _VL_H */ 389 390 /* 391 * GLX_EXT_import_context 392 */ 393 394 /* glXGetCurrentDisplayEXT */ 395 typedef Display * ( * GdkGLProc_glXGetCurrentDisplayEXT) (void); 396 GdkGLProc gdk_gl_get_glXGetCurrentDisplayEXT (void); 397 #define gdk_gl_glXGetCurrentDisplayEXT(proc) \ 398 ( ((GdkGLProc_glXGetCurrentDisplayEXT) (proc)) () ) 399 400 /* glXQueryContextInfoEXT */ 401 typedef int ( * GdkGLProc_glXQueryContextInfoEXT) (Display *dpy, GLXContext context, int attribute, int *value); 402 GdkGLProc gdk_gl_get_glXQueryContextInfoEXT (void); 403 #define gdk_gl_glXQueryContextInfoEXT(proc, dpy, context, attribute, value) \ 404 ( ((GdkGLProc_glXQueryContextInfoEXT) (proc)) (dpy, context, attribute, value) ) 405 406 /* glXGetContextIDEXT */ 407 typedef GLXContextID ( * GdkGLProc_glXGetContextIDEXT) (const GLXContext context); 408 GdkGLProc gdk_gl_get_glXGetContextIDEXT (void); 409 #define gdk_gl_glXGetContextIDEXT(proc, context) \ 410 ( ((GdkGLProc_glXGetContextIDEXT) (proc)) (context) ) 411 412 /* glXImportContextEXT */ 413 typedef GLXContext ( * GdkGLProc_glXImportContextEXT) (Display *dpy, GLXContextID contextID); 414 GdkGLProc gdk_gl_get_glXImportContextEXT (void); 415 #define gdk_gl_glXImportContextEXT(proc, dpy, contextID) \ 416 ( ((GdkGLProc_glXImportContextEXT) (proc)) (dpy, contextID) ) 417 418 /* glXFreeContextEXT */ 419 typedef void ( * GdkGLProc_glXFreeContextEXT) (Display *dpy, GLXContext context); 420 GdkGLProc gdk_gl_get_glXFreeContextEXT (void); 421 #define gdk_gl_glXFreeContextEXT(proc, dpy, context) \ 422 ( ((GdkGLProc_glXFreeContextEXT) (proc)) (dpy, context) ) 423 424 /* proc struct */ 425 426 typedef struct _GdkGL_GLX_EXT_import_context GdkGL_GLX_EXT_import_context; 427 428 struct _GdkGL_GLX_EXT_import_context 429 { 430 GdkGLProc_glXGetCurrentDisplayEXT glXGetCurrentDisplayEXT; 431 GdkGLProc_glXQueryContextInfoEXT glXQueryContextInfoEXT; 432 GdkGLProc_glXGetContextIDEXT glXGetContextIDEXT; 433 GdkGLProc_glXImportContextEXT glXImportContextEXT; 434 GdkGLProc_glXFreeContextEXT glXFreeContextEXT; 435 }; 436 437 GdkGL_GLX_EXT_import_context *gdk_gl_get_GLX_EXT_import_context (GdkGLConfig *glconfig); 438 439 /* 440 * GLX_SGIX_fbconfig 441 */ 442 443 /* glXGetFBConfigAttribSGIX */ 444 typedef int ( * GdkGLProc_glXGetFBConfigAttribSGIX) (Display *dpy, GLXFBConfigSGIX config, int attribute, int *value); 445 GdkGLProc gdk_gl_get_glXGetFBConfigAttribSGIX (void); 446 #define gdk_gl_glXGetFBConfigAttribSGIX(proc, dpy, config, attribute, value) \ 447 ( ((GdkGLProc_glXGetFBConfigAttribSGIX) (proc)) (dpy, config, attribute, value) ) 448 449 /* glXChooseFBConfigSGIX */ 450 typedef GLXFBConfigSGIX * ( * GdkGLProc_glXChooseFBConfigSGIX) (Display *dpy, int screen, int *attrib_list, int *nelements); 451 GdkGLProc gdk_gl_get_glXChooseFBConfigSGIX (void); 452 #define gdk_gl_glXChooseFBConfigSGIX(proc, dpy, screen, attrib_list, nelements) \ 453 ( ((GdkGLProc_glXChooseFBConfigSGIX) (proc)) (dpy, screen, attrib_list, nelements) ) 454 455 /* glXCreateGLXPixmapWithConfigSGIX */ 456 typedef GLXPixmap ( * GdkGLProc_glXCreateGLXPixmapWithConfigSGIX) (Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap); 457 GdkGLProc gdk_gl_get_glXCreateGLXPixmapWithConfigSGIX (void); 458 #define gdk_gl_glXCreateGLXPixmapWithConfigSGIX(proc, dpy, config, pixmap) \ 459 ( ((GdkGLProc_glXCreateGLXPixmapWithConfigSGIX) (proc)) (dpy, config, pixmap) ) 460 461 /* glXCreateContextWithConfigSGIX */ 462 typedef GLXContext ( * GdkGLProc_glXCreateContextWithConfigSGIX) (Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct); 463 GdkGLProc gdk_gl_get_glXCreateContextWithConfigSGIX (void); 464 #define gdk_gl_glXCreateContextWithConfigSGIX(proc, dpy, config, render_type, share_list, direct) \ 465 ( ((GdkGLProc_glXCreateContextWithConfigSGIX) (proc)) (dpy, config, render_type, share_list, direct) ) 466 467 /* glXGetVisualFromFBConfigSGIX */ 468 typedef XVisualInfo * ( * GdkGLProc_glXGetVisualFromFBConfigSGIX) (Display *dpy, GLXFBConfigSGIX config); 469 GdkGLProc gdk_gl_get_glXGetVisualFromFBConfigSGIX (void); 470 #define gdk_gl_glXGetVisualFromFBConfigSGIX(proc, dpy, config) \ 471 ( ((GdkGLProc_glXGetVisualFromFBConfigSGIX) (proc)) (dpy, config) ) 472 473 /* glXGetFBConfigFromVisualSGIX */ 474 typedef GLXFBConfigSGIX ( * GdkGLProc_glXGetFBConfigFromVisualSGIX) (Display *dpy, XVisualInfo *vis); 475 GdkGLProc gdk_gl_get_glXGetFBConfigFromVisualSGIX (void); 476 #define gdk_gl_glXGetFBConfigFromVisualSGIX(proc, dpy, vis) \ 477 ( ((GdkGLProc_glXGetFBConfigFromVisualSGIX) (proc)) (dpy, vis) ) 478 479 /* proc struct */ 480 481 typedef struct _GdkGL_GLX_SGIX_fbconfig GdkGL_GLX_SGIX_fbconfig; 482 483 struct _GdkGL_GLX_SGIX_fbconfig 484 { 485 GdkGLProc_glXGetFBConfigAttribSGIX glXGetFBConfigAttribSGIX; 486 GdkGLProc_glXChooseFBConfigSGIX glXChooseFBConfigSGIX; 487 GdkGLProc_glXCreateGLXPixmapWithConfigSGIX glXCreateGLXPixmapWithConfigSGIX; 488 GdkGLProc_glXCreateContextWithConfigSGIX glXCreateContextWithConfigSGIX; 489 GdkGLProc_glXGetVisualFromFBConfigSGIX glXGetVisualFromFBConfigSGIX; 490 GdkGLProc_glXGetFBConfigFromVisualSGIX glXGetFBConfigFromVisualSGIX; 491 }; 492 493 GdkGL_GLX_SGIX_fbconfig *gdk_gl_get_GLX_SGIX_fbconfig (GdkGLConfig *glconfig); 494 495 /* 496 * GLX_SGIX_pbuffer 497 */ 498 499 /* glXCreateGLXPbufferSGIX */ 500 typedef GLXPbufferSGIX ( * GdkGLProc_glXCreateGLXPbufferSGIX) (Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list); 501 GdkGLProc gdk_gl_get_glXCreateGLXPbufferSGIX (void); 502 #define gdk_gl_glXCreateGLXPbufferSGIX(proc, dpy, config, width, height, attrib_list) \ 503 ( ((GdkGLProc_glXCreateGLXPbufferSGIX) (proc)) (dpy, config, width, height, attrib_list) ) 504 505 /* glXDestroyGLXPbufferSGIX */ 506 typedef void ( * GdkGLProc_glXDestroyGLXPbufferSGIX) (Display *dpy, GLXPbufferSGIX pbuf); 507 GdkGLProc gdk_gl_get_glXDestroyGLXPbufferSGIX (void); 508 #define gdk_gl_glXDestroyGLXPbufferSGIX(proc, dpy, pbuf) \ 509 ( ((GdkGLProc_glXDestroyGLXPbufferSGIX) (proc)) (dpy, pbuf) ) 510 511 /* glXQueryGLXPbufferSGIX */ 512 typedef int ( * GdkGLProc_glXQueryGLXPbufferSGIX) (Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value); 513 GdkGLProc gdk_gl_get_glXQueryGLXPbufferSGIX (void); 514 #define gdk_gl_glXQueryGLXPbufferSGIX(proc, dpy, pbuf, attribute, value) \ 515 ( ((GdkGLProc_glXQueryGLXPbufferSGIX) (proc)) (dpy, pbuf, attribute, value) ) 516 517 /* glXSelectEventSGIX */ 518 typedef void ( * GdkGLProc_glXSelectEventSGIX) (Display *dpy, GLXDrawable drawable, unsigned long mask); 519 GdkGLProc gdk_gl_get_glXSelectEventSGIX (void); 520 #define gdk_gl_glXSelectEventSGIX(proc, dpy, drawable, mask) \ 521 ( ((GdkGLProc_glXSelectEventSGIX) (proc)) (dpy, drawable, mask) ) 522 523 /* glXGetSelectedEventSGIX */ 524 typedef void ( * GdkGLProc_glXGetSelectedEventSGIX) (Display *dpy, GLXDrawable drawable, unsigned long *mask); 525 GdkGLProc gdk_gl_get_glXGetSelectedEventSGIX (void); 526 #define gdk_gl_glXGetSelectedEventSGIX(proc, dpy, drawable, mask) \ 527 ( ((GdkGLProc_glXGetSelectedEventSGIX) (proc)) (dpy, drawable, mask) ) 528 529 /* proc struct */ 530 531 typedef struct _GdkGL_GLX_SGIX_pbuffer GdkGL_GLX_SGIX_pbuffer; 532 533 struct _GdkGL_GLX_SGIX_pbuffer 534 { 535 GdkGLProc_glXCreateGLXPbufferSGIX glXCreateGLXPbufferSGIX; 536 GdkGLProc_glXDestroyGLXPbufferSGIX glXDestroyGLXPbufferSGIX; 537 GdkGLProc_glXQueryGLXPbufferSGIX glXQueryGLXPbufferSGIX; 538 GdkGLProc_glXSelectEventSGIX glXSelectEventSGIX; 539 GdkGLProc_glXGetSelectedEventSGIX glXGetSelectedEventSGIX; 540 }; 541 542 GdkGL_GLX_SGIX_pbuffer *gdk_gl_get_GLX_SGIX_pbuffer (GdkGLConfig *glconfig); 543 544 /* 545 * GLX_SGI_cushion 546 */ 547 548 /* glXCushionSGI */ 549 typedef void ( * GdkGLProc_glXCushionSGI) (Display *dpy, Window window, float cushion); 550 GdkGLProc gdk_gl_get_glXCushionSGI (void); 551 #define gdk_gl_glXCushionSGI(proc, dpy, window, cushion) \ 552 ( ((GdkGLProc_glXCushionSGI) (proc)) (dpy, window, cushion) ) 553 554 /* proc struct */ 555 556 typedef struct _GdkGL_GLX_SGI_cushion GdkGL_GLX_SGI_cushion; 557 558 struct _GdkGL_GLX_SGI_cushion 559 { 560 GdkGLProc_glXCushionSGI glXCushionSGI; 561 }; 562 563 GdkGL_GLX_SGI_cushion *gdk_gl_get_GLX_SGI_cushion (GdkGLConfig *glconfig); 564 565 /* 566 * GLX_SGIX_video_resize 567 */ 568 569 /* glXBindChannelToWindowSGIX */ 570 typedef int ( * GdkGLProc_glXBindChannelToWindowSGIX) (Display *display, int screen, int channel, Window window); 571 GdkGLProc gdk_gl_get_glXBindChannelToWindowSGIX (void); 572 #define gdk_gl_glXBindChannelToWindowSGIX(proc, display, screen, channel, window) \ 573 ( ((GdkGLProc_glXBindChannelToWindowSGIX) (proc)) (display, screen, channel, window) ) 574 575 /* glXChannelRectSGIX */ 576 typedef int ( * GdkGLProc_glXChannelRectSGIX) (Display *display, int screen, int channel, int x, int y, int w, int h); 577 GdkGLProc gdk_gl_get_glXChannelRectSGIX (void); 578 #define gdk_gl_glXChannelRectSGIX(proc, display, screen, channel, x, y, w, h) \ 579 ( ((GdkGLProc_glXChannelRectSGIX) (proc)) (display, screen, channel, x, y, w, h) ) 580 581 /* glXQueryChannelRectSGIX */ 582 typedef int ( * GdkGLProc_glXQueryChannelRectSGIX) (Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh); 583 GdkGLProc gdk_gl_get_glXQueryChannelRectSGIX (void); 584 #define gdk_gl_glXQueryChannelRectSGIX(proc, display, screen, channel, dx, dy, dw, dh) \ 585 ( ((GdkGLProc_glXQueryChannelRectSGIX) (proc)) (display, screen, channel, dx, dy, dw, dh) ) 586 587 /* glXQueryChannelDeltasSGIX */ 588 typedef int ( * GdkGLProc_glXQueryChannelDeltasSGIX) (Display *display, int screen, int channel, int *x, int *y, int *w, int *h); 589 GdkGLProc gdk_gl_get_glXQueryChannelDeltasSGIX (void); 590 #define gdk_gl_glXQueryChannelDeltasSGIX(proc, display, screen, channel, x, y, w, h) \ 591 ( ((GdkGLProc_glXQueryChannelDeltasSGIX) (proc)) (display, screen, channel, x, y, w, h) ) 592 593 /* glXChannelRectSyncSGIX */ 594 typedef int ( * GdkGLProc_glXChannelRectSyncSGIX) (Display *display, int screen, int channel, GLenum synctype); 595 GdkGLProc gdk_gl_get_glXChannelRectSyncSGIX (void); 596 #define gdk_gl_glXChannelRectSyncSGIX(proc, display, screen, channel, synctype) \ 597 ( ((GdkGLProc_glXChannelRectSyncSGIX) (proc)) (display, screen, channel, synctype) ) 598 599 /* proc struct */ 600 601 typedef struct _GdkGL_GLX_SGIX_video_resize GdkGL_GLX_SGIX_video_resize; 602 603 struct _GdkGL_GLX_SGIX_video_resize 604 { 605 GdkGLProc_glXBindChannelToWindowSGIX glXBindChannelToWindowSGIX; 606 GdkGLProc_glXChannelRectSGIX glXChannelRectSGIX; 607 GdkGLProc_glXQueryChannelRectSGIX glXQueryChannelRectSGIX; 608 GdkGLProc_glXQueryChannelDeltasSGIX glXQueryChannelDeltasSGIX; 609 GdkGLProc_glXChannelRectSyncSGIX glXChannelRectSyncSGIX; 610 }; 611 612 GdkGL_GLX_SGIX_video_resize *gdk_gl_get_GLX_SGIX_video_resize (GdkGLConfig *glconfig); 613 614 /* 615 * GLX_SGIX_dmbuffer 616 */ 617 618 #ifdef _DM_BUFFER_H_ 619 620 /* glXAssociateDMPbufferSGIX */ 621 typedef Bool ( * GdkGLProc_glXAssociateDMPbufferSGIX) (Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer); 622 GdkGLProc gdk_gl_get_glXAssociateDMPbufferSGIX (void); 623 #define gdk_gl_glXAssociateDMPbufferSGIX(proc, dpy, pbuffer, params, dmbuffer) \ 624 ( ((GdkGLProc_glXAssociateDMPbufferSGIX) (proc)) (dpy, pbuffer, params, dmbuffer) ) 625 626 /* proc struct */ 627 628 typedef struct _GdkGL_GLX_SGIX_dmbuffer GdkGL_GLX_SGIX_dmbuffer; 629 630 struct _GdkGL_GLX_SGIX_dmbuffer 631 { 632 GdkGLProc_glXAssociateDMPbufferSGIX glXAssociateDMPbufferSGIX; 633 }; 634 635 GdkGL_GLX_SGIX_dmbuffer *gdk_gl_get_GLX_SGIX_dmbuffer (GdkGLConfig *glconfig); 636 637 #endif /* _DM_BUFFER_H_ */ 638 639 /* 640 * GLX_SGIX_swap_group 641 */ 642 643 /* glXJoinSwapGroupSGIX */ 644 typedef void ( * GdkGLProc_glXJoinSwapGroupSGIX) (Display *dpy, GLXDrawable drawable, GLXDrawable member); 645 GdkGLProc gdk_gl_get_glXJoinSwapGroupSGIX (void); 646 #define gdk_gl_glXJoinSwapGroupSGIX(proc, dpy, drawable, member) \ 647 ( ((GdkGLProc_glXJoinSwapGroupSGIX) (proc)) (dpy, drawable, member) ) 648 649 /* proc struct */ 650 651 typedef struct _GdkGL_GLX_SGIX_swap_group GdkGL_GLX_SGIX_swap_group; 652 653 struct _GdkGL_GLX_SGIX_swap_group 654 { 655 GdkGLProc_glXJoinSwapGroupSGIX glXJoinSwapGroupSGIX; 656 }; 657 658 GdkGL_GLX_SGIX_swap_group *gdk_gl_get_GLX_SGIX_swap_group (GdkGLConfig *glconfig); 659 660 /* 661 * GLX_SGIX_swap_barrier 662 */ 663 664 /* glXBindSwapBarrierSGIX */ 665 typedef void ( * GdkGLProc_glXBindSwapBarrierSGIX) (Display *dpy, GLXDrawable drawable, int barrier); 666 GdkGLProc gdk_gl_get_glXBindSwapBarrierSGIX (void); 667 #define gdk_gl_glXBindSwapBarrierSGIX(proc, dpy, drawable, barrier) \ 668 ( ((GdkGLProc_glXBindSwapBarrierSGIX) (proc)) (dpy, drawable, barrier) ) 669 670 /* glXQueryMaxSwapBarriersSGIX */ 671 typedef Bool ( * GdkGLProc_glXQueryMaxSwapBarriersSGIX) (Display *dpy, int screen, int *max); 672 GdkGLProc gdk_gl_get_glXQueryMaxSwapBarriersSGIX (void); 673 #define gdk_gl_glXQueryMaxSwapBarriersSGIX(proc, dpy, screen, max) \ 674 ( ((GdkGLProc_glXQueryMaxSwapBarriersSGIX) (proc)) (dpy, screen, max) ) 675 676 /* proc struct */ 677 678 typedef struct _GdkGL_GLX_SGIX_swap_barrier GdkGL_GLX_SGIX_swap_barrier; 679 680 struct _GdkGL_GLX_SGIX_swap_barrier 681 { 682 GdkGLProc_glXBindSwapBarrierSGIX glXBindSwapBarrierSGIX; 683 GdkGLProc_glXQueryMaxSwapBarriersSGIX glXQueryMaxSwapBarriersSGIX; 684 }; 685 686 GdkGL_GLX_SGIX_swap_barrier *gdk_gl_get_GLX_SGIX_swap_barrier (GdkGLConfig *glconfig); 687 688 /* 689 * GLX_SUN_get_transparent_index 690 */ 691 692 /* glXGetTransparentIndexSUN */ 693 typedef Status ( * GdkGLProc_glXGetTransparentIndexSUN) (Display *dpy, Window overlay, Window underlay, long *pTransparentIndex); 694 GdkGLProc gdk_gl_get_glXGetTransparentIndexSUN (void); 695 #define gdk_gl_glXGetTransparentIndexSUN(proc, dpy, overlay, underlay, pTransparentIndex) \ 696 ( ((GdkGLProc_glXGetTransparentIndexSUN) (proc)) (dpy, overlay, underlay, pTransparentIndex) ) 697 698 /* proc struct */ 699 700 typedef struct _GdkGL_GLX_SUN_get_transparent_index GdkGL_GLX_SUN_get_transparent_index; 701 702 struct _GdkGL_GLX_SUN_get_transparent_index 703 { 704 GdkGLProc_glXGetTransparentIndexSUN glXGetTransparentIndexSUN; 705 }; 706 707 GdkGL_GLX_SUN_get_transparent_index *gdk_gl_get_GLX_SUN_get_transparent_index (GdkGLConfig *glconfig); 708 709 /* 710 * GLX_MESA_copy_sub_buffer 711 */ 712 713 /* glXCopySubBufferMESA */ 714 typedef void ( * GdkGLProc_glXCopySubBufferMESA) (Display *dpy, GLXDrawable drawable, int x, int y, int width, int height); 715 GdkGLProc gdk_gl_get_glXCopySubBufferMESA (void); 716 #define gdk_gl_glXCopySubBufferMESA(proc, dpy, drawable, x, y, width, height) \ 717 ( ((GdkGLProc_glXCopySubBufferMESA) (proc)) (dpy, drawable, x, y, width, height) ) 718 719 /* proc struct */ 720 721 typedef struct _GdkGL_GLX_MESA_copy_sub_buffer GdkGL_GLX_MESA_copy_sub_buffer; 722 723 struct _GdkGL_GLX_MESA_copy_sub_buffer 724 { 725 GdkGLProc_glXCopySubBufferMESA glXCopySubBufferMESA; 726 }; 727 728 GdkGL_GLX_MESA_copy_sub_buffer *gdk_gl_get_GLX_MESA_copy_sub_buffer (GdkGLConfig *glconfig); 729 730 /* 731 * GLX_MESA_pixmap_colormap 732 */ 733 734 /* glXCreateGLXPixmapMESA */ 735 typedef GLXPixmap ( * GdkGLProc_glXCreateGLXPixmapMESA) (Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap); 736 GdkGLProc gdk_gl_get_glXCreateGLXPixmapMESA (void); 737 #define gdk_gl_glXCreateGLXPixmapMESA(proc, dpy, visual, pixmap, cmap) \ 738 ( ((GdkGLProc_glXCreateGLXPixmapMESA) (proc)) (dpy, visual, pixmap, cmap) ) 739 740 /* proc struct */ 741 742 typedef struct _GdkGL_GLX_MESA_pixmap_colormap GdkGL_GLX_MESA_pixmap_colormap; 743 744 struct _GdkGL_GLX_MESA_pixmap_colormap 745 { 746 GdkGLProc_glXCreateGLXPixmapMESA glXCreateGLXPixmapMESA; 747 }; 748 749 GdkGL_GLX_MESA_pixmap_colormap *gdk_gl_get_GLX_MESA_pixmap_colormap (GdkGLConfig *glconfig); 750 751 /* 752 * GLX_MESA_release_buffers 753 */ 754 755 /* glXReleaseBuffersMESA */ 756 typedef Bool ( * GdkGLProc_glXReleaseBuffersMESA) (Display *dpy, GLXDrawable drawable); 757 GdkGLProc gdk_gl_get_glXReleaseBuffersMESA (void); 758 #define gdk_gl_glXReleaseBuffersMESA(proc, dpy, drawable) \ 759 ( ((GdkGLProc_glXReleaseBuffersMESA) (proc)) (dpy, drawable) ) 760 761 /* proc struct */ 762 763 typedef struct _GdkGL_GLX_MESA_release_buffers GdkGL_GLX_MESA_release_buffers; 764 765 struct _GdkGL_GLX_MESA_release_buffers 766 { 767 GdkGLProc_glXReleaseBuffersMESA glXReleaseBuffersMESA; 768 }; 769 770 GdkGL_GLX_MESA_release_buffers *gdk_gl_get_GLX_MESA_release_buffers (GdkGLConfig *glconfig); 771 772 /* 773 * GLX_MESA_set_3dfx_mode 774 */ 775 776 /* glXSet3DfxModeMESA */ 777 typedef Bool ( * GdkGLProc_glXSet3DfxModeMESA) (int mode); 778 GdkGLProc gdk_gl_get_glXSet3DfxModeMESA (void); 779 #define gdk_gl_glXSet3DfxModeMESA(proc, mode) \ 780 ( ((GdkGLProc_glXSet3DfxModeMESA) (proc)) (mode) ) 781 782 /* proc struct */ 783 784 typedef struct _GdkGL_GLX_MESA_set_3dfx_mode GdkGL_GLX_MESA_set_3dfx_mode; 785 786 struct _GdkGL_GLX_MESA_set_3dfx_mode 787 { 788 GdkGLProc_glXSet3DfxModeMESA glXSet3DfxModeMESA; 789 }; 790 791 GdkGL_GLX_MESA_set_3dfx_mode *gdk_gl_get_GLX_MESA_set_3dfx_mode (GdkGLConfig *glconfig); 792 793 /* 794 * GLX_OML_sync_control 795 */ 796 797 /* glXGetSyncValuesOML */ 798 typedef Bool ( * GdkGLProc_glXGetSyncValuesOML) (Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc); 799 GdkGLProc gdk_gl_get_glXGetSyncValuesOML (void); 800 #define gdk_gl_glXGetSyncValuesOML(proc, dpy, drawable, ust, msc, sbc) \ 801 ( ((GdkGLProc_glXGetSyncValuesOML) (proc)) (dpy, drawable, ust, msc, sbc) ) 802 803 /* glXGetMscRateOML */ 804 typedef Bool ( * GdkGLProc_glXGetMscRateOML) (Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator); 805 GdkGLProc gdk_gl_get_glXGetMscRateOML (void); 806 #define gdk_gl_glXGetMscRateOML(proc, dpy, drawable, numerator, denominator) \ 807 ( ((GdkGLProc_glXGetMscRateOML) (proc)) (dpy, drawable, numerator, denominator) ) 808 809 /* glXSwapBuffersMscOML */ 810 typedef int64_t ( * GdkGLProc_glXSwapBuffersMscOML) (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder); 811 GdkGLProc gdk_gl_get_glXSwapBuffersMscOML (void); 812 #define gdk_gl_glXSwapBuffersMscOML(proc, dpy, drawable, target_msc, divisor, remainder) \ 813 ( ((GdkGLProc_glXSwapBuffersMscOML) (proc)) (dpy, drawable, target_msc, divisor, remainder) ) 814 815 /* glXWaitForMscOML */ 816 typedef Bool ( * GdkGLProc_glXWaitForMscOML) (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc); 817 GdkGLProc gdk_gl_get_glXWaitForMscOML (void); 818 #define gdk_gl_glXWaitForMscOML(proc, dpy, drawable, target_msc, divisor, remainder, ust, msc, sbc) \ 819 ( ((GdkGLProc_glXWaitForMscOML) (proc)) (dpy, drawable, target_msc, divisor, remainder, ust, msc, sbc) ) 820 821 /* glXWaitForSbcOML */ 822 typedef Bool ( * GdkGLProc_glXWaitForSbcOML) (Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc); 823 GdkGLProc gdk_gl_get_glXWaitForSbcOML (void); 824 #define gdk_gl_glXWaitForSbcOML(proc, dpy, drawable, target_sbc, ust, msc, sbc) \ 825 ( ((GdkGLProc_glXWaitForSbcOML) (proc)) (dpy, drawable, target_sbc, ust, msc, sbc) ) 826 827 /* proc struct */ 828 829 typedef struct _GdkGL_GLX_OML_sync_control GdkGL_GLX_OML_sync_control; 830 831 struct _GdkGL_GLX_OML_sync_control 832 { 833 GdkGLProc_glXGetSyncValuesOML glXGetSyncValuesOML; 834 GdkGLProc_glXGetMscRateOML glXGetMscRateOML; 835 GdkGLProc_glXSwapBuffersMscOML glXSwapBuffersMscOML; 836 GdkGLProc_glXWaitForMscOML glXWaitForMscOML; 837 GdkGLProc_glXWaitForSbcOML glXWaitForSbcOML; 838 }; 839 840 GdkGL_GLX_OML_sync_control *gdk_gl_get_GLX_OML_sync_control (GdkGLConfig *glconfig); 841 842 /* 843 * GLX_MESA_agp_offset 844 */ 845 846 /* glXGetAGPOffsetMESA */ 847 typedef GLuint ( * GdkGLProc_glXGetAGPOffsetMESA) (const GLvoid *pointer); 848 GdkGLProc gdk_gl_get_glXGetAGPOffsetMESA (void); 849 #define gdk_gl_glXGetAGPOffsetMESA(proc, pointer) \ 850 ( ((GdkGLProc_glXGetAGPOffsetMESA) (proc)) (pointer) ) 851 852 /* proc struct */ 853 854 typedef struct _GdkGL_GLX_MESA_agp_offset GdkGL_GLX_MESA_agp_offset; 855 856 struct _GdkGL_GLX_MESA_agp_offset 857 { 858 GdkGLProc_glXGetAGPOffsetMESA glXGetAGPOffsetMESA; 859 }; 860 861 GdkGL_GLX_MESA_agp_offset *gdk_gl_get_GLX_MESA_agp_offset (GdkGLConfig *glconfig); 862 863 /* 864 * GLX_NV_vertex_array_range 865 */ 866 867 /* glXAllocateMemoryNV */ 868 typedef void * ( * GdkGLProc_glXAllocateMemoryNV) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority); 869 GdkGLProc gdk_gl_get_glXAllocateMemoryNV (void); 870 #define gdk_gl_glXAllocateMemoryNV(proc, size, readfreq, writefreq, priority) \ 871 ( ((GdkGLProc_glXAllocateMemoryNV) (proc)) (size, readfreq, writefreq, priority) ) 872 873 /* glXFreeMemoryNV */ 874 typedef void ( * GdkGLProc_glXFreeMemoryNV) (void *pointer); 875 GdkGLProc gdk_gl_get_glXFreeMemoryNV (void); 876 #define gdk_gl_glXFreeMemoryNV(proc, pointer) \ 877 ( ((GdkGLProc_glXFreeMemoryNV) (proc)) (pointer) ) 878 879 /* proc struct */ 880 881 typedef struct _GdkGL_GLX_NV_vertex_array_range GdkGL_GLX_NV_vertex_array_range; 882 883 struct _GdkGL_GLX_NV_vertex_array_range 884 { 885 GdkGLProc_glXAllocateMemoryNV glXAllocateMemoryNV; 886 GdkGLProc_glXFreeMemoryNV glXFreeMemoryNV; 887 }; 888 889 GdkGL_GLX_NV_vertex_array_range *gdk_gl_get_GLX_NV_vertex_array_range (GdkGLConfig *glconfig); 890 891 G_END_DECLS 892 893 #endif /* __GDK_GL_GLXEXT_H__ */ 894