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_overlay_component_hh2h2 "_blend_overlay_component_hh2h2" 12OpName %blend_overlay_h4h4h4 "blend_overlay_h4h4h4" 13OpName %result "result" 14OpName %main "main" 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 23OpDecorate %_UniformBuffer Block 24OpDecorate %12 Binding 0 25OpDecorate %12 DescriptorSet 0 26OpDecorate %22 RelaxedPrecision 27OpDecorate %23 RelaxedPrecision 28OpDecorate %24 RelaxedPrecision 29OpDecorate %25 RelaxedPrecision 30OpDecorate %26 RelaxedPrecision 31OpDecorate %33 RelaxedPrecision 32OpDecorate %34 RelaxedPrecision 33OpDecorate %35 RelaxedPrecision 34OpDecorate %36 RelaxedPrecision 35OpDecorate %37 RelaxedPrecision 36OpDecorate %38 RelaxedPrecision 37OpDecorate %39 RelaxedPrecision 38OpDecorate %40 RelaxedPrecision 39OpDecorate %41 RelaxedPrecision 40OpDecorate %42 RelaxedPrecision 41OpDecorate %43 RelaxedPrecision 42OpDecorate %44 RelaxedPrecision 43OpDecorate %45 RelaxedPrecision 44OpDecorate %46 RelaxedPrecision 45OpDecorate %47 RelaxedPrecision 46OpDecorate %48 RelaxedPrecision 47OpDecorate %49 RelaxedPrecision 48OpDecorate %50 RelaxedPrecision 49OpDecorate %51 RelaxedPrecision 50OpDecorate %52 RelaxedPrecision 51OpDecorate %53 RelaxedPrecision 52OpDecorate %54 RelaxedPrecision 53OpDecorate %55 RelaxedPrecision 54OpDecorate %56 RelaxedPrecision 55OpDecorate %57 RelaxedPrecision 56OpDecorate %result RelaxedPrecision 57OpDecorate %64 RelaxedPrecision 58OpDecorate %65 RelaxedPrecision 59OpDecorate %67 RelaxedPrecision 60OpDecorate %68 RelaxedPrecision 61OpDecorate %71 RelaxedPrecision 62OpDecorate %72 RelaxedPrecision 63OpDecorate %74 RelaxedPrecision 64OpDecorate %75 RelaxedPrecision 65OpDecorate %78 RelaxedPrecision 66OpDecorate %79 RelaxedPrecision 67OpDecorate %81 RelaxedPrecision 68OpDecorate %82 RelaxedPrecision 69OpDecorate %85 RelaxedPrecision 70OpDecorate %86 RelaxedPrecision 71OpDecorate %88 RelaxedPrecision 72OpDecorate %89 RelaxedPrecision 73OpDecorate %90 RelaxedPrecision 74OpDecorate %91 RelaxedPrecision 75OpDecorate %92 RelaxedPrecision 76OpDecorate %93 RelaxedPrecision 77OpDecorate %94 RelaxedPrecision 78OpDecorate %95 RelaxedPrecision 79OpDecorate %96 RelaxedPrecision 80OpDecorate %97 RelaxedPrecision 81OpDecorate %99 RelaxedPrecision 82OpDecorate %100 RelaxedPrecision 83OpDecorate %101 RelaxedPrecision 84OpDecorate %102 RelaxedPrecision 85OpDecorate %103 RelaxedPrecision 86OpDecorate %104 RelaxedPrecision 87OpDecorate %105 RelaxedPrecision 88OpDecorate %106 RelaxedPrecision 89OpDecorate %107 RelaxedPrecision 90OpDecorate %108 RelaxedPrecision 91OpDecorate %109 RelaxedPrecision 92OpDecorate %110 RelaxedPrecision 93OpDecorate %111 RelaxedPrecision 94OpDecorate %112 RelaxedPrecision 95OpDecorate %113 RelaxedPrecision 96OpDecorate %114 RelaxedPrecision 97OpDecorate %115 RelaxedPrecision 98OpDecorate %123 RelaxedPrecision 99OpDecorate %127 RelaxedPrecision 100%float = OpTypeFloat 32 101%v4float = OpTypeVector %float 4 102%_ptr_Output_v4float = OpTypePointer Output %v4float 103%sk_FragColor = OpVariable %_ptr_Output_v4float Output 104%bool = OpTypeBool 105%_ptr_Input_bool = OpTypePointer Input %bool 106%sk_Clockwise = OpVariable %_ptr_Input_bool Input 107%_UniformBuffer = OpTypeStruct %v4float %v4float 108%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 109%12 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 110%v2float = OpTypeVector %float 2 111%_ptr_Function_v2float = OpTypePointer Function %v2float 112%16 = OpTypeFunction %float %_ptr_Function_v2float %_ptr_Function_v2float 113%float_2 = OpConstant %float 2 114%_ptr_Function_float = OpTypePointer Function %float 115%_ptr_Function_v4float = OpTypePointer Function %v4float 116%58 = OpTypeFunction %v4float %_ptr_Function_v4float %_ptr_Function_v4float 117%float_1 = OpConstant %float 1 118%v3float = OpTypeVector %float 3 119%void = OpTypeVoid 120%117 = OpTypeFunction %void 121%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 122%int = OpTypeInt 32 1 123%int_1 = OpConstant %int 1 124%int_0 = OpConstant %int 0 125%_blend_overlay_component_hh2h2 = OpFunction %float None %16 126%18 = OpFunctionParameter %_ptr_Function_v2float 127%19 = OpFunctionParameter %_ptr_Function_v2float 128%20 = OpLabel 129%28 = OpVariable %_ptr_Function_float Function 130%22 = OpLoad %v2float %19 131%23 = OpCompositeExtract %float %22 0 132%24 = OpFMul %float %float_2 %23 133%25 = OpLoad %v2float %19 134%26 = OpCompositeExtract %float %25 1 135%27 = OpFOrdLessThanEqual %bool %24 %26 136OpSelectionMerge %32 None 137OpBranchConditional %27 %30 %31 138%30 = OpLabel 139%33 = OpLoad %v2float %18 140%34 = OpCompositeExtract %float %33 0 141%35 = OpFMul %float %float_2 %34 142%36 = OpLoad %v2float %19 143%37 = OpCompositeExtract %float %36 0 144%38 = OpFMul %float %35 %37 145OpStore %28 %38 146OpBranch %32 147%31 = OpLabel 148%39 = OpLoad %v2float %18 149%40 = OpCompositeExtract %float %39 1 150%41 = OpLoad %v2float %19 151%42 = OpCompositeExtract %float %41 1 152%43 = OpFMul %float %40 %42 153%44 = OpLoad %v2float %19 154%45 = OpCompositeExtract %float %44 1 155%46 = OpLoad %v2float %19 156%47 = OpCompositeExtract %float %46 0 157%48 = OpFSub %float %45 %47 158%49 = OpFMul %float %float_2 %48 159%50 = OpLoad %v2float %18 160%51 = OpCompositeExtract %float %50 1 161%52 = OpLoad %v2float %18 162%53 = OpCompositeExtract %float %52 0 163%54 = OpFSub %float %51 %53 164%55 = OpFMul %float %49 %54 165%56 = OpFSub %float %43 %55 166OpStore %28 %56 167OpBranch %32 168%32 = OpLabel 169%57 = OpLoad %float %28 170OpReturnValue %57 171OpFunctionEnd 172%blend_overlay_h4h4h4 = OpFunction %v4float None %58 173%60 = OpFunctionParameter %_ptr_Function_v4float 174%61 = OpFunctionParameter %_ptr_Function_v4float 175%62 = OpLabel 176%result = OpVariable %_ptr_Function_v4float Function 177%66 = OpVariable %_ptr_Function_v2float Function 178%69 = OpVariable %_ptr_Function_v2float Function 179%73 = OpVariable %_ptr_Function_v2float Function 180%76 = OpVariable %_ptr_Function_v2float Function 181%80 = OpVariable %_ptr_Function_v2float Function 182%83 = OpVariable %_ptr_Function_v2float Function 183%64 = OpLoad %v4float %60 184%65 = OpVectorShuffle %v2float %64 %64 0 3 185OpStore %66 %65 186%67 = OpLoad %v4float %61 187%68 = OpVectorShuffle %v2float %67 %67 0 3 188OpStore %69 %68 189%70 = OpFunctionCall %float %_blend_overlay_component_hh2h2 %66 %69 190%71 = OpLoad %v4float %60 191%72 = OpVectorShuffle %v2float %71 %71 1 3 192OpStore %73 %72 193%74 = OpLoad %v4float %61 194%75 = OpVectorShuffle %v2float %74 %74 1 3 195OpStore %76 %75 196%77 = OpFunctionCall %float %_blend_overlay_component_hh2h2 %73 %76 197%78 = OpLoad %v4float %60 198%79 = OpVectorShuffle %v2float %78 %78 2 3 199OpStore %80 %79 200%81 = OpLoad %v4float %61 201%82 = OpVectorShuffle %v2float %81 %81 2 3 202OpStore %83 %82 203%84 = OpFunctionCall %float %_blend_overlay_component_hh2h2 %80 %83 204%85 = OpLoad %v4float %60 205%86 = OpCompositeExtract %float %85 3 206%88 = OpLoad %v4float %60 207%89 = OpCompositeExtract %float %88 3 208%90 = OpFSub %float %float_1 %89 209%91 = OpLoad %v4float %61 210%92 = OpCompositeExtract %float %91 3 211%93 = OpFMul %float %90 %92 212%94 = OpFAdd %float %86 %93 213%95 = OpCompositeConstruct %v4float %70 %77 %84 %94 214OpStore %result %95 215%96 = OpLoad %v4float %result 216%97 = OpVectorShuffle %v3float %96 %96 0 1 2 217%99 = OpLoad %v4float %61 218%100 = OpVectorShuffle %v3float %99 %99 0 1 2 219%101 = OpLoad %v4float %60 220%102 = OpCompositeExtract %float %101 3 221%103 = OpFSub %float %float_1 %102 222%104 = OpVectorTimesScalar %v3float %100 %103 223%105 = OpLoad %v4float %60 224%106 = OpVectorShuffle %v3float %105 %105 0 1 2 225%107 = OpLoad %v4float %61 226%108 = OpCompositeExtract %float %107 3 227%109 = OpFSub %float %float_1 %108 228%110 = OpVectorTimesScalar %v3float %106 %109 229%111 = OpFAdd %v3float %104 %110 230%112 = OpFAdd %v3float %97 %111 231%113 = OpLoad %v4float %result 232%114 = OpVectorShuffle %v4float %113 %112 4 5 6 3 233OpStore %result %114 234%115 = OpLoad %v4float %result 235OpReturnValue %115 236OpFunctionEnd 237%main = OpFunction %void None %117 238%118 = OpLabel 239%124 = OpVariable %_ptr_Function_v4float Function 240%128 = OpVariable %_ptr_Function_v4float Function 241%119 = OpAccessChain %_ptr_Uniform_v4float %12 %int_1 242%123 = OpLoad %v4float %119 243OpStore %124 %123 244%125 = OpAccessChain %_ptr_Uniform_v4float %12 %int_0 245%127 = OpLoad %v4float %125 246OpStore %128 %127 247%129 = OpFunctionCall %v4float %blend_overlay_h4h4h4 %124 %128 248OpStore %sk_FragColor %129 249OpReturn 250OpFunctionEnd 251