File: shader_subgroup.py

package info (click to toggle)
pyopengl 3.1.5%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 14,668 kB
  • sloc: python: 108,024; makefile: 4
file content (45 lines) | stat: -rw-r--r-- 1,711 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
'''OpenGL extension KHR.shader_subgroup

This module customises the behaviour of the 
OpenGL.raw.GL.KHR.shader_subgroup to provide a more 
Python-friendly API

Overview (from the spec)
	
	This extension enables support for the KHR_shader_subgroup shading
	language extension in OpenGL and OpenGL ES.
	
	The extension adds API queries to be able to query
	
	  - the size of subgroups in this implementation (SUBGROUP_SIZE_KHR)
	  - which shader stages support subgroup operations
	    (SUBGROUP_SUPPORTED_STAGES_KHR)
	  - which subgroup features are supported (SUBGROUP_SUPPORTED_FEATURES_KHR)
	  - whether quad subgroup operations are supported in all
	    stages supporting subgroup operations (SUBGROUP_QUAD_ALL_STAGES_KHR)
	
	In OpenGL implementations supporting SPIR-V, this extension enables the
	minimal subset of SPIR-V 1.3 which is required to support the subgroup
	features that are supported by the implementation.
	
	In OpenGL ES implementations, this extension does NOT add support for
	SPIR-V or for any of the built-in shading language functions (8.18)
	that have genDType (double) prototypes.

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/KHR/shader_subgroup.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.KHR.shader_subgroup import *
from OpenGL.raw.GL.KHR.shader_subgroup import _EXTENSION_NAME

def glInitShaderSubgroupKHR():
    '''Return boolean indicating whether this extension is available'''
    from OpenGL import extensions
    return extensions.hasGLExtension( _EXTENSION_NAME )


### END AUTOGENERATED SECTION