1#version 320 es
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