type Arr = array<u32, 50>; | |
struct Buf { | |
count : u32; | |
data : Arr; | |
} | |
@group(0) @binding(0) var<storage, read_write> b : Buf; | |
@stage(compute) @workgroup_size(1) | |
fn main() { | |
var i : u32 = 0u; | |
loop { | |
if ((i >= b.count)) { | |
break; | |
} | |
let p : ptr<storage, u32, read_write> = &(b.data[i]); | |
if (((i % 2u) == 0u)) { | |
continue; | |
} | |
*(p) = 0u; | |
continuing { | |
*(p) = (*(p) * 2u); | |
i = (i + 1u); | |
} | |
} | |
return; | |
} |