| | '''OpenGL extension INTEL.fragment_shader_ordering |
| | |
| | This module customises the behaviour of the |
| | OpenGL.raw.GL.INTEL.fragment_shader_ordering to provide a more |
| | Python-friendly API |
| | |
| | Overview (from the spec) |
| | |
| | Graphics devices may execute in parallel fragment shaders referring to the |
| | same window xy coordinates. Framebuffer writes are guaranteed to be |
| | processed in primitive rasterization order, but there is no order guarantee |
| | for other instructions and image or buffer object accesses in |
| | particular. |
| | |
| | The extension introduces a new GLSL built-in function, |
| | beginFragmentShaderOrderingINTEL(), which blocks execution of a fragment |
| | shader invocation until invocations from previous primitives that map to |
| | the same xy window coordinates (and same sample when per-sample shading |
| | is active) complete their execution. All memory transactions from previous |
| | fragment shader invocations are made visible to the fragment shader |
| | invocation that called beginFragmentShaderOrderingINTEL() when the function |
| | returns. |
| | |
| | Including the following line in a shader can be used to control the |
| | language features described in this extension: |
| | |
| | #extension GL_INTEL_fragment_shader_ordering : <behavior> |
| | |
| | where <behavior> is as specified in section 3.3. |
| | |
| | New preprocessor #defines are added to the OpenGL Shading Language: |
| | |
| | #define GL_INTEL_fragment_shader_ordering 1 |
| | |
| | The official definition of this extension is available here: |
| | http://www.opengl.org/registry/specs/INTEL/fragment_shader_ordering.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.INTEL.fragment_shader_ordering import * |
| | from OpenGL.raw.GL.INTEL.fragment_shader_ordering import _EXTENSION_NAME |
| |
|
| | def glInitFragmentShaderOrderingINTEL(): |
| | '''Return boolean indicating whether this extension is available''' |
| | from OpenGL import extensions |
| | return extensions.hasGLExtension( _EXTENSION_NAME ) |
| |
|
| |
|
| | |