// language: metal1.0 #include #include using metal::uint; struct S { metal::float3 a; }; struct Test { S a; float b; }; struct type_2 { metal::float3 inner[2]; }; struct Test2_ { type_2 a; float b; }; struct Test3_ { metal::float4x3 a; float b; }; struct vertex_Output { metal::float4 member [[position]]; }; vertex vertex_Output vertex_( constant Test& input1_ [[buffer(0)]] , constant Test2_& input2_ [[buffer(1)]] , constant Test3_& input3_ [[buffer(2)]] ) { float _e4 = input1_.b; float _e8 = input2_.b; float _e12 = input3_.b; return vertex_Output { ((metal::float4(1.0) * _e4) * _e8) * _e12 }; }