'''OpenGL extension EXT.x11_sync_object This module customises the behaviour of the OpenGL.raw.GL.EXT.x11_sync_object to provide a more Python-friendly API Overview (from the spec) Synchronization objects added the ability to better coordinate operations between multiple GL command streams. However, it is desirable to have the same level of coordination between GL command streams and external rendering APIs. This extension introduces two new concepts to build upon the synchronization infrastructure provided by ARB_sync: 1) A means to import an X Synchronization Fence object into the GL and use it as a sync object. 2) The concept of a reusable sync object. The latter is necessary because the import operation is expensive and performing it every time a synchronization point was reached would make the synchronization prohibitively slow. This extension stops short of allowing the GL to change the state of imported/reusable sync objects, but does not add any language that would prohibit such functionality from being added in a subsequent extension. The official definition of this extension is available here: http://www.opengl.org/registry/specs/EXT/x11_sync_object.txt ''' from OpenGL import platform, constant, arrays from OpenGL import extensions, wrapper import ctypes from OpenGL.raw.GL import _types, _glgets from OpenGL.raw.GL.EXT.x11_sync_object import * from OpenGL.raw.GL.EXT.x11_sync_object import _EXTENSION_NAME def glInitX11SyncObjectEXT(): '''Return boolean indicating whether this extension is available''' from OpenGL import extensions return extensions.hasGLExtension( _EXTENSION_NAME ) ### END AUTOGENERATED SECTION