Front-end: Complete GL_ARB_compute_shader implementation.
Core compute shaders were working, but the extension wasn't implemented.
This commit is contained in:
parent
0f5e3ad23c
commit
d94c003fb7
8 changed files with 116 additions and 17 deletions
|
|
@ -4,4 +4,19 @@ layout(local_size_x = 2) in; // ERROR, no compute
|
|||
|
||||
#extension GL_ARB_compute_shader : enable
|
||||
|
||||
layout(local_size_x = 2) in;
|
||||
layout(local_size_x = 2, local_size_y = 4, local_size_z = 6) in;
|
||||
|
||||
shared vec3 sfoo;
|
||||
|
||||
void main()
|
||||
{
|
||||
sfoo = vec3(gl_WorkGroupSize.x, gl_WorkGroupSize.y, gl_WorkGroupSize.z);
|
||||
sfoo += gl_WorkGroupSize + gl_NumWorkGroups + gl_WorkGroupID + gl_LocalInvocationID + gl_GlobalInvocationID;
|
||||
sfoo *= gl_LocalInvocationIndex;
|
||||
sfoo += gl_MaxComputeWorkGroupCount + gl_MaxComputeWorkGroupSize;
|
||||
sfoo *= gl_MaxComputeUniformComponents +
|
||||
gl_MaxComputeTextureImageUnits +
|
||||
gl_MaxComputeImageUniforms +
|
||||
gl_MaxComputeAtomicCounters +
|
||||
gl_MaxComputeAtomicCounterBuffers;
|
||||
}
|
||||
|
|
@ -1,32 +1,108 @@
|
|||
420.comp
|
||||
Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:3: 'gl_WorkgroupSize' : not supported for this version or the enabled extensions
|
||||
WARNING: 0:5: '#extension' : extension is only partially supported: GL_ARB_compute_shader
|
||||
ERROR: 0:3: 'gl_WorkGroupSize' : not supported for this version or the enabled extensions
|
||||
ERROR: 1 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 420
|
||||
Requested GL_ARB_compute_shader
|
||||
local_size = (2, 1, 1)
|
||||
local_size = (2, 4, 6)
|
||||
ERROR: node is still EOpNull!
|
||||
0:11 Function Definition: main( (global void)
|
||||
0:11 Function Parameters:
|
||||
0:13 Sequence
|
||||
0:13 move second child to first child (temp 3-component vector of float)
|
||||
0:13 'sfoo' (shared 3-component vector of float)
|
||||
0:13 Constant:
|
||||
0:13 2.000000
|
||||
0:13 4.000000
|
||||
0:13 6.000000
|
||||
0:14 add second child into first child (temp 3-component vector of float)
|
||||
0:14 'sfoo' (shared 3-component vector of float)
|
||||
0:14 Convert uint to float (temp 3-component vector of float)
|
||||
0:14 add (temp 3-component vector of uint)
|
||||
0:14 add (temp 3-component vector of uint)
|
||||
0:14 add (temp 3-component vector of uint)
|
||||
0:14 add (temp 3-component vector of uint)
|
||||
0:14 Constant:
|
||||
0:14 2 (const uint)
|
||||
0:14 4 (const uint)
|
||||
0:14 6 (const uint)
|
||||
0:14 'gl_NumWorkGroups' (in 3-component vector of uint NumWorkGroups)
|
||||
0:14 'gl_WorkGroupID' (in 3-component vector of uint WorkGroupID)
|
||||
0:14 'gl_LocalInvocationID' (in 3-component vector of uint LocalInvocationID)
|
||||
0:14 'gl_GlobalInvocationID' (in 3-component vector of uint GlobalInvocationID)
|
||||
0:15 vector scale second child into first child (temp 3-component vector of float)
|
||||
0:15 'sfoo' (shared 3-component vector of float)
|
||||
0:15 Convert uint to float (temp float)
|
||||
0:15 'gl_LocalInvocationIndex' (in uint LocalInvocationIndex)
|
||||
0:16 add second child into first child (temp 3-component vector of float)
|
||||
0:16 'sfoo' (shared 3-component vector of float)
|
||||
0:16 Constant:
|
||||
0:16 66559.000000
|
||||
0:16 66559.000000
|
||||
0:16 65599.000000
|
||||
0:17 vector scale second child into first child (temp 3-component vector of float)
|
||||
0:17 'sfoo' (shared 3-component vector of float)
|
||||
0:17 Constant:
|
||||
0:17 1057.000000
|
||||
0:? Linker Objects
|
||||
0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)
|
||||
0:? 2 (const uint)
|
||||
0:? 1 (const uint)
|
||||
0:? 1 (const uint)
|
||||
0:? 4 (const uint)
|
||||
0:? 6 (const uint)
|
||||
0:? 'sfoo' (shared 3-component vector of float)
|
||||
|
||||
|
||||
Linked compute stage:
|
||||
|
||||
ERROR: Linking compute stage: Missing entry point: Each stage requires one "void main()" entry point
|
||||
|
||||
Shader version: 420
|
||||
Requested GL_ARB_compute_shader
|
||||
local_size = (2, 1, 1)
|
||||
local_size = (2, 4, 6)
|
||||
ERROR: node is still EOpNull!
|
||||
0:11 Function Definition: main( (global void)
|
||||
0:11 Function Parameters:
|
||||
0:13 Sequence
|
||||
0:13 move second child to first child (temp 3-component vector of float)
|
||||
0:13 'sfoo' (shared 3-component vector of float)
|
||||
0:13 Constant:
|
||||
0:13 2.000000
|
||||
0:13 4.000000
|
||||
0:13 6.000000
|
||||
0:14 add second child into first child (temp 3-component vector of float)
|
||||
0:14 'sfoo' (shared 3-component vector of float)
|
||||
0:14 Convert uint to float (temp 3-component vector of float)
|
||||
0:14 add (temp 3-component vector of uint)
|
||||
0:14 add (temp 3-component vector of uint)
|
||||
0:14 add (temp 3-component vector of uint)
|
||||
0:14 add (temp 3-component vector of uint)
|
||||
0:14 Constant:
|
||||
0:14 2 (const uint)
|
||||
0:14 4 (const uint)
|
||||
0:14 6 (const uint)
|
||||
0:14 'gl_NumWorkGroups' (in 3-component vector of uint NumWorkGroups)
|
||||
0:14 'gl_WorkGroupID' (in 3-component vector of uint WorkGroupID)
|
||||
0:14 'gl_LocalInvocationID' (in 3-component vector of uint LocalInvocationID)
|
||||
0:14 'gl_GlobalInvocationID' (in 3-component vector of uint GlobalInvocationID)
|
||||
0:15 vector scale second child into first child (temp 3-component vector of float)
|
||||
0:15 'sfoo' (shared 3-component vector of float)
|
||||
0:15 Convert uint to float (temp float)
|
||||
0:15 'gl_LocalInvocationIndex' (in uint LocalInvocationIndex)
|
||||
0:16 add second child into first child (temp 3-component vector of float)
|
||||
0:16 'sfoo' (shared 3-component vector of float)
|
||||
0:16 Constant:
|
||||
0:16 66559.000000
|
||||
0:16 66559.000000
|
||||
0:16 65599.000000
|
||||
0:17 vector scale second child into first child (temp 3-component vector of float)
|
||||
0:17 'sfoo' (shared 3-component vector of float)
|
||||
0:17 Constant:
|
||||
0:17 1057.000000
|
||||
0:? Linker Objects
|
||||
0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)
|
||||
0:? 2 (const uint)
|
||||
0:? 1 (const uint)
|
||||
0:? 1 (const uint)
|
||||
0:? 4 (const uint)
|
||||
0:? 6 (const uint)
|
||||
0:? 'sfoo' (shared 3-component vector of float)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue