Daniel Koch | 83170e3 | 2019-03-26 13:45:33 -0400 | [diff] [blame] | 1 | #version 320 es
|
| 2 |
|
| 3 | #extension GL_KHR_shader_subgroup_basic: enable
|
| 4 |
|
| 5 | layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;
|
| 6 |
|
| 7 | layout(binding = 0) buffer Buffer
|
| 8 | {
|
| 9 | int a[];
|
| 10 | } data;
|
| 11 |
|
| 12 | void 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 | }
|