blob: 3a52312c56707f2e97f49fffd2502ee6f2c567dc [file] [log] [blame]
@group(0) @binding(0)
var<storage, read_write> a_u32 : atomic<u32>;
@group(0) @binding(1)
var<storage, read_write> a_i32 : atomic<i32>;
var<workgroup> b_u32 : atomic<u32>;
var<workgroup> b_i32 : atomic<i32>;
@stage(compute) @workgroup_size(16)
fn main() {
{
var value = 42u;
let r1 = atomicCompareExchangeWeak(&a_u32, 0u, value);
let r2 = atomicCompareExchangeWeak(&a_u32, 0u, value);
let r3 = atomicCompareExchangeWeak(&a_u32, 0u, value);
}
{
var value = 42;
let r1 = atomicCompareExchangeWeak(&a_i32, 0, value);
let r2 = atomicCompareExchangeWeak(&a_i32, 0, value);
let r3 = atomicCompareExchangeWeak(&a_i32, 0, value);
}
{
var value = 42u;
let r1 = atomicCompareExchangeWeak(&b_u32, 0u, value);
let r2 = atomicCompareExchangeWeak(&b_u32, 0u, value);
let r3 = atomicCompareExchangeWeak(&b_u32, 0u, value);
}
{
var value = 42;
let r1 = atomicCompareExchangeWeak(&b_i32, 0, value);
let r2 = atomicCompareExchangeWeak(&b_i32, 0, value);
let r3 = atomicCompareExchangeWeak(&b_i32, 0, value);
}
}