Update rive-cpp to 2.0 version
[platform/core/uifw/rive-tizen.git] / submodule / skia / tests / sksl / intrinsics / ClampFloat.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 %expectedA "expectedA"
15 OpName %clampLow "clampLow"
16 OpName %expectedB "expectedB"
17 OpName %clampHigh "clampHigh"
18 OpDecorate %sk_FragColor RelaxedPrecision
19 OpDecorate %sk_FragColor Location 0
20 OpDecorate %sk_FragColor Index 0
21 OpDecorate %sk_Clockwise BuiltIn FrontFacing
22 OpMemberDecorate %_UniformBuffer 0 Offset 0
23 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
24 OpMemberDecorate %_UniformBuffer 1 Offset 16
25 OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
26 OpMemberDecorate %_UniformBuffer 2 Offset 32
27 OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
28 OpDecorate %_UniformBuffer Block
29 OpDecorate %10 Binding 0
30 OpDecorate %10 DescriptorSet 0
31 OpDecorate %expectedA RelaxedPrecision
32 OpDecorate %clampLow RelaxedPrecision
33 OpDecorate %expectedB RelaxedPrecision
34 OpDecorate %clampHigh RelaxedPrecision
35 OpDecorate %49 RelaxedPrecision
36 OpDecorate %50 RelaxedPrecision
37 OpDecorate %56 RelaxedPrecision
38 OpDecorate %57 RelaxedPrecision
39 OpDecorate %60 RelaxedPrecision
40 OpDecorate %69 RelaxedPrecision
41 OpDecorate %70 RelaxedPrecision
42 OpDecorate %74 RelaxedPrecision
43 OpDecorate %83 RelaxedPrecision
44 OpDecorate %94 RelaxedPrecision
45 OpDecorate %95 RelaxedPrecision
46 OpDecorate %102 RelaxedPrecision
47 OpDecorate %103 RelaxedPrecision
48 OpDecorate %106 RelaxedPrecision
49 OpDecorate %114 RelaxedPrecision
50 OpDecorate %115 RelaxedPrecision
51 OpDecorate %118 RelaxedPrecision
52 OpDecorate %126 RelaxedPrecision
53 OpDecorate %137 RelaxedPrecision
54 OpDecorate %144 RelaxedPrecision
55 OpDecorate %156 RelaxedPrecision
56 OpDecorate %163 RelaxedPrecision
57 OpDecorate %176 RelaxedPrecision
58 OpDecorate %179 RelaxedPrecision
59 OpDecorate %180 RelaxedPrecision
60 %float = OpTypeFloat 32
61 %v4float = OpTypeVector %float 4
62 %_ptr_Output_v4float = OpTypePointer Output %v4float
63 %sk_FragColor = OpVariable %_ptr_Output_v4float Output
64 %bool = OpTypeBool
65 %_ptr_Input_bool = OpTypePointer Input %bool
66 %sk_Clockwise = OpVariable %_ptr_Input_bool Input
67 %_UniformBuffer = OpTypeStruct %v4float %v4float %v4float
68 %_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
69 %10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
70 %void = OpTypeVoid
71 %15 = OpTypeFunction %void
72 %float_0 = OpConstant %float 0
73 %v2float = OpTypeVector %float 2
74 %19 = OpConstantComposite %v2float %float_0 %float_0
75 %_ptr_Function_v2float = OpTypePointer Function %v2float
76 %23 = OpTypeFunction %v4float %_ptr_Function_v2float
77 %_ptr_Function_v4float = OpTypePointer Function %v4float
78 %float_n1 = OpConstant %float -1
79 %float_0_75 = OpConstant %float 0.75
80 %float_1 = OpConstant %float 1
81 %31 = OpConstantComposite %v4float %float_n1 %float_0 %float_0_75 %float_1
82 %float_n2 = OpConstant %float -2
83 %34 = OpConstantComposite %v4float %float_n1 %float_n2 %float_n2 %float_1
84 %float_0_5 = OpConstant %float 0.5
85 %float_2_25 = OpConstant %float 2.25
86 %38 = OpConstantComposite %v4float %float_n1 %float_0 %float_0_5 %float_2_25
87 %float_2 = OpConstant %float 2
88 %float_3 = OpConstant %float 3
89 %42 = OpConstantComposite %v4float %float_1 %float_2 %float_0_5 %float_3
90 %false = OpConstantFalse %bool
91 %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
92 %int = OpTypeInt 32 1
93 %int_0 = OpConstant %int 0
94 %58 = OpConstantComposite %v2float %float_n1 %float_n1
95 %59 = OpConstantComposite %v2float %float_1 %float_1
96 %v2bool = OpTypeVector %bool 2
97 %v3float = OpTypeVector %float 3
98 %72 = OpConstantComposite %v3float %float_n1 %float_n1 %float_n1
99 %73 = OpConstantComposite %v3float %float_1 %float_1 %float_1
100 %v3bool = OpTypeVector %bool 3
101 %84 = OpConstantComposite %v4float %float_n1 %float_n1 %float_n1 %float_n1
102 %85 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
103 %v4bool = OpTypeVector %bool 4
104 %104 = OpConstantComposite %v2float %float_n1 %float_n2
105 %105 = OpConstantComposite %v2float %float_1 %float_2
106 %116 = OpConstantComposite %v3float %float_n1 %float_n2 %float_n2
107 %117 = OpConstantComposite %v3float %float_1 %float_2 %float_0_5
108 %true = OpConstantTrue %bool
109 %136 = OpConstantComposite %v2float %float_n1 %float_0
110 %143 = OpConstantComposite %v3float %float_n1 %float_0 %float_0_75
111 %162 = OpConstantComposite %v3float %float_n1 %float_0 %float_0_5
112 %int_1 = OpConstant %int 1
113 %int_2 = OpConstant %int 2
114 %_entrypoint_v = OpFunction %void None %15
115 %16 = OpLabel
116 %20 = OpVariable %_ptr_Function_v2float Function
117 OpStore %20 %19
118 %22 = OpFunctionCall %v4float %main %20
119 OpStore %sk_FragColor %22
120 OpReturn
121 OpFunctionEnd
122 %main = OpFunction %v4float None %23
123 %24 = OpFunctionParameter %_ptr_Function_v2float
124 %25 = OpLabel
125 %expectedA = OpVariable %_ptr_Function_v4float Function
126 %clampLow = OpVariable %_ptr_Function_v4float Function
127 %expectedB = OpVariable %_ptr_Function_v4float Function
128 %clampHigh = OpVariable %_ptr_Function_v4float Function
129 %170 = OpVariable %_ptr_Function_v4float Function
130 OpStore %expectedA %31
131 OpStore %clampLow %34
132 OpStore %expectedB %38
133 OpStore %clampHigh %42
134 %45 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
135 %49 = OpLoad %v4float %45
136 %50 = OpCompositeExtract %float %49 0
137 %44 = OpExtInst %float %1 FClamp %50 %float_n1 %float_1
138 %51 = OpFOrdEqual %bool %44 %float_n1
139 OpSelectionMerge %53 None
140 OpBranchConditional %51 %52 %53
141 %52 = OpLabel
142 %55 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
143 %56 = OpLoad %v4float %55
144 %57 = OpVectorShuffle %v2float %56 %56 0 1
145 %54 = OpExtInst %v2float %1 FClamp %57 %58 %59
146 %60 = OpVectorShuffle %v2float %31 %31 0 1
147 %61 = OpFOrdEqual %v2bool %54 %60
148 %63 = OpAll %bool %61
149 OpBranch %53
150 %53 = OpLabel
151 %64 = OpPhi %bool %false %25 %63 %52
152 OpSelectionMerge %66 None
153 OpBranchConditional %64 %65 %66
154 %65 = OpLabel
155 %68 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
156 %69 = OpLoad %v4float %68
157 %70 = OpVectorShuffle %v3float %69 %69 0 1 2
158 %67 = OpExtInst %v3float %1 FClamp %70 %72 %73
159 %74 = OpVectorShuffle %v3float %31 %31 0 1 2
160 %75 = OpFOrdEqual %v3bool %67 %74
161 %77 = OpAll %bool %75
162 OpBranch %66
163 %66 = OpLabel
164 %78 = OpPhi %bool %false %53 %77 %65
165 OpSelectionMerge %80 None
166 OpBranchConditional %78 %79 %80
167 %79 = OpLabel
168 %82 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
169 %83 = OpLoad %v4float %82
170 %81 = OpExtInst %v4float %1 FClamp %83 %84 %85
171 %86 = OpFOrdEqual %v4bool %81 %31
172 %88 = OpAll %bool %86
173 OpBranch %80
174 %80 = OpLabel
175 %89 = OpPhi %bool %false %66 %88 %79
176 OpSelectionMerge %91 None
177 OpBranchConditional %89 %90 %91
178 %90 = OpLabel
179 %93 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
180 %94 = OpLoad %v4float %93
181 %95 = OpCompositeExtract %float %94 0
182 %92 = OpExtInst %float %1 FClamp %95 %float_n1 %float_1
183 %96 = OpFOrdEqual %bool %92 %float_n1
184 OpBranch %91
185 %91 = OpLabel
186 %97 = OpPhi %bool %false %80 %96 %90
187 OpSelectionMerge %99 None
188 OpBranchConditional %97 %98 %99
189 %98 = OpLabel
190 %101 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
191 %102 = OpLoad %v4float %101
192 %103 = OpVectorShuffle %v2float %102 %102 0 1
193 %100 = OpExtInst %v2float %1 FClamp %103 %104 %105
194 %106 = OpVectorShuffle %v2float %38 %38 0 1
195 %107 = OpFOrdEqual %v2bool %100 %106
196 %108 = OpAll %bool %107
197 OpBranch %99
198 %99 = OpLabel
199 %109 = OpPhi %bool %false %91 %108 %98
200 OpSelectionMerge %111 None
201 OpBranchConditional %109 %110 %111
202 %110 = OpLabel
203 %113 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
204 %114 = OpLoad %v4float %113
205 %115 = OpVectorShuffle %v3float %114 %114 0 1 2
206 %112 = OpExtInst %v3float %1 FClamp %115 %116 %117
207 %118 = OpVectorShuffle %v3float %38 %38 0 1 2
208 %119 = OpFOrdEqual %v3bool %112 %118
209 %120 = OpAll %bool %119
210 OpBranch %111
211 %111 = OpLabel
212 %121 = OpPhi %bool %false %99 %120 %110
213 OpSelectionMerge %123 None
214 OpBranchConditional %121 %122 %123
215 %122 = OpLabel
216 %125 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
217 %126 = OpLoad %v4float %125
218 %124 = OpExtInst %v4float %1 FClamp %126 %34 %42
219 %127 = OpFOrdEqual %v4bool %124 %38
220 %128 = OpAll %bool %127
221 OpBranch %123
222 %123 = OpLabel
223 %129 = OpPhi %bool %false %111 %128 %122
224 OpSelectionMerge %131 None
225 OpBranchConditional %129 %130 %131
226 %130 = OpLabel
227 OpBranch %131
228 %131 = OpLabel
229 %133 = OpPhi %bool %false %123 %true %130
230 OpSelectionMerge %135 None
231 OpBranchConditional %133 %134 %135
232 %134 = OpLabel
233 %137 = OpVectorShuffle %v2float %31 %31 0 1
234 %138 = OpFOrdEqual %v2bool %136 %137
235 %139 = OpAll %bool %138
236 OpBranch %135
237 %135 = OpLabel
238 %140 = OpPhi %bool %false %131 %139 %134
239 OpSelectionMerge %142 None
240 OpBranchConditional %140 %141 %142
241 %141 = OpLabel
242 %144 = OpVectorShuffle %v3float %31 %31 0 1 2
243 %145 = OpFOrdEqual %v3bool %143 %144
244 %146 = OpAll %bool %145
245 OpBranch %142
246 %142 = OpLabel
247 %147 = OpPhi %bool %false %135 %146 %141
248 OpSelectionMerge %149 None
249 OpBranchConditional %147 %148 %149
250 %148 = OpLabel
251 OpBranch %149
252 %149 = OpLabel
253 %150 = OpPhi %bool %false %142 %true %148
254 OpSelectionMerge %152 None
255 OpBranchConditional %150 %151 %152
256 %151 = OpLabel
257 OpBranch %152
258 %152 = OpLabel
259 %153 = OpPhi %bool %false %149 %true %151
260 OpSelectionMerge %155 None
261 OpBranchConditional %153 %154 %155
262 %154 = OpLabel
263 %156 = OpVectorShuffle %v2float %38 %38 0 1
264 %157 = OpFOrdEqual %v2bool %136 %156
265 %158 = OpAll %bool %157
266 OpBranch %155
267 %155 = OpLabel
268 %159 = OpPhi %bool %false %152 %158 %154
269 OpSelectionMerge %161 None
270 OpBranchConditional %159 %160 %161
271 %160 = OpLabel
272 %163 = OpVectorShuffle %v3float %38 %38 0 1 2
273 %164 = OpFOrdEqual %v3bool %162 %163
274 %165 = OpAll %bool %164
275 OpBranch %161
276 %161 = OpLabel
277 %166 = OpPhi %bool %false %155 %165 %160
278 OpSelectionMerge %168 None
279 OpBranchConditional %166 %167 %168
280 %167 = OpLabel
281 OpBranch %168
282 %168 = OpLabel
283 %169 = OpPhi %bool %false %161 %true %167
284 OpSelectionMerge %173 None
285 OpBranchConditional %169 %171 %172
286 %171 = OpLabel
287 %174 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
288 %176 = OpLoad %v4float %174
289 OpStore %170 %176
290 OpBranch %173
291 %172 = OpLabel
292 %177 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
293 %179 = OpLoad %v4float %177
294 OpStore %170 %179
295 OpBranch %173
296 %173 = OpLabel
297 %180 = OpLoad %v4float %170
298 OpReturnValue %180
299 OpFunctionEnd