blob: 9305ffecb848a1e51a3e61690d7c7370cf74af66 [file] [log] [blame]
dan sinclaira01fd242023-12-05 20:23:42 +00001@group(0) @binding(0) var<storage, read_write> s : f32;
2
James Price94ac0782021-06-02 17:23:03 +00003fn f1(a : array<f32, 4>) -> f32 {
4 return a[3];
5}
6
7fn f2(a : array<array<f32, 4>, 3>) -> f32 {
8 return a[2][3];
9}
10
11fn f3(a : array<array<array<f32, 4>, 3>, 2>) -> f32 {
12 return a[1][2][3];
13}
14
dan sinclairb29892b2022-06-07 13:55:34 +000015@compute @workgroup_size(1)
James Price94ac0782021-06-02 17:23:03 +000016fn main() {
17 let a1 : array<f32, 4> = array<f32, 4>();
18 let a2 : array<array<f32, 4>, 3> = array<array<f32, 4>, 3>();
19 let a3 : array<array<array<f32, 4>, 3>, 2> = array<array<array<f32, 4>, 3>, 2>();
20 let v1 : f32 = f1(a1);
21 let v2 : f32 = f2(a2);
22 let v3 : f32 = f3(a3);
dan sinclaira01fd242023-12-05 20:23:42 +000023 s = ((v1 + v2) + v3);
James Price94ac0782021-06-02 17:23:03 +000024}