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