generate OpLine before OpFunction
[platform/upstream/glslang.git] / Test / hlsl.structbuffer.atomics.frag
1
2 RWByteAddressBuffer sbuf;
3
4 float4 main(uint pos : FOO) : SV_Target0
5 {
6     uint u;
7
8     sbuf.InterlockedAdd(8, 1);
9     sbuf.InterlockedAdd(8, 1, u);
10     sbuf.InterlockedAnd(8, 1);
11     sbuf.InterlockedAnd(8, 1, u);
12     sbuf.InterlockedCompareExchange(8, 1, 2, u);
13     // sbuf.InterlockedCompareStore(8, 1, 2); // TODO: ...
14     sbuf.InterlockedExchange(8, 1, u);
15     sbuf.InterlockedMax(8, 1);
16     sbuf.InterlockedMax(8, 1, u);
17     sbuf.InterlockedMin(8, 1);
18     sbuf.InterlockedMin(8, 1, u);
19     sbuf.InterlockedOr(8, 1);
20     sbuf.InterlockedOr(8, 1, u);
21     sbuf.InterlockedXor(8, 1);
22     sbuf.InterlockedXor(8, 1, u);
23
24     return sbuf.Load(pos);
25 }