2021-07-13 12:18:13 +00:00
|
|
|
struct Inner {
|
|
|
|
a : vec3<i32>;
|
|
|
|
b : i32;
|
|
|
|
c : vec3<u32>;
|
|
|
|
d : u32;
|
|
|
|
e : vec3<f32>;
|
|
|
|
f : f32;
|
|
|
|
g : vec2<i32>;
|
|
|
|
h : vec2<i32>;
|
|
|
|
i : mat2x3<f32>;
|
2022-01-19 22:46:57 +00:00
|
|
|
@align(16)
|
2021-07-13 12:18:13 +00:00
|
|
|
j : mat3x2<f32>;
|
2022-01-19 22:46:57 +00:00
|
|
|
@align(16)
|
2022-01-20 22:11:07 +00:00
|
|
|
k : array<vec4<i32>, 4>;
|
2022-01-19 18:11:17 +00:00
|
|
|
}
|
2021-07-13 12:18:13 +00:00
|
|
|
|
|
|
|
struct S {
|
|
|
|
arr : array<Inner, 8>;
|
2022-01-19 18:11:17 +00:00
|
|
|
}
|
2021-07-13 12:18:13 +00:00
|
|
|
|
2022-01-19 22:46:57 +00:00
|
|
|
@binding(0) @group(0) var<uniform> s : S;
|
2021-07-13 12:18:13 +00:00
|
|
|
|
2022-01-19 22:46:57 +00:00
|
|
|
@stage(compute) @workgroup_size(1)
|
|
|
|
fn main(@builtin(local_invocation_index) idx : u32) {
|
2021-07-13 12:18:13 +00:00
|
|
|
let a = s.arr[idx].a;
|
|
|
|
let b = s.arr[idx].b;
|
|
|
|
let c = s.arr[idx].c;
|
|
|
|
let d = s.arr[idx].d;
|
|
|
|
let e = s.arr[idx].e;
|
|
|
|
let f = s.arr[idx].f;
|
|
|
|
let g = s.arr[idx].g;
|
|
|
|
let h = s.arr[idx].h;
|
|
|
|
let i = s.arr[idx].i;
|
2021-11-17 14:54:07 +00:00
|
|
|
let j = s.arr[idx].j;
|
|
|
|
let k = s.arr[idx].k;
|
2021-07-13 12:18:13 +00:00
|
|
|
}
|