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