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