48 lines
563 B
HLSL
48 lines
563 B
HLSL
|
SKIP: FAILED
|
||
|
|
||
|
|
||
|
struct S {
|
||
|
a : array<vec4<i32>, 4>,
|
||
|
}
|
||
|
|
||
|
@group(0) @binding(0) var<storage, read_write> buffer : array<S>;
|
||
|
|
||
|
var<private> v : u32;
|
||
|
|
||
|
fn idx1() -> i32 {
|
||
|
v++;
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
fn idx2() -> i32 {
|
||
|
v++;
|
||
|
return 2;
|
||
|
}
|
||
|
|
||
|
fn idx3() -> i32 {
|
||
|
v++;
|
||
|
return 3;
|
||
|
}
|
||
|
|
||
|
fn idx4() -> i32 {
|
||
|
v++;
|
||
|
return 4;
|
||
|
}
|
||
|
|
||
|
fn idx5() -> i32 {
|
||
|
v++;
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
fn idx6() -> i32 {
|
||
|
v++;
|
||
|
return 2;
|
||
|
}
|
||
|
|
||
|
fn main() {
|
||
|
for(buffer[idx1()].a[idx2()][idx3()]++; (v < 10u); buffer[idx4()].a[idx5()][idx6()]++) {
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Failed to generate: error: cannot modify value of type 'i32'
|