1OpCapability Shader 2%1 = OpExtInstImport "GLSL.std.450" 3OpMemoryModel Logical GLSL450 4OpEntryPoint Fragment %main "main" %sk_FragColor %sk_Clockwise 5OpExecutionMode %main OriginUpperLeft 6OpName %sk_FragColor "sk_FragColor" 7OpName %sk_Clockwise "sk_Clockwise" 8OpName %_UniformBuffer "_UniformBuffer" 9OpMemberName %_UniformBuffer 0 "src" 10OpMemberName %_UniformBuffer 1 "dst" 11OpName %_blend_set_color_luminance_h3h3hh3 "_blend_set_color_luminance_h3h3hh3" 12OpName %lum "lum" 13OpName %result "result" 14OpName %minComp "minComp" 15OpName %maxComp "maxComp" 16OpName %main "main" 17OpName %_0_alpha "_0_alpha" 18OpName %_1_sda "_1_sda" 19OpName %_2_dsa "_2_dsa" 20OpDecorate %sk_FragColor RelaxedPrecision 21OpDecorate %sk_FragColor Location 0 22OpDecorate %sk_FragColor Index 0 23OpDecorate %sk_Clockwise BuiltIn FrontFacing 24OpMemberDecorate %_UniformBuffer 0 Offset 0 25OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 26OpMemberDecorate %_UniformBuffer 1 Offset 16 27OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 28OpDecorate %_UniformBuffer Block 29OpDecorate %11 Binding 0 30OpDecorate %11 DescriptorSet 0 31OpDecorate %lum RelaxedPrecision 32OpDecorate %23 RelaxedPrecision 33OpDecorate %27 RelaxedPrecision 34OpDecorate %28 RelaxedPrecision 35OpDecorate %result RelaxedPrecision 36OpDecorate %30 RelaxedPrecision 37OpDecorate %31 RelaxedPrecision 38OpDecorate %32 RelaxedPrecision 39OpDecorate %33 RelaxedPrecision 40OpDecorate %34 RelaxedPrecision 41OpDecorate %35 RelaxedPrecision 42OpDecorate %36 RelaxedPrecision 43OpDecorate %minComp RelaxedPrecision 44OpDecorate %40 RelaxedPrecision 45OpDecorate %41 RelaxedPrecision 46OpDecorate %42 RelaxedPrecision 47OpDecorate %43 RelaxedPrecision 48OpDecorate %44 RelaxedPrecision 49OpDecorate %45 RelaxedPrecision 50OpDecorate %maxComp RelaxedPrecision 51OpDecorate %49 RelaxedPrecision 52OpDecorate %50 RelaxedPrecision 53OpDecorate %51 RelaxedPrecision 54OpDecorate %52 RelaxedPrecision 55OpDecorate %53 RelaxedPrecision 56OpDecorate %54 RelaxedPrecision 57OpDecorate %56 RelaxedPrecision 58OpDecorate %61 RelaxedPrecision 59OpDecorate %62 RelaxedPrecision 60OpDecorate %67 RelaxedPrecision 61OpDecorate %68 RelaxedPrecision 62OpDecorate %69 RelaxedPrecision 63OpDecorate %70 RelaxedPrecision 64OpDecorate %71 RelaxedPrecision 65OpDecorate %72 RelaxedPrecision 66OpDecorate %73 RelaxedPrecision 67OpDecorate %74 RelaxedPrecision 68OpDecorate %75 RelaxedPrecision 69OpDecorate %76 RelaxedPrecision 70OpDecorate %77 RelaxedPrecision 71OpDecorate %78 RelaxedPrecision 72OpDecorate %79 RelaxedPrecision 73OpDecorate %80 RelaxedPrecision 74OpDecorate %81 RelaxedPrecision 75OpDecorate %85 RelaxedPrecision 76OpDecorate %86 RelaxedPrecision 77OpDecorate %92 RelaxedPrecision 78OpDecorate %93 RelaxedPrecision 79OpDecorate %94 RelaxedPrecision 80OpDecorate %95 RelaxedPrecision 81OpDecorate %96 RelaxedPrecision 82OpDecorate %97 RelaxedPrecision 83OpDecorate %98 RelaxedPrecision 84OpDecorate %99 RelaxedPrecision 85OpDecorate %100 RelaxedPrecision 86OpDecorate %101 RelaxedPrecision 87OpDecorate %102 RelaxedPrecision 88OpDecorate %103 RelaxedPrecision 89OpDecorate %105 RelaxedPrecision 90OpDecorate %106 RelaxedPrecision 91OpDecorate %107 RelaxedPrecision 92OpDecorate %108 RelaxedPrecision 93OpDecorate %109 RelaxedPrecision 94OpDecorate %_0_alpha RelaxedPrecision 95OpDecorate %118 RelaxedPrecision 96OpDecorate %119 RelaxedPrecision 97OpDecorate %122 RelaxedPrecision 98OpDecorate %123 RelaxedPrecision 99OpDecorate %124 RelaxedPrecision 100OpDecorate %_1_sda RelaxedPrecision 101OpDecorate %127 RelaxedPrecision 102OpDecorate %128 RelaxedPrecision 103OpDecorate %130 RelaxedPrecision 104OpDecorate %131 RelaxedPrecision 105OpDecorate %132 RelaxedPrecision 106OpDecorate %_2_dsa RelaxedPrecision 107OpDecorate %135 RelaxedPrecision 108OpDecorate %136 RelaxedPrecision 109OpDecorate %138 RelaxedPrecision 110OpDecorate %139 RelaxedPrecision 111OpDecorate %140 RelaxedPrecision 112OpDecorate %141 RelaxedPrecision 113OpDecorate %143 RelaxedPrecision 114OpDecorate %145 RelaxedPrecision 115OpDecorate %149 RelaxedPrecision 116OpDecorate %150 RelaxedPrecision 117OpDecorate %151 RelaxedPrecision 118OpDecorate %152 RelaxedPrecision 119OpDecorate %153 RelaxedPrecision 120OpDecorate %155 RelaxedPrecision 121OpDecorate %156 RelaxedPrecision 122OpDecorate %157 RelaxedPrecision 123OpDecorate %158 RelaxedPrecision 124OpDecorate %159 RelaxedPrecision 125OpDecorate %160 RelaxedPrecision 126OpDecorate %161 RelaxedPrecision 127OpDecorate %162 RelaxedPrecision 128OpDecorate %164 RelaxedPrecision 129OpDecorate %165 RelaxedPrecision 130OpDecorate %167 RelaxedPrecision 131OpDecorate %168 RelaxedPrecision 132OpDecorate %169 RelaxedPrecision 133OpDecorate %170 RelaxedPrecision 134OpDecorate %171 RelaxedPrecision 135OpDecorate %172 RelaxedPrecision 136%float = OpTypeFloat 32 137%v4float = OpTypeVector %float 4 138%_ptr_Output_v4float = OpTypePointer Output %v4float 139%sk_FragColor = OpVariable %_ptr_Output_v4float Output 140%bool = OpTypeBool 141%_ptr_Input_bool = OpTypePointer Input %bool 142%sk_Clockwise = OpVariable %_ptr_Input_bool Input 143%_UniformBuffer = OpTypeStruct %v4float %v4float 144%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 145%11 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 146%v3float = OpTypeVector %float 3 147%_ptr_Function_v3float = OpTypePointer Function %v3float 148%_ptr_Function_float = OpTypePointer Function %float 149%15 = OpTypeFunction %v3float %_ptr_Function_v3float %_ptr_Function_float %_ptr_Function_v3float 150%float_0_300000012 = OpConstant %float 0.300000012 151%float_0_589999974 = OpConstant %float 0.589999974 152%float_0_109999999 = OpConstant %float 0.109999999 153%27 = OpConstantComposite %v3float %float_0_300000012 %float_0_589999974 %float_0_109999999 154%false = OpConstantFalse %bool 155%float_0 = OpConstant %float 0 156%float_1 = OpConstant %float 1 157%void = OpTypeVoid 158%111 = OpTypeFunction %void 159%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 160%int = OpTypeInt 32 1 161%int_1 = OpConstant %int 1 162%int_0 = OpConstant %int 0 163%_blend_set_color_luminance_h3h3hh3 = OpFunction %v3float None %15 164%18 = OpFunctionParameter %_ptr_Function_v3float 165%19 = OpFunctionParameter %_ptr_Function_float 166%20 = OpFunctionParameter %_ptr_Function_v3float 167%21 = OpLabel 168%lum = OpVariable %_ptr_Function_float Function 169%result = OpVariable %_ptr_Function_v3float Function 170%minComp = OpVariable %_ptr_Function_float Function 171%maxComp = OpVariable %_ptr_Function_float Function 172%28 = OpLoad %v3float %20 173%23 = OpDot %float %27 %28 174OpStore %lum %23 175%30 = OpLoad %float %lum 176%32 = OpLoad %v3float %18 177%31 = OpDot %float %27 %32 178%33 = OpFSub %float %30 %31 179%34 = OpLoad %v3float %18 180%35 = OpCompositeConstruct %v3float %33 %33 %33 181%36 = OpFAdd %v3float %35 %34 182OpStore %result %36 183%40 = OpLoad %v3float %result 184%41 = OpCompositeExtract %float %40 0 185%42 = OpLoad %v3float %result 186%43 = OpCompositeExtract %float %42 1 187%39 = OpExtInst %float %1 FMin %41 %43 188%44 = OpLoad %v3float %result 189%45 = OpCompositeExtract %float %44 2 190%38 = OpExtInst %float %1 FMin %39 %45 191OpStore %minComp %38 192%49 = OpLoad %v3float %result 193%50 = OpCompositeExtract %float %49 0 194%51 = OpLoad %v3float %result 195%52 = OpCompositeExtract %float %51 1 196%48 = OpExtInst %float %1 FMax %50 %52 197%53 = OpLoad %v3float %result 198%54 = OpCompositeExtract %float %53 2 199%47 = OpExtInst %float %1 FMax %48 %54 200OpStore %maxComp %47 201%56 = OpLoad %float %minComp 202%58 = OpFOrdLessThan %bool %56 %float_0 203OpSelectionMerge %60 None 204OpBranchConditional %58 %59 %60 205%59 = OpLabel 206%61 = OpLoad %float %lum 207%62 = OpLoad %float %minComp 208%63 = OpFOrdNotEqual %bool %61 %62 209OpBranch %60 210%60 = OpLabel 211%64 = OpPhi %bool %false %21 %63 %59 212OpSelectionMerge %66 None 213OpBranchConditional %64 %65 %66 214%65 = OpLabel 215%67 = OpLoad %float %lum 216%68 = OpLoad %v3float %result 217%69 = OpLoad %float %lum 218%70 = OpCompositeConstruct %v3float %69 %69 %69 219%71 = OpFSub %v3float %68 %70 220%72 = OpLoad %float %lum 221%73 = OpLoad %float %lum 222%74 = OpLoad %float %minComp 223%75 = OpFSub %float %73 %74 224%76 = OpFDiv %float %72 %75 225%77 = OpVectorTimesScalar %v3float %71 %76 226%78 = OpCompositeConstruct %v3float %67 %67 %67 227%79 = OpFAdd %v3float %78 %77 228OpStore %result %79 229OpBranch %66 230%66 = OpLabel 231%80 = OpLoad %float %maxComp 232%81 = OpLoad %float %19 233%82 = OpFOrdGreaterThan %bool %80 %81 234OpSelectionMerge %84 None 235OpBranchConditional %82 %83 %84 236%83 = OpLabel 237%85 = OpLoad %float %maxComp 238%86 = OpLoad %float %lum 239%87 = OpFOrdNotEqual %bool %85 %86 240OpBranch %84 241%84 = OpLabel 242%88 = OpPhi %bool %false %66 %87 %83 243OpSelectionMerge %91 None 244OpBranchConditional %88 %89 %90 245%89 = OpLabel 246%92 = OpLoad %float %lum 247%93 = OpLoad %v3float %result 248%94 = OpLoad %float %lum 249%95 = OpCompositeConstruct %v3float %94 %94 %94 250%96 = OpFSub %v3float %93 %95 251%97 = OpLoad %float %19 252%98 = OpLoad %float %lum 253%99 = OpFSub %float %97 %98 254%100 = OpVectorTimesScalar %v3float %96 %99 255%101 = OpLoad %float %maxComp 256%102 = OpLoad %float %lum 257%103 = OpFSub %float %101 %102 258%105 = OpFDiv %float %float_1 %103 259%106 = OpVectorTimesScalar %v3float %100 %105 260%107 = OpCompositeConstruct %v3float %92 %92 %92 261%108 = OpFAdd %v3float %107 %106 262OpReturnValue %108 263%90 = OpLabel 264%109 = OpLoad %v3float %result 265OpReturnValue %109 266%91 = OpLabel 267OpUnreachable 268OpFunctionEnd 269%main = OpFunction %void None %111 270%112 = OpLabel 271%_0_alpha = OpVariable %_ptr_Function_float Function 272%_1_sda = OpVariable %_ptr_Function_v3float Function 273%_2_dsa = OpVariable %_ptr_Function_v3float Function 274%142 = OpVariable %_ptr_Function_v3float Function 275%144 = OpVariable %_ptr_Function_float Function 276%146 = OpVariable %_ptr_Function_v3float Function 277%114 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 278%118 = OpLoad %v4float %114 279%119 = OpCompositeExtract %float %118 3 280%120 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 281%122 = OpLoad %v4float %120 282%123 = OpCompositeExtract %float %122 3 283%124 = OpFMul %float %119 %123 284OpStore %_0_alpha %124 285%126 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 286%127 = OpLoad %v4float %126 287%128 = OpVectorShuffle %v3float %127 %127 0 1 2 288%129 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 289%130 = OpLoad %v4float %129 290%131 = OpCompositeExtract %float %130 3 291%132 = OpVectorTimesScalar %v3float %128 %131 292OpStore %_1_sda %132 293%134 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 294%135 = OpLoad %v4float %134 295%136 = OpVectorShuffle %v3float %135 %135 0 1 2 296%137 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 297%138 = OpLoad %v4float %137 298%139 = OpCompositeExtract %float %138 3 299%140 = OpVectorTimesScalar %v3float %136 %139 300OpStore %_2_dsa %140 301%141 = OpLoad %v3float %_2_dsa 302OpStore %142 %141 303%143 = OpLoad %float %_0_alpha 304OpStore %144 %143 305%145 = OpLoad %v3float %_1_sda 306OpStore %146 %145 307%147 = OpFunctionCall %v3float %_blend_set_color_luminance_h3h3hh3 %142 %144 %146 308%148 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 309%149 = OpLoad %v4float %148 310%150 = OpVectorShuffle %v3float %149 %149 0 1 2 311%151 = OpFAdd %v3float %147 %150 312%152 = OpLoad %v3float %_2_dsa 313%153 = OpFSub %v3float %151 %152 314%154 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 315%155 = OpLoad %v4float %154 316%156 = OpVectorShuffle %v3float %155 %155 0 1 2 317%157 = OpFAdd %v3float %153 %156 318%158 = OpLoad %v3float %_1_sda 319%159 = OpFSub %v3float %157 %158 320%160 = OpCompositeExtract %float %159 0 321%161 = OpCompositeExtract %float %159 1 322%162 = OpCompositeExtract %float %159 2 323%163 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 324%164 = OpLoad %v4float %163 325%165 = OpCompositeExtract %float %164 3 326%166 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 327%167 = OpLoad %v4float %166 328%168 = OpCompositeExtract %float %167 3 329%169 = OpFAdd %float %165 %168 330%170 = OpLoad %float %_0_alpha 331%171 = OpFSub %float %169 %170 332%172 = OpCompositeConstruct %v4float %160 %161 %162 %171 333OpStore %sk_FragColor %172 334OpReturn 335OpFunctionEnd 336