| #version 450 | |
| layout(binding = 0) uniform atomic_uint counter; | |
| layout(binding = 0, offset = 4) uniform atomic_uint countArr[4]; | |
| shared uint value; | |
| int arrX[gl_WorkGroupSize.x]; | |
| int arrY[gl_WorkGroupSize.y]; | |
| int arrZ[gl_WorkGroupSize.z]; | |
| uint func(atomic_uint c) | |
| { | |
| return atomicCounterIncrement(c); | |
| } | |
| void main() | |
| { | |
| memoryBarrierAtomicCounter(); | |
| func(counter); | |
| uint val = atomicCounter(countArr[2]); | |
| atomicCounterDecrement(counter); | |
| atomicCounterIncrement(counter); | |
| } |