| | '''OpenGL extension APPLE.flush_buffer_range |
| | |
| | This module customises the behaviour of the |
| | OpenGL.raw.GL.APPLE.flush_buffer_range to provide a more |
| | Python-friendly API |
| | |
| | Overview (from the spec) |
| | |
| | APPLE_flush_buffer_range expands the buffer object API to allow greater |
| | performance when a client application only needs to write to a sub-range |
| | of a buffer object. To that end, this extension introduces two new buffer |
| | object features: non-serialized buffer modification and explicit sub-range |
| | flushing for mapped buffer objects. |
| | |
| | OpenGL requires that commands occur in a FIFO manner meaning that any |
| | changes to buffer objects either block until the data has been processed by |
| | the OpenGL pipeline or else create extra copies to avoid such a block. By |
| | providing a method to asynchronously modify buffer object data, an |
| | application is then able to manage the synchronization points themselves |
| | and modify ranges of data contained by a buffer object even though OpenGL |
| | might still be using other parts of it. |
| | |
| | This extension also provides a method for explicitly flushing ranges of a |
| | mapped buffer object so OpenGL does not have to assume that the entire |
| | range may have been modified. |
| | |
| | Affects ARB_vertex_buffer_object, ARB_pixel_buffer_object and OpenGL 1.5 |
| | Buffer Objects. |
| | |
| | The official definition of this extension is available here: |
| | http://www.opengl.org/registry/specs/APPLE/flush_buffer_range.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.APPLE.flush_buffer_range import * |
| | from OpenGL.raw.GL.APPLE.flush_buffer_range import _EXTENSION_NAME |
| |
|
| | def glInitFlushBufferRangeAPPLE(): |
| | '''Return boolean indicating whether this extension is available''' |
| | from OpenGL import extensions |
| | return extensions.hasGLExtension( _EXTENSION_NAME ) |
| |
|
| |
|
| | |