1struct A {2 u: u32,3 v: u32,4 w: vec2<u32>,5 @size(16) @align(8)6 x: u32,7 xx: u32,8}10struct B {11 a: vec2<u32>,12 b: vec3<u32>,13 c: u32,14 d: u32,15 @align(16)16 e: A,17 f: vec3<u32>,18 g: array<A, 3>,19 h: i32,20 @align(32)21 i: array<A>,22}24@group(0) @binding(0)25var<storage> in: B;27@group(0) @binding(1)28var<storage, read_write> out: B;30@compute @workgroup_size(1, 1, 1)31fn main() {32 out.a = in.a;33 out.b = in.b;34 out.c = in.c;35 out.d = in.d;36 out.e = in.e;37 out.f = in.f;38 out.g[0] = in.g[0];39 out.g[1] = in.g[1];40 out.g[2] = in.g[2];41 out.h = in.h;42 for (var i = 0u; i < arrayLength(&in.i); i = i + 1u) {43 out.i[i] = in.i[i];44 }45}