1
// This file may be redistributed and modified only under the terms of
2
// the GNU Lesser General Public License (See COPYING for details).
3
// Copyright (C) 2003-2005 Simon Goodall
8
#define GLX_VERSION_1_3 0
9
#define GLX_VERSION_1_4 1
10
#define GLX_ARB_GET_PROC_ADDRESS 2
11
#define GLX_ARB_MULTISAMPLE 3
12
#define GLX_SGIS_MULTISAMPLE 4
13
#define GLX_EXT_VISUAL_INFO 5
14
#define GLX_SGI_SWAP_CONTROL 6
15
#define GLX_SGI_VIDEO_SYNC 7
16
#define GLX_SGI_MAKE_CURRENT_READ 8
17
#define GLX_SGIX_VIDEO_SOURCE 9
18
#define GLX_EXT_VISUAL_RATING 10
19
#define GLX_EXT_IMPORT_CONTEXT 11
20
#define GLX_SGIX_FBCONFIG 12
21
#define GLX_SGIX_PBUFFER 13
22
#define GLX_SGI_CUSHION 14
23
#define GLX_SGIX_VIDEO_RESIZE 15
24
#define GLX_SGIX_DMBUFFER 16
25
#define GLX_SGIX_SWAP_GROUP 17
26
#define GLX_SGIX_SWAP_BARRIER 18
27
#define GLX_SUN_GET_TRANSPARENT_INDEX 19
28
#define GLX_MESA_COPY_SUB_BUFFER 20
29
#define GLX_MESA_PIXMAP_COLORMAP 21
30
#define GLX_MESA_RELEASE_BUFFERS 22
31
#define GLX_MESA_SET_3DFX_MODE 23
32
#define GLX_SGIX_VISUAL_SELECT_GROUP 24
33
#define GLX_OML_SWAP_METHOD 25
34
#define GLX_OML_SYNC_CONTROL 26
35
#define SAGE_GLX_LAST_EXTENSION 27
37
#include "sage/header.h"
39
#error sage_glx.h needs to be included before glx.h
44
#include <X11/Xutil.h>
50
#include <sage/glxext_sage.h>
52
SAGEAPI int sage_glx_ext[SAGE_GLX_LAST_EXTENSION];
54
#define GLX_VERSION_1_3 1
55
#ifdef SAGE_GLX_VERSION_1_3
56
SAGEAPI PFNGLXGETFBCONFIGATTRIBPROC SAGE_glXGetFBConfigAttrib;
57
#ifndef glXGetFBConfigAttrib
58
#define glXGetFBConfigAttrib SAGE_glXGetFBConfigAttrib
60
SAGEAPI PFNGLXCREATEWINDOWPROC SAGE_glXCreateWindow;
61
#ifndef glXCreateWindow
62
#define glXCreateWindow SAGE_glXCreateWindow
64
SAGEAPI PFNGLXDESTROYWINDOWPROC SAGE_glXDestroyWindow;
65
#ifndef glXDestroyWindow
66
#define glXDestroyWindow SAGE_glXDestroyWindow
68
SAGEAPI PFNGLXCREATEPIXMAPPROC SAGE_glXCreatePixmap;
69
#ifndef glXCreatePixmap
70
#define glXCreatePixmap SAGE_glXCreatePixmap
72
SAGEAPI PFNGLXDESTROYPIXMAPPROC SAGE_glXDestroyPixmap;
73
#ifndef glXDestroyPixmap
74
#define glXDestroyPixmap SAGE_glXDestroyPixmap
76
SAGEAPI PFNGLXCREATEPBUFFERPROC SAGE_glXCreatePbuffer;
77
#ifndef glXCreatePbuffer
78
#define glXCreatePbuffer SAGE_glXCreatePbuffer
80
SAGEAPI PFNGLXDESTROYPBUFFERPROC SAGE_glXDestroyPbuffer;
81
#ifndef glXDestroyPbuffer
82
#define glXDestroyPbuffer SAGE_glXDestroyPbuffer
84
SAGEAPI PFNGLXQUERYDRAWABLEPROC SAGE_glXQueryDrawable;
85
#ifndef glXQueryDrawable
86
#define glXQueryDrawable SAGE_glXQueryDrawable
88
SAGEAPI PFNGLXCREATENEWCONTEXTPROC SAGE_glXCreateNewContext;
89
#ifndef glXCreateNewContext
90
#define glXCreateNewContext SAGE_glXCreateNewContext
92
SAGEAPI PFNGLXMAKECONTEXTCURRENTPROC SAGE_glXMakeContextCurrent;
93
#ifndef glXMakeContextCurrent
94
#define glXMakeContextCurrent SAGE_glXMakeContextCurrent
96
SAGEAPI PFNGLXGETCURRENTREADDRAWABLEPROC SAGE_glXGetCurrentReadDrawable;
97
#ifndef glXGetCurrentReadDrawable
98
#define glXGetCurrentReadDrawable SAGE_glXGetCurrentReadDrawable
100
SAGEAPI PFNGLXQUERYCONTEXTPROC SAGE_glXQueryContext;
101
#ifndef glXQueryContext
102
#define glXQueryContext SAGE_glXQueryContext
104
SAGEAPI PFNGLXSELECTEVENTPROC SAGE_glXSelectEvent;
105
#ifndef glXSelectEvent
106
#define glXSelectEvent SAGE_glXSelectEvent
108
SAGEAPI PFNGLXGETSELECTEDEVENTPROC SAGE_glXGetSelectedEvent;
109
#ifndef glXGetSelectedEvent
110
#define glXGetSelectedEvent SAGE_glXGetSelectedEvent
113
#define GLX_VERSION_1_4 1
114
#ifdef SAGE_GLX_VERSION_1_4
116
#define GLX_ARB_get_proc_address 1
117
#ifdef SAGE_GLX_ARB_get_proc_address
119
#define GLX_ARB_multisample 1
120
#ifdef SAGE_GLX_ARB_multisample
122
#define GLX_SGIS_multisample 1
123
#ifdef SAGE_GLX_SGIS_multisample
125
#define GLX_EXT_visual_info 1
126
#ifdef SAGE_GLX_EXT_visual_info
128
#define GLX_SGI_swap_control 1
129
#ifdef SAGE_GLX_SGI_swap_control
130
SAGEAPI PFNGLXSWAPINTERVALSGIPROC SAGE_glXSwapIntervalSGI;
131
#ifndef glXSwapIntervalSGI
132
#define glXSwapIntervalSGI SAGE_glXSwapIntervalSGI
135
#define GLX_SGI_video_sync 1
136
#ifdef SAGE_GLX_SGI_video_sync
137
SAGEAPI PFNGLXGETVIDEOSYNCSGIPROC SAGE_glXGetVideoSyncSGI;
138
#ifndef glXGetVideoSyncSGI
139
#define glXGetVideoSyncSGI SAGE_glXGetVideoSyncSGI
141
SAGEAPI PFNGLXWAITVIDEOSYNCSGIPROC SAGE_glXWaitVideoSyncSGI;
142
#ifndef glXWaitVideoSyncSGI
143
#define glXWaitVideoSyncSGI SAGE_glXWaitVideoSyncSGI
146
#define GLX_SGI_make_current_read 1
147
#ifdef SAGE_GLX_SGI_make_current_read
148
SAGEAPI PFNGLXMAKECURRENTREADSGIPROC SAGE_glXMakeCurrentReadSGI;
149
#ifndef glXMakeCurrentReadSGI
150
#define glXMakeCurrentReadSGI SAGE_glXMakeCurrentReadSGI
152
SAGEAPI PFNGLXGETCURRENTREADDRAWABLESGIPROC SAGE_glXGetCurrentReadDrawableSGI;
153
#ifndef glXGetCurrentReadDrawableSGI
154
#define glXGetCurrentReadDrawableSGI SAGE_glXGetCurrentReadDrawableSGI
157
#define GLX_SGIX_video_source 1
158
#ifdef SAGE_GLX_SGIX_video_source
159
SAGEAPI PFNGLXCREATEGLXVIDEOSOURCESGIXPROC SAGE_glXCreateGLXVideoSourceSGIX;
160
#ifndef glXCreateGLXVideoSourceSGIX
161
#define glXCreateGLXVideoSourceSGIX SAGE_glXCreateGLXVideoSourceSGIX
163
SAGEAPI PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC SAGE_glXDestroyGLXVideoSourceSGIX;
164
#ifndef glXDestroyGLXVideoSourceSGIX
165
#define glXDestroyGLXVideoSourceSGIX SAGE_glXDestroyGLXVideoSourceSGIX
168
#define GLX_EXT_visual_rating 1
169
#ifdef SAGE_GLX_EXT_visual_rating
171
#define GLX_EXT_import_context 1
172
#ifdef SAGE_GLX_EXT_import_context
173
SAGEAPI PFNGLXQUERYCONTEXTINFOEXTPROC SAGE_glXQueryContextInfoEXT;
174
#ifndef glXQueryContextInfoEXT
175
#define glXQueryContextInfoEXT SAGE_glXQueryContextInfoEXT
177
SAGEAPI PFNGLXGETCONTEXTIDEXTPROC SAGE_glXGetContextIDEXT;
178
#ifndef glXGetContextIDEXT
179
#define glXGetContextIDEXT SAGE_glXGetContextIDEXT
181
SAGEAPI PFNGLXIMPORTCONTEXTEXTPROC SAGE_glXImportContextEXT;
182
#ifndef glXImportContextEXT
183
#define glXImportContextEXT SAGE_glXImportContextEXT
185
SAGEAPI PFNGLXFREECONTEXTEXTPROC SAGE_glXFreeContextEXT;
186
#ifndef glXFreeContextEXT
187
#define glXFreeContextEXT SAGE_glXFreeContextEXT
190
#define GLX_SGIX_fbconfig 1
191
#ifdef SAGE_GLX_SGIX_fbconfig
192
SAGEAPI PFNGLXGETFBCONFIGATTRIBSGIXPROC SAGE_glXGetFBConfigAttribSGIX;
193
#ifndef glXGetFBConfigAttribSGIX
194
#define glXGetFBConfigAttribSGIX SAGE_glXGetFBConfigAttribSGIX
196
SAGEAPI PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC SAGE_glXCreateGLXPixmapWithConfigSGIX;
197
#ifndef glXCreateGLXPixmapWithConfigSGIX
198
#define glXCreateGLXPixmapWithConfigSGIX SAGE_glXCreateGLXPixmapWithConfigSGIX
200
SAGEAPI PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC SAGE_glXCreateContextWithConfigSGIX;
201
#ifndef glXCreateContextWithConfigSGIX
202
#define glXCreateContextWithConfigSGIX SAGE_glXCreateContextWithConfigSGIX
204
SAGEAPI PFNGLXGETFBCONFIGFROMVISUALSGIXPROC SAGE_glXGetFBConfigFromVisualSGIX;
205
#ifndef glXGetFBConfigFromVisualSGIX
206
#define glXGetFBConfigFromVisualSGIX SAGE_glXGetFBConfigFromVisualSGIX
209
#define GLX_SGIX_pbuffer 1
210
#ifdef SAGE_GLX_SGIX_pbuffer
211
SAGEAPI PFNGLXCREATEGLXPBUFFERSGIXPROC SAGE_glXCreateGLXPbufferSGIX;
212
#ifndef glXCreateGLXPbufferSGIX
213
#define glXCreateGLXPbufferSGIX SAGE_glXCreateGLXPbufferSGIX
215
SAGEAPI PFNGLXDESTROYGLXPBUFFERSGIXPROC SAGE_glXDestroyGLXPbufferSGIX;
216
#ifndef glXDestroyGLXPbufferSGIX
217
#define glXDestroyGLXPbufferSGIX SAGE_glXDestroyGLXPbufferSGIX
219
SAGEAPI PFNGLXQUERYGLXPBUFFERSGIXPROC SAGE_glXQueryGLXPbufferSGIX;
220
#ifndef glXQueryGLXPbufferSGIX
221
#define glXQueryGLXPbufferSGIX SAGE_glXQueryGLXPbufferSGIX
223
SAGEAPI PFNGLXSELECTEVENTSGIXPROC SAGE_glXSelectEventSGIX;
224
#ifndef glXSelectEventSGIX
225
#define glXSelectEventSGIX SAGE_glXSelectEventSGIX
227
SAGEAPI PFNGLXGETSELECTEDEVENTSGIXPROC SAGE_glXGetSelectedEventSGIX;
228
#ifndef glXGetSelectedEventSGIX
229
#define glXGetSelectedEventSGIX SAGE_glXGetSelectedEventSGIX
232
#define GLX_SGI_cushion 1
233
#ifdef SAGE_GLX_SGI_cushion
234
SAGEAPI PFNGLXCUSHIONSGIPROC SAGE_glXCushionSGI;
235
#ifndef glXCushionSGI
236
#define glXCushionSGI SAGE_glXCushionSGI
239
#define GLX_SGIX_video_resize 1
240
#ifdef SAGE_GLX_SGIX_video_resize
241
SAGEAPI PFNGLXBINDCHANNELTOWINDOWSGIXPROC SAGE_glXBindChannelToWindowSGIX;
242
#ifndef glXBindChannelToWindowSGIX
243
#define glXBindChannelToWindowSGIX SAGE_glXBindChannelToWindowSGIX
245
SAGEAPI PFNGLXCHANNELRECTSGIXPROC SAGE_glXChannelRectSGIX;
246
#ifndef glXChannelRectSGIX
247
#define glXChannelRectSGIX SAGE_glXChannelRectSGIX
249
SAGEAPI PFNGLXQUERYCHANNELRECTSGIXPROC SAGE_glXQueryChannelRectSGIX;
250
#ifndef glXQueryChannelRectSGIX
251
#define glXQueryChannelRectSGIX SAGE_glXQueryChannelRectSGIX
253
SAGEAPI PFNGLXQUERYCHANNELDELTASSGIXPROC SAGE_glXQueryChannelDeltasSGIX;
254
#ifndef glXQueryChannelDeltasSGIX
255
#define glXQueryChannelDeltasSGIX SAGE_glXQueryChannelDeltasSGIX
257
SAGEAPI PFNGLXCHANNELRECTSYNCSGIXPROC SAGE_glXChannelRectSyncSGIX;
258
#ifndef glXChannelRectSyncSGIX
259
#define glXChannelRectSyncSGIX SAGE_glXChannelRectSyncSGIX
262
#define GLX_SGIX_dmbuffer 1
263
#ifdef SAGE_GLX_SGIX_dmbuffer
264
SAGEAPI PFNGLXASSOCIATEDMPBUFFERSGIXPROC SAGE_glXAssociateDMPbufferSGIX;
265
#ifndef glXAssociateDMPbufferSGIX
266
#define glXAssociateDMPbufferSGIX SAGE_glXAssociateDMPbufferSGIX
269
#define GLX_SGIX_swap_group 1
270
#ifdef SAGE_GLX_SGIX_swap_group
271
SAGEAPI PFNGLXJOINSWAPGROUPSGIXPROC SAGE_glXJoinSwapGroupSGIX;
272
#ifndef glXJoinSwapGroupSGIX
273
#define glXJoinSwapGroupSGIX SAGE_glXJoinSwapGroupSGIX
276
#define GLX_SGIX_swap_barrier 1
277
#ifdef SAGE_GLX_SGIX_swap_barrier
278
SAGEAPI PFNGLXBINDSWAPBARRIERSGIXPROC SAGE_glXBindSwapBarrierSGIX;
279
#ifndef glXBindSwapBarrierSGIX
280
#define glXBindSwapBarrierSGIX SAGE_glXBindSwapBarrierSGIX
282
SAGEAPI PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC SAGE_glXQueryMaxSwapBarriersSGIX;
283
#ifndef glXQueryMaxSwapBarriersSGIX
284
#define glXQueryMaxSwapBarriersSGIX SAGE_glXQueryMaxSwapBarriersSGIX
287
#define GLX_SUN_get_transparent_index 1
288
#ifdef SAGE_GLX_SUN_get_transparent_index
289
SAGEAPI PFNGLXGETTRANSPARENTINDEXSUNPROC SAGE_glXGetTransparentIndexSUN;
290
#ifndef glXGetTransparentIndexSUN
291
#define glXGetTransparentIndexSUN SAGE_glXGetTransparentIndexSUN
294
#define GLX_MESA_copy_sub_buffer 1
295
#ifdef SAGE_GLX_MESA_copy_sub_buffer
296
SAGEAPI PFNGLXCOPYSUBBUFFERMESAPROC SAGE_glXCopySubBufferMESA;
297
#ifndef glXCopySubBufferMESA
298
#define glXCopySubBufferMESA SAGE_glXCopySubBufferMESA
301
#define GLX_MESA_pixmap_colormap 1
302
#ifdef SAGE_GLX_MESA_pixmap_colormap
303
SAGEAPI PFNGLXCREATEGLXPIXMAPMESAPROC SAGE_glXCreateGLXPixmapMESA;
304
#ifndef glXCreateGLXPixmapMESA
305
#define glXCreateGLXPixmapMESA SAGE_glXCreateGLXPixmapMESA
308
#define GLX_MESA_release_buffers 1
309
#ifdef SAGE_GLX_MESA_release_buffers
310
SAGEAPI PFNGLXRELEASEBUFFERSMESAPROC SAGE_glXReleaseBuffersMESA;
311
#ifndef glXReleaseBuffersMESA
312
#define glXReleaseBuffersMESA SAGE_glXReleaseBuffersMESA
315
#define GLX_MESA_set_3dfx_mode 1
316
#ifdef SAGE_GLX_MESA_set_3dfx_mode
317
SAGEAPI PFNGLXSET3DFXMODEMESAPROC SAGE_glXSet3DfxModeMESA;
318
#ifndef glXSet3DfxModeMESA
319
#define glXSet3DfxModeMESA SAGE_glXSet3DfxModeMESA
322
#define GLX_SGIX_visual_select_group 1
323
#ifdef SAGE_GLX_SGIX_visual_select_group
325
#define GLX_OML_swap_method 1
326
#ifdef SAGE_GLX_OML_swap_method
328
#define GLX_OML_sync_control 1
329
#ifdef SAGE_GLX_OML_sync_control
330
SAGEAPI PFNGLXGETSYNCVALUESOMLPROC SAGE_glXGetSyncValuesOML;
331
#ifndef glXGetSyncValuesOML
332
#define glXGetSyncValuesOML SAGE_glXGetSyncValuesOML
334
SAGEAPI PFNGLXGETMSCRATEOMLPROC SAGE_glXGetMscRateOML;
335
#ifndef glXGetMscRateOML
336
#define glXGetMscRateOML SAGE_glXGetMscRateOML
338
SAGEAPI PFNGLXWAITFORMSCOMLPROC SAGE_glXWaitForMscOML;
339
#ifndef glXWaitForMscOML
340
#define glXWaitForMscOML SAGE_glXWaitForMscOML
342
SAGEAPI PFNGLXWAITFORSBCOMLPROC SAGE_glXWaitForSbcOML;
343
#ifndef glXWaitForSbcOML
344
#define glXWaitForSbcOML SAGE_glXWaitForSbcOML
348
SAGEAPI void sage_glx_init(void);