struct Inner { scalar_i32 : i32, @align(16) @size(16) scalar_f32 : f32, }; struct S { scalar_f32 : f32, scalar_i32 : i32, scalar_u32 : u32, vec2_f32 : vec2, vec2_i32 : vec2, vec2_u32 : vec2, vec3_f32 : vec3, vec3_i32 : vec3, vec3_u32 : vec3, vec4_f32 : vec4, vec4_i32 : vec4, vec4_u32 : vec4, mat2x2_f32 : mat2x2, mat2x3_f32 : mat2x3, mat2x4_f32 : mat2x4, mat3x2_f32 : mat3x2, mat3x3_f32 : mat3x3, mat3x4_f32 : mat3x4, mat4x2_f32 : mat4x2, mat4x3_f32 : mat4x3, mat4x4_f32 : mat4x4, @align(16) arr2_vec3_f32 : array, 2>, @align(16) struct_inner : Inner, @align(16) array_struct_inner : array, }; @binding(0) @group(0) var ub : S; @compute @workgroup_size(1) fn main() { let scalar_f32 = ub.scalar_f32; let scalar_i32 = ub.scalar_i32; let scalar_u32 = ub.scalar_u32; let vec2_f32 = ub.vec2_f32; let vec2_i32 = ub.vec2_i32; let vec2_u32 = ub.vec2_u32; let vec3_f32 = ub.vec3_f32; let vec3_i32 = ub.vec3_i32; let vec3_u32 = ub.vec3_u32; let vec4_f32 = ub.vec4_f32; let vec4_i32 = ub.vec4_i32; let vec4_u32 = ub.vec4_u32; let mat2x2_f32 = ub.mat2x2_f32; let mat2x3_f32 = ub.mat2x3_f32; let mat2x4_f32 = ub.mat2x4_f32; let mat3x2_f32 = ub.mat3x2_f32; let mat3x3_f32 = ub.mat3x3_f32; let mat3x4_f32 = ub.mat3x4_f32; let mat4x2_f32 = ub.mat4x2_f32; let mat4x3_f32 = ub.mat4x3_f32; let mat4x4_f32 = ub.mat4x4_f32; let arr2_vec3_f32 = ub.arr2_vec3_f32; let struct_inner = ub.struct_inner; let array_struct_inner = ub.array_struct_inner; }