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