Merge pull request #2892 from greg-lunarg/mb
[platform/upstream/glslang.git] / Test / atomicCounterARBOps.vert
1 #version 450 core
2 #extension GL_ARB_shader_atomic_counters: enable
3 #extension GL_ARB_shader_atomic_counter_ops:enable
4
5 layout(binding = 0) uniform atomic_uint counter;
6
7 out highp vec4 vsColor;
8
9 void main(){
10     vec4 outColor = vec4(1.0);
11     uint ret;
12
13     ret = atomicCounterAddARB(counter, 4u);
14     ret = atomicCounterSubtractARB(counter, 4u);
15     ret = atomicCounterMinARB(counter, 4u);
16     ret = atomicCounterMaxARB(counter, 4u);
17     ret = atomicCounterAndARB(counter, 4u);
18     ret = atomicCounterOrARB(counter, 4u);
19     ret = atomicCounterXorARB(counter, 4u);
20     ret = atomicCounterExchangeARB(counter, 4u);
21     ret = atomicCounterCompSwapARB(counter, 4u, 4u);
22
23     uint after = atomicCounter(counter);
24     if (after == ret)
25         outColor = vec4(0.0);
26
27     vsColor = outColor;
28 }