xref: /aosp_15_r20/external/angle/third_party/glslang/src/Test/atomicCounterARBOps.vert (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1#version 450 core
2#extension GL_ARB_shader_atomic_counters: enable
3#extension GL_ARB_shader_atomic_counter_ops:enable
4
5layout(binding = 0) uniform atomic_uint counter;
6
7out highp vec4 vsColor;
8
9void 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}