| RWByteAddressBuffer sbuf; | |
| float4 main(uint pos : FOO) : SV_Target0 | |
| { | |
| uint u; | |
| sbuf.InterlockedAdd(8, 1); | |
| sbuf.InterlockedAdd(8, 1, u); | |
| sbuf.InterlockedAnd(8, 1); | |
| sbuf.InterlockedAnd(8, 1, u); | |
| sbuf.InterlockedCompareExchange(8, 1, 2, u); | |
| // sbuf.InterlockedCompareStore(8, 1, 2); // TODO: ... | |
| sbuf.InterlockedExchange(8, 1, u); | |
| sbuf.InterlockedMax(8, 1); | |
| sbuf.InterlockedMax(8, 1, u); | |
| sbuf.InterlockedMin(8, 1); | |
| sbuf.InterlockedMin(8, 1, u); | |
| sbuf.InterlockedOr(8, 1); | |
| sbuf.InterlockedOr(8, 1, u); | |
| sbuf.InterlockedXor(8, 1); | |
| sbuf.InterlockedXor(8, 1, u); | |
| return sbuf.Load(pos); | |
| } |