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