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