36 lines
488 B
HLSL
36 lines
488 B
HLSL
|
SKIP: FAILED
|
||
|
|
||
|
|
||
|
struct S {
|
||
|
a : i32,
|
||
|
b : vec4<f32>,
|
||
|
c : mat2x2<f32>,
|
||
|
}
|
||
|
|
||
|
@group(0) @binding(0) var<storage, read_write> v : S;
|
||
|
|
||
|
var<private> i : u32;
|
||
|
|
||
|
fn idx1() -> i32 {
|
||
|
i += 1u;
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
fn idx2() -> i32 {
|
||
|
i += 2u;
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
fn idx3() -> i32 {
|
||
|
i += 3u;
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
fn foo() {
|
||
|
var a = array<f32, 4>();
|
||
|
for(a[idx1()] *= 2.0; (a[idx2()] < 10.0); a[idx3()] += 1.0) {
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Failed to generate: error: unknown statement type: tint::ast::CompoundAssignmentStatement
|