// language: metal1.0 #include #include using metal::uint; struct FragmentOutputVec4Vec3_ { metal::float4 vec4f; metal::int4 vec4i; metal::uint4 vec4u; metal::float3 vec3f; metal::int3 vec3i; metal::uint3 vec3u; }; struct FragmentOutputVec2Scalar { metal::float2 vec2f; metal::int2 vec2i; metal::uint2 vec2u; float scalarf; int scalari; uint scalaru; char _pad6[4]; }; struct main_vec4vec3_Output { metal::float4 vec4f [[color(0)]]; metal::int4 vec4i [[color(1)]]; metal::uint4 vec4u [[color(2)]]; metal::float3 vec3f [[color(3)]]; metal::int3 vec3i [[color(4)]]; metal::uint3 vec3u [[color(5)]]; }; fragment main_vec4vec3_Output main_vec4vec3_( ) { FragmentOutputVec4Vec3_ output = {}; output.vec4f = metal::float4(0.0); output.vec4i = metal::int4(0); output.vec4u = metal::uint4(0u); output.vec3f = metal::float3(0.0); output.vec3i = metal::int3(0); output.vec3u = metal::uint3(0u); FragmentOutputVec4Vec3_ _e19 = output; const auto _tmp = _e19; return main_vec4vec3_Output { _tmp.vec4f, _tmp.vec4i, _tmp.vec4u, _tmp.vec3f, _tmp.vec3i, _tmp.vec3u }; } struct main_vec2scalarOutput { metal::float2 vec2f [[color(0)]]; metal::int2 vec2i [[color(1)]]; metal::uint2 vec2u [[color(2)]]; float scalarf [[color(3)]]; int scalari [[color(4)]]; uint scalaru [[color(5)]]; }; fragment main_vec2scalarOutput main_vec2scalar( ) { FragmentOutputVec2Scalar output_1 = {}; output_1.vec2f = metal::float2(0.0); output_1.vec2i = metal::int2(0); output_1.vec2u = metal::uint2(0u); output_1.scalarf = 0.0; output_1.scalari = 0; output_1.scalaru = 0u; FragmentOutputVec2Scalar _e16 = output_1; const auto _tmp = _e16; return main_vec2scalarOutput { _tmp.vec2f, _tmp.vec2i, _tmp.vec2u, _tmp.scalarf, _tmp.scalari, _tmp.scalaru }; }