4 name=
"ComputeShaderAlgorithm"
5 parent=
"ComputeAlgorithm"
6 library=
"ContribComputeBase"
7 pointerfieldtypes=
"both"
10 parentsystemcomponent=
"true"
12 useLocalIncludes=
"false"
15 This class allows the operation of a compute shader algorithm. It allows the specification of
16 shader buffers and textures to be used in the computation task and the details of the computational
17 space the compute shader operats on.
21 type=
"TextureImageChunk"
27 Texture images to be used for reading/writing in the compute shader.
28 The texture images uses the binding points starting from
0 and then
39 This chunk material allows the usage of texture images, uniform buffer objects
40 and shader storage buffer objects in the compute shader. Only these material
41 chunks are going to be respected, all other will simply omitted. A valid
42 chunk in the chunk material specifies the binding point to be used in the compute
47 type=
"ComputeShaderChunk"
53 The compute shader abstracts the actual shader code and the variable specifications
62 defaultValue=
"1, 0, 0"
64 The number of work groups, i.e. the work group count.
72 defaultValue=
"1, 1, 1"
74 The size of the work groups, i.e. the local_size_var value of the layout specifier.
75 This does need the ARB_compute_variable_group_size GL extension to work.
79 name=
"useMemoryBarrier"
86 This flag toggles the usage of the memory barrier call after the operation of
91 name=
"useVariableWorkGroupSize"
98 This flag enables the useage of the variable work group size dispatch API that
99 is specified in the ARB_compute_variable_group_size extension.
106 visibility=
"external"
108 defaultValue=
"GL_SHADER_STORAGE_BARRIER_BIT"
110 This bitmask determines the behavior of the memory barrier that is issued after the
111 operation of the compute shader.