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