Files
Lucina3DS/externals/glslang/Test/hlsl.structbuffer.atomics.frag
2025-02-06 22:24:29 +08:00

26 lines
649 B
JavaScript

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