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 %f "f" 14OpName %i "i" 15OpName %u "u" 16OpName %b "b" 17OpName %f1 "f1" 18OpName %f2 "f2" 19OpName %f3 "f3" 20OpName %f4 "f4" 21OpName %i1 "i1" 22OpName %i2 "i2" 23OpName %i3 "i3" 24OpName %i4 "i4" 25OpName %u1 "u1" 26OpName %u2 "u2" 27OpName %u3 "u3" 28OpName %u4 "u4" 29OpName %b1 "b1" 30OpName %b2 "b2" 31OpName %b3 "b3" 32OpName %b4 "b4" 33OpDecorate %sk_FragColor RelaxedPrecision 34OpDecorate %sk_FragColor Location 0 35OpDecorate %sk_FragColor Index 0 36OpDecorate %sk_Clockwise BuiltIn FrontFacing 37OpMemberDecorate %_UniformBuffer 0 Offset 0 38OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 39OpMemberDecorate %_UniformBuffer 1 Offset 16 40OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 41OpDecorate %_UniformBuffer Block 42OpDecorate %10 Binding 0 43OpDecorate %10 DescriptorSet 0 44OpDecorate %32 RelaxedPrecision 45OpDecorate %33 RelaxedPrecision 46OpDecorate %37 RelaxedPrecision 47OpDecorate %38 RelaxedPrecision 48OpDecorate %44 RelaxedPrecision 49OpDecorate %45 RelaxedPrecision 50OpDecorate %50 RelaxedPrecision 51OpDecorate %51 RelaxedPrecision 52OpDecorate %62 RelaxedPrecision 53OpDecorate %74 RelaxedPrecision 54OpDecorate %86 RelaxedPrecision 55OpDecorate %100 RelaxedPrecision 56OpDecorate %103 RelaxedPrecision 57OpDecorate %105 RelaxedPrecision 58OpDecorate %107 RelaxedPrecision 59OpDecorate %109 RelaxedPrecision 60OpDecorate %110 RelaxedPrecision 61OpDecorate %112 RelaxedPrecision 62OpDecorate %113 RelaxedPrecision 63OpDecorate %115 RelaxedPrecision 64OpDecorate %116 RelaxedPrecision 65OpDecorate %118 RelaxedPrecision 66OpDecorate %119 RelaxedPrecision 67OpDecorate %121 RelaxedPrecision 68OpDecorate %122 RelaxedPrecision 69OpDecorate %124 RelaxedPrecision 70OpDecorate %125 RelaxedPrecision 71OpDecorate %127 RelaxedPrecision 72OpDecorate %128 RelaxedPrecision 73OpDecorate %130 RelaxedPrecision 74OpDecorate %131 RelaxedPrecision 75OpDecorate %132 RelaxedPrecision 76OpDecorate %133 RelaxedPrecision 77OpDecorate %134 RelaxedPrecision 78OpDecorate %135 RelaxedPrecision 79OpDecorate %136 RelaxedPrecision 80OpDecorate %137 RelaxedPrecision 81OpDecorate %138 RelaxedPrecision 82OpDecorate %139 RelaxedPrecision 83OpDecorate %140 RelaxedPrecision 84OpDecorate %141 RelaxedPrecision 85OpDecorate %142 RelaxedPrecision 86OpDecorate %143 RelaxedPrecision 87OpDecorate %152 RelaxedPrecision 88OpDecorate %154 RelaxedPrecision 89OpDecorate %155 RelaxedPrecision 90%float = OpTypeFloat 32 91%v4float = OpTypeVector %float 4 92%_ptr_Output_v4float = OpTypePointer Output %v4float 93%sk_FragColor = OpVariable %_ptr_Output_v4float Output 94%bool = OpTypeBool 95%_ptr_Input_bool = OpTypePointer Input %bool 96%sk_Clockwise = OpVariable %_ptr_Input_bool Input 97%_UniformBuffer = OpTypeStruct %v4float %v4float 98%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 99%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 100%void = OpTypeVoid 101%15 = OpTypeFunction %void 102%v2float = OpTypeVector %float 2 103%float_0 = OpConstant %float 0 104%19 = OpConstantComposite %v2float %float_0 %float_0 105%_ptr_Function_v2float = OpTypePointer Function %v2float 106%23 = OpTypeFunction %v4float %_ptr_Function_v2float 107%_ptr_Function_float = OpTypePointer Function %float 108%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 109%int = OpTypeInt 32 1 110%int_0 = OpConstant %int 0 111%_ptr_Function_int = OpTypePointer Function %int 112%uint = OpTypeInt 32 0 113%_ptr_Function_uint = OpTypePointer Function %uint 114%_ptr_Function_bool = OpTypePointer Function %bool 115%float_1 = OpConstant %float 1 116%int_1 = OpConstant %int 1 117%uint_1 = OpConstant %uint 1 118%uint_0 = OpConstant %uint 0 119%float_16 = OpConstant %float 16 120%_ptr_Function_v4float = OpTypePointer Function %v4float 121%_entrypoint_v = OpFunction %void None %15 122%16 = OpLabel 123%20 = OpVariable %_ptr_Function_v2float Function 124OpStore %20 %19 125%22 = OpFunctionCall %v4float %main %20 126OpStore %sk_FragColor %22 127OpReturn 128OpFunctionEnd 129%main = OpFunction %v4float None %23 130%24 = OpFunctionParameter %_ptr_Function_v2float 131%25 = OpLabel 132%f = OpVariable %_ptr_Function_float Function 133%i = OpVariable %_ptr_Function_int Function 134%u = OpVariable %_ptr_Function_uint Function 135%b = OpVariable %_ptr_Function_bool Function 136%f1 = OpVariable %_ptr_Function_float Function 137%f2 = OpVariable %_ptr_Function_float Function 138%f3 = OpVariable %_ptr_Function_float Function 139%f4 = OpVariable %_ptr_Function_float Function 140%i1 = OpVariable %_ptr_Function_int Function 141%i2 = OpVariable %_ptr_Function_int Function 142%i3 = OpVariable %_ptr_Function_int Function 143%i4 = OpVariable %_ptr_Function_int Function 144%u1 = OpVariable %_ptr_Function_uint Function 145%u2 = OpVariable %_ptr_Function_uint Function 146%u3 = OpVariable %_ptr_Function_uint Function 147%u4 = OpVariable %_ptr_Function_uint Function 148%b1 = OpVariable %_ptr_Function_bool Function 149%b2 = OpVariable %_ptr_Function_bool Function 150%b3 = OpVariable %_ptr_Function_bool Function 151%b4 = OpVariable %_ptr_Function_bool Function 152%146 = OpVariable %_ptr_Function_v4float Function 153%28 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 154%32 = OpLoad %v4float %28 155%33 = OpCompositeExtract %float %32 1 156OpStore %f %33 157%36 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 158%37 = OpLoad %v4float %36 159%38 = OpCompositeExtract %float %37 1 160%39 = OpConvertFToS %int %38 161OpStore %i %39 162%43 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 163%44 = OpLoad %v4float %43 164%45 = OpCompositeExtract %float %44 1 165%46 = OpConvertFToU %uint %45 166OpStore %u %46 167%49 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 168%50 = OpLoad %v4float %49 169%51 = OpCompositeExtract %float %50 1 170%52 = OpFUnordNotEqual %bool %51 %float_0 171OpStore %b %52 172%54 = OpLoad %float %f 173OpStore %f1 %54 174%56 = OpLoad %int %i 175%57 = OpConvertSToF %float %56 176OpStore %f2 %57 177%59 = OpLoad %uint %u 178%60 = OpConvertUToF %float %59 179OpStore %f3 %60 180%62 = OpLoad %bool %b 181%63 = OpSelect %float %62 %float_1 %float_0 182OpStore %f4 %63 183%66 = OpLoad %float %f 184%67 = OpConvertFToS %int %66 185OpStore %i1 %67 186%69 = OpLoad %int %i 187OpStore %i2 %69 188%71 = OpLoad %uint %u 189%72 = OpBitcast %int %71 190OpStore %i3 %72 191%74 = OpLoad %bool %b 192%75 = OpSelect %int %74 %int_1 %int_0 193OpStore %i4 %75 194%78 = OpLoad %float %f 195%79 = OpConvertFToU %uint %78 196OpStore %u1 %79 197%81 = OpLoad %int %i 198%82 = OpBitcast %uint %81 199OpStore %u2 %82 200%84 = OpLoad %uint %u 201OpStore %u3 %84 202%86 = OpLoad %bool %b 203%87 = OpSelect %uint %86 %uint_1 %uint_0 204OpStore %u4 %87 205%91 = OpLoad %float %f 206%92 = OpFUnordNotEqual %bool %91 %float_0 207OpStore %b1 %92 208%94 = OpLoad %int %i 209%95 = OpINotEqual %bool %94 %int_0 210OpStore %b2 %95 211%97 = OpLoad %uint %u 212%98 = OpINotEqual %bool %97 %uint_0 213OpStore %b3 %98 214%100 = OpLoad %bool %b 215OpStore %b4 %100 216%101 = OpLoad %float %f1 217%102 = OpLoad %float %f2 218%103 = OpFAdd %float %101 %102 219%104 = OpLoad %float %f3 220%105 = OpFAdd %float %103 %104 221%106 = OpLoad %float %f4 222%107 = OpFAdd %float %105 %106 223%108 = OpLoad %int %i1 224%109 = OpConvertSToF %float %108 225%110 = OpFAdd %float %107 %109 226%111 = OpLoad %int %i2 227%112 = OpConvertSToF %float %111 228%113 = OpFAdd %float %110 %112 229%114 = OpLoad %int %i3 230%115 = OpConvertSToF %float %114 231%116 = OpFAdd %float %113 %115 232%117 = OpLoad %int %i4 233%118 = OpConvertSToF %float %117 234%119 = OpFAdd %float %116 %118 235%120 = OpLoad %uint %u1 236%121 = OpConvertUToF %float %120 237%122 = OpFAdd %float %119 %121 238%123 = OpLoad %uint %u2 239%124 = OpConvertUToF %float %123 240%125 = OpFAdd %float %122 %124 241%126 = OpLoad %uint %u3 242%127 = OpConvertUToF %float %126 243%128 = OpFAdd %float %125 %127 244%129 = OpLoad %uint %u4 245%130 = OpConvertUToF %float %129 246%131 = OpFAdd %float %128 %130 247%132 = OpLoad %bool %b1 248%133 = OpSelect %float %132 %float_1 %float_0 249%134 = OpFAdd %float %131 %133 250%135 = OpLoad %bool %b2 251%136 = OpSelect %float %135 %float_1 %float_0 252%137 = OpFAdd %float %134 %136 253%138 = OpLoad %bool %b3 254%139 = OpSelect %float %138 %float_1 %float_0 255%140 = OpFAdd %float %137 %139 256%141 = OpLoad %bool %b4 257%142 = OpSelect %float %141 %float_1 %float_0 258%143 = OpFAdd %float %140 %142 259%145 = OpFOrdEqual %bool %143 %float_16 260OpSelectionMerge %150 None 261OpBranchConditional %145 %148 %149 262%148 = OpLabel 263%151 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 264%152 = OpLoad %v4float %151 265OpStore %146 %152 266OpBranch %150 267%149 = OpLabel 268%153 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 269%154 = OpLoad %v4float %153 270OpStore %146 %154 271OpBranch %150 272%150 = OpLabel 273%155 = OpLoad %v4float %146 274OpReturnValue %155 275OpFunctionEnd 276