1 from ctypes import *
2
3 STRING = c_char_p
4 _libraries = {}
5 _libraries['libGL.so.1'] = CDLL('libGL.so.1')
6
7
8 GLX_FRONT_LEFT_EXT = 8414
9 GLX_FRONT_EXT = GLX_FRONT_LEFT_EXT
10 GLX_BACK_LEFT_EXT = 8416
11 GLX_BACK_EXT = GLX_BACK_LEFT_EXT
12 GLX_OPTIMAL_PBUFFER_WIDTH_SGIX = 32793
13 GLX_BIND_TO_TEXTURE_RGBA_EXT = 8401
14 GLX_BIND_TO_TEXTURE_TARGETS_EXT = 8403
15 GLX_SAVED_SGIX = 32801
16 GLX_EVENT_MASK_SGIX = 32799
17 GLX_Y_INVERTED_EXT = 8404
18 GLX_MAX_PBUFFER_PIXELS = 32792
19 GLX_VISUAL_CAVEAT_EXT = 32
20 GLX_RED_SIZE = 8
21 GLX_STENCIL_BUFFER_BIT_SGIX = 64
22 GLX_TEXTURE_RECTANGLE_EXT = 8413
23 GLX_GPU_NUM_RB_AMD = 8615
24 GLX_LOSE_CONTEXT_ON_RESET_ARB = 33362
25 GLX_BUFFER_CLOBBER_MASK_SGIX = 134217728
26 GLX_STATIC_COLOR_EXT = 32773
27 GLX_COLOR_INDEX_BIT_SGIX = 2
28 GLX_FRONT_LEFT_BUFFER_BIT_SGIX = 1
29 GLX_TEXTURE_FORMAT_RGB_EXT = 8409
30 GLX_PBUFFER_HEIGHT = 32832
31 GLX_SGIX_video_source = 1
32 GLX_COLOR_SAMPLES_NV = 8371
33 GLX_BACK_RIGHT_EXT = 8417
34 GLX_RGBA_TYPE = 32788
35 GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB = 8370
36 GLX_TEXTURE_FORMAT_RGBA_EXT = 8410
37 GLX_AUX0_EXT = 8418
38 GLX_FRONT_RIGHT_EXT = 8415
39 GLX_CONTEXT_PROFILE_MASK_ARB = 37158
40 GLX_NON_CONFORMANT_CONFIG = 32781
41 GLX_EXT_framebuffer_sRGB = 1
42 GLX_MESA_pixmap_colormap = 1
43 GLX_CONTEXT_FLAGS_ARB = 8340
44 GLX_VIDEO_OUT_ALPHA_NV = 8388
45 GLX_NUM_VIDEO_CAPTURE_SLOTS_NV = 8399
46 GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = 2
47 GLX_DOUBLEBUFFER = 5
48 GLX_BAD_ATTRIBUTE = 2
49 GLX_TRANSPARENT_BLUE_VALUE = 39
50 GLX_SAMPLES_ARB = 100001
51 GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK = 67108864
52 GLX_TRANSPARENT_TYPE = 35
53 GLX_NO_EXTENSION = 3
54 GLX_INTEL_swap_event = 1
55 GLX_MAX_PBUFFER_WIDTH = 32790
56 GLX_UNIQUE_ID_NV = 8398
57 GLX_X_VISUAL_TYPE = 34
58 GLX_EXT_visual_rating = 1
59 GLX_NV_float_buffer = 1
60 GLX_MESA_copy_sub_buffer = 1
61 GLX_GRAY_SCALE_EXT = 32774
62 GLX_SGIS_multisample = 1
63 GLX_AUX_BUFFERS_BIT_SGIX = 16
64 GLX_BAD_HYPERPIPE_CONFIG_SGIX = 91
65 GLX_SLOW_CONFIG = 32769
66 GLX_MESA_set_3dfx_mode = 1
67 GLX_RGBA_FLOAT_TYPE_ARB = 8377
68 GLX_RENDER_TYPE = 32785
69 GLX_TRANSPARENT_RGB = 32776
70 GLX_VISUAL_ID = 32779
71 GLX_BLUE_SIZE = 10
72 GLX_HYPERPIPE_STEREO_SGIX = 3
73 GLX_WINDOW_BIT = 1
74 GLX_SAMPLE_BUFFERS_BIT_SGIX = 256
75 GLX_SYNC_SWAP_SGIX = 1
76 GLX_SWAP_EXCHANGE_OML = 32865
77 GLX_MESA_swap_control = 1
78 GLX_VERSION_1_3 = 1
79 GLX_NV_video_output = 1
80 GLX_LARGEST_PBUFFER_SGIX = 32796
81 GLX_AUX_BUFFERS_BIT = 16
82 GLX_BACK_RIGHT_BUFFER_BIT = 8
83 GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS = 32806
84 GLX_RGBA = 4
85 GLX_EXT_texture_from_pixmap = 1
86 GLX_SGIX_fbconfig = 1
87 GLX_EXT_swap_control = 1
88 GLX_VISUAL_ID_EXT = 32779
89 GLX_STENCIL_BUFFER_BIT = 64
90 GLX_SLOW_VISUAL_EXT = 32769
91 GLX_SWAP_INTERVAL_EXT = 8433
92 GLX_TRANSPARENT_INDEX_EXT = 32777
93 GLX_DEPTH_BUFFER_BIT = 32
94 GLX_BACK_LEFT_BUFFER_BIT = 4
95 GLX_MAX_PBUFFER_WIDTH_SGIX = 32790
96 GLX_TRANSPARENT_TYPE_EXT = 35
97 GLX_MIPMAP_TEXTURE_EXT = 8407
98 GLX_PBUFFER = 32803
99 GLX_NV_video_capture = 1
100 GLX_X_RENDERABLE = 32786
101 GLX_MAX_PBUFFER_HEIGHT = 32791
102 GLX_ACCUM_RED_SIZE = 14
103 GLX_SGI_swap_control = 1
104 GLX_TRANSPARENT_RGB_EXT = 32776
105 GLX_BACK_RIGHT_BUFFER_BIT_SGIX = 8
106 GLX_BLENDED_RGBA_SGIS = 32805
107 GLX_WIDTH_SGIX = 32797
108 GLX_STATIC_GRAY_EXT = 32775
109 GLX_ARB_framebuffer_sRGB = 1
110 GLX_VENDOR = 1
111 GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV = 8395
112 GLX_EXT_visual_info = 1
113 GLX_NON_CONFORMANT_VISUAL_EXT = 32781
114 GLX_SGIX_video_resize = 1
115 GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX = 80
116 GLX_COLOR_INDEX_TYPE = 32789
117 GLX_MAX_PBUFFER_HEIGHT_SGIX = 32791
118 GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX = 4
119 GLX_TEXTURE_2D_BIT_EXT = 2
120 GLX_DONT_CARE = 4294967295L
121 GLX_SGIX_swap_barrier = 1
122 GLX_SWAP_METHOD_OML = 32864
123 GLX_SAVED = 32801
124 GLX_SAMPLE_BUFFERS_SGIS = 100000
125 GLX_BUFFER_SIZE = 2
126 GLX_ARB_create_context_robustness = 1
127 GLX_ACCUM_GREEN_SIZE = 15
128 GLX_GRAY_SCALE = 32774
129 GLX_ALPHA_SIZE = 11
130 GLX_STEREO = 6
131 GLX_ARB_create_context = 1
132 GLX_CONTEXT_DEBUG_BIT_ARB = 1
133 GLX_TRANSPARENT_RED_VALUE = 37
134 GLX_SAMPLES_3DFX = 32849
135 GLX_DAMAGED = 32800
136 GLX_RENDER_TYPE_SGIX = 32785
137 GLX_NONE_EXT = 32768
138 GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB = 4
139 GLX_SAMPLE_BUFFERS_ARB = 100000
140 GLX_COLOR_INDEX_BIT = 2
141 GLX_FBCONFIG_ID_SGIX = 32787
142 GLX_CONFIG_CAVEAT = 32
143 GLX_GLXEXT_VERSION = 32
144 GLX_SAMPLE_BUFFERS_3DFX = 32848
145 GLX_STENCIL_SIZE = 13
146 GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT = 8369
147 GLX_SGIX_visual_select_group = 1
148 GLX_MESA_agp_offset = 1
149 GLX_SGIX_swap_group = 1
150 GLX_BIND_TO_MIPMAP_TEXTURE_EXT = 8402
151 GLX_ACCUM_BLUE_SIZE = 16
152 GLX_PBUFFER_BIT_SGIX = 4
153 GLX_PBUFFER_BIT = 4
154 GLX_SCREEN_EXT = 32780
155 GLX_GPU_FASTEST_TARGET_GPUS_AMD = 8610
156 GLX_SCREEN = 32780
157 GLX_VIDEO_OUT_DEPTH_NV = 8389
158 GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = 2
159 GLX_HYPERPIPE_DISPLAY_PIPE_SGIX = 1
160 GLX_DEPTH_BUFFER_BIT_SGIX = 32
161 GLX_NV_swap_group = 1
162 GLX_ARB_render_texture = 1
163 GLX_WINDOW = 32802
164 GLX_PIXMAP_BIT_SGIX = 2
165 GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT = 8370
166 GLX_MAX_PBUFFER_PIXELS_SGIX = 32792
167 GLX_VISUAL_SELECT_GROUP_SGIX = 32808
168 GLX_AUX_BUFFERS = 7
169 GLX_VIDEO_OUT_FIELD_2_NV = 8394
170 GLX_WINDOW_SGIX = 32802
171 GLX_SGI_video_sync = 1
172 GLX_OML_sync_control = 1
173 GLX_GPU_NUM_SPI_AMD = 8616
174 GLX_ACCUM_ALPHA_SIZE = 17
175 GLX_SAMPLES = 100001
176 GLX_SAMPLE_BUFFERS = 100000
177 GLX_PbufferClobber = 0
178 GLX_VIDEO_OUT_FRAME_NV = 8392
179 GLX_VIDEO_OUT_COLOR_NV = 8387
180 GLX_USE_GL = 1
181 GLX_BAD_ENUM = 7
182 GLX_RGBA_BIT = 1
183 GLX_ARB_fbconfig_float = 1
184 GLX_X_VISUAL_TYPE_EXT = 34
185 GLX_WIDTH = 32797
186 GLX_SGI_make_current_read = 1
187 GLX_SWAP_COPY_OML = 32866
188 GLX_CONTEXT_MAJOR_VERSION_ARB = 8337
189 GLX_WINDOW_BIT_SGIX = 1
190 GLX_AUX6_EXT = 8424
191 GLX_NUM_VIDEO_SLOTS_NV = 8432
192 GLX_TEXTURE_FORMAT_NONE_EXT = 8408
193 GLX_ACCUM_BUFFER_BIT = 128
194 GLX_TRANSPARENT_ALPHA_VALUE = 40
195 GLX_HEIGHT_SGIX = 32798
196 GLX_DRAWABLE_TYPE = 32784
197 GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB = 8341
198 GLX_AUX9_EXT = 8427
199 GLX_DRAWABLE_TYPE_SGIX = 32784
200 GLX_PIXMAP_BIT = 2
201 GLX_TRANSPARENT_BLUE_VALUE_EXT = 39
202 GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV = 8396
203 GLX_LEVEL = 3
204 GLX_ARB_multisample = 1
205 GLX_SHARE_CONTEXT_EXT = 32778
206 GLX_AUX8_EXT = 8426
207 GLX_HEIGHT = 32798
208 GLX_FRONT_RIGHT_BUFFER_BIT = 2
209 GLX_TRANSPARENT_INDEX = 32777
210 GLX_HYPERPIPE_RENDER_PIPE_SGIX = 2
211 GLX_PBUFFER_CLOBBER_MASK = 134217728
212 GLX_TEXTURE_1D_EXT = 8411
213 GLX_AUX2_EXT = 8420
214 GLX_TRANSPARENT_GREEN_VALUE_EXT = 38
215 GLX_MAX_SWAP_INTERVAL_EXT = 8434
216 GLX_EXT_fbconfig_packed_float = 1
217 GLX_PIPE_RECT_LIMITS_SGIX = 2
218 GLX_NV_present_video = 1
219 GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS = 32807
220 GLX_BAD_HYPERPIPE_SGIX = 92
221 GLX_OML_swap_method = 1
222 GLX_EXTENSION_NAME = 'GLX'
223 GLX_GPU_NUM_SIMD_AMD = 8614
224 GLX_VERSION_1_4 = 1
225 GLX_VERSION_1_1 = 1
226 GLX_VERSION_1_2 = 1
227 GLX_NO_RESET_NOTIFICATION_ARB = 33377
228 GLX_SGIX_hyperpipe = 1
229 GLX_TRUE_COLOR_EXT = 32770
230 GLX_COLOR_INDEX_TYPE_SGIX = 32789
231 GLX_RGBA_FLOAT_BIT_ARB = 4
232 GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT = 8
233 GLX_TEXTURE_FORMAT_EXT = 8405
234 GLX_TRANSPARENT_ALPHA_VALUE_EXT = 40
235 GLX_MESA_release_buffers = 1
236 GLX_FLIP_COMPLETE_INTEL = 33154
237 GLX_PRESERVED_CONTENTS_SGIX = 32795
238 GLX_STATIC_COLOR = 32773
239 GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV = 8391
240 GLX_TRUE_COLOR = 32770
241 GLX_AUX3_EXT = 8421
242 GLX_SGI_cushion = 1
243 GLX_EXTENSIONS = 3
244 GLX_TEXTURE_1D_BIT_EXT = 1
245 GLX_GPU_RENDERER_STRING_AMD = 7937
246 GLX_MESA_swap_frame_usage = 1
247 GLX_SYNC_FRAME_SGIX = 0
248 GLX_EXCHANGE_COMPLETE_INTEL = 33152
249 GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV = 8390
250 GLX_GREEN_SIZE = 9
251 GLX_COVERAGE_SAMPLES_NV = 100001
252 GLX_SGIX_dmbuffer = 1
253 GLX_PSEUDO_COLOR_EXT = 32772
254 GLX_COPY_COMPLETE_INTEL = 33153
255 GLX_TEXTURE_2D_EXT = 8412
256 GLX_GPU_NUM_PIPES_AMD = 8613
257 GLX_DIRECT_COLOR = 32771
258 GLX_NONE = 32768
259 GLX_BAD_VISUAL = 4
260 GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX = 32794
261 GLX_PIPE_RECT_SGIX = 1
262 GLX_TEXTURE_RECTANGLE_BIT_EXT = 4
263 GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB = 33366
264 GLX_DEVICE_ID_NV = 8397
265 GLX_ACCUM_BUFFER_BIT_SGIX = 128
266 GLX_TEXTURE_TARGET_EXT = 8406
267 GLX_BIND_TO_TEXTURE_RGB_EXT = 8400
268 GLX_LARGEST_PBUFFER = 32796
269 GLX_NV_copy_image = 1
270 GLX_PBUFFER_WIDTH = 32833
271 GLX_BAD_CONTEXT = 5
272 GLX_FRONT_LEFT_BUFFER_BIT = 1
273 GLX_SUN_get_transparent_index = 1
274 GLX_X_RENDERABLE_SGIX = 32786
275 GLX_DIRECT_COLOR_EXT = 32771
276 GLX_EXT_import_context = 1
277 GLX_TRANSPARENT_INDEX_VALUE = 36
278 GLX_VERSION = 2
279 GLX_DAMAGED_SGIX = 32800
280 GLX_SAMPLES_SGIS = 100001
281 GLX_CONTEXT_ES2_PROFILE_BIT_EXT = 4
282 GLX_TRANSPARENT_GREEN_VALUE = 38
283 GLX_AUX4_EXT = 8422
284 GLX_TRANSPARENT_INDEX_VALUE_EXT = 36
285 GLX_TRANSPARENT_RED_VALUE_EXT = 37
286 GLX_FRONT_RIGHT_BUFFER_BIT_SGIX = 2
287 GLX_SWAP_UNDEFINED_OML = 32867
288 GLX_BACK_LEFT_BUFFER_BIT_SGIX = 4
289 GLX_HYPERPIPE_ID_SGIX = 32816
290 GLX_GPU_OPENGL_VERSION_STRING_AMD = 7938
291 GLX_STATIC_GRAY = 32775
292 GLX_AUX7_EXT = 8425
293 GLX_GPU_CLOCK_AMD = 8612
294 GLX_AUX1_EXT = 8419
295 GLX_BAD_SCREEN = 1
296 GLX_NV_multisample_coverage = 1
297 GLX_DEPTH_SIZE = 12
298 GLX_FLOAT_COMPONENTS_NV = 8368
299 GLX_DIGITAL_MEDIA_PBUFFER_SGIX = 32804
300 GLX_GPU_RAM_AMD = 8611
301 GLX_PRESERVED_CONTENTS = 32795
302 GLX_PSEUDO_COLOR = 32772
303 GLX_RGBA_BIT_SGIX = 1
304 GLX_RGBA_TYPE_SGIX = 32788
305 GLX_FBCONFIG_ID = 32787
306 GLX_GPU_VENDOR_AMD = 7936
307 GLX_BufferSwapComplete = 1
308 GLX_EVENT_MASK = 32799
309 GLX_CONTEXT_CORE_PROFILE_BIT_ARB = 1
310 GLX_BAD_VALUE = 6
311 GLX_AUX5_EXT = 8423
312 GLX_CONTEXT_MINOR_VERSION_ARB = 8338
313 GLX_ARB_get_proc_address = 1
314 GLX_VIDEO_OUT_FIELD_1_NV = 8393
315 GLX_SGIX_pbuffer = 1
316 GLX_PBUFFER_SGIX = 32803
317 GLX_ARB_create_context_profile = 1
322 Display = _XDisplay
323 glXChooseVisual = _libraries['libGL.so.1'].glXChooseVisual
324 glXChooseVisual.restype = POINTER(XVisualInfo)
325 glXChooseVisual.argtypes = [POINTER(Display), c_int, POINTER(c_int)]
326 -class __GLXcontextRec(Structure):
328 GLXContext = POINTER(__GLXcontextRec)
329 glXCreateContext = _libraries['libGL.so.1'].glXCreateContext
330 glXCreateContext.restype = GLXContext
331 glXCreateContext.argtypes = [POINTER(Display), POINTER(XVisualInfo), GLXContext, c_int]
332 glXDestroyContext = _libraries['libGL.so.1'].glXDestroyContext
333 glXDestroyContext.restype = None
334 glXDestroyContext.argtypes = [POINTER(Display), GLXContext]
335 XID = c_ulong
336 GLXDrawable = XID
337 glXMakeCurrent = _libraries['libGL.so.1'].glXMakeCurrent
338 glXMakeCurrent.restype = c_int
339 glXMakeCurrent.argtypes = [POINTER(Display), GLXDrawable, GLXContext]
340 glXCopyContext = _libraries['libGL.so.1'].glXCopyContext
341 glXCopyContext.restype = None
342 glXCopyContext.argtypes = [POINTER(Display), GLXContext, GLXContext, c_ulong]
343 glXSwapBuffers = _libraries['libGL.so.1'].glXSwapBuffers
344 glXSwapBuffers.restype = None
345 glXSwapBuffers.argtypes = [POINTER(Display), GLXDrawable]
346 GLXPixmap = XID
347 Pixmap = XID
348 glXCreateGLXPixmap = _libraries['libGL.so.1'].glXCreateGLXPixmap
349 glXCreateGLXPixmap.restype = GLXPixmap
350 glXCreateGLXPixmap.argtypes = [POINTER(Display), POINTER(XVisualInfo), Pixmap]
351 glXDestroyGLXPixmap = _libraries['libGL.so.1'].glXDestroyGLXPixmap
352 glXDestroyGLXPixmap.restype = None
353 glXDestroyGLXPixmap.argtypes = [POINTER(Display), GLXPixmap]
354 glXQueryExtension = _libraries['libGL.so.1'].glXQueryExtension
355 glXQueryExtension.restype = c_int
356 glXQueryExtension.argtypes = [POINTER(Display), POINTER(c_int), POINTER(c_int)]
357 glXQueryVersion = _libraries['libGL.so.1'].glXQueryVersion
358 glXQueryVersion.restype = c_int
359 glXQueryVersion.argtypes = [POINTER(Display), POINTER(c_int), POINTER(c_int)]
360 glXIsDirect = _libraries['libGL.so.1'].glXIsDirect
361 glXIsDirect.restype = c_int
362 glXIsDirect.argtypes = [POINTER(Display), GLXContext]
363 glXGetConfig = _libraries['libGL.so.1'].glXGetConfig
364 glXGetConfig.restype = c_int
365 glXGetConfig.argtypes = [POINTER(Display), POINTER(XVisualInfo), c_int, POINTER(c_int)]
366 glXGetCurrentContext = _libraries['libGL.so.1'].glXGetCurrentContext
367 glXGetCurrentContext.restype = GLXContext
368 glXGetCurrentContext.argtypes = []
369 glXGetCurrentDrawable = _libraries['libGL.so.1'].glXGetCurrentDrawable
370 glXGetCurrentDrawable.restype = GLXDrawable
371 glXGetCurrentDrawable.argtypes = []
372 glXWaitGL = _libraries['libGL.so.1'].glXWaitGL
373 glXWaitGL.restype = None
374 glXWaitGL.argtypes = []
375 glXWaitX = _libraries['libGL.so.1'].glXWaitX
376 glXWaitX.restype = None
377 glXWaitX.argtypes = []
378 Font = XID
379 glXUseXFont = _libraries['libGL.so.1'].glXUseXFont
380 glXUseXFont.restype = None
381 glXUseXFont.argtypes = [Font, c_int, c_int, c_int]
382 glXQueryExtensionsString = _libraries['libGL.so.1'].glXQueryExtensionsString
383 glXQueryExtensionsString.restype = STRING
384 glXQueryExtensionsString.argtypes = [POINTER(Display), c_int]
385 glXQueryServerString = _libraries['libGL.so.1'].glXQueryServerString
386 glXQueryServerString.restype = STRING
387 glXQueryServerString.argtypes = [POINTER(Display), c_int, c_int]
388 glXGetClientString = _libraries['libGL.so.1'].glXGetClientString
389 glXGetClientString.restype = STRING
390 glXGetClientString.argtypes = [POINTER(Display), c_int]
391 glXGetCurrentDisplay = _libraries['libGL.so.1'].glXGetCurrentDisplay
392 glXGetCurrentDisplay.restype = POINTER(Display)
393 glXGetCurrentDisplay.argtypes = []
396 GLXFBConfig = POINTER(__GLXFBConfigRec)
397 glXChooseFBConfig = _libraries['libGL.so.1'].glXChooseFBConfig
398 glXChooseFBConfig.restype = POINTER(GLXFBConfig)
399 glXChooseFBConfig.argtypes = [POINTER(Display), c_int, POINTER(c_int), POINTER(c_int)]
400 glXGetFBConfigAttrib = _libraries['libGL.so.1'].glXGetFBConfigAttrib
401 glXGetFBConfigAttrib.restype = c_int
402 glXGetFBConfigAttrib.argtypes = [POINTER(Display), GLXFBConfig, c_int, POINTER(c_int)]
403 glXGetFBConfigs = _libraries['libGL.so.1'].glXGetFBConfigs
404 glXGetFBConfigs.restype = POINTER(GLXFBConfig)
405 glXGetFBConfigs.argtypes = [POINTER(Display), c_int, POINTER(c_int)]
406 glXGetVisualFromFBConfig = _libraries['libGL.so.1'].glXGetVisualFromFBConfig
407 glXGetVisualFromFBConfig.restype = POINTER(XVisualInfo)
408 glXGetVisualFromFBConfig.argtypes = [POINTER(Display), GLXFBConfig]
409 GLXWindow = XID
410 Window = XID
411 glXCreateWindow = _libraries['libGL.so.1'].glXCreateWindow
412 glXCreateWindow.restype = GLXWindow
413 glXCreateWindow.argtypes = [POINTER(Display), GLXFBConfig, Window, POINTER(c_int)]
414 glXDestroyWindow = _libraries['libGL.so.1'].glXDestroyWindow
415 glXDestroyWindow.restype = None
416 glXDestroyWindow.argtypes = [POINTER(Display), GLXWindow]
417 glXCreatePixmap = _libraries['libGL.so.1'].glXCreatePixmap
418 glXCreatePixmap.restype = GLXPixmap
419 glXCreatePixmap.argtypes = [POINTER(Display), GLXFBConfig, Pixmap, POINTER(c_int)]
420 glXDestroyPixmap = _libraries['libGL.so.1'].glXDestroyPixmap
421 glXDestroyPixmap.restype = None
422 glXDestroyPixmap.argtypes = [POINTER(Display), GLXPixmap]
423 GLXPbuffer = XID
424 glXCreatePbuffer = _libraries['libGL.so.1'].glXCreatePbuffer
425 glXCreatePbuffer.restype = GLXPbuffer
426 glXCreatePbuffer.argtypes = [POINTER(Display), GLXFBConfig, POINTER(c_int)]
427 glXDestroyPbuffer = _libraries['libGL.so.1'].glXDestroyPbuffer
428 glXDestroyPbuffer.restype = None
429 glXDestroyPbuffer.argtypes = [POINTER(Display), GLXPbuffer]
430 glXQueryDrawable = _libraries['libGL.so.1'].glXQueryDrawable
431 glXQueryDrawable.restype = None
432 glXQueryDrawable.argtypes = [POINTER(Display), GLXDrawable, c_int, POINTER(c_uint)]
433 glXCreateNewContext = _libraries['libGL.so.1'].glXCreateNewContext
434 glXCreateNewContext.restype = GLXContext
435 glXCreateNewContext.argtypes = [POINTER(Display), GLXFBConfig, c_int, GLXContext, c_int]
436 glXMakeContextCurrent = _libraries['libGL.so.1'].glXMakeContextCurrent
437 glXMakeContextCurrent.restype = c_int
438 glXMakeContextCurrent.argtypes = [POINTER(Display), GLXDrawable, GLXDrawable, GLXContext]
439 glXGetCurrentReadDrawable = _libraries['libGL.so.1'].glXGetCurrentReadDrawable
440 glXGetCurrentReadDrawable.restype = GLXDrawable
441 glXGetCurrentReadDrawable.argtypes = []
442 glXQueryContext = _libraries['libGL.so.1'].glXQueryContext
443 glXQueryContext.restype = c_int
444 glXQueryContext.argtypes = [POINTER(Display), GLXContext, c_int, POINTER(c_int)]
445 glXSelectEvent = _libraries['libGL.so.1'].glXSelectEvent
446 glXSelectEvent.restype = None
447 glXSelectEvent.argtypes = [POINTER(Display), GLXDrawable, c_ulong]
448 glXGetSelectedEvent = _libraries['libGL.so.1'].glXGetSelectedEvent
449 glXGetSelectedEvent.restype = None
450 glXGetSelectedEvent.argtypes = [POINTER(Display), GLXDrawable, POINTER(c_ulong)]
451 __GLXextFuncPtr = CFUNCTYPE(None)
452 GLubyte = c_ubyte
453 glXGetProcAddressARB = _libraries['libGL.so.1'].glXGetProcAddressARB
454 glXGetProcAddressARB.restype = __GLXextFuncPtr
455 glXGetProcAddressARB.argtypes = [POINTER(GLubyte)]
456 glXGetProcAddress = _libraries['libGL.so.1'].glXGetProcAddress
457 glXGetProcAddress.restype = CFUNCTYPE(None)
458 glXGetProcAddress.argtypes = [POINTER(GLubyte)]
459 GLsizei = c_int
460 GLfloat = c_float
461 glXAllocateMemoryNV = _libraries['libGL.so.1'].glXAllocateMemoryNV
462 glXAllocateMemoryNV.restype = c_void_p
463 glXAllocateMemoryNV.argtypes = [GLsizei, GLfloat, GLfloat, GLfloat]
464 GLvoid = None
465 glXFreeMemoryNV = _libraries['libGL.so.1'].glXFreeMemoryNV
466 glXFreeMemoryNV.restype = None
467 glXFreeMemoryNV.argtypes = [POINTER(GLvoid)]
468 __GLXcontextRec._fields_ = [
469 ]
470 __GLXFBConfigRec._fields_ = [
471 ]
472 _XDisplay._fields_ = [
473 ]
476 VisualID = c_ulong
477 XVisualInfo._fields_ = [
478 ('visual', POINTER(Visual)),
479 ('visualid', VisualID),
480 ('screen', c_int),
481 ('depth', c_int),
482 ('c_class', c_int),
483 ('red_mask', c_ulong),
484 ('green_mask', c_ulong),
485 ('blue_mask', c_ulong),
486 ('colormap_size', c_int),
487 ('bits_per_rgb', c_int),
488 ]
491 XExtData = _XExtData
492 Visual._fields_ = [
493 ('ext_data', POINTER(XExtData)),
494 ('visualid', VisualID),
495 ('c_class', c_int),
496 ('red_mask', c_ulong),
497 ('green_mask', c_ulong),
498 ('blue_mask', c_ulong),
499 ('bits_per_rgb', c_int),
500 ('map_entries', c_int),
501 ]
502 XPointer = STRING
503 _XExtData._fields_ = [
504 ('number', c_int),
505 ('next', POINTER(_XExtData)),
506 ('free_private', CFUNCTYPE(c_int, POINTER(_XExtData))),
507 ('private_data', XPointer),
508 ]
509 __all__ = ['GLX_CONTEXT_PROFILE_MASK_ARB', 'GLsizei',
510 'GLX_EXT_import_context', 'GLX_PIPE_RECT_LIMITS_SGIX',
511 'glXCreateContext', 'GLX_STATIC_COLOR_EXT',
512 'GLX_SWAP_METHOD_OML', 'GLX_SGIS_multisample',
513 'GLX_NON_CONFORMANT_CONFIG', 'glXDestroyWindow',
514 'GLX_CONTEXT_FLAGS_ARB', 'glXQueryDrawable',
515 'GLX_ARB_multisample', 'GLX_TEXTURE_FORMAT_NONE_EXT',
516 'GLX_BACK_LEFT_EXT', 'GLX_X_VISUAL_TYPE_EXT',
517 'XVisualInfo', 'GLX_BIND_TO_TEXTURE_RGB_EXT',
518 'GLX_MESA_swap_frame_usage', 'GLX_NV_present_video',
519 'GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV',
520 'GLX_AUX_BUFFERS_BIT_SGIX', 'GLX_EXT_framebuffer_sRGB',
521 'GLX_TRANSPARENT_INDEX_VALUE', 'GLX_LEVEL', 'GLX_AUX1_EXT',
522 'GLX_SAMPLE_BUFFERS_3DFX', 'GLX_MESA_agp_offset',
523 'GLX_BACK_EXT', 'GLX_DOUBLEBUFFER', 'Visual',
524 'GLX_COLOR_INDEX_BIT_SGIX', 'GLX_SAVED_SGIX',
525 'GLX_AUX6_EXT', 'GLX_STENCIL_SIZE',
526 'GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT', 'GLX_WIDTH',
527 'GLX_MAX_PBUFFER_WIDTH', 'GLfloat', 'GLX_WINDOW',
528 'GLX_SAMPLE_BUFFERS', 'GLX_VERSION',
529 'GLX_SGI_make_current_read', 'GLX_TRANSPARENT_RGB_EXT',
530 'GLX_SAVED', 'GLX_DAMAGED_SGIX',
531 'GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS',
532 'GLX_PIPE_RECT_SGIX', 'GLX_BAD_SCREEN',
533 'GLX_SWAP_COPY_OML', 'GLX_MESA_pixmap_colormap',
534 'GLX_BAD_HYPERPIPE_CONFIG_SGIX',
535 'GLX_NV_multisample_coverage',
536 'GLX_SGIX_visual_select_group', 'GLX_DEPTH_SIZE',
537 'GLX_BIND_TO_TEXTURE_RGBA_EXT', 'glXChooseFBConfig',
538 'GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB',
539 'GLX_TEXTURE_FORMAT_RGB_EXT', 'GLX_DEVICE_ID_NV',
540 'glXGetClientString', 'Pixmap', 'GLX_BAD_HYPERPIPE_SGIX',
541 'GLX_BUFFER_SIZE', 'GLX_SLOW_CONFIG', 'GLX_EXTENSIONS',
542 'GLX_TEXTURE_1D_BIT_EXT', 'GLX_NONE',
543 'GLX_ARB_create_context_robustness', 'GLX_OML_swap_method',
544 'GLX_VIDEO_OUT_ALPHA_NV', 'GLX_BLENDED_RGBA_SGIS',
545 'GLX_EXTENSION_NAME', '_XExtData',
546 'GLX_BIND_TO_TEXTURE_TARGETS_EXT', 'GLX_SAMPLES_SGIS',
547 'GLX_EXT_swap_control', 'GLX_ACCUM_BUFFER_BIT_SGIX',
548 'GLXWindow', 'GLX_NUM_VIDEO_CAPTURE_SLOTS_NV',
549 'GLX_CONTEXT_ES2_PROFILE_BIT_EXT',
550 'GLX_CONTEXT_MAJOR_VERSION_ARB',
551 'GLX_GPU_RENDERER_STRING_AMD', 'glXMakeContextCurrent',
552 'GLX_MAX_PBUFFER_PIXELS_SGIX',
553 'GLX_VISUAL_SELECT_GROUP_SGIX', 'GLX_GPU_NUM_SIMD_AMD',
554 'GLX_PBUFFER_HEIGHT', 'GLX_VERSION_1_4',
555 'GLX_SHARE_CONTEXT_EXT', 'GLX_VERSION_1_1',
556 'GLX_VERSION_1_2', 'GLX_VERSION_1_3',
557 'GLX_SGIX_swap_group', '__GLXextFuncPtr',
558 'GLX_BACK_RIGHT_BUFFER_BIT_SGIX', 'GLX_ACCUM_GREEN_SIZE',
559 'GLX_NO_RESET_NOTIFICATION_ARB', 'GLX_VISUAL_ID_EXT',
560 'GLX_WINDOW_BIT_SGIX', 'GLX_MESA_set_3dfx_mode',
561 'GLX_BAD_ATTRIBUTE', 'GLX_RGBA_FLOAT_TYPE_ARB',
562 'GLX_AUX_BUFFERS_BIT', 'GLX_STENCIL_BUFFER_BIT',
563 'GLX_FLOAT_COMPONENTS_NV', 'GLXFBConfig',
564 'glXGetSelectedEvent', 'glXMakeCurrent',
565 'GLX_FRONT_RIGHT_EXT', 'GLX_DIGITAL_MEDIA_PBUFFER_SGIX',
566 'GLX_RENDER_TYPE', 'GLX_FRONT_LEFT_EXT', 'GLX_SCREEN',
567 'GLX_BIND_TO_MIPMAP_TEXTURE_EXT', 'GLX_EVENT_MASK_SGIX',
568 'GLX_TRANSPARENT_RGB', 'GLX_VIDEO_OUT_FIELD_2_NV',
569 'GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB',
570 'GLX_VISUAL_ID', 'GLX_COLOR_INDEX_TYPE_SGIX',
571 'GLX_OPTIMAL_PBUFFER_WIDTH_SGIX', 'GLX_GPU_RAM_AMD',
572 'GLX_SYNC_FRAME_SGIX', 'GLX_EXCHANGE_COMPLETE_INTEL',
573 'GLX_GRAY_SCALE', 'GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV',
574 'GLX_WINDOW_SGIX', 'glXDestroyGLXPixmap',
575 'GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT', '__GLXFBConfigRec',
576 'GLX_ACCUM_BLUE_SIZE', 'GLX_TRANSPARENT_GREEN_VALUE',
577 'GLX_NUM_VIDEO_SLOTS_NV', 'GLX_PBUFFER_BIT_SGIX',
578 'GLX_SLOW_VISUAL_EXT', 'glXQueryVersion', 'GLubyte',
579 'GLX_SWAP_INTERVAL_EXT', 'GLX_GREEN_SIZE',
580 'GLX_COVERAGE_SAMPLES_NV', 'GLX_OML_sync_control',
581 'GLXPixmap', 'GLX_BLUE_SIZE', 'GLX_AUX4_EXT',
582 'glXGetCurrentDrawable', 'GLX_SGI_video_sync',
583 'glXIsDirect', 'glXQueryExtension',
584 'GLX_TRANSPARENT_INDEX_VALUE_EXT',
585 'GLX_HYPERPIPE_STEREO_SGIX', 'GLX_SGIX_video_source',
586 'GLX_PRESERVED_CONTENTS', 'GLX_CONTEXT_DEBUG_BIT_ARB',
587 'glXDestroyContext', '_XDisplay', 'GLX_PBUFFER_BIT',
588 'GLX_WIDTH_SGIX', 'GLX_COLOR_SAMPLES_NV', 'GLX_WINDOW_BIT',
589 'GLX_RGBA_FLOAT_BIT_ARB', 'GLXDrawable',
590 'GLX_PSEUDO_COLOR', 'GLX_NV_swap_group', 'Window',
591 'GLX_AUX8_EXT', 'GLXPbuffer',
592 'GLX_TRANSPARENT_RED_VALUE_EXT', 'GLX_GPU_NUM_SPI_AMD',
593 'GLX_STEREO', 'GLX_ACCUM_ALPHA_SIZE', 'glXCopyContext',
594 'GLX_Y_INVERTED_EXT', 'GLX_X_VISUAL_TYPE',
595 'GLX_TRANSPARENT_BLUE_VALUE', 'GLX_RED_SIZE',
596 'GLX_ARB_create_context', 'GLX_SAMPLES_ARB',
597 'GLX_ALPHA_SIZE', 'GLX_TRANSPARENT_INDEX_EXT',
598 'GLX_HEIGHT', 'GLX_SGIX_dmbuffer', 'GLX_SGI_swap_control',
599 'GLX_MESA_copy_sub_buffer',
600 'GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK',
601 'GLX_TRANSPARENT_TYPE', 'GLX_ACCUM_RED_SIZE',
602 'glXCreateGLXPixmap', 'GLX_SCREEN_EXT',
603 'GLX_GPU_FASTEST_TARGET_GPUS_AMD', '__GLXcontextRec',
604 'GLX_TRANSPARENT_RED_VALUE', 'GLX_SAMPLES_3DFX',
605 'glXGetProcAddress', 'GLX_FRONT_RIGHT_BUFFER_BIT',
606 'GLX_SAMPLES', 'GLX_DAMAGED', 'XID',
607 'GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT',
608 'GLX_FRONT_RIGHT_BUFFER_BIT_SGIX', 'glXChooseVisual',
609 'GLX_DEPTH_BUFFER_BIT', 'GLXContext', 'Display',
610 'GLX_LARGEST_PBUFFER', 'GLX_SAMPLE_BUFFERS_BIT_SGIX',
611 'GLX_PSEUDO_COLOR_EXT', 'glXCreatePixmap',
612 'GLX_STATIC_GRAY_EXT', 'GLX_SYNC_SWAP_SGIX',
613 'GLX_EXT_visual_rating', 'GLX_ARB_framebuffer_sRGB',
614 'GLX_HYPERPIPE_DISPLAY_PIPE_SGIX',
615 'GLX_SWAP_UNDEFINED_OML', 'GLX_VIDEO_OUT_DEPTH_NV',
616 'GLX_TEXTURE_FORMAT_EXT',
617 'GLX_TRANSPARENT_ALPHA_VALUE_EXT', 'GLX_RGBA_BIT_SGIX',
618 'GLX_BACK_LEFT_BUFFER_BIT', 'GLX_ACCUM_BUFFER_BIT',
619 'GLX_NV_copy_image', 'GLX_RGBA_TYPE_SGIX',
620 'GLX_COPY_COMPLETE_INTEL', 'GLX_MAX_PBUFFER_PIXELS',
621 'GLX_GPU_VENDOR_AMD', 'GLX_RENDER_TYPE_SGIX',
622 'GLX_TRANSPARENT_ALPHA_VALUE', 'GLX_MESA_release_buffers',
623 'GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB',
624 'glXGetFBConfigs', 'GLX_FBCONFIG_ID', 'glXWaitX',
625 'GLX_VISUAL_CAVEAT_EXT', 'GLX_HEIGHT_SGIX', 'GLX_VENDOR',
626 'GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV', 'GLX_CONFIG_CAVEAT',
627 'GLX_PbufferClobber', 'GLX_PBUFFER_WIDTH',
628 'glXDestroyPixmap', 'GLX_SWAP_EXCHANGE_OML', 'glXWaitGL',
629 'GLX_EXT_visual_info', 'GLX_RGBA_TYPE', 'GLX_NO_EXTENSION',
630 'GLX_MESA_swap_control', 'glXGetProcAddressARB',
631 'GLX_TEXTURE_2D_EXT', 'XExtData', 'glXQueryContext',
632 'GLX_VIDEO_OUT_COLOR_NV', 'GLX_NV_video_output',
633 'GLX_GPU_NUM_PIPES_AMD', 'glXCreateNewContext',
634 'GLX_FLIP_COMPLETE_INTEL', 'GLX_NON_CONFORMANT_VISUAL_EXT',
635 'VisualID', 'XPointer', 'GLX_BAD_CONTEXT',
636 'GLX_STENCIL_BUFFER_BIT_SGIX', 'GLX_TRANSPARENT_INDEX',
637 'GLX_LARGEST_PBUFFER_SGIX', 'GLX_PIXMAP_BIT_SGIX',
638 'GLX_SAMPLE_BUFFERS_SGIS', 'GLX_INTEL_swap_event',
639 'GLX_SGIX_video_resize', 'GLX_BACK_LEFT_BUFFER_BIT_SGIX',
640 'GLX_BufferSwapComplete', 'GLX_TEXTURE_TARGET_EXT',
641 'glXSwapBuffers', 'glXGetCurrentDisplay',
642 'GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB', 'GLX_AUX9_EXT',
643 'GLX_HYPERPIPE_ID_SGIX', 'GLX_BACK_RIGHT_EXT',
644 'glXGetFBConfigAttrib', 'GLX_HYPERPIPE_RENDER_PIPE_SGIX',
645 'GLX_STATIC_COLOR', 'GLX_EVENT_MASK',
646 'GLX_CONTEXT_CORE_PROFILE_BIT_ARB',
647 'GLX_EXT_fbconfig_packed_float', 'GLX_USE_GL',
648 'GLX_FRONT_EXT', 'GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV',
649 'GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX',
650 'glXAllocateMemoryNV', 'GLX_DRAWABLE_TYPE_SGIX',
651 'glXGetCurrentContext', 'GLX_PBUFFER_CLOBBER_MASK',
652 'GLX_STATIC_GRAY', 'glXGetCurrentReadDrawable',
653 'GLX_DIRECT_COLOR', 'GLX_FRONT_LEFT_BUFFER_BIT',
654 'GLX_FRONT_LEFT_BUFFER_BIT_SGIX', 'GLX_UNIQUE_ID_NV',
655 'GLX_TEXTURE_RECTANGLE_EXT', 'GLX_BACK_RIGHT_BUFFER_BIT',
656 'GLX_MAX_PBUFFER_WIDTH_SGIX', 'GLX_BAD_VALUE',
657 'GLX_AUX5_EXT', 'GLX_TEXTURE_1D_EXT', 'glXDestroyPbuffer',
658 'GLX_TRUE_COLOR', 'GLX_NONE_EXT', 'glXSelectEvent',
659 'GLX_GPU_OPENGL_VERSION_STRING_AMD', 'GLX_GPU_NUM_RB_AMD',
660 'GLX_COLOR_INDEX_TYPE', 'GLX_MAX_PBUFFER_HEIGHT_SGIX',
661 'GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS',
662 'GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB',
663 'GLX_CONTEXT_MINOR_VERSION_ARB',
664 'GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB',
665 'GLX_LOSE_CONTEXT_ON_RESET_ARB',
666 'GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX', 'GLX_AUX3_EXT',
667 'GLX_AUX2_EXT', 'Font', 'GLX_TEXTURE_FORMAT_RGBA_EXT',
668 'GLX_TEXTURE_2D_BIT_EXT', 'glXGetConfig', 'GLX_DONT_CARE',
669 'GLX_ARB_get_proc_address', 'GLX_AUX7_EXT',
670 'GLX_VIDEO_OUT_FIELD_1_NV', 'GLX_TRANSPARENT_TYPE_EXT',
671 'GLX_SGIX_pbuffer', 'GLX_SAMPLE_BUFFERS_ARB',
672 'GLX_TRANSPARENT_GREEN_VALUE_EXT', 'GLX_COLOR_INDEX_BIT',
673 'GLX_SGIX_hyperpipe', 'GLX_MIPMAP_TEXTURE_EXT',
674 'GLX_SUN_get_transparent_index', 'GLX_BAD_VISUAL',
675 'GLX_X_RENDERABLE_SGIX', 'GLX_FBCONFIG_ID_SGIX',
676 'GLX_PBUFFER', 'GLX_VIDEO_OUT_FRAME_NV',
677 'GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX', 'GLX_BAD_ENUM',
678 'GLX_BUFFER_CLOBBER_MASK_SGIX', 'GLX_RGBA',
679 'GLX_DEPTH_BUFFER_BIT_SGIX',
680 'GLX_ARB_create_context_profile', 'GLX_NV_float_buffer',
681 'GLX_DRAWABLE_TYPE', 'GLvoid', 'GLX_RGBA_BIT',
682 'GLX_ARB_fbconfig_float', 'GLX_PIXMAP_BIT',
683 'GLX_MAX_SWAP_INTERVAL_EXT', 'GLX_AUX0_EXT',
684 'GLX_GPU_CLOCK_AMD', 'GLX_AUX_BUFFERS',
685 'GLX_PRESERVED_CONTENTS_SGIX', 'GLX_TRUE_COLOR_EXT',
686 'glXFreeMemoryNV', 'GLX_NV_video_capture',
687 'GLX_GRAY_SCALE_EXT', 'GLX_TEXTURE_RECTANGLE_BIT_EXT',
688 'glXCreateWindow', 'GLX_EXT_texture_from_pixmap',
689 'GLX_ARB_render_texture', 'glXCreatePbuffer',
690 'GLX_GLXEXT_VERSION', 'GLX_X_RENDERABLE',
691 'glXQueryServerString', 'GLX_SGIX_fbconfig',
692 'GLX_TRANSPARENT_BLUE_VALUE_EXT', 'glXUseXFont',
693 'GLX_PBUFFER_SGIX', 'GLX_SGIX_swap_barrier',
694 'GLX_DIRECT_COLOR_EXT', 'GLX_MAX_PBUFFER_HEIGHT',
695 'GLX_SGI_cushion', 'glXGetVisualFromFBConfig',
696 'glXQueryExtensionsString']
697