1#version 450 2 3#extension GL_KHR_shader_subgroup_basic: enable 4 5layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in; 6 7layout(binding = 0) buffer Buffer 8{ 9 int a[]; 10} data; 11 12void main() 13{ 14 data.a[gl_SubgroupSize] = 1; 15 data.a[gl_SubgroupInvocationID] = 1; 16 data.a[gl_NumSubgroups] = 1; 17 data.a[gl_SubgroupID] = (subgroupElect()) ? 1 : 0; 18 subgroupBarrier(); 19 subgroupMemoryBarrier(); 20 subgroupMemoryBarrierBuffer(); 21 subgroupMemoryBarrierShared(); 22 subgroupMemoryBarrierImage(); 23} 24