@group(0) @binding(0) var a : atomic; @fragment fn foo() -> @location(0) i32 { discard; var x = 0; let result = atomicCompareExchangeWeak(&a, 0, 1); if (result.exchanged) { x = result.old_value; } return x; }