| #version 450 |
| #extension GL_KHR_shader_subgroup_basic : require |
| layout(local_size_x = 1) in; |
| |
| layout(std430, binding = 0) buffer SSBO |
| { |
| float FragColor; |
| }; |
| |
| // Reduced test for emulated functionality. |
| |
| void main() |
| { |
| // basic |
| FragColor = float(gl_NumSubgroups); |
| FragColor = float(gl_SubgroupID); |
| FragColor = float(gl_SubgroupSize); |
| FragColor = float(gl_SubgroupInvocationID); |
| subgroupBarrier(); |
| subgroupMemoryBarrier(); |
| subgroupMemoryBarrierBuffer(); |
| subgroupMemoryBarrierShared(); |
| subgroupMemoryBarrierImage(); |
| bool elected = subgroupElect(); |
| } |