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; }