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