| ; SPIR-V |
| ; Version: 1.3 |
| ; Generator: Google Tint Compiler; 0 |
| ; Bound: 38 |
| ; Schema: 0 |
| OpCapability Shader |
| OpMemoryModel Logical GLSL450 |
| OpEntryPoint Fragment %frag_main "frag_main" %a_1 %b_1 %color_1 %blend_1 |
| OpExecutionMode %frag_main OriginUpperLeft |
| OpName %a_1 "a_1" |
| OpName %b_1 "b_1" |
| OpName %color_1 "color_1" |
| OpName %blend_1 "blend_1" |
| OpName %FragOutput "FragOutput" |
| OpMemberName %FragOutput 0 "color" |
| OpMemberName %FragOutput 1 "blend" |
| OpName %FragInput "FragInput" |
| OpMemberName %FragInput 0 "a" |
| OpMemberName %FragInput 1 "b" |
| OpName %frag_main_inner "frag_main_inner" |
| OpName %in "in" |
| OpName %output "output" |
| OpName %frag_main "frag_main" |
| OpDecorate %a_1 Location 0 |
| OpDecorate %b_1 Location 1 |
| OpDecorate %color_1 Location 0 |
| OpDecorate %color_1 Index 0 |
| OpDecorate %blend_1 Location 0 |
| OpDecorate %blend_1 Index 1 |
| OpMemberDecorate %FragOutput 0 Offset 0 |
| OpMemberDecorate %FragOutput 1 Offset 16 |
| OpMemberDecorate %FragInput 0 Offset 0 |
| OpMemberDecorate %FragInput 1 Offset 16 |
| %float = OpTypeFloat 32 |
| %v4float = OpTypeVector %float 4 |
| %_ptr_Input_v4float = OpTypePointer Input %v4float |
| %a_1 = OpVariable %_ptr_Input_v4float Input |
| %b_1 = OpVariable %_ptr_Input_v4float Input |
| %_ptr_Output_v4float = OpTypePointer Output %v4float |
| %8 = OpConstantNull %v4float |
| %color_1 = OpVariable %_ptr_Output_v4float Output %8 |
| %blend_1 = OpVariable %_ptr_Output_v4float Output %8 |
| %FragOutput = OpTypeStruct %v4float %v4float |
| %FragInput = OpTypeStruct %v4float %v4float |
| %10 = OpTypeFunction %FragOutput %FragInput |
| %_ptr_Function_FragOutput = OpTypePointer Function %FragOutput |
| %18 = OpConstantNull %FragOutput |
| %uint = OpTypeInt 32 0 |
| %uint_0 = OpConstant %uint 0 |
| %_ptr_Function_v4float = OpTypePointer Function %v4float |
| %uint_1 = OpConstant %uint 1 |
| %void = OpTypeVoid |
| %28 = OpTypeFunction %void |
| %frag_main_inner = OpFunction %FragOutput None %10 |
| %in = OpFunctionParameter %FragInput |
| %15 = OpLabel |
| %output = OpVariable %_ptr_Function_FragOutput Function %18 |
| %22 = OpAccessChain %_ptr_Function_v4float %output %uint_0 |
| %23 = OpCompositeExtract %v4float %in 0 |
| OpStore %22 %23 |
| %25 = OpAccessChain %_ptr_Function_v4float %output %uint_1 |
| %26 = OpCompositeExtract %v4float %in 1 |
| OpStore %25 %26 |
| %27 = OpLoad %FragOutput %output |
| OpReturnValue %27 |
| OpFunctionEnd |
| %frag_main = OpFunction %void None %28 |
| %31 = OpLabel |
| %33 = OpLoad %v4float %a_1 |
| %34 = OpLoad %v4float %b_1 |
| %35 = OpCompositeConstruct %FragInput %33 %34 |
| %32 = OpFunctionCall %FragOutput %frag_main_inner %35 |
| %36 = OpCompositeExtract %v4float %32 0 |
| OpStore %color_1 %36 |
| %37 = OpCompositeExtract %v4float %32 1 |
| OpStore %blend_1 %37 |
| OpReturn |
| OpFunctionEnd |