Update rive-cpp to 2.0 version
[platform/core/uifw/rive-tizen.git] / submodule / skia / tests / sksl / intrinsics / Smoothstep.asm.frag
1 OpCapability Shader
2 %1 = OpExtInstImport "GLSL.std.450"
3 OpMemoryModel Logical GLSL450
4 OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
5 OpExecutionMode %_entrypoint_v OriginUpperLeft
6 OpName %sk_FragColor "sk_FragColor"
7 OpName %sk_Clockwise "sk_Clockwise"
8 OpName %_UniformBuffer "_UniformBuffer"
9 OpMemberName %_UniformBuffer 0 "testInputs"
10 OpMemberName %_UniformBuffer 1 "colorGreen"
11 OpMemberName %_UniformBuffer 2 "colorRed"
12 OpName %_entrypoint_v "_entrypoint_v"
13 OpName %main "main"
14 OpName %constVal "constVal"
15 OpName %expectedA "expectedA"
16 OpName %expectedB "expectedB"
17 OpDecorate %sk_FragColor RelaxedPrecision
18 OpDecorate %sk_FragColor Location 0
19 OpDecorate %sk_FragColor Index 0
20 OpDecorate %sk_Clockwise BuiltIn FrontFacing
21 OpMemberDecorate %_UniformBuffer 0 Offset 0
22 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
23 OpMemberDecorate %_UniformBuffer 1 Offset 16
24 OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
25 OpMemberDecorate %_UniformBuffer 2 Offset 32
26 OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
27 OpDecorate %_UniformBuffer Block
28 OpDecorate %10 Binding 0
29 OpDecorate %10 DescriptorSet 0
30 OpDecorate %constVal RelaxedPrecision
31 OpDecorate %expectedA RelaxedPrecision
32 OpDecorate %expectedB RelaxedPrecision
33 OpDecorate %42 RelaxedPrecision
34 OpDecorate %51 RelaxedPrecision
35 OpDecorate %64 RelaxedPrecision
36 OpDecorate %70 RelaxedPrecision
37 OpDecorate %84 RelaxedPrecision
38 OpDecorate %85 RelaxedPrecision
39 OpDecorate %88 RelaxedPrecision
40 OpDecorate %89 RelaxedPrecision
41 OpDecorate %96 RelaxedPrecision
42 OpDecorate %97 RelaxedPrecision
43 OpDecorate %98 RelaxedPrecision
44 OpDecorate %100 RelaxedPrecision
45 OpDecorate %101 RelaxedPrecision
46 OpDecorate %102 RelaxedPrecision
47 OpDecorate %104 RelaxedPrecision
48 OpDecorate %112 RelaxedPrecision
49 OpDecorate %113 RelaxedPrecision
50 OpDecorate %114 RelaxedPrecision
51 OpDecorate %116 RelaxedPrecision
52 OpDecorate %117 RelaxedPrecision
53 OpDecorate %118 RelaxedPrecision
54 OpDecorate %120 RelaxedPrecision
55 OpDecorate %128 RelaxedPrecision
56 OpDecorate %129 RelaxedPrecision
57 OpDecorate %130 RelaxedPrecision
58 OpDecorate %132 RelaxedPrecision
59 OpDecorate %133 RelaxedPrecision
60 OpDecorate %134 RelaxedPrecision
61 OpDecorate %145 RelaxedPrecision
62 OpDecorate %152 RelaxedPrecision
63 OpDecorate %163 RelaxedPrecision
64 OpDecorate %164 RelaxedPrecision
65 OpDecorate %166 RelaxedPrecision
66 OpDecorate %167 RelaxedPrecision
67 OpDecorate %174 RelaxedPrecision
68 OpDecorate %175 RelaxedPrecision
69 OpDecorate %177 RelaxedPrecision
70 OpDecorate %178 RelaxedPrecision
71 OpDecorate %179 RelaxedPrecision
72 OpDecorate %187 RelaxedPrecision
73 OpDecorate %188 RelaxedPrecision
74 OpDecorate %190 RelaxedPrecision
75 OpDecorate %191 RelaxedPrecision
76 OpDecorate %192 RelaxedPrecision
77 OpDecorate %200 RelaxedPrecision
78 OpDecorate %202 RelaxedPrecision
79 OpDecorate %211 RelaxedPrecision
80 OpDecorate %213 RelaxedPrecision
81 OpDecorate %214 RelaxedPrecision
82 %float = OpTypeFloat 32
83 %v4float = OpTypeVector %float 4
84 %_ptr_Output_v4float = OpTypePointer Output %v4float
85 %sk_FragColor = OpVariable %_ptr_Output_v4float Output
86 %bool = OpTypeBool
87 %_ptr_Input_bool = OpTypePointer Input %bool
88 %sk_Clockwise = OpVariable %_ptr_Input_bool Input
89 %_UniformBuffer = OpTypeStruct %v4float %v4float %v4float
90 %_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
91 %10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
92 %void = OpTypeVoid
93 %15 = OpTypeFunction %void
94 %float_0 = OpConstant %float 0
95 %v2float = OpTypeVector %float 2
96 %19 = OpConstantComposite %v2float %float_0 %float_0
97 %_ptr_Function_v2float = OpTypePointer Function %v2float
98 %23 = OpTypeFunction %v4float %_ptr_Function_v2float
99 %_ptr_Function_v4float = OpTypePointer Function %v4float
100 %float_n1_25 = OpConstant %float -1.25
101 %float_0_75 = OpConstant %float 0.75
102 %float_2_25 = OpConstant %float 2.25
103 %31 = OpConstantComposite %v4float %float_n1_25 %float_0 %float_0_75 %float_2_25
104 %float_0_84375 = OpConstant %float 0.84375
105 %float_1 = OpConstant %float 1
106 %35 = OpConstantComposite %v4float %float_0 %float_0 %float_0_84375 %float_1
107 %37 = OpConstantComposite %v4float %float_1 %float_0 %float_1 %float_1
108 %false = OpConstantFalse %bool
109 %true = OpConstantTrue %bool
110 %v2bool = OpTypeVector %bool 2
111 %v3float = OpTypeVector %float 3
112 %50 = OpConstantComposite %v3float %float_0 %float_0 %float_0_84375
113 %v3bool = OpTypeVector %bool 3
114 %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
115 %int = OpTypeInt 32 1
116 %int_2 = OpConstant %int 2
117 %int_1 = OpConstant %int 1
118 %103 = OpConstantComposite %v2float %float_n1_25 %float_0
119 %119 = OpConstantComposite %v3float %float_n1_25 %float_0 %float_0_75
120 %v4bool = OpTypeVector %bool 4
121 %144 = OpConstantComposite %v2float %float_1 %float_0
122 %151 = OpConstantComposite %v3float %float_1 %float_0 %float_1
123 %_entrypoint_v = OpFunction %void None %15
124 %16 = OpLabel
125 %20 = OpVariable %_ptr_Function_v2float Function
126 OpStore %20 %19
127 %22 = OpFunctionCall %v4float %main %20
128 OpStore %sk_FragColor %22
129 OpReturn
130 OpFunctionEnd
131 %main = OpFunction %v4float None %23
132 %24 = OpFunctionParameter %_ptr_Function_v2float
133 %25 = OpLabel
134 %constVal = OpVariable %_ptr_Function_v4float Function
135 %expectedA = OpVariable %_ptr_Function_v4float Function
136 %expectedB = OpVariable %_ptr_Function_v4float Function
137 %206 = OpVariable %_ptr_Function_v4float Function
138 OpStore %constVal %31
139 OpStore %expectedA %35
140 OpStore %expectedB %37
141 OpSelectionMerge %41 None
142 OpBranchConditional %true %40 %41
143 %40 = OpLabel
144 %42 = OpVectorShuffle %v2float %35 %35 0 1
145 %43 = OpFOrdEqual %v2bool %19 %42
146 %45 = OpAll %bool %43
147 OpBranch %41
148 %41 = OpLabel
149 %46 = OpPhi %bool %false %25 %45 %40
150 OpSelectionMerge %48 None
151 OpBranchConditional %46 %47 %48
152 %47 = OpLabel
153 %51 = OpVectorShuffle %v3float %35 %35 0 1 2
154 %52 = OpFOrdEqual %v3bool %50 %51
155 %54 = OpAll %bool %52
156 OpBranch %48
157 %48 = OpLabel
158 %55 = OpPhi %bool %false %41 %54 %47
159 OpSelectionMerge %57 None
160 OpBranchConditional %55 %56 %57
161 %56 = OpLabel
162 OpBranch %57
163 %57 = OpLabel
164 %58 = OpPhi %bool %false %48 %true %56
165 OpSelectionMerge %60 None
166 OpBranchConditional %58 %59 %60
167 %59 = OpLabel
168 OpBranch %60
169 %60 = OpLabel
170 %61 = OpPhi %bool %false %57 %true %59
171 OpSelectionMerge %63 None
172 OpBranchConditional %61 %62 %63
173 %62 = OpLabel
174 %64 = OpVectorShuffle %v2float %35 %35 0 1
175 %65 = OpFOrdEqual %v2bool %19 %64
176 %66 = OpAll %bool %65
177 OpBranch %63
178 %63 = OpLabel
179 %67 = OpPhi %bool %false %60 %66 %62
180 OpSelectionMerge %69 None
181 OpBranchConditional %67 %68 %69
182 %68 = OpLabel
183 %70 = OpVectorShuffle %v3float %35 %35 0 1 2
184 %71 = OpFOrdEqual %v3bool %50 %70
185 %72 = OpAll %bool %71
186 OpBranch %69
187 %69 = OpLabel
188 %73 = OpPhi %bool %false %63 %72 %68
189 OpSelectionMerge %75 None
190 OpBranchConditional %73 %74 %75
191 %74 = OpLabel
192 OpBranch %75
193 %75 = OpLabel
194 %76 = OpPhi %bool %false %69 %true %74
195 OpSelectionMerge %78 None
196 OpBranchConditional %76 %77 %78
197 %77 = OpLabel
198 %80 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
199 %84 = OpLoad %v4float %80
200 %85 = OpCompositeExtract %float %84 1
201 %86 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
202 %88 = OpLoad %v4float %86
203 %89 = OpCompositeExtract %float %88 1
204 %79 = OpExtInst %float %1 SmoothStep %85 %89 %float_n1_25
205 %90 = OpFOrdEqual %bool %79 %float_0
206 OpBranch %78
207 %78 = OpLabel
208 %91 = OpPhi %bool %false %75 %90 %77
209 OpSelectionMerge %93 None
210 OpBranchConditional %91 %92 %93
211 %92 = OpLabel
212 %95 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
213 %96 = OpLoad %v4float %95
214 %97 = OpCompositeExtract %float %96 1
215 %98 = OpCompositeConstruct %v2float %97 %97
216 %99 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
217 %100 = OpLoad %v4float %99
218 %101 = OpCompositeExtract %float %100 1
219 %102 = OpCompositeConstruct %v2float %101 %101
220 %94 = OpExtInst %v2float %1 SmoothStep %98 %102 %103
221 %104 = OpVectorShuffle %v2float %35 %35 0 1
222 %105 = OpFOrdEqual %v2bool %94 %104
223 %106 = OpAll %bool %105
224 OpBranch %93
225 %93 = OpLabel
226 %107 = OpPhi %bool %false %78 %106 %92
227 OpSelectionMerge %109 None
228 OpBranchConditional %107 %108 %109
229 %108 = OpLabel
230 %111 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
231 %112 = OpLoad %v4float %111
232 %113 = OpCompositeExtract %float %112 1
233 %114 = OpCompositeConstruct %v3float %113 %113 %113
234 %115 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
235 %116 = OpLoad %v4float %115
236 %117 = OpCompositeExtract %float %116 1
237 %118 = OpCompositeConstruct %v3float %117 %117 %117
238 %110 = OpExtInst %v3float %1 SmoothStep %114 %118 %119
239 %120 = OpVectorShuffle %v3float %35 %35 0 1 2
240 %121 = OpFOrdEqual %v3bool %110 %120
241 %122 = OpAll %bool %121
242 OpBranch %109
243 %109 = OpLabel
244 %123 = OpPhi %bool %false %93 %122 %108
245 OpSelectionMerge %125 None
246 OpBranchConditional %123 %124 %125
247 %124 = OpLabel
248 %127 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
249 %128 = OpLoad %v4float %127
250 %129 = OpCompositeExtract %float %128 1
251 %130 = OpCompositeConstruct %v4float %129 %129 %129 %129
252 %131 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
253 %132 = OpLoad %v4float %131
254 %133 = OpCompositeExtract %float %132 1
255 %134 = OpCompositeConstruct %v4float %133 %133 %133 %133
256 %126 = OpExtInst %v4float %1 SmoothStep %130 %134 %31
257 %135 = OpFOrdEqual %v4bool %126 %35
258 %137 = OpAll %bool %135
259 OpBranch %125
260 %125 = OpLabel
261 %138 = OpPhi %bool %false %109 %137 %124
262 OpSelectionMerge %140 None
263 OpBranchConditional %138 %139 %140
264 %139 = OpLabel
265 OpBranch %140
266 %140 = OpLabel
267 %141 = OpPhi %bool %false %125 %true %139
268 OpSelectionMerge %143 None
269 OpBranchConditional %141 %142 %143
270 %142 = OpLabel
271 %145 = OpVectorShuffle %v2float %37 %37 0 1
272 %146 = OpFOrdEqual %v2bool %144 %145
273 %147 = OpAll %bool %146
274 OpBranch %143
275 %143 = OpLabel
276 %148 = OpPhi %bool %false %140 %147 %142
277 OpSelectionMerge %150 None
278 OpBranchConditional %148 %149 %150
279 %149 = OpLabel
280 %152 = OpVectorShuffle %v3float %37 %37 0 1 2
281 %153 = OpFOrdEqual %v3bool %151 %152
282 %154 = OpAll %bool %153
283 OpBranch %150
284 %150 = OpLabel
285 %155 = OpPhi %bool %false %143 %154 %149
286 OpSelectionMerge %157 None
287 OpBranchConditional %155 %156 %157
288 %156 = OpLabel
289 OpBranch %157
290 %157 = OpLabel
291 %158 = OpPhi %bool %false %150 %true %156
292 OpSelectionMerge %160 None
293 OpBranchConditional %158 %159 %160
294 %159 = OpLabel
295 %162 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
296 %163 = OpLoad %v4float %162
297 %164 = OpCompositeExtract %float %163 0
298 %165 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
299 %166 = OpLoad %v4float %165
300 %167 = OpCompositeExtract %float %166 0
301 %161 = OpExtInst %float %1 SmoothStep %164 %167 %float_n1_25
302 %168 = OpFOrdEqual %bool %161 %float_1
303 OpBranch %160
304 %160 = OpLabel
305 %169 = OpPhi %bool %false %157 %168 %159
306 OpSelectionMerge %171 None
307 OpBranchConditional %169 %170 %171
308 %170 = OpLabel
309 %173 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
310 %174 = OpLoad %v4float %173
311 %175 = OpVectorShuffle %v2float %174 %174 0 1
312 %176 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
313 %177 = OpLoad %v4float %176
314 %178 = OpVectorShuffle %v2float %177 %177 0 1
315 %172 = OpExtInst %v2float %1 SmoothStep %175 %178 %103
316 %179 = OpVectorShuffle %v2float %37 %37 0 1
317 %180 = OpFOrdEqual %v2bool %172 %179
318 %181 = OpAll %bool %180
319 OpBranch %171
320 %171 = OpLabel
321 %182 = OpPhi %bool %false %160 %181 %170
322 OpSelectionMerge %184 None
323 OpBranchConditional %182 %183 %184
324 %183 = OpLabel
325 %186 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
326 %187 = OpLoad %v4float %186
327 %188 = OpVectorShuffle %v3float %187 %187 0 1 2
328 %189 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
329 %190 = OpLoad %v4float %189
330 %191 = OpVectorShuffle %v3float %190 %190 0 1 2
331 %185 = OpExtInst %v3float %1 SmoothStep %188 %191 %119
332 %192 = OpVectorShuffle %v3float %37 %37 0 1 2
333 %193 = OpFOrdEqual %v3bool %185 %192
334 %194 = OpAll %bool %193
335 OpBranch %184
336 %184 = OpLabel
337 %195 = OpPhi %bool %false %171 %194 %183
338 OpSelectionMerge %197 None
339 OpBranchConditional %195 %196 %197
340 %196 = OpLabel
341 %199 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
342 %200 = OpLoad %v4float %199
343 %201 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
344 %202 = OpLoad %v4float %201
345 %198 = OpExtInst %v4float %1 SmoothStep %200 %202 %31
346 %203 = OpFOrdEqual %v4bool %198 %37
347 %204 = OpAll %bool %203
348 OpBranch %197
349 %197 = OpLabel
350 %205 = OpPhi %bool %false %184 %204 %196
351 OpSelectionMerge %209 None
352 OpBranchConditional %205 %207 %208
353 %207 = OpLabel
354 %210 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
355 %211 = OpLoad %v4float %210
356 OpStore %206 %211
357 OpBranch %209
358 %208 = OpLabel
359 %212 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
360 %213 = OpLoad %v4float %212
361 OpStore %206 %213
362 OpBranch %209
363 %209 = OpLabel
364 %214 = OpLoad %v4float %206
365 OpReturnValue %214
366 OpFunctionEnd