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 %_soft_light_component_hh2h2 "_soft_light_component_hh2h2" 12OpName %DSqd "DSqd" 13OpName %DCub "DCub" 14OpName %DaSqd "DaSqd" 15OpName %DaCub "DaCub" 16OpName %main "main" 17OpDecorate %sk_FragColor RelaxedPrecision 18OpDecorate %sk_FragColor Location 0 19OpDecorate %sk_FragColor Index 0 20OpDecorate %sk_Clockwise BuiltIn FrontFacing 21OpMemberDecorate %_UniformBuffer 0 Offset 0 22OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 23OpMemberDecorate %_UniformBuffer 1 Offset 16 24OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 25OpDecorate %_UniformBuffer Block 26OpDecorate %11 Binding 0 27OpDecorate %11 DescriptorSet 0 28OpDecorate %21 RelaxedPrecision 29OpDecorate %22 RelaxedPrecision 30OpDecorate %23 RelaxedPrecision 31OpDecorate %24 RelaxedPrecision 32OpDecorate %25 RelaxedPrecision 33OpDecorate %30 RelaxedPrecision 34OpDecorate %31 RelaxedPrecision 35OpDecorate %32 RelaxedPrecision 36OpDecorate %33 RelaxedPrecision 37OpDecorate %34 RelaxedPrecision 38OpDecorate %35 RelaxedPrecision 39OpDecorate %36 RelaxedPrecision 40OpDecorate %37 RelaxedPrecision 41OpDecorate %38 RelaxedPrecision 42OpDecorate %39 RelaxedPrecision 43OpDecorate %40 RelaxedPrecision 44OpDecorate %41 RelaxedPrecision 45OpDecorate %42 RelaxedPrecision 46OpDecorate %43 RelaxedPrecision 47OpDecorate %44 RelaxedPrecision 48OpDecorate %46 RelaxedPrecision 49OpDecorate %47 RelaxedPrecision 50OpDecorate %48 RelaxedPrecision 51OpDecorate %49 RelaxedPrecision 52OpDecorate %50 RelaxedPrecision 53OpDecorate %51 RelaxedPrecision 54OpDecorate %52 RelaxedPrecision 55OpDecorate %53 RelaxedPrecision 56OpDecorate %54 RelaxedPrecision 57OpDecorate %55 RelaxedPrecision 58OpDecorate %56 RelaxedPrecision 59OpDecorate %57 RelaxedPrecision 60OpDecorate %58 RelaxedPrecision 61OpDecorate %59 RelaxedPrecision 62OpDecorate %60 RelaxedPrecision 63OpDecorate %61 RelaxedPrecision 64OpDecorate %62 RelaxedPrecision 65OpDecorate %63 RelaxedPrecision 66OpDecorate %64 RelaxedPrecision 67OpDecorate %66 RelaxedPrecision 68OpDecorate %67 RelaxedPrecision 69OpDecorate %68 RelaxedPrecision 70OpDecorate %69 RelaxedPrecision 71OpDecorate %70 RelaxedPrecision 72OpDecorate %DSqd RelaxedPrecision 73OpDecorate %77 RelaxedPrecision 74OpDecorate %78 RelaxedPrecision 75OpDecorate %79 RelaxedPrecision 76OpDecorate %80 RelaxedPrecision 77OpDecorate %81 RelaxedPrecision 78OpDecorate %DCub RelaxedPrecision 79OpDecorate %83 RelaxedPrecision 80OpDecorate %84 RelaxedPrecision 81OpDecorate %85 RelaxedPrecision 82OpDecorate %86 RelaxedPrecision 83OpDecorate %DaSqd RelaxedPrecision 84OpDecorate %88 RelaxedPrecision 85OpDecorate %89 RelaxedPrecision 86OpDecorate %90 RelaxedPrecision 87OpDecorate %91 RelaxedPrecision 88OpDecorate %92 RelaxedPrecision 89OpDecorate %DaCub RelaxedPrecision 90OpDecorate %94 RelaxedPrecision 91OpDecorate %95 RelaxedPrecision 92OpDecorate %96 RelaxedPrecision 93OpDecorate %97 RelaxedPrecision 94OpDecorate %98 RelaxedPrecision 95OpDecorate %99 RelaxedPrecision 96OpDecorate %100 RelaxedPrecision 97OpDecorate %101 RelaxedPrecision 98OpDecorate %102 RelaxedPrecision 99OpDecorate %104 RelaxedPrecision 100OpDecorate %105 RelaxedPrecision 101OpDecorate %106 RelaxedPrecision 102OpDecorate %108 RelaxedPrecision 103OpDecorate %109 RelaxedPrecision 104OpDecorate %110 RelaxedPrecision 105OpDecorate %111 RelaxedPrecision 106OpDecorate %112 RelaxedPrecision 107OpDecorate %113 RelaxedPrecision 108OpDecorate %114 RelaxedPrecision 109OpDecorate %115 RelaxedPrecision 110OpDecorate %117 RelaxedPrecision 111OpDecorate %118 RelaxedPrecision 112OpDecorate %119 RelaxedPrecision 113OpDecorate %120 RelaxedPrecision 114OpDecorate %121 RelaxedPrecision 115OpDecorate %122 RelaxedPrecision 116OpDecorate %123 RelaxedPrecision 117OpDecorate %124 RelaxedPrecision 118OpDecorate %125 RelaxedPrecision 119OpDecorate %126 RelaxedPrecision 120OpDecorate %127 RelaxedPrecision 121OpDecorate %128 RelaxedPrecision 122OpDecorate %129 RelaxedPrecision 123OpDecorate %131 RelaxedPrecision 124OpDecorate %132 RelaxedPrecision 125OpDecorate %133 RelaxedPrecision 126OpDecorate %134 RelaxedPrecision 127OpDecorate %135 RelaxedPrecision 128OpDecorate %136 RelaxedPrecision 129OpDecorate %137 RelaxedPrecision 130OpDecorate %138 RelaxedPrecision 131OpDecorate %139 RelaxedPrecision 132OpDecorate %140 RelaxedPrecision 133OpDecorate %141 RelaxedPrecision 134OpDecorate %142 RelaxedPrecision 135OpDecorate %143 RelaxedPrecision 136OpDecorate %144 RelaxedPrecision 137OpDecorate %145 RelaxedPrecision 138OpDecorate %146 RelaxedPrecision 139OpDecorate %147 RelaxedPrecision 140OpDecorate %148 RelaxedPrecision 141OpDecorate %149 RelaxedPrecision 142OpDecorate %150 RelaxedPrecision 143OpDecorate %151 RelaxedPrecision 144OpDecorate %152 RelaxedPrecision 145OpDecorate %153 RelaxedPrecision 146OpDecorate %154 RelaxedPrecision 147OpDecorate %155 RelaxedPrecision 148OpDecorate %156 RelaxedPrecision 149OpDecorate %157 RelaxedPrecision 150OpDecorate %158 RelaxedPrecision 151OpDecorate %159 RelaxedPrecision 152OpDecorate %160 RelaxedPrecision 153OpDecorate %161 RelaxedPrecision 154OpDecorate %162 RelaxedPrecision 155OpDecorate %163 RelaxedPrecision 156OpDecorate %164 RelaxedPrecision 157OpDecorate %165 RelaxedPrecision 158OpDecorate %166 RelaxedPrecision 159OpDecorate %167 RelaxedPrecision 160OpDecorate %168 RelaxedPrecision 161OpDecorate %169 RelaxedPrecision 162OpDecorate %170 RelaxedPrecision 163OpDecorate %171 RelaxedPrecision 164OpDecorate %172 RelaxedPrecision 165OpDecorate %173 RelaxedPrecision 166OpDecorate %174 RelaxedPrecision 167OpDecorate %175 RelaxedPrecision 168OpDecorate %176 RelaxedPrecision 169OpDecorate %177 RelaxedPrecision 170OpDecorate %178 RelaxedPrecision 171OpDecorate %179 RelaxedPrecision 172OpDecorate %180 RelaxedPrecision 173OpDecorate %188 RelaxedPrecision 174OpDecorate %189 RelaxedPrecision 175OpDecorate %199 RelaxedPrecision 176OpDecorate %201 RelaxedPrecision 177OpDecorate %202 RelaxedPrecision 178OpDecorate %205 RelaxedPrecision 179OpDecorate %206 RelaxedPrecision 180OpDecorate %210 RelaxedPrecision 181OpDecorate %211 RelaxedPrecision 182OpDecorate %214 RelaxedPrecision 183OpDecorate %215 RelaxedPrecision 184OpDecorate %219 RelaxedPrecision 185OpDecorate %220 RelaxedPrecision 186OpDecorate %223 RelaxedPrecision 187OpDecorate %224 RelaxedPrecision 188OpDecorate %228 RelaxedPrecision 189OpDecorate %229 RelaxedPrecision 190OpDecorate %231 RelaxedPrecision 191OpDecorate %232 RelaxedPrecision 192OpDecorate %233 RelaxedPrecision 193OpDecorate %235 RelaxedPrecision 194OpDecorate %236 RelaxedPrecision 195OpDecorate %237 RelaxedPrecision 196OpDecorate %238 RelaxedPrecision 197OpDecorate %239 RelaxedPrecision 198OpDecorate %240 RelaxedPrecision 199%float = OpTypeFloat 32 200%v4float = OpTypeVector %float 4 201%_ptr_Output_v4float = OpTypePointer Output %v4float 202%sk_FragColor = OpVariable %_ptr_Output_v4float Output 203%bool = OpTypeBool 204%_ptr_Input_bool = OpTypePointer Input %bool 205%sk_Clockwise = OpVariable %_ptr_Input_bool Input 206%_UniformBuffer = OpTypeStruct %v4float %v4float 207%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 208%11 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 209%v2float = OpTypeVector %float 2 210%_ptr_Function_v2float = OpTypePointer Function %v2float 211%15 = OpTypeFunction %float %_ptr_Function_v2float %_ptr_Function_v2float 212%float_2 = OpConstant %float 2 213%float_1 = OpConstant %float 1 214%float_4 = OpConstant %float 4 215%_ptr_Function_float = OpTypePointer Function %float 216%float_3 = OpConstant %float 3 217%float_6 = OpConstant %float 6 218%float_12 = OpConstant %float 12 219%float_16 = OpConstant %float 16 220%void = OpTypeVoid 221%182 = OpTypeFunction %void 222%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 223%int = OpTypeInt 32 1 224%int_1 = OpConstant %int 1 225%float_0 = OpConstant %float 0 226%_ptr_Function_v4float = OpTypePointer Function %v4float 227%int_0 = OpConstant %int 0 228%_soft_light_component_hh2h2 = OpFunction %float None %15 229%17 = OpFunctionParameter %_ptr_Function_v2float 230%18 = OpFunctionParameter %_ptr_Function_v2float 231%19 = OpLabel 232%DSqd = OpVariable %_ptr_Function_float Function 233%DCub = OpVariable %_ptr_Function_float Function 234%DaSqd = OpVariable %_ptr_Function_float Function 235%DaCub = OpVariable %_ptr_Function_float Function 236%21 = OpLoad %v2float %17 237%22 = OpCompositeExtract %float %21 0 238%23 = OpFMul %float %float_2 %22 239%24 = OpLoad %v2float %17 240%25 = OpCompositeExtract %float %24 1 241%26 = OpFOrdLessThanEqual %bool %23 %25 242OpSelectionMerge %29 None 243OpBranchConditional %26 %27 %28 244%27 = OpLabel 245%30 = OpLoad %v2float %18 246%31 = OpCompositeExtract %float %30 0 247%32 = OpLoad %v2float %18 248%33 = OpCompositeExtract %float %32 0 249%34 = OpFMul %float %31 %33 250%35 = OpLoad %v2float %17 251%36 = OpCompositeExtract %float %35 1 252%37 = OpLoad %v2float %17 253%38 = OpCompositeExtract %float %37 0 254%39 = OpFMul %float %float_2 %38 255%40 = OpFSub %float %36 %39 256%41 = OpFMul %float %34 %40 257%42 = OpLoad %v2float %18 258%43 = OpCompositeExtract %float %42 1 259%44 = OpFDiv %float %41 %43 260%46 = OpLoad %v2float %18 261%47 = OpCompositeExtract %float %46 1 262%48 = OpFSub %float %float_1 %47 263%49 = OpLoad %v2float %17 264%50 = OpCompositeExtract %float %49 0 265%51 = OpFMul %float %48 %50 266%52 = OpFAdd %float %44 %51 267%53 = OpLoad %v2float %18 268%54 = OpCompositeExtract %float %53 0 269%56 = OpLoad %v2float %17 270%57 = OpCompositeExtract %float %56 1 271%55 = OpFNegate %float %57 272%58 = OpLoad %v2float %17 273%59 = OpCompositeExtract %float %58 0 274%60 = OpFMul %float %float_2 %59 275%61 = OpFAdd %float %55 %60 276%62 = OpFAdd %float %61 %float_1 277%63 = OpFMul %float %54 %62 278%64 = OpFAdd %float %52 %63 279OpReturnValue %64 280%28 = OpLabel 281%66 = OpLoad %v2float %18 282%67 = OpCompositeExtract %float %66 0 283%68 = OpFMul %float %float_4 %67 284%69 = OpLoad %v2float %18 285%70 = OpCompositeExtract %float %69 1 286%71 = OpFOrdLessThanEqual %bool %68 %70 287OpSelectionMerge %74 None 288OpBranchConditional %71 %72 %73 289%72 = OpLabel 290%77 = OpLoad %v2float %18 291%78 = OpCompositeExtract %float %77 0 292%79 = OpLoad %v2float %18 293%80 = OpCompositeExtract %float %79 0 294%81 = OpFMul %float %78 %80 295OpStore %DSqd %81 296%83 = OpLoad %float %DSqd 297%84 = OpLoad %v2float %18 298%85 = OpCompositeExtract %float %84 0 299%86 = OpFMul %float %83 %85 300OpStore %DCub %86 301%88 = OpLoad %v2float %18 302%89 = OpCompositeExtract %float %88 1 303%90 = OpLoad %v2float %18 304%91 = OpCompositeExtract %float %90 1 305%92 = OpFMul %float %89 %91 306OpStore %DaSqd %92 307%94 = OpLoad %float %DaSqd 308%95 = OpLoad %v2float %18 309%96 = OpCompositeExtract %float %95 1 310%97 = OpFMul %float %94 %96 311OpStore %DaCub %97 312%98 = OpLoad %float %DaSqd 313%99 = OpLoad %v2float %17 314%100 = OpCompositeExtract %float %99 0 315%101 = OpLoad %v2float %18 316%102 = OpCompositeExtract %float %101 0 317%104 = OpLoad %v2float %17 318%105 = OpCompositeExtract %float %104 1 319%106 = OpFMul %float %float_3 %105 320%108 = OpLoad %v2float %17 321%109 = OpCompositeExtract %float %108 0 322%110 = OpFMul %float %float_6 %109 323%111 = OpFSub %float %106 %110 324%112 = OpFSub %float %111 %float_1 325%113 = OpFMul %float %102 %112 326%114 = OpFSub %float %100 %113 327%115 = OpFMul %float %98 %114 328%117 = OpLoad %v2float %18 329%118 = OpCompositeExtract %float %117 1 330%119 = OpFMul %float %float_12 %118 331%120 = OpLoad %float %DSqd 332%121 = OpFMul %float %119 %120 333%122 = OpLoad %v2float %17 334%123 = OpCompositeExtract %float %122 1 335%124 = OpLoad %v2float %17 336%125 = OpCompositeExtract %float %124 0 337%126 = OpFMul %float %float_2 %125 338%127 = OpFSub %float %123 %126 339%128 = OpFMul %float %121 %127 340%129 = OpFAdd %float %115 %128 341%131 = OpLoad %float %DCub 342%132 = OpFMul %float %float_16 %131 343%133 = OpLoad %v2float %17 344%134 = OpCompositeExtract %float %133 1 345%135 = OpLoad %v2float %17 346%136 = OpCompositeExtract %float %135 0 347%137 = OpFMul %float %float_2 %136 348%138 = OpFSub %float %134 %137 349%139 = OpFMul %float %132 %138 350%140 = OpFSub %float %129 %139 351%141 = OpLoad %float %DaCub 352%142 = OpLoad %v2float %17 353%143 = OpCompositeExtract %float %142 0 354%144 = OpFMul %float %141 %143 355%145 = OpFSub %float %140 %144 356%146 = OpLoad %float %DaSqd 357%147 = OpFDiv %float %145 %146 358OpReturnValue %147 359%73 = OpLabel 360%148 = OpLoad %v2float %18 361%149 = OpCompositeExtract %float %148 0 362%150 = OpLoad %v2float %17 363%151 = OpCompositeExtract %float %150 1 364%152 = OpLoad %v2float %17 365%153 = OpCompositeExtract %float %152 0 366%154 = OpFMul %float %float_2 %153 367%155 = OpFSub %float %151 %154 368%156 = OpFAdd %float %155 %float_1 369%157 = OpFMul %float %149 %156 370%158 = OpLoad %v2float %17 371%159 = OpCompositeExtract %float %158 0 372%160 = OpFAdd %float %157 %159 373%162 = OpLoad %v2float %18 374%163 = OpCompositeExtract %float %162 1 375%164 = OpLoad %v2float %18 376%165 = OpCompositeExtract %float %164 0 377%166 = OpFMul %float %163 %165 378%161 = OpExtInst %float %1 Sqrt %166 379%167 = OpLoad %v2float %17 380%168 = OpCompositeExtract %float %167 1 381%169 = OpLoad %v2float %17 382%170 = OpCompositeExtract %float %169 0 383%171 = OpFMul %float %float_2 %170 384%172 = OpFSub %float %168 %171 385%173 = OpFMul %float %161 %172 386%174 = OpFSub %float %160 %173 387%175 = OpLoad %v2float %18 388%176 = OpCompositeExtract %float %175 1 389%177 = OpLoad %v2float %17 390%178 = OpCompositeExtract %float %177 0 391%179 = OpFMul %float %176 %178 392%180 = OpFSub %float %174 %179 393OpReturnValue %180 394%74 = OpLabel 395OpBranch %29 396%29 = OpLabel 397OpUnreachable 398OpFunctionEnd 399%main = OpFunction %void None %182 400%183 = OpLabel 401%192 = OpVariable %_ptr_Function_v4float Function 402%203 = OpVariable %_ptr_Function_v2float Function 403%207 = OpVariable %_ptr_Function_v2float Function 404%212 = OpVariable %_ptr_Function_v2float Function 405%216 = OpVariable %_ptr_Function_v2float Function 406%221 = OpVariable %_ptr_Function_v2float Function 407%225 = OpVariable %_ptr_Function_v2float Function 408%184 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 409%188 = OpLoad %v4float %184 410%189 = OpCompositeExtract %float %188 3 411%191 = OpFOrdEqual %bool %189 %float_0 412OpSelectionMerge %196 None 413OpBranchConditional %191 %194 %195 414%194 = OpLabel 415%197 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 416%199 = OpLoad %v4float %197 417OpStore %192 %199 418OpBranch %196 419%195 = OpLabel 420%200 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 421%201 = OpLoad %v4float %200 422%202 = OpVectorShuffle %v2float %201 %201 0 3 423OpStore %203 %202 424%204 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 425%205 = OpLoad %v4float %204 426%206 = OpVectorShuffle %v2float %205 %205 0 3 427OpStore %207 %206 428%208 = OpFunctionCall %float %_soft_light_component_hh2h2 %203 %207 429%209 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 430%210 = OpLoad %v4float %209 431%211 = OpVectorShuffle %v2float %210 %210 1 3 432OpStore %212 %211 433%213 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 434%214 = OpLoad %v4float %213 435%215 = OpVectorShuffle %v2float %214 %214 1 3 436OpStore %216 %215 437%217 = OpFunctionCall %float %_soft_light_component_hh2h2 %212 %216 438%218 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 439%219 = OpLoad %v4float %218 440%220 = OpVectorShuffle %v2float %219 %219 2 3 441OpStore %221 %220 442%222 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 443%223 = OpLoad %v4float %222 444%224 = OpVectorShuffle %v2float %223 %223 2 3 445OpStore %225 %224 446%226 = OpFunctionCall %float %_soft_light_component_hh2h2 %221 %225 447%227 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 448%228 = OpLoad %v4float %227 449%229 = OpCompositeExtract %float %228 3 450%230 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 451%231 = OpLoad %v4float %230 452%232 = OpCompositeExtract %float %231 3 453%233 = OpFSub %float %float_1 %232 454%234 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 455%235 = OpLoad %v4float %234 456%236 = OpCompositeExtract %float %235 3 457%237 = OpFMul %float %233 %236 458%238 = OpFAdd %float %229 %237 459%239 = OpCompositeConstruct %v4float %208 %217 %226 %238 460OpStore %192 %239 461OpBranch %196 462%196 = OpLabel 463%240 = OpLoad %v4float %192 464OpStore %sk_FragColor %240 465OpReturn 466OpFunctionEnd 467