; SPIR-V ; Version: 1.3 ; Generator: Google Tint Compiler; 0 ; Bound: 46 ; Schema: 0 OpCapability Shader OpMemoryModel Logical GLSL450 OpEntryPoint Fragment %main "main" %a_1 %mask_1 %b_1 %a_2 %mask_2 OpExecutionMode %main OriginUpperLeft OpName %a_1 "a_1" OpName %mask_1 "mask_1" OpName %b_1 "b_1" OpName %a_2 "a_2" OpName %mask_2 "mask_2" OpName %FragIn "FragIn" OpMemberName %FragIn 0 "a" OpMemberName %FragIn 1 "mask" OpName %main_inner "main_inner" OpName %in "in" OpName %b "b" OpName %main "main" OpDecorate %a_1 Location 0 OpDecorate %_arr_uint_uint_1 ArrayStride 4 OpDecorate %mask_1 BuiltIn SampleMask OpDecorate %b_1 Location 1 OpDecorate %a_2 Location 0 OpDecorate %mask_2 BuiltIn SampleMask OpMemberDecorate %FragIn 0 Offset 0 OpMemberDecorate %FragIn 1 Offset 4 %float = OpTypeFloat 32 %_ptr_Input_float = OpTypePointer Input %float %a_1 = OpVariable %_ptr_Input_float Input %uint = OpTypeInt 32 0 %uint_1 = OpConstant %uint 1 %_arr_uint_uint_1 = OpTypeArray %uint %uint_1 %_ptr_Input__arr_uint_uint_1 = OpTypePointer Input %_arr_uint_uint_1 %mask_1 = OpVariable %_ptr_Input__arr_uint_uint_1 Input %b_1 = OpVariable %_ptr_Input_float Input %_ptr_Output_float = OpTypePointer Output %float %12 = OpConstantNull %float %a_2 = OpVariable %_ptr_Output_float Output %12 %_ptr_Output__arr_uint_uint_1 = OpTypePointer Output %_arr_uint_uint_1 %15 = OpConstantNull %_arr_uint_uint_1 %mask_2 = OpVariable %_ptr_Output__arr_uint_uint_1 Output %15 %FragIn = OpTypeStruct %float %uint %16 = OpTypeFunction %FragIn %FragIn %float %uint_0 = OpConstant %uint 0 %bool = OpTypeBool %void = OpTypeVoid %29 = OpTypeFunction %void %int = OpTypeInt 32 1 %int_0 = OpConstant %int 0 %_ptr_Input_uint = OpTypePointer Input %uint %_ptr_Output_uint = OpTypePointer Output %uint %main_inner = OpFunction %FragIn None %16 %in = OpFunctionParameter %FragIn %b = OpFunctionParameter %float %21 = OpLabel %22 = OpCompositeExtract %uint %in 1 %24 = OpIEqual %bool %22 %uint_0 OpSelectionMerge %26 None OpBranchConditional %24 %27 %26 %27 = OpLabel OpReturnValue %in %26 = OpLabel %28 = OpCompositeConstruct %FragIn %b %uint_1 OpReturnValue %28 OpFunctionEnd %main = OpFunction %void None %29 %32 = OpLabel %34 = OpLoad %float %a_1 %38 = OpAccessChain %_ptr_Input_uint %mask_1 %int_0 %39 = OpLoad %uint %38 %40 = OpCompositeConstruct %FragIn %34 %39 %41 = OpLoad %float %b_1 %33 = OpFunctionCall %FragIn %main_inner %40 %41 %42 = OpCompositeExtract %float %33 0 OpStore %a_2 %42 %44 = OpAccessChain %_ptr_Output_uint %mask_2 %int_0 %45 = OpCompositeExtract %uint %33 1 OpStore %44 %45 OpReturn OpFunctionEnd