struct S { a: vec3, } struct Test { a: S, b: f32, // offset: 16 } struct Test2 { a: array, 2>, b: f32, // offset: 32 } struct Test3 { a: mat4x3, b: f32, // offset: 64 } @group(0) @binding(0) var input1: Test; @group(0) @binding(1) var input2: Test2; @group(0) @binding(2) var input3: Test3; @vertex fn vertex() -> @builtin(position) vec4 { return vec4(1.0) * input1.b * input2.b * input3.b; }