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 "pos1" 10OpMemberName %_UniformBuffer 1 "pos2" 11OpMemberName %_UniformBuffer 2 "colorGreen" 12OpMemberName %_UniformBuffer 3 "colorRed" 13OpName %_entrypoint_v "_entrypoint_v" 14OpName %main "main" 15OpName %expected "expected" 16OpDecorate %sk_FragColor RelaxedPrecision 17OpDecorate %sk_FragColor Location 0 18OpDecorate %sk_FragColor Index 0 19OpDecorate %sk_Clockwise BuiltIn FrontFacing 20OpMemberDecorate %_UniformBuffer 0 Offset 0 21OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 22OpMemberDecorate %_UniformBuffer 1 Offset 16 23OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 24OpMemberDecorate %_UniformBuffer 2 Offset 32 25OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision 26OpMemberDecorate %_UniformBuffer 3 Offset 48 27OpMemberDecorate %_UniformBuffer 3 RelaxedPrecision 28OpDecorate %_UniformBuffer Block 29OpDecorate %10 Binding 0 30OpDecorate %10 DescriptorSet 0 31OpDecorate %expected RelaxedPrecision 32OpDecorate %31 RelaxedPrecision 33OpDecorate %33 RelaxedPrecision 34OpDecorate %38 RelaxedPrecision 35OpDecorate %39 RelaxedPrecision 36OpDecorate %42 RelaxedPrecision 37OpDecorate %43 RelaxedPrecision 38OpDecorate %44 RelaxedPrecision 39OpDecorate %45 RelaxedPrecision 40OpDecorate %49 RelaxedPrecision 41OpDecorate %51 RelaxedPrecision 42OpDecorate %52 RelaxedPrecision 43OpDecorate %54 RelaxedPrecision 44OpDecorate %55 RelaxedPrecision 45OpDecorate %56 RelaxedPrecision 46OpDecorate %57 RelaxedPrecision 47OpDecorate %62 RelaxedPrecision 48OpDecorate %64 RelaxedPrecision 49OpDecorate %65 RelaxedPrecision 50OpDecorate %68 RelaxedPrecision 51OpDecorate %69 RelaxedPrecision 52OpDecorate %70 RelaxedPrecision 53OpDecorate %71 RelaxedPrecision 54OpDecorate %76 RelaxedPrecision 55OpDecorate %78 RelaxedPrecision 56OpDecorate %80 RelaxedPrecision 57OpDecorate %81 RelaxedPrecision 58OpDecorate %82 RelaxedPrecision 59OpDecorate %87 RelaxedPrecision 60OpDecorate %88 RelaxedPrecision 61OpDecorate %93 RelaxedPrecision 62OpDecorate %94 RelaxedPrecision 63OpDecorate %99 RelaxedPrecision 64OpDecorate %100 RelaxedPrecision 65OpDecorate %105 RelaxedPrecision 66OpDecorate %106 RelaxedPrecision 67OpDecorate %115 RelaxedPrecision 68OpDecorate %118 RelaxedPrecision 69OpDecorate %119 RelaxedPrecision 70%float = OpTypeFloat 32 71%v4float = OpTypeVector %float 4 72%_ptr_Output_v4float = OpTypePointer Output %v4float 73%sk_FragColor = OpVariable %_ptr_Output_v4float Output 74%bool = OpTypeBool 75%_ptr_Input_bool = OpTypePointer Input %bool 76%sk_Clockwise = OpVariable %_ptr_Input_bool Input 77%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float %v4float 78%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 79%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 80%void = OpTypeVoid 81%15 = OpTypeFunction %void 82%v2float = OpTypeVector %float 2 83%float_0 = OpConstant %float 0 84%19 = OpConstantComposite %v2float %float_0 %float_0 85%_ptr_Function_v2float = OpTypePointer Function %v2float 86%23 = OpTypeFunction %v4float %_ptr_Function_v2float 87%_ptr_Function_v4float = OpTypePointer Function %v4float 88%float_3 = OpConstant %float 3 89%float_5 = OpConstant %float 5 90%float_13 = OpConstant %float 13 91%31 = OpConstantComposite %v4float %float_3 %float_3 %float_5 %float_13 92%false = OpConstantFalse %bool 93%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 94%int = OpTypeInt 32 1 95%int_0 = OpConstant %int 0 96%int_1 = OpConstant %int 1 97%v3float = OpTypeVector %float 3 98%int_2 = OpConstant %int 2 99%int_3 = OpConstant %int 3 100%_entrypoint_v = OpFunction %void None %15 101%16 = OpLabel 102%20 = OpVariable %_ptr_Function_v2float Function 103OpStore %20 %19 104%22 = OpFunctionCall %v4float %main %20 105OpStore %sk_FragColor %22 106OpReturn 107OpFunctionEnd 108%main = OpFunction %v4float None %23 109%24 = OpFunctionParameter %_ptr_Function_v2float 110%25 = OpLabel 111%expected = OpVariable %_ptr_Function_v4float Function 112%109 = OpVariable %_ptr_Function_v4float Function 113OpStore %expected %31 114%34 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 115%38 = OpLoad %v4float %34 116%39 = OpCompositeExtract %float %38 0 117%40 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 118%42 = OpLoad %v4float %40 119%43 = OpCompositeExtract %float %42 0 120%33 = OpExtInst %float %1 Distance %39 %43 121%44 = OpLoad %v4float %expected 122%45 = OpCompositeExtract %float %44 0 123%46 = OpFOrdEqual %bool %33 %45 124OpSelectionMerge %48 None 125OpBranchConditional %46 %47 %48 126%47 = OpLabel 127%50 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 128%51 = OpLoad %v4float %50 129%52 = OpVectorShuffle %v2float %51 %51 0 1 130%53 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 131%54 = OpLoad %v4float %53 132%55 = OpVectorShuffle %v2float %54 %54 0 1 133%49 = OpExtInst %float %1 Distance %52 %55 134%56 = OpLoad %v4float %expected 135%57 = OpCompositeExtract %float %56 1 136%58 = OpFOrdEqual %bool %49 %57 137OpBranch %48 138%48 = OpLabel 139%59 = OpPhi %bool %false %25 %58 %47 140OpSelectionMerge %61 None 141OpBranchConditional %59 %60 %61 142%60 = OpLabel 143%63 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 144%64 = OpLoad %v4float %63 145%65 = OpVectorShuffle %v3float %64 %64 0 1 2 146%67 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 147%68 = OpLoad %v4float %67 148%69 = OpVectorShuffle %v3float %68 %68 0 1 2 149%62 = OpExtInst %float %1 Distance %65 %69 150%70 = OpLoad %v4float %expected 151%71 = OpCompositeExtract %float %70 2 152%72 = OpFOrdEqual %bool %62 %71 153OpBranch %61 154%61 = OpLabel 155%73 = OpPhi %bool %false %48 %72 %60 156OpSelectionMerge %75 None 157OpBranchConditional %73 %74 %75 158%74 = OpLabel 159%77 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 160%78 = OpLoad %v4float %77 161%79 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 162%80 = OpLoad %v4float %79 163%76 = OpExtInst %float %1 Distance %78 %80 164%81 = OpLoad %v4float %expected 165%82 = OpCompositeExtract %float %81 3 166%83 = OpFOrdEqual %bool %76 %82 167OpBranch %75 168%75 = OpLabel 169%84 = OpPhi %bool %false %61 %83 %74 170OpSelectionMerge %86 None 171OpBranchConditional %84 %85 %86 172%85 = OpLabel 173%87 = OpLoad %v4float %expected 174%88 = OpCompositeExtract %float %87 0 175%89 = OpFOrdEqual %bool %float_3 %88 176OpBranch %86 177%86 = OpLabel 178%90 = OpPhi %bool %false %75 %89 %85 179OpSelectionMerge %92 None 180OpBranchConditional %90 %91 %92 181%91 = OpLabel 182%93 = OpLoad %v4float %expected 183%94 = OpCompositeExtract %float %93 1 184%95 = OpFOrdEqual %bool %float_3 %94 185OpBranch %92 186%92 = OpLabel 187%96 = OpPhi %bool %false %86 %95 %91 188OpSelectionMerge %98 None 189OpBranchConditional %96 %97 %98 190%97 = OpLabel 191%99 = OpLoad %v4float %expected 192%100 = OpCompositeExtract %float %99 2 193%101 = OpFOrdEqual %bool %float_5 %100 194OpBranch %98 195%98 = OpLabel 196%102 = OpPhi %bool %false %92 %101 %97 197OpSelectionMerge %104 None 198OpBranchConditional %102 %103 %104 199%103 = OpLabel 200%105 = OpLoad %v4float %expected 201%106 = OpCompositeExtract %float %105 3 202%107 = OpFOrdEqual %bool %float_13 %106 203OpBranch %104 204%104 = OpLabel 205%108 = OpPhi %bool %false %98 %107 %103 206OpSelectionMerge %112 None 207OpBranchConditional %108 %110 %111 208%110 = OpLabel 209%113 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2 210%115 = OpLoad %v4float %113 211OpStore %109 %115 212OpBranch %112 213%111 = OpLabel 214%116 = OpAccessChain %_ptr_Uniform_v4float %10 %int_3 215%118 = OpLoad %v4float %116 216OpStore %109 %118 217OpBranch %112 218%112 = OpLabel 219%119 = OpLoad %v4float %109 220OpReturnValue %119 221OpFunctionEnd 222