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