| cbuffer cbuffer_constants : register(b0, space1) { | |
| uint4 constants[1]; | |
| }; | |
| RWByteAddressBuffer result : register(u1, space1); | |
| RWByteAddressBuffer s : register(u0); | |
| int satomicLoad(uint offset) { | |
| int value = 0; | |
| s.InterlockedOr(offset, 0, value); | |
| return value; | |
| } | |
| int runTest() { | |
| return satomicLoad((4u * (0u + uint(constants[0].x)))); | |
| } | |
| [numthreads(1, 1, 1)] | |
| void main() { | |
| const int tint_symbol = runTest(); | |
| result.Store(0u, asuint(uint(tint_symbol))); | |
| return; | |
| } |