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