1OpCapability Shader 2%1 = OpExtInstImport "GLSL.std.450" 3OpMemoryModel Logical GLSL450 4OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise 5OpExecutionMode %_entrypoint_v OriginUpperLeft 6OpName %sk_FragColor "sk_FragColor" 7OpName %sk_Clockwise "sk_Clockwise" 8OpName %_UniformBuffer "_UniformBuffer" 9OpMemberName %_UniformBuffer 0 "colorGreen" 10OpMemberName %_UniformBuffer 1 "colorRed" 11OpMemberName %_UniformBuffer 2 "unknownInput" 12OpName %_entrypoint_v "_entrypoint_v" 13OpName %return_on_both_sides_b "return_on_both_sides_b" 14OpName %for_inside_body_b "for_inside_body_b" 15OpName %x "x" 16OpName %after_for_body_b "after_for_body_b" 17OpName %x_0 "x" 18OpName %for_with_double_sided_conditional_return_b "for_with_double_sided_conditional_return_b" 19OpName %x_1 "x" 20OpName %if_else_chain_b "if_else_chain_b" 21OpName %main "main" 22OpDecorate %sk_FragColor RelaxedPrecision 23OpDecorate %sk_FragColor Location 0 24OpDecorate %sk_FragColor Index 0 25OpDecorate %sk_Clockwise BuiltIn FrontFacing 26OpMemberDecorate %_UniformBuffer 0 Offset 0 27OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 28OpMemberDecorate %_UniformBuffer 1 Offset 16 29OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 30OpMemberDecorate %_UniformBuffer 2 Offset 32 31OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision 32OpDecorate %_UniformBuffer Block 33OpDecorate %15 Binding 0 34OpDecorate %15 DescriptorSet 0 35OpDecorate %34 RelaxedPrecision 36OpDecorate %77 RelaxedPrecision 37OpDecorate %86 RelaxedPrecision 38OpDecorate %92 RelaxedPrecision 39OpDecorate %100 RelaxedPrecision 40OpDecorate %107 RelaxedPrecision 41OpDecorate %143 RelaxedPrecision 42OpDecorate %145 RelaxedPrecision 43OpDecorate %146 RelaxedPrecision 44%float = OpTypeFloat 32 45%v4float = OpTypeVector %float 4 46%_ptr_Output_v4float = OpTypePointer Output %v4float 47%sk_FragColor = OpVariable %_ptr_Output_v4float Output 48%bool = OpTypeBool 49%_ptr_Input_bool = OpTypePointer Input %bool 50%sk_Clockwise = OpVariable %_ptr_Input_bool Input 51%_UniformBuffer = OpTypeStruct %v4float %v4float %float 52%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 53%15 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 54%void = OpTypeVoid 55%20 = OpTypeFunction %void 56%v2float = OpTypeVector %float 2 57%float_0 = OpConstant %float 0 58%24 = OpConstantComposite %v2float %float_0 %float_0 59%_ptr_Function_v2float = OpTypePointer Function %v2float 60%28 = OpTypeFunction %bool 61%_ptr_Uniform_float = OpTypePointer Uniform %float 62%int = OpTypeInt 32 1 63%int_2 = OpConstant %int 2 64%float_1 = OpConstant %float 1 65%true = OpConstantTrue %bool 66%_ptr_Function_int = OpTypePointer Function %int 67%int_0 = OpConstant %int 0 68%int_10 = OpConstant %int 10 69%int_1 = OpConstant %int 1 70%float_2 = OpConstant %float 2 71%false = OpConstantFalse %bool 72%float_3 = OpConstant %float 3 73%float_4 = OpConstant %float 4 74%113 = OpTypeFunction %v4float %_ptr_Function_v2float 75%_ptr_Function_v4float = OpTypePointer Function %v4float 76%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 77%_entrypoint_v = OpFunction %void None %20 78%21 = OpLabel 79%25 = OpVariable %_ptr_Function_v2float Function 80OpStore %25 %24 81%27 = OpFunctionCall %v4float %main %25 82OpStore %sk_FragColor %27 83OpReturn 84OpFunctionEnd 85%return_on_both_sides_b = OpFunction %bool None %28 86%29 = OpLabel 87%30 = OpAccessChain %_ptr_Uniform_float %15 %int_2 88%34 = OpLoad %float %30 89%36 = OpFOrdEqual %bool %34 %float_1 90OpSelectionMerge %39 None 91OpBranchConditional %36 %37 %38 92%37 = OpLabel 93OpReturnValue %true 94%38 = OpLabel 95OpReturnValue %true 96%39 = OpLabel 97OpUnreachable 98OpFunctionEnd 99%for_inside_body_b = OpFunction %bool None %28 100%41 = OpLabel 101%x = OpVariable %_ptr_Function_int Function 102OpStore %x %int_0 103OpBranch %45 104%45 = OpLabel 105OpLoopMerge %49 %48 None 106OpBranch %46 107%46 = OpLabel 108%50 = OpLoad %int %x 109%52 = OpSLessThanEqual %bool %50 %int_10 110OpBranchConditional %52 %47 %49 111%47 = OpLabel 112OpReturnValue %true 113%48 = OpLabel 114%54 = OpLoad %int %x 115%55 = OpIAdd %int %54 %int_1 116OpStore %x %55 117OpBranch %45 118%49 = OpLabel 119OpUnreachable 120OpFunctionEnd 121%after_for_body_b = OpFunction %bool None %28 122%56 = OpLabel 123%x_0 = OpVariable %_ptr_Function_int Function 124OpStore %x_0 %int_0 125OpBranch %58 126%58 = OpLabel 127OpLoopMerge %62 %61 None 128OpBranch %59 129%59 = OpLabel 130%63 = OpLoad %int %x_0 131%64 = OpSLessThanEqual %bool %63 %int_10 132OpBranchConditional %64 %60 %62 133%60 = OpLabel 134OpBranch %61 135%61 = OpLabel 136%65 = OpLoad %int %x_0 137%66 = OpIAdd %int %65 %int_1 138OpStore %x_0 %66 139OpBranch %58 140%62 = OpLabel 141OpReturnValue %true 142OpFunctionEnd 143%for_with_double_sided_conditional_return_b = OpFunction %bool None %28 144%67 = OpLabel 145%x_1 = OpVariable %_ptr_Function_int Function 146OpStore %x_1 %int_0 147OpBranch %69 148%69 = OpLabel 149OpLoopMerge %73 %72 None 150OpBranch %70 151%70 = OpLabel 152%74 = OpLoad %int %x_1 153%75 = OpSLessThanEqual %bool %74 %int_10 154OpBranchConditional %75 %71 %73 155%71 = OpLabel 156%76 = OpAccessChain %_ptr_Uniform_float %15 %int_2 157%77 = OpLoad %float %76 158%78 = OpFOrdEqual %bool %77 %float_1 159OpSelectionMerge %81 None 160OpBranchConditional %78 %79 %80 161%79 = OpLabel 162OpReturnValue %true 163%80 = OpLabel 164OpReturnValue %true 165%81 = OpLabel 166OpBranch %72 167%72 = OpLabel 168%82 = OpLoad %int %x_1 169%83 = OpIAdd %int %82 %int_1 170OpStore %x_1 %83 171OpBranch %69 172%73 = OpLabel 173OpUnreachable 174OpFunctionEnd 175%if_else_chain_b = OpFunction %bool None %28 176%84 = OpLabel 177%85 = OpAccessChain %_ptr_Uniform_float %15 %int_2 178%86 = OpLoad %float %85 179%87 = OpFOrdEqual %bool %86 %float_1 180OpSelectionMerge %90 None 181OpBranchConditional %87 %88 %89 182%88 = OpLabel 183OpReturnValue %true 184%89 = OpLabel 185%91 = OpAccessChain %_ptr_Uniform_float %15 %int_2 186%92 = OpLoad %float %91 187%94 = OpFOrdEqual %bool %92 %float_2 188OpSelectionMerge %97 None 189OpBranchConditional %94 %95 %96 190%95 = OpLabel 191OpReturnValue %false 192%96 = OpLabel 193%99 = OpAccessChain %_ptr_Uniform_float %15 %int_2 194%100 = OpLoad %float %99 195%102 = OpFOrdEqual %bool %100 %float_3 196OpSelectionMerge %105 None 197OpBranchConditional %102 %103 %104 198%103 = OpLabel 199OpReturnValue %true 200%104 = OpLabel 201%106 = OpAccessChain %_ptr_Uniform_float %15 %int_2 202%107 = OpLoad %float %106 203%109 = OpFOrdEqual %bool %107 %float_4 204OpSelectionMerge %112 None 205OpBranchConditional %109 %110 %111 206%110 = OpLabel 207OpReturnValue %false 208%111 = OpLabel 209OpReturnValue %true 210%112 = OpLabel 211OpBranch %105 212%105 = OpLabel 213OpBranch %97 214%97 = OpLabel 215OpBranch %90 216%90 = OpLabel 217OpUnreachable 218OpFunctionEnd 219%main = OpFunction %v4float None %113 220%114 = OpFunctionParameter %_ptr_Function_v2float 221%115 = OpLabel 222%136 = OpVariable %_ptr_Function_v4float Function 223OpSelectionMerge %117 None 224OpBranchConditional %true %116 %117 225%116 = OpLabel 226%118 = OpFunctionCall %bool %return_on_both_sides_b 227OpBranch %117 228%117 = OpLabel 229%119 = OpPhi %bool %false %115 %118 %116 230OpSelectionMerge %121 None 231OpBranchConditional %119 %120 %121 232%120 = OpLabel 233%122 = OpFunctionCall %bool %for_inside_body_b 234OpBranch %121 235%121 = OpLabel 236%123 = OpPhi %bool %false %117 %122 %120 237OpSelectionMerge %125 None 238OpBranchConditional %123 %124 %125 239%124 = OpLabel 240%126 = OpFunctionCall %bool %after_for_body_b 241OpBranch %125 242%125 = OpLabel 243%127 = OpPhi %bool %false %121 %126 %124 244OpSelectionMerge %129 None 245OpBranchConditional %127 %128 %129 246%128 = OpLabel 247%130 = OpFunctionCall %bool %for_with_double_sided_conditional_return_b 248OpBranch %129 249%129 = OpLabel 250%131 = OpPhi %bool %false %125 %130 %128 251OpSelectionMerge %133 None 252OpBranchConditional %131 %132 %133 253%132 = OpLabel 254%134 = OpFunctionCall %bool %if_else_chain_b 255OpBranch %133 256%133 = OpLabel 257%135 = OpPhi %bool %false %129 %134 %132 258OpSelectionMerge %140 None 259OpBranchConditional %135 %138 %139 260%138 = OpLabel 261%141 = OpAccessChain %_ptr_Uniform_v4float %15 %int_0 262%143 = OpLoad %v4float %141 263OpStore %136 %143 264OpBranch %140 265%139 = OpLabel 266%144 = OpAccessChain %_ptr_Uniform_v4float %15 %int_1 267%145 = OpLoad %v4float %144 268OpStore %136 %145 269OpBranch %140 270%140 = OpLabel 271%146 = OpLoad %v4float %136 272OpReturnValue %146 273OpFunctionEnd 274