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