| #version 450 | |
| #extension GL_KHR_shader_subgroup_basic: enable | |
| layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in; | |
| layout(binding = 0) buffer Buffer | |
| { | |
| int a[]; | |
| } data; | |
| void main() | |
| { | |
| data.a[gl_SubgroupSize] = 1; | |
| data.a[gl_SubgroupInvocationID] = 1; | |
| data.a[gl_NumSubgroups] = 1; | |
| data.a[gl_SubgroupID] = (subgroupElect()) ? 1 : 0; | |
| subgroupBarrier(); | |
| subgroupMemoryBarrier(); | |
| subgroupMemoryBarrierBuffer(); | |
| subgroupMemoryBarrierShared(); | |
| subgroupMemoryBarrierImage(); | |
| } |