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