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