blob: 9305ffecb848a1e51a3e61690d7c7370cf74af66 [file] [log] [blame]
@group(0) @binding(0) var<storage, read_write> s : f32;
fn f1(a : array<f32, 4>) -> f32 {
return a[3];
}
fn f2(a : array<array<f32, 4>, 3>) -> f32 {
return a[2][3];
}
fn f3(a : array<array<array<f32, 4>, 3>, 2>) -> f32 {
return a[1][2][3];
}
@compute @workgroup_size(1)
fn main() {
let a1 : array<f32, 4> = array<f32, 4>();
let a2 : array<array<f32, 4>, 3> = array<array<f32, 4>, 3>();
let a3 : array<array<array<f32, 4>, 3>, 2> = array<array<array<f32, 4>, 3>, 2>();
let v1 : f32 = f1(a1);
let v2 : f32 = f2(a2);
let v3 : f32 = f3(a3);
s = ((v1 + v2) + v3);
}