2 RWByteAddressBuffer sbuf;
4 float4 main(uint pos : FOO) : SV_Target0
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);
24 return sbuf.Load(pos);