enable f16; struct Inner { scalar_i32 : i32, scalar_f32 : f32, scalar_f16 : f16, }; struct S { scalar_f32 : f32, scalar_i32 : i32, scalar_u32 : u32, scalar_f16 : f16, vec2_f32 : vec2, vec2_i32 : vec2, vec2_u32 : vec2, vec2_f16 : vec2, vec3_f32 : vec3, vec3_i32 : vec3, vec3_u32 : vec3, vec3_f16 : vec3, vec4_f32 : vec4, vec4_i32 : vec4, vec4_u32 : vec4, vec4_f16 : 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, mat2x2_f16 : mat2x2, mat2x3_f16 : mat2x3, mat2x4_f16 : mat2x4, mat3x2_f16 : mat3x2, mat3x3_f16 : mat3x3, mat3x4_f16 : mat3x4, mat4x2_f16 : mat4x2, mat4x3_f16 : mat4x3, mat4x4_f16 : mat4x4, arr2_vec3_f32 : array, 2>, arr2_mat4x2_f16 : array, 2>, struct_inner : Inner, array_struct_inner : array, }; @binding(0) @group(0) var sb : S; @compute @workgroup_size(1) fn main() { sb.scalar_f32 = f32(); sb.scalar_i32 = i32(); sb.scalar_u32 = u32(); sb.scalar_f16 = f16(); sb.vec2_f32 = vec2(); sb.vec2_i32 = vec2(); sb.vec2_u32 = vec2(); sb.vec2_f16 = vec2(); sb.vec3_f32 = vec3(); sb.vec3_i32 = vec3(); sb.vec3_u32 = vec3(); sb.vec3_f16 = vec3(); sb.vec4_f32 = vec4(); sb.vec4_i32 = vec4(); sb.vec4_u32 = vec4(); sb.vec4_f16 = vec4(); sb.mat2x2_f32 = mat2x2(); sb.mat2x3_f32 = mat2x3(); sb.mat2x4_f32 = mat2x4(); sb.mat3x2_f32 = mat3x2(); sb.mat3x3_f32 = mat3x3(); sb.mat3x4_f32 = mat3x4(); sb.mat4x2_f32 = mat4x2(); sb.mat4x3_f32 = mat4x3(); sb.mat4x4_f32 = mat4x4(); sb.mat2x2_f16 = mat2x2(); sb.mat2x3_f16 = mat2x3(); sb.mat2x4_f16 = mat2x4(); sb.mat3x2_f16 = mat3x2(); sb.mat3x3_f16 = mat3x3(); sb.mat3x4_f16 = mat3x4(); sb.mat4x2_f16 = mat4x2(); sb.mat4x3_f16 = mat4x3(); sb.mat4x4_f16 = mat4x4(); sb.arr2_vec3_f32 = array, 2>(); sb.arr2_mat4x2_f16 = array, 2>(); sb.struct_inner = Inner(); sb.array_struct_inner = array(); }