1e5c31af7Sopenharmony_ci# WARNING: This file is auto-generated. Do NOT modify it manually, but rather
2e5c31af7Sopenharmony_ci# modify the generating script file. Otherwise changes will be lost!
3e5c31af7Sopenharmony_ci
4e5c31af7Sopenharmony_cigroup vector_swizzles "Vector Swizzles"
5e5c31af7Sopenharmony_ci
6e5c31af7Sopenharmony_ci  case mediump_vec2_x
7e5c31af7Sopenharmony_ci	values
8e5c31af7Sopenharmony_ci	{
9e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
10e5c31af7Sopenharmony_ci		output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
11e5c31af7Sopenharmony_ci	}
12e5c31af7Sopenharmony_ci
13e5c31af7Sopenharmony_ci	both ""
14e5c31af7Sopenharmony_ci		precision mediump float;
15e5c31af7Sopenharmony_ci
16e5c31af7Sopenharmony_ci		${DECLARATIONS}
17e5c31af7Sopenharmony_ci
18e5c31af7Sopenharmony_ci		void main()
19e5c31af7Sopenharmony_ci		{
20e5c31af7Sopenharmony_ci			${SETUP}
21e5c31af7Sopenharmony_ci			out0 = in0.x;
22e5c31af7Sopenharmony_ci			${OUTPUT}
23e5c31af7Sopenharmony_ci		}
24e5c31af7Sopenharmony_ci	""
25e5c31af7Sopenharmony_ci  end
26e5c31af7Sopenharmony_ci
27e5c31af7Sopenharmony_ci  case mediump_vec2_xx
28e5c31af7Sopenharmony_ci	values
29e5c31af7Sopenharmony_ci	{
30e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
31e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(-0.5, -0.5) | vec2(-32.0, -32.0) | vec2(-0.75, -0.75) ];
32e5c31af7Sopenharmony_ci	}
33e5c31af7Sopenharmony_ci
34e5c31af7Sopenharmony_ci	both ""
35e5c31af7Sopenharmony_ci		precision mediump float;
36e5c31af7Sopenharmony_ci
37e5c31af7Sopenharmony_ci		${DECLARATIONS}
38e5c31af7Sopenharmony_ci
39e5c31af7Sopenharmony_ci		void main()
40e5c31af7Sopenharmony_ci		{
41e5c31af7Sopenharmony_ci			${SETUP}
42e5c31af7Sopenharmony_ci			out0 = in0.xx;
43e5c31af7Sopenharmony_ci			${OUTPUT}
44e5c31af7Sopenharmony_ci		}
45e5c31af7Sopenharmony_ci	""
46e5c31af7Sopenharmony_ci  end
47e5c31af7Sopenharmony_ci
48e5c31af7Sopenharmony_ci  case mediump_vec2_xy
49e5c31af7Sopenharmony_ci	values
50e5c31af7Sopenharmony_ci	{
51e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
52e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
53e5c31af7Sopenharmony_ci	}
54e5c31af7Sopenharmony_ci
55e5c31af7Sopenharmony_ci	both ""
56e5c31af7Sopenharmony_ci		precision mediump float;
57e5c31af7Sopenharmony_ci
58e5c31af7Sopenharmony_ci		${DECLARATIONS}
59e5c31af7Sopenharmony_ci
60e5c31af7Sopenharmony_ci		void main()
61e5c31af7Sopenharmony_ci		{
62e5c31af7Sopenharmony_ci			${SETUP}
63e5c31af7Sopenharmony_ci			out0 = in0.xy;
64e5c31af7Sopenharmony_ci			${OUTPUT}
65e5c31af7Sopenharmony_ci		}
66e5c31af7Sopenharmony_ci	""
67e5c31af7Sopenharmony_ci  end
68e5c31af7Sopenharmony_ci
69e5c31af7Sopenharmony_ci  case mediump_vec2_yx
70e5c31af7Sopenharmony_ci	values
71e5c31af7Sopenharmony_ci	{
72e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
73e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.5, 0.0) | vec2(1.25, 1.0) | vec2(-2.25, -0.5) | vec2(64.0, -32.0) | vec2(-0.0322580645161, -0.75) ];
74e5c31af7Sopenharmony_ci	}
75e5c31af7Sopenharmony_ci
76e5c31af7Sopenharmony_ci	both ""
77e5c31af7Sopenharmony_ci		precision mediump float;
78e5c31af7Sopenharmony_ci
79e5c31af7Sopenharmony_ci		${DECLARATIONS}
80e5c31af7Sopenharmony_ci
81e5c31af7Sopenharmony_ci		void main()
82e5c31af7Sopenharmony_ci		{
83e5c31af7Sopenharmony_ci			${SETUP}
84e5c31af7Sopenharmony_ci			out0 = in0.yx;
85e5c31af7Sopenharmony_ci			${OUTPUT}
86e5c31af7Sopenharmony_ci		}
87e5c31af7Sopenharmony_ci	""
88e5c31af7Sopenharmony_ci  end
89e5c31af7Sopenharmony_ci
90e5c31af7Sopenharmony_ci  case mediump_vec2_yxy
91e5c31af7Sopenharmony_ci	values
92e5c31af7Sopenharmony_ci	{
93e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
94e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.5, 0.0, 0.5) | vec3(1.25, 1.0, 1.25) | vec3(-2.25, -0.5, -2.25) | vec3(64.0, -32.0, 64.0) | vec3(-0.0322580645161, -0.75, -0.0322580645161) ];
95e5c31af7Sopenharmony_ci	}
96e5c31af7Sopenharmony_ci
97e5c31af7Sopenharmony_ci	both ""
98e5c31af7Sopenharmony_ci		precision mediump float;
99e5c31af7Sopenharmony_ci
100e5c31af7Sopenharmony_ci		${DECLARATIONS}
101e5c31af7Sopenharmony_ci
102e5c31af7Sopenharmony_ci		void main()
103e5c31af7Sopenharmony_ci		{
104e5c31af7Sopenharmony_ci			${SETUP}
105e5c31af7Sopenharmony_ci			out0 = in0.yxy;
106e5c31af7Sopenharmony_ci			${OUTPUT}
107e5c31af7Sopenharmony_ci		}
108e5c31af7Sopenharmony_ci	""
109e5c31af7Sopenharmony_ci  end
110e5c31af7Sopenharmony_ci
111e5c31af7Sopenharmony_ci  case mediump_vec2_xyxx
112e5c31af7Sopenharmony_ci	values
113e5c31af7Sopenharmony_ci	{
114e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
115e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.5, -2.25, -0.5, -0.5) | vec4(-32.0, 64.0, -32.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.75, -0.75) ];
116e5c31af7Sopenharmony_ci	}
117e5c31af7Sopenharmony_ci
118e5c31af7Sopenharmony_ci	both ""
119e5c31af7Sopenharmony_ci		precision mediump float;
120e5c31af7Sopenharmony_ci
121e5c31af7Sopenharmony_ci		${DECLARATIONS}
122e5c31af7Sopenharmony_ci
123e5c31af7Sopenharmony_ci		void main()
124e5c31af7Sopenharmony_ci		{
125e5c31af7Sopenharmony_ci			${SETUP}
126e5c31af7Sopenharmony_ci			out0 = in0.xyxx;
127e5c31af7Sopenharmony_ci			${OUTPUT}
128e5c31af7Sopenharmony_ci		}
129e5c31af7Sopenharmony_ci	""
130e5c31af7Sopenharmony_ci  end
131e5c31af7Sopenharmony_ci
132e5c31af7Sopenharmony_ci  case mediump_vec2_yyyy
133e5c31af7Sopenharmony_ci	values
134e5c31af7Sopenharmony_ci	{
135e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
136e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.5, 0.5, 0.5, 0.5) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(-2.25, -2.25, -2.25, -2.25) | vec4(64.0, 64.0, 64.0, 64.0) | vec4(-0.0322580645161, -0.0322580645161, -0.0322580645161, -0.0322580645161) ];
137e5c31af7Sopenharmony_ci	}
138e5c31af7Sopenharmony_ci
139e5c31af7Sopenharmony_ci	both ""
140e5c31af7Sopenharmony_ci		precision mediump float;
141e5c31af7Sopenharmony_ci
142e5c31af7Sopenharmony_ci		${DECLARATIONS}
143e5c31af7Sopenharmony_ci
144e5c31af7Sopenharmony_ci		void main()
145e5c31af7Sopenharmony_ci		{
146e5c31af7Sopenharmony_ci			${SETUP}
147e5c31af7Sopenharmony_ci			out0 = in0.yyyy;
148e5c31af7Sopenharmony_ci			${OUTPUT}
149e5c31af7Sopenharmony_ci		}
150e5c31af7Sopenharmony_ci	""
151e5c31af7Sopenharmony_ci  end
152e5c31af7Sopenharmony_ci
153e5c31af7Sopenharmony_ci  case mediump_vec2_s
154e5c31af7Sopenharmony_ci	values
155e5c31af7Sopenharmony_ci	{
156e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
157e5c31af7Sopenharmony_ci		output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
158e5c31af7Sopenharmony_ci	}
159e5c31af7Sopenharmony_ci
160e5c31af7Sopenharmony_ci	both ""
161e5c31af7Sopenharmony_ci		precision mediump float;
162e5c31af7Sopenharmony_ci
163e5c31af7Sopenharmony_ci		${DECLARATIONS}
164e5c31af7Sopenharmony_ci
165e5c31af7Sopenharmony_ci		void main()
166e5c31af7Sopenharmony_ci		{
167e5c31af7Sopenharmony_ci			${SETUP}
168e5c31af7Sopenharmony_ci			out0 = in0.s;
169e5c31af7Sopenharmony_ci			${OUTPUT}
170e5c31af7Sopenharmony_ci		}
171e5c31af7Sopenharmony_ci	""
172e5c31af7Sopenharmony_ci  end
173e5c31af7Sopenharmony_ci
174e5c31af7Sopenharmony_ci  case mediump_vec2_ss
175e5c31af7Sopenharmony_ci	values
176e5c31af7Sopenharmony_ci	{
177e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
178e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(-0.5, -0.5) | vec2(-32.0, -32.0) | vec2(-0.75, -0.75) ];
179e5c31af7Sopenharmony_ci	}
180e5c31af7Sopenharmony_ci
181e5c31af7Sopenharmony_ci	both ""
182e5c31af7Sopenharmony_ci		precision mediump float;
183e5c31af7Sopenharmony_ci
184e5c31af7Sopenharmony_ci		${DECLARATIONS}
185e5c31af7Sopenharmony_ci
186e5c31af7Sopenharmony_ci		void main()
187e5c31af7Sopenharmony_ci		{
188e5c31af7Sopenharmony_ci			${SETUP}
189e5c31af7Sopenharmony_ci			out0 = in0.ss;
190e5c31af7Sopenharmony_ci			${OUTPUT}
191e5c31af7Sopenharmony_ci		}
192e5c31af7Sopenharmony_ci	""
193e5c31af7Sopenharmony_ci  end
194e5c31af7Sopenharmony_ci
195e5c31af7Sopenharmony_ci  case mediump_vec2_st
196e5c31af7Sopenharmony_ci	values
197e5c31af7Sopenharmony_ci	{
198e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
199e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
200e5c31af7Sopenharmony_ci	}
201e5c31af7Sopenharmony_ci
202e5c31af7Sopenharmony_ci	both ""
203e5c31af7Sopenharmony_ci		precision mediump float;
204e5c31af7Sopenharmony_ci
205e5c31af7Sopenharmony_ci		${DECLARATIONS}
206e5c31af7Sopenharmony_ci
207e5c31af7Sopenharmony_ci		void main()
208e5c31af7Sopenharmony_ci		{
209e5c31af7Sopenharmony_ci			${SETUP}
210e5c31af7Sopenharmony_ci			out0 = in0.st;
211e5c31af7Sopenharmony_ci			${OUTPUT}
212e5c31af7Sopenharmony_ci		}
213e5c31af7Sopenharmony_ci	""
214e5c31af7Sopenharmony_ci  end
215e5c31af7Sopenharmony_ci
216e5c31af7Sopenharmony_ci  case mediump_vec2_ts
217e5c31af7Sopenharmony_ci	values
218e5c31af7Sopenharmony_ci	{
219e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
220e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.5, 0.0) | vec2(1.25, 1.0) | vec2(-2.25, -0.5) | vec2(64.0, -32.0) | vec2(-0.0322580645161, -0.75) ];
221e5c31af7Sopenharmony_ci	}
222e5c31af7Sopenharmony_ci
223e5c31af7Sopenharmony_ci	both ""
224e5c31af7Sopenharmony_ci		precision mediump float;
225e5c31af7Sopenharmony_ci
226e5c31af7Sopenharmony_ci		${DECLARATIONS}
227e5c31af7Sopenharmony_ci
228e5c31af7Sopenharmony_ci		void main()
229e5c31af7Sopenharmony_ci		{
230e5c31af7Sopenharmony_ci			${SETUP}
231e5c31af7Sopenharmony_ci			out0 = in0.ts;
232e5c31af7Sopenharmony_ci			${OUTPUT}
233e5c31af7Sopenharmony_ci		}
234e5c31af7Sopenharmony_ci	""
235e5c31af7Sopenharmony_ci  end
236e5c31af7Sopenharmony_ci
237e5c31af7Sopenharmony_ci  case mediump_vec2_tst
238e5c31af7Sopenharmony_ci	values
239e5c31af7Sopenharmony_ci	{
240e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
241e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.5, 0.0, 0.5) | vec3(1.25, 1.0, 1.25) | vec3(-2.25, -0.5, -2.25) | vec3(64.0, -32.0, 64.0) | vec3(-0.0322580645161, -0.75, -0.0322580645161) ];
242e5c31af7Sopenharmony_ci	}
243e5c31af7Sopenharmony_ci
244e5c31af7Sopenharmony_ci	both ""
245e5c31af7Sopenharmony_ci		precision mediump float;
246e5c31af7Sopenharmony_ci
247e5c31af7Sopenharmony_ci		${DECLARATIONS}
248e5c31af7Sopenharmony_ci
249e5c31af7Sopenharmony_ci		void main()
250e5c31af7Sopenharmony_ci		{
251e5c31af7Sopenharmony_ci			${SETUP}
252e5c31af7Sopenharmony_ci			out0 = in0.tst;
253e5c31af7Sopenharmony_ci			${OUTPUT}
254e5c31af7Sopenharmony_ci		}
255e5c31af7Sopenharmony_ci	""
256e5c31af7Sopenharmony_ci  end
257e5c31af7Sopenharmony_ci
258e5c31af7Sopenharmony_ci  case mediump_vec2_stss
259e5c31af7Sopenharmony_ci	values
260e5c31af7Sopenharmony_ci	{
261e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
262e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.5, -2.25, -0.5, -0.5) | vec4(-32.0, 64.0, -32.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.75, -0.75) ];
263e5c31af7Sopenharmony_ci	}
264e5c31af7Sopenharmony_ci
265e5c31af7Sopenharmony_ci	both ""
266e5c31af7Sopenharmony_ci		precision mediump float;
267e5c31af7Sopenharmony_ci
268e5c31af7Sopenharmony_ci		${DECLARATIONS}
269e5c31af7Sopenharmony_ci
270e5c31af7Sopenharmony_ci		void main()
271e5c31af7Sopenharmony_ci		{
272e5c31af7Sopenharmony_ci			${SETUP}
273e5c31af7Sopenharmony_ci			out0 = in0.stss;
274e5c31af7Sopenharmony_ci			${OUTPUT}
275e5c31af7Sopenharmony_ci		}
276e5c31af7Sopenharmony_ci	""
277e5c31af7Sopenharmony_ci  end
278e5c31af7Sopenharmony_ci
279e5c31af7Sopenharmony_ci  case mediump_vec2_tttt
280e5c31af7Sopenharmony_ci	values
281e5c31af7Sopenharmony_ci	{
282e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
283e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.5, 0.5, 0.5, 0.5) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(-2.25, -2.25, -2.25, -2.25) | vec4(64.0, 64.0, 64.0, 64.0) | vec4(-0.0322580645161, -0.0322580645161, -0.0322580645161, -0.0322580645161) ];
284e5c31af7Sopenharmony_ci	}
285e5c31af7Sopenharmony_ci
286e5c31af7Sopenharmony_ci	both ""
287e5c31af7Sopenharmony_ci		precision mediump float;
288e5c31af7Sopenharmony_ci
289e5c31af7Sopenharmony_ci		${DECLARATIONS}
290e5c31af7Sopenharmony_ci
291e5c31af7Sopenharmony_ci		void main()
292e5c31af7Sopenharmony_ci		{
293e5c31af7Sopenharmony_ci			${SETUP}
294e5c31af7Sopenharmony_ci			out0 = in0.tttt;
295e5c31af7Sopenharmony_ci			${OUTPUT}
296e5c31af7Sopenharmony_ci		}
297e5c31af7Sopenharmony_ci	""
298e5c31af7Sopenharmony_ci  end
299e5c31af7Sopenharmony_ci
300e5c31af7Sopenharmony_ci  case mediump_vec2_r
301e5c31af7Sopenharmony_ci	values
302e5c31af7Sopenharmony_ci	{
303e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
304e5c31af7Sopenharmony_ci		output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
305e5c31af7Sopenharmony_ci	}
306e5c31af7Sopenharmony_ci
307e5c31af7Sopenharmony_ci	both ""
308e5c31af7Sopenharmony_ci		precision mediump float;
309e5c31af7Sopenharmony_ci
310e5c31af7Sopenharmony_ci		${DECLARATIONS}
311e5c31af7Sopenharmony_ci
312e5c31af7Sopenharmony_ci		void main()
313e5c31af7Sopenharmony_ci		{
314e5c31af7Sopenharmony_ci			${SETUP}
315e5c31af7Sopenharmony_ci			out0 = in0.r;
316e5c31af7Sopenharmony_ci			${OUTPUT}
317e5c31af7Sopenharmony_ci		}
318e5c31af7Sopenharmony_ci	""
319e5c31af7Sopenharmony_ci  end
320e5c31af7Sopenharmony_ci
321e5c31af7Sopenharmony_ci  case mediump_vec2_rr
322e5c31af7Sopenharmony_ci	values
323e5c31af7Sopenharmony_ci	{
324e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
325e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(-0.5, -0.5) | vec2(-32.0, -32.0) | vec2(-0.75, -0.75) ];
326e5c31af7Sopenharmony_ci	}
327e5c31af7Sopenharmony_ci
328e5c31af7Sopenharmony_ci	both ""
329e5c31af7Sopenharmony_ci		precision mediump float;
330e5c31af7Sopenharmony_ci
331e5c31af7Sopenharmony_ci		${DECLARATIONS}
332e5c31af7Sopenharmony_ci
333e5c31af7Sopenharmony_ci		void main()
334e5c31af7Sopenharmony_ci		{
335e5c31af7Sopenharmony_ci			${SETUP}
336e5c31af7Sopenharmony_ci			out0 = in0.rr;
337e5c31af7Sopenharmony_ci			${OUTPUT}
338e5c31af7Sopenharmony_ci		}
339e5c31af7Sopenharmony_ci	""
340e5c31af7Sopenharmony_ci  end
341e5c31af7Sopenharmony_ci
342e5c31af7Sopenharmony_ci  case mediump_vec2_rg
343e5c31af7Sopenharmony_ci	values
344e5c31af7Sopenharmony_ci	{
345e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
346e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
347e5c31af7Sopenharmony_ci	}
348e5c31af7Sopenharmony_ci
349e5c31af7Sopenharmony_ci	both ""
350e5c31af7Sopenharmony_ci		precision mediump float;
351e5c31af7Sopenharmony_ci
352e5c31af7Sopenharmony_ci		${DECLARATIONS}
353e5c31af7Sopenharmony_ci
354e5c31af7Sopenharmony_ci		void main()
355e5c31af7Sopenharmony_ci		{
356e5c31af7Sopenharmony_ci			${SETUP}
357e5c31af7Sopenharmony_ci			out0 = in0.rg;
358e5c31af7Sopenharmony_ci			${OUTPUT}
359e5c31af7Sopenharmony_ci		}
360e5c31af7Sopenharmony_ci	""
361e5c31af7Sopenharmony_ci  end
362e5c31af7Sopenharmony_ci
363e5c31af7Sopenharmony_ci  case mediump_vec2_gr
364e5c31af7Sopenharmony_ci	values
365e5c31af7Sopenharmony_ci	{
366e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
367e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.5, 0.0) | vec2(1.25, 1.0) | vec2(-2.25, -0.5) | vec2(64.0, -32.0) | vec2(-0.0322580645161, -0.75) ];
368e5c31af7Sopenharmony_ci	}
369e5c31af7Sopenharmony_ci
370e5c31af7Sopenharmony_ci	both ""
371e5c31af7Sopenharmony_ci		precision mediump float;
372e5c31af7Sopenharmony_ci
373e5c31af7Sopenharmony_ci		${DECLARATIONS}
374e5c31af7Sopenharmony_ci
375e5c31af7Sopenharmony_ci		void main()
376e5c31af7Sopenharmony_ci		{
377e5c31af7Sopenharmony_ci			${SETUP}
378e5c31af7Sopenharmony_ci			out0 = in0.gr;
379e5c31af7Sopenharmony_ci			${OUTPUT}
380e5c31af7Sopenharmony_ci		}
381e5c31af7Sopenharmony_ci	""
382e5c31af7Sopenharmony_ci  end
383e5c31af7Sopenharmony_ci
384e5c31af7Sopenharmony_ci  case mediump_vec2_grg
385e5c31af7Sopenharmony_ci	values
386e5c31af7Sopenharmony_ci	{
387e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
388e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.5, 0.0, 0.5) | vec3(1.25, 1.0, 1.25) | vec3(-2.25, -0.5, -2.25) | vec3(64.0, -32.0, 64.0) | vec3(-0.0322580645161, -0.75, -0.0322580645161) ];
389e5c31af7Sopenharmony_ci	}
390e5c31af7Sopenharmony_ci
391e5c31af7Sopenharmony_ci	both ""
392e5c31af7Sopenharmony_ci		precision mediump float;
393e5c31af7Sopenharmony_ci
394e5c31af7Sopenharmony_ci		${DECLARATIONS}
395e5c31af7Sopenharmony_ci
396e5c31af7Sopenharmony_ci		void main()
397e5c31af7Sopenharmony_ci		{
398e5c31af7Sopenharmony_ci			${SETUP}
399e5c31af7Sopenharmony_ci			out0 = in0.grg;
400e5c31af7Sopenharmony_ci			${OUTPUT}
401e5c31af7Sopenharmony_ci		}
402e5c31af7Sopenharmony_ci	""
403e5c31af7Sopenharmony_ci  end
404e5c31af7Sopenharmony_ci
405e5c31af7Sopenharmony_ci  case mediump_vec2_rgrr
406e5c31af7Sopenharmony_ci	values
407e5c31af7Sopenharmony_ci	{
408e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
409e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.5, -2.25, -0.5, -0.5) | vec4(-32.0, 64.0, -32.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.75, -0.75) ];
410e5c31af7Sopenharmony_ci	}
411e5c31af7Sopenharmony_ci
412e5c31af7Sopenharmony_ci	both ""
413e5c31af7Sopenharmony_ci		precision mediump float;
414e5c31af7Sopenharmony_ci
415e5c31af7Sopenharmony_ci		${DECLARATIONS}
416e5c31af7Sopenharmony_ci
417e5c31af7Sopenharmony_ci		void main()
418e5c31af7Sopenharmony_ci		{
419e5c31af7Sopenharmony_ci			${SETUP}
420e5c31af7Sopenharmony_ci			out0 = in0.rgrr;
421e5c31af7Sopenharmony_ci			${OUTPUT}
422e5c31af7Sopenharmony_ci		}
423e5c31af7Sopenharmony_ci	""
424e5c31af7Sopenharmony_ci  end
425e5c31af7Sopenharmony_ci
426e5c31af7Sopenharmony_ci  case mediump_vec2_gggg
427e5c31af7Sopenharmony_ci	values
428e5c31af7Sopenharmony_ci	{
429e5c31af7Sopenharmony_ci		input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
430e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.5, 0.5, 0.5, 0.5) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(-2.25, -2.25, -2.25, -2.25) | vec4(64.0, 64.0, 64.0, 64.0) | vec4(-0.0322580645161, -0.0322580645161, -0.0322580645161, -0.0322580645161) ];
431e5c31af7Sopenharmony_ci	}
432e5c31af7Sopenharmony_ci
433e5c31af7Sopenharmony_ci	both ""
434e5c31af7Sopenharmony_ci		precision mediump float;
435e5c31af7Sopenharmony_ci
436e5c31af7Sopenharmony_ci		${DECLARATIONS}
437e5c31af7Sopenharmony_ci
438e5c31af7Sopenharmony_ci		void main()
439e5c31af7Sopenharmony_ci		{
440e5c31af7Sopenharmony_ci			${SETUP}
441e5c31af7Sopenharmony_ci			out0 = in0.gggg;
442e5c31af7Sopenharmony_ci			${OUTPUT}
443e5c31af7Sopenharmony_ci		}
444e5c31af7Sopenharmony_ci	""
445e5c31af7Sopenharmony_ci  end
446e5c31af7Sopenharmony_ci
447e5c31af7Sopenharmony_ci  case mediump_vec3_x
448e5c31af7Sopenharmony_ci	values
449e5c31af7Sopenharmony_ci	{
450e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
451e5c31af7Sopenharmony_ci		output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
452e5c31af7Sopenharmony_ci	}
453e5c31af7Sopenharmony_ci
454e5c31af7Sopenharmony_ci	both ""
455e5c31af7Sopenharmony_ci		precision mediump float;
456e5c31af7Sopenharmony_ci
457e5c31af7Sopenharmony_ci		${DECLARATIONS}
458e5c31af7Sopenharmony_ci
459e5c31af7Sopenharmony_ci		void main()
460e5c31af7Sopenharmony_ci		{
461e5c31af7Sopenharmony_ci			${SETUP}
462e5c31af7Sopenharmony_ci			out0 = in0.x;
463e5c31af7Sopenharmony_ci			${OUTPUT}
464e5c31af7Sopenharmony_ci		}
465e5c31af7Sopenharmony_ci	""
466e5c31af7Sopenharmony_ci  end
467e5c31af7Sopenharmony_ci
468e5c31af7Sopenharmony_ci  case mediump_vec3_z
469e5c31af7Sopenharmony_ci	values
470e5c31af7Sopenharmony_ci	{
471e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
472e5c31af7Sopenharmony_ci		output float out0 = [ 0.75 | 1.125 | -4.875 | -51.0 | 0.0526315789474 ];
473e5c31af7Sopenharmony_ci	}
474e5c31af7Sopenharmony_ci
475e5c31af7Sopenharmony_ci	both ""
476e5c31af7Sopenharmony_ci		precision mediump float;
477e5c31af7Sopenharmony_ci
478e5c31af7Sopenharmony_ci		${DECLARATIONS}
479e5c31af7Sopenharmony_ci
480e5c31af7Sopenharmony_ci		void main()
481e5c31af7Sopenharmony_ci		{
482e5c31af7Sopenharmony_ci			${SETUP}
483e5c31af7Sopenharmony_ci			out0 = in0.z;
484e5c31af7Sopenharmony_ci			${OUTPUT}
485e5c31af7Sopenharmony_ci		}
486e5c31af7Sopenharmony_ci	""
487e5c31af7Sopenharmony_ci  end
488e5c31af7Sopenharmony_ci
489e5c31af7Sopenharmony_ci  case mediump_vec3_xz
490e5c31af7Sopenharmony_ci	values
491e5c31af7Sopenharmony_ci	{
492e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
493e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.0, 0.75) | vec2(1.0, 1.125) | vec2(-0.5, -4.875) | vec2(-32.0, -51.0) | vec2(-0.75, 0.0526315789474) ];
494e5c31af7Sopenharmony_ci	}
495e5c31af7Sopenharmony_ci
496e5c31af7Sopenharmony_ci	both ""
497e5c31af7Sopenharmony_ci		precision mediump float;
498e5c31af7Sopenharmony_ci
499e5c31af7Sopenharmony_ci		${DECLARATIONS}
500e5c31af7Sopenharmony_ci
501e5c31af7Sopenharmony_ci		void main()
502e5c31af7Sopenharmony_ci		{
503e5c31af7Sopenharmony_ci			${SETUP}
504e5c31af7Sopenharmony_ci			out0 = in0.xz;
505e5c31af7Sopenharmony_ci			${OUTPUT}
506e5c31af7Sopenharmony_ci		}
507e5c31af7Sopenharmony_ci	""
508e5c31af7Sopenharmony_ci  end
509e5c31af7Sopenharmony_ci
510e5c31af7Sopenharmony_ci  case mediump_vec3_zz
511e5c31af7Sopenharmony_ci	values
512e5c31af7Sopenharmony_ci	{
513e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
514e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.75, 0.75) | vec2(1.125, 1.125) | vec2(-4.875, -4.875) | vec2(-51.0, -51.0) | vec2(0.0526315789474, 0.0526315789474) ];
515e5c31af7Sopenharmony_ci	}
516e5c31af7Sopenharmony_ci
517e5c31af7Sopenharmony_ci	both ""
518e5c31af7Sopenharmony_ci		precision mediump float;
519e5c31af7Sopenharmony_ci
520e5c31af7Sopenharmony_ci		${DECLARATIONS}
521e5c31af7Sopenharmony_ci
522e5c31af7Sopenharmony_ci		void main()
523e5c31af7Sopenharmony_ci		{
524e5c31af7Sopenharmony_ci			${SETUP}
525e5c31af7Sopenharmony_ci			out0 = in0.zz;
526e5c31af7Sopenharmony_ci			${OUTPUT}
527e5c31af7Sopenharmony_ci		}
528e5c31af7Sopenharmony_ci	""
529e5c31af7Sopenharmony_ci  end
530e5c31af7Sopenharmony_ci
531e5c31af7Sopenharmony_ci  case mediump_vec3_xyz
532e5c31af7Sopenharmony_ci	values
533e5c31af7Sopenharmony_ci	{
534e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
535e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
536e5c31af7Sopenharmony_ci	}
537e5c31af7Sopenharmony_ci
538e5c31af7Sopenharmony_ci	both ""
539e5c31af7Sopenharmony_ci		precision mediump float;
540e5c31af7Sopenharmony_ci
541e5c31af7Sopenharmony_ci		${DECLARATIONS}
542e5c31af7Sopenharmony_ci
543e5c31af7Sopenharmony_ci		void main()
544e5c31af7Sopenharmony_ci		{
545e5c31af7Sopenharmony_ci			${SETUP}
546e5c31af7Sopenharmony_ci			out0 = in0.xyz;
547e5c31af7Sopenharmony_ci			${OUTPUT}
548e5c31af7Sopenharmony_ci		}
549e5c31af7Sopenharmony_ci	""
550e5c31af7Sopenharmony_ci  end
551e5c31af7Sopenharmony_ci
552e5c31af7Sopenharmony_ci  case mediump_vec3_zyx
553e5c31af7Sopenharmony_ci	values
554e5c31af7Sopenharmony_ci	{
555e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
556e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.75, 0.5, 0.0) | vec3(1.125, 1.25, 1.0) | vec3(-4.875, -2.25, -0.5) | vec3(-51.0, 64.0, -32.0) | vec3(0.0526315789474, -0.0322580645161, -0.75) ];
557e5c31af7Sopenharmony_ci	}
558e5c31af7Sopenharmony_ci
559e5c31af7Sopenharmony_ci	both ""
560e5c31af7Sopenharmony_ci		precision mediump float;
561e5c31af7Sopenharmony_ci
562e5c31af7Sopenharmony_ci		${DECLARATIONS}
563e5c31af7Sopenharmony_ci
564e5c31af7Sopenharmony_ci		void main()
565e5c31af7Sopenharmony_ci		{
566e5c31af7Sopenharmony_ci			${SETUP}
567e5c31af7Sopenharmony_ci			out0 = in0.zyx;
568e5c31af7Sopenharmony_ci			${OUTPUT}
569e5c31af7Sopenharmony_ci		}
570e5c31af7Sopenharmony_ci	""
571e5c31af7Sopenharmony_ci  end
572e5c31af7Sopenharmony_ci
573e5c31af7Sopenharmony_ci  case mediump_vec3_xxx
574e5c31af7Sopenharmony_ci	values
575e5c31af7Sopenharmony_ci	{
576e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
577e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(-0.5, -0.5, -0.5) | vec3(-32.0, -32.0, -32.0) | vec3(-0.75, -0.75, -0.75) ];
578e5c31af7Sopenharmony_ci	}
579e5c31af7Sopenharmony_ci
580e5c31af7Sopenharmony_ci	both ""
581e5c31af7Sopenharmony_ci		precision mediump float;
582e5c31af7Sopenharmony_ci
583e5c31af7Sopenharmony_ci		${DECLARATIONS}
584e5c31af7Sopenharmony_ci
585e5c31af7Sopenharmony_ci		void main()
586e5c31af7Sopenharmony_ci		{
587e5c31af7Sopenharmony_ci			${SETUP}
588e5c31af7Sopenharmony_ci			out0 = in0.xxx;
589e5c31af7Sopenharmony_ci			${OUTPUT}
590e5c31af7Sopenharmony_ci		}
591e5c31af7Sopenharmony_ci	""
592e5c31af7Sopenharmony_ci  end
593e5c31af7Sopenharmony_ci
594e5c31af7Sopenharmony_ci  case mediump_vec3_zzz
595e5c31af7Sopenharmony_ci	values
596e5c31af7Sopenharmony_ci	{
597e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
598e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.75, 0.75, 0.75) | vec3(1.125, 1.125, 1.125) | vec3(-4.875, -4.875, -4.875) | vec3(-51.0, -51.0, -51.0) | vec3(0.0526315789474, 0.0526315789474, 0.0526315789474) ];
599e5c31af7Sopenharmony_ci	}
600e5c31af7Sopenharmony_ci
601e5c31af7Sopenharmony_ci	both ""
602e5c31af7Sopenharmony_ci		precision mediump float;
603e5c31af7Sopenharmony_ci
604e5c31af7Sopenharmony_ci		${DECLARATIONS}
605e5c31af7Sopenharmony_ci
606e5c31af7Sopenharmony_ci		void main()
607e5c31af7Sopenharmony_ci		{
608e5c31af7Sopenharmony_ci			${SETUP}
609e5c31af7Sopenharmony_ci			out0 = in0.zzz;
610e5c31af7Sopenharmony_ci			${OUTPUT}
611e5c31af7Sopenharmony_ci		}
612e5c31af7Sopenharmony_ci	""
613e5c31af7Sopenharmony_ci  end
614e5c31af7Sopenharmony_ci
615e5c31af7Sopenharmony_ci  case mediump_vec3_zzy
616e5c31af7Sopenharmony_ci	values
617e5c31af7Sopenharmony_ci	{
618e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
619e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.75, 0.75, 0.5) | vec3(1.125, 1.125, 1.25) | vec3(-4.875, -4.875, -2.25) | vec3(-51.0, -51.0, 64.0) | vec3(0.0526315789474, 0.0526315789474, -0.0322580645161) ];
620e5c31af7Sopenharmony_ci	}
621e5c31af7Sopenharmony_ci
622e5c31af7Sopenharmony_ci	both ""
623e5c31af7Sopenharmony_ci		precision mediump float;
624e5c31af7Sopenharmony_ci
625e5c31af7Sopenharmony_ci		${DECLARATIONS}
626e5c31af7Sopenharmony_ci
627e5c31af7Sopenharmony_ci		void main()
628e5c31af7Sopenharmony_ci		{
629e5c31af7Sopenharmony_ci			${SETUP}
630e5c31af7Sopenharmony_ci			out0 = in0.zzy;
631e5c31af7Sopenharmony_ci			${OUTPUT}
632e5c31af7Sopenharmony_ci		}
633e5c31af7Sopenharmony_ci	""
634e5c31af7Sopenharmony_ci  end
635e5c31af7Sopenharmony_ci
636e5c31af7Sopenharmony_ci  case mediump_vec3_yxy
637e5c31af7Sopenharmony_ci	values
638e5c31af7Sopenharmony_ci	{
639e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
640e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.5, 0.0, 0.5) | vec3(1.25, 1.0, 1.25) | vec3(-2.25, -0.5, -2.25) | vec3(64.0, -32.0, 64.0) | vec3(-0.0322580645161, -0.75, -0.0322580645161) ];
641e5c31af7Sopenharmony_ci	}
642e5c31af7Sopenharmony_ci
643e5c31af7Sopenharmony_ci	both ""
644e5c31af7Sopenharmony_ci		precision mediump float;
645e5c31af7Sopenharmony_ci
646e5c31af7Sopenharmony_ci		${DECLARATIONS}
647e5c31af7Sopenharmony_ci
648e5c31af7Sopenharmony_ci		void main()
649e5c31af7Sopenharmony_ci		{
650e5c31af7Sopenharmony_ci			${SETUP}
651e5c31af7Sopenharmony_ci			out0 = in0.yxy;
652e5c31af7Sopenharmony_ci			${OUTPUT}
653e5c31af7Sopenharmony_ci		}
654e5c31af7Sopenharmony_ci	""
655e5c31af7Sopenharmony_ci  end
656e5c31af7Sopenharmony_ci
657e5c31af7Sopenharmony_ci  case mediump_vec3_xzx
658e5c31af7Sopenharmony_ci	values
659e5c31af7Sopenharmony_ci	{
660e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
661e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.0, 0.75, 0.0) | vec3(1.0, 1.125, 1.0) | vec3(-0.5, -4.875, -0.5) | vec3(-32.0, -51.0, -32.0) | vec3(-0.75, 0.0526315789474, -0.75) ];
662e5c31af7Sopenharmony_ci	}
663e5c31af7Sopenharmony_ci
664e5c31af7Sopenharmony_ci	both ""
665e5c31af7Sopenharmony_ci		precision mediump float;
666e5c31af7Sopenharmony_ci
667e5c31af7Sopenharmony_ci		${DECLARATIONS}
668e5c31af7Sopenharmony_ci
669e5c31af7Sopenharmony_ci		void main()
670e5c31af7Sopenharmony_ci		{
671e5c31af7Sopenharmony_ci			${SETUP}
672e5c31af7Sopenharmony_ci			out0 = in0.xzx;
673e5c31af7Sopenharmony_ci			${OUTPUT}
674e5c31af7Sopenharmony_ci		}
675e5c31af7Sopenharmony_ci	""
676e5c31af7Sopenharmony_ci  end
677e5c31af7Sopenharmony_ci
678e5c31af7Sopenharmony_ci  case mediump_vec3_xyyx
679e5c31af7Sopenharmony_ci	values
680e5c31af7Sopenharmony_ci	{
681e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
682e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.0, 0.5, 0.5, 0.0) | vec4(1.0, 1.25, 1.25, 1.0) | vec4(-0.5, -2.25, -2.25, -0.5) | vec4(-32.0, 64.0, 64.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.0322580645161, -0.75) ];
683e5c31af7Sopenharmony_ci	}
684e5c31af7Sopenharmony_ci
685e5c31af7Sopenharmony_ci	both ""
686e5c31af7Sopenharmony_ci		precision mediump float;
687e5c31af7Sopenharmony_ci
688e5c31af7Sopenharmony_ci		${DECLARATIONS}
689e5c31af7Sopenharmony_ci
690e5c31af7Sopenharmony_ci		void main()
691e5c31af7Sopenharmony_ci		{
692e5c31af7Sopenharmony_ci			${SETUP}
693e5c31af7Sopenharmony_ci			out0 = in0.xyyx;
694e5c31af7Sopenharmony_ci			${OUTPUT}
695e5c31af7Sopenharmony_ci		}
696e5c31af7Sopenharmony_ci	""
697e5c31af7Sopenharmony_ci  end
698e5c31af7Sopenharmony_ci
699e5c31af7Sopenharmony_ci  case mediump_vec3_zzzz
700e5c31af7Sopenharmony_ci	values
701e5c31af7Sopenharmony_ci	{
702e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
703e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.75, 0.75, 0.75, 0.75) | vec4(1.125, 1.125, 1.125, 1.125) | vec4(-4.875, -4.875, -4.875, -4.875) | vec4(-51.0, -51.0, -51.0, -51.0) | vec4(0.0526315789474, 0.0526315789474, 0.0526315789474, 0.0526315789474) ];
704e5c31af7Sopenharmony_ci	}
705e5c31af7Sopenharmony_ci
706e5c31af7Sopenharmony_ci	both ""
707e5c31af7Sopenharmony_ci		precision mediump float;
708e5c31af7Sopenharmony_ci
709e5c31af7Sopenharmony_ci		${DECLARATIONS}
710e5c31af7Sopenharmony_ci
711e5c31af7Sopenharmony_ci		void main()
712e5c31af7Sopenharmony_ci		{
713e5c31af7Sopenharmony_ci			${SETUP}
714e5c31af7Sopenharmony_ci			out0 = in0.zzzz;
715e5c31af7Sopenharmony_ci			${OUTPUT}
716e5c31af7Sopenharmony_ci		}
717e5c31af7Sopenharmony_ci	""
718e5c31af7Sopenharmony_ci  end
719e5c31af7Sopenharmony_ci
720e5c31af7Sopenharmony_ci  case mediump_vec3_s
721e5c31af7Sopenharmony_ci	values
722e5c31af7Sopenharmony_ci	{
723e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
724e5c31af7Sopenharmony_ci		output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
725e5c31af7Sopenharmony_ci	}
726e5c31af7Sopenharmony_ci
727e5c31af7Sopenharmony_ci	both ""
728e5c31af7Sopenharmony_ci		precision mediump float;
729e5c31af7Sopenharmony_ci
730e5c31af7Sopenharmony_ci		${DECLARATIONS}
731e5c31af7Sopenharmony_ci
732e5c31af7Sopenharmony_ci		void main()
733e5c31af7Sopenharmony_ci		{
734e5c31af7Sopenharmony_ci			${SETUP}
735e5c31af7Sopenharmony_ci			out0 = in0.s;
736e5c31af7Sopenharmony_ci			${OUTPUT}
737e5c31af7Sopenharmony_ci		}
738e5c31af7Sopenharmony_ci	""
739e5c31af7Sopenharmony_ci  end
740e5c31af7Sopenharmony_ci
741e5c31af7Sopenharmony_ci  case mediump_vec3_p
742e5c31af7Sopenharmony_ci	values
743e5c31af7Sopenharmony_ci	{
744e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
745e5c31af7Sopenharmony_ci		output float out0 = [ 0.75 | 1.125 | -4.875 | -51.0 | 0.0526315789474 ];
746e5c31af7Sopenharmony_ci	}
747e5c31af7Sopenharmony_ci
748e5c31af7Sopenharmony_ci	both ""
749e5c31af7Sopenharmony_ci		precision mediump float;
750e5c31af7Sopenharmony_ci
751e5c31af7Sopenharmony_ci		${DECLARATIONS}
752e5c31af7Sopenharmony_ci
753e5c31af7Sopenharmony_ci		void main()
754e5c31af7Sopenharmony_ci		{
755e5c31af7Sopenharmony_ci			${SETUP}
756e5c31af7Sopenharmony_ci			out0 = in0.p;
757e5c31af7Sopenharmony_ci			${OUTPUT}
758e5c31af7Sopenharmony_ci		}
759e5c31af7Sopenharmony_ci	""
760e5c31af7Sopenharmony_ci  end
761e5c31af7Sopenharmony_ci
762e5c31af7Sopenharmony_ci  case mediump_vec3_sp
763e5c31af7Sopenharmony_ci	values
764e5c31af7Sopenharmony_ci	{
765e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
766e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.0, 0.75) | vec2(1.0, 1.125) | vec2(-0.5, -4.875) | vec2(-32.0, -51.0) | vec2(-0.75, 0.0526315789474) ];
767e5c31af7Sopenharmony_ci	}
768e5c31af7Sopenharmony_ci
769e5c31af7Sopenharmony_ci	both ""
770e5c31af7Sopenharmony_ci		precision mediump float;
771e5c31af7Sopenharmony_ci
772e5c31af7Sopenharmony_ci		${DECLARATIONS}
773e5c31af7Sopenharmony_ci
774e5c31af7Sopenharmony_ci		void main()
775e5c31af7Sopenharmony_ci		{
776e5c31af7Sopenharmony_ci			${SETUP}
777e5c31af7Sopenharmony_ci			out0 = in0.sp;
778e5c31af7Sopenharmony_ci			${OUTPUT}
779e5c31af7Sopenharmony_ci		}
780e5c31af7Sopenharmony_ci	""
781e5c31af7Sopenharmony_ci  end
782e5c31af7Sopenharmony_ci
783e5c31af7Sopenharmony_ci  case mediump_vec3_pp
784e5c31af7Sopenharmony_ci	values
785e5c31af7Sopenharmony_ci	{
786e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
787e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.75, 0.75) | vec2(1.125, 1.125) | vec2(-4.875, -4.875) | vec2(-51.0, -51.0) | vec2(0.0526315789474, 0.0526315789474) ];
788e5c31af7Sopenharmony_ci	}
789e5c31af7Sopenharmony_ci
790e5c31af7Sopenharmony_ci	both ""
791e5c31af7Sopenharmony_ci		precision mediump float;
792e5c31af7Sopenharmony_ci
793e5c31af7Sopenharmony_ci		${DECLARATIONS}
794e5c31af7Sopenharmony_ci
795e5c31af7Sopenharmony_ci		void main()
796e5c31af7Sopenharmony_ci		{
797e5c31af7Sopenharmony_ci			${SETUP}
798e5c31af7Sopenharmony_ci			out0 = in0.pp;
799e5c31af7Sopenharmony_ci			${OUTPUT}
800e5c31af7Sopenharmony_ci		}
801e5c31af7Sopenharmony_ci	""
802e5c31af7Sopenharmony_ci  end
803e5c31af7Sopenharmony_ci
804e5c31af7Sopenharmony_ci  case mediump_vec3_stp
805e5c31af7Sopenharmony_ci	values
806e5c31af7Sopenharmony_ci	{
807e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
808e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
809e5c31af7Sopenharmony_ci	}
810e5c31af7Sopenharmony_ci
811e5c31af7Sopenharmony_ci	both ""
812e5c31af7Sopenharmony_ci		precision mediump float;
813e5c31af7Sopenharmony_ci
814e5c31af7Sopenharmony_ci		${DECLARATIONS}
815e5c31af7Sopenharmony_ci
816e5c31af7Sopenharmony_ci		void main()
817e5c31af7Sopenharmony_ci		{
818e5c31af7Sopenharmony_ci			${SETUP}
819e5c31af7Sopenharmony_ci			out0 = in0.stp;
820e5c31af7Sopenharmony_ci			${OUTPUT}
821e5c31af7Sopenharmony_ci		}
822e5c31af7Sopenharmony_ci	""
823e5c31af7Sopenharmony_ci  end
824e5c31af7Sopenharmony_ci
825e5c31af7Sopenharmony_ci  case mediump_vec3_pts
826e5c31af7Sopenharmony_ci	values
827e5c31af7Sopenharmony_ci	{
828e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
829e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.75, 0.5, 0.0) | vec3(1.125, 1.25, 1.0) | vec3(-4.875, -2.25, -0.5) | vec3(-51.0, 64.0, -32.0) | vec3(0.0526315789474, -0.0322580645161, -0.75) ];
830e5c31af7Sopenharmony_ci	}
831e5c31af7Sopenharmony_ci
832e5c31af7Sopenharmony_ci	both ""
833e5c31af7Sopenharmony_ci		precision mediump float;
834e5c31af7Sopenharmony_ci
835e5c31af7Sopenharmony_ci		${DECLARATIONS}
836e5c31af7Sopenharmony_ci
837e5c31af7Sopenharmony_ci		void main()
838e5c31af7Sopenharmony_ci		{
839e5c31af7Sopenharmony_ci			${SETUP}
840e5c31af7Sopenharmony_ci			out0 = in0.pts;
841e5c31af7Sopenharmony_ci			${OUTPUT}
842e5c31af7Sopenharmony_ci		}
843e5c31af7Sopenharmony_ci	""
844e5c31af7Sopenharmony_ci  end
845e5c31af7Sopenharmony_ci
846e5c31af7Sopenharmony_ci  case mediump_vec3_sss
847e5c31af7Sopenharmony_ci	values
848e5c31af7Sopenharmony_ci	{
849e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
850e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(-0.5, -0.5, -0.5) | vec3(-32.0, -32.0, -32.0) | vec3(-0.75, -0.75, -0.75) ];
851e5c31af7Sopenharmony_ci	}
852e5c31af7Sopenharmony_ci
853e5c31af7Sopenharmony_ci	both ""
854e5c31af7Sopenharmony_ci		precision mediump float;
855e5c31af7Sopenharmony_ci
856e5c31af7Sopenharmony_ci		${DECLARATIONS}
857e5c31af7Sopenharmony_ci
858e5c31af7Sopenharmony_ci		void main()
859e5c31af7Sopenharmony_ci		{
860e5c31af7Sopenharmony_ci			${SETUP}
861e5c31af7Sopenharmony_ci			out0 = in0.sss;
862e5c31af7Sopenharmony_ci			${OUTPUT}
863e5c31af7Sopenharmony_ci		}
864e5c31af7Sopenharmony_ci	""
865e5c31af7Sopenharmony_ci  end
866e5c31af7Sopenharmony_ci
867e5c31af7Sopenharmony_ci  case mediump_vec3_ppp
868e5c31af7Sopenharmony_ci	values
869e5c31af7Sopenharmony_ci	{
870e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
871e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.75, 0.75, 0.75) | vec3(1.125, 1.125, 1.125) | vec3(-4.875, -4.875, -4.875) | vec3(-51.0, -51.0, -51.0) | vec3(0.0526315789474, 0.0526315789474, 0.0526315789474) ];
872e5c31af7Sopenharmony_ci	}
873e5c31af7Sopenharmony_ci
874e5c31af7Sopenharmony_ci	both ""
875e5c31af7Sopenharmony_ci		precision mediump float;
876e5c31af7Sopenharmony_ci
877e5c31af7Sopenharmony_ci		${DECLARATIONS}
878e5c31af7Sopenharmony_ci
879e5c31af7Sopenharmony_ci		void main()
880e5c31af7Sopenharmony_ci		{
881e5c31af7Sopenharmony_ci			${SETUP}
882e5c31af7Sopenharmony_ci			out0 = in0.ppp;
883e5c31af7Sopenharmony_ci			${OUTPUT}
884e5c31af7Sopenharmony_ci		}
885e5c31af7Sopenharmony_ci	""
886e5c31af7Sopenharmony_ci  end
887e5c31af7Sopenharmony_ci
888e5c31af7Sopenharmony_ci  case mediump_vec3_ppt
889e5c31af7Sopenharmony_ci	values
890e5c31af7Sopenharmony_ci	{
891e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
892e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.75, 0.75, 0.5) | vec3(1.125, 1.125, 1.25) | vec3(-4.875, -4.875, -2.25) | vec3(-51.0, -51.0, 64.0) | vec3(0.0526315789474, 0.0526315789474, -0.0322580645161) ];
893e5c31af7Sopenharmony_ci	}
894e5c31af7Sopenharmony_ci
895e5c31af7Sopenharmony_ci	both ""
896e5c31af7Sopenharmony_ci		precision mediump float;
897e5c31af7Sopenharmony_ci
898e5c31af7Sopenharmony_ci		${DECLARATIONS}
899e5c31af7Sopenharmony_ci
900e5c31af7Sopenharmony_ci		void main()
901e5c31af7Sopenharmony_ci		{
902e5c31af7Sopenharmony_ci			${SETUP}
903e5c31af7Sopenharmony_ci			out0 = in0.ppt;
904e5c31af7Sopenharmony_ci			${OUTPUT}
905e5c31af7Sopenharmony_ci		}
906e5c31af7Sopenharmony_ci	""
907e5c31af7Sopenharmony_ci  end
908e5c31af7Sopenharmony_ci
909e5c31af7Sopenharmony_ci  case mediump_vec3_tst
910e5c31af7Sopenharmony_ci	values
911e5c31af7Sopenharmony_ci	{
912e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
913e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.5, 0.0, 0.5) | vec3(1.25, 1.0, 1.25) | vec3(-2.25, -0.5, -2.25) | vec3(64.0, -32.0, 64.0) | vec3(-0.0322580645161, -0.75, -0.0322580645161) ];
914e5c31af7Sopenharmony_ci	}
915e5c31af7Sopenharmony_ci
916e5c31af7Sopenharmony_ci	both ""
917e5c31af7Sopenharmony_ci		precision mediump float;
918e5c31af7Sopenharmony_ci
919e5c31af7Sopenharmony_ci		${DECLARATIONS}
920e5c31af7Sopenharmony_ci
921e5c31af7Sopenharmony_ci		void main()
922e5c31af7Sopenharmony_ci		{
923e5c31af7Sopenharmony_ci			${SETUP}
924e5c31af7Sopenharmony_ci			out0 = in0.tst;
925e5c31af7Sopenharmony_ci			${OUTPUT}
926e5c31af7Sopenharmony_ci		}
927e5c31af7Sopenharmony_ci	""
928e5c31af7Sopenharmony_ci  end
929e5c31af7Sopenharmony_ci
930e5c31af7Sopenharmony_ci  case mediump_vec3_sps
931e5c31af7Sopenharmony_ci	values
932e5c31af7Sopenharmony_ci	{
933e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
934e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.0, 0.75, 0.0) | vec3(1.0, 1.125, 1.0) | vec3(-0.5, -4.875, -0.5) | vec3(-32.0, -51.0, -32.0) | vec3(-0.75, 0.0526315789474, -0.75) ];
935e5c31af7Sopenharmony_ci	}
936e5c31af7Sopenharmony_ci
937e5c31af7Sopenharmony_ci	both ""
938e5c31af7Sopenharmony_ci		precision mediump float;
939e5c31af7Sopenharmony_ci
940e5c31af7Sopenharmony_ci		${DECLARATIONS}
941e5c31af7Sopenharmony_ci
942e5c31af7Sopenharmony_ci		void main()
943e5c31af7Sopenharmony_ci		{
944e5c31af7Sopenharmony_ci			${SETUP}
945e5c31af7Sopenharmony_ci			out0 = in0.sps;
946e5c31af7Sopenharmony_ci			${OUTPUT}
947e5c31af7Sopenharmony_ci		}
948e5c31af7Sopenharmony_ci	""
949e5c31af7Sopenharmony_ci  end
950e5c31af7Sopenharmony_ci
951e5c31af7Sopenharmony_ci  case mediump_vec3_stts
952e5c31af7Sopenharmony_ci	values
953e5c31af7Sopenharmony_ci	{
954e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
955e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.0, 0.5, 0.5, 0.0) | vec4(1.0, 1.25, 1.25, 1.0) | vec4(-0.5, -2.25, -2.25, -0.5) | vec4(-32.0, 64.0, 64.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.0322580645161, -0.75) ];
956e5c31af7Sopenharmony_ci	}
957e5c31af7Sopenharmony_ci
958e5c31af7Sopenharmony_ci	both ""
959e5c31af7Sopenharmony_ci		precision mediump float;
960e5c31af7Sopenharmony_ci
961e5c31af7Sopenharmony_ci		${DECLARATIONS}
962e5c31af7Sopenharmony_ci
963e5c31af7Sopenharmony_ci		void main()
964e5c31af7Sopenharmony_ci		{
965e5c31af7Sopenharmony_ci			${SETUP}
966e5c31af7Sopenharmony_ci			out0 = in0.stts;
967e5c31af7Sopenharmony_ci			${OUTPUT}
968e5c31af7Sopenharmony_ci		}
969e5c31af7Sopenharmony_ci	""
970e5c31af7Sopenharmony_ci  end
971e5c31af7Sopenharmony_ci
972e5c31af7Sopenharmony_ci  case mediump_vec3_pppp
973e5c31af7Sopenharmony_ci	values
974e5c31af7Sopenharmony_ci	{
975e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
976e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.75, 0.75, 0.75, 0.75) | vec4(1.125, 1.125, 1.125, 1.125) | vec4(-4.875, -4.875, -4.875, -4.875) | vec4(-51.0, -51.0, -51.0, -51.0) | vec4(0.0526315789474, 0.0526315789474, 0.0526315789474, 0.0526315789474) ];
977e5c31af7Sopenharmony_ci	}
978e5c31af7Sopenharmony_ci
979e5c31af7Sopenharmony_ci	both ""
980e5c31af7Sopenharmony_ci		precision mediump float;
981e5c31af7Sopenharmony_ci
982e5c31af7Sopenharmony_ci		${DECLARATIONS}
983e5c31af7Sopenharmony_ci
984e5c31af7Sopenharmony_ci		void main()
985e5c31af7Sopenharmony_ci		{
986e5c31af7Sopenharmony_ci			${SETUP}
987e5c31af7Sopenharmony_ci			out0 = in0.pppp;
988e5c31af7Sopenharmony_ci			${OUTPUT}
989e5c31af7Sopenharmony_ci		}
990e5c31af7Sopenharmony_ci	""
991e5c31af7Sopenharmony_ci  end
992e5c31af7Sopenharmony_ci
993e5c31af7Sopenharmony_ci  case mediump_vec3_r
994e5c31af7Sopenharmony_ci	values
995e5c31af7Sopenharmony_ci	{
996e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
997e5c31af7Sopenharmony_ci		output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
998e5c31af7Sopenharmony_ci	}
999e5c31af7Sopenharmony_ci
1000e5c31af7Sopenharmony_ci	both ""
1001e5c31af7Sopenharmony_ci		precision mediump float;
1002e5c31af7Sopenharmony_ci
1003e5c31af7Sopenharmony_ci		${DECLARATIONS}
1004e5c31af7Sopenharmony_ci
1005e5c31af7Sopenharmony_ci		void main()
1006e5c31af7Sopenharmony_ci		{
1007e5c31af7Sopenharmony_ci			${SETUP}
1008e5c31af7Sopenharmony_ci			out0 = in0.r;
1009e5c31af7Sopenharmony_ci			${OUTPUT}
1010e5c31af7Sopenharmony_ci		}
1011e5c31af7Sopenharmony_ci	""
1012e5c31af7Sopenharmony_ci  end
1013e5c31af7Sopenharmony_ci
1014e5c31af7Sopenharmony_ci  case mediump_vec3_b
1015e5c31af7Sopenharmony_ci	values
1016e5c31af7Sopenharmony_ci	{
1017e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1018e5c31af7Sopenharmony_ci		output float out0 = [ 0.75 | 1.125 | -4.875 | -51.0 | 0.0526315789474 ];
1019e5c31af7Sopenharmony_ci	}
1020e5c31af7Sopenharmony_ci
1021e5c31af7Sopenharmony_ci	both ""
1022e5c31af7Sopenharmony_ci		precision mediump float;
1023e5c31af7Sopenharmony_ci
1024e5c31af7Sopenharmony_ci		${DECLARATIONS}
1025e5c31af7Sopenharmony_ci
1026e5c31af7Sopenharmony_ci		void main()
1027e5c31af7Sopenharmony_ci		{
1028e5c31af7Sopenharmony_ci			${SETUP}
1029e5c31af7Sopenharmony_ci			out0 = in0.b;
1030e5c31af7Sopenharmony_ci			${OUTPUT}
1031e5c31af7Sopenharmony_ci		}
1032e5c31af7Sopenharmony_ci	""
1033e5c31af7Sopenharmony_ci  end
1034e5c31af7Sopenharmony_ci
1035e5c31af7Sopenharmony_ci  case mediump_vec3_rb
1036e5c31af7Sopenharmony_ci	values
1037e5c31af7Sopenharmony_ci	{
1038e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1039e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.0, 0.75) | vec2(1.0, 1.125) | vec2(-0.5, -4.875) | vec2(-32.0, -51.0) | vec2(-0.75, 0.0526315789474) ];
1040e5c31af7Sopenharmony_ci	}
1041e5c31af7Sopenharmony_ci
1042e5c31af7Sopenharmony_ci	both ""
1043e5c31af7Sopenharmony_ci		precision mediump float;
1044e5c31af7Sopenharmony_ci
1045e5c31af7Sopenharmony_ci		${DECLARATIONS}
1046e5c31af7Sopenharmony_ci
1047e5c31af7Sopenharmony_ci		void main()
1048e5c31af7Sopenharmony_ci		{
1049e5c31af7Sopenharmony_ci			${SETUP}
1050e5c31af7Sopenharmony_ci			out0 = in0.rb;
1051e5c31af7Sopenharmony_ci			${OUTPUT}
1052e5c31af7Sopenharmony_ci		}
1053e5c31af7Sopenharmony_ci	""
1054e5c31af7Sopenharmony_ci  end
1055e5c31af7Sopenharmony_ci
1056e5c31af7Sopenharmony_ci  case mediump_vec3_bb
1057e5c31af7Sopenharmony_ci	values
1058e5c31af7Sopenharmony_ci	{
1059e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1060e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.75, 0.75) | vec2(1.125, 1.125) | vec2(-4.875, -4.875) | vec2(-51.0, -51.0) | vec2(0.0526315789474, 0.0526315789474) ];
1061e5c31af7Sopenharmony_ci	}
1062e5c31af7Sopenharmony_ci
1063e5c31af7Sopenharmony_ci	both ""
1064e5c31af7Sopenharmony_ci		precision mediump float;
1065e5c31af7Sopenharmony_ci
1066e5c31af7Sopenharmony_ci		${DECLARATIONS}
1067e5c31af7Sopenharmony_ci
1068e5c31af7Sopenharmony_ci		void main()
1069e5c31af7Sopenharmony_ci		{
1070e5c31af7Sopenharmony_ci			${SETUP}
1071e5c31af7Sopenharmony_ci			out0 = in0.bb;
1072e5c31af7Sopenharmony_ci			${OUTPUT}
1073e5c31af7Sopenharmony_ci		}
1074e5c31af7Sopenharmony_ci	""
1075e5c31af7Sopenharmony_ci  end
1076e5c31af7Sopenharmony_ci
1077e5c31af7Sopenharmony_ci  case mediump_vec3_rgb
1078e5c31af7Sopenharmony_ci	values
1079e5c31af7Sopenharmony_ci	{
1080e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1081e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1082e5c31af7Sopenharmony_ci	}
1083e5c31af7Sopenharmony_ci
1084e5c31af7Sopenharmony_ci	both ""
1085e5c31af7Sopenharmony_ci		precision mediump float;
1086e5c31af7Sopenharmony_ci
1087e5c31af7Sopenharmony_ci		${DECLARATIONS}
1088e5c31af7Sopenharmony_ci
1089e5c31af7Sopenharmony_ci		void main()
1090e5c31af7Sopenharmony_ci		{
1091e5c31af7Sopenharmony_ci			${SETUP}
1092e5c31af7Sopenharmony_ci			out0 = in0.rgb;
1093e5c31af7Sopenharmony_ci			${OUTPUT}
1094e5c31af7Sopenharmony_ci		}
1095e5c31af7Sopenharmony_ci	""
1096e5c31af7Sopenharmony_ci  end
1097e5c31af7Sopenharmony_ci
1098e5c31af7Sopenharmony_ci  case mediump_vec3_bgr
1099e5c31af7Sopenharmony_ci	values
1100e5c31af7Sopenharmony_ci	{
1101e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1102e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.75, 0.5, 0.0) | vec3(1.125, 1.25, 1.0) | vec3(-4.875, -2.25, -0.5) | vec3(-51.0, 64.0, -32.0) | vec3(0.0526315789474, -0.0322580645161, -0.75) ];
1103e5c31af7Sopenharmony_ci	}
1104e5c31af7Sopenharmony_ci
1105e5c31af7Sopenharmony_ci	both ""
1106e5c31af7Sopenharmony_ci		precision mediump float;
1107e5c31af7Sopenharmony_ci
1108e5c31af7Sopenharmony_ci		${DECLARATIONS}
1109e5c31af7Sopenharmony_ci
1110e5c31af7Sopenharmony_ci		void main()
1111e5c31af7Sopenharmony_ci		{
1112e5c31af7Sopenharmony_ci			${SETUP}
1113e5c31af7Sopenharmony_ci			out0 = in0.bgr;
1114e5c31af7Sopenharmony_ci			${OUTPUT}
1115e5c31af7Sopenharmony_ci		}
1116e5c31af7Sopenharmony_ci	""
1117e5c31af7Sopenharmony_ci  end
1118e5c31af7Sopenharmony_ci
1119e5c31af7Sopenharmony_ci  case mediump_vec3_rrr
1120e5c31af7Sopenharmony_ci	values
1121e5c31af7Sopenharmony_ci	{
1122e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1123e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(-0.5, -0.5, -0.5) | vec3(-32.0, -32.0, -32.0) | vec3(-0.75, -0.75, -0.75) ];
1124e5c31af7Sopenharmony_ci	}
1125e5c31af7Sopenharmony_ci
1126e5c31af7Sopenharmony_ci	both ""
1127e5c31af7Sopenharmony_ci		precision mediump float;
1128e5c31af7Sopenharmony_ci
1129e5c31af7Sopenharmony_ci		${DECLARATIONS}
1130e5c31af7Sopenharmony_ci
1131e5c31af7Sopenharmony_ci		void main()
1132e5c31af7Sopenharmony_ci		{
1133e5c31af7Sopenharmony_ci			${SETUP}
1134e5c31af7Sopenharmony_ci			out0 = in0.rrr;
1135e5c31af7Sopenharmony_ci			${OUTPUT}
1136e5c31af7Sopenharmony_ci		}
1137e5c31af7Sopenharmony_ci	""
1138e5c31af7Sopenharmony_ci  end
1139e5c31af7Sopenharmony_ci
1140e5c31af7Sopenharmony_ci  case mediump_vec3_bbb
1141e5c31af7Sopenharmony_ci	values
1142e5c31af7Sopenharmony_ci	{
1143e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1144e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.75, 0.75, 0.75) | vec3(1.125, 1.125, 1.125) | vec3(-4.875, -4.875, -4.875) | vec3(-51.0, -51.0, -51.0) | vec3(0.0526315789474, 0.0526315789474, 0.0526315789474) ];
1145e5c31af7Sopenharmony_ci	}
1146e5c31af7Sopenharmony_ci
1147e5c31af7Sopenharmony_ci	both ""
1148e5c31af7Sopenharmony_ci		precision mediump float;
1149e5c31af7Sopenharmony_ci
1150e5c31af7Sopenharmony_ci		${DECLARATIONS}
1151e5c31af7Sopenharmony_ci
1152e5c31af7Sopenharmony_ci		void main()
1153e5c31af7Sopenharmony_ci		{
1154e5c31af7Sopenharmony_ci			${SETUP}
1155e5c31af7Sopenharmony_ci			out0 = in0.bbb;
1156e5c31af7Sopenharmony_ci			${OUTPUT}
1157e5c31af7Sopenharmony_ci		}
1158e5c31af7Sopenharmony_ci	""
1159e5c31af7Sopenharmony_ci  end
1160e5c31af7Sopenharmony_ci
1161e5c31af7Sopenharmony_ci  case mediump_vec3_bbg
1162e5c31af7Sopenharmony_ci	values
1163e5c31af7Sopenharmony_ci	{
1164e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1165e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.75, 0.75, 0.5) | vec3(1.125, 1.125, 1.25) | vec3(-4.875, -4.875, -2.25) | vec3(-51.0, -51.0, 64.0) | vec3(0.0526315789474, 0.0526315789474, -0.0322580645161) ];
1166e5c31af7Sopenharmony_ci	}
1167e5c31af7Sopenharmony_ci
1168e5c31af7Sopenharmony_ci	both ""
1169e5c31af7Sopenharmony_ci		precision mediump float;
1170e5c31af7Sopenharmony_ci
1171e5c31af7Sopenharmony_ci		${DECLARATIONS}
1172e5c31af7Sopenharmony_ci
1173e5c31af7Sopenharmony_ci		void main()
1174e5c31af7Sopenharmony_ci		{
1175e5c31af7Sopenharmony_ci			${SETUP}
1176e5c31af7Sopenharmony_ci			out0 = in0.bbg;
1177e5c31af7Sopenharmony_ci			${OUTPUT}
1178e5c31af7Sopenharmony_ci		}
1179e5c31af7Sopenharmony_ci	""
1180e5c31af7Sopenharmony_ci  end
1181e5c31af7Sopenharmony_ci
1182e5c31af7Sopenharmony_ci  case mediump_vec3_grg
1183e5c31af7Sopenharmony_ci	values
1184e5c31af7Sopenharmony_ci	{
1185e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1186e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.5, 0.0, 0.5) | vec3(1.25, 1.0, 1.25) | vec3(-2.25, -0.5, -2.25) | vec3(64.0, -32.0, 64.0) | vec3(-0.0322580645161, -0.75, -0.0322580645161) ];
1187e5c31af7Sopenharmony_ci	}
1188e5c31af7Sopenharmony_ci
1189e5c31af7Sopenharmony_ci	both ""
1190e5c31af7Sopenharmony_ci		precision mediump float;
1191e5c31af7Sopenharmony_ci
1192e5c31af7Sopenharmony_ci		${DECLARATIONS}
1193e5c31af7Sopenharmony_ci
1194e5c31af7Sopenharmony_ci		void main()
1195e5c31af7Sopenharmony_ci		{
1196e5c31af7Sopenharmony_ci			${SETUP}
1197e5c31af7Sopenharmony_ci			out0 = in0.grg;
1198e5c31af7Sopenharmony_ci			${OUTPUT}
1199e5c31af7Sopenharmony_ci		}
1200e5c31af7Sopenharmony_ci	""
1201e5c31af7Sopenharmony_ci  end
1202e5c31af7Sopenharmony_ci
1203e5c31af7Sopenharmony_ci  case mediump_vec3_rbr
1204e5c31af7Sopenharmony_ci	values
1205e5c31af7Sopenharmony_ci	{
1206e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1207e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.0, 0.75, 0.0) | vec3(1.0, 1.125, 1.0) | vec3(-0.5, -4.875, -0.5) | vec3(-32.0, -51.0, -32.0) | vec3(-0.75, 0.0526315789474, -0.75) ];
1208e5c31af7Sopenharmony_ci	}
1209e5c31af7Sopenharmony_ci
1210e5c31af7Sopenharmony_ci	both ""
1211e5c31af7Sopenharmony_ci		precision mediump float;
1212e5c31af7Sopenharmony_ci
1213e5c31af7Sopenharmony_ci		${DECLARATIONS}
1214e5c31af7Sopenharmony_ci
1215e5c31af7Sopenharmony_ci		void main()
1216e5c31af7Sopenharmony_ci		{
1217e5c31af7Sopenharmony_ci			${SETUP}
1218e5c31af7Sopenharmony_ci			out0 = in0.rbr;
1219e5c31af7Sopenharmony_ci			${OUTPUT}
1220e5c31af7Sopenharmony_ci		}
1221e5c31af7Sopenharmony_ci	""
1222e5c31af7Sopenharmony_ci  end
1223e5c31af7Sopenharmony_ci
1224e5c31af7Sopenharmony_ci  case mediump_vec3_rggr
1225e5c31af7Sopenharmony_ci	values
1226e5c31af7Sopenharmony_ci	{
1227e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1228e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.0, 0.5, 0.5, 0.0) | vec4(1.0, 1.25, 1.25, 1.0) | vec4(-0.5, -2.25, -2.25, -0.5) | vec4(-32.0, 64.0, 64.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.0322580645161, -0.75) ];
1229e5c31af7Sopenharmony_ci	}
1230e5c31af7Sopenharmony_ci
1231e5c31af7Sopenharmony_ci	both ""
1232e5c31af7Sopenharmony_ci		precision mediump float;
1233e5c31af7Sopenharmony_ci
1234e5c31af7Sopenharmony_ci		${DECLARATIONS}
1235e5c31af7Sopenharmony_ci
1236e5c31af7Sopenharmony_ci		void main()
1237e5c31af7Sopenharmony_ci		{
1238e5c31af7Sopenharmony_ci			${SETUP}
1239e5c31af7Sopenharmony_ci			out0 = in0.rggr;
1240e5c31af7Sopenharmony_ci			${OUTPUT}
1241e5c31af7Sopenharmony_ci		}
1242e5c31af7Sopenharmony_ci	""
1243e5c31af7Sopenharmony_ci  end
1244e5c31af7Sopenharmony_ci
1245e5c31af7Sopenharmony_ci  case mediump_vec3_bbbb
1246e5c31af7Sopenharmony_ci	values
1247e5c31af7Sopenharmony_ci	{
1248e5c31af7Sopenharmony_ci		input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1249e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.75, 0.75, 0.75, 0.75) | vec4(1.125, 1.125, 1.125, 1.125) | vec4(-4.875, -4.875, -4.875, -4.875) | vec4(-51.0, -51.0, -51.0, -51.0) | vec4(0.0526315789474, 0.0526315789474, 0.0526315789474, 0.0526315789474) ];
1250e5c31af7Sopenharmony_ci	}
1251e5c31af7Sopenharmony_ci
1252e5c31af7Sopenharmony_ci	both ""
1253e5c31af7Sopenharmony_ci		precision mediump float;
1254e5c31af7Sopenharmony_ci
1255e5c31af7Sopenharmony_ci		${DECLARATIONS}
1256e5c31af7Sopenharmony_ci
1257e5c31af7Sopenharmony_ci		void main()
1258e5c31af7Sopenharmony_ci		{
1259e5c31af7Sopenharmony_ci			${SETUP}
1260e5c31af7Sopenharmony_ci			out0 = in0.bbbb;
1261e5c31af7Sopenharmony_ci			${OUTPUT}
1262e5c31af7Sopenharmony_ci		}
1263e5c31af7Sopenharmony_ci	""
1264e5c31af7Sopenharmony_ci  end
1265e5c31af7Sopenharmony_ci
1266e5c31af7Sopenharmony_ci  case mediump_vec4_x
1267e5c31af7Sopenharmony_ci	values
1268e5c31af7Sopenharmony_ci	{
1269e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1270e5c31af7Sopenharmony_ci		output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
1271e5c31af7Sopenharmony_ci	}
1272e5c31af7Sopenharmony_ci
1273e5c31af7Sopenharmony_ci	both ""
1274e5c31af7Sopenharmony_ci		precision mediump float;
1275e5c31af7Sopenharmony_ci
1276e5c31af7Sopenharmony_ci		${DECLARATIONS}
1277e5c31af7Sopenharmony_ci
1278e5c31af7Sopenharmony_ci		void main()
1279e5c31af7Sopenharmony_ci		{
1280e5c31af7Sopenharmony_ci			${SETUP}
1281e5c31af7Sopenharmony_ci			out0 = in0.x;
1282e5c31af7Sopenharmony_ci			${OUTPUT}
1283e5c31af7Sopenharmony_ci		}
1284e5c31af7Sopenharmony_ci	""
1285e5c31af7Sopenharmony_ci  end
1286e5c31af7Sopenharmony_ci
1287e5c31af7Sopenharmony_ci  case mediump_vec4_w
1288e5c31af7Sopenharmony_ci	values
1289e5c31af7Sopenharmony_ci	{
1290e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1291e5c31af7Sopenharmony_ci		output float out0 = [ 0.825 | 1.75 | 9.0 | 24.0 | 0.25 ];
1292e5c31af7Sopenharmony_ci	}
1293e5c31af7Sopenharmony_ci
1294e5c31af7Sopenharmony_ci	both ""
1295e5c31af7Sopenharmony_ci		precision mediump float;
1296e5c31af7Sopenharmony_ci
1297e5c31af7Sopenharmony_ci		${DECLARATIONS}
1298e5c31af7Sopenharmony_ci
1299e5c31af7Sopenharmony_ci		void main()
1300e5c31af7Sopenharmony_ci		{
1301e5c31af7Sopenharmony_ci			${SETUP}
1302e5c31af7Sopenharmony_ci			out0 = in0.w;
1303e5c31af7Sopenharmony_ci			${OUTPUT}
1304e5c31af7Sopenharmony_ci		}
1305e5c31af7Sopenharmony_ci	""
1306e5c31af7Sopenharmony_ci  end
1307e5c31af7Sopenharmony_ci
1308e5c31af7Sopenharmony_ci  case mediump_vec4_wx
1309e5c31af7Sopenharmony_ci	values
1310e5c31af7Sopenharmony_ci	{
1311e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1312e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.825, 0.0) | vec2(1.75, 1.0) | vec2(9.0, -0.5) | vec2(24.0, -32.0) | vec2(0.25, -0.75) ];
1313e5c31af7Sopenharmony_ci	}
1314e5c31af7Sopenharmony_ci
1315e5c31af7Sopenharmony_ci	both ""
1316e5c31af7Sopenharmony_ci		precision mediump float;
1317e5c31af7Sopenharmony_ci
1318e5c31af7Sopenharmony_ci		${DECLARATIONS}
1319e5c31af7Sopenharmony_ci
1320e5c31af7Sopenharmony_ci		void main()
1321e5c31af7Sopenharmony_ci		{
1322e5c31af7Sopenharmony_ci			${SETUP}
1323e5c31af7Sopenharmony_ci			out0 = in0.wx;
1324e5c31af7Sopenharmony_ci			${OUTPUT}
1325e5c31af7Sopenharmony_ci		}
1326e5c31af7Sopenharmony_ci	""
1327e5c31af7Sopenharmony_ci  end
1328e5c31af7Sopenharmony_ci
1329e5c31af7Sopenharmony_ci  case mediump_vec4_wz
1330e5c31af7Sopenharmony_ci	values
1331e5c31af7Sopenharmony_ci	{
1332e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1333e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.825, 0.75) | vec2(1.75, 1.125) | vec2(9.0, -4.875) | vec2(24.0, -51.0) | vec2(0.25, 0.0526315789474) ];
1334e5c31af7Sopenharmony_ci	}
1335e5c31af7Sopenharmony_ci
1336e5c31af7Sopenharmony_ci	both ""
1337e5c31af7Sopenharmony_ci		precision mediump float;
1338e5c31af7Sopenharmony_ci
1339e5c31af7Sopenharmony_ci		${DECLARATIONS}
1340e5c31af7Sopenharmony_ci
1341e5c31af7Sopenharmony_ci		void main()
1342e5c31af7Sopenharmony_ci		{
1343e5c31af7Sopenharmony_ci			${SETUP}
1344e5c31af7Sopenharmony_ci			out0 = in0.wz;
1345e5c31af7Sopenharmony_ci			${OUTPUT}
1346e5c31af7Sopenharmony_ci		}
1347e5c31af7Sopenharmony_ci	""
1348e5c31af7Sopenharmony_ci  end
1349e5c31af7Sopenharmony_ci
1350e5c31af7Sopenharmony_ci  case mediump_vec4_www
1351e5c31af7Sopenharmony_ci	values
1352e5c31af7Sopenharmony_ci	{
1353e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1354e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.825, 0.825, 0.825) | vec3(1.75, 1.75, 1.75) | vec3(9.0, 9.0, 9.0) | vec3(24.0, 24.0, 24.0) | vec3(0.25, 0.25, 0.25) ];
1355e5c31af7Sopenharmony_ci	}
1356e5c31af7Sopenharmony_ci
1357e5c31af7Sopenharmony_ci	both ""
1358e5c31af7Sopenharmony_ci		precision mediump float;
1359e5c31af7Sopenharmony_ci
1360e5c31af7Sopenharmony_ci		${DECLARATIONS}
1361e5c31af7Sopenharmony_ci
1362e5c31af7Sopenharmony_ci		void main()
1363e5c31af7Sopenharmony_ci		{
1364e5c31af7Sopenharmony_ci			${SETUP}
1365e5c31af7Sopenharmony_ci			out0 = in0.www;
1366e5c31af7Sopenharmony_ci			${OUTPUT}
1367e5c31af7Sopenharmony_ci		}
1368e5c31af7Sopenharmony_ci	""
1369e5c31af7Sopenharmony_ci  end
1370e5c31af7Sopenharmony_ci
1371e5c31af7Sopenharmony_ci  case mediump_vec4_yyw
1372e5c31af7Sopenharmony_ci	values
1373e5c31af7Sopenharmony_ci	{
1374e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1375e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.5, 0.5, 0.825) | vec3(1.25, 1.25, 1.75) | vec3(-2.25, -2.25, 9.0) | vec3(64.0, 64.0, 24.0) | vec3(-0.0322580645161, -0.0322580645161, 0.25) ];
1376e5c31af7Sopenharmony_ci	}
1377e5c31af7Sopenharmony_ci
1378e5c31af7Sopenharmony_ci	both ""
1379e5c31af7Sopenharmony_ci		precision mediump float;
1380e5c31af7Sopenharmony_ci
1381e5c31af7Sopenharmony_ci		${DECLARATIONS}
1382e5c31af7Sopenharmony_ci
1383e5c31af7Sopenharmony_ci		void main()
1384e5c31af7Sopenharmony_ci		{
1385e5c31af7Sopenharmony_ci			${SETUP}
1386e5c31af7Sopenharmony_ci			out0 = in0.yyw;
1387e5c31af7Sopenharmony_ci			${OUTPUT}
1388e5c31af7Sopenharmony_ci		}
1389e5c31af7Sopenharmony_ci	""
1390e5c31af7Sopenharmony_ci  end
1391e5c31af7Sopenharmony_ci
1392e5c31af7Sopenharmony_ci  case mediump_vec4_wzy
1393e5c31af7Sopenharmony_ci	values
1394e5c31af7Sopenharmony_ci	{
1395e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1396e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.825, 0.75, 0.5) | vec3(1.75, 1.125, 1.25) | vec3(9.0, -4.875, -2.25) | vec3(24.0, -51.0, 64.0) | vec3(0.25, 0.0526315789474, -0.0322580645161) ];
1397e5c31af7Sopenharmony_ci	}
1398e5c31af7Sopenharmony_ci
1399e5c31af7Sopenharmony_ci	both ""
1400e5c31af7Sopenharmony_ci		precision mediump float;
1401e5c31af7Sopenharmony_ci
1402e5c31af7Sopenharmony_ci		${DECLARATIONS}
1403e5c31af7Sopenharmony_ci
1404e5c31af7Sopenharmony_ci		void main()
1405e5c31af7Sopenharmony_ci		{
1406e5c31af7Sopenharmony_ci			${SETUP}
1407e5c31af7Sopenharmony_ci			out0 = in0.wzy;
1408e5c31af7Sopenharmony_ci			${OUTPUT}
1409e5c31af7Sopenharmony_ci		}
1410e5c31af7Sopenharmony_ci	""
1411e5c31af7Sopenharmony_ci  end
1412e5c31af7Sopenharmony_ci
1413e5c31af7Sopenharmony_ci  case mediump_vec4_xyzw
1414e5c31af7Sopenharmony_ci	values
1415e5c31af7Sopenharmony_ci	{
1416e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1417e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1418e5c31af7Sopenharmony_ci	}
1419e5c31af7Sopenharmony_ci
1420e5c31af7Sopenharmony_ci	both ""
1421e5c31af7Sopenharmony_ci		precision mediump float;
1422e5c31af7Sopenharmony_ci
1423e5c31af7Sopenharmony_ci		${DECLARATIONS}
1424e5c31af7Sopenharmony_ci
1425e5c31af7Sopenharmony_ci		void main()
1426e5c31af7Sopenharmony_ci		{
1427e5c31af7Sopenharmony_ci			${SETUP}
1428e5c31af7Sopenharmony_ci			out0 = in0.xyzw;
1429e5c31af7Sopenharmony_ci			${OUTPUT}
1430e5c31af7Sopenharmony_ci		}
1431e5c31af7Sopenharmony_ci	""
1432e5c31af7Sopenharmony_ci  end
1433e5c31af7Sopenharmony_ci
1434e5c31af7Sopenharmony_ci  case mediump_vec4_wzyx
1435e5c31af7Sopenharmony_ci	values
1436e5c31af7Sopenharmony_ci	{
1437e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1438e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.825, 0.75, 0.5, 0.0) | vec4(1.75, 1.125, 1.25, 1.0) | vec4(9.0, -4.875, -2.25, -0.5) | vec4(24.0, -51.0, 64.0, -32.0) | vec4(0.25, 0.0526315789474, -0.0322580645161, -0.75) ];
1439e5c31af7Sopenharmony_ci	}
1440e5c31af7Sopenharmony_ci
1441e5c31af7Sopenharmony_ci	both ""
1442e5c31af7Sopenharmony_ci		precision mediump float;
1443e5c31af7Sopenharmony_ci
1444e5c31af7Sopenharmony_ci		${DECLARATIONS}
1445e5c31af7Sopenharmony_ci
1446e5c31af7Sopenharmony_ci		void main()
1447e5c31af7Sopenharmony_ci		{
1448e5c31af7Sopenharmony_ci			${SETUP}
1449e5c31af7Sopenharmony_ci			out0 = in0.wzyx;
1450e5c31af7Sopenharmony_ci			${OUTPUT}
1451e5c31af7Sopenharmony_ci		}
1452e5c31af7Sopenharmony_ci	""
1453e5c31af7Sopenharmony_ci  end
1454e5c31af7Sopenharmony_ci
1455e5c31af7Sopenharmony_ci  case mediump_vec4_xxxx
1456e5c31af7Sopenharmony_ci	values
1457e5c31af7Sopenharmony_ci	{
1458e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1459e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(-0.5, -0.5, -0.5, -0.5) | vec4(-32.0, -32.0, -32.0, -32.0) | vec4(-0.75, -0.75, -0.75, -0.75) ];
1460e5c31af7Sopenharmony_ci	}
1461e5c31af7Sopenharmony_ci
1462e5c31af7Sopenharmony_ci	both ""
1463e5c31af7Sopenharmony_ci		precision mediump float;
1464e5c31af7Sopenharmony_ci
1465e5c31af7Sopenharmony_ci		${DECLARATIONS}
1466e5c31af7Sopenharmony_ci
1467e5c31af7Sopenharmony_ci		void main()
1468e5c31af7Sopenharmony_ci		{
1469e5c31af7Sopenharmony_ci			${SETUP}
1470e5c31af7Sopenharmony_ci			out0 = in0.xxxx;
1471e5c31af7Sopenharmony_ci			${OUTPUT}
1472e5c31af7Sopenharmony_ci		}
1473e5c31af7Sopenharmony_ci	""
1474e5c31af7Sopenharmony_ci  end
1475e5c31af7Sopenharmony_ci
1476e5c31af7Sopenharmony_ci  case mediump_vec4_yyyy
1477e5c31af7Sopenharmony_ci	values
1478e5c31af7Sopenharmony_ci	{
1479e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1480e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.5, 0.5, 0.5, 0.5) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(-2.25, -2.25, -2.25, -2.25) | vec4(64.0, 64.0, 64.0, 64.0) | vec4(-0.0322580645161, -0.0322580645161, -0.0322580645161, -0.0322580645161) ];
1481e5c31af7Sopenharmony_ci	}
1482e5c31af7Sopenharmony_ci
1483e5c31af7Sopenharmony_ci	both ""
1484e5c31af7Sopenharmony_ci		precision mediump float;
1485e5c31af7Sopenharmony_ci
1486e5c31af7Sopenharmony_ci		${DECLARATIONS}
1487e5c31af7Sopenharmony_ci
1488e5c31af7Sopenharmony_ci		void main()
1489e5c31af7Sopenharmony_ci		{
1490e5c31af7Sopenharmony_ci			${SETUP}
1491e5c31af7Sopenharmony_ci			out0 = in0.yyyy;
1492e5c31af7Sopenharmony_ci			${OUTPUT}
1493e5c31af7Sopenharmony_ci		}
1494e5c31af7Sopenharmony_ci	""
1495e5c31af7Sopenharmony_ci  end
1496e5c31af7Sopenharmony_ci
1497e5c31af7Sopenharmony_ci  case mediump_vec4_wwww
1498e5c31af7Sopenharmony_ci	values
1499e5c31af7Sopenharmony_ci	{
1500e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1501e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.825, 0.825, 0.825, 0.825) | vec4(1.75, 1.75, 1.75, 1.75) | vec4(9.0, 9.0, 9.0, 9.0) | vec4(24.0, 24.0, 24.0, 24.0) | vec4(0.25, 0.25, 0.25, 0.25) ];
1502e5c31af7Sopenharmony_ci	}
1503e5c31af7Sopenharmony_ci
1504e5c31af7Sopenharmony_ci	both ""
1505e5c31af7Sopenharmony_ci		precision mediump float;
1506e5c31af7Sopenharmony_ci
1507e5c31af7Sopenharmony_ci		${DECLARATIONS}
1508e5c31af7Sopenharmony_ci
1509e5c31af7Sopenharmony_ci		void main()
1510e5c31af7Sopenharmony_ci		{
1511e5c31af7Sopenharmony_ci			${SETUP}
1512e5c31af7Sopenharmony_ci			out0 = in0.wwww;
1513e5c31af7Sopenharmony_ci			${OUTPUT}
1514e5c31af7Sopenharmony_ci		}
1515e5c31af7Sopenharmony_ci	""
1516e5c31af7Sopenharmony_ci  end
1517e5c31af7Sopenharmony_ci
1518e5c31af7Sopenharmony_ci  case mediump_vec4_wzzw
1519e5c31af7Sopenharmony_ci	values
1520e5c31af7Sopenharmony_ci	{
1521e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1522e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.825, 0.75, 0.75, 0.825) | vec4(1.75, 1.125, 1.125, 1.75) | vec4(9.0, -4.875, -4.875, 9.0) | vec4(24.0, -51.0, -51.0, 24.0) | vec4(0.25, 0.0526315789474, 0.0526315789474, 0.25) ];
1523e5c31af7Sopenharmony_ci	}
1524e5c31af7Sopenharmony_ci
1525e5c31af7Sopenharmony_ci	both ""
1526e5c31af7Sopenharmony_ci		precision mediump float;
1527e5c31af7Sopenharmony_ci
1528e5c31af7Sopenharmony_ci		${DECLARATIONS}
1529e5c31af7Sopenharmony_ci
1530e5c31af7Sopenharmony_ci		void main()
1531e5c31af7Sopenharmony_ci		{
1532e5c31af7Sopenharmony_ci			${SETUP}
1533e5c31af7Sopenharmony_ci			out0 = in0.wzzw;
1534e5c31af7Sopenharmony_ci			${OUTPUT}
1535e5c31af7Sopenharmony_ci		}
1536e5c31af7Sopenharmony_ci	""
1537e5c31af7Sopenharmony_ci  end
1538e5c31af7Sopenharmony_ci
1539e5c31af7Sopenharmony_ci  case mediump_vec4_wwwy
1540e5c31af7Sopenharmony_ci	values
1541e5c31af7Sopenharmony_ci	{
1542e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1543e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.825, 0.825, 0.825, 0.5) | vec4(1.75, 1.75, 1.75, 1.25) | vec4(9.0, 9.0, 9.0, -2.25) | vec4(24.0, 24.0, 24.0, 64.0) | vec4(0.25, 0.25, 0.25, -0.0322580645161) ];
1544e5c31af7Sopenharmony_ci	}
1545e5c31af7Sopenharmony_ci
1546e5c31af7Sopenharmony_ci	both ""
1547e5c31af7Sopenharmony_ci		precision mediump float;
1548e5c31af7Sopenharmony_ci
1549e5c31af7Sopenharmony_ci		${DECLARATIONS}
1550e5c31af7Sopenharmony_ci
1551e5c31af7Sopenharmony_ci		void main()
1552e5c31af7Sopenharmony_ci		{
1553e5c31af7Sopenharmony_ci			${SETUP}
1554e5c31af7Sopenharmony_ci			out0 = in0.wwwy;
1555e5c31af7Sopenharmony_ci			${OUTPUT}
1556e5c31af7Sopenharmony_ci		}
1557e5c31af7Sopenharmony_ci	""
1558e5c31af7Sopenharmony_ci  end
1559e5c31af7Sopenharmony_ci
1560e5c31af7Sopenharmony_ci  case mediump_vec4_xyxx
1561e5c31af7Sopenharmony_ci	values
1562e5c31af7Sopenharmony_ci	{
1563e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1564e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.5, -2.25, -0.5, -0.5) | vec4(-32.0, 64.0, -32.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.75, -0.75) ];
1565e5c31af7Sopenharmony_ci	}
1566e5c31af7Sopenharmony_ci
1567e5c31af7Sopenharmony_ci	both ""
1568e5c31af7Sopenharmony_ci		precision mediump float;
1569e5c31af7Sopenharmony_ci
1570e5c31af7Sopenharmony_ci		${DECLARATIONS}
1571e5c31af7Sopenharmony_ci
1572e5c31af7Sopenharmony_ci		void main()
1573e5c31af7Sopenharmony_ci		{
1574e5c31af7Sopenharmony_ci			${SETUP}
1575e5c31af7Sopenharmony_ci			out0 = in0.xyxx;
1576e5c31af7Sopenharmony_ci			${OUTPUT}
1577e5c31af7Sopenharmony_ci		}
1578e5c31af7Sopenharmony_ci	""
1579e5c31af7Sopenharmony_ci  end
1580e5c31af7Sopenharmony_ci
1581e5c31af7Sopenharmony_ci  case mediump_vec4_zzwz
1582e5c31af7Sopenharmony_ci	values
1583e5c31af7Sopenharmony_ci	{
1584e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1585e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.75, 0.75, 0.825, 0.75) | vec4(1.125, 1.125, 1.75, 1.125) | vec4(-4.875, -4.875, 9.0, -4.875) | vec4(-51.0, -51.0, 24.0, -51.0) | vec4(0.0526315789474, 0.0526315789474, 0.25, 0.0526315789474) ];
1586e5c31af7Sopenharmony_ci	}
1587e5c31af7Sopenharmony_ci
1588e5c31af7Sopenharmony_ci	both ""
1589e5c31af7Sopenharmony_ci		precision mediump float;
1590e5c31af7Sopenharmony_ci
1591e5c31af7Sopenharmony_ci		${DECLARATIONS}
1592e5c31af7Sopenharmony_ci
1593e5c31af7Sopenharmony_ci		void main()
1594e5c31af7Sopenharmony_ci		{
1595e5c31af7Sopenharmony_ci			${SETUP}
1596e5c31af7Sopenharmony_ci			out0 = in0.zzwz;
1597e5c31af7Sopenharmony_ci			${OUTPUT}
1598e5c31af7Sopenharmony_ci		}
1599e5c31af7Sopenharmony_ci	""
1600e5c31af7Sopenharmony_ci  end
1601e5c31af7Sopenharmony_ci
1602e5c31af7Sopenharmony_ci  case mediump_vec4_s
1603e5c31af7Sopenharmony_ci	values
1604e5c31af7Sopenharmony_ci	{
1605e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1606e5c31af7Sopenharmony_ci		output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
1607e5c31af7Sopenharmony_ci	}
1608e5c31af7Sopenharmony_ci
1609e5c31af7Sopenharmony_ci	both ""
1610e5c31af7Sopenharmony_ci		precision mediump float;
1611e5c31af7Sopenharmony_ci
1612e5c31af7Sopenharmony_ci		${DECLARATIONS}
1613e5c31af7Sopenharmony_ci
1614e5c31af7Sopenharmony_ci		void main()
1615e5c31af7Sopenharmony_ci		{
1616e5c31af7Sopenharmony_ci			${SETUP}
1617e5c31af7Sopenharmony_ci			out0 = in0.s;
1618e5c31af7Sopenharmony_ci			${OUTPUT}
1619e5c31af7Sopenharmony_ci		}
1620e5c31af7Sopenharmony_ci	""
1621e5c31af7Sopenharmony_ci  end
1622e5c31af7Sopenharmony_ci
1623e5c31af7Sopenharmony_ci  case mediump_vec4_q
1624e5c31af7Sopenharmony_ci	values
1625e5c31af7Sopenharmony_ci	{
1626e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1627e5c31af7Sopenharmony_ci		output float out0 = [ 0.825 | 1.75 | 9.0 | 24.0 | 0.25 ];
1628e5c31af7Sopenharmony_ci	}
1629e5c31af7Sopenharmony_ci
1630e5c31af7Sopenharmony_ci	both ""
1631e5c31af7Sopenharmony_ci		precision mediump float;
1632e5c31af7Sopenharmony_ci
1633e5c31af7Sopenharmony_ci		${DECLARATIONS}
1634e5c31af7Sopenharmony_ci
1635e5c31af7Sopenharmony_ci		void main()
1636e5c31af7Sopenharmony_ci		{
1637e5c31af7Sopenharmony_ci			${SETUP}
1638e5c31af7Sopenharmony_ci			out0 = in0.q;
1639e5c31af7Sopenharmony_ci			${OUTPUT}
1640e5c31af7Sopenharmony_ci		}
1641e5c31af7Sopenharmony_ci	""
1642e5c31af7Sopenharmony_ci  end
1643e5c31af7Sopenharmony_ci
1644e5c31af7Sopenharmony_ci  case mediump_vec4_qs
1645e5c31af7Sopenharmony_ci	values
1646e5c31af7Sopenharmony_ci	{
1647e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1648e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.825, 0.0) | vec2(1.75, 1.0) | vec2(9.0, -0.5) | vec2(24.0, -32.0) | vec2(0.25, -0.75) ];
1649e5c31af7Sopenharmony_ci	}
1650e5c31af7Sopenharmony_ci
1651e5c31af7Sopenharmony_ci	both ""
1652e5c31af7Sopenharmony_ci		precision mediump float;
1653e5c31af7Sopenharmony_ci
1654e5c31af7Sopenharmony_ci		${DECLARATIONS}
1655e5c31af7Sopenharmony_ci
1656e5c31af7Sopenharmony_ci		void main()
1657e5c31af7Sopenharmony_ci		{
1658e5c31af7Sopenharmony_ci			${SETUP}
1659e5c31af7Sopenharmony_ci			out0 = in0.qs;
1660e5c31af7Sopenharmony_ci			${OUTPUT}
1661e5c31af7Sopenharmony_ci		}
1662e5c31af7Sopenharmony_ci	""
1663e5c31af7Sopenharmony_ci  end
1664e5c31af7Sopenharmony_ci
1665e5c31af7Sopenharmony_ci  case mediump_vec4_qp
1666e5c31af7Sopenharmony_ci	values
1667e5c31af7Sopenharmony_ci	{
1668e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1669e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.825, 0.75) | vec2(1.75, 1.125) | vec2(9.0, -4.875) | vec2(24.0, -51.0) | vec2(0.25, 0.0526315789474) ];
1670e5c31af7Sopenharmony_ci	}
1671e5c31af7Sopenharmony_ci
1672e5c31af7Sopenharmony_ci	both ""
1673e5c31af7Sopenharmony_ci		precision mediump float;
1674e5c31af7Sopenharmony_ci
1675e5c31af7Sopenharmony_ci		${DECLARATIONS}
1676e5c31af7Sopenharmony_ci
1677e5c31af7Sopenharmony_ci		void main()
1678e5c31af7Sopenharmony_ci		{
1679e5c31af7Sopenharmony_ci			${SETUP}
1680e5c31af7Sopenharmony_ci			out0 = in0.qp;
1681e5c31af7Sopenharmony_ci			${OUTPUT}
1682e5c31af7Sopenharmony_ci		}
1683e5c31af7Sopenharmony_ci	""
1684e5c31af7Sopenharmony_ci  end
1685e5c31af7Sopenharmony_ci
1686e5c31af7Sopenharmony_ci  case mediump_vec4_qqq
1687e5c31af7Sopenharmony_ci	values
1688e5c31af7Sopenharmony_ci	{
1689e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1690e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.825, 0.825, 0.825) | vec3(1.75, 1.75, 1.75) | vec3(9.0, 9.0, 9.0) | vec3(24.0, 24.0, 24.0) | vec3(0.25, 0.25, 0.25) ];
1691e5c31af7Sopenharmony_ci	}
1692e5c31af7Sopenharmony_ci
1693e5c31af7Sopenharmony_ci	both ""
1694e5c31af7Sopenharmony_ci		precision mediump float;
1695e5c31af7Sopenharmony_ci
1696e5c31af7Sopenharmony_ci		${DECLARATIONS}
1697e5c31af7Sopenharmony_ci
1698e5c31af7Sopenharmony_ci		void main()
1699e5c31af7Sopenharmony_ci		{
1700e5c31af7Sopenharmony_ci			${SETUP}
1701e5c31af7Sopenharmony_ci			out0 = in0.qqq;
1702e5c31af7Sopenharmony_ci			${OUTPUT}
1703e5c31af7Sopenharmony_ci		}
1704e5c31af7Sopenharmony_ci	""
1705e5c31af7Sopenharmony_ci  end
1706e5c31af7Sopenharmony_ci
1707e5c31af7Sopenharmony_ci  case mediump_vec4_ttq
1708e5c31af7Sopenharmony_ci	values
1709e5c31af7Sopenharmony_ci	{
1710e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1711e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.5, 0.5, 0.825) | vec3(1.25, 1.25, 1.75) | vec3(-2.25, -2.25, 9.0) | vec3(64.0, 64.0, 24.0) | vec3(-0.0322580645161, -0.0322580645161, 0.25) ];
1712e5c31af7Sopenharmony_ci	}
1713e5c31af7Sopenharmony_ci
1714e5c31af7Sopenharmony_ci	both ""
1715e5c31af7Sopenharmony_ci		precision mediump float;
1716e5c31af7Sopenharmony_ci
1717e5c31af7Sopenharmony_ci		${DECLARATIONS}
1718e5c31af7Sopenharmony_ci
1719e5c31af7Sopenharmony_ci		void main()
1720e5c31af7Sopenharmony_ci		{
1721e5c31af7Sopenharmony_ci			${SETUP}
1722e5c31af7Sopenharmony_ci			out0 = in0.ttq;
1723e5c31af7Sopenharmony_ci			${OUTPUT}
1724e5c31af7Sopenharmony_ci		}
1725e5c31af7Sopenharmony_ci	""
1726e5c31af7Sopenharmony_ci  end
1727e5c31af7Sopenharmony_ci
1728e5c31af7Sopenharmony_ci  case mediump_vec4_qpt
1729e5c31af7Sopenharmony_ci	values
1730e5c31af7Sopenharmony_ci	{
1731e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1732e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.825, 0.75, 0.5) | vec3(1.75, 1.125, 1.25) | vec3(9.0, -4.875, -2.25) | vec3(24.0, -51.0, 64.0) | vec3(0.25, 0.0526315789474, -0.0322580645161) ];
1733e5c31af7Sopenharmony_ci	}
1734e5c31af7Sopenharmony_ci
1735e5c31af7Sopenharmony_ci	both ""
1736e5c31af7Sopenharmony_ci		precision mediump float;
1737e5c31af7Sopenharmony_ci
1738e5c31af7Sopenharmony_ci		${DECLARATIONS}
1739e5c31af7Sopenharmony_ci
1740e5c31af7Sopenharmony_ci		void main()
1741e5c31af7Sopenharmony_ci		{
1742e5c31af7Sopenharmony_ci			${SETUP}
1743e5c31af7Sopenharmony_ci			out0 = in0.qpt;
1744e5c31af7Sopenharmony_ci			${OUTPUT}
1745e5c31af7Sopenharmony_ci		}
1746e5c31af7Sopenharmony_ci	""
1747e5c31af7Sopenharmony_ci  end
1748e5c31af7Sopenharmony_ci
1749e5c31af7Sopenharmony_ci  case mediump_vec4_stpq
1750e5c31af7Sopenharmony_ci	values
1751e5c31af7Sopenharmony_ci	{
1752e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1753e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1754e5c31af7Sopenharmony_ci	}
1755e5c31af7Sopenharmony_ci
1756e5c31af7Sopenharmony_ci	both ""
1757e5c31af7Sopenharmony_ci		precision mediump float;
1758e5c31af7Sopenharmony_ci
1759e5c31af7Sopenharmony_ci		${DECLARATIONS}
1760e5c31af7Sopenharmony_ci
1761e5c31af7Sopenharmony_ci		void main()
1762e5c31af7Sopenharmony_ci		{
1763e5c31af7Sopenharmony_ci			${SETUP}
1764e5c31af7Sopenharmony_ci			out0 = in0.stpq;
1765e5c31af7Sopenharmony_ci			${OUTPUT}
1766e5c31af7Sopenharmony_ci		}
1767e5c31af7Sopenharmony_ci	""
1768e5c31af7Sopenharmony_ci  end
1769e5c31af7Sopenharmony_ci
1770e5c31af7Sopenharmony_ci  case mediump_vec4_qpts
1771e5c31af7Sopenharmony_ci	values
1772e5c31af7Sopenharmony_ci	{
1773e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1774e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.825, 0.75, 0.5, 0.0) | vec4(1.75, 1.125, 1.25, 1.0) | vec4(9.0, -4.875, -2.25, -0.5) | vec4(24.0, -51.0, 64.0, -32.0) | vec4(0.25, 0.0526315789474, -0.0322580645161, -0.75) ];
1775e5c31af7Sopenharmony_ci	}
1776e5c31af7Sopenharmony_ci
1777e5c31af7Sopenharmony_ci	both ""
1778e5c31af7Sopenharmony_ci		precision mediump float;
1779e5c31af7Sopenharmony_ci
1780e5c31af7Sopenharmony_ci		${DECLARATIONS}
1781e5c31af7Sopenharmony_ci
1782e5c31af7Sopenharmony_ci		void main()
1783e5c31af7Sopenharmony_ci		{
1784e5c31af7Sopenharmony_ci			${SETUP}
1785e5c31af7Sopenharmony_ci			out0 = in0.qpts;
1786e5c31af7Sopenharmony_ci			${OUTPUT}
1787e5c31af7Sopenharmony_ci		}
1788e5c31af7Sopenharmony_ci	""
1789e5c31af7Sopenharmony_ci  end
1790e5c31af7Sopenharmony_ci
1791e5c31af7Sopenharmony_ci  case mediump_vec4_ssss
1792e5c31af7Sopenharmony_ci	values
1793e5c31af7Sopenharmony_ci	{
1794e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1795e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(-0.5, -0.5, -0.5, -0.5) | vec4(-32.0, -32.0, -32.0, -32.0) | vec4(-0.75, -0.75, -0.75, -0.75) ];
1796e5c31af7Sopenharmony_ci	}
1797e5c31af7Sopenharmony_ci
1798e5c31af7Sopenharmony_ci	both ""
1799e5c31af7Sopenharmony_ci		precision mediump float;
1800e5c31af7Sopenharmony_ci
1801e5c31af7Sopenharmony_ci		${DECLARATIONS}
1802e5c31af7Sopenharmony_ci
1803e5c31af7Sopenharmony_ci		void main()
1804e5c31af7Sopenharmony_ci		{
1805e5c31af7Sopenharmony_ci			${SETUP}
1806e5c31af7Sopenharmony_ci			out0 = in0.ssss;
1807e5c31af7Sopenharmony_ci			${OUTPUT}
1808e5c31af7Sopenharmony_ci		}
1809e5c31af7Sopenharmony_ci	""
1810e5c31af7Sopenharmony_ci  end
1811e5c31af7Sopenharmony_ci
1812e5c31af7Sopenharmony_ci  case mediump_vec4_tttt
1813e5c31af7Sopenharmony_ci	values
1814e5c31af7Sopenharmony_ci	{
1815e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1816e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.5, 0.5, 0.5, 0.5) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(-2.25, -2.25, -2.25, -2.25) | vec4(64.0, 64.0, 64.0, 64.0) | vec4(-0.0322580645161, -0.0322580645161, -0.0322580645161, -0.0322580645161) ];
1817e5c31af7Sopenharmony_ci	}
1818e5c31af7Sopenharmony_ci
1819e5c31af7Sopenharmony_ci	both ""
1820e5c31af7Sopenharmony_ci		precision mediump float;
1821e5c31af7Sopenharmony_ci
1822e5c31af7Sopenharmony_ci		${DECLARATIONS}
1823e5c31af7Sopenharmony_ci
1824e5c31af7Sopenharmony_ci		void main()
1825e5c31af7Sopenharmony_ci		{
1826e5c31af7Sopenharmony_ci			${SETUP}
1827e5c31af7Sopenharmony_ci			out0 = in0.tttt;
1828e5c31af7Sopenharmony_ci			${OUTPUT}
1829e5c31af7Sopenharmony_ci		}
1830e5c31af7Sopenharmony_ci	""
1831e5c31af7Sopenharmony_ci  end
1832e5c31af7Sopenharmony_ci
1833e5c31af7Sopenharmony_ci  case mediump_vec4_qqqq
1834e5c31af7Sopenharmony_ci	values
1835e5c31af7Sopenharmony_ci	{
1836e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1837e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.825, 0.825, 0.825, 0.825) | vec4(1.75, 1.75, 1.75, 1.75) | vec4(9.0, 9.0, 9.0, 9.0) | vec4(24.0, 24.0, 24.0, 24.0) | vec4(0.25, 0.25, 0.25, 0.25) ];
1838e5c31af7Sopenharmony_ci	}
1839e5c31af7Sopenharmony_ci
1840e5c31af7Sopenharmony_ci	both ""
1841e5c31af7Sopenharmony_ci		precision mediump float;
1842e5c31af7Sopenharmony_ci
1843e5c31af7Sopenharmony_ci		${DECLARATIONS}
1844e5c31af7Sopenharmony_ci
1845e5c31af7Sopenharmony_ci		void main()
1846e5c31af7Sopenharmony_ci		{
1847e5c31af7Sopenharmony_ci			${SETUP}
1848e5c31af7Sopenharmony_ci			out0 = in0.qqqq;
1849e5c31af7Sopenharmony_ci			${OUTPUT}
1850e5c31af7Sopenharmony_ci		}
1851e5c31af7Sopenharmony_ci	""
1852e5c31af7Sopenharmony_ci  end
1853e5c31af7Sopenharmony_ci
1854e5c31af7Sopenharmony_ci  case mediump_vec4_qppq
1855e5c31af7Sopenharmony_ci	values
1856e5c31af7Sopenharmony_ci	{
1857e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1858e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.825, 0.75, 0.75, 0.825) | vec4(1.75, 1.125, 1.125, 1.75) | vec4(9.0, -4.875, -4.875, 9.0) | vec4(24.0, -51.0, -51.0, 24.0) | vec4(0.25, 0.0526315789474, 0.0526315789474, 0.25) ];
1859e5c31af7Sopenharmony_ci	}
1860e5c31af7Sopenharmony_ci
1861e5c31af7Sopenharmony_ci	both ""
1862e5c31af7Sopenharmony_ci		precision mediump float;
1863e5c31af7Sopenharmony_ci
1864e5c31af7Sopenharmony_ci		${DECLARATIONS}
1865e5c31af7Sopenharmony_ci
1866e5c31af7Sopenharmony_ci		void main()
1867e5c31af7Sopenharmony_ci		{
1868e5c31af7Sopenharmony_ci			${SETUP}
1869e5c31af7Sopenharmony_ci			out0 = in0.qppq;
1870e5c31af7Sopenharmony_ci			${OUTPUT}
1871e5c31af7Sopenharmony_ci		}
1872e5c31af7Sopenharmony_ci	""
1873e5c31af7Sopenharmony_ci  end
1874e5c31af7Sopenharmony_ci
1875e5c31af7Sopenharmony_ci  case mediump_vec4_qqqt
1876e5c31af7Sopenharmony_ci	values
1877e5c31af7Sopenharmony_ci	{
1878e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1879e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.825, 0.825, 0.825, 0.5) | vec4(1.75, 1.75, 1.75, 1.25) | vec4(9.0, 9.0, 9.0, -2.25) | vec4(24.0, 24.0, 24.0, 64.0) | vec4(0.25, 0.25, 0.25, -0.0322580645161) ];
1880e5c31af7Sopenharmony_ci	}
1881e5c31af7Sopenharmony_ci
1882e5c31af7Sopenharmony_ci	both ""
1883e5c31af7Sopenharmony_ci		precision mediump float;
1884e5c31af7Sopenharmony_ci
1885e5c31af7Sopenharmony_ci		${DECLARATIONS}
1886e5c31af7Sopenharmony_ci
1887e5c31af7Sopenharmony_ci		void main()
1888e5c31af7Sopenharmony_ci		{
1889e5c31af7Sopenharmony_ci			${SETUP}
1890e5c31af7Sopenharmony_ci			out0 = in0.qqqt;
1891e5c31af7Sopenharmony_ci			${OUTPUT}
1892e5c31af7Sopenharmony_ci		}
1893e5c31af7Sopenharmony_ci	""
1894e5c31af7Sopenharmony_ci  end
1895e5c31af7Sopenharmony_ci
1896e5c31af7Sopenharmony_ci  case mediump_vec4_stss
1897e5c31af7Sopenharmony_ci	values
1898e5c31af7Sopenharmony_ci	{
1899e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1900e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.5, -2.25, -0.5, -0.5) | vec4(-32.0, 64.0, -32.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.75, -0.75) ];
1901e5c31af7Sopenharmony_ci	}
1902e5c31af7Sopenharmony_ci
1903e5c31af7Sopenharmony_ci	both ""
1904e5c31af7Sopenharmony_ci		precision mediump float;
1905e5c31af7Sopenharmony_ci
1906e5c31af7Sopenharmony_ci		${DECLARATIONS}
1907e5c31af7Sopenharmony_ci
1908e5c31af7Sopenharmony_ci		void main()
1909e5c31af7Sopenharmony_ci		{
1910e5c31af7Sopenharmony_ci			${SETUP}
1911e5c31af7Sopenharmony_ci			out0 = in0.stss;
1912e5c31af7Sopenharmony_ci			${OUTPUT}
1913e5c31af7Sopenharmony_ci		}
1914e5c31af7Sopenharmony_ci	""
1915e5c31af7Sopenharmony_ci  end
1916e5c31af7Sopenharmony_ci
1917e5c31af7Sopenharmony_ci  case mediump_vec4_ppqp
1918e5c31af7Sopenharmony_ci	values
1919e5c31af7Sopenharmony_ci	{
1920e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1921e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.75, 0.75, 0.825, 0.75) | vec4(1.125, 1.125, 1.75, 1.125) | vec4(-4.875, -4.875, 9.0, -4.875) | vec4(-51.0, -51.0, 24.0, -51.0) | vec4(0.0526315789474, 0.0526315789474, 0.25, 0.0526315789474) ];
1922e5c31af7Sopenharmony_ci	}
1923e5c31af7Sopenharmony_ci
1924e5c31af7Sopenharmony_ci	both ""
1925e5c31af7Sopenharmony_ci		precision mediump float;
1926e5c31af7Sopenharmony_ci
1927e5c31af7Sopenharmony_ci		${DECLARATIONS}
1928e5c31af7Sopenharmony_ci
1929e5c31af7Sopenharmony_ci		void main()
1930e5c31af7Sopenharmony_ci		{
1931e5c31af7Sopenharmony_ci			${SETUP}
1932e5c31af7Sopenharmony_ci			out0 = in0.ppqp;
1933e5c31af7Sopenharmony_ci			${OUTPUT}
1934e5c31af7Sopenharmony_ci		}
1935e5c31af7Sopenharmony_ci	""
1936e5c31af7Sopenharmony_ci  end
1937e5c31af7Sopenharmony_ci
1938e5c31af7Sopenharmony_ci  case mediump_vec4_r
1939e5c31af7Sopenharmony_ci	values
1940e5c31af7Sopenharmony_ci	{
1941e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1942e5c31af7Sopenharmony_ci		output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
1943e5c31af7Sopenharmony_ci	}
1944e5c31af7Sopenharmony_ci
1945e5c31af7Sopenharmony_ci	both ""
1946e5c31af7Sopenharmony_ci		precision mediump float;
1947e5c31af7Sopenharmony_ci
1948e5c31af7Sopenharmony_ci		${DECLARATIONS}
1949e5c31af7Sopenharmony_ci
1950e5c31af7Sopenharmony_ci		void main()
1951e5c31af7Sopenharmony_ci		{
1952e5c31af7Sopenharmony_ci			${SETUP}
1953e5c31af7Sopenharmony_ci			out0 = in0.r;
1954e5c31af7Sopenharmony_ci			${OUTPUT}
1955e5c31af7Sopenharmony_ci		}
1956e5c31af7Sopenharmony_ci	""
1957e5c31af7Sopenharmony_ci  end
1958e5c31af7Sopenharmony_ci
1959e5c31af7Sopenharmony_ci  case mediump_vec4_a
1960e5c31af7Sopenharmony_ci	values
1961e5c31af7Sopenharmony_ci	{
1962e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1963e5c31af7Sopenharmony_ci		output float out0 = [ 0.825 | 1.75 | 9.0 | 24.0 | 0.25 ];
1964e5c31af7Sopenharmony_ci	}
1965e5c31af7Sopenharmony_ci
1966e5c31af7Sopenharmony_ci	both ""
1967e5c31af7Sopenharmony_ci		precision mediump float;
1968e5c31af7Sopenharmony_ci
1969e5c31af7Sopenharmony_ci		${DECLARATIONS}
1970e5c31af7Sopenharmony_ci
1971e5c31af7Sopenharmony_ci		void main()
1972e5c31af7Sopenharmony_ci		{
1973e5c31af7Sopenharmony_ci			${SETUP}
1974e5c31af7Sopenharmony_ci			out0 = in0.a;
1975e5c31af7Sopenharmony_ci			${OUTPUT}
1976e5c31af7Sopenharmony_ci		}
1977e5c31af7Sopenharmony_ci	""
1978e5c31af7Sopenharmony_ci  end
1979e5c31af7Sopenharmony_ci
1980e5c31af7Sopenharmony_ci  case mediump_vec4_ar
1981e5c31af7Sopenharmony_ci	values
1982e5c31af7Sopenharmony_ci	{
1983e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1984e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.825, 0.0) | vec2(1.75, 1.0) | vec2(9.0, -0.5) | vec2(24.0, -32.0) | vec2(0.25, -0.75) ];
1985e5c31af7Sopenharmony_ci	}
1986e5c31af7Sopenharmony_ci
1987e5c31af7Sopenharmony_ci	both ""
1988e5c31af7Sopenharmony_ci		precision mediump float;
1989e5c31af7Sopenharmony_ci
1990e5c31af7Sopenharmony_ci		${DECLARATIONS}
1991e5c31af7Sopenharmony_ci
1992e5c31af7Sopenharmony_ci		void main()
1993e5c31af7Sopenharmony_ci		{
1994e5c31af7Sopenharmony_ci			${SETUP}
1995e5c31af7Sopenharmony_ci			out0 = in0.ar;
1996e5c31af7Sopenharmony_ci			${OUTPUT}
1997e5c31af7Sopenharmony_ci		}
1998e5c31af7Sopenharmony_ci	""
1999e5c31af7Sopenharmony_ci  end
2000e5c31af7Sopenharmony_ci
2001e5c31af7Sopenharmony_ci  case mediump_vec4_ab
2002e5c31af7Sopenharmony_ci	values
2003e5c31af7Sopenharmony_ci	{
2004e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2005e5c31af7Sopenharmony_ci		output vec2 out0 = [ vec2(0.825, 0.75) | vec2(1.75, 1.125) | vec2(9.0, -4.875) | vec2(24.0, -51.0) | vec2(0.25, 0.0526315789474) ];
2006e5c31af7Sopenharmony_ci	}
2007e5c31af7Sopenharmony_ci
2008e5c31af7Sopenharmony_ci	both ""
2009e5c31af7Sopenharmony_ci		precision mediump float;
2010e5c31af7Sopenharmony_ci
2011e5c31af7Sopenharmony_ci		${DECLARATIONS}
2012e5c31af7Sopenharmony_ci
2013e5c31af7Sopenharmony_ci		void main()
2014e5c31af7Sopenharmony_ci		{
2015e5c31af7Sopenharmony_ci			${SETUP}
2016e5c31af7Sopenharmony_ci			out0 = in0.ab;
2017e5c31af7Sopenharmony_ci			${OUTPUT}
2018e5c31af7Sopenharmony_ci		}
2019e5c31af7Sopenharmony_ci	""
2020e5c31af7Sopenharmony_ci  end
2021e5c31af7Sopenharmony_ci
2022e5c31af7Sopenharmony_ci  case mediump_vec4_aaa
2023e5c31af7Sopenharmony_ci	values
2024e5c31af7Sopenharmony_ci	{
2025e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2026e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.825, 0.825, 0.825) | vec3(1.75, 1.75, 1.75) | vec3(9.0, 9.0, 9.0) | vec3(24.0, 24.0, 24.0) | vec3(0.25, 0.25, 0.25) ];
2027e5c31af7Sopenharmony_ci	}
2028e5c31af7Sopenharmony_ci
2029e5c31af7Sopenharmony_ci	both ""
2030e5c31af7Sopenharmony_ci		precision mediump float;
2031e5c31af7Sopenharmony_ci
2032e5c31af7Sopenharmony_ci		${DECLARATIONS}
2033e5c31af7Sopenharmony_ci
2034e5c31af7Sopenharmony_ci		void main()
2035e5c31af7Sopenharmony_ci		{
2036e5c31af7Sopenharmony_ci			${SETUP}
2037e5c31af7Sopenharmony_ci			out0 = in0.aaa;
2038e5c31af7Sopenharmony_ci			${OUTPUT}
2039e5c31af7Sopenharmony_ci		}
2040e5c31af7Sopenharmony_ci	""
2041e5c31af7Sopenharmony_ci  end
2042e5c31af7Sopenharmony_ci
2043e5c31af7Sopenharmony_ci  case mediump_vec4_gga
2044e5c31af7Sopenharmony_ci	values
2045e5c31af7Sopenharmony_ci	{
2046e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2047e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.5, 0.5, 0.825) | vec3(1.25, 1.25, 1.75) | vec3(-2.25, -2.25, 9.0) | vec3(64.0, 64.0, 24.0) | vec3(-0.0322580645161, -0.0322580645161, 0.25) ];
2048e5c31af7Sopenharmony_ci	}
2049e5c31af7Sopenharmony_ci
2050e5c31af7Sopenharmony_ci	both ""
2051e5c31af7Sopenharmony_ci		precision mediump float;
2052e5c31af7Sopenharmony_ci
2053e5c31af7Sopenharmony_ci		${DECLARATIONS}
2054e5c31af7Sopenharmony_ci
2055e5c31af7Sopenharmony_ci		void main()
2056e5c31af7Sopenharmony_ci		{
2057e5c31af7Sopenharmony_ci			${SETUP}
2058e5c31af7Sopenharmony_ci			out0 = in0.gga;
2059e5c31af7Sopenharmony_ci			${OUTPUT}
2060e5c31af7Sopenharmony_ci		}
2061e5c31af7Sopenharmony_ci	""
2062e5c31af7Sopenharmony_ci  end
2063e5c31af7Sopenharmony_ci
2064e5c31af7Sopenharmony_ci  case mediump_vec4_abg
2065e5c31af7Sopenharmony_ci	values
2066e5c31af7Sopenharmony_ci	{
2067e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2068e5c31af7Sopenharmony_ci		output vec3 out0 = [ vec3(0.825, 0.75, 0.5) | vec3(1.75, 1.125, 1.25) | vec3(9.0, -4.875, -2.25) | vec3(24.0, -51.0, 64.0) | vec3(0.25, 0.0526315789474, -0.0322580645161) ];
2069e5c31af7Sopenharmony_ci	}
2070e5c31af7Sopenharmony_ci
2071e5c31af7Sopenharmony_ci	both ""
2072e5c31af7Sopenharmony_ci		precision mediump float;
2073e5c31af7Sopenharmony_ci
2074e5c31af7Sopenharmony_ci		${DECLARATIONS}
2075e5c31af7Sopenharmony_ci
2076e5c31af7Sopenharmony_ci		void main()
2077e5c31af7Sopenharmony_ci		{
2078e5c31af7Sopenharmony_ci			${SETUP}
2079e5c31af7Sopenharmony_ci			out0 = in0.abg;
2080e5c31af7Sopenharmony_ci			${OUTPUT}
2081e5c31af7Sopenharmony_ci		}
2082e5c31af7Sopenharmony_ci	""
2083e5c31af7Sopenharmony_ci  end
2084e5c31af7Sopenharmony_ci
2085e5c31af7Sopenharmony_ci  case mediump_vec4_rgba
2086e5c31af7Sopenharmony_ci	values
2087e5c31af7Sopenharmony_ci	{
2088e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2089e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2090e5c31af7Sopenharmony_ci	}
2091e5c31af7Sopenharmony_ci
2092e5c31af7Sopenharmony_ci	both ""
2093e5c31af7Sopenharmony_ci		precision mediump float;
2094e5c31af7Sopenharmony_ci
2095e5c31af7Sopenharmony_ci		${DECLARATIONS}
2096e5c31af7Sopenharmony_ci
2097e5c31af7Sopenharmony_ci		void main()
2098e5c31af7Sopenharmony_ci		{
2099e5c31af7Sopenharmony_ci			${SETUP}
2100e5c31af7Sopenharmony_ci			out0 = in0.rgba;
2101e5c31af7Sopenharmony_ci			${OUTPUT}
2102e5c31af7Sopenharmony_ci		}
2103e5c31af7Sopenharmony_ci	""
2104e5c31af7Sopenharmony_ci  end
2105e5c31af7Sopenharmony_ci
2106e5c31af7Sopenharmony_ci  case mediump_vec4_abgr
2107e5c31af7Sopenharmony_ci	values
2108e5c31af7Sopenharmony_ci	{
2109e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2110e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.825, 0.75, 0.5, 0.0) | vec4(1.75, 1.125, 1.25, 1.0) | vec4(9.0, -4.875, -2.25, -0.5) | vec4(24.0, -51.0, 64.0, -32.0) | vec4(0.25, 0.0526315789474, -0.0322580645161, -0.75) ];
2111e5c31af7Sopenharmony_ci	}
2112e5c31af7Sopenharmony_ci
2113e5c31af7Sopenharmony_ci	both ""
2114e5c31af7Sopenharmony_ci		precision mediump float;
2115e5c31af7Sopenharmony_ci
2116e5c31af7Sopenharmony_ci		${DECLARATIONS}
2117e5c31af7Sopenharmony_ci
2118e5c31af7Sopenharmony_ci		void main()
2119e5c31af7Sopenharmony_ci		{
2120e5c31af7Sopenharmony_ci			${SETUP}
2121e5c31af7Sopenharmony_ci			out0 = in0.abgr;
2122e5c31af7Sopenharmony_ci			${OUTPUT}
2123e5c31af7Sopenharmony_ci		}
2124e5c31af7Sopenharmony_ci	""
2125e5c31af7Sopenharmony_ci  end
2126e5c31af7Sopenharmony_ci
2127e5c31af7Sopenharmony_ci  case mediump_vec4_rrrr
2128e5c31af7Sopenharmony_ci	values
2129e5c31af7Sopenharmony_ci	{
2130e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2131e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(-0.5, -0.5, -0.5, -0.5) | vec4(-32.0, -32.0, -32.0, -32.0) | vec4(-0.75, -0.75, -0.75, -0.75) ];
2132e5c31af7Sopenharmony_ci	}
2133e5c31af7Sopenharmony_ci
2134e5c31af7Sopenharmony_ci	both ""
2135e5c31af7Sopenharmony_ci		precision mediump float;
2136e5c31af7Sopenharmony_ci
2137e5c31af7Sopenharmony_ci		${DECLARATIONS}
2138e5c31af7Sopenharmony_ci
2139e5c31af7Sopenharmony_ci		void main()
2140e5c31af7Sopenharmony_ci		{
2141e5c31af7Sopenharmony_ci			${SETUP}
2142e5c31af7Sopenharmony_ci			out0 = in0.rrrr;
2143e5c31af7Sopenharmony_ci			${OUTPUT}
2144e5c31af7Sopenharmony_ci		}
2145e5c31af7Sopenharmony_ci	""
2146e5c31af7Sopenharmony_ci  end
2147e5c31af7Sopenharmony_ci
2148e5c31af7Sopenharmony_ci  case mediump_vec4_gggg
2149e5c31af7Sopenharmony_ci	values
2150e5c31af7Sopenharmony_ci	{
2151e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2152e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.5, 0.5, 0.5, 0.5) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(-2.25, -2.25, -2.25, -2.25) | vec4(64.0, 64.0, 64.0, 64.0) | vec4(-0.0322580645161, -0.0322580645161, -0.0322580645161, -0.0322580645161) ];
2153e5c31af7Sopenharmony_ci	}
2154e5c31af7Sopenharmony_ci
2155e5c31af7Sopenharmony_ci	both ""
2156e5c31af7Sopenharmony_ci		precision mediump float;
2157e5c31af7Sopenharmony_ci
2158e5c31af7Sopenharmony_ci		${DECLARATIONS}
2159e5c31af7Sopenharmony_ci
2160e5c31af7Sopenharmony_ci		void main()
2161e5c31af7Sopenharmony_ci		{
2162e5c31af7Sopenharmony_ci			${SETUP}
2163e5c31af7Sopenharmony_ci			out0 = in0.gggg;
2164e5c31af7Sopenharmony_ci			${OUTPUT}
2165e5c31af7Sopenharmony_ci		}
2166e5c31af7Sopenharmony_ci	""
2167e5c31af7Sopenharmony_ci  end
2168e5c31af7Sopenharmony_ci
2169e5c31af7Sopenharmony_ci  case mediump_vec4_aaaa
2170e5c31af7Sopenharmony_ci	values
2171e5c31af7Sopenharmony_ci	{
2172e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2173e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.825, 0.825, 0.825, 0.825) | vec4(1.75, 1.75, 1.75, 1.75) | vec4(9.0, 9.0, 9.0, 9.0) | vec4(24.0, 24.0, 24.0, 24.0) | vec4(0.25, 0.25, 0.25, 0.25) ];
2174e5c31af7Sopenharmony_ci	}
2175e5c31af7Sopenharmony_ci
2176e5c31af7Sopenharmony_ci	both ""
2177e5c31af7Sopenharmony_ci		precision mediump float;
2178e5c31af7Sopenharmony_ci
2179e5c31af7Sopenharmony_ci		${DECLARATIONS}
2180e5c31af7Sopenharmony_ci
2181e5c31af7Sopenharmony_ci		void main()
2182e5c31af7Sopenharmony_ci		{
2183e5c31af7Sopenharmony_ci			${SETUP}
2184e5c31af7Sopenharmony_ci			out0 = in0.aaaa;
2185e5c31af7Sopenharmony_ci			${OUTPUT}
2186e5c31af7Sopenharmony_ci		}
2187e5c31af7Sopenharmony_ci	""
2188e5c31af7Sopenharmony_ci  end
2189e5c31af7Sopenharmony_ci
2190e5c31af7Sopenharmony_ci  case mediump_vec4_abba
2191e5c31af7Sopenharmony_ci	values
2192e5c31af7Sopenharmony_ci	{
2193e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2194e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.825, 0.75, 0.75, 0.825) | vec4(1.75, 1.125, 1.125, 1.75) | vec4(9.0, -4.875, -4.875, 9.0) | vec4(24.0, -51.0, -51.0, 24.0) | vec4(0.25, 0.0526315789474, 0.0526315789474, 0.25) ];
2195e5c31af7Sopenharmony_ci	}
2196e5c31af7Sopenharmony_ci
2197e5c31af7Sopenharmony_ci	both ""
2198e5c31af7Sopenharmony_ci		precision mediump float;
2199e5c31af7Sopenharmony_ci
2200e5c31af7Sopenharmony_ci		${DECLARATIONS}
2201e5c31af7Sopenharmony_ci
2202e5c31af7Sopenharmony_ci		void main()
2203e5c31af7Sopenharmony_ci		{
2204e5c31af7Sopenharmony_ci			${SETUP}
2205e5c31af7Sopenharmony_ci			out0 = in0.abba;
2206e5c31af7Sopenharmony_ci			${OUTPUT}
2207e5c31af7Sopenharmony_ci		}
2208e5c31af7Sopenharmony_ci	""
2209e5c31af7Sopenharmony_ci  end
2210e5c31af7Sopenharmony_ci
2211e5c31af7Sopenharmony_ci  case mediump_vec4_aaag
2212e5c31af7Sopenharmony_ci	values
2213e5c31af7Sopenharmony_ci	{
2214e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2215e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.825, 0.825, 0.825, 0.5) | vec4(1.75, 1.75, 1.75, 1.25) | vec4(9.0, 9.0, 9.0, -2.25) | vec4(24.0, 24.0, 24.0, 64.0) | vec4(0.25, 0.25, 0.25, -0.0322580645161) ];
2216e5c31af7Sopenharmony_ci	}
2217e5c31af7Sopenharmony_ci
2218e5c31af7Sopenharmony_ci	both ""
2219e5c31af7Sopenharmony_ci		precision mediump float;
2220e5c31af7Sopenharmony_ci
2221e5c31af7Sopenharmony_ci		${DECLARATIONS}
2222e5c31af7Sopenharmony_ci
2223e5c31af7Sopenharmony_ci		void main()
2224e5c31af7Sopenharmony_ci		{
2225e5c31af7Sopenharmony_ci			${SETUP}
2226e5c31af7Sopenharmony_ci			out0 = in0.aaag;
2227e5c31af7Sopenharmony_ci			${OUTPUT}
2228e5c31af7Sopenharmony_ci		}
2229e5c31af7Sopenharmony_ci	""
2230e5c31af7Sopenharmony_ci  end
2231e5c31af7Sopenharmony_ci
2232e5c31af7Sopenharmony_ci  case mediump_vec4_rgrr
2233e5c31af7Sopenharmony_ci	values
2234e5c31af7Sopenharmony_ci	{
2235e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2236e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.5, -2.25, -0.5, -0.5) | vec4(-32.0, 64.0, -32.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.75, -0.75) ];
2237e5c31af7Sopenharmony_ci	}
2238e5c31af7Sopenharmony_ci
2239e5c31af7Sopenharmony_ci	both ""
2240e5c31af7Sopenharmony_ci		precision mediump float;
2241e5c31af7Sopenharmony_ci
2242e5c31af7Sopenharmony_ci		${DECLARATIONS}
2243e5c31af7Sopenharmony_ci
2244e5c31af7Sopenharmony_ci		void main()
2245e5c31af7Sopenharmony_ci		{
2246e5c31af7Sopenharmony_ci			${SETUP}
2247e5c31af7Sopenharmony_ci			out0 = in0.rgrr;
2248e5c31af7Sopenharmony_ci			${OUTPUT}
2249e5c31af7Sopenharmony_ci		}
2250e5c31af7Sopenharmony_ci	""
2251e5c31af7Sopenharmony_ci  end
2252e5c31af7Sopenharmony_ci
2253e5c31af7Sopenharmony_ci  case mediump_vec4_bbab
2254e5c31af7Sopenharmony_ci	values
2255e5c31af7Sopenharmony_ci	{
2256e5c31af7Sopenharmony_ci		input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2257e5c31af7Sopenharmony_ci		output vec4 out0 = [ vec4(0.75, 0.75, 0.825, 0.75) | vec4(1.125, 1.125, 1.75, 1.125) | vec4(-4.875, -4.875, 9.0, -4.875) | vec4(-51.0, -51.0, 24.0, -51.0) | vec4(0.0526315789474, 0.0526315789474, 0.25, 0.0526315789474) ];
2258e5c31af7Sopenharmony_ci	}
2259e5c31af7Sopenharmony_ci
2260e5c31af7Sopenharmony_ci	both ""
2261e5c31af7Sopenharmony_ci		precision mediump float;
2262e5c31af7Sopenharmony_ci
2263e5c31af7Sopenharmony_ci		${DECLARATIONS}
2264e5c31af7Sopenharmony_ci
2265e5c31af7Sopenharmony_ci		void main()
2266e5c31af7Sopenharmony_ci		{
2267e5c31af7Sopenharmony_ci			${SETUP}
2268e5c31af7Sopenharmony_ci			out0 = in0.bbab;
2269e5c31af7Sopenharmony_ci			${OUTPUT}
2270e5c31af7Sopenharmony_ci		}
2271e5c31af7Sopenharmony_ci	""
2272e5c31af7Sopenharmony_ci  end
2273e5c31af7Sopenharmony_ci
2274e5c31af7Sopenharmony_ci  case mediump_ivec2_x
2275e5c31af7Sopenharmony_ci	values
2276e5c31af7Sopenharmony_ci	{
2277e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2278e5c31af7Sopenharmony_ci		output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
2279e5c31af7Sopenharmony_ci	}
2280e5c31af7Sopenharmony_ci
2281e5c31af7Sopenharmony_ci	both ""
2282e5c31af7Sopenharmony_ci		precision mediump float;
2283e5c31af7Sopenharmony_ci
2284e5c31af7Sopenharmony_ci		${DECLARATIONS}
2285e5c31af7Sopenharmony_ci
2286e5c31af7Sopenharmony_ci		void main()
2287e5c31af7Sopenharmony_ci		{
2288e5c31af7Sopenharmony_ci			${SETUP}
2289e5c31af7Sopenharmony_ci			out0 = in0.x;
2290e5c31af7Sopenharmony_ci			${OUTPUT}
2291e5c31af7Sopenharmony_ci		}
2292e5c31af7Sopenharmony_ci	""
2293e5c31af7Sopenharmony_ci  end
2294e5c31af7Sopenharmony_ci
2295e5c31af7Sopenharmony_ci  case mediump_ivec2_xx
2296e5c31af7Sopenharmony_ci	values
2297e5c31af7Sopenharmony_ci	{
2298e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2299e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, -32) | ivec2(0, 0) ];
2300e5c31af7Sopenharmony_ci	}
2301e5c31af7Sopenharmony_ci
2302e5c31af7Sopenharmony_ci	both ""
2303e5c31af7Sopenharmony_ci		precision mediump float;
2304e5c31af7Sopenharmony_ci
2305e5c31af7Sopenharmony_ci		${DECLARATIONS}
2306e5c31af7Sopenharmony_ci
2307e5c31af7Sopenharmony_ci		void main()
2308e5c31af7Sopenharmony_ci		{
2309e5c31af7Sopenharmony_ci			${SETUP}
2310e5c31af7Sopenharmony_ci			out0 = in0.xx;
2311e5c31af7Sopenharmony_ci			${OUTPUT}
2312e5c31af7Sopenharmony_ci		}
2313e5c31af7Sopenharmony_ci	""
2314e5c31af7Sopenharmony_ci  end
2315e5c31af7Sopenharmony_ci
2316e5c31af7Sopenharmony_ci  case mediump_ivec2_xy
2317e5c31af7Sopenharmony_ci	values
2318e5c31af7Sopenharmony_ci	{
2319e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2320e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2321e5c31af7Sopenharmony_ci	}
2322e5c31af7Sopenharmony_ci
2323e5c31af7Sopenharmony_ci	both ""
2324e5c31af7Sopenharmony_ci		precision mediump float;
2325e5c31af7Sopenharmony_ci
2326e5c31af7Sopenharmony_ci		${DECLARATIONS}
2327e5c31af7Sopenharmony_ci
2328e5c31af7Sopenharmony_ci		void main()
2329e5c31af7Sopenharmony_ci		{
2330e5c31af7Sopenharmony_ci			${SETUP}
2331e5c31af7Sopenharmony_ci			out0 = in0.xy;
2332e5c31af7Sopenharmony_ci			${OUTPUT}
2333e5c31af7Sopenharmony_ci		}
2334e5c31af7Sopenharmony_ci	""
2335e5c31af7Sopenharmony_ci  end
2336e5c31af7Sopenharmony_ci
2337e5c31af7Sopenharmony_ci  case mediump_ivec2_yx
2338e5c31af7Sopenharmony_ci	values
2339e5c31af7Sopenharmony_ci	{
2340e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2341e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-2, 0) | ivec2(64, -32) | ivec2(0, 0) ];
2342e5c31af7Sopenharmony_ci	}
2343e5c31af7Sopenharmony_ci
2344e5c31af7Sopenharmony_ci	both ""
2345e5c31af7Sopenharmony_ci		precision mediump float;
2346e5c31af7Sopenharmony_ci
2347e5c31af7Sopenharmony_ci		${DECLARATIONS}
2348e5c31af7Sopenharmony_ci
2349e5c31af7Sopenharmony_ci		void main()
2350e5c31af7Sopenharmony_ci		{
2351e5c31af7Sopenharmony_ci			${SETUP}
2352e5c31af7Sopenharmony_ci			out0 = in0.yx;
2353e5c31af7Sopenharmony_ci			${OUTPUT}
2354e5c31af7Sopenharmony_ci		}
2355e5c31af7Sopenharmony_ci	""
2356e5c31af7Sopenharmony_ci  end
2357e5c31af7Sopenharmony_ci
2358e5c31af7Sopenharmony_ci  case mediump_ivec2_yxy
2359e5c31af7Sopenharmony_ci	values
2360e5c31af7Sopenharmony_ci	{
2361e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2362e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
2363e5c31af7Sopenharmony_ci	}
2364e5c31af7Sopenharmony_ci
2365e5c31af7Sopenharmony_ci	both ""
2366e5c31af7Sopenharmony_ci		precision mediump float;
2367e5c31af7Sopenharmony_ci
2368e5c31af7Sopenharmony_ci		${DECLARATIONS}
2369e5c31af7Sopenharmony_ci
2370e5c31af7Sopenharmony_ci		void main()
2371e5c31af7Sopenharmony_ci		{
2372e5c31af7Sopenharmony_ci			${SETUP}
2373e5c31af7Sopenharmony_ci			out0 = in0.yxy;
2374e5c31af7Sopenharmony_ci			${OUTPUT}
2375e5c31af7Sopenharmony_ci		}
2376e5c31af7Sopenharmony_ci	""
2377e5c31af7Sopenharmony_ci  end
2378e5c31af7Sopenharmony_ci
2379e5c31af7Sopenharmony_ci  case mediump_ivec2_xyxx
2380e5c31af7Sopenharmony_ci	values
2381e5c31af7Sopenharmony_ci	{
2382e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2383e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, -32) | ivec4(0, 0, 0, 0) ];
2384e5c31af7Sopenharmony_ci	}
2385e5c31af7Sopenharmony_ci
2386e5c31af7Sopenharmony_ci	both ""
2387e5c31af7Sopenharmony_ci		precision mediump float;
2388e5c31af7Sopenharmony_ci
2389e5c31af7Sopenharmony_ci		${DECLARATIONS}
2390e5c31af7Sopenharmony_ci
2391e5c31af7Sopenharmony_ci		void main()
2392e5c31af7Sopenharmony_ci		{
2393e5c31af7Sopenharmony_ci			${SETUP}
2394e5c31af7Sopenharmony_ci			out0 = in0.xyxx;
2395e5c31af7Sopenharmony_ci			${OUTPUT}
2396e5c31af7Sopenharmony_ci		}
2397e5c31af7Sopenharmony_ci	""
2398e5c31af7Sopenharmony_ci  end
2399e5c31af7Sopenharmony_ci
2400e5c31af7Sopenharmony_ci  case mediump_ivec2_yyyy
2401e5c31af7Sopenharmony_ci	values
2402e5c31af7Sopenharmony_ci	{
2403e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2404e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-2, -2, -2, -2) | ivec4(64, 64, 64, 64) | ivec4(0, 0, 0, 0) ];
2405e5c31af7Sopenharmony_ci	}
2406e5c31af7Sopenharmony_ci
2407e5c31af7Sopenharmony_ci	both ""
2408e5c31af7Sopenharmony_ci		precision mediump float;
2409e5c31af7Sopenharmony_ci
2410e5c31af7Sopenharmony_ci		${DECLARATIONS}
2411e5c31af7Sopenharmony_ci
2412e5c31af7Sopenharmony_ci		void main()
2413e5c31af7Sopenharmony_ci		{
2414e5c31af7Sopenharmony_ci			${SETUP}
2415e5c31af7Sopenharmony_ci			out0 = in0.yyyy;
2416e5c31af7Sopenharmony_ci			${OUTPUT}
2417e5c31af7Sopenharmony_ci		}
2418e5c31af7Sopenharmony_ci	""
2419e5c31af7Sopenharmony_ci  end
2420e5c31af7Sopenharmony_ci
2421e5c31af7Sopenharmony_ci  case mediump_ivec2_s
2422e5c31af7Sopenharmony_ci	values
2423e5c31af7Sopenharmony_ci	{
2424e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2425e5c31af7Sopenharmony_ci		output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
2426e5c31af7Sopenharmony_ci	}
2427e5c31af7Sopenharmony_ci
2428e5c31af7Sopenharmony_ci	both ""
2429e5c31af7Sopenharmony_ci		precision mediump float;
2430e5c31af7Sopenharmony_ci
2431e5c31af7Sopenharmony_ci		${DECLARATIONS}
2432e5c31af7Sopenharmony_ci
2433e5c31af7Sopenharmony_ci		void main()
2434e5c31af7Sopenharmony_ci		{
2435e5c31af7Sopenharmony_ci			${SETUP}
2436e5c31af7Sopenharmony_ci			out0 = in0.s;
2437e5c31af7Sopenharmony_ci			${OUTPUT}
2438e5c31af7Sopenharmony_ci		}
2439e5c31af7Sopenharmony_ci	""
2440e5c31af7Sopenharmony_ci  end
2441e5c31af7Sopenharmony_ci
2442e5c31af7Sopenharmony_ci  case mediump_ivec2_ss
2443e5c31af7Sopenharmony_ci	values
2444e5c31af7Sopenharmony_ci	{
2445e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2446e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, -32) | ivec2(0, 0) ];
2447e5c31af7Sopenharmony_ci	}
2448e5c31af7Sopenharmony_ci
2449e5c31af7Sopenharmony_ci	both ""
2450e5c31af7Sopenharmony_ci		precision mediump float;
2451e5c31af7Sopenharmony_ci
2452e5c31af7Sopenharmony_ci		${DECLARATIONS}
2453e5c31af7Sopenharmony_ci
2454e5c31af7Sopenharmony_ci		void main()
2455e5c31af7Sopenharmony_ci		{
2456e5c31af7Sopenharmony_ci			${SETUP}
2457e5c31af7Sopenharmony_ci			out0 = in0.ss;
2458e5c31af7Sopenharmony_ci			${OUTPUT}
2459e5c31af7Sopenharmony_ci		}
2460e5c31af7Sopenharmony_ci	""
2461e5c31af7Sopenharmony_ci  end
2462e5c31af7Sopenharmony_ci
2463e5c31af7Sopenharmony_ci  case mediump_ivec2_st
2464e5c31af7Sopenharmony_ci	values
2465e5c31af7Sopenharmony_ci	{
2466e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2467e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2468e5c31af7Sopenharmony_ci	}
2469e5c31af7Sopenharmony_ci
2470e5c31af7Sopenharmony_ci	both ""
2471e5c31af7Sopenharmony_ci		precision mediump float;
2472e5c31af7Sopenharmony_ci
2473e5c31af7Sopenharmony_ci		${DECLARATIONS}
2474e5c31af7Sopenharmony_ci
2475e5c31af7Sopenharmony_ci		void main()
2476e5c31af7Sopenharmony_ci		{
2477e5c31af7Sopenharmony_ci			${SETUP}
2478e5c31af7Sopenharmony_ci			out0 = in0.st;
2479e5c31af7Sopenharmony_ci			${OUTPUT}
2480e5c31af7Sopenharmony_ci		}
2481e5c31af7Sopenharmony_ci	""
2482e5c31af7Sopenharmony_ci  end
2483e5c31af7Sopenharmony_ci
2484e5c31af7Sopenharmony_ci  case mediump_ivec2_ts
2485e5c31af7Sopenharmony_ci	values
2486e5c31af7Sopenharmony_ci	{
2487e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2488e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-2, 0) | ivec2(64, -32) | ivec2(0, 0) ];
2489e5c31af7Sopenharmony_ci	}
2490e5c31af7Sopenharmony_ci
2491e5c31af7Sopenharmony_ci	both ""
2492e5c31af7Sopenharmony_ci		precision mediump float;
2493e5c31af7Sopenharmony_ci
2494e5c31af7Sopenharmony_ci		${DECLARATIONS}
2495e5c31af7Sopenharmony_ci
2496e5c31af7Sopenharmony_ci		void main()
2497e5c31af7Sopenharmony_ci		{
2498e5c31af7Sopenharmony_ci			${SETUP}
2499e5c31af7Sopenharmony_ci			out0 = in0.ts;
2500e5c31af7Sopenharmony_ci			${OUTPUT}
2501e5c31af7Sopenharmony_ci		}
2502e5c31af7Sopenharmony_ci	""
2503e5c31af7Sopenharmony_ci  end
2504e5c31af7Sopenharmony_ci
2505e5c31af7Sopenharmony_ci  case mediump_ivec2_tst
2506e5c31af7Sopenharmony_ci	values
2507e5c31af7Sopenharmony_ci	{
2508e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2509e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
2510e5c31af7Sopenharmony_ci	}
2511e5c31af7Sopenharmony_ci
2512e5c31af7Sopenharmony_ci	both ""
2513e5c31af7Sopenharmony_ci		precision mediump float;
2514e5c31af7Sopenharmony_ci
2515e5c31af7Sopenharmony_ci		${DECLARATIONS}
2516e5c31af7Sopenharmony_ci
2517e5c31af7Sopenharmony_ci		void main()
2518e5c31af7Sopenharmony_ci		{
2519e5c31af7Sopenharmony_ci			${SETUP}
2520e5c31af7Sopenharmony_ci			out0 = in0.tst;
2521e5c31af7Sopenharmony_ci			${OUTPUT}
2522e5c31af7Sopenharmony_ci		}
2523e5c31af7Sopenharmony_ci	""
2524e5c31af7Sopenharmony_ci  end
2525e5c31af7Sopenharmony_ci
2526e5c31af7Sopenharmony_ci  case mediump_ivec2_stss
2527e5c31af7Sopenharmony_ci	values
2528e5c31af7Sopenharmony_ci	{
2529e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2530e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, -32) | ivec4(0, 0, 0, 0) ];
2531e5c31af7Sopenharmony_ci	}
2532e5c31af7Sopenharmony_ci
2533e5c31af7Sopenharmony_ci	both ""
2534e5c31af7Sopenharmony_ci		precision mediump float;
2535e5c31af7Sopenharmony_ci
2536e5c31af7Sopenharmony_ci		${DECLARATIONS}
2537e5c31af7Sopenharmony_ci
2538e5c31af7Sopenharmony_ci		void main()
2539e5c31af7Sopenharmony_ci		{
2540e5c31af7Sopenharmony_ci			${SETUP}
2541e5c31af7Sopenharmony_ci			out0 = in0.stss;
2542e5c31af7Sopenharmony_ci			${OUTPUT}
2543e5c31af7Sopenharmony_ci		}
2544e5c31af7Sopenharmony_ci	""
2545e5c31af7Sopenharmony_ci  end
2546e5c31af7Sopenharmony_ci
2547e5c31af7Sopenharmony_ci  case mediump_ivec2_tttt
2548e5c31af7Sopenharmony_ci	values
2549e5c31af7Sopenharmony_ci	{
2550e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2551e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-2, -2, -2, -2) | ivec4(64, 64, 64, 64) | ivec4(0, 0, 0, 0) ];
2552e5c31af7Sopenharmony_ci	}
2553e5c31af7Sopenharmony_ci
2554e5c31af7Sopenharmony_ci	both ""
2555e5c31af7Sopenharmony_ci		precision mediump float;
2556e5c31af7Sopenharmony_ci
2557e5c31af7Sopenharmony_ci		${DECLARATIONS}
2558e5c31af7Sopenharmony_ci
2559e5c31af7Sopenharmony_ci		void main()
2560e5c31af7Sopenharmony_ci		{
2561e5c31af7Sopenharmony_ci			${SETUP}
2562e5c31af7Sopenharmony_ci			out0 = in0.tttt;
2563e5c31af7Sopenharmony_ci			${OUTPUT}
2564e5c31af7Sopenharmony_ci		}
2565e5c31af7Sopenharmony_ci	""
2566e5c31af7Sopenharmony_ci  end
2567e5c31af7Sopenharmony_ci
2568e5c31af7Sopenharmony_ci  case mediump_ivec2_r
2569e5c31af7Sopenharmony_ci	values
2570e5c31af7Sopenharmony_ci	{
2571e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2572e5c31af7Sopenharmony_ci		output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
2573e5c31af7Sopenharmony_ci	}
2574e5c31af7Sopenharmony_ci
2575e5c31af7Sopenharmony_ci	both ""
2576e5c31af7Sopenharmony_ci		precision mediump float;
2577e5c31af7Sopenharmony_ci
2578e5c31af7Sopenharmony_ci		${DECLARATIONS}
2579e5c31af7Sopenharmony_ci
2580e5c31af7Sopenharmony_ci		void main()
2581e5c31af7Sopenharmony_ci		{
2582e5c31af7Sopenharmony_ci			${SETUP}
2583e5c31af7Sopenharmony_ci			out0 = in0.r;
2584e5c31af7Sopenharmony_ci			${OUTPUT}
2585e5c31af7Sopenharmony_ci		}
2586e5c31af7Sopenharmony_ci	""
2587e5c31af7Sopenharmony_ci  end
2588e5c31af7Sopenharmony_ci
2589e5c31af7Sopenharmony_ci  case mediump_ivec2_rr
2590e5c31af7Sopenharmony_ci	values
2591e5c31af7Sopenharmony_ci	{
2592e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2593e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, -32) | ivec2(0, 0) ];
2594e5c31af7Sopenharmony_ci	}
2595e5c31af7Sopenharmony_ci
2596e5c31af7Sopenharmony_ci	both ""
2597e5c31af7Sopenharmony_ci		precision mediump float;
2598e5c31af7Sopenharmony_ci
2599e5c31af7Sopenharmony_ci		${DECLARATIONS}
2600e5c31af7Sopenharmony_ci
2601e5c31af7Sopenharmony_ci		void main()
2602e5c31af7Sopenharmony_ci		{
2603e5c31af7Sopenharmony_ci			${SETUP}
2604e5c31af7Sopenharmony_ci			out0 = in0.rr;
2605e5c31af7Sopenharmony_ci			${OUTPUT}
2606e5c31af7Sopenharmony_ci		}
2607e5c31af7Sopenharmony_ci	""
2608e5c31af7Sopenharmony_ci  end
2609e5c31af7Sopenharmony_ci
2610e5c31af7Sopenharmony_ci  case mediump_ivec2_rg
2611e5c31af7Sopenharmony_ci	values
2612e5c31af7Sopenharmony_ci	{
2613e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2614e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2615e5c31af7Sopenharmony_ci	}
2616e5c31af7Sopenharmony_ci
2617e5c31af7Sopenharmony_ci	both ""
2618e5c31af7Sopenharmony_ci		precision mediump float;
2619e5c31af7Sopenharmony_ci
2620e5c31af7Sopenharmony_ci		${DECLARATIONS}
2621e5c31af7Sopenharmony_ci
2622e5c31af7Sopenharmony_ci		void main()
2623e5c31af7Sopenharmony_ci		{
2624e5c31af7Sopenharmony_ci			${SETUP}
2625e5c31af7Sopenharmony_ci			out0 = in0.rg;
2626e5c31af7Sopenharmony_ci			${OUTPUT}
2627e5c31af7Sopenharmony_ci		}
2628e5c31af7Sopenharmony_ci	""
2629e5c31af7Sopenharmony_ci  end
2630e5c31af7Sopenharmony_ci
2631e5c31af7Sopenharmony_ci  case mediump_ivec2_gr
2632e5c31af7Sopenharmony_ci	values
2633e5c31af7Sopenharmony_ci	{
2634e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2635e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-2, 0) | ivec2(64, -32) | ivec2(0, 0) ];
2636e5c31af7Sopenharmony_ci	}
2637e5c31af7Sopenharmony_ci
2638e5c31af7Sopenharmony_ci	both ""
2639e5c31af7Sopenharmony_ci		precision mediump float;
2640e5c31af7Sopenharmony_ci
2641e5c31af7Sopenharmony_ci		${DECLARATIONS}
2642e5c31af7Sopenharmony_ci
2643e5c31af7Sopenharmony_ci		void main()
2644e5c31af7Sopenharmony_ci		{
2645e5c31af7Sopenharmony_ci			${SETUP}
2646e5c31af7Sopenharmony_ci			out0 = in0.gr;
2647e5c31af7Sopenharmony_ci			${OUTPUT}
2648e5c31af7Sopenharmony_ci		}
2649e5c31af7Sopenharmony_ci	""
2650e5c31af7Sopenharmony_ci  end
2651e5c31af7Sopenharmony_ci
2652e5c31af7Sopenharmony_ci  case mediump_ivec2_grg
2653e5c31af7Sopenharmony_ci	values
2654e5c31af7Sopenharmony_ci	{
2655e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2656e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
2657e5c31af7Sopenharmony_ci	}
2658e5c31af7Sopenharmony_ci
2659e5c31af7Sopenharmony_ci	both ""
2660e5c31af7Sopenharmony_ci		precision mediump float;
2661e5c31af7Sopenharmony_ci
2662e5c31af7Sopenharmony_ci		${DECLARATIONS}
2663e5c31af7Sopenharmony_ci
2664e5c31af7Sopenharmony_ci		void main()
2665e5c31af7Sopenharmony_ci		{
2666e5c31af7Sopenharmony_ci			${SETUP}
2667e5c31af7Sopenharmony_ci			out0 = in0.grg;
2668e5c31af7Sopenharmony_ci			${OUTPUT}
2669e5c31af7Sopenharmony_ci		}
2670e5c31af7Sopenharmony_ci	""
2671e5c31af7Sopenharmony_ci  end
2672e5c31af7Sopenharmony_ci
2673e5c31af7Sopenharmony_ci  case mediump_ivec2_rgrr
2674e5c31af7Sopenharmony_ci	values
2675e5c31af7Sopenharmony_ci	{
2676e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2677e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, -32) | ivec4(0, 0, 0, 0) ];
2678e5c31af7Sopenharmony_ci	}
2679e5c31af7Sopenharmony_ci
2680e5c31af7Sopenharmony_ci	both ""
2681e5c31af7Sopenharmony_ci		precision mediump float;
2682e5c31af7Sopenharmony_ci
2683e5c31af7Sopenharmony_ci		${DECLARATIONS}
2684e5c31af7Sopenharmony_ci
2685e5c31af7Sopenharmony_ci		void main()
2686e5c31af7Sopenharmony_ci		{
2687e5c31af7Sopenharmony_ci			${SETUP}
2688e5c31af7Sopenharmony_ci			out0 = in0.rgrr;
2689e5c31af7Sopenharmony_ci			${OUTPUT}
2690e5c31af7Sopenharmony_ci		}
2691e5c31af7Sopenharmony_ci	""
2692e5c31af7Sopenharmony_ci  end
2693e5c31af7Sopenharmony_ci
2694e5c31af7Sopenharmony_ci  case mediump_ivec2_gggg
2695e5c31af7Sopenharmony_ci	values
2696e5c31af7Sopenharmony_ci	{
2697e5c31af7Sopenharmony_ci		input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2698e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-2, -2, -2, -2) | ivec4(64, 64, 64, 64) | ivec4(0, 0, 0, 0) ];
2699e5c31af7Sopenharmony_ci	}
2700e5c31af7Sopenharmony_ci
2701e5c31af7Sopenharmony_ci	both ""
2702e5c31af7Sopenharmony_ci		precision mediump float;
2703e5c31af7Sopenharmony_ci
2704e5c31af7Sopenharmony_ci		${DECLARATIONS}
2705e5c31af7Sopenharmony_ci
2706e5c31af7Sopenharmony_ci		void main()
2707e5c31af7Sopenharmony_ci		{
2708e5c31af7Sopenharmony_ci			${SETUP}
2709e5c31af7Sopenharmony_ci			out0 = in0.gggg;
2710e5c31af7Sopenharmony_ci			${OUTPUT}
2711e5c31af7Sopenharmony_ci		}
2712e5c31af7Sopenharmony_ci	""
2713e5c31af7Sopenharmony_ci  end
2714e5c31af7Sopenharmony_ci
2715e5c31af7Sopenharmony_ci  case mediump_ivec3_x
2716e5c31af7Sopenharmony_ci	values
2717e5c31af7Sopenharmony_ci	{
2718e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2719e5c31af7Sopenharmony_ci		output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
2720e5c31af7Sopenharmony_ci	}
2721e5c31af7Sopenharmony_ci
2722e5c31af7Sopenharmony_ci	both ""
2723e5c31af7Sopenharmony_ci		precision mediump float;
2724e5c31af7Sopenharmony_ci
2725e5c31af7Sopenharmony_ci		${DECLARATIONS}
2726e5c31af7Sopenharmony_ci
2727e5c31af7Sopenharmony_ci		void main()
2728e5c31af7Sopenharmony_ci		{
2729e5c31af7Sopenharmony_ci			${SETUP}
2730e5c31af7Sopenharmony_ci			out0 = in0.x;
2731e5c31af7Sopenharmony_ci			${OUTPUT}
2732e5c31af7Sopenharmony_ci		}
2733e5c31af7Sopenharmony_ci	""
2734e5c31af7Sopenharmony_ci  end
2735e5c31af7Sopenharmony_ci
2736e5c31af7Sopenharmony_ci  case mediump_ivec3_z
2737e5c31af7Sopenharmony_ci	values
2738e5c31af7Sopenharmony_ci	{
2739e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2740e5c31af7Sopenharmony_ci		output int out0 = [ 0 | 1 | -4 | -51 | 0 ];
2741e5c31af7Sopenharmony_ci	}
2742e5c31af7Sopenharmony_ci
2743e5c31af7Sopenharmony_ci	both ""
2744e5c31af7Sopenharmony_ci		precision mediump float;
2745e5c31af7Sopenharmony_ci
2746e5c31af7Sopenharmony_ci		${DECLARATIONS}
2747e5c31af7Sopenharmony_ci
2748e5c31af7Sopenharmony_ci		void main()
2749e5c31af7Sopenharmony_ci		{
2750e5c31af7Sopenharmony_ci			${SETUP}
2751e5c31af7Sopenharmony_ci			out0 = in0.z;
2752e5c31af7Sopenharmony_ci			${OUTPUT}
2753e5c31af7Sopenharmony_ci		}
2754e5c31af7Sopenharmony_ci	""
2755e5c31af7Sopenharmony_ci  end
2756e5c31af7Sopenharmony_ci
2757e5c31af7Sopenharmony_ci  case mediump_ivec3_xz
2758e5c31af7Sopenharmony_ci	values
2759e5c31af7Sopenharmony_ci	{
2760e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2761e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -4) | ivec2(-32, -51) | ivec2(0, 0) ];
2762e5c31af7Sopenharmony_ci	}
2763e5c31af7Sopenharmony_ci
2764e5c31af7Sopenharmony_ci	both ""
2765e5c31af7Sopenharmony_ci		precision mediump float;
2766e5c31af7Sopenharmony_ci
2767e5c31af7Sopenharmony_ci		${DECLARATIONS}
2768e5c31af7Sopenharmony_ci
2769e5c31af7Sopenharmony_ci		void main()
2770e5c31af7Sopenharmony_ci		{
2771e5c31af7Sopenharmony_ci			${SETUP}
2772e5c31af7Sopenharmony_ci			out0 = in0.xz;
2773e5c31af7Sopenharmony_ci			${OUTPUT}
2774e5c31af7Sopenharmony_ci		}
2775e5c31af7Sopenharmony_ci	""
2776e5c31af7Sopenharmony_ci  end
2777e5c31af7Sopenharmony_ci
2778e5c31af7Sopenharmony_ci  case mediump_ivec3_zz
2779e5c31af7Sopenharmony_ci	values
2780e5c31af7Sopenharmony_ci	{
2781e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2782e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-4, -4) | ivec2(-51, -51) | ivec2(0, 0) ];
2783e5c31af7Sopenharmony_ci	}
2784e5c31af7Sopenharmony_ci
2785e5c31af7Sopenharmony_ci	both ""
2786e5c31af7Sopenharmony_ci		precision mediump float;
2787e5c31af7Sopenharmony_ci
2788e5c31af7Sopenharmony_ci		${DECLARATIONS}
2789e5c31af7Sopenharmony_ci
2790e5c31af7Sopenharmony_ci		void main()
2791e5c31af7Sopenharmony_ci		{
2792e5c31af7Sopenharmony_ci			${SETUP}
2793e5c31af7Sopenharmony_ci			out0 = in0.zz;
2794e5c31af7Sopenharmony_ci			${OUTPUT}
2795e5c31af7Sopenharmony_ci		}
2796e5c31af7Sopenharmony_ci	""
2797e5c31af7Sopenharmony_ci  end
2798e5c31af7Sopenharmony_ci
2799e5c31af7Sopenharmony_ci  case mediump_ivec3_xyz
2800e5c31af7Sopenharmony_ci	values
2801e5c31af7Sopenharmony_ci	{
2802e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2803e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2804e5c31af7Sopenharmony_ci	}
2805e5c31af7Sopenharmony_ci
2806e5c31af7Sopenharmony_ci	both ""
2807e5c31af7Sopenharmony_ci		precision mediump float;
2808e5c31af7Sopenharmony_ci
2809e5c31af7Sopenharmony_ci		${DECLARATIONS}
2810e5c31af7Sopenharmony_ci
2811e5c31af7Sopenharmony_ci		void main()
2812e5c31af7Sopenharmony_ci		{
2813e5c31af7Sopenharmony_ci			${SETUP}
2814e5c31af7Sopenharmony_ci			out0 = in0.xyz;
2815e5c31af7Sopenharmony_ci			${OUTPUT}
2816e5c31af7Sopenharmony_ci		}
2817e5c31af7Sopenharmony_ci	""
2818e5c31af7Sopenharmony_ci  end
2819e5c31af7Sopenharmony_ci
2820e5c31af7Sopenharmony_ci  case mediump_ivec3_zyx
2821e5c31af7Sopenharmony_ci	values
2822e5c31af7Sopenharmony_ci	{
2823e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2824e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -2, 0) | ivec3(-51, 64, -32) | ivec3(0, 0, 0) ];
2825e5c31af7Sopenharmony_ci	}
2826e5c31af7Sopenharmony_ci
2827e5c31af7Sopenharmony_ci	both ""
2828e5c31af7Sopenharmony_ci		precision mediump float;
2829e5c31af7Sopenharmony_ci
2830e5c31af7Sopenharmony_ci		${DECLARATIONS}
2831e5c31af7Sopenharmony_ci
2832e5c31af7Sopenharmony_ci		void main()
2833e5c31af7Sopenharmony_ci		{
2834e5c31af7Sopenharmony_ci			${SETUP}
2835e5c31af7Sopenharmony_ci			out0 = in0.zyx;
2836e5c31af7Sopenharmony_ci			${OUTPUT}
2837e5c31af7Sopenharmony_ci		}
2838e5c31af7Sopenharmony_ci	""
2839e5c31af7Sopenharmony_ci  end
2840e5c31af7Sopenharmony_ci
2841e5c31af7Sopenharmony_ci  case mediump_ivec3_xxx
2842e5c31af7Sopenharmony_ci	values
2843e5c31af7Sopenharmony_ci	{
2844e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2845e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, -32, -32) | ivec3(0, 0, 0) ];
2846e5c31af7Sopenharmony_ci	}
2847e5c31af7Sopenharmony_ci
2848e5c31af7Sopenharmony_ci	both ""
2849e5c31af7Sopenharmony_ci		precision mediump float;
2850e5c31af7Sopenharmony_ci
2851e5c31af7Sopenharmony_ci		${DECLARATIONS}
2852e5c31af7Sopenharmony_ci
2853e5c31af7Sopenharmony_ci		void main()
2854e5c31af7Sopenharmony_ci		{
2855e5c31af7Sopenharmony_ci			${SETUP}
2856e5c31af7Sopenharmony_ci			out0 = in0.xxx;
2857e5c31af7Sopenharmony_ci			${OUTPUT}
2858e5c31af7Sopenharmony_ci		}
2859e5c31af7Sopenharmony_ci	""
2860e5c31af7Sopenharmony_ci  end
2861e5c31af7Sopenharmony_ci
2862e5c31af7Sopenharmony_ci  case mediump_ivec3_zzz
2863e5c31af7Sopenharmony_ci	values
2864e5c31af7Sopenharmony_ci	{
2865e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2866e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -4) | ivec3(-51, -51, -51) | ivec3(0, 0, 0) ];
2867e5c31af7Sopenharmony_ci	}
2868e5c31af7Sopenharmony_ci
2869e5c31af7Sopenharmony_ci	both ""
2870e5c31af7Sopenharmony_ci		precision mediump float;
2871e5c31af7Sopenharmony_ci
2872e5c31af7Sopenharmony_ci		${DECLARATIONS}
2873e5c31af7Sopenharmony_ci
2874e5c31af7Sopenharmony_ci		void main()
2875e5c31af7Sopenharmony_ci		{
2876e5c31af7Sopenharmony_ci			${SETUP}
2877e5c31af7Sopenharmony_ci			out0 = in0.zzz;
2878e5c31af7Sopenharmony_ci			${OUTPUT}
2879e5c31af7Sopenharmony_ci		}
2880e5c31af7Sopenharmony_ci	""
2881e5c31af7Sopenharmony_ci  end
2882e5c31af7Sopenharmony_ci
2883e5c31af7Sopenharmony_ci  case mediump_ivec3_zzy
2884e5c31af7Sopenharmony_ci	values
2885e5c31af7Sopenharmony_ci	{
2886e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2887e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -2) | ivec3(-51, -51, 64) | ivec3(0, 0, 0) ];
2888e5c31af7Sopenharmony_ci	}
2889e5c31af7Sopenharmony_ci
2890e5c31af7Sopenharmony_ci	both ""
2891e5c31af7Sopenharmony_ci		precision mediump float;
2892e5c31af7Sopenharmony_ci
2893e5c31af7Sopenharmony_ci		${DECLARATIONS}
2894e5c31af7Sopenharmony_ci
2895e5c31af7Sopenharmony_ci		void main()
2896e5c31af7Sopenharmony_ci		{
2897e5c31af7Sopenharmony_ci			${SETUP}
2898e5c31af7Sopenharmony_ci			out0 = in0.zzy;
2899e5c31af7Sopenharmony_ci			${OUTPUT}
2900e5c31af7Sopenharmony_ci		}
2901e5c31af7Sopenharmony_ci	""
2902e5c31af7Sopenharmony_ci  end
2903e5c31af7Sopenharmony_ci
2904e5c31af7Sopenharmony_ci  case mediump_ivec3_yxy
2905e5c31af7Sopenharmony_ci	values
2906e5c31af7Sopenharmony_ci	{
2907e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2908e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
2909e5c31af7Sopenharmony_ci	}
2910e5c31af7Sopenharmony_ci
2911e5c31af7Sopenharmony_ci	both ""
2912e5c31af7Sopenharmony_ci		precision mediump float;
2913e5c31af7Sopenharmony_ci
2914e5c31af7Sopenharmony_ci		${DECLARATIONS}
2915e5c31af7Sopenharmony_ci
2916e5c31af7Sopenharmony_ci		void main()
2917e5c31af7Sopenharmony_ci		{
2918e5c31af7Sopenharmony_ci			${SETUP}
2919e5c31af7Sopenharmony_ci			out0 = in0.yxy;
2920e5c31af7Sopenharmony_ci			${OUTPUT}
2921e5c31af7Sopenharmony_ci		}
2922e5c31af7Sopenharmony_ci	""
2923e5c31af7Sopenharmony_ci  end
2924e5c31af7Sopenharmony_ci
2925e5c31af7Sopenharmony_ci  case mediump_ivec3_xzx
2926e5c31af7Sopenharmony_ci	values
2927e5c31af7Sopenharmony_ci	{
2928e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2929e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -4, 0) | ivec3(-32, -51, -32) | ivec3(0, 0, 0) ];
2930e5c31af7Sopenharmony_ci	}
2931e5c31af7Sopenharmony_ci
2932e5c31af7Sopenharmony_ci	both ""
2933e5c31af7Sopenharmony_ci		precision mediump float;
2934e5c31af7Sopenharmony_ci
2935e5c31af7Sopenharmony_ci		${DECLARATIONS}
2936e5c31af7Sopenharmony_ci
2937e5c31af7Sopenharmony_ci		void main()
2938e5c31af7Sopenharmony_ci		{
2939e5c31af7Sopenharmony_ci			${SETUP}
2940e5c31af7Sopenharmony_ci			out0 = in0.xzx;
2941e5c31af7Sopenharmony_ci			${OUTPUT}
2942e5c31af7Sopenharmony_ci		}
2943e5c31af7Sopenharmony_ci	""
2944e5c31af7Sopenharmony_ci  end
2945e5c31af7Sopenharmony_ci
2946e5c31af7Sopenharmony_ci  case mediump_ivec3_xyyx
2947e5c31af7Sopenharmony_ci	values
2948e5c31af7Sopenharmony_ci	{
2949e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2950e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -2, 0) | ivec4(-32, 64, 64, -32) | ivec4(0, 0, 0, 0) ];
2951e5c31af7Sopenharmony_ci	}
2952e5c31af7Sopenharmony_ci
2953e5c31af7Sopenharmony_ci	both ""
2954e5c31af7Sopenharmony_ci		precision mediump float;
2955e5c31af7Sopenharmony_ci
2956e5c31af7Sopenharmony_ci		${DECLARATIONS}
2957e5c31af7Sopenharmony_ci
2958e5c31af7Sopenharmony_ci		void main()
2959e5c31af7Sopenharmony_ci		{
2960e5c31af7Sopenharmony_ci			${SETUP}
2961e5c31af7Sopenharmony_ci			out0 = in0.xyyx;
2962e5c31af7Sopenharmony_ci			${OUTPUT}
2963e5c31af7Sopenharmony_ci		}
2964e5c31af7Sopenharmony_ci	""
2965e5c31af7Sopenharmony_ci  end
2966e5c31af7Sopenharmony_ci
2967e5c31af7Sopenharmony_ci  case mediump_ivec3_zzzz
2968e5c31af7Sopenharmony_ci	values
2969e5c31af7Sopenharmony_ci	{
2970e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2971e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, -4, -4) | ivec4(-51, -51, -51, -51) | ivec4(0, 0, 0, 0) ];
2972e5c31af7Sopenharmony_ci	}
2973e5c31af7Sopenharmony_ci
2974e5c31af7Sopenharmony_ci	both ""
2975e5c31af7Sopenharmony_ci		precision mediump float;
2976e5c31af7Sopenharmony_ci
2977e5c31af7Sopenharmony_ci		${DECLARATIONS}
2978e5c31af7Sopenharmony_ci
2979e5c31af7Sopenharmony_ci		void main()
2980e5c31af7Sopenharmony_ci		{
2981e5c31af7Sopenharmony_ci			${SETUP}
2982e5c31af7Sopenharmony_ci			out0 = in0.zzzz;
2983e5c31af7Sopenharmony_ci			${OUTPUT}
2984e5c31af7Sopenharmony_ci		}
2985e5c31af7Sopenharmony_ci	""
2986e5c31af7Sopenharmony_ci  end
2987e5c31af7Sopenharmony_ci
2988e5c31af7Sopenharmony_ci  case mediump_ivec3_s
2989e5c31af7Sopenharmony_ci	values
2990e5c31af7Sopenharmony_ci	{
2991e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2992e5c31af7Sopenharmony_ci		output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
2993e5c31af7Sopenharmony_ci	}
2994e5c31af7Sopenharmony_ci
2995e5c31af7Sopenharmony_ci	both ""
2996e5c31af7Sopenharmony_ci		precision mediump float;
2997e5c31af7Sopenharmony_ci
2998e5c31af7Sopenharmony_ci		${DECLARATIONS}
2999e5c31af7Sopenharmony_ci
3000e5c31af7Sopenharmony_ci		void main()
3001e5c31af7Sopenharmony_ci		{
3002e5c31af7Sopenharmony_ci			${SETUP}
3003e5c31af7Sopenharmony_ci			out0 = in0.s;
3004e5c31af7Sopenharmony_ci			${OUTPUT}
3005e5c31af7Sopenharmony_ci		}
3006e5c31af7Sopenharmony_ci	""
3007e5c31af7Sopenharmony_ci  end
3008e5c31af7Sopenharmony_ci
3009e5c31af7Sopenharmony_ci  case mediump_ivec3_p
3010e5c31af7Sopenharmony_ci	values
3011e5c31af7Sopenharmony_ci	{
3012e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3013e5c31af7Sopenharmony_ci		output int out0 = [ 0 | 1 | -4 | -51 | 0 ];
3014e5c31af7Sopenharmony_ci	}
3015e5c31af7Sopenharmony_ci
3016e5c31af7Sopenharmony_ci	both ""
3017e5c31af7Sopenharmony_ci		precision mediump float;
3018e5c31af7Sopenharmony_ci
3019e5c31af7Sopenharmony_ci		${DECLARATIONS}
3020e5c31af7Sopenharmony_ci
3021e5c31af7Sopenharmony_ci		void main()
3022e5c31af7Sopenharmony_ci		{
3023e5c31af7Sopenharmony_ci			${SETUP}
3024e5c31af7Sopenharmony_ci			out0 = in0.p;
3025e5c31af7Sopenharmony_ci			${OUTPUT}
3026e5c31af7Sopenharmony_ci		}
3027e5c31af7Sopenharmony_ci	""
3028e5c31af7Sopenharmony_ci  end
3029e5c31af7Sopenharmony_ci
3030e5c31af7Sopenharmony_ci  case mediump_ivec3_sp
3031e5c31af7Sopenharmony_ci	values
3032e5c31af7Sopenharmony_ci	{
3033e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3034e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -4) | ivec2(-32, -51) | ivec2(0, 0) ];
3035e5c31af7Sopenharmony_ci	}
3036e5c31af7Sopenharmony_ci
3037e5c31af7Sopenharmony_ci	both ""
3038e5c31af7Sopenharmony_ci		precision mediump float;
3039e5c31af7Sopenharmony_ci
3040e5c31af7Sopenharmony_ci		${DECLARATIONS}
3041e5c31af7Sopenharmony_ci
3042e5c31af7Sopenharmony_ci		void main()
3043e5c31af7Sopenharmony_ci		{
3044e5c31af7Sopenharmony_ci			${SETUP}
3045e5c31af7Sopenharmony_ci			out0 = in0.sp;
3046e5c31af7Sopenharmony_ci			${OUTPUT}
3047e5c31af7Sopenharmony_ci		}
3048e5c31af7Sopenharmony_ci	""
3049e5c31af7Sopenharmony_ci  end
3050e5c31af7Sopenharmony_ci
3051e5c31af7Sopenharmony_ci  case mediump_ivec3_pp
3052e5c31af7Sopenharmony_ci	values
3053e5c31af7Sopenharmony_ci	{
3054e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3055e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-4, -4) | ivec2(-51, -51) | ivec2(0, 0) ];
3056e5c31af7Sopenharmony_ci	}
3057e5c31af7Sopenharmony_ci
3058e5c31af7Sopenharmony_ci	both ""
3059e5c31af7Sopenharmony_ci		precision mediump float;
3060e5c31af7Sopenharmony_ci
3061e5c31af7Sopenharmony_ci		${DECLARATIONS}
3062e5c31af7Sopenharmony_ci
3063e5c31af7Sopenharmony_ci		void main()
3064e5c31af7Sopenharmony_ci		{
3065e5c31af7Sopenharmony_ci			${SETUP}
3066e5c31af7Sopenharmony_ci			out0 = in0.pp;
3067e5c31af7Sopenharmony_ci			${OUTPUT}
3068e5c31af7Sopenharmony_ci		}
3069e5c31af7Sopenharmony_ci	""
3070e5c31af7Sopenharmony_ci  end
3071e5c31af7Sopenharmony_ci
3072e5c31af7Sopenharmony_ci  case mediump_ivec3_stp
3073e5c31af7Sopenharmony_ci	values
3074e5c31af7Sopenharmony_ci	{
3075e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3076e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3077e5c31af7Sopenharmony_ci	}
3078e5c31af7Sopenharmony_ci
3079e5c31af7Sopenharmony_ci	both ""
3080e5c31af7Sopenharmony_ci		precision mediump float;
3081e5c31af7Sopenharmony_ci
3082e5c31af7Sopenharmony_ci		${DECLARATIONS}
3083e5c31af7Sopenharmony_ci
3084e5c31af7Sopenharmony_ci		void main()
3085e5c31af7Sopenharmony_ci		{
3086e5c31af7Sopenharmony_ci			${SETUP}
3087e5c31af7Sopenharmony_ci			out0 = in0.stp;
3088e5c31af7Sopenharmony_ci			${OUTPUT}
3089e5c31af7Sopenharmony_ci		}
3090e5c31af7Sopenharmony_ci	""
3091e5c31af7Sopenharmony_ci  end
3092e5c31af7Sopenharmony_ci
3093e5c31af7Sopenharmony_ci  case mediump_ivec3_pts
3094e5c31af7Sopenharmony_ci	values
3095e5c31af7Sopenharmony_ci	{
3096e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3097e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -2, 0) | ivec3(-51, 64, -32) | ivec3(0, 0, 0) ];
3098e5c31af7Sopenharmony_ci	}
3099e5c31af7Sopenharmony_ci
3100e5c31af7Sopenharmony_ci	both ""
3101e5c31af7Sopenharmony_ci		precision mediump float;
3102e5c31af7Sopenharmony_ci
3103e5c31af7Sopenharmony_ci		${DECLARATIONS}
3104e5c31af7Sopenharmony_ci
3105e5c31af7Sopenharmony_ci		void main()
3106e5c31af7Sopenharmony_ci		{
3107e5c31af7Sopenharmony_ci			${SETUP}
3108e5c31af7Sopenharmony_ci			out0 = in0.pts;
3109e5c31af7Sopenharmony_ci			${OUTPUT}
3110e5c31af7Sopenharmony_ci		}
3111e5c31af7Sopenharmony_ci	""
3112e5c31af7Sopenharmony_ci  end
3113e5c31af7Sopenharmony_ci
3114e5c31af7Sopenharmony_ci  case mediump_ivec3_sss
3115e5c31af7Sopenharmony_ci	values
3116e5c31af7Sopenharmony_ci	{
3117e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3118e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, -32, -32) | ivec3(0, 0, 0) ];
3119e5c31af7Sopenharmony_ci	}
3120e5c31af7Sopenharmony_ci
3121e5c31af7Sopenharmony_ci	both ""
3122e5c31af7Sopenharmony_ci		precision mediump float;
3123e5c31af7Sopenharmony_ci
3124e5c31af7Sopenharmony_ci		${DECLARATIONS}
3125e5c31af7Sopenharmony_ci
3126e5c31af7Sopenharmony_ci		void main()
3127e5c31af7Sopenharmony_ci		{
3128e5c31af7Sopenharmony_ci			${SETUP}
3129e5c31af7Sopenharmony_ci			out0 = in0.sss;
3130e5c31af7Sopenharmony_ci			${OUTPUT}
3131e5c31af7Sopenharmony_ci		}
3132e5c31af7Sopenharmony_ci	""
3133e5c31af7Sopenharmony_ci  end
3134e5c31af7Sopenharmony_ci
3135e5c31af7Sopenharmony_ci  case mediump_ivec3_ppp
3136e5c31af7Sopenharmony_ci	values
3137e5c31af7Sopenharmony_ci	{
3138e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3139e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -4) | ivec3(-51, -51, -51) | ivec3(0, 0, 0) ];
3140e5c31af7Sopenharmony_ci	}
3141e5c31af7Sopenharmony_ci
3142e5c31af7Sopenharmony_ci	both ""
3143e5c31af7Sopenharmony_ci		precision mediump float;
3144e5c31af7Sopenharmony_ci
3145e5c31af7Sopenharmony_ci		${DECLARATIONS}
3146e5c31af7Sopenharmony_ci
3147e5c31af7Sopenharmony_ci		void main()
3148e5c31af7Sopenharmony_ci		{
3149e5c31af7Sopenharmony_ci			${SETUP}
3150e5c31af7Sopenharmony_ci			out0 = in0.ppp;
3151e5c31af7Sopenharmony_ci			${OUTPUT}
3152e5c31af7Sopenharmony_ci		}
3153e5c31af7Sopenharmony_ci	""
3154e5c31af7Sopenharmony_ci  end
3155e5c31af7Sopenharmony_ci
3156e5c31af7Sopenharmony_ci  case mediump_ivec3_ppt
3157e5c31af7Sopenharmony_ci	values
3158e5c31af7Sopenharmony_ci	{
3159e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3160e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -2) | ivec3(-51, -51, 64) | ivec3(0, 0, 0) ];
3161e5c31af7Sopenharmony_ci	}
3162e5c31af7Sopenharmony_ci
3163e5c31af7Sopenharmony_ci	both ""
3164e5c31af7Sopenharmony_ci		precision mediump float;
3165e5c31af7Sopenharmony_ci
3166e5c31af7Sopenharmony_ci		${DECLARATIONS}
3167e5c31af7Sopenharmony_ci
3168e5c31af7Sopenharmony_ci		void main()
3169e5c31af7Sopenharmony_ci		{
3170e5c31af7Sopenharmony_ci			${SETUP}
3171e5c31af7Sopenharmony_ci			out0 = in0.ppt;
3172e5c31af7Sopenharmony_ci			${OUTPUT}
3173e5c31af7Sopenharmony_ci		}
3174e5c31af7Sopenharmony_ci	""
3175e5c31af7Sopenharmony_ci  end
3176e5c31af7Sopenharmony_ci
3177e5c31af7Sopenharmony_ci  case mediump_ivec3_tst
3178e5c31af7Sopenharmony_ci	values
3179e5c31af7Sopenharmony_ci	{
3180e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3181e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
3182e5c31af7Sopenharmony_ci	}
3183e5c31af7Sopenharmony_ci
3184e5c31af7Sopenharmony_ci	both ""
3185e5c31af7Sopenharmony_ci		precision mediump float;
3186e5c31af7Sopenharmony_ci
3187e5c31af7Sopenharmony_ci		${DECLARATIONS}
3188e5c31af7Sopenharmony_ci
3189e5c31af7Sopenharmony_ci		void main()
3190e5c31af7Sopenharmony_ci		{
3191e5c31af7Sopenharmony_ci			${SETUP}
3192e5c31af7Sopenharmony_ci			out0 = in0.tst;
3193e5c31af7Sopenharmony_ci			${OUTPUT}
3194e5c31af7Sopenharmony_ci		}
3195e5c31af7Sopenharmony_ci	""
3196e5c31af7Sopenharmony_ci  end
3197e5c31af7Sopenharmony_ci
3198e5c31af7Sopenharmony_ci  case mediump_ivec3_sps
3199e5c31af7Sopenharmony_ci	values
3200e5c31af7Sopenharmony_ci	{
3201e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3202e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -4, 0) | ivec3(-32, -51, -32) | ivec3(0, 0, 0) ];
3203e5c31af7Sopenharmony_ci	}
3204e5c31af7Sopenharmony_ci
3205e5c31af7Sopenharmony_ci	both ""
3206e5c31af7Sopenharmony_ci		precision mediump float;
3207e5c31af7Sopenharmony_ci
3208e5c31af7Sopenharmony_ci		${DECLARATIONS}
3209e5c31af7Sopenharmony_ci
3210e5c31af7Sopenharmony_ci		void main()
3211e5c31af7Sopenharmony_ci		{
3212e5c31af7Sopenharmony_ci			${SETUP}
3213e5c31af7Sopenharmony_ci			out0 = in0.sps;
3214e5c31af7Sopenharmony_ci			${OUTPUT}
3215e5c31af7Sopenharmony_ci		}
3216e5c31af7Sopenharmony_ci	""
3217e5c31af7Sopenharmony_ci  end
3218e5c31af7Sopenharmony_ci
3219e5c31af7Sopenharmony_ci  case mediump_ivec3_stts
3220e5c31af7Sopenharmony_ci	values
3221e5c31af7Sopenharmony_ci	{
3222e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3223e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -2, 0) | ivec4(-32, 64, 64, -32) | ivec4(0, 0, 0, 0) ];
3224e5c31af7Sopenharmony_ci	}
3225e5c31af7Sopenharmony_ci
3226e5c31af7Sopenharmony_ci	both ""
3227e5c31af7Sopenharmony_ci		precision mediump float;
3228e5c31af7Sopenharmony_ci
3229e5c31af7Sopenharmony_ci		${DECLARATIONS}
3230e5c31af7Sopenharmony_ci
3231e5c31af7Sopenharmony_ci		void main()
3232e5c31af7Sopenharmony_ci		{
3233e5c31af7Sopenharmony_ci			${SETUP}
3234e5c31af7Sopenharmony_ci			out0 = in0.stts;
3235e5c31af7Sopenharmony_ci			${OUTPUT}
3236e5c31af7Sopenharmony_ci		}
3237e5c31af7Sopenharmony_ci	""
3238e5c31af7Sopenharmony_ci  end
3239e5c31af7Sopenharmony_ci
3240e5c31af7Sopenharmony_ci  case mediump_ivec3_pppp
3241e5c31af7Sopenharmony_ci	values
3242e5c31af7Sopenharmony_ci	{
3243e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3244e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, -4, -4) | ivec4(-51, -51, -51, -51) | ivec4(0, 0, 0, 0) ];
3245e5c31af7Sopenharmony_ci	}
3246e5c31af7Sopenharmony_ci
3247e5c31af7Sopenharmony_ci	both ""
3248e5c31af7Sopenharmony_ci		precision mediump float;
3249e5c31af7Sopenharmony_ci
3250e5c31af7Sopenharmony_ci		${DECLARATIONS}
3251e5c31af7Sopenharmony_ci
3252e5c31af7Sopenharmony_ci		void main()
3253e5c31af7Sopenharmony_ci		{
3254e5c31af7Sopenharmony_ci			${SETUP}
3255e5c31af7Sopenharmony_ci			out0 = in0.pppp;
3256e5c31af7Sopenharmony_ci			${OUTPUT}
3257e5c31af7Sopenharmony_ci		}
3258e5c31af7Sopenharmony_ci	""
3259e5c31af7Sopenharmony_ci  end
3260e5c31af7Sopenharmony_ci
3261e5c31af7Sopenharmony_ci  case mediump_ivec3_r
3262e5c31af7Sopenharmony_ci	values
3263e5c31af7Sopenharmony_ci	{
3264e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3265e5c31af7Sopenharmony_ci		output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
3266e5c31af7Sopenharmony_ci	}
3267e5c31af7Sopenharmony_ci
3268e5c31af7Sopenharmony_ci	both ""
3269e5c31af7Sopenharmony_ci		precision mediump float;
3270e5c31af7Sopenharmony_ci
3271e5c31af7Sopenharmony_ci		${DECLARATIONS}
3272e5c31af7Sopenharmony_ci
3273e5c31af7Sopenharmony_ci		void main()
3274e5c31af7Sopenharmony_ci		{
3275e5c31af7Sopenharmony_ci			${SETUP}
3276e5c31af7Sopenharmony_ci			out0 = in0.r;
3277e5c31af7Sopenharmony_ci			${OUTPUT}
3278e5c31af7Sopenharmony_ci		}
3279e5c31af7Sopenharmony_ci	""
3280e5c31af7Sopenharmony_ci  end
3281e5c31af7Sopenharmony_ci
3282e5c31af7Sopenharmony_ci  case mediump_ivec3_b
3283e5c31af7Sopenharmony_ci	values
3284e5c31af7Sopenharmony_ci	{
3285e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3286e5c31af7Sopenharmony_ci		output int out0 = [ 0 | 1 | -4 | -51 | 0 ];
3287e5c31af7Sopenharmony_ci	}
3288e5c31af7Sopenharmony_ci
3289e5c31af7Sopenharmony_ci	both ""
3290e5c31af7Sopenharmony_ci		precision mediump float;
3291e5c31af7Sopenharmony_ci
3292e5c31af7Sopenharmony_ci		${DECLARATIONS}
3293e5c31af7Sopenharmony_ci
3294e5c31af7Sopenharmony_ci		void main()
3295e5c31af7Sopenharmony_ci		{
3296e5c31af7Sopenharmony_ci			${SETUP}
3297e5c31af7Sopenharmony_ci			out0 = in0.b;
3298e5c31af7Sopenharmony_ci			${OUTPUT}
3299e5c31af7Sopenharmony_ci		}
3300e5c31af7Sopenharmony_ci	""
3301e5c31af7Sopenharmony_ci  end
3302e5c31af7Sopenharmony_ci
3303e5c31af7Sopenharmony_ci  case mediump_ivec3_rb
3304e5c31af7Sopenharmony_ci	values
3305e5c31af7Sopenharmony_ci	{
3306e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3307e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -4) | ivec2(-32, -51) | ivec2(0, 0) ];
3308e5c31af7Sopenharmony_ci	}
3309e5c31af7Sopenharmony_ci
3310e5c31af7Sopenharmony_ci	both ""
3311e5c31af7Sopenharmony_ci		precision mediump float;
3312e5c31af7Sopenharmony_ci
3313e5c31af7Sopenharmony_ci		${DECLARATIONS}
3314e5c31af7Sopenharmony_ci
3315e5c31af7Sopenharmony_ci		void main()
3316e5c31af7Sopenharmony_ci		{
3317e5c31af7Sopenharmony_ci			${SETUP}
3318e5c31af7Sopenharmony_ci			out0 = in0.rb;
3319e5c31af7Sopenharmony_ci			${OUTPUT}
3320e5c31af7Sopenharmony_ci		}
3321e5c31af7Sopenharmony_ci	""
3322e5c31af7Sopenharmony_ci  end
3323e5c31af7Sopenharmony_ci
3324e5c31af7Sopenharmony_ci  case mediump_ivec3_bb
3325e5c31af7Sopenharmony_ci	values
3326e5c31af7Sopenharmony_ci	{
3327e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3328e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-4, -4) | ivec2(-51, -51) | ivec2(0, 0) ];
3329e5c31af7Sopenharmony_ci	}
3330e5c31af7Sopenharmony_ci
3331e5c31af7Sopenharmony_ci	both ""
3332e5c31af7Sopenharmony_ci		precision mediump float;
3333e5c31af7Sopenharmony_ci
3334e5c31af7Sopenharmony_ci		${DECLARATIONS}
3335e5c31af7Sopenharmony_ci
3336e5c31af7Sopenharmony_ci		void main()
3337e5c31af7Sopenharmony_ci		{
3338e5c31af7Sopenharmony_ci			${SETUP}
3339e5c31af7Sopenharmony_ci			out0 = in0.bb;
3340e5c31af7Sopenharmony_ci			${OUTPUT}
3341e5c31af7Sopenharmony_ci		}
3342e5c31af7Sopenharmony_ci	""
3343e5c31af7Sopenharmony_ci  end
3344e5c31af7Sopenharmony_ci
3345e5c31af7Sopenharmony_ci  case mediump_ivec3_rgb
3346e5c31af7Sopenharmony_ci	values
3347e5c31af7Sopenharmony_ci	{
3348e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3349e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3350e5c31af7Sopenharmony_ci	}
3351e5c31af7Sopenharmony_ci
3352e5c31af7Sopenharmony_ci	both ""
3353e5c31af7Sopenharmony_ci		precision mediump float;
3354e5c31af7Sopenharmony_ci
3355e5c31af7Sopenharmony_ci		${DECLARATIONS}
3356e5c31af7Sopenharmony_ci
3357e5c31af7Sopenharmony_ci		void main()
3358e5c31af7Sopenharmony_ci		{
3359e5c31af7Sopenharmony_ci			${SETUP}
3360e5c31af7Sopenharmony_ci			out0 = in0.rgb;
3361e5c31af7Sopenharmony_ci			${OUTPUT}
3362e5c31af7Sopenharmony_ci		}
3363e5c31af7Sopenharmony_ci	""
3364e5c31af7Sopenharmony_ci  end
3365e5c31af7Sopenharmony_ci
3366e5c31af7Sopenharmony_ci  case mediump_ivec3_bgr
3367e5c31af7Sopenharmony_ci	values
3368e5c31af7Sopenharmony_ci	{
3369e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3370e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -2, 0) | ivec3(-51, 64, -32) | ivec3(0, 0, 0) ];
3371e5c31af7Sopenharmony_ci	}
3372e5c31af7Sopenharmony_ci
3373e5c31af7Sopenharmony_ci	both ""
3374e5c31af7Sopenharmony_ci		precision mediump float;
3375e5c31af7Sopenharmony_ci
3376e5c31af7Sopenharmony_ci		${DECLARATIONS}
3377e5c31af7Sopenharmony_ci
3378e5c31af7Sopenharmony_ci		void main()
3379e5c31af7Sopenharmony_ci		{
3380e5c31af7Sopenharmony_ci			${SETUP}
3381e5c31af7Sopenharmony_ci			out0 = in0.bgr;
3382e5c31af7Sopenharmony_ci			${OUTPUT}
3383e5c31af7Sopenharmony_ci		}
3384e5c31af7Sopenharmony_ci	""
3385e5c31af7Sopenharmony_ci  end
3386e5c31af7Sopenharmony_ci
3387e5c31af7Sopenharmony_ci  case mediump_ivec3_rrr
3388e5c31af7Sopenharmony_ci	values
3389e5c31af7Sopenharmony_ci	{
3390e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3391e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, -32, -32) | ivec3(0, 0, 0) ];
3392e5c31af7Sopenharmony_ci	}
3393e5c31af7Sopenharmony_ci
3394e5c31af7Sopenharmony_ci	both ""
3395e5c31af7Sopenharmony_ci		precision mediump float;
3396e5c31af7Sopenharmony_ci
3397e5c31af7Sopenharmony_ci		${DECLARATIONS}
3398e5c31af7Sopenharmony_ci
3399e5c31af7Sopenharmony_ci		void main()
3400e5c31af7Sopenharmony_ci		{
3401e5c31af7Sopenharmony_ci			${SETUP}
3402e5c31af7Sopenharmony_ci			out0 = in0.rrr;
3403e5c31af7Sopenharmony_ci			${OUTPUT}
3404e5c31af7Sopenharmony_ci		}
3405e5c31af7Sopenharmony_ci	""
3406e5c31af7Sopenharmony_ci  end
3407e5c31af7Sopenharmony_ci
3408e5c31af7Sopenharmony_ci  case mediump_ivec3_bbb
3409e5c31af7Sopenharmony_ci	values
3410e5c31af7Sopenharmony_ci	{
3411e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3412e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -4) | ivec3(-51, -51, -51) | ivec3(0, 0, 0) ];
3413e5c31af7Sopenharmony_ci	}
3414e5c31af7Sopenharmony_ci
3415e5c31af7Sopenharmony_ci	both ""
3416e5c31af7Sopenharmony_ci		precision mediump float;
3417e5c31af7Sopenharmony_ci
3418e5c31af7Sopenharmony_ci		${DECLARATIONS}
3419e5c31af7Sopenharmony_ci
3420e5c31af7Sopenharmony_ci		void main()
3421e5c31af7Sopenharmony_ci		{
3422e5c31af7Sopenharmony_ci			${SETUP}
3423e5c31af7Sopenharmony_ci			out0 = in0.bbb;
3424e5c31af7Sopenharmony_ci			${OUTPUT}
3425e5c31af7Sopenharmony_ci		}
3426e5c31af7Sopenharmony_ci	""
3427e5c31af7Sopenharmony_ci  end
3428e5c31af7Sopenharmony_ci
3429e5c31af7Sopenharmony_ci  case mediump_ivec3_bbg
3430e5c31af7Sopenharmony_ci	values
3431e5c31af7Sopenharmony_ci	{
3432e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3433e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -2) | ivec3(-51, -51, 64) | ivec3(0, 0, 0) ];
3434e5c31af7Sopenharmony_ci	}
3435e5c31af7Sopenharmony_ci
3436e5c31af7Sopenharmony_ci	both ""
3437e5c31af7Sopenharmony_ci		precision mediump float;
3438e5c31af7Sopenharmony_ci
3439e5c31af7Sopenharmony_ci		${DECLARATIONS}
3440e5c31af7Sopenharmony_ci
3441e5c31af7Sopenharmony_ci		void main()
3442e5c31af7Sopenharmony_ci		{
3443e5c31af7Sopenharmony_ci			${SETUP}
3444e5c31af7Sopenharmony_ci			out0 = in0.bbg;
3445e5c31af7Sopenharmony_ci			${OUTPUT}
3446e5c31af7Sopenharmony_ci		}
3447e5c31af7Sopenharmony_ci	""
3448e5c31af7Sopenharmony_ci  end
3449e5c31af7Sopenharmony_ci
3450e5c31af7Sopenharmony_ci  case mediump_ivec3_grg
3451e5c31af7Sopenharmony_ci	values
3452e5c31af7Sopenharmony_ci	{
3453e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3454e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
3455e5c31af7Sopenharmony_ci	}
3456e5c31af7Sopenharmony_ci
3457e5c31af7Sopenharmony_ci	both ""
3458e5c31af7Sopenharmony_ci		precision mediump float;
3459e5c31af7Sopenharmony_ci
3460e5c31af7Sopenharmony_ci		${DECLARATIONS}
3461e5c31af7Sopenharmony_ci
3462e5c31af7Sopenharmony_ci		void main()
3463e5c31af7Sopenharmony_ci		{
3464e5c31af7Sopenharmony_ci			${SETUP}
3465e5c31af7Sopenharmony_ci			out0 = in0.grg;
3466e5c31af7Sopenharmony_ci			${OUTPUT}
3467e5c31af7Sopenharmony_ci		}
3468e5c31af7Sopenharmony_ci	""
3469e5c31af7Sopenharmony_ci  end
3470e5c31af7Sopenharmony_ci
3471e5c31af7Sopenharmony_ci  case mediump_ivec3_rbr
3472e5c31af7Sopenharmony_ci	values
3473e5c31af7Sopenharmony_ci	{
3474e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3475e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -4, 0) | ivec3(-32, -51, -32) | ivec3(0, 0, 0) ];
3476e5c31af7Sopenharmony_ci	}
3477e5c31af7Sopenharmony_ci
3478e5c31af7Sopenharmony_ci	both ""
3479e5c31af7Sopenharmony_ci		precision mediump float;
3480e5c31af7Sopenharmony_ci
3481e5c31af7Sopenharmony_ci		${DECLARATIONS}
3482e5c31af7Sopenharmony_ci
3483e5c31af7Sopenharmony_ci		void main()
3484e5c31af7Sopenharmony_ci		{
3485e5c31af7Sopenharmony_ci			${SETUP}
3486e5c31af7Sopenharmony_ci			out0 = in0.rbr;
3487e5c31af7Sopenharmony_ci			${OUTPUT}
3488e5c31af7Sopenharmony_ci		}
3489e5c31af7Sopenharmony_ci	""
3490e5c31af7Sopenharmony_ci  end
3491e5c31af7Sopenharmony_ci
3492e5c31af7Sopenharmony_ci  case mediump_ivec3_rggr
3493e5c31af7Sopenharmony_ci	values
3494e5c31af7Sopenharmony_ci	{
3495e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3496e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -2, 0) | ivec4(-32, 64, 64, -32) | ivec4(0, 0, 0, 0) ];
3497e5c31af7Sopenharmony_ci	}
3498e5c31af7Sopenharmony_ci
3499e5c31af7Sopenharmony_ci	both ""
3500e5c31af7Sopenharmony_ci		precision mediump float;
3501e5c31af7Sopenharmony_ci
3502e5c31af7Sopenharmony_ci		${DECLARATIONS}
3503e5c31af7Sopenharmony_ci
3504e5c31af7Sopenharmony_ci		void main()
3505e5c31af7Sopenharmony_ci		{
3506e5c31af7Sopenharmony_ci			${SETUP}
3507e5c31af7Sopenharmony_ci			out0 = in0.rggr;
3508e5c31af7Sopenharmony_ci			${OUTPUT}
3509e5c31af7Sopenharmony_ci		}
3510e5c31af7Sopenharmony_ci	""
3511e5c31af7Sopenharmony_ci  end
3512e5c31af7Sopenharmony_ci
3513e5c31af7Sopenharmony_ci  case mediump_ivec3_bbbb
3514e5c31af7Sopenharmony_ci	values
3515e5c31af7Sopenharmony_ci	{
3516e5c31af7Sopenharmony_ci		input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3517e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, -4, -4) | ivec4(-51, -51, -51, -51) | ivec4(0, 0, 0, 0) ];
3518e5c31af7Sopenharmony_ci	}
3519e5c31af7Sopenharmony_ci
3520e5c31af7Sopenharmony_ci	both ""
3521e5c31af7Sopenharmony_ci		precision mediump float;
3522e5c31af7Sopenharmony_ci
3523e5c31af7Sopenharmony_ci		${DECLARATIONS}
3524e5c31af7Sopenharmony_ci
3525e5c31af7Sopenharmony_ci		void main()
3526e5c31af7Sopenharmony_ci		{
3527e5c31af7Sopenharmony_ci			${SETUP}
3528e5c31af7Sopenharmony_ci			out0 = in0.bbbb;
3529e5c31af7Sopenharmony_ci			${OUTPUT}
3530e5c31af7Sopenharmony_ci		}
3531e5c31af7Sopenharmony_ci	""
3532e5c31af7Sopenharmony_ci  end
3533e5c31af7Sopenharmony_ci
3534e5c31af7Sopenharmony_ci  case mediump_ivec4_x
3535e5c31af7Sopenharmony_ci	values
3536e5c31af7Sopenharmony_ci	{
3537e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3538e5c31af7Sopenharmony_ci		output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
3539e5c31af7Sopenharmony_ci	}
3540e5c31af7Sopenharmony_ci
3541e5c31af7Sopenharmony_ci	both ""
3542e5c31af7Sopenharmony_ci		precision mediump float;
3543e5c31af7Sopenharmony_ci
3544e5c31af7Sopenharmony_ci		${DECLARATIONS}
3545e5c31af7Sopenharmony_ci
3546e5c31af7Sopenharmony_ci		void main()
3547e5c31af7Sopenharmony_ci		{
3548e5c31af7Sopenharmony_ci			${SETUP}
3549e5c31af7Sopenharmony_ci			out0 = in0.x;
3550e5c31af7Sopenharmony_ci			${OUTPUT}
3551e5c31af7Sopenharmony_ci		}
3552e5c31af7Sopenharmony_ci	""
3553e5c31af7Sopenharmony_ci  end
3554e5c31af7Sopenharmony_ci
3555e5c31af7Sopenharmony_ci  case mediump_ivec4_w
3556e5c31af7Sopenharmony_ci	values
3557e5c31af7Sopenharmony_ci	{
3558e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3559e5c31af7Sopenharmony_ci		output int out0 = [ 0 | 1 | 9 | 24 | 0 ];
3560e5c31af7Sopenharmony_ci	}
3561e5c31af7Sopenharmony_ci
3562e5c31af7Sopenharmony_ci	both ""
3563e5c31af7Sopenharmony_ci		precision mediump float;
3564e5c31af7Sopenharmony_ci
3565e5c31af7Sopenharmony_ci		${DECLARATIONS}
3566e5c31af7Sopenharmony_ci
3567e5c31af7Sopenharmony_ci		void main()
3568e5c31af7Sopenharmony_ci		{
3569e5c31af7Sopenharmony_ci			${SETUP}
3570e5c31af7Sopenharmony_ci			out0 = in0.w;
3571e5c31af7Sopenharmony_ci			${OUTPUT}
3572e5c31af7Sopenharmony_ci		}
3573e5c31af7Sopenharmony_ci	""
3574e5c31af7Sopenharmony_ci  end
3575e5c31af7Sopenharmony_ci
3576e5c31af7Sopenharmony_ci  case mediump_ivec4_wx
3577e5c31af7Sopenharmony_ci	values
3578e5c31af7Sopenharmony_ci	{
3579e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3580e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(9, 0) | ivec2(24, -32) | ivec2(0, 0) ];
3581e5c31af7Sopenharmony_ci	}
3582e5c31af7Sopenharmony_ci
3583e5c31af7Sopenharmony_ci	both ""
3584e5c31af7Sopenharmony_ci		precision mediump float;
3585e5c31af7Sopenharmony_ci
3586e5c31af7Sopenharmony_ci		${DECLARATIONS}
3587e5c31af7Sopenharmony_ci
3588e5c31af7Sopenharmony_ci		void main()
3589e5c31af7Sopenharmony_ci		{
3590e5c31af7Sopenharmony_ci			${SETUP}
3591e5c31af7Sopenharmony_ci			out0 = in0.wx;
3592e5c31af7Sopenharmony_ci			${OUTPUT}
3593e5c31af7Sopenharmony_ci		}
3594e5c31af7Sopenharmony_ci	""
3595e5c31af7Sopenharmony_ci  end
3596e5c31af7Sopenharmony_ci
3597e5c31af7Sopenharmony_ci  case mediump_ivec4_wz
3598e5c31af7Sopenharmony_ci	values
3599e5c31af7Sopenharmony_ci	{
3600e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3601e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(9, -4) | ivec2(24, -51) | ivec2(0, 0) ];
3602e5c31af7Sopenharmony_ci	}
3603e5c31af7Sopenharmony_ci
3604e5c31af7Sopenharmony_ci	both ""
3605e5c31af7Sopenharmony_ci		precision mediump float;
3606e5c31af7Sopenharmony_ci
3607e5c31af7Sopenharmony_ci		${DECLARATIONS}
3608e5c31af7Sopenharmony_ci
3609e5c31af7Sopenharmony_ci		void main()
3610e5c31af7Sopenharmony_ci		{
3611e5c31af7Sopenharmony_ci			${SETUP}
3612e5c31af7Sopenharmony_ci			out0 = in0.wz;
3613e5c31af7Sopenharmony_ci			${OUTPUT}
3614e5c31af7Sopenharmony_ci		}
3615e5c31af7Sopenharmony_ci	""
3616e5c31af7Sopenharmony_ci  end
3617e5c31af7Sopenharmony_ci
3618e5c31af7Sopenharmony_ci  case mediump_ivec4_www
3619e5c31af7Sopenharmony_ci	values
3620e5c31af7Sopenharmony_ci	{
3621e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3622e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(9, 9, 9) | ivec3(24, 24, 24) | ivec3(0, 0, 0) ];
3623e5c31af7Sopenharmony_ci	}
3624e5c31af7Sopenharmony_ci
3625e5c31af7Sopenharmony_ci	both ""
3626e5c31af7Sopenharmony_ci		precision mediump float;
3627e5c31af7Sopenharmony_ci
3628e5c31af7Sopenharmony_ci		${DECLARATIONS}
3629e5c31af7Sopenharmony_ci
3630e5c31af7Sopenharmony_ci		void main()
3631e5c31af7Sopenharmony_ci		{
3632e5c31af7Sopenharmony_ci			${SETUP}
3633e5c31af7Sopenharmony_ci			out0 = in0.www;
3634e5c31af7Sopenharmony_ci			${OUTPUT}
3635e5c31af7Sopenharmony_ci		}
3636e5c31af7Sopenharmony_ci	""
3637e5c31af7Sopenharmony_ci  end
3638e5c31af7Sopenharmony_ci
3639e5c31af7Sopenharmony_ci  case mediump_ivec4_yyw
3640e5c31af7Sopenharmony_ci	values
3641e5c31af7Sopenharmony_ci	{
3642e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3643e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, -2, 9) | ivec3(64, 64, 24) | ivec3(0, 0, 0) ];
3644e5c31af7Sopenharmony_ci	}
3645e5c31af7Sopenharmony_ci
3646e5c31af7Sopenharmony_ci	both ""
3647e5c31af7Sopenharmony_ci		precision mediump float;
3648e5c31af7Sopenharmony_ci
3649e5c31af7Sopenharmony_ci		${DECLARATIONS}
3650e5c31af7Sopenharmony_ci
3651e5c31af7Sopenharmony_ci		void main()
3652e5c31af7Sopenharmony_ci		{
3653e5c31af7Sopenharmony_ci			${SETUP}
3654e5c31af7Sopenharmony_ci			out0 = in0.yyw;
3655e5c31af7Sopenharmony_ci			${OUTPUT}
3656e5c31af7Sopenharmony_ci		}
3657e5c31af7Sopenharmony_ci	""
3658e5c31af7Sopenharmony_ci  end
3659e5c31af7Sopenharmony_ci
3660e5c31af7Sopenharmony_ci  case mediump_ivec4_wzy
3661e5c31af7Sopenharmony_ci	values
3662e5c31af7Sopenharmony_ci	{
3663e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3664e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(9, -4, -2) | ivec3(24, -51, 64) | ivec3(0, 0, 0) ];
3665e5c31af7Sopenharmony_ci	}
3666e5c31af7Sopenharmony_ci
3667e5c31af7Sopenharmony_ci	both ""
3668e5c31af7Sopenharmony_ci		precision mediump float;
3669e5c31af7Sopenharmony_ci
3670e5c31af7Sopenharmony_ci		${DECLARATIONS}
3671e5c31af7Sopenharmony_ci
3672e5c31af7Sopenharmony_ci		void main()
3673e5c31af7Sopenharmony_ci		{
3674e5c31af7Sopenharmony_ci			${SETUP}
3675e5c31af7Sopenharmony_ci			out0 = in0.wzy;
3676e5c31af7Sopenharmony_ci			${OUTPUT}
3677e5c31af7Sopenharmony_ci		}
3678e5c31af7Sopenharmony_ci	""
3679e5c31af7Sopenharmony_ci  end
3680e5c31af7Sopenharmony_ci
3681e5c31af7Sopenharmony_ci  case mediump_ivec4_xyzw
3682e5c31af7Sopenharmony_ci	values
3683e5c31af7Sopenharmony_ci	{
3684e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3685e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3686e5c31af7Sopenharmony_ci	}
3687e5c31af7Sopenharmony_ci
3688e5c31af7Sopenharmony_ci	both ""
3689e5c31af7Sopenharmony_ci		precision mediump float;
3690e5c31af7Sopenharmony_ci
3691e5c31af7Sopenharmony_ci		${DECLARATIONS}
3692e5c31af7Sopenharmony_ci
3693e5c31af7Sopenharmony_ci		void main()
3694e5c31af7Sopenharmony_ci		{
3695e5c31af7Sopenharmony_ci			${SETUP}
3696e5c31af7Sopenharmony_ci			out0 = in0.xyzw;
3697e5c31af7Sopenharmony_ci			${OUTPUT}
3698e5c31af7Sopenharmony_ci		}
3699e5c31af7Sopenharmony_ci	""
3700e5c31af7Sopenharmony_ci  end
3701e5c31af7Sopenharmony_ci
3702e5c31af7Sopenharmony_ci  case mediump_ivec4_wzyx
3703e5c31af7Sopenharmony_ci	values
3704e5c31af7Sopenharmony_ci	{
3705e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3706e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, -4, -2, 0) | ivec4(24, -51, 64, -32) | ivec4(0, 0, 0, 0) ];
3707e5c31af7Sopenharmony_ci	}
3708e5c31af7Sopenharmony_ci
3709e5c31af7Sopenharmony_ci	both ""
3710e5c31af7Sopenharmony_ci		precision mediump float;
3711e5c31af7Sopenharmony_ci
3712e5c31af7Sopenharmony_ci		${DECLARATIONS}
3713e5c31af7Sopenharmony_ci
3714e5c31af7Sopenharmony_ci		void main()
3715e5c31af7Sopenharmony_ci		{
3716e5c31af7Sopenharmony_ci			${SETUP}
3717e5c31af7Sopenharmony_ci			out0 = in0.wzyx;
3718e5c31af7Sopenharmony_ci			${OUTPUT}
3719e5c31af7Sopenharmony_ci		}
3720e5c31af7Sopenharmony_ci	""
3721e5c31af7Sopenharmony_ci  end
3722e5c31af7Sopenharmony_ci
3723e5c31af7Sopenharmony_ci  case mediump_ivec4_xxxx
3724e5c31af7Sopenharmony_ci	values
3725e5c31af7Sopenharmony_ci	{
3726e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3727e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(-32, -32, -32, -32) | ivec4(0, 0, 0, 0) ];
3728e5c31af7Sopenharmony_ci	}
3729e5c31af7Sopenharmony_ci
3730e5c31af7Sopenharmony_ci	both ""
3731e5c31af7Sopenharmony_ci		precision mediump float;
3732e5c31af7Sopenharmony_ci
3733e5c31af7Sopenharmony_ci		${DECLARATIONS}
3734e5c31af7Sopenharmony_ci
3735e5c31af7Sopenharmony_ci		void main()
3736e5c31af7Sopenharmony_ci		{
3737e5c31af7Sopenharmony_ci			${SETUP}
3738e5c31af7Sopenharmony_ci			out0 = in0.xxxx;
3739e5c31af7Sopenharmony_ci			${OUTPUT}
3740e5c31af7Sopenharmony_ci		}
3741e5c31af7Sopenharmony_ci	""
3742e5c31af7Sopenharmony_ci  end
3743e5c31af7Sopenharmony_ci
3744e5c31af7Sopenharmony_ci  case mediump_ivec4_yyyy
3745e5c31af7Sopenharmony_ci	values
3746e5c31af7Sopenharmony_ci	{
3747e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3748e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-2, -2, -2, -2) | ivec4(64, 64, 64, 64) | ivec4(0, 0, 0, 0) ];
3749e5c31af7Sopenharmony_ci	}
3750e5c31af7Sopenharmony_ci
3751e5c31af7Sopenharmony_ci	both ""
3752e5c31af7Sopenharmony_ci		precision mediump float;
3753e5c31af7Sopenharmony_ci
3754e5c31af7Sopenharmony_ci		${DECLARATIONS}
3755e5c31af7Sopenharmony_ci
3756e5c31af7Sopenharmony_ci		void main()
3757e5c31af7Sopenharmony_ci		{
3758e5c31af7Sopenharmony_ci			${SETUP}
3759e5c31af7Sopenharmony_ci			out0 = in0.yyyy;
3760e5c31af7Sopenharmony_ci			${OUTPUT}
3761e5c31af7Sopenharmony_ci		}
3762e5c31af7Sopenharmony_ci	""
3763e5c31af7Sopenharmony_ci  end
3764e5c31af7Sopenharmony_ci
3765e5c31af7Sopenharmony_ci  case mediump_ivec4_wwww
3766e5c31af7Sopenharmony_ci	values
3767e5c31af7Sopenharmony_ci	{
3768e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3769e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, 9) | ivec4(24, 24, 24, 24) | ivec4(0, 0, 0, 0) ];
3770e5c31af7Sopenharmony_ci	}
3771e5c31af7Sopenharmony_ci
3772e5c31af7Sopenharmony_ci	both ""
3773e5c31af7Sopenharmony_ci		precision mediump float;
3774e5c31af7Sopenharmony_ci
3775e5c31af7Sopenharmony_ci		${DECLARATIONS}
3776e5c31af7Sopenharmony_ci
3777e5c31af7Sopenharmony_ci		void main()
3778e5c31af7Sopenharmony_ci		{
3779e5c31af7Sopenharmony_ci			${SETUP}
3780e5c31af7Sopenharmony_ci			out0 = in0.wwww;
3781e5c31af7Sopenharmony_ci			${OUTPUT}
3782e5c31af7Sopenharmony_ci		}
3783e5c31af7Sopenharmony_ci	""
3784e5c31af7Sopenharmony_ci  end
3785e5c31af7Sopenharmony_ci
3786e5c31af7Sopenharmony_ci  case mediump_ivec4_wzzw
3787e5c31af7Sopenharmony_ci	values
3788e5c31af7Sopenharmony_ci	{
3789e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3790e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, -4, -4, 9) | ivec4(24, -51, -51, 24) | ivec4(0, 0, 0, 0) ];
3791e5c31af7Sopenharmony_ci	}
3792e5c31af7Sopenharmony_ci
3793e5c31af7Sopenharmony_ci	both ""
3794e5c31af7Sopenharmony_ci		precision mediump float;
3795e5c31af7Sopenharmony_ci
3796e5c31af7Sopenharmony_ci		${DECLARATIONS}
3797e5c31af7Sopenharmony_ci
3798e5c31af7Sopenharmony_ci		void main()
3799e5c31af7Sopenharmony_ci		{
3800e5c31af7Sopenharmony_ci			${SETUP}
3801e5c31af7Sopenharmony_ci			out0 = in0.wzzw;
3802e5c31af7Sopenharmony_ci			${OUTPUT}
3803e5c31af7Sopenharmony_ci		}
3804e5c31af7Sopenharmony_ci	""
3805e5c31af7Sopenharmony_ci  end
3806e5c31af7Sopenharmony_ci
3807e5c31af7Sopenharmony_ci  case mediump_ivec4_wwwy
3808e5c31af7Sopenharmony_ci	values
3809e5c31af7Sopenharmony_ci	{
3810e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3811e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, -2) | ivec4(24, 24, 24, 64) | ivec4(0, 0, 0, 0) ];
3812e5c31af7Sopenharmony_ci	}
3813e5c31af7Sopenharmony_ci
3814e5c31af7Sopenharmony_ci	both ""
3815e5c31af7Sopenharmony_ci		precision mediump float;
3816e5c31af7Sopenharmony_ci
3817e5c31af7Sopenharmony_ci		${DECLARATIONS}
3818e5c31af7Sopenharmony_ci
3819e5c31af7Sopenharmony_ci		void main()
3820e5c31af7Sopenharmony_ci		{
3821e5c31af7Sopenharmony_ci			${SETUP}
3822e5c31af7Sopenharmony_ci			out0 = in0.wwwy;
3823e5c31af7Sopenharmony_ci			${OUTPUT}
3824e5c31af7Sopenharmony_ci		}
3825e5c31af7Sopenharmony_ci	""
3826e5c31af7Sopenharmony_ci  end
3827e5c31af7Sopenharmony_ci
3828e5c31af7Sopenharmony_ci  case mediump_ivec4_xyxx
3829e5c31af7Sopenharmony_ci	values
3830e5c31af7Sopenharmony_ci	{
3831e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3832e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, -32) | ivec4(0, 0, 0, 0) ];
3833e5c31af7Sopenharmony_ci	}
3834e5c31af7Sopenharmony_ci
3835e5c31af7Sopenharmony_ci	both ""
3836e5c31af7Sopenharmony_ci		precision mediump float;
3837e5c31af7Sopenharmony_ci
3838e5c31af7Sopenharmony_ci		${DECLARATIONS}
3839e5c31af7Sopenharmony_ci
3840e5c31af7Sopenharmony_ci		void main()
3841e5c31af7Sopenharmony_ci		{
3842e5c31af7Sopenharmony_ci			${SETUP}
3843e5c31af7Sopenharmony_ci			out0 = in0.xyxx;
3844e5c31af7Sopenharmony_ci			${OUTPUT}
3845e5c31af7Sopenharmony_ci		}
3846e5c31af7Sopenharmony_ci	""
3847e5c31af7Sopenharmony_ci  end
3848e5c31af7Sopenharmony_ci
3849e5c31af7Sopenharmony_ci  case mediump_ivec4_zzwz
3850e5c31af7Sopenharmony_ci	values
3851e5c31af7Sopenharmony_ci	{
3852e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3853e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, 9, -4) | ivec4(-51, -51, 24, -51) | ivec4(0, 0, 0, 0) ];
3854e5c31af7Sopenharmony_ci	}
3855e5c31af7Sopenharmony_ci
3856e5c31af7Sopenharmony_ci	both ""
3857e5c31af7Sopenharmony_ci		precision mediump float;
3858e5c31af7Sopenharmony_ci
3859e5c31af7Sopenharmony_ci		${DECLARATIONS}
3860e5c31af7Sopenharmony_ci
3861e5c31af7Sopenharmony_ci		void main()
3862e5c31af7Sopenharmony_ci		{
3863e5c31af7Sopenharmony_ci			${SETUP}
3864e5c31af7Sopenharmony_ci			out0 = in0.zzwz;
3865e5c31af7Sopenharmony_ci			${OUTPUT}
3866e5c31af7Sopenharmony_ci		}
3867e5c31af7Sopenharmony_ci	""
3868e5c31af7Sopenharmony_ci  end
3869e5c31af7Sopenharmony_ci
3870e5c31af7Sopenharmony_ci  case mediump_ivec4_s
3871e5c31af7Sopenharmony_ci	values
3872e5c31af7Sopenharmony_ci	{
3873e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3874e5c31af7Sopenharmony_ci		output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
3875e5c31af7Sopenharmony_ci	}
3876e5c31af7Sopenharmony_ci
3877e5c31af7Sopenharmony_ci	both ""
3878e5c31af7Sopenharmony_ci		precision mediump float;
3879e5c31af7Sopenharmony_ci
3880e5c31af7Sopenharmony_ci		${DECLARATIONS}
3881e5c31af7Sopenharmony_ci
3882e5c31af7Sopenharmony_ci		void main()
3883e5c31af7Sopenharmony_ci		{
3884e5c31af7Sopenharmony_ci			${SETUP}
3885e5c31af7Sopenharmony_ci			out0 = in0.s;
3886e5c31af7Sopenharmony_ci			${OUTPUT}
3887e5c31af7Sopenharmony_ci		}
3888e5c31af7Sopenharmony_ci	""
3889e5c31af7Sopenharmony_ci  end
3890e5c31af7Sopenharmony_ci
3891e5c31af7Sopenharmony_ci  case mediump_ivec4_q
3892e5c31af7Sopenharmony_ci	values
3893e5c31af7Sopenharmony_ci	{
3894e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3895e5c31af7Sopenharmony_ci		output int out0 = [ 0 | 1 | 9 | 24 | 0 ];
3896e5c31af7Sopenharmony_ci	}
3897e5c31af7Sopenharmony_ci
3898e5c31af7Sopenharmony_ci	both ""
3899e5c31af7Sopenharmony_ci		precision mediump float;
3900e5c31af7Sopenharmony_ci
3901e5c31af7Sopenharmony_ci		${DECLARATIONS}
3902e5c31af7Sopenharmony_ci
3903e5c31af7Sopenharmony_ci		void main()
3904e5c31af7Sopenharmony_ci		{
3905e5c31af7Sopenharmony_ci			${SETUP}
3906e5c31af7Sopenharmony_ci			out0 = in0.q;
3907e5c31af7Sopenharmony_ci			${OUTPUT}
3908e5c31af7Sopenharmony_ci		}
3909e5c31af7Sopenharmony_ci	""
3910e5c31af7Sopenharmony_ci  end
3911e5c31af7Sopenharmony_ci
3912e5c31af7Sopenharmony_ci  case mediump_ivec4_qs
3913e5c31af7Sopenharmony_ci	values
3914e5c31af7Sopenharmony_ci	{
3915e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3916e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(9, 0) | ivec2(24, -32) | ivec2(0, 0) ];
3917e5c31af7Sopenharmony_ci	}
3918e5c31af7Sopenharmony_ci
3919e5c31af7Sopenharmony_ci	both ""
3920e5c31af7Sopenharmony_ci		precision mediump float;
3921e5c31af7Sopenharmony_ci
3922e5c31af7Sopenharmony_ci		${DECLARATIONS}
3923e5c31af7Sopenharmony_ci
3924e5c31af7Sopenharmony_ci		void main()
3925e5c31af7Sopenharmony_ci		{
3926e5c31af7Sopenharmony_ci			${SETUP}
3927e5c31af7Sopenharmony_ci			out0 = in0.qs;
3928e5c31af7Sopenharmony_ci			${OUTPUT}
3929e5c31af7Sopenharmony_ci		}
3930e5c31af7Sopenharmony_ci	""
3931e5c31af7Sopenharmony_ci  end
3932e5c31af7Sopenharmony_ci
3933e5c31af7Sopenharmony_ci  case mediump_ivec4_qp
3934e5c31af7Sopenharmony_ci	values
3935e5c31af7Sopenharmony_ci	{
3936e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3937e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(9, -4) | ivec2(24, -51) | ivec2(0, 0) ];
3938e5c31af7Sopenharmony_ci	}
3939e5c31af7Sopenharmony_ci
3940e5c31af7Sopenharmony_ci	both ""
3941e5c31af7Sopenharmony_ci		precision mediump float;
3942e5c31af7Sopenharmony_ci
3943e5c31af7Sopenharmony_ci		${DECLARATIONS}
3944e5c31af7Sopenharmony_ci
3945e5c31af7Sopenharmony_ci		void main()
3946e5c31af7Sopenharmony_ci		{
3947e5c31af7Sopenharmony_ci			${SETUP}
3948e5c31af7Sopenharmony_ci			out0 = in0.qp;
3949e5c31af7Sopenharmony_ci			${OUTPUT}
3950e5c31af7Sopenharmony_ci		}
3951e5c31af7Sopenharmony_ci	""
3952e5c31af7Sopenharmony_ci  end
3953e5c31af7Sopenharmony_ci
3954e5c31af7Sopenharmony_ci  case mediump_ivec4_qqq
3955e5c31af7Sopenharmony_ci	values
3956e5c31af7Sopenharmony_ci	{
3957e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3958e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(9, 9, 9) | ivec3(24, 24, 24) | ivec3(0, 0, 0) ];
3959e5c31af7Sopenharmony_ci	}
3960e5c31af7Sopenharmony_ci
3961e5c31af7Sopenharmony_ci	both ""
3962e5c31af7Sopenharmony_ci		precision mediump float;
3963e5c31af7Sopenharmony_ci
3964e5c31af7Sopenharmony_ci		${DECLARATIONS}
3965e5c31af7Sopenharmony_ci
3966e5c31af7Sopenharmony_ci		void main()
3967e5c31af7Sopenharmony_ci		{
3968e5c31af7Sopenharmony_ci			${SETUP}
3969e5c31af7Sopenharmony_ci			out0 = in0.qqq;
3970e5c31af7Sopenharmony_ci			${OUTPUT}
3971e5c31af7Sopenharmony_ci		}
3972e5c31af7Sopenharmony_ci	""
3973e5c31af7Sopenharmony_ci  end
3974e5c31af7Sopenharmony_ci
3975e5c31af7Sopenharmony_ci  case mediump_ivec4_ttq
3976e5c31af7Sopenharmony_ci	values
3977e5c31af7Sopenharmony_ci	{
3978e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3979e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, -2, 9) | ivec3(64, 64, 24) | ivec3(0, 0, 0) ];
3980e5c31af7Sopenharmony_ci	}
3981e5c31af7Sopenharmony_ci
3982e5c31af7Sopenharmony_ci	both ""
3983e5c31af7Sopenharmony_ci		precision mediump float;
3984e5c31af7Sopenharmony_ci
3985e5c31af7Sopenharmony_ci		${DECLARATIONS}
3986e5c31af7Sopenharmony_ci
3987e5c31af7Sopenharmony_ci		void main()
3988e5c31af7Sopenharmony_ci		{
3989e5c31af7Sopenharmony_ci			${SETUP}
3990e5c31af7Sopenharmony_ci			out0 = in0.ttq;
3991e5c31af7Sopenharmony_ci			${OUTPUT}
3992e5c31af7Sopenharmony_ci		}
3993e5c31af7Sopenharmony_ci	""
3994e5c31af7Sopenharmony_ci  end
3995e5c31af7Sopenharmony_ci
3996e5c31af7Sopenharmony_ci  case mediump_ivec4_qpt
3997e5c31af7Sopenharmony_ci	values
3998e5c31af7Sopenharmony_ci	{
3999e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4000e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(9, -4, -2) | ivec3(24, -51, 64) | ivec3(0, 0, 0) ];
4001e5c31af7Sopenharmony_ci	}
4002e5c31af7Sopenharmony_ci
4003e5c31af7Sopenharmony_ci	both ""
4004e5c31af7Sopenharmony_ci		precision mediump float;
4005e5c31af7Sopenharmony_ci
4006e5c31af7Sopenharmony_ci		${DECLARATIONS}
4007e5c31af7Sopenharmony_ci
4008e5c31af7Sopenharmony_ci		void main()
4009e5c31af7Sopenharmony_ci		{
4010e5c31af7Sopenharmony_ci			${SETUP}
4011e5c31af7Sopenharmony_ci			out0 = in0.qpt;
4012e5c31af7Sopenharmony_ci			${OUTPUT}
4013e5c31af7Sopenharmony_ci		}
4014e5c31af7Sopenharmony_ci	""
4015e5c31af7Sopenharmony_ci  end
4016e5c31af7Sopenharmony_ci
4017e5c31af7Sopenharmony_ci  case mediump_ivec4_stpq
4018e5c31af7Sopenharmony_ci	values
4019e5c31af7Sopenharmony_ci	{
4020e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4021e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4022e5c31af7Sopenharmony_ci	}
4023e5c31af7Sopenharmony_ci
4024e5c31af7Sopenharmony_ci	both ""
4025e5c31af7Sopenharmony_ci		precision mediump float;
4026e5c31af7Sopenharmony_ci
4027e5c31af7Sopenharmony_ci		${DECLARATIONS}
4028e5c31af7Sopenharmony_ci
4029e5c31af7Sopenharmony_ci		void main()
4030e5c31af7Sopenharmony_ci		{
4031e5c31af7Sopenharmony_ci			${SETUP}
4032e5c31af7Sopenharmony_ci			out0 = in0.stpq;
4033e5c31af7Sopenharmony_ci			${OUTPUT}
4034e5c31af7Sopenharmony_ci		}
4035e5c31af7Sopenharmony_ci	""
4036e5c31af7Sopenharmony_ci  end
4037e5c31af7Sopenharmony_ci
4038e5c31af7Sopenharmony_ci  case mediump_ivec4_qpts
4039e5c31af7Sopenharmony_ci	values
4040e5c31af7Sopenharmony_ci	{
4041e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4042e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, -4, -2, 0) | ivec4(24, -51, 64, -32) | ivec4(0, 0, 0, 0) ];
4043e5c31af7Sopenharmony_ci	}
4044e5c31af7Sopenharmony_ci
4045e5c31af7Sopenharmony_ci	both ""
4046e5c31af7Sopenharmony_ci		precision mediump float;
4047e5c31af7Sopenharmony_ci
4048e5c31af7Sopenharmony_ci		${DECLARATIONS}
4049e5c31af7Sopenharmony_ci
4050e5c31af7Sopenharmony_ci		void main()
4051e5c31af7Sopenharmony_ci		{
4052e5c31af7Sopenharmony_ci			${SETUP}
4053e5c31af7Sopenharmony_ci			out0 = in0.qpts;
4054e5c31af7Sopenharmony_ci			${OUTPUT}
4055e5c31af7Sopenharmony_ci		}
4056e5c31af7Sopenharmony_ci	""
4057e5c31af7Sopenharmony_ci  end
4058e5c31af7Sopenharmony_ci
4059e5c31af7Sopenharmony_ci  case mediump_ivec4_ssss
4060e5c31af7Sopenharmony_ci	values
4061e5c31af7Sopenharmony_ci	{
4062e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4063e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(-32, -32, -32, -32) | ivec4(0, 0, 0, 0) ];
4064e5c31af7Sopenharmony_ci	}
4065e5c31af7Sopenharmony_ci
4066e5c31af7Sopenharmony_ci	both ""
4067e5c31af7Sopenharmony_ci		precision mediump float;
4068e5c31af7Sopenharmony_ci
4069e5c31af7Sopenharmony_ci		${DECLARATIONS}
4070e5c31af7Sopenharmony_ci
4071e5c31af7Sopenharmony_ci		void main()
4072e5c31af7Sopenharmony_ci		{
4073e5c31af7Sopenharmony_ci			${SETUP}
4074e5c31af7Sopenharmony_ci			out0 = in0.ssss;
4075e5c31af7Sopenharmony_ci			${OUTPUT}
4076e5c31af7Sopenharmony_ci		}
4077e5c31af7Sopenharmony_ci	""
4078e5c31af7Sopenharmony_ci  end
4079e5c31af7Sopenharmony_ci
4080e5c31af7Sopenharmony_ci  case mediump_ivec4_tttt
4081e5c31af7Sopenharmony_ci	values
4082e5c31af7Sopenharmony_ci	{
4083e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4084e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-2, -2, -2, -2) | ivec4(64, 64, 64, 64) | ivec4(0, 0, 0, 0) ];
4085e5c31af7Sopenharmony_ci	}
4086e5c31af7Sopenharmony_ci
4087e5c31af7Sopenharmony_ci	both ""
4088e5c31af7Sopenharmony_ci		precision mediump float;
4089e5c31af7Sopenharmony_ci
4090e5c31af7Sopenharmony_ci		${DECLARATIONS}
4091e5c31af7Sopenharmony_ci
4092e5c31af7Sopenharmony_ci		void main()
4093e5c31af7Sopenharmony_ci		{
4094e5c31af7Sopenharmony_ci			${SETUP}
4095e5c31af7Sopenharmony_ci			out0 = in0.tttt;
4096e5c31af7Sopenharmony_ci			${OUTPUT}
4097e5c31af7Sopenharmony_ci		}
4098e5c31af7Sopenharmony_ci	""
4099e5c31af7Sopenharmony_ci  end
4100e5c31af7Sopenharmony_ci
4101e5c31af7Sopenharmony_ci  case mediump_ivec4_qqqq
4102e5c31af7Sopenharmony_ci	values
4103e5c31af7Sopenharmony_ci	{
4104e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4105e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, 9) | ivec4(24, 24, 24, 24) | ivec4(0, 0, 0, 0) ];
4106e5c31af7Sopenharmony_ci	}
4107e5c31af7Sopenharmony_ci
4108e5c31af7Sopenharmony_ci	both ""
4109e5c31af7Sopenharmony_ci		precision mediump float;
4110e5c31af7Sopenharmony_ci
4111e5c31af7Sopenharmony_ci		${DECLARATIONS}
4112e5c31af7Sopenharmony_ci
4113e5c31af7Sopenharmony_ci		void main()
4114e5c31af7Sopenharmony_ci		{
4115e5c31af7Sopenharmony_ci			${SETUP}
4116e5c31af7Sopenharmony_ci			out0 = in0.qqqq;
4117e5c31af7Sopenharmony_ci			${OUTPUT}
4118e5c31af7Sopenharmony_ci		}
4119e5c31af7Sopenharmony_ci	""
4120e5c31af7Sopenharmony_ci  end
4121e5c31af7Sopenharmony_ci
4122e5c31af7Sopenharmony_ci  case mediump_ivec4_qppq
4123e5c31af7Sopenharmony_ci	values
4124e5c31af7Sopenharmony_ci	{
4125e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4126e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, -4, -4, 9) | ivec4(24, -51, -51, 24) | ivec4(0, 0, 0, 0) ];
4127e5c31af7Sopenharmony_ci	}
4128e5c31af7Sopenharmony_ci
4129e5c31af7Sopenharmony_ci	both ""
4130e5c31af7Sopenharmony_ci		precision mediump float;
4131e5c31af7Sopenharmony_ci
4132e5c31af7Sopenharmony_ci		${DECLARATIONS}
4133e5c31af7Sopenharmony_ci
4134e5c31af7Sopenharmony_ci		void main()
4135e5c31af7Sopenharmony_ci		{
4136e5c31af7Sopenharmony_ci			${SETUP}
4137e5c31af7Sopenharmony_ci			out0 = in0.qppq;
4138e5c31af7Sopenharmony_ci			${OUTPUT}
4139e5c31af7Sopenharmony_ci		}
4140e5c31af7Sopenharmony_ci	""
4141e5c31af7Sopenharmony_ci  end
4142e5c31af7Sopenharmony_ci
4143e5c31af7Sopenharmony_ci  case mediump_ivec4_qqqt
4144e5c31af7Sopenharmony_ci	values
4145e5c31af7Sopenharmony_ci	{
4146e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4147e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, -2) | ivec4(24, 24, 24, 64) | ivec4(0, 0, 0, 0) ];
4148e5c31af7Sopenharmony_ci	}
4149e5c31af7Sopenharmony_ci
4150e5c31af7Sopenharmony_ci	both ""
4151e5c31af7Sopenharmony_ci		precision mediump float;
4152e5c31af7Sopenharmony_ci
4153e5c31af7Sopenharmony_ci		${DECLARATIONS}
4154e5c31af7Sopenharmony_ci
4155e5c31af7Sopenharmony_ci		void main()
4156e5c31af7Sopenharmony_ci		{
4157e5c31af7Sopenharmony_ci			${SETUP}
4158e5c31af7Sopenharmony_ci			out0 = in0.qqqt;
4159e5c31af7Sopenharmony_ci			${OUTPUT}
4160e5c31af7Sopenharmony_ci		}
4161e5c31af7Sopenharmony_ci	""
4162e5c31af7Sopenharmony_ci  end
4163e5c31af7Sopenharmony_ci
4164e5c31af7Sopenharmony_ci  case mediump_ivec4_stss
4165e5c31af7Sopenharmony_ci	values
4166e5c31af7Sopenharmony_ci	{
4167e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4168e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, -32) | ivec4(0, 0, 0, 0) ];
4169e5c31af7Sopenharmony_ci	}
4170e5c31af7Sopenharmony_ci
4171e5c31af7Sopenharmony_ci	both ""
4172e5c31af7Sopenharmony_ci		precision mediump float;
4173e5c31af7Sopenharmony_ci
4174e5c31af7Sopenharmony_ci		${DECLARATIONS}
4175e5c31af7Sopenharmony_ci
4176e5c31af7Sopenharmony_ci		void main()
4177e5c31af7Sopenharmony_ci		{
4178e5c31af7Sopenharmony_ci			${SETUP}
4179e5c31af7Sopenharmony_ci			out0 = in0.stss;
4180e5c31af7Sopenharmony_ci			${OUTPUT}
4181e5c31af7Sopenharmony_ci		}
4182e5c31af7Sopenharmony_ci	""
4183e5c31af7Sopenharmony_ci  end
4184e5c31af7Sopenharmony_ci
4185e5c31af7Sopenharmony_ci  case mediump_ivec4_ppqp
4186e5c31af7Sopenharmony_ci	values
4187e5c31af7Sopenharmony_ci	{
4188e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4189e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, 9, -4) | ivec4(-51, -51, 24, -51) | ivec4(0, 0, 0, 0) ];
4190e5c31af7Sopenharmony_ci	}
4191e5c31af7Sopenharmony_ci
4192e5c31af7Sopenharmony_ci	both ""
4193e5c31af7Sopenharmony_ci		precision mediump float;
4194e5c31af7Sopenharmony_ci
4195e5c31af7Sopenharmony_ci		${DECLARATIONS}
4196e5c31af7Sopenharmony_ci
4197e5c31af7Sopenharmony_ci		void main()
4198e5c31af7Sopenharmony_ci		{
4199e5c31af7Sopenharmony_ci			${SETUP}
4200e5c31af7Sopenharmony_ci			out0 = in0.ppqp;
4201e5c31af7Sopenharmony_ci			${OUTPUT}
4202e5c31af7Sopenharmony_ci		}
4203e5c31af7Sopenharmony_ci	""
4204e5c31af7Sopenharmony_ci  end
4205e5c31af7Sopenharmony_ci
4206e5c31af7Sopenharmony_ci  case mediump_ivec4_r
4207e5c31af7Sopenharmony_ci	values
4208e5c31af7Sopenharmony_ci	{
4209e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4210e5c31af7Sopenharmony_ci		output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
4211e5c31af7Sopenharmony_ci	}
4212e5c31af7Sopenharmony_ci
4213e5c31af7Sopenharmony_ci	both ""
4214e5c31af7Sopenharmony_ci		precision mediump float;
4215e5c31af7Sopenharmony_ci
4216e5c31af7Sopenharmony_ci		${DECLARATIONS}
4217e5c31af7Sopenharmony_ci
4218e5c31af7Sopenharmony_ci		void main()
4219e5c31af7Sopenharmony_ci		{
4220e5c31af7Sopenharmony_ci			${SETUP}
4221e5c31af7Sopenharmony_ci			out0 = in0.r;
4222e5c31af7Sopenharmony_ci			${OUTPUT}
4223e5c31af7Sopenharmony_ci		}
4224e5c31af7Sopenharmony_ci	""
4225e5c31af7Sopenharmony_ci  end
4226e5c31af7Sopenharmony_ci
4227e5c31af7Sopenharmony_ci  case mediump_ivec4_a
4228e5c31af7Sopenharmony_ci	values
4229e5c31af7Sopenharmony_ci	{
4230e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4231e5c31af7Sopenharmony_ci		output int out0 = [ 0 | 1 | 9 | 24 | 0 ];
4232e5c31af7Sopenharmony_ci	}
4233e5c31af7Sopenharmony_ci
4234e5c31af7Sopenharmony_ci	both ""
4235e5c31af7Sopenharmony_ci		precision mediump float;
4236e5c31af7Sopenharmony_ci
4237e5c31af7Sopenharmony_ci		${DECLARATIONS}
4238e5c31af7Sopenharmony_ci
4239e5c31af7Sopenharmony_ci		void main()
4240e5c31af7Sopenharmony_ci		{
4241e5c31af7Sopenharmony_ci			${SETUP}
4242e5c31af7Sopenharmony_ci			out0 = in0.a;
4243e5c31af7Sopenharmony_ci			${OUTPUT}
4244e5c31af7Sopenharmony_ci		}
4245e5c31af7Sopenharmony_ci	""
4246e5c31af7Sopenharmony_ci  end
4247e5c31af7Sopenharmony_ci
4248e5c31af7Sopenharmony_ci  case mediump_ivec4_ar
4249e5c31af7Sopenharmony_ci	values
4250e5c31af7Sopenharmony_ci	{
4251e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4252e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(9, 0) | ivec2(24, -32) | ivec2(0, 0) ];
4253e5c31af7Sopenharmony_ci	}
4254e5c31af7Sopenharmony_ci
4255e5c31af7Sopenharmony_ci	both ""
4256e5c31af7Sopenharmony_ci		precision mediump float;
4257e5c31af7Sopenharmony_ci
4258e5c31af7Sopenharmony_ci		${DECLARATIONS}
4259e5c31af7Sopenharmony_ci
4260e5c31af7Sopenharmony_ci		void main()
4261e5c31af7Sopenharmony_ci		{
4262e5c31af7Sopenharmony_ci			${SETUP}
4263e5c31af7Sopenharmony_ci			out0 = in0.ar;
4264e5c31af7Sopenharmony_ci			${OUTPUT}
4265e5c31af7Sopenharmony_ci		}
4266e5c31af7Sopenharmony_ci	""
4267e5c31af7Sopenharmony_ci  end
4268e5c31af7Sopenharmony_ci
4269e5c31af7Sopenharmony_ci  case mediump_ivec4_ab
4270e5c31af7Sopenharmony_ci	values
4271e5c31af7Sopenharmony_ci	{
4272e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4273e5c31af7Sopenharmony_ci		output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(9, -4) | ivec2(24, -51) | ivec2(0, 0) ];
4274e5c31af7Sopenharmony_ci	}
4275e5c31af7Sopenharmony_ci
4276e5c31af7Sopenharmony_ci	both ""
4277e5c31af7Sopenharmony_ci		precision mediump float;
4278e5c31af7Sopenharmony_ci
4279e5c31af7Sopenharmony_ci		${DECLARATIONS}
4280e5c31af7Sopenharmony_ci
4281e5c31af7Sopenharmony_ci		void main()
4282e5c31af7Sopenharmony_ci		{
4283e5c31af7Sopenharmony_ci			${SETUP}
4284e5c31af7Sopenharmony_ci			out0 = in0.ab;
4285e5c31af7Sopenharmony_ci			${OUTPUT}
4286e5c31af7Sopenharmony_ci		}
4287e5c31af7Sopenharmony_ci	""
4288e5c31af7Sopenharmony_ci  end
4289e5c31af7Sopenharmony_ci
4290e5c31af7Sopenharmony_ci  case mediump_ivec4_aaa
4291e5c31af7Sopenharmony_ci	values
4292e5c31af7Sopenharmony_ci	{
4293e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4294e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(9, 9, 9) | ivec3(24, 24, 24) | ivec3(0, 0, 0) ];
4295e5c31af7Sopenharmony_ci	}
4296e5c31af7Sopenharmony_ci
4297e5c31af7Sopenharmony_ci	both ""
4298e5c31af7Sopenharmony_ci		precision mediump float;
4299e5c31af7Sopenharmony_ci
4300e5c31af7Sopenharmony_ci		${DECLARATIONS}
4301e5c31af7Sopenharmony_ci
4302e5c31af7Sopenharmony_ci		void main()
4303e5c31af7Sopenharmony_ci		{
4304e5c31af7Sopenharmony_ci			${SETUP}
4305e5c31af7Sopenharmony_ci			out0 = in0.aaa;
4306e5c31af7Sopenharmony_ci			${OUTPUT}
4307e5c31af7Sopenharmony_ci		}
4308e5c31af7Sopenharmony_ci	""
4309e5c31af7Sopenharmony_ci  end
4310e5c31af7Sopenharmony_ci
4311e5c31af7Sopenharmony_ci  case mediump_ivec4_gga
4312e5c31af7Sopenharmony_ci	values
4313e5c31af7Sopenharmony_ci	{
4314e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4315e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, -2, 9) | ivec3(64, 64, 24) | ivec3(0, 0, 0) ];
4316e5c31af7Sopenharmony_ci	}
4317e5c31af7Sopenharmony_ci
4318e5c31af7Sopenharmony_ci	both ""
4319e5c31af7Sopenharmony_ci		precision mediump float;
4320e5c31af7Sopenharmony_ci
4321e5c31af7Sopenharmony_ci		${DECLARATIONS}
4322e5c31af7Sopenharmony_ci
4323e5c31af7Sopenharmony_ci		void main()
4324e5c31af7Sopenharmony_ci		{
4325e5c31af7Sopenharmony_ci			${SETUP}
4326e5c31af7Sopenharmony_ci			out0 = in0.gga;
4327e5c31af7Sopenharmony_ci			${OUTPUT}
4328e5c31af7Sopenharmony_ci		}
4329e5c31af7Sopenharmony_ci	""
4330e5c31af7Sopenharmony_ci  end
4331e5c31af7Sopenharmony_ci
4332e5c31af7Sopenharmony_ci  case mediump_ivec4_abg
4333e5c31af7Sopenharmony_ci	values
4334e5c31af7Sopenharmony_ci	{
4335e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4336e5c31af7Sopenharmony_ci		output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(9, -4, -2) | ivec3(24, -51, 64) | ivec3(0, 0, 0) ];
4337e5c31af7Sopenharmony_ci	}
4338e5c31af7Sopenharmony_ci
4339e5c31af7Sopenharmony_ci	both ""
4340e5c31af7Sopenharmony_ci		precision mediump float;
4341e5c31af7Sopenharmony_ci
4342e5c31af7Sopenharmony_ci		${DECLARATIONS}
4343e5c31af7Sopenharmony_ci
4344e5c31af7Sopenharmony_ci		void main()
4345e5c31af7Sopenharmony_ci		{
4346e5c31af7Sopenharmony_ci			${SETUP}
4347e5c31af7Sopenharmony_ci			out0 = in0.abg;
4348e5c31af7Sopenharmony_ci			${OUTPUT}
4349e5c31af7Sopenharmony_ci		}
4350e5c31af7Sopenharmony_ci	""
4351e5c31af7Sopenharmony_ci  end
4352e5c31af7Sopenharmony_ci
4353e5c31af7Sopenharmony_ci  case mediump_ivec4_rgba
4354e5c31af7Sopenharmony_ci	values
4355e5c31af7Sopenharmony_ci	{
4356e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4357e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4358e5c31af7Sopenharmony_ci	}
4359e5c31af7Sopenharmony_ci
4360e5c31af7Sopenharmony_ci	both ""
4361e5c31af7Sopenharmony_ci		precision mediump float;
4362e5c31af7Sopenharmony_ci
4363e5c31af7Sopenharmony_ci		${DECLARATIONS}
4364e5c31af7Sopenharmony_ci
4365e5c31af7Sopenharmony_ci		void main()
4366e5c31af7Sopenharmony_ci		{
4367e5c31af7Sopenharmony_ci			${SETUP}
4368e5c31af7Sopenharmony_ci			out0 = in0.rgba;
4369e5c31af7Sopenharmony_ci			${OUTPUT}
4370e5c31af7Sopenharmony_ci		}
4371e5c31af7Sopenharmony_ci	""
4372e5c31af7Sopenharmony_ci  end
4373e5c31af7Sopenharmony_ci
4374e5c31af7Sopenharmony_ci  case mediump_ivec4_abgr
4375e5c31af7Sopenharmony_ci	values
4376e5c31af7Sopenharmony_ci	{
4377e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4378e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, -4, -2, 0) | ivec4(24, -51, 64, -32) | ivec4(0, 0, 0, 0) ];
4379e5c31af7Sopenharmony_ci	}
4380e5c31af7Sopenharmony_ci
4381e5c31af7Sopenharmony_ci	both ""
4382e5c31af7Sopenharmony_ci		precision mediump float;
4383e5c31af7Sopenharmony_ci
4384e5c31af7Sopenharmony_ci		${DECLARATIONS}
4385e5c31af7Sopenharmony_ci
4386e5c31af7Sopenharmony_ci		void main()
4387e5c31af7Sopenharmony_ci		{
4388e5c31af7Sopenharmony_ci			${SETUP}
4389e5c31af7Sopenharmony_ci			out0 = in0.abgr;
4390e5c31af7Sopenharmony_ci			${OUTPUT}
4391e5c31af7Sopenharmony_ci		}
4392e5c31af7Sopenharmony_ci	""
4393e5c31af7Sopenharmony_ci  end
4394e5c31af7Sopenharmony_ci
4395e5c31af7Sopenharmony_ci  case mediump_ivec4_rrrr
4396e5c31af7Sopenharmony_ci	values
4397e5c31af7Sopenharmony_ci	{
4398e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4399e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(-32, -32, -32, -32) | ivec4(0, 0, 0, 0) ];
4400e5c31af7Sopenharmony_ci	}
4401e5c31af7Sopenharmony_ci
4402e5c31af7Sopenharmony_ci	both ""
4403e5c31af7Sopenharmony_ci		precision mediump float;
4404e5c31af7Sopenharmony_ci
4405e5c31af7Sopenharmony_ci		${DECLARATIONS}
4406e5c31af7Sopenharmony_ci
4407e5c31af7Sopenharmony_ci		void main()
4408e5c31af7Sopenharmony_ci		{
4409e5c31af7Sopenharmony_ci			${SETUP}
4410e5c31af7Sopenharmony_ci			out0 = in0.rrrr;
4411e5c31af7Sopenharmony_ci			${OUTPUT}
4412e5c31af7Sopenharmony_ci		}
4413e5c31af7Sopenharmony_ci	""
4414e5c31af7Sopenharmony_ci  end
4415e5c31af7Sopenharmony_ci
4416e5c31af7Sopenharmony_ci  case mediump_ivec4_gggg
4417e5c31af7Sopenharmony_ci	values
4418e5c31af7Sopenharmony_ci	{
4419e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4420e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-2, -2, -2, -2) | ivec4(64, 64, 64, 64) | ivec4(0, 0, 0, 0) ];
4421e5c31af7Sopenharmony_ci	}
4422e5c31af7Sopenharmony_ci
4423e5c31af7Sopenharmony_ci	both ""
4424e5c31af7Sopenharmony_ci		precision mediump float;
4425e5c31af7Sopenharmony_ci
4426e5c31af7Sopenharmony_ci		${DECLARATIONS}
4427e5c31af7Sopenharmony_ci
4428e5c31af7Sopenharmony_ci		void main()
4429e5c31af7Sopenharmony_ci		{
4430e5c31af7Sopenharmony_ci			${SETUP}
4431e5c31af7Sopenharmony_ci			out0 = in0.gggg;
4432e5c31af7Sopenharmony_ci			${OUTPUT}
4433e5c31af7Sopenharmony_ci		}
4434e5c31af7Sopenharmony_ci	""
4435e5c31af7Sopenharmony_ci  end
4436e5c31af7Sopenharmony_ci
4437e5c31af7Sopenharmony_ci  case mediump_ivec4_aaaa
4438e5c31af7Sopenharmony_ci	values
4439e5c31af7Sopenharmony_ci	{
4440e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4441e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, 9) | ivec4(24, 24, 24, 24) | ivec4(0, 0, 0, 0) ];
4442e5c31af7Sopenharmony_ci	}
4443e5c31af7Sopenharmony_ci
4444e5c31af7Sopenharmony_ci	both ""
4445e5c31af7Sopenharmony_ci		precision mediump float;
4446e5c31af7Sopenharmony_ci
4447e5c31af7Sopenharmony_ci		${DECLARATIONS}
4448e5c31af7Sopenharmony_ci
4449e5c31af7Sopenharmony_ci		void main()
4450e5c31af7Sopenharmony_ci		{
4451e5c31af7Sopenharmony_ci			${SETUP}
4452e5c31af7Sopenharmony_ci			out0 = in0.aaaa;
4453e5c31af7Sopenharmony_ci			${OUTPUT}
4454e5c31af7Sopenharmony_ci		}
4455e5c31af7Sopenharmony_ci	""
4456e5c31af7Sopenharmony_ci  end
4457e5c31af7Sopenharmony_ci
4458e5c31af7Sopenharmony_ci  case mediump_ivec4_abba
4459e5c31af7Sopenharmony_ci	values
4460e5c31af7Sopenharmony_ci	{
4461e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4462e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, -4, -4, 9) | ivec4(24, -51, -51, 24) | ivec4(0, 0, 0, 0) ];
4463e5c31af7Sopenharmony_ci	}
4464e5c31af7Sopenharmony_ci
4465e5c31af7Sopenharmony_ci	both ""
4466e5c31af7Sopenharmony_ci		precision mediump float;
4467e5c31af7Sopenharmony_ci
4468e5c31af7Sopenharmony_ci		${DECLARATIONS}
4469e5c31af7Sopenharmony_ci
4470e5c31af7Sopenharmony_ci		void main()
4471e5c31af7Sopenharmony_ci		{
4472e5c31af7Sopenharmony_ci			${SETUP}
4473e5c31af7Sopenharmony_ci			out0 = in0.abba;
4474e5c31af7Sopenharmony_ci			${OUTPUT}
4475e5c31af7Sopenharmony_ci		}
4476e5c31af7Sopenharmony_ci	""
4477e5c31af7Sopenharmony_ci  end
4478e5c31af7Sopenharmony_ci
4479e5c31af7Sopenharmony_ci  case mediump_ivec4_aaag
4480e5c31af7Sopenharmony_ci	values
4481e5c31af7Sopenharmony_ci	{
4482e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4483e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, -2) | ivec4(24, 24, 24, 64) | ivec4(0, 0, 0, 0) ];
4484e5c31af7Sopenharmony_ci	}
4485e5c31af7Sopenharmony_ci
4486e5c31af7Sopenharmony_ci	both ""
4487e5c31af7Sopenharmony_ci		precision mediump float;
4488e5c31af7Sopenharmony_ci
4489e5c31af7Sopenharmony_ci		${DECLARATIONS}
4490e5c31af7Sopenharmony_ci
4491e5c31af7Sopenharmony_ci		void main()
4492e5c31af7Sopenharmony_ci		{
4493e5c31af7Sopenharmony_ci			${SETUP}
4494e5c31af7Sopenharmony_ci			out0 = in0.aaag;
4495e5c31af7Sopenharmony_ci			${OUTPUT}
4496e5c31af7Sopenharmony_ci		}
4497e5c31af7Sopenharmony_ci	""
4498e5c31af7Sopenharmony_ci  end
4499e5c31af7Sopenharmony_ci
4500e5c31af7Sopenharmony_ci  case mediump_ivec4_rgrr
4501e5c31af7Sopenharmony_ci	values
4502e5c31af7Sopenharmony_ci	{
4503e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4504e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, -32) | ivec4(0, 0, 0, 0) ];
4505e5c31af7Sopenharmony_ci	}
4506e5c31af7Sopenharmony_ci
4507e5c31af7Sopenharmony_ci	both ""
4508e5c31af7Sopenharmony_ci		precision mediump float;
4509e5c31af7Sopenharmony_ci
4510e5c31af7Sopenharmony_ci		${DECLARATIONS}
4511e5c31af7Sopenharmony_ci
4512e5c31af7Sopenharmony_ci		void main()
4513e5c31af7Sopenharmony_ci		{
4514e5c31af7Sopenharmony_ci			${SETUP}
4515e5c31af7Sopenharmony_ci			out0 = in0.rgrr;
4516e5c31af7Sopenharmony_ci			${OUTPUT}
4517e5c31af7Sopenharmony_ci		}
4518e5c31af7Sopenharmony_ci	""
4519e5c31af7Sopenharmony_ci  end
4520e5c31af7Sopenharmony_ci
4521e5c31af7Sopenharmony_ci  case mediump_ivec4_bbab
4522e5c31af7Sopenharmony_ci	values
4523e5c31af7Sopenharmony_ci	{
4524e5c31af7Sopenharmony_ci		input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4525e5c31af7Sopenharmony_ci		output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, 9, -4) | ivec4(-51, -51, 24, -51) | ivec4(0, 0, 0, 0) ];
4526e5c31af7Sopenharmony_ci	}
4527e5c31af7Sopenharmony_ci
4528e5c31af7Sopenharmony_ci	both ""
4529e5c31af7Sopenharmony_ci		precision mediump float;
4530e5c31af7Sopenharmony_ci
4531e5c31af7Sopenharmony_ci		${DECLARATIONS}
4532e5c31af7Sopenharmony_ci
4533e5c31af7Sopenharmony_ci		void main()
4534e5c31af7Sopenharmony_ci		{
4535e5c31af7Sopenharmony_ci			${SETUP}
4536e5c31af7Sopenharmony_ci			out0 = in0.bbab;
4537e5c31af7Sopenharmony_ci			${OUTPUT}
4538e5c31af7Sopenharmony_ci		}
4539e5c31af7Sopenharmony_ci	""
4540e5c31af7Sopenharmony_ci  end
4541e5c31af7Sopenharmony_ci
4542e5c31af7Sopenharmony_ci  case mediump_bvec2_x
4543e5c31af7Sopenharmony_ci	values
4544e5c31af7Sopenharmony_ci	{
4545e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4546e5c31af7Sopenharmony_ci		output bool out0 = [ true | false | false | true | false ];
4547e5c31af7Sopenharmony_ci	}
4548e5c31af7Sopenharmony_ci
4549e5c31af7Sopenharmony_ci	both ""
4550e5c31af7Sopenharmony_ci		precision mediump float;
4551e5c31af7Sopenharmony_ci
4552e5c31af7Sopenharmony_ci		${DECLARATIONS}
4553e5c31af7Sopenharmony_ci
4554e5c31af7Sopenharmony_ci		void main()
4555e5c31af7Sopenharmony_ci		{
4556e5c31af7Sopenharmony_ci			${SETUP}
4557e5c31af7Sopenharmony_ci			out0 = in0.x;
4558e5c31af7Sopenharmony_ci			${OUTPUT}
4559e5c31af7Sopenharmony_ci		}
4560e5c31af7Sopenharmony_ci	""
4561e5c31af7Sopenharmony_ci  end
4562e5c31af7Sopenharmony_ci
4563e5c31af7Sopenharmony_ci  case mediump_bvec2_xx
4564e5c31af7Sopenharmony_ci	values
4565e5c31af7Sopenharmony_ci	{
4566e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4567e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
4568e5c31af7Sopenharmony_ci	}
4569e5c31af7Sopenharmony_ci
4570e5c31af7Sopenharmony_ci	both ""
4571e5c31af7Sopenharmony_ci		precision mediump float;
4572e5c31af7Sopenharmony_ci
4573e5c31af7Sopenharmony_ci		${DECLARATIONS}
4574e5c31af7Sopenharmony_ci
4575e5c31af7Sopenharmony_ci		void main()
4576e5c31af7Sopenharmony_ci		{
4577e5c31af7Sopenharmony_ci			${SETUP}
4578e5c31af7Sopenharmony_ci			out0 = in0.xx;
4579e5c31af7Sopenharmony_ci			${OUTPUT}
4580e5c31af7Sopenharmony_ci		}
4581e5c31af7Sopenharmony_ci	""
4582e5c31af7Sopenharmony_ci  end
4583e5c31af7Sopenharmony_ci
4584e5c31af7Sopenharmony_ci  case mediump_bvec2_xy
4585e5c31af7Sopenharmony_ci	values
4586e5c31af7Sopenharmony_ci	{
4587e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4588e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4589e5c31af7Sopenharmony_ci	}
4590e5c31af7Sopenharmony_ci
4591e5c31af7Sopenharmony_ci	both ""
4592e5c31af7Sopenharmony_ci		precision mediump float;
4593e5c31af7Sopenharmony_ci
4594e5c31af7Sopenharmony_ci		${DECLARATIONS}
4595e5c31af7Sopenharmony_ci
4596e5c31af7Sopenharmony_ci		void main()
4597e5c31af7Sopenharmony_ci		{
4598e5c31af7Sopenharmony_ci			${SETUP}
4599e5c31af7Sopenharmony_ci			out0 = in0.xy;
4600e5c31af7Sopenharmony_ci			${OUTPUT}
4601e5c31af7Sopenharmony_ci		}
4602e5c31af7Sopenharmony_ci	""
4603e5c31af7Sopenharmony_ci  end
4604e5c31af7Sopenharmony_ci
4605e5c31af7Sopenharmony_ci  case mediump_bvec2_yx
4606e5c31af7Sopenharmony_ci	values
4607e5c31af7Sopenharmony_ci	{
4608e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4609e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(false, true) | bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, false) ];
4610e5c31af7Sopenharmony_ci	}
4611e5c31af7Sopenharmony_ci
4612e5c31af7Sopenharmony_ci	both ""
4613e5c31af7Sopenharmony_ci		precision mediump float;
4614e5c31af7Sopenharmony_ci
4615e5c31af7Sopenharmony_ci		${DECLARATIONS}
4616e5c31af7Sopenharmony_ci
4617e5c31af7Sopenharmony_ci		void main()
4618e5c31af7Sopenharmony_ci		{
4619e5c31af7Sopenharmony_ci			${SETUP}
4620e5c31af7Sopenharmony_ci			out0 = in0.yx;
4621e5c31af7Sopenharmony_ci			${OUTPUT}
4622e5c31af7Sopenharmony_ci		}
4623e5c31af7Sopenharmony_ci	""
4624e5c31af7Sopenharmony_ci  end
4625e5c31af7Sopenharmony_ci
4626e5c31af7Sopenharmony_ci  case mediump_bvec2_yxy
4627e5c31af7Sopenharmony_ci	values
4628e5c31af7Sopenharmony_ci	{
4629e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4630e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
4631e5c31af7Sopenharmony_ci	}
4632e5c31af7Sopenharmony_ci
4633e5c31af7Sopenharmony_ci	both ""
4634e5c31af7Sopenharmony_ci		precision mediump float;
4635e5c31af7Sopenharmony_ci
4636e5c31af7Sopenharmony_ci		${DECLARATIONS}
4637e5c31af7Sopenharmony_ci
4638e5c31af7Sopenharmony_ci		void main()
4639e5c31af7Sopenharmony_ci		{
4640e5c31af7Sopenharmony_ci			${SETUP}
4641e5c31af7Sopenharmony_ci			out0 = in0.yxy;
4642e5c31af7Sopenharmony_ci			${OUTPUT}
4643e5c31af7Sopenharmony_ci		}
4644e5c31af7Sopenharmony_ci	""
4645e5c31af7Sopenharmony_ci  end
4646e5c31af7Sopenharmony_ci
4647e5c31af7Sopenharmony_ci  case mediump_bvec2_xyxx
4648e5c31af7Sopenharmony_ci	values
4649e5c31af7Sopenharmony_ci	{
4650e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4651e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
4652e5c31af7Sopenharmony_ci	}
4653e5c31af7Sopenharmony_ci
4654e5c31af7Sopenharmony_ci	both ""
4655e5c31af7Sopenharmony_ci		precision mediump float;
4656e5c31af7Sopenharmony_ci
4657e5c31af7Sopenharmony_ci		${DECLARATIONS}
4658e5c31af7Sopenharmony_ci
4659e5c31af7Sopenharmony_ci		void main()
4660e5c31af7Sopenharmony_ci		{
4661e5c31af7Sopenharmony_ci			${SETUP}
4662e5c31af7Sopenharmony_ci			out0 = in0.xyxx;
4663e5c31af7Sopenharmony_ci			${OUTPUT}
4664e5c31af7Sopenharmony_ci		}
4665e5c31af7Sopenharmony_ci	""
4666e5c31af7Sopenharmony_ci  end
4667e5c31af7Sopenharmony_ci
4668e5c31af7Sopenharmony_ci  case mediump_bvec2_yyyy
4669e5c31af7Sopenharmony_ci	values
4670e5c31af7Sopenharmony_ci	{
4671e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4672e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
4673e5c31af7Sopenharmony_ci	}
4674e5c31af7Sopenharmony_ci
4675e5c31af7Sopenharmony_ci	both ""
4676e5c31af7Sopenharmony_ci		precision mediump float;
4677e5c31af7Sopenharmony_ci
4678e5c31af7Sopenharmony_ci		${DECLARATIONS}
4679e5c31af7Sopenharmony_ci
4680e5c31af7Sopenharmony_ci		void main()
4681e5c31af7Sopenharmony_ci		{
4682e5c31af7Sopenharmony_ci			${SETUP}
4683e5c31af7Sopenharmony_ci			out0 = in0.yyyy;
4684e5c31af7Sopenharmony_ci			${OUTPUT}
4685e5c31af7Sopenharmony_ci		}
4686e5c31af7Sopenharmony_ci	""
4687e5c31af7Sopenharmony_ci  end
4688e5c31af7Sopenharmony_ci
4689e5c31af7Sopenharmony_ci  case mediump_bvec2_s
4690e5c31af7Sopenharmony_ci	values
4691e5c31af7Sopenharmony_ci	{
4692e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4693e5c31af7Sopenharmony_ci		output bool out0 = [ true | false | false | true | false ];
4694e5c31af7Sopenharmony_ci	}
4695e5c31af7Sopenharmony_ci
4696e5c31af7Sopenharmony_ci	both ""
4697e5c31af7Sopenharmony_ci		precision mediump float;
4698e5c31af7Sopenharmony_ci
4699e5c31af7Sopenharmony_ci		${DECLARATIONS}
4700e5c31af7Sopenharmony_ci
4701e5c31af7Sopenharmony_ci		void main()
4702e5c31af7Sopenharmony_ci		{
4703e5c31af7Sopenharmony_ci			${SETUP}
4704e5c31af7Sopenharmony_ci			out0 = in0.s;
4705e5c31af7Sopenharmony_ci			${OUTPUT}
4706e5c31af7Sopenharmony_ci		}
4707e5c31af7Sopenharmony_ci	""
4708e5c31af7Sopenharmony_ci  end
4709e5c31af7Sopenharmony_ci
4710e5c31af7Sopenharmony_ci  case mediump_bvec2_ss
4711e5c31af7Sopenharmony_ci	values
4712e5c31af7Sopenharmony_ci	{
4713e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4714e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
4715e5c31af7Sopenharmony_ci	}
4716e5c31af7Sopenharmony_ci
4717e5c31af7Sopenharmony_ci	both ""
4718e5c31af7Sopenharmony_ci		precision mediump float;
4719e5c31af7Sopenharmony_ci
4720e5c31af7Sopenharmony_ci		${DECLARATIONS}
4721e5c31af7Sopenharmony_ci
4722e5c31af7Sopenharmony_ci		void main()
4723e5c31af7Sopenharmony_ci		{
4724e5c31af7Sopenharmony_ci			${SETUP}
4725e5c31af7Sopenharmony_ci			out0 = in0.ss;
4726e5c31af7Sopenharmony_ci			${OUTPUT}
4727e5c31af7Sopenharmony_ci		}
4728e5c31af7Sopenharmony_ci	""
4729e5c31af7Sopenharmony_ci  end
4730e5c31af7Sopenharmony_ci
4731e5c31af7Sopenharmony_ci  case mediump_bvec2_st
4732e5c31af7Sopenharmony_ci	values
4733e5c31af7Sopenharmony_ci	{
4734e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4735e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4736e5c31af7Sopenharmony_ci	}
4737e5c31af7Sopenharmony_ci
4738e5c31af7Sopenharmony_ci	both ""
4739e5c31af7Sopenharmony_ci		precision mediump float;
4740e5c31af7Sopenharmony_ci
4741e5c31af7Sopenharmony_ci		${DECLARATIONS}
4742e5c31af7Sopenharmony_ci
4743e5c31af7Sopenharmony_ci		void main()
4744e5c31af7Sopenharmony_ci		{
4745e5c31af7Sopenharmony_ci			${SETUP}
4746e5c31af7Sopenharmony_ci			out0 = in0.st;
4747e5c31af7Sopenharmony_ci			${OUTPUT}
4748e5c31af7Sopenharmony_ci		}
4749e5c31af7Sopenharmony_ci	""
4750e5c31af7Sopenharmony_ci  end
4751e5c31af7Sopenharmony_ci
4752e5c31af7Sopenharmony_ci  case mediump_bvec2_ts
4753e5c31af7Sopenharmony_ci	values
4754e5c31af7Sopenharmony_ci	{
4755e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4756e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(false, true) | bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, false) ];
4757e5c31af7Sopenharmony_ci	}
4758e5c31af7Sopenharmony_ci
4759e5c31af7Sopenharmony_ci	both ""
4760e5c31af7Sopenharmony_ci		precision mediump float;
4761e5c31af7Sopenharmony_ci
4762e5c31af7Sopenharmony_ci		${DECLARATIONS}
4763e5c31af7Sopenharmony_ci
4764e5c31af7Sopenharmony_ci		void main()
4765e5c31af7Sopenharmony_ci		{
4766e5c31af7Sopenharmony_ci			${SETUP}
4767e5c31af7Sopenharmony_ci			out0 = in0.ts;
4768e5c31af7Sopenharmony_ci			${OUTPUT}
4769e5c31af7Sopenharmony_ci		}
4770e5c31af7Sopenharmony_ci	""
4771e5c31af7Sopenharmony_ci  end
4772e5c31af7Sopenharmony_ci
4773e5c31af7Sopenharmony_ci  case mediump_bvec2_tst
4774e5c31af7Sopenharmony_ci	values
4775e5c31af7Sopenharmony_ci	{
4776e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4777e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
4778e5c31af7Sopenharmony_ci	}
4779e5c31af7Sopenharmony_ci
4780e5c31af7Sopenharmony_ci	both ""
4781e5c31af7Sopenharmony_ci		precision mediump float;
4782e5c31af7Sopenharmony_ci
4783e5c31af7Sopenharmony_ci		${DECLARATIONS}
4784e5c31af7Sopenharmony_ci
4785e5c31af7Sopenharmony_ci		void main()
4786e5c31af7Sopenharmony_ci		{
4787e5c31af7Sopenharmony_ci			${SETUP}
4788e5c31af7Sopenharmony_ci			out0 = in0.tst;
4789e5c31af7Sopenharmony_ci			${OUTPUT}
4790e5c31af7Sopenharmony_ci		}
4791e5c31af7Sopenharmony_ci	""
4792e5c31af7Sopenharmony_ci  end
4793e5c31af7Sopenharmony_ci
4794e5c31af7Sopenharmony_ci  case mediump_bvec2_stss
4795e5c31af7Sopenharmony_ci	values
4796e5c31af7Sopenharmony_ci	{
4797e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4798e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
4799e5c31af7Sopenharmony_ci	}
4800e5c31af7Sopenharmony_ci
4801e5c31af7Sopenharmony_ci	both ""
4802e5c31af7Sopenharmony_ci		precision mediump float;
4803e5c31af7Sopenharmony_ci
4804e5c31af7Sopenharmony_ci		${DECLARATIONS}
4805e5c31af7Sopenharmony_ci
4806e5c31af7Sopenharmony_ci		void main()
4807e5c31af7Sopenharmony_ci		{
4808e5c31af7Sopenharmony_ci			${SETUP}
4809e5c31af7Sopenharmony_ci			out0 = in0.stss;
4810e5c31af7Sopenharmony_ci			${OUTPUT}
4811e5c31af7Sopenharmony_ci		}
4812e5c31af7Sopenharmony_ci	""
4813e5c31af7Sopenharmony_ci  end
4814e5c31af7Sopenharmony_ci
4815e5c31af7Sopenharmony_ci  case mediump_bvec2_tttt
4816e5c31af7Sopenharmony_ci	values
4817e5c31af7Sopenharmony_ci	{
4818e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4819e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
4820e5c31af7Sopenharmony_ci	}
4821e5c31af7Sopenharmony_ci
4822e5c31af7Sopenharmony_ci	both ""
4823e5c31af7Sopenharmony_ci		precision mediump float;
4824e5c31af7Sopenharmony_ci
4825e5c31af7Sopenharmony_ci		${DECLARATIONS}
4826e5c31af7Sopenharmony_ci
4827e5c31af7Sopenharmony_ci		void main()
4828e5c31af7Sopenharmony_ci		{
4829e5c31af7Sopenharmony_ci			${SETUP}
4830e5c31af7Sopenharmony_ci			out0 = in0.tttt;
4831e5c31af7Sopenharmony_ci			${OUTPUT}
4832e5c31af7Sopenharmony_ci		}
4833e5c31af7Sopenharmony_ci	""
4834e5c31af7Sopenharmony_ci  end
4835e5c31af7Sopenharmony_ci
4836e5c31af7Sopenharmony_ci  case mediump_bvec2_r
4837e5c31af7Sopenharmony_ci	values
4838e5c31af7Sopenharmony_ci	{
4839e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4840e5c31af7Sopenharmony_ci		output bool out0 = [ true | false | false | true | false ];
4841e5c31af7Sopenharmony_ci	}
4842e5c31af7Sopenharmony_ci
4843e5c31af7Sopenharmony_ci	both ""
4844e5c31af7Sopenharmony_ci		precision mediump float;
4845e5c31af7Sopenharmony_ci
4846e5c31af7Sopenharmony_ci		${DECLARATIONS}
4847e5c31af7Sopenharmony_ci
4848e5c31af7Sopenharmony_ci		void main()
4849e5c31af7Sopenharmony_ci		{
4850e5c31af7Sopenharmony_ci			${SETUP}
4851e5c31af7Sopenharmony_ci			out0 = in0.r;
4852e5c31af7Sopenharmony_ci			${OUTPUT}
4853e5c31af7Sopenharmony_ci		}
4854e5c31af7Sopenharmony_ci	""
4855e5c31af7Sopenharmony_ci  end
4856e5c31af7Sopenharmony_ci
4857e5c31af7Sopenharmony_ci  case mediump_bvec2_rr
4858e5c31af7Sopenharmony_ci	values
4859e5c31af7Sopenharmony_ci	{
4860e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4861e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
4862e5c31af7Sopenharmony_ci	}
4863e5c31af7Sopenharmony_ci
4864e5c31af7Sopenharmony_ci	both ""
4865e5c31af7Sopenharmony_ci		precision mediump float;
4866e5c31af7Sopenharmony_ci
4867e5c31af7Sopenharmony_ci		${DECLARATIONS}
4868e5c31af7Sopenharmony_ci
4869e5c31af7Sopenharmony_ci		void main()
4870e5c31af7Sopenharmony_ci		{
4871e5c31af7Sopenharmony_ci			${SETUP}
4872e5c31af7Sopenharmony_ci			out0 = in0.rr;
4873e5c31af7Sopenharmony_ci			${OUTPUT}
4874e5c31af7Sopenharmony_ci		}
4875e5c31af7Sopenharmony_ci	""
4876e5c31af7Sopenharmony_ci  end
4877e5c31af7Sopenharmony_ci
4878e5c31af7Sopenharmony_ci  case mediump_bvec2_rg
4879e5c31af7Sopenharmony_ci	values
4880e5c31af7Sopenharmony_ci	{
4881e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4882e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4883e5c31af7Sopenharmony_ci	}
4884e5c31af7Sopenharmony_ci
4885e5c31af7Sopenharmony_ci	both ""
4886e5c31af7Sopenharmony_ci		precision mediump float;
4887e5c31af7Sopenharmony_ci
4888e5c31af7Sopenharmony_ci		${DECLARATIONS}
4889e5c31af7Sopenharmony_ci
4890e5c31af7Sopenharmony_ci		void main()
4891e5c31af7Sopenharmony_ci		{
4892e5c31af7Sopenharmony_ci			${SETUP}
4893e5c31af7Sopenharmony_ci			out0 = in0.rg;
4894e5c31af7Sopenharmony_ci			${OUTPUT}
4895e5c31af7Sopenharmony_ci		}
4896e5c31af7Sopenharmony_ci	""
4897e5c31af7Sopenharmony_ci  end
4898e5c31af7Sopenharmony_ci
4899e5c31af7Sopenharmony_ci  case mediump_bvec2_gr
4900e5c31af7Sopenharmony_ci	values
4901e5c31af7Sopenharmony_ci	{
4902e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4903e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(false, true) | bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, false) ];
4904e5c31af7Sopenharmony_ci	}
4905e5c31af7Sopenharmony_ci
4906e5c31af7Sopenharmony_ci	both ""
4907e5c31af7Sopenharmony_ci		precision mediump float;
4908e5c31af7Sopenharmony_ci
4909e5c31af7Sopenharmony_ci		${DECLARATIONS}
4910e5c31af7Sopenharmony_ci
4911e5c31af7Sopenharmony_ci		void main()
4912e5c31af7Sopenharmony_ci		{
4913e5c31af7Sopenharmony_ci			${SETUP}
4914e5c31af7Sopenharmony_ci			out0 = in0.gr;
4915e5c31af7Sopenharmony_ci			${OUTPUT}
4916e5c31af7Sopenharmony_ci		}
4917e5c31af7Sopenharmony_ci	""
4918e5c31af7Sopenharmony_ci  end
4919e5c31af7Sopenharmony_ci
4920e5c31af7Sopenharmony_ci  case mediump_bvec2_grg
4921e5c31af7Sopenharmony_ci	values
4922e5c31af7Sopenharmony_ci	{
4923e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4924e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
4925e5c31af7Sopenharmony_ci	}
4926e5c31af7Sopenharmony_ci
4927e5c31af7Sopenharmony_ci	both ""
4928e5c31af7Sopenharmony_ci		precision mediump float;
4929e5c31af7Sopenharmony_ci
4930e5c31af7Sopenharmony_ci		${DECLARATIONS}
4931e5c31af7Sopenharmony_ci
4932e5c31af7Sopenharmony_ci		void main()
4933e5c31af7Sopenharmony_ci		{
4934e5c31af7Sopenharmony_ci			${SETUP}
4935e5c31af7Sopenharmony_ci			out0 = in0.grg;
4936e5c31af7Sopenharmony_ci			${OUTPUT}
4937e5c31af7Sopenharmony_ci		}
4938e5c31af7Sopenharmony_ci	""
4939e5c31af7Sopenharmony_ci  end
4940e5c31af7Sopenharmony_ci
4941e5c31af7Sopenharmony_ci  case mediump_bvec2_rgrr
4942e5c31af7Sopenharmony_ci	values
4943e5c31af7Sopenharmony_ci	{
4944e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4945e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
4946e5c31af7Sopenharmony_ci	}
4947e5c31af7Sopenharmony_ci
4948e5c31af7Sopenharmony_ci	both ""
4949e5c31af7Sopenharmony_ci		precision mediump float;
4950e5c31af7Sopenharmony_ci
4951e5c31af7Sopenharmony_ci		${DECLARATIONS}
4952e5c31af7Sopenharmony_ci
4953e5c31af7Sopenharmony_ci		void main()
4954e5c31af7Sopenharmony_ci		{
4955e5c31af7Sopenharmony_ci			${SETUP}
4956e5c31af7Sopenharmony_ci			out0 = in0.rgrr;
4957e5c31af7Sopenharmony_ci			${OUTPUT}
4958e5c31af7Sopenharmony_ci		}
4959e5c31af7Sopenharmony_ci	""
4960e5c31af7Sopenharmony_ci  end
4961e5c31af7Sopenharmony_ci
4962e5c31af7Sopenharmony_ci  case mediump_bvec2_gggg
4963e5c31af7Sopenharmony_ci	values
4964e5c31af7Sopenharmony_ci	{
4965e5c31af7Sopenharmony_ci		input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4966e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
4967e5c31af7Sopenharmony_ci	}
4968e5c31af7Sopenharmony_ci
4969e5c31af7Sopenharmony_ci	both ""
4970e5c31af7Sopenharmony_ci		precision mediump float;
4971e5c31af7Sopenharmony_ci
4972e5c31af7Sopenharmony_ci		${DECLARATIONS}
4973e5c31af7Sopenharmony_ci
4974e5c31af7Sopenharmony_ci		void main()
4975e5c31af7Sopenharmony_ci		{
4976e5c31af7Sopenharmony_ci			${SETUP}
4977e5c31af7Sopenharmony_ci			out0 = in0.gggg;
4978e5c31af7Sopenharmony_ci			${OUTPUT}
4979e5c31af7Sopenharmony_ci		}
4980e5c31af7Sopenharmony_ci	""
4981e5c31af7Sopenharmony_ci  end
4982e5c31af7Sopenharmony_ci
4983e5c31af7Sopenharmony_ci  case mediump_bvec3_x
4984e5c31af7Sopenharmony_ci	values
4985e5c31af7Sopenharmony_ci	{
4986e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
4987e5c31af7Sopenharmony_ci		output bool out0 = [ true | false | false | true | false ];
4988e5c31af7Sopenharmony_ci	}
4989e5c31af7Sopenharmony_ci
4990e5c31af7Sopenharmony_ci	both ""
4991e5c31af7Sopenharmony_ci		precision mediump float;
4992e5c31af7Sopenharmony_ci
4993e5c31af7Sopenharmony_ci		${DECLARATIONS}
4994e5c31af7Sopenharmony_ci
4995e5c31af7Sopenharmony_ci		void main()
4996e5c31af7Sopenharmony_ci		{
4997e5c31af7Sopenharmony_ci			${SETUP}
4998e5c31af7Sopenharmony_ci			out0 = in0.x;
4999e5c31af7Sopenharmony_ci			${OUTPUT}
5000e5c31af7Sopenharmony_ci		}
5001e5c31af7Sopenharmony_ci	""
5002e5c31af7Sopenharmony_ci  end
5003e5c31af7Sopenharmony_ci
5004e5c31af7Sopenharmony_ci  case mediump_bvec3_z
5005e5c31af7Sopenharmony_ci	values
5006e5c31af7Sopenharmony_ci	{
5007e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5008e5c31af7Sopenharmony_ci		output bool out0 = [ false | false | false | true | false ];
5009e5c31af7Sopenharmony_ci	}
5010e5c31af7Sopenharmony_ci
5011e5c31af7Sopenharmony_ci	both ""
5012e5c31af7Sopenharmony_ci		precision mediump float;
5013e5c31af7Sopenharmony_ci
5014e5c31af7Sopenharmony_ci		${DECLARATIONS}
5015e5c31af7Sopenharmony_ci
5016e5c31af7Sopenharmony_ci		void main()
5017e5c31af7Sopenharmony_ci		{
5018e5c31af7Sopenharmony_ci			${SETUP}
5019e5c31af7Sopenharmony_ci			out0 = in0.z;
5020e5c31af7Sopenharmony_ci			${OUTPUT}
5021e5c31af7Sopenharmony_ci		}
5022e5c31af7Sopenharmony_ci	""
5023e5c31af7Sopenharmony_ci  end
5024e5c31af7Sopenharmony_ci
5025e5c31af7Sopenharmony_ci  case mediump_bvec3_xz
5026e5c31af7Sopenharmony_ci	values
5027e5c31af7Sopenharmony_ci	{
5028e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5029e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5030e5c31af7Sopenharmony_ci	}
5031e5c31af7Sopenharmony_ci
5032e5c31af7Sopenharmony_ci	both ""
5033e5c31af7Sopenharmony_ci		precision mediump float;
5034e5c31af7Sopenharmony_ci
5035e5c31af7Sopenharmony_ci		${DECLARATIONS}
5036e5c31af7Sopenharmony_ci
5037e5c31af7Sopenharmony_ci		void main()
5038e5c31af7Sopenharmony_ci		{
5039e5c31af7Sopenharmony_ci			${SETUP}
5040e5c31af7Sopenharmony_ci			out0 = in0.xz;
5041e5c31af7Sopenharmony_ci			${OUTPUT}
5042e5c31af7Sopenharmony_ci		}
5043e5c31af7Sopenharmony_ci	""
5044e5c31af7Sopenharmony_ci  end
5045e5c31af7Sopenharmony_ci
5046e5c31af7Sopenharmony_ci  case mediump_bvec3_zz
5047e5c31af7Sopenharmony_ci	values
5048e5c31af7Sopenharmony_ci	{
5049e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5050e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5051e5c31af7Sopenharmony_ci	}
5052e5c31af7Sopenharmony_ci
5053e5c31af7Sopenharmony_ci	both ""
5054e5c31af7Sopenharmony_ci		precision mediump float;
5055e5c31af7Sopenharmony_ci
5056e5c31af7Sopenharmony_ci		${DECLARATIONS}
5057e5c31af7Sopenharmony_ci
5058e5c31af7Sopenharmony_ci		void main()
5059e5c31af7Sopenharmony_ci		{
5060e5c31af7Sopenharmony_ci			${SETUP}
5061e5c31af7Sopenharmony_ci			out0 = in0.zz;
5062e5c31af7Sopenharmony_ci			${OUTPUT}
5063e5c31af7Sopenharmony_ci		}
5064e5c31af7Sopenharmony_ci	""
5065e5c31af7Sopenharmony_ci  end
5066e5c31af7Sopenharmony_ci
5067e5c31af7Sopenharmony_ci  case mediump_bvec3_xyz
5068e5c31af7Sopenharmony_ci	values
5069e5c31af7Sopenharmony_ci	{
5070e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5071e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5072e5c31af7Sopenharmony_ci	}
5073e5c31af7Sopenharmony_ci
5074e5c31af7Sopenharmony_ci	both ""
5075e5c31af7Sopenharmony_ci		precision mediump float;
5076e5c31af7Sopenharmony_ci
5077e5c31af7Sopenharmony_ci		${DECLARATIONS}
5078e5c31af7Sopenharmony_ci
5079e5c31af7Sopenharmony_ci		void main()
5080e5c31af7Sopenharmony_ci		{
5081e5c31af7Sopenharmony_ci			${SETUP}
5082e5c31af7Sopenharmony_ci			out0 = in0.xyz;
5083e5c31af7Sopenharmony_ci			${OUTPUT}
5084e5c31af7Sopenharmony_ci		}
5085e5c31af7Sopenharmony_ci	""
5086e5c31af7Sopenharmony_ci  end
5087e5c31af7Sopenharmony_ci
5088e5c31af7Sopenharmony_ci  case mediump_bvec3_zyx
5089e5c31af7Sopenharmony_ci	values
5090e5c31af7Sopenharmony_ci	{
5091e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5092e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(false, false, true) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5093e5c31af7Sopenharmony_ci	}
5094e5c31af7Sopenharmony_ci
5095e5c31af7Sopenharmony_ci	both ""
5096e5c31af7Sopenharmony_ci		precision mediump float;
5097e5c31af7Sopenharmony_ci
5098e5c31af7Sopenharmony_ci		${DECLARATIONS}
5099e5c31af7Sopenharmony_ci
5100e5c31af7Sopenharmony_ci		void main()
5101e5c31af7Sopenharmony_ci		{
5102e5c31af7Sopenharmony_ci			${SETUP}
5103e5c31af7Sopenharmony_ci			out0 = in0.zyx;
5104e5c31af7Sopenharmony_ci			${OUTPUT}
5105e5c31af7Sopenharmony_ci		}
5106e5c31af7Sopenharmony_ci	""
5107e5c31af7Sopenharmony_ci  end
5108e5c31af7Sopenharmony_ci
5109e5c31af7Sopenharmony_ci  case mediump_bvec3_xxx
5110e5c31af7Sopenharmony_ci	values
5111e5c31af7Sopenharmony_ci	{
5112e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5113e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5114e5c31af7Sopenharmony_ci	}
5115e5c31af7Sopenharmony_ci
5116e5c31af7Sopenharmony_ci	both ""
5117e5c31af7Sopenharmony_ci		precision mediump float;
5118e5c31af7Sopenharmony_ci
5119e5c31af7Sopenharmony_ci		${DECLARATIONS}
5120e5c31af7Sopenharmony_ci
5121e5c31af7Sopenharmony_ci		void main()
5122e5c31af7Sopenharmony_ci		{
5123e5c31af7Sopenharmony_ci			${SETUP}
5124e5c31af7Sopenharmony_ci			out0 = in0.xxx;
5125e5c31af7Sopenharmony_ci			${OUTPUT}
5126e5c31af7Sopenharmony_ci		}
5127e5c31af7Sopenharmony_ci	""
5128e5c31af7Sopenharmony_ci  end
5129e5c31af7Sopenharmony_ci
5130e5c31af7Sopenharmony_ci  case mediump_bvec3_zzz
5131e5c31af7Sopenharmony_ci	values
5132e5c31af7Sopenharmony_ci	{
5133e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5134e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5135e5c31af7Sopenharmony_ci	}
5136e5c31af7Sopenharmony_ci
5137e5c31af7Sopenharmony_ci	both ""
5138e5c31af7Sopenharmony_ci		precision mediump float;
5139e5c31af7Sopenharmony_ci
5140e5c31af7Sopenharmony_ci		${DECLARATIONS}
5141e5c31af7Sopenharmony_ci
5142e5c31af7Sopenharmony_ci		void main()
5143e5c31af7Sopenharmony_ci		{
5144e5c31af7Sopenharmony_ci			${SETUP}
5145e5c31af7Sopenharmony_ci			out0 = in0.zzz;
5146e5c31af7Sopenharmony_ci			${OUTPUT}
5147e5c31af7Sopenharmony_ci		}
5148e5c31af7Sopenharmony_ci	""
5149e5c31af7Sopenharmony_ci  end
5150e5c31af7Sopenharmony_ci
5151e5c31af7Sopenharmony_ci  case mediump_bvec3_zzy
5152e5c31af7Sopenharmony_ci	values
5153e5c31af7Sopenharmony_ci	{
5154e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5155e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5156e5c31af7Sopenharmony_ci	}
5157e5c31af7Sopenharmony_ci
5158e5c31af7Sopenharmony_ci	both ""
5159e5c31af7Sopenharmony_ci		precision mediump float;
5160e5c31af7Sopenharmony_ci
5161e5c31af7Sopenharmony_ci		${DECLARATIONS}
5162e5c31af7Sopenharmony_ci
5163e5c31af7Sopenharmony_ci		void main()
5164e5c31af7Sopenharmony_ci		{
5165e5c31af7Sopenharmony_ci			${SETUP}
5166e5c31af7Sopenharmony_ci			out0 = in0.zzy;
5167e5c31af7Sopenharmony_ci			${OUTPUT}
5168e5c31af7Sopenharmony_ci		}
5169e5c31af7Sopenharmony_ci	""
5170e5c31af7Sopenharmony_ci  end
5171e5c31af7Sopenharmony_ci
5172e5c31af7Sopenharmony_ci  case mediump_bvec3_yxy
5173e5c31af7Sopenharmony_ci	values
5174e5c31af7Sopenharmony_ci	{
5175e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5176e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5177e5c31af7Sopenharmony_ci	}
5178e5c31af7Sopenharmony_ci
5179e5c31af7Sopenharmony_ci	both ""
5180e5c31af7Sopenharmony_ci		precision mediump float;
5181e5c31af7Sopenharmony_ci
5182e5c31af7Sopenharmony_ci		${DECLARATIONS}
5183e5c31af7Sopenharmony_ci
5184e5c31af7Sopenharmony_ci		void main()
5185e5c31af7Sopenharmony_ci		{
5186e5c31af7Sopenharmony_ci			${SETUP}
5187e5c31af7Sopenharmony_ci			out0 = in0.yxy;
5188e5c31af7Sopenharmony_ci			${OUTPUT}
5189e5c31af7Sopenharmony_ci		}
5190e5c31af7Sopenharmony_ci	""
5191e5c31af7Sopenharmony_ci  end
5192e5c31af7Sopenharmony_ci
5193e5c31af7Sopenharmony_ci  case mediump_bvec3_xzx
5194e5c31af7Sopenharmony_ci	values
5195e5c31af7Sopenharmony_ci	{
5196e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5197e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(true, false, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5198e5c31af7Sopenharmony_ci	}
5199e5c31af7Sopenharmony_ci
5200e5c31af7Sopenharmony_ci	both ""
5201e5c31af7Sopenharmony_ci		precision mediump float;
5202e5c31af7Sopenharmony_ci
5203e5c31af7Sopenharmony_ci		${DECLARATIONS}
5204e5c31af7Sopenharmony_ci
5205e5c31af7Sopenharmony_ci		void main()
5206e5c31af7Sopenharmony_ci		{
5207e5c31af7Sopenharmony_ci			${SETUP}
5208e5c31af7Sopenharmony_ci			out0 = in0.xzx;
5209e5c31af7Sopenharmony_ci			${OUTPUT}
5210e5c31af7Sopenharmony_ci		}
5211e5c31af7Sopenharmony_ci	""
5212e5c31af7Sopenharmony_ci  end
5213e5c31af7Sopenharmony_ci
5214e5c31af7Sopenharmony_ci  case mediump_bvec3_xyyx
5215e5c31af7Sopenharmony_ci	values
5216e5c31af7Sopenharmony_ci	{
5217e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5218e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, false) | bvec4(false, true, true, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5219e5c31af7Sopenharmony_ci	}
5220e5c31af7Sopenharmony_ci
5221e5c31af7Sopenharmony_ci	both ""
5222e5c31af7Sopenharmony_ci		precision mediump float;
5223e5c31af7Sopenharmony_ci
5224e5c31af7Sopenharmony_ci		${DECLARATIONS}
5225e5c31af7Sopenharmony_ci
5226e5c31af7Sopenharmony_ci		void main()
5227e5c31af7Sopenharmony_ci		{
5228e5c31af7Sopenharmony_ci			${SETUP}
5229e5c31af7Sopenharmony_ci			out0 = in0.xyyx;
5230e5c31af7Sopenharmony_ci			${OUTPUT}
5231e5c31af7Sopenharmony_ci		}
5232e5c31af7Sopenharmony_ci	""
5233e5c31af7Sopenharmony_ci  end
5234e5c31af7Sopenharmony_ci
5235e5c31af7Sopenharmony_ci  case mediump_bvec3_zzzz
5236e5c31af7Sopenharmony_ci	values
5237e5c31af7Sopenharmony_ci	{
5238e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5239e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5240e5c31af7Sopenharmony_ci	}
5241e5c31af7Sopenharmony_ci
5242e5c31af7Sopenharmony_ci	both ""
5243e5c31af7Sopenharmony_ci		precision mediump float;
5244e5c31af7Sopenharmony_ci
5245e5c31af7Sopenharmony_ci		${DECLARATIONS}
5246e5c31af7Sopenharmony_ci
5247e5c31af7Sopenharmony_ci		void main()
5248e5c31af7Sopenharmony_ci		{
5249e5c31af7Sopenharmony_ci			${SETUP}
5250e5c31af7Sopenharmony_ci			out0 = in0.zzzz;
5251e5c31af7Sopenharmony_ci			${OUTPUT}
5252e5c31af7Sopenharmony_ci		}
5253e5c31af7Sopenharmony_ci	""
5254e5c31af7Sopenharmony_ci  end
5255e5c31af7Sopenharmony_ci
5256e5c31af7Sopenharmony_ci  case mediump_bvec3_s
5257e5c31af7Sopenharmony_ci	values
5258e5c31af7Sopenharmony_ci	{
5259e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5260e5c31af7Sopenharmony_ci		output bool out0 = [ true | false | false | true | false ];
5261e5c31af7Sopenharmony_ci	}
5262e5c31af7Sopenharmony_ci
5263e5c31af7Sopenharmony_ci	both ""
5264e5c31af7Sopenharmony_ci		precision mediump float;
5265e5c31af7Sopenharmony_ci
5266e5c31af7Sopenharmony_ci		${DECLARATIONS}
5267e5c31af7Sopenharmony_ci
5268e5c31af7Sopenharmony_ci		void main()
5269e5c31af7Sopenharmony_ci		{
5270e5c31af7Sopenharmony_ci			${SETUP}
5271e5c31af7Sopenharmony_ci			out0 = in0.s;
5272e5c31af7Sopenharmony_ci			${OUTPUT}
5273e5c31af7Sopenharmony_ci		}
5274e5c31af7Sopenharmony_ci	""
5275e5c31af7Sopenharmony_ci  end
5276e5c31af7Sopenharmony_ci
5277e5c31af7Sopenharmony_ci  case mediump_bvec3_p
5278e5c31af7Sopenharmony_ci	values
5279e5c31af7Sopenharmony_ci	{
5280e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5281e5c31af7Sopenharmony_ci		output bool out0 = [ false | false | false | true | false ];
5282e5c31af7Sopenharmony_ci	}
5283e5c31af7Sopenharmony_ci
5284e5c31af7Sopenharmony_ci	both ""
5285e5c31af7Sopenharmony_ci		precision mediump float;
5286e5c31af7Sopenharmony_ci
5287e5c31af7Sopenharmony_ci		${DECLARATIONS}
5288e5c31af7Sopenharmony_ci
5289e5c31af7Sopenharmony_ci		void main()
5290e5c31af7Sopenharmony_ci		{
5291e5c31af7Sopenharmony_ci			${SETUP}
5292e5c31af7Sopenharmony_ci			out0 = in0.p;
5293e5c31af7Sopenharmony_ci			${OUTPUT}
5294e5c31af7Sopenharmony_ci		}
5295e5c31af7Sopenharmony_ci	""
5296e5c31af7Sopenharmony_ci  end
5297e5c31af7Sopenharmony_ci
5298e5c31af7Sopenharmony_ci  case mediump_bvec3_sp
5299e5c31af7Sopenharmony_ci	values
5300e5c31af7Sopenharmony_ci	{
5301e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5302e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5303e5c31af7Sopenharmony_ci	}
5304e5c31af7Sopenharmony_ci
5305e5c31af7Sopenharmony_ci	both ""
5306e5c31af7Sopenharmony_ci		precision mediump float;
5307e5c31af7Sopenharmony_ci
5308e5c31af7Sopenharmony_ci		${DECLARATIONS}
5309e5c31af7Sopenharmony_ci
5310e5c31af7Sopenharmony_ci		void main()
5311e5c31af7Sopenharmony_ci		{
5312e5c31af7Sopenharmony_ci			${SETUP}
5313e5c31af7Sopenharmony_ci			out0 = in0.sp;
5314e5c31af7Sopenharmony_ci			${OUTPUT}
5315e5c31af7Sopenharmony_ci		}
5316e5c31af7Sopenharmony_ci	""
5317e5c31af7Sopenharmony_ci  end
5318e5c31af7Sopenharmony_ci
5319e5c31af7Sopenharmony_ci  case mediump_bvec3_pp
5320e5c31af7Sopenharmony_ci	values
5321e5c31af7Sopenharmony_ci	{
5322e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5323e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5324e5c31af7Sopenharmony_ci	}
5325e5c31af7Sopenharmony_ci
5326e5c31af7Sopenharmony_ci	both ""
5327e5c31af7Sopenharmony_ci		precision mediump float;
5328e5c31af7Sopenharmony_ci
5329e5c31af7Sopenharmony_ci		${DECLARATIONS}
5330e5c31af7Sopenharmony_ci
5331e5c31af7Sopenharmony_ci		void main()
5332e5c31af7Sopenharmony_ci		{
5333e5c31af7Sopenharmony_ci			${SETUP}
5334e5c31af7Sopenharmony_ci			out0 = in0.pp;
5335e5c31af7Sopenharmony_ci			${OUTPUT}
5336e5c31af7Sopenharmony_ci		}
5337e5c31af7Sopenharmony_ci	""
5338e5c31af7Sopenharmony_ci  end
5339e5c31af7Sopenharmony_ci
5340e5c31af7Sopenharmony_ci  case mediump_bvec3_stp
5341e5c31af7Sopenharmony_ci	values
5342e5c31af7Sopenharmony_ci	{
5343e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5344e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5345e5c31af7Sopenharmony_ci	}
5346e5c31af7Sopenharmony_ci
5347e5c31af7Sopenharmony_ci	both ""
5348e5c31af7Sopenharmony_ci		precision mediump float;
5349e5c31af7Sopenharmony_ci
5350e5c31af7Sopenharmony_ci		${DECLARATIONS}
5351e5c31af7Sopenharmony_ci
5352e5c31af7Sopenharmony_ci		void main()
5353e5c31af7Sopenharmony_ci		{
5354e5c31af7Sopenharmony_ci			${SETUP}
5355e5c31af7Sopenharmony_ci			out0 = in0.stp;
5356e5c31af7Sopenharmony_ci			${OUTPUT}
5357e5c31af7Sopenharmony_ci		}
5358e5c31af7Sopenharmony_ci	""
5359e5c31af7Sopenharmony_ci  end
5360e5c31af7Sopenharmony_ci
5361e5c31af7Sopenharmony_ci  case mediump_bvec3_pts
5362e5c31af7Sopenharmony_ci	values
5363e5c31af7Sopenharmony_ci	{
5364e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5365e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(false, false, true) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5366e5c31af7Sopenharmony_ci	}
5367e5c31af7Sopenharmony_ci
5368e5c31af7Sopenharmony_ci	both ""
5369e5c31af7Sopenharmony_ci		precision mediump float;
5370e5c31af7Sopenharmony_ci
5371e5c31af7Sopenharmony_ci		${DECLARATIONS}
5372e5c31af7Sopenharmony_ci
5373e5c31af7Sopenharmony_ci		void main()
5374e5c31af7Sopenharmony_ci		{
5375e5c31af7Sopenharmony_ci			${SETUP}
5376e5c31af7Sopenharmony_ci			out0 = in0.pts;
5377e5c31af7Sopenharmony_ci			${OUTPUT}
5378e5c31af7Sopenharmony_ci		}
5379e5c31af7Sopenharmony_ci	""
5380e5c31af7Sopenharmony_ci  end
5381e5c31af7Sopenharmony_ci
5382e5c31af7Sopenharmony_ci  case mediump_bvec3_sss
5383e5c31af7Sopenharmony_ci	values
5384e5c31af7Sopenharmony_ci	{
5385e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5386e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5387e5c31af7Sopenharmony_ci	}
5388e5c31af7Sopenharmony_ci
5389e5c31af7Sopenharmony_ci	both ""
5390e5c31af7Sopenharmony_ci		precision mediump float;
5391e5c31af7Sopenharmony_ci
5392e5c31af7Sopenharmony_ci		${DECLARATIONS}
5393e5c31af7Sopenharmony_ci
5394e5c31af7Sopenharmony_ci		void main()
5395e5c31af7Sopenharmony_ci		{
5396e5c31af7Sopenharmony_ci			${SETUP}
5397e5c31af7Sopenharmony_ci			out0 = in0.sss;
5398e5c31af7Sopenharmony_ci			${OUTPUT}
5399e5c31af7Sopenharmony_ci		}
5400e5c31af7Sopenharmony_ci	""
5401e5c31af7Sopenharmony_ci  end
5402e5c31af7Sopenharmony_ci
5403e5c31af7Sopenharmony_ci  case mediump_bvec3_ppp
5404e5c31af7Sopenharmony_ci	values
5405e5c31af7Sopenharmony_ci	{
5406e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5407e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5408e5c31af7Sopenharmony_ci	}
5409e5c31af7Sopenharmony_ci
5410e5c31af7Sopenharmony_ci	both ""
5411e5c31af7Sopenharmony_ci		precision mediump float;
5412e5c31af7Sopenharmony_ci
5413e5c31af7Sopenharmony_ci		${DECLARATIONS}
5414e5c31af7Sopenharmony_ci
5415e5c31af7Sopenharmony_ci		void main()
5416e5c31af7Sopenharmony_ci		{
5417e5c31af7Sopenharmony_ci			${SETUP}
5418e5c31af7Sopenharmony_ci			out0 = in0.ppp;
5419e5c31af7Sopenharmony_ci			${OUTPUT}
5420e5c31af7Sopenharmony_ci		}
5421e5c31af7Sopenharmony_ci	""
5422e5c31af7Sopenharmony_ci  end
5423e5c31af7Sopenharmony_ci
5424e5c31af7Sopenharmony_ci  case mediump_bvec3_ppt
5425e5c31af7Sopenharmony_ci	values
5426e5c31af7Sopenharmony_ci	{
5427e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5428e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5429e5c31af7Sopenharmony_ci	}
5430e5c31af7Sopenharmony_ci
5431e5c31af7Sopenharmony_ci	both ""
5432e5c31af7Sopenharmony_ci		precision mediump float;
5433e5c31af7Sopenharmony_ci
5434e5c31af7Sopenharmony_ci		${DECLARATIONS}
5435e5c31af7Sopenharmony_ci
5436e5c31af7Sopenharmony_ci		void main()
5437e5c31af7Sopenharmony_ci		{
5438e5c31af7Sopenharmony_ci			${SETUP}
5439e5c31af7Sopenharmony_ci			out0 = in0.ppt;
5440e5c31af7Sopenharmony_ci			${OUTPUT}
5441e5c31af7Sopenharmony_ci		}
5442e5c31af7Sopenharmony_ci	""
5443e5c31af7Sopenharmony_ci  end
5444e5c31af7Sopenharmony_ci
5445e5c31af7Sopenharmony_ci  case mediump_bvec3_tst
5446e5c31af7Sopenharmony_ci	values
5447e5c31af7Sopenharmony_ci	{
5448e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5449e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5450e5c31af7Sopenharmony_ci	}
5451e5c31af7Sopenharmony_ci
5452e5c31af7Sopenharmony_ci	both ""
5453e5c31af7Sopenharmony_ci		precision mediump float;
5454e5c31af7Sopenharmony_ci
5455e5c31af7Sopenharmony_ci		${DECLARATIONS}
5456e5c31af7Sopenharmony_ci
5457e5c31af7Sopenharmony_ci		void main()
5458e5c31af7Sopenharmony_ci		{
5459e5c31af7Sopenharmony_ci			${SETUP}
5460e5c31af7Sopenharmony_ci			out0 = in0.tst;
5461e5c31af7Sopenharmony_ci			${OUTPUT}
5462e5c31af7Sopenharmony_ci		}
5463e5c31af7Sopenharmony_ci	""
5464e5c31af7Sopenharmony_ci  end
5465e5c31af7Sopenharmony_ci
5466e5c31af7Sopenharmony_ci  case mediump_bvec3_sps
5467e5c31af7Sopenharmony_ci	values
5468e5c31af7Sopenharmony_ci	{
5469e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5470e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(true, false, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5471e5c31af7Sopenharmony_ci	}
5472e5c31af7Sopenharmony_ci
5473e5c31af7Sopenharmony_ci	both ""
5474e5c31af7Sopenharmony_ci		precision mediump float;
5475e5c31af7Sopenharmony_ci
5476e5c31af7Sopenharmony_ci		${DECLARATIONS}
5477e5c31af7Sopenharmony_ci
5478e5c31af7Sopenharmony_ci		void main()
5479e5c31af7Sopenharmony_ci		{
5480e5c31af7Sopenharmony_ci			${SETUP}
5481e5c31af7Sopenharmony_ci			out0 = in0.sps;
5482e5c31af7Sopenharmony_ci			${OUTPUT}
5483e5c31af7Sopenharmony_ci		}
5484e5c31af7Sopenharmony_ci	""
5485e5c31af7Sopenharmony_ci  end
5486e5c31af7Sopenharmony_ci
5487e5c31af7Sopenharmony_ci  case mediump_bvec3_stts
5488e5c31af7Sopenharmony_ci	values
5489e5c31af7Sopenharmony_ci	{
5490e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5491e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, false) | bvec4(false, true, true, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5492e5c31af7Sopenharmony_ci	}
5493e5c31af7Sopenharmony_ci
5494e5c31af7Sopenharmony_ci	both ""
5495e5c31af7Sopenharmony_ci		precision mediump float;
5496e5c31af7Sopenharmony_ci
5497e5c31af7Sopenharmony_ci		${DECLARATIONS}
5498e5c31af7Sopenharmony_ci
5499e5c31af7Sopenharmony_ci		void main()
5500e5c31af7Sopenharmony_ci		{
5501e5c31af7Sopenharmony_ci			${SETUP}
5502e5c31af7Sopenharmony_ci			out0 = in0.stts;
5503e5c31af7Sopenharmony_ci			${OUTPUT}
5504e5c31af7Sopenharmony_ci		}
5505e5c31af7Sopenharmony_ci	""
5506e5c31af7Sopenharmony_ci  end
5507e5c31af7Sopenharmony_ci
5508e5c31af7Sopenharmony_ci  case mediump_bvec3_pppp
5509e5c31af7Sopenharmony_ci	values
5510e5c31af7Sopenharmony_ci	{
5511e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5512e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5513e5c31af7Sopenharmony_ci	}
5514e5c31af7Sopenharmony_ci
5515e5c31af7Sopenharmony_ci	both ""
5516e5c31af7Sopenharmony_ci		precision mediump float;
5517e5c31af7Sopenharmony_ci
5518e5c31af7Sopenharmony_ci		${DECLARATIONS}
5519e5c31af7Sopenharmony_ci
5520e5c31af7Sopenharmony_ci		void main()
5521e5c31af7Sopenharmony_ci		{
5522e5c31af7Sopenharmony_ci			${SETUP}
5523e5c31af7Sopenharmony_ci			out0 = in0.pppp;
5524e5c31af7Sopenharmony_ci			${OUTPUT}
5525e5c31af7Sopenharmony_ci		}
5526e5c31af7Sopenharmony_ci	""
5527e5c31af7Sopenharmony_ci  end
5528e5c31af7Sopenharmony_ci
5529e5c31af7Sopenharmony_ci  case mediump_bvec3_r
5530e5c31af7Sopenharmony_ci	values
5531e5c31af7Sopenharmony_ci	{
5532e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5533e5c31af7Sopenharmony_ci		output bool out0 = [ true | false | false | true | false ];
5534e5c31af7Sopenharmony_ci	}
5535e5c31af7Sopenharmony_ci
5536e5c31af7Sopenharmony_ci	both ""
5537e5c31af7Sopenharmony_ci		precision mediump float;
5538e5c31af7Sopenharmony_ci
5539e5c31af7Sopenharmony_ci		${DECLARATIONS}
5540e5c31af7Sopenharmony_ci
5541e5c31af7Sopenharmony_ci		void main()
5542e5c31af7Sopenharmony_ci		{
5543e5c31af7Sopenharmony_ci			${SETUP}
5544e5c31af7Sopenharmony_ci			out0 = in0.r;
5545e5c31af7Sopenharmony_ci			${OUTPUT}
5546e5c31af7Sopenharmony_ci		}
5547e5c31af7Sopenharmony_ci	""
5548e5c31af7Sopenharmony_ci  end
5549e5c31af7Sopenharmony_ci
5550e5c31af7Sopenharmony_ci  case mediump_bvec3_b
5551e5c31af7Sopenharmony_ci	values
5552e5c31af7Sopenharmony_ci	{
5553e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5554e5c31af7Sopenharmony_ci		output bool out0 = [ false | false | false | true | false ];
5555e5c31af7Sopenharmony_ci	}
5556e5c31af7Sopenharmony_ci
5557e5c31af7Sopenharmony_ci	both ""
5558e5c31af7Sopenharmony_ci		precision mediump float;
5559e5c31af7Sopenharmony_ci
5560e5c31af7Sopenharmony_ci		${DECLARATIONS}
5561e5c31af7Sopenharmony_ci
5562e5c31af7Sopenharmony_ci		void main()
5563e5c31af7Sopenharmony_ci		{
5564e5c31af7Sopenharmony_ci			${SETUP}
5565e5c31af7Sopenharmony_ci			out0 = in0.b;
5566e5c31af7Sopenharmony_ci			${OUTPUT}
5567e5c31af7Sopenharmony_ci		}
5568e5c31af7Sopenharmony_ci	""
5569e5c31af7Sopenharmony_ci  end
5570e5c31af7Sopenharmony_ci
5571e5c31af7Sopenharmony_ci  case mediump_bvec3_rb
5572e5c31af7Sopenharmony_ci	values
5573e5c31af7Sopenharmony_ci	{
5574e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5575e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5576e5c31af7Sopenharmony_ci	}
5577e5c31af7Sopenharmony_ci
5578e5c31af7Sopenharmony_ci	both ""
5579e5c31af7Sopenharmony_ci		precision mediump float;
5580e5c31af7Sopenharmony_ci
5581e5c31af7Sopenharmony_ci		${DECLARATIONS}
5582e5c31af7Sopenharmony_ci
5583e5c31af7Sopenharmony_ci		void main()
5584e5c31af7Sopenharmony_ci		{
5585e5c31af7Sopenharmony_ci			${SETUP}
5586e5c31af7Sopenharmony_ci			out0 = in0.rb;
5587e5c31af7Sopenharmony_ci			${OUTPUT}
5588e5c31af7Sopenharmony_ci		}
5589e5c31af7Sopenharmony_ci	""
5590e5c31af7Sopenharmony_ci  end
5591e5c31af7Sopenharmony_ci
5592e5c31af7Sopenharmony_ci  case mediump_bvec3_bb
5593e5c31af7Sopenharmony_ci	values
5594e5c31af7Sopenharmony_ci	{
5595e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5596e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5597e5c31af7Sopenharmony_ci	}
5598e5c31af7Sopenharmony_ci
5599e5c31af7Sopenharmony_ci	both ""
5600e5c31af7Sopenharmony_ci		precision mediump float;
5601e5c31af7Sopenharmony_ci
5602e5c31af7Sopenharmony_ci		${DECLARATIONS}
5603e5c31af7Sopenharmony_ci
5604e5c31af7Sopenharmony_ci		void main()
5605e5c31af7Sopenharmony_ci		{
5606e5c31af7Sopenharmony_ci			${SETUP}
5607e5c31af7Sopenharmony_ci			out0 = in0.bb;
5608e5c31af7Sopenharmony_ci			${OUTPUT}
5609e5c31af7Sopenharmony_ci		}
5610e5c31af7Sopenharmony_ci	""
5611e5c31af7Sopenharmony_ci  end
5612e5c31af7Sopenharmony_ci
5613e5c31af7Sopenharmony_ci  case mediump_bvec3_rgb
5614e5c31af7Sopenharmony_ci	values
5615e5c31af7Sopenharmony_ci	{
5616e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5617e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5618e5c31af7Sopenharmony_ci	}
5619e5c31af7Sopenharmony_ci
5620e5c31af7Sopenharmony_ci	both ""
5621e5c31af7Sopenharmony_ci		precision mediump float;
5622e5c31af7Sopenharmony_ci
5623e5c31af7Sopenharmony_ci		${DECLARATIONS}
5624e5c31af7Sopenharmony_ci
5625e5c31af7Sopenharmony_ci		void main()
5626e5c31af7Sopenharmony_ci		{
5627e5c31af7Sopenharmony_ci			${SETUP}
5628e5c31af7Sopenharmony_ci			out0 = in0.rgb;
5629e5c31af7Sopenharmony_ci			${OUTPUT}
5630e5c31af7Sopenharmony_ci		}
5631e5c31af7Sopenharmony_ci	""
5632e5c31af7Sopenharmony_ci  end
5633e5c31af7Sopenharmony_ci
5634e5c31af7Sopenharmony_ci  case mediump_bvec3_bgr
5635e5c31af7Sopenharmony_ci	values
5636e5c31af7Sopenharmony_ci	{
5637e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5638e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(false, false, true) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5639e5c31af7Sopenharmony_ci	}
5640e5c31af7Sopenharmony_ci
5641e5c31af7Sopenharmony_ci	both ""
5642e5c31af7Sopenharmony_ci		precision mediump float;
5643e5c31af7Sopenharmony_ci
5644e5c31af7Sopenharmony_ci		${DECLARATIONS}
5645e5c31af7Sopenharmony_ci
5646e5c31af7Sopenharmony_ci		void main()
5647e5c31af7Sopenharmony_ci		{
5648e5c31af7Sopenharmony_ci			${SETUP}
5649e5c31af7Sopenharmony_ci			out0 = in0.bgr;
5650e5c31af7Sopenharmony_ci			${OUTPUT}
5651e5c31af7Sopenharmony_ci		}
5652e5c31af7Sopenharmony_ci	""
5653e5c31af7Sopenharmony_ci  end
5654e5c31af7Sopenharmony_ci
5655e5c31af7Sopenharmony_ci  case mediump_bvec3_rrr
5656e5c31af7Sopenharmony_ci	values
5657e5c31af7Sopenharmony_ci	{
5658e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5659e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5660e5c31af7Sopenharmony_ci	}
5661e5c31af7Sopenharmony_ci
5662e5c31af7Sopenharmony_ci	both ""
5663e5c31af7Sopenharmony_ci		precision mediump float;
5664e5c31af7Sopenharmony_ci
5665e5c31af7Sopenharmony_ci		${DECLARATIONS}
5666e5c31af7Sopenharmony_ci
5667e5c31af7Sopenharmony_ci		void main()
5668e5c31af7Sopenharmony_ci		{
5669e5c31af7Sopenharmony_ci			${SETUP}
5670e5c31af7Sopenharmony_ci			out0 = in0.rrr;
5671e5c31af7Sopenharmony_ci			${OUTPUT}
5672e5c31af7Sopenharmony_ci		}
5673e5c31af7Sopenharmony_ci	""
5674e5c31af7Sopenharmony_ci  end
5675e5c31af7Sopenharmony_ci
5676e5c31af7Sopenharmony_ci  case mediump_bvec3_bbb
5677e5c31af7Sopenharmony_ci	values
5678e5c31af7Sopenharmony_ci	{
5679e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5680e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5681e5c31af7Sopenharmony_ci	}
5682e5c31af7Sopenharmony_ci
5683e5c31af7Sopenharmony_ci	both ""
5684e5c31af7Sopenharmony_ci		precision mediump float;
5685e5c31af7Sopenharmony_ci
5686e5c31af7Sopenharmony_ci		${DECLARATIONS}
5687e5c31af7Sopenharmony_ci
5688e5c31af7Sopenharmony_ci		void main()
5689e5c31af7Sopenharmony_ci		{
5690e5c31af7Sopenharmony_ci			${SETUP}
5691e5c31af7Sopenharmony_ci			out0 = in0.bbb;
5692e5c31af7Sopenharmony_ci			${OUTPUT}
5693e5c31af7Sopenharmony_ci		}
5694e5c31af7Sopenharmony_ci	""
5695e5c31af7Sopenharmony_ci  end
5696e5c31af7Sopenharmony_ci
5697e5c31af7Sopenharmony_ci  case mediump_bvec3_bbg
5698e5c31af7Sopenharmony_ci	values
5699e5c31af7Sopenharmony_ci	{
5700e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5701e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5702e5c31af7Sopenharmony_ci	}
5703e5c31af7Sopenharmony_ci
5704e5c31af7Sopenharmony_ci	both ""
5705e5c31af7Sopenharmony_ci		precision mediump float;
5706e5c31af7Sopenharmony_ci
5707e5c31af7Sopenharmony_ci		${DECLARATIONS}
5708e5c31af7Sopenharmony_ci
5709e5c31af7Sopenharmony_ci		void main()
5710e5c31af7Sopenharmony_ci		{
5711e5c31af7Sopenharmony_ci			${SETUP}
5712e5c31af7Sopenharmony_ci			out0 = in0.bbg;
5713e5c31af7Sopenharmony_ci			${OUTPUT}
5714e5c31af7Sopenharmony_ci		}
5715e5c31af7Sopenharmony_ci	""
5716e5c31af7Sopenharmony_ci  end
5717e5c31af7Sopenharmony_ci
5718e5c31af7Sopenharmony_ci  case mediump_bvec3_grg
5719e5c31af7Sopenharmony_ci	values
5720e5c31af7Sopenharmony_ci	{
5721e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5722e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5723e5c31af7Sopenharmony_ci	}
5724e5c31af7Sopenharmony_ci
5725e5c31af7Sopenharmony_ci	both ""
5726e5c31af7Sopenharmony_ci		precision mediump float;
5727e5c31af7Sopenharmony_ci
5728e5c31af7Sopenharmony_ci		${DECLARATIONS}
5729e5c31af7Sopenharmony_ci
5730e5c31af7Sopenharmony_ci		void main()
5731e5c31af7Sopenharmony_ci		{
5732e5c31af7Sopenharmony_ci			${SETUP}
5733e5c31af7Sopenharmony_ci			out0 = in0.grg;
5734e5c31af7Sopenharmony_ci			${OUTPUT}
5735e5c31af7Sopenharmony_ci		}
5736e5c31af7Sopenharmony_ci	""
5737e5c31af7Sopenharmony_ci  end
5738e5c31af7Sopenharmony_ci
5739e5c31af7Sopenharmony_ci  case mediump_bvec3_rbr
5740e5c31af7Sopenharmony_ci	values
5741e5c31af7Sopenharmony_ci	{
5742e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5743e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(true, false, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5744e5c31af7Sopenharmony_ci	}
5745e5c31af7Sopenharmony_ci
5746e5c31af7Sopenharmony_ci	both ""
5747e5c31af7Sopenharmony_ci		precision mediump float;
5748e5c31af7Sopenharmony_ci
5749e5c31af7Sopenharmony_ci		${DECLARATIONS}
5750e5c31af7Sopenharmony_ci
5751e5c31af7Sopenharmony_ci		void main()
5752e5c31af7Sopenharmony_ci		{
5753e5c31af7Sopenharmony_ci			${SETUP}
5754e5c31af7Sopenharmony_ci			out0 = in0.rbr;
5755e5c31af7Sopenharmony_ci			${OUTPUT}
5756e5c31af7Sopenharmony_ci		}
5757e5c31af7Sopenharmony_ci	""
5758e5c31af7Sopenharmony_ci  end
5759e5c31af7Sopenharmony_ci
5760e5c31af7Sopenharmony_ci  case mediump_bvec3_rggr
5761e5c31af7Sopenharmony_ci	values
5762e5c31af7Sopenharmony_ci	{
5763e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5764e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, false) | bvec4(false, true, true, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5765e5c31af7Sopenharmony_ci	}
5766e5c31af7Sopenharmony_ci
5767e5c31af7Sopenharmony_ci	both ""
5768e5c31af7Sopenharmony_ci		precision mediump float;
5769e5c31af7Sopenharmony_ci
5770e5c31af7Sopenharmony_ci		${DECLARATIONS}
5771e5c31af7Sopenharmony_ci
5772e5c31af7Sopenharmony_ci		void main()
5773e5c31af7Sopenharmony_ci		{
5774e5c31af7Sopenharmony_ci			${SETUP}
5775e5c31af7Sopenharmony_ci			out0 = in0.rggr;
5776e5c31af7Sopenharmony_ci			${OUTPUT}
5777e5c31af7Sopenharmony_ci		}
5778e5c31af7Sopenharmony_ci	""
5779e5c31af7Sopenharmony_ci  end
5780e5c31af7Sopenharmony_ci
5781e5c31af7Sopenharmony_ci  case mediump_bvec3_bbbb
5782e5c31af7Sopenharmony_ci	values
5783e5c31af7Sopenharmony_ci	{
5784e5c31af7Sopenharmony_ci		input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5785e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5786e5c31af7Sopenharmony_ci	}
5787e5c31af7Sopenharmony_ci
5788e5c31af7Sopenharmony_ci	both ""
5789e5c31af7Sopenharmony_ci		precision mediump float;
5790e5c31af7Sopenharmony_ci
5791e5c31af7Sopenharmony_ci		${DECLARATIONS}
5792e5c31af7Sopenharmony_ci
5793e5c31af7Sopenharmony_ci		void main()
5794e5c31af7Sopenharmony_ci		{
5795e5c31af7Sopenharmony_ci			${SETUP}
5796e5c31af7Sopenharmony_ci			out0 = in0.bbbb;
5797e5c31af7Sopenharmony_ci			${OUTPUT}
5798e5c31af7Sopenharmony_ci		}
5799e5c31af7Sopenharmony_ci	""
5800e5c31af7Sopenharmony_ci  end
5801e5c31af7Sopenharmony_ci
5802e5c31af7Sopenharmony_ci  case mediump_bvec4_x
5803e5c31af7Sopenharmony_ci	values
5804e5c31af7Sopenharmony_ci	{
5805e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5806e5c31af7Sopenharmony_ci		output bool out0 = [ true | false | false | true | false ];
5807e5c31af7Sopenharmony_ci	}
5808e5c31af7Sopenharmony_ci
5809e5c31af7Sopenharmony_ci	both ""
5810e5c31af7Sopenharmony_ci		precision mediump float;
5811e5c31af7Sopenharmony_ci
5812e5c31af7Sopenharmony_ci		${DECLARATIONS}
5813e5c31af7Sopenharmony_ci
5814e5c31af7Sopenharmony_ci		void main()
5815e5c31af7Sopenharmony_ci		{
5816e5c31af7Sopenharmony_ci			${SETUP}
5817e5c31af7Sopenharmony_ci			out0 = in0.x;
5818e5c31af7Sopenharmony_ci			${OUTPUT}
5819e5c31af7Sopenharmony_ci		}
5820e5c31af7Sopenharmony_ci	""
5821e5c31af7Sopenharmony_ci  end
5822e5c31af7Sopenharmony_ci
5823e5c31af7Sopenharmony_ci  case mediump_bvec4_w
5824e5c31af7Sopenharmony_ci	values
5825e5c31af7Sopenharmony_ci	{
5826e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5827e5c31af7Sopenharmony_ci		output bool out0 = [ true | true | false | true | false ];
5828e5c31af7Sopenharmony_ci	}
5829e5c31af7Sopenharmony_ci
5830e5c31af7Sopenharmony_ci	both ""
5831e5c31af7Sopenharmony_ci		precision mediump float;
5832e5c31af7Sopenharmony_ci
5833e5c31af7Sopenharmony_ci		${DECLARATIONS}
5834e5c31af7Sopenharmony_ci
5835e5c31af7Sopenharmony_ci		void main()
5836e5c31af7Sopenharmony_ci		{
5837e5c31af7Sopenharmony_ci			${SETUP}
5838e5c31af7Sopenharmony_ci			out0 = in0.w;
5839e5c31af7Sopenharmony_ci			${OUTPUT}
5840e5c31af7Sopenharmony_ci		}
5841e5c31af7Sopenharmony_ci	""
5842e5c31af7Sopenharmony_ci  end
5843e5c31af7Sopenharmony_ci
5844e5c31af7Sopenharmony_ci  case mediump_bvec4_wx
5845e5c31af7Sopenharmony_ci	values
5846e5c31af7Sopenharmony_ci	{
5847e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5848e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5849e5c31af7Sopenharmony_ci	}
5850e5c31af7Sopenharmony_ci
5851e5c31af7Sopenharmony_ci	both ""
5852e5c31af7Sopenharmony_ci		precision mediump float;
5853e5c31af7Sopenharmony_ci
5854e5c31af7Sopenharmony_ci		${DECLARATIONS}
5855e5c31af7Sopenharmony_ci
5856e5c31af7Sopenharmony_ci		void main()
5857e5c31af7Sopenharmony_ci		{
5858e5c31af7Sopenharmony_ci			${SETUP}
5859e5c31af7Sopenharmony_ci			out0 = in0.wx;
5860e5c31af7Sopenharmony_ci			${OUTPUT}
5861e5c31af7Sopenharmony_ci		}
5862e5c31af7Sopenharmony_ci	""
5863e5c31af7Sopenharmony_ci  end
5864e5c31af7Sopenharmony_ci
5865e5c31af7Sopenharmony_ci  case mediump_bvec4_wz
5866e5c31af7Sopenharmony_ci	values
5867e5c31af7Sopenharmony_ci	{
5868e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5869e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(true, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5870e5c31af7Sopenharmony_ci	}
5871e5c31af7Sopenharmony_ci
5872e5c31af7Sopenharmony_ci	both ""
5873e5c31af7Sopenharmony_ci		precision mediump float;
5874e5c31af7Sopenharmony_ci
5875e5c31af7Sopenharmony_ci		${DECLARATIONS}
5876e5c31af7Sopenharmony_ci
5877e5c31af7Sopenharmony_ci		void main()
5878e5c31af7Sopenharmony_ci		{
5879e5c31af7Sopenharmony_ci			${SETUP}
5880e5c31af7Sopenharmony_ci			out0 = in0.wz;
5881e5c31af7Sopenharmony_ci			${OUTPUT}
5882e5c31af7Sopenharmony_ci		}
5883e5c31af7Sopenharmony_ci	""
5884e5c31af7Sopenharmony_ci  end
5885e5c31af7Sopenharmony_ci
5886e5c31af7Sopenharmony_ci  case mediump_bvec4_www
5887e5c31af7Sopenharmony_ci	values
5888e5c31af7Sopenharmony_ci	{
5889e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5890e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5891e5c31af7Sopenharmony_ci	}
5892e5c31af7Sopenharmony_ci
5893e5c31af7Sopenharmony_ci	both ""
5894e5c31af7Sopenharmony_ci		precision mediump float;
5895e5c31af7Sopenharmony_ci
5896e5c31af7Sopenharmony_ci		${DECLARATIONS}
5897e5c31af7Sopenharmony_ci
5898e5c31af7Sopenharmony_ci		void main()
5899e5c31af7Sopenharmony_ci		{
5900e5c31af7Sopenharmony_ci			${SETUP}
5901e5c31af7Sopenharmony_ci			out0 = in0.www;
5902e5c31af7Sopenharmony_ci			${OUTPUT}
5903e5c31af7Sopenharmony_ci		}
5904e5c31af7Sopenharmony_ci	""
5905e5c31af7Sopenharmony_ci  end
5906e5c31af7Sopenharmony_ci
5907e5c31af7Sopenharmony_ci  case mediump_bvec4_yyw
5908e5c31af7Sopenharmony_ci	values
5909e5c31af7Sopenharmony_ci	{
5910e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5911e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(false, false, true) | bvec3(false, false, true) | bvec3(true, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5912e5c31af7Sopenharmony_ci	}
5913e5c31af7Sopenharmony_ci
5914e5c31af7Sopenharmony_ci	both ""
5915e5c31af7Sopenharmony_ci		precision mediump float;
5916e5c31af7Sopenharmony_ci
5917e5c31af7Sopenharmony_ci		${DECLARATIONS}
5918e5c31af7Sopenharmony_ci
5919e5c31af7Sopenharmony_ci		void main()
5920e5c31af7Sopenharmony_ci		{
5921e5c31af7Sopenharmony_ci			${SETUP}
5922e5c31af7Sopenharmony_ci			out0 = in0.yyw;
5923e5c31af7Sopenharmony_ci			${OUTPUT}
5924e5c31af7Sopenharmony_ci		}
5925e5c31af7Sopenharmony_ci	""
5926e5c31af7Sopenharmony_ci  end
5927e5c31af7Sopenharmony_ci
5928e5c31af7Sopenharmony_ci  case mediump_bvec4_wzy
5929e5c31af7Sopenharmony_ci	values
5930e5c31af7Sopenharmony_ci	{
5931e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5932e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(true, false, false) | bvec3(true, false, false) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5933e5c31af7Sopenharmony_ci	}
5934e5c31af7Sopenharmony_ci
5935e5c31af7Sopenharmony_ci	both ""
5936e5c31af7Sopenharmony_ci		precision mediump float;
5937e5c31af7Sopenharmony_ci
5938e5c31af7Sopenharmony_ci		${DECLARATIONS}
5939e5c31af7Sopenharmony_ci
5940e5c31af7Sopenharmony_ci		void main()
5941e5c31af7Sopenharmony_ci		{
5942e5c31af7Sopenharmony_ci			${SETUP}
5943e5c31af7Sopenharmony_ci			out0 = in0.wzy;
5944e5c31af7Sopenharmony_ci			${OUTPUT}
5945e5c31af7Sopenharmony_ci		}
5946e5c31af7Sopenharmony_ci	""
5947e5c31af7Sopenharmony_ci  end
5948e5c31af7Sopenharmony_ci
5949e5c31af7Sopenharmony_ci  case mediump_bvec4_xyzw
5950e5c31af7Sopenharmony_ci	values
5951e5c31af7Sopenharmony_ci	{
5952e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5953e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5954e5c31af7Sopenharmony_ci	}
5955e5c31af7Sopenharmony_ci
5956e5c31af7Sopenharmony_ci	both ""
5957e5c31af7Sopenharmony_ci		precision mediump float;
5958e5c31af7Sopenharmony_ci
5959e5c31af7Sopenharmony_ci		${DECLARATIONS}
5960e5c31af7Sopenharmony_ci
5961e5c31af7Sopenharmony_ci		void main()
5962e5c31af7Sopenharmony_ci		{
5963e5c31af7Sopenharmony_ci			${SETUP}
5964e5c31af7Sopenharmony_ci			out0 = in0.xyzw;
5965e5c31af7Sopenharmony_ci			${OUTPUT}
5966e5c31af7Sopenharmony_ci		}
5967e5c31af7Sopenharmony_ci	""
5968e5c31af7Sopenharmony_ci  end
5969e5c31af7Sopenharmony_ci
5970e5c31af7Sopenharmony_ci  case mediump_bvec4_wzyx
5971e5c31af7Sopenharmony_ci	values
5972e5c31af7Sopenharmony_ci	{
5973e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5974e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, false) | bvec4(false, false, true, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5975e5c31af7Sopenharmony_ci	}
5976e5c31af7Sopenharmony_ci
5977e5c31af7Sopenharmony_ci	both ""
5978e5c31af7Sopenharmony_ci		precision mediump float;
5979e5c31af7Sopenharmony_ci
5980e5c31af7Sopenharmony_ci		${DECLARATIONS}
5981e5c31af7Sopenharmony_ci
5982e5c31af7Sopenharmony_ci		void main()
5983e5c31af7Sopenharmony_ci		{
5984e5c31af7Sopenharmony_ci			${SETUP}
5985e5c31af7Sopenharmony_ci			out0 = in0.wzyx;
5986e5c31af7Sopenharmony_ci			${OUTPUT}
5987e5c31af7Sopenharmony_ci		}
5988e5c31af7Sopenharmony_ci	""
5989e5c31af7Sopenharmony_ci  end
5990e5c31af7Sopenharmony_ci
5991e5c31af7Sopenharmony_ci  case mediump_bvec4_xxxx
5992e5c31af7Sopenharmony_ci	values
5993e5c31af7Sopenharmony_ci	{
5994e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5995e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5996e5c31af7Sopenharmony_ci	}
5997e5c31af7Sopenharmony_ci
5998e5c31af7Sopenharmony_ci	both ""
5999e5c31af7Sopenharmony_ci		precision mediump float;
6000e5c31af7Sopenharmony_ci
6001e5c31af7Sopenharmony_ci		${DECLARATIONS}
6002e5c31af7Sopenharmony_ci
6003e5c31af7Sopenharmony_ci		void main()
6004e5c31af7Sopenharmony_ci		{
6005e5c31af7Sopenharmony_ci			${SETUP}
6006e5c31af7Sopenharmony_ci			out0 = in0.xxxx;
6007e5c31af7Sopenharmony_ci			${OUTPUT}
6008e5c31af7Sopenharmony_ci		}
6009e5c31af7Sopenharmony_ci	""
6010e5c31af7Sopenharmony_ci  end
6011e5c31af7Sopenharmony_ci
6012e5c31af7Sopenharmony_ci  case mediump_bvec4_yyyy
6013e5c31af7Sopenharmony_ci	values
6014e5c31af7Sopenharmony_ci	{
6015e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6016e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6017e5c31af7Sopenharmony_ci	}
6018e5c31af7Sopenharmony_ci
6019e5c31af7Sopenharmony_ci	both ""
6020e5c31af7Sopenharmony_ci		precision mediump float;
6021e5c31af7Sopenharmony_ci
6022e5c31af7Sopenharmony_ci		${DECLARATIONS}
6023e5c31af7Sopenharmony_ci
6024e5c31af7Sopenharmony_ci		void main()
6025e5c31af7Sopenharmony_ci		{
6026e5c31af7Sopenharmony_ci			${SETUP}
6027e5c31af7Sopenharmony_ci			out0 = in0.yyyy;
6028e5c31af7Sopenharmony_ci			${OUTPUT}
6029e5c31af7Sopenharmony_ci		}
6030e5c31af7Sopenharmony_ci	""
6031e5c31af7Sopenharmony_ci  end
6032e5c31af7Sopenharmony_ci
6033e5c31af7Sopenharmony_ci  case mediump_bvec4_wwww
6034e5c31af7Sopenharmony_ci	values
6035e5c31af7Sopenharmony_ci	{
6036e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6037e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6038e5c31af7Sopenharmony_ci	}
6039e5c31af7Sopenharmony_ci
6040e5c31af7Sopenharmony_ci	both ""
6041e5c31af7Sopenharmony_ci		precision mediump float;
6042e5c31af7Sopenharmony_ci
6043e5c31af7Sopenharmony_ci		${DECLARATIONS}
6044e5c31af7Sopenharmony_ci
6045e5c31af7Sopenharmony_ci		void main()
6046e5c31af7Sopenharmony_ci		{
6047e5c31af7Sopenharmony_ci			${SETUP}
6048e5c31af7Sopenharmony_ci			out0 = in0.wwww;
6049e5c31af7Sopenharmony_ci			${OUTPUT}
6050e5c31af7Sopenharmony_ci		}
6051e5c31af7Sopenharmony_ci	""
6052e5c31af7Sopenharmony_ci  end
6053e5c31af7Sopenharmony_ci
6054e5c31af7Sopenharmony_ci  case mediump_bvec4_wzzw
6055e5c31af7Sopenharmony_ci	values
6056e5c31af7Sopenharmony_ci	{
6057e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6058e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6059e5c31af7Sopenharmony_ci	}
6060e5c31af7Sopenharmony_ci
6061e5c31af7Sopenharmony_ci	both ""
6062e5c31af7Sopenharmony_ci		precision mediump float;
6063e5c31af7Sopenharmony_ci
6064e5c31af7Sopenharmony_ci		${DECLARATIONS}
6065e5c31af7Sopenharmony_ci
6066e5c31af7Sopenharmony_ci		void main()
6067e5c31af7Sopenharmony_ci		{
6068e5c31af7Sopenharmony_ci			${SETUP}
6069e5c31af7Sopenharmony_ci			out0 = in0.wzzw;
6070e5c31af7Sopenharmony_ci			${OUTPUT}
6071e5c31af7Sopenharmony_ci		}
6072e5c31af7Sopenharmony_ci	""
6073e5c31af7Sopenharmony_ci  end
6074e5c31af7Sopenharmony_ci
6075e5c31af7Sopenharmony_ci  case mediump_bvec4_wwwy
6076e5c31af7Sopenharmony_ci	values
6077e5c31af7Sopenharmony_ci	{
6078e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6079e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, true, true, false) | bvec4(true, true, true, false) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6080e5c31af7Sopenharmony_ci	}
6081e5c31af7Sopenharmony_ci
6082e5c31af7Sopenharmony_ci	both ""
6083e5c31af7Sopenharmony_ci		precision mediump float;
6084e5c31af7Sopenharmony_ci
6085e5c31af7Sopenharmony_ci		${DECLARATIONS}
6086e5c31af7Sopenharmony_ci
6087e5c31af7Sopenharmony_ci		void main()
6088e5c31af7Sopenharmony_ci		{
6089e5c31af7Sopenharmony_ci			${SETUP}
6090e5c31af7Sopenharmony_ci			out0 = in0.wwwy;
6091e5c31af7Sopenharmony_ci			${OUTPUT}
6092e5c31af7Sopenharmony_ci		}
6093e5c31af7Sopenharmony_ci	""
6094e5c31af7Sopenharmony_ci  end
6095e5c31af7Sopenharmony_ci
6096e5c31af7Sopenharmony_ci  case mediump_bvec4_xyxx
6097e5c31af7Sopenharmony_ci	values
6098e5c31af7Sopenharmony_ci	{
6099e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6100e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6101e5c31af7Sopenharmony_ci	}
6102e5c31af7Sopenharmony_ci
6103e5c31af7Sopenharmony_ci	both ""
6104e5c31af7Sopenharmony_ci		precision mediump float;
6105e5c31af7Sopenharmony_ci
6106e5c31af7Sopenharmony_ci		${DECLARATIONS}
6107e5c31af7Sopenharmony_ci
6108e5c31af7Sopenharmony_ci		void main()
6109e5c31af7Sopenharmony_ci		{
6110e5c31af7Sopenharmony_ci			${SETUP}
6111e5c31af7Sopenharmony_ci			out0 = in0.xyxx;
6112e5c31af7Sopenharmony_ci			${OUTPUT}
6113e5c31af7Sopenharmony_ci		}
6114e5c31af7Sopenharmony_ci	""
6115e5c31af7Sopenharmony_ci  end
6116e5c31af7Sopenharmony_ci
6117e5c31af7Sopenharmony_ci  case mediump_bvec4_zzwz
6118e5c31af7Sopenharmony_ci	values
6119e5c31af7Sopenharmony_ci	{
6120e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6121e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(false, false, true, false) | bvec4(false, false, true, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6122e5c31af7Sopenharmony_ci	}
6123e5c31af7Sopenharmony_ci
6124e5c31af7Sopenharmony_ci	both ""
6125e5c31af7Sopenharmony_ci		precision mediump float;
6126e5c31af7Sopenharmony_ci
6127e5c31af7Sopenharmony_ci		${DECLARATIONS}
6128e5c31af7Sopenharmony_ci
6129e5c31af7Sopenharmony_ci		void main()
6130e5c31af7Sopenharmony_ci		{
6131e5c31af7Sopenharmony_ci			${SETUP}
6132e5c31af7Sopenharmony_ci			out0 = in0.zzwz;
6133e5c31af7Sopenharmony_ci			${OUTPUT}
6134e5c31af7Sopenharmony_ci		}
6135e5c31af7Sopenharmony_ci	""
6136e5c31af7Sopenharmony_ci  end
6137e5c31af7Sopenharmony_ci
6138e5c31af7Sopenharmony_ci  case mediump_bvec4_s
6139e5c31af7Sopenharmony_ci	values
6140e5c31af7Sopenharmony_ci	{
6141e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6142e5c31af7Sopenharmony_ci		output bool out0 = [ true | false | false | true | false ];
6143e5c31af7Sopenharmony_ci	}
6144e5c31af7Sopenharmony_ci
6145e5c31af7Sopenharmony_ci	both ""
6146e5c31af7Sopenharmony_ci		precision mediump float;
6147e5c31af7Sopenharmony_ci
6148e5c31af7Sopenharmony_ci		${DECLARATIONS}
6149e5c31af7Sopenharmony_ci
6150e5c31af7Sopenharmony_ci		void main()
6151e5c31af7Sopenharmony_ci		{
6152e5c31af7Sopenharmony_ci			${SETUP}
6153e5c31af7Sopenharmony_ci			out0 = in0.s;
6154e5c31af7Sopenharmony_ci			${OUTPUT}
6155e5c31af7Sopenharmony_ci		}
6156e5c31af7Sopenharmony_ci	""
6157e5c31af7Sopenharmony_ci  end
6158e5c31af7Sopenharmony_ci
6159e5c31af7Sopenharmony_ci  case mediump_bvec4_q
6160e5c31af7Sopenharmony_ci	values
6161e5c31af7Sopenharmony_ci	{
6162e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6163e5c31af7Sopenharmony_ci		output bool out0 = [ true | true | false | true | false ];
6164e5c31af7Sopenharmony_ci	}
6165e5c31af7Sopenharmony_ci
6166e5c31af7Sopenharmony_ci	both ""
6167e5c31af7Sopenharmony_ci		precision mediump float;
6168e5c31af7Sopenharmony_ci
6169e5c31af7Sopenharmony_ci		${DECLARATIONS}
6170e5c31af7Sopenharmony_ci
6171e5c31af7Sopenharmony_ci		void main()
6172e5c31af7Sopenharmony_ci		{
6173e5c31af7Sopenharmony_ci			${SETUP}
6174e5c31af7Sopenharmony_ci			out0 = in0.q;
6175e5c31af7Sopenharmony_ci			${OUTPUT}
6176e5c31af7Sopenharmony_ci		}
6177e5c31af7Sopenharmony_ci	""
6178e5c31af7Sopenharmony_ci  end
6179e5c31af7Sopenharmony_ci
6180e5c31af7Sopenharmony_ci  case mediump_bvec4_qs
6181e5c31af7Sopenharmony_ci	values
6182e5c31af7Sopenharmony_ci	{
6183e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6184e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
6185e5c31af7Sopenharmony_ci	}
6186e5c31af7Sopenharmony_ci
6187e5c31af7Sopenharmony_ci	both ""
6188e5c31af7Sopenharmony_ci		precision mediump float;
6189e5c31af7Sopenharmony_ci
6190e5c31af7Sopenharmony_ci		${DECLARATIONS}
6191e5c31af7Sopenharmony_ci
6192e5c31af7Sopenharmony_ci		void main()
6193e5c31af7Sopenharmony_ci		{
6194e5c31af7Sopenharmony_ci			${SETUP}
6195e5c31af7Sopenharmony_ci			out0 = in0.qs;
6196e5c31af7Sopenharmony_ci			${OUTPUT}
6197e5c31af7Sopenharmony_ci		}
6198e5c31af7Sopenharmony_ci	""
6199e5c31af7Sopenharmony_ci  end
6200e5c31af7Sopenharmony_ci
6201e5c31af7Sopenharmony_ci  case mediump_bvec4_qp
6202e5c31af7Sopenharmony_ci	values
6203e5c31af7Sopenharmony_ci	{
6204e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6205e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(true, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
6206e5c31af7Sopenharmony_ci	}
6207e5c31af7Sopenharmony_ci
6208e5c31af7Sopenharmony_ci	both ""
6209e5c31af7Sopenharmony_ci		precision mediump float;
6210e5c31af7Sopenharmony_ci
6211e5c31af7Sopenharmony_ci		${DECLARATIONS}
6212e5c31af7Sopenharmony_ci
6213e5c31af7Sopenharmony_ci		void main()
6214e5c31af7Sopenharmony_ci		{
6215e5c31af7Sopenharmony_ci			${SETUP}
6216e5c31af7Sopenharmony_ci			out0 = in0.qp;
6217e5c31af7Sopenharmony_ci			${OUTPUT}
6218e5c31af7Sopenharmony_ci		}
6219e5c31af7Sopenharmony_ci	""
6220e5c31af7Sopenharmony_ci  end
6221e5c31af7Sopenharmony_ci
6222e5c31af7Sopenharmony_ci  case mediump_bvec4_qqq
6223e5c31af7Sopenharmony_ci	values
6224e5c31af7Sopenharmony_ci	{
6225e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6226e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6227e5c31af7Sopenharmony_ci	}
6228e5c31af7Sopenharmony_ci
6229e5c31af7Sopenharmony_ci	both ""
6230e5c31af7Sopenharmony_ci		precision mediump float;
6231e5c31af7Sopenharmony_ci
6232e5c31af7Sopenharmony_ci		${DECLARATIONS}
6233e5c31af7Sopenharmony_ci
6234e5c31af7Sopenharmony_ci		void main()
6235e5c31af7Sopenharmony_ci		{
6236e5c31af7Sopenharmony_ci			${SETUP}
6237e5c31af7Sopenharmony_ci			out0 = in0.qqq;
6238e5c31af7Sopenharmony_ci			${OUTPUT}
6239e5c31af7Sopenharmony_ci		}
6240e5c31af7Sopenharmony_ci	""
6241e5c31af7Sopenharmony_ci  end
6242e5c31af7Sopenharmony_ci
6243e5c31af7Sopenharmony_ci  case mediump_bvec4_ttq
6244e5c31af7Sopenharmony_ci	values
6245e5c31af7Sopenharmony_ci	{
6246e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6247e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(false, false, true) | bvec3(false, false, true) | bvec3(true, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6248e5c31af7Sopenharmony_ci	}
6249e5c31af7Sopenharmony_ci
6250e5c31af7Sopenharmony_ci	both ""
6251e5c31af7Sopenharmony_ci		precision mediump float;
6252e5c31af7Sopenharmony_ci
6253e5c31af7Sopenharmony_ci		${DECLARATIONS}
6254e5c31af7Sopenharmony_ci
6255e5c31af7Sopenharmony_ci		void main()
6256e5c31af7Sopenharmony_ci		{
6257e5c31af7Sopenharmony_ci			${SETUP}
6258e5c31af7Sopenharmony_ci			out0 = in0.ttq;
6259e5c31af7Sopenharmony_ci			${OUTPUT}
6260e5c31af7Sopenharmony_ci		}
6261e5c31af7Sopenharmony_ci	""
6262e5c31af7Sopenharmony_ci  end
6263e5c31af7Sopenharmony_ci
6264e5c31af7Sopenharmony_ci  case mediump_bvec4_qpt
6265e5c31af7Sopenharmony_ci	values
6266e5c31af7Sopenharmony_ci	{
6267e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6268e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(true, false, false) | bvec3(true, false, false) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
6269e5c31af7Sopenharmony_ci	}
6270e5c31af7Sopenharmony_ci
6271e5c31af7Sopenharmony_ci	both ""
6272e5c31af7Sopenharmony_ci		precision mediump float;
6273e5c31af7Sopenharmony_ci
6274e5c31af7Sopenharmony_ci		${DECLARATIONS}
6275e5c31af7Sopenharmony_ci
6276e5c31af7Sopenharmony_ci		void main()
6277e5c31af7Sopenharmony_ci		{
6278e5c31af7Sopenharmony_ci			${SETUP}
6279e5c31af7Sopenharmony_ci			out0 = in0.qpt;
6280e5c31af7Sopenharmony_ci			${OUTPUT}
6281e5c31af7Sopenharmony_ci		}
6282e5c31af7Sopenharmony_ci	""
6283e5c31af7Sopenharmony_ci  end
6284e5c31af7Sopenharmony_ci
6285e5c31af7Sopenharmony_ci  case mediump_bvec4_stpq
6286e5c31af7Sopenharmony_ci	values
6287e5c31af7Sopenharmony_ci	{
6288e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6289e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6290e5c31af7Sopenharmony_ci	}
6291e5c31af7Sopenharmony_ci
6292e5c31af7Sopenharmony_ci	both ""
6293e5c31af7Sopenharmony_ci		precision mediump float;
6294e5c31af7Sopenharmony_ci
6295e5c31af7Sopenharmony_ci		${DECLARATIONS}
6296e5c31af7Sopenharmony_ci
6297e5c31af7Sopenharmony_ci		void main()
6298e5c31af7Sopenharmony_ci		{
6299e5c31af7Sopenharmony_ci			${SETUP}
6300e5c31af7Sopenharmony_ci			out0 = in0.stpq;
6301e5c31af7Sopenharmony_ci			${OUTPUT}
6302e5c31af7Sopenharmony_ci		}
6303e5c31af7Sopenharmony_ci	""
6304e5c31af7Sopenharmony_ci  end
6305e5c31af7Sopenharmony_ci
6306e5c31af7Sopenharmony_ci  case mediump_bvec4_qpts
6307e5c31af7Sopenharmony_ci	values
6308e5c31af7Sopenharmony_ci	{
6309e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6310e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, false) | bvec4(false, false, true, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6311e5c31af7Sopenharmony_ci	}
6312e5c31af7Sopenharmony_ci
6313e5c31af7Sopenharmony_ci	both ""
6314e5c31af7Sopenharmony_ci		precision mediump float;
6315e5c31af7Sopenharmony_ci
6316e5c31af7Sopenharmony_ci		${DECLARATIONS}
6317e5c31af7Sopenharmony_ci
6318e5c31af7Sopenharmony_ci		void main()
6319e5c31af7Sopenharmony_ci		{
6320e5c31af7Sopenharmony_ci			${SETUP}
6321e5c31af7Sopenharmony_ci			out0 = in0.qpts;
6322e5c31af7Sopenharmony_ci			${OUTPUT}
6323e5c31af7Sopenharmony_ci		}
6324e5c31af7Sopenharmony_ci	""
6325e5c31af7Sopenharmony_ci  end
6326e5c31af7Sopenharmony_ci
6327e5c31af7Sopenharmony_ci  case mediump_bvec4_ssss
6328e5c31af7Sopenharmony_ci	values
6329e5c31af7Sopenharmony_ci	{
6330e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6331e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6332e5c31af7Sopenharmony_ci	}
6333e5c31af7Sopenharmony_ci
6334e5c31af7Sopenharmony_ci	both ""
6335e5c31af7Sopenharmony_ci		precision mediump float;
6336e5c31af7Sopenharmony_ci
6337e5c31af7Sopenharmony_ci		${DECLARATIONS}
6338e5c31af7Sopenharmony_ci
6339e5c31af7Sopenharmony_ci		void main()
6340e5c31af7Sopenharmony_ci		{
6341e5c31af7Sopenharmony_ci			${SETUP}
6342e5c31af7Sopenharmony_ci			out0 = in0.ssss;
6343e5c31af7Sopenharmony_ci			${OUTPUT}
6344e5c31af7Sopenharmony_ci		}
6345e5c31af7Sopenharmony_ci	""
6346e5c31af7Sopenharmony_ci  end
6347e5c31af7Sopenharmony_ci
6348e5c31af7Sopenharmony_ci  case mediump_bvec4_tttt
6349e5c31af7Sopenharmony_ci	values
6350e5c31af7Sopenharmony_ci	{
6351e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6352e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6353e5c31af7Sopenharmony_ci	}
6354e5c31af7Sopenharmony_ci
6355e5c31af7Sopenharmony_ci	both ""
6356e5c31af7Sopenharmony_ci		precision mediump float;
6357e5c31af7Sopenharmony_ci
6358e5c31af7Sopenharmony_ci		${DECLARATIONS}
6359e5c31af7Sopenharmony_ci
6360e5c31af7Sopenharmony_ci		void main()
6361e5c31af7Sopenharmony_ci		{
6362e5c31af7Sopenharmony_ci			${SETUP}
6363e5c31af7Sopenharmony_ci			out0 = in0.tttt;
6364e5c31af7Sopenharmony_ci			${OUTPUT}
6365e5c31af7Sopenharmony_ci		}
6366e5c31af7Sopenharmony_ci	""
6367e5c31af7Sopenharmony_ci  end
6368e5c31af7Sopenharmony_ci
6369e5c31af7Sopenharmony_ci  case mediump_bvec4_qqqq
6370e5c31af7Sopenharmony_ci	values
6371e5c31af7Sopenharmony_ci	{
6372e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6373e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6374e5c31af7Sopenharmony_ci	}
6375e5c31af7Sopenharmony_ci
6376e5c31af7Sopenharmony_ci	both ""
6377e5c31af7Sopenharmony_ci		precision mediump float;
6378e5c31af7Sopenharmony_ci
6379e5c31af7Sopenharmony_ci		${DECLARATIONS}
6380e5c31af7Sopenharmony_ci
6381e5c31af7Sopenharmony_ci		void main()
6382e5c31af7Sopenharmony_ci		{
6383e5c31af7Sopenharmony_ci			${SETUP}
6384e5c31af7Sopenharmony_ci			out0 = in0.qqqq;
6385e5c31af7Sopenharmony_ci			${OUTPUT}
6386e5c31af7Sopenharmony_ci		}
6387e5c31af7Sopenharmony_ci	""
6388e5c31af7Sopenharmony_ci  end
6389e5c31af7Sopenharmony_ci
6390e5c31af7Sopenharmony_ci  case mediump_bvec4_qppq
6391e5c31af7Sopenharmony_ci	values
6392e5c31af7Sopenharmony_ci	{
6393e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6394e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6395e5c31af7Sopenharmony_ci	}
6396e5c31af7Sopenharmony_ci
6397e5c31af7Sopenharmony_ci	both ""
6398e5c31af7Sopenharmony_ci		precision mediump float;
6399e5c31af7Sopenharmony_ci
6400e5c31af7Sopenharmony_ci		${DECLARATIONS}
6401e5c31af7Sopenharmony_ci
6402e5c31af7Sopenharmony_ci		void main()
6403e5c31af7Sopenharmony_ci		{
6404e5c31af7Sopenharmony_ci			${SETUP}
6405e5c31af7Sopenharmony_ci			out0 = in0.qppq;
6406e5c31af7Sopenharmony_ci			${OUTPUT}
6407e5c31af7Sopenharmony_ci		}
6408e5c31af7Sopenharmony_ci	""
6409e5c31af7Sopenharmony_ci  end
6410e5c31af7Sopenharmony_ci
6411e5c31af7Sopenharmony_ci  case mediump_bvec4_qqqt
6412e5c31af7Sopenharmony_ci	values
6413e5c31af7Sopenharmony_ci	{
6414e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6415e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, true, true, false) | bvec4(true, true, true, false) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6416e5c31af7Sopenharmony_ci	}
6417e5c31af7Sopenharmony_ci
6418e5c31af7Sopenharmony_ci	both ""
6419e5c31af7Sopenharmony_ci		precision mediump float;
6420e5c31af7Sopenharmony_ci
6421e5c31af7Sopenharmony_ci		${DECLARATIONS}
6422e5c31af7Sopenharmony_ci
6423e5c31af7Sopenharmony_ci		void main()
6424e5c31af7Sopenharmony_ci		{
6425e5c31af7Sopenharmony_ci			${SETUP}
6426e5c31af7Sopenharmony_ci			out0 = in0.qqqt;
6427e5c31af7Sopenharmony_ci			${OUTPUT}
6428e5c31af7Sopenharmony_ci		}
6429e5c31af7Sopenharmony_ci	""
6430e5c31af7Sopenharmony_ci  end
6431e5c31af7Sopenharmony_ci
6432e5c31af7Sopenharmony_ci  case mediump_bvec4_stss
6433e5c31af7Sopenharmony_ci	values
6434e5c31af7Sopenharmony_ci	{
6435e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6436e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6437e5c31af7Sopenharmony_ci	}
6438e5c31af7Sopenharmony_ci
6439e5c31af7Sopenharmony_ci	both ""
6440e5c31af7Sopenharmony_ci		precision mediump float;
6441e5c31af7Sopenharmony_ci
6442e5c31af7Sopenharmony_ci		${DECLARATIONS}
6443e5c31af7Sopenharmony_ci
6444e5c31af7Sopenharmony_ci		void main()
6445e5c31af7Sopenharmony_ci		{
6446e5c31af7Sopenharmony_ci			${SETUP}
6447e5c31af7Sopenharmony_ci			out0 = in0.stss;
6448e5c31af7Sopenharmony_ci			${OUTPUT}
6449e5c31af7Sopenharmony_ci		}
6450e5c31af7Sopenharmony_ci	""
6451e5c31af7Sopenharmony_ci  end
6452e5c31af7Sopenharmony_ci
6453e5c31af7Sopenharmony_ci  case mediump_bvec4_ppqp
6454e5c31af7Sopenharmony_ci	values
6455e5c31af7Sopenharmony_ci	{
6456e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6457e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(false, false, true, false) | bvec4(false, false, true, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6458e5c31af7Sopenharmony_ci	}
6459e5c31af7Sopenharmony_ci
6460e5c31af7Sopenharmony_ci	both ""
6461e5c31af7Sopenharmony_ci		precision mediump float;
6462e5c31af7Sopenharmony_ci
6463e5c31af7Sopenharmony_ci		${DECLARATIONS}
6464e5c31af7Sopenharmony_ci
6465e5c31af7Sopenharmony_ci		void main()
6466e5c31af7Sopenharmony_ci		{
6467e5c31af7Sopenharmony_ci			${SETUP}
6468e5c31af7Sopenharmony_ci			out0 = in0.ppqp;
6469e5c31af7Sopenharmony_ci			${OUTPUT}
6470e5c31af7Sopenharmony_ci		}
6471e5c31af7Sopenharmony_ci	""
6472e5c31af7Sopenharmony_ci  end
6473e5c31af7Sopenharmony_ci
6474e5c31af7Sopenharmony_ci  case mediump_bvec4_r
6475e5c31af7Sopenharmony_ci	values
6476e5c31af7Sopenharmony_ci	{
6477e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6478e5c31af7Sopenharmony_ci		output bool out0 = [ true | false | false | true | false ];
6479e5c31af7Sopenharmony_ci	}
6480e5c31af7Sopenharmony_ci
6481e5c31af7Sopenharmony_ci	both ""
6482e5c31af7Sopenharmony_ci		precision mediump float;
6483e5c31af7Sopenharmony_ci
6484e5c31af7Sopenharmony_ci		${DECLARATIONS}
6485e5c31af7Sopenharmony_ci
6486e5c31af7Sopenharmony_ci		void main()
6487e5c31af7Sopenharmony_ci		{
6488e5c31af7Sopenharmony_ci			${SETUP}
6489e5c31af7Sopenharmony_ci			out0 = in0.r;
6490e5c31af7Sopenharmony_ci			${OUTPUT}
6491e5c31af7Sopenharmony_ci		}
6492e5c31af7Sopenharmony_ci	""
6493e5c31af7Sopenharmony_ci  end
6494e5c31af7Sopenharmony_ci
6495e5c31af7Sopenharmony_ci  case mediump_bvec4_a
6496e5c31af7Sopenharmony_ci	values
6497e5c31af7Sopenharmony_ci	{
6498e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6499e5c31af7Sopenharmony_ci		output bool out0 = [ true | true | false | true | false ];
6500e5c31af7Sopenharmony_ci	}
6501e5c31af7Sopenharmony_ci
6502e5c31af7Sopenharmony_ci	both ""
6503e5c31af7Sopenharmony_ci		precision mediump float;
6504e5c31af7Sopenharmony_ci
6505e5c31af7Sopenharmony_ci		${DECLARATIONS}
6506e5c31af7Sopenharmony_ci
6507e5c31af7Sopenharmony_ci		void main()
6508e5c31af7Sopenharmony_ci		{
6509e5c31af7Sopenharmony_ci			${SETUP}
6510e5c31af7Sopenharmony_ci			out0 = in0.a;
6511e5c31af7Sopenharmony_ci			${OUTPUT}
6512e5c31af7Sopenharmony_ci		}
6513e5c31af7Sopenharmony_ci	""
6514e5c31af7Sopenharmony_ci  end
6515e5c31af7Sopenharmony_ci
6516e5c31af7Sopenharmony_ci  case mediump_bvec4_ar
6517e5c31af7Sopenharmony_ci	values
6518e5c31af7Sopenharmony_ci	{
6519e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6520e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
6521e5c31af7Sopenharmony_ci	}
6522e5c31af7Sopenharmony_ci
6523e5c31af7Sopenharmony_ci	both ""
6524e5c31af7Sopenharmony_ci		precision mediump float;
6525e5c31af7Sopenharmony_ci
6526e5c31af7Sopenharmony_ci		${DECLARATIONS}
6527e5c31af7Sopenharmony_ci
6528e5c31af7Sopenharmony_ci		void main()
6529e5c31af7Sopenharmony_ci		{
6530e5c31af7Sopenharmony_ci			${SETUP}
6531e5c31af7Sopenharmony_ci			out0 = in0.ar;
6532e5c31af7Sopenharmony_ci			${OUTPUT}
6533e5c31af7Sopenharmony_ci		}
6534e5c31af7Sopenharmony_ci	""
6535e5c31af7Sopenharmony_ci  end
6536e5c31af7Sopenharmony_ci
6537e5c31af7Sopenharmony_ci  case mediump_bvec4_ab
6538e5c31af7Sopenharmony_ci	values
6539e5c31af7Sopenharmony_ci	{
6540e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6541e5c31af7Sopenharmony_ci		output bvec2 out0 = [ bvec2(true, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
6542e5c31af7Sopenharmony_ci	}
6543e5c31af7Sopenharmony_ci
6544e5c31af7Sopenharmony_ci	both ""
6545e5c31af7Sopenharmony_ci		precision mediump float;
6546e5c31af7Sopenharmony_ci
6547e5c31af7Sopenharmony_ci		${DECLARATIONS}
6548e5c31af7Sopenharmony_ci
6549e5c31af7Sopenharmony_ci		void main()
6550e5c31af7Sopenharmony_ci		{
6551e5c31af7Sopenharmony_ci			${SETUP}
6552e5c31af7Sopenharmony_ci			out0 = in0.ab;
6553e5c31af7Sopenharmony_ci			${OUTPUT}
6554e5c31af7Sopenharmony_ci		}
6555e5c31af7Sopenharmony_ci	""
6556e5c31af7Sopenharmony_ci  end
6557e5c31af7Sopenharmony_ci
6558e5c31af7Sopenharmony_ci  case mediump_bvec4_aaa
6559e5c31af7Sopenharmony_ci	values
6560e5c31af7Sopenharmony_ci	{
6561e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6562e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6563e5c31af7Sopenharmony_ci	}
6564e5c31af7Sopenharmony_ci
6565e5c31af7Sopenharmony_ci	both ""
6566e5c31af7Sopenharmony_ci		precision mediump float;
6567e5c31af7Sopenharmony_ci
6568e5c31af7Sopenharmony_ci		${DECLARATIONS}
6569e5c31af7Sopenharmony_ci
6570e5c31af7Sopenharmony_ci		void main()
6571e5c31af7Sopenharmony_ci		{
6572e5c31af7Sopenharmony_ci			${SETUP}
6573e5c31af7Sopenharmony_ci			out0 = in0.aaa;
6574e5c31af7Sopenharmony_ci			${OUTPUT}
6575e5c31af7Sopenharmony_ci		}
6576e5c31af7Sopenharmony_ci	""
6577e5c31af7Sopenharmony_ci  end
6578e5c31af7Sopenharmony_ci
6579e5c31af7Sopenharmony_ci  case mediump_bvec4_gga
6580e5c31af7Sopenharmony_ci	values
6581e5c31af7Sopenharmony_ci	{
6582e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6583e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(false, false, true) | bvec3(false, false, true) | bvec3(true, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6584e5c31af7Sopenharmony_ci	}
6585e5c31af7Sopenharmony_ci
6586e5c31af7Sopenharmony_ci	both ""
6587e5c31af7Sopenharmony_ci		precision mediump float;
6588e5c31af7Sopenharmony_ci
6589e5c31af7Sopenharmony_ci		${DECLARATIONS}
6590e5c31af7Sopenharmony_ci
6591e5c31af7Sopenharmony_ci		void main()
6592e5c31af7Sopenharmony_ci		{
6593e5c31af7Sopenharmony_ci			${SETUP}
6594e5c31af7Sopenharmony_ci			out0 = in0.gga;
6595e5c31af7Sopenharmony_ci			${OUTPUT}
6596e5c31af7Sopenharmony_ci		}
6597e5c31af7Sopenharmony_ci	""
6598e5c31af7Sopenharmony_ci  end
6599e5c31af7Sopenharmony_ci
6600e5c31af7Sopenharmony_ci  case mediump_bvec4_abg
6601e5c31af7Sopenharmony_ci	values
6602e5c31af7Sopenharmony_ci	{
6603e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6604e5c31af7Sopenharmony_ci		output bvec3 out0 = [ bvec3(true, false, false) | bvec3(true, false, false) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
6605e5c31af7Sopenharmony_ci	}
6606e5c31af7Sopenharmony_ci
6607e5c31af7Sopenharmony_ci	both ""
6608e5c31af7Sopenharmony_ci		precision mediump float;
6609e5c31af7Sopenharmony_ci
6610e5c31af7Sopenharmony_ci		${DECLARATIONS}
6611e5c31af7Sopenharmony_ci
6612e5c31af7Sopenharmony_ci		void main()
6613e5c31af7Sopenharmony_ci		{
6614e5c31af7Sopenharmony_ci			${SETUP}
6615e5c31af7Sopenharmony_ci			out0 = in0.abg;
6616e5c31af7Sopenharmony_ci			${OUTPUT}
6617e5c31af7Sopenharmony_ci		}
6618e5c31af7Sopenharmony_ci	""
6619e5c31af7Sopenharmony_ci  end
6620e5c31af7Sopenharmony_ci
6621e5c31af7Sopenharmony_ci  case mediump_bvec4_rgba
6622e5c31af7Sopenharmony_ci	values
6623e5c31af7Sopenharmony_ci	{
6624e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6625e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6626e5c31af7Sopenharmony_ci	}
6627e5c31af7Sopenharmony_ci
6628e5c31af7Sopenharmony_ci	both ""
6629e5c31af7Sopenharmony_ci		precision mediump float;
6630e5c31af7Sopenharmony_ci
6631e5c31af7Sopenharmony_ci		${DECLARATIONS}
6632e5c31af7Sopenharmony_ci
6633e5c31af7Sopenharmony_ci		void main()
6634e5c31af7Sopenharmony_ci		{
6635e5c31af7Sopenharmony_ci			${SETUP}
6636e5c31af7Sopenharmony_ci			out0 = in0.rgba;
6637e5c31af7Sopenharmony_ci			${OUTPUT}
6638e5c31af7Sopenharmony_ci		}
6639e5c31af7Sopenharmony_ci	""
6640e5c31af7Sopenharmony_ci  end
6641e5c31af7Sopenharmony_ci
6642e5c31af7Sopenharmony_ci  case mediump_bvec4_abgr
6643e5c31af7Sopenharmony_ci	values
6644e5c31af7Sopenharmony_ci	{
6645e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6646e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, false) | bvec4(false, false, true, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6647e5c31af7Sopenharmony_ci	}
6648e5c31af7Sopenharmony_ci
6649e5c31af7Sopenharmony_ci	both ""
6650e5c31af7Sopenharmony_ci		precision mediump float;
6651e5c31af7Sopenharmony_ci
6652e5c31af7Sopenharmony_ci		${DECLARATIONS}
6653e5c31af7Sopenharmony_ci
6654e5c31af7Sopenharmony_ci		void main()
6655e5c31af7Sopenharmony_ci		{
6656e5c31af7Sopenharmony_ci			${SETUP}
6657e5c31af7Sopenharmony_ci			out0 = in0.abgr;
6658e5c31af7Sopenharmony_ci			${OUTPUT}
6659e5c31af7Sopenharmony_ci		}
6660e5c31af7Sopenharmony_ci	""
6661e5c31af7Sopenharmony_ci  end
6662e5c31af7Sopenharmony_ci
6663e5c31af7Sopenharmony_ci  case mediump_bvec4_rrrr
6664e5c31af7Sopenharmony_ci	values
6665e5c31af7Sopenharmony_ci	{
6666e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6667e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6668e5c31af7Sopenharmony_ci	}
6669e5c31af7Sopenharmony_ci
6670e5c31af7Sopenharmony_ci	both ""
6671e5c31af7Sopenharmony_ci		precision mediump float;
6672e5c31af7Sopenharmony_ci
6673e5c31af7Sopenharmony_ci		${DECLARATIONS}
6674e5c31af7Sopenharmony_ci
6675e5c31af7Sopenharmony_ci		void main()
6676e5c31af7Sopenharmony_ci		{
6677e5c31af7Sopenharmony_ci			${SETUP}
6678e5c31af7Sopenharmony_ci			out0 = in0.rrrr;
6679e5c31af7Sopenharmony_ci			${OUTPUT}
6680e5c31af7Sopenharmony_ci		}
6681e5c31af7Sopenharmony_ci	""
6682e5c31af7Sopenharmony_ci  end
6683e5c31af7Sopenharmony_ci
6684e5c31af7Sopenharmony_ci  case mediump_bvec4_gggg
6685e5c31af7Sopenharmony_ci	values
6686e5c31af7Sopenharmony_ci	{
6687e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6688e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6689e5c31af7Sopenharmony_ci	}
6690e5c31af7Sopenharmony_ci
6691e5c31af7Sopenharmony_ci	both ""
6692e5c31af7Sopenharmony_ci		precision mediump float;
6693e5c31af7Sopenharmony_ci
6694e5c31af7Sopenharmony_ci		${DECLARATIONS}
6695e5c31af7Sopenharmony_ci
6696e5c31af7Sopenharmony_ci		void main()
6697e5c31af7Sopenharmony_ci		{
6698e5c31af7Sopenharmony_ci			${SETUP}
6699e5c31af7Sopenharmony_ci			out0 = in0.gggg;
6700e5c31af7Sopenharmony_ci			${OUTPUT}
6701e5c31af7Sopenharmony_ci		}
6702e5c31af7Sopenharmony_ci	""
6703e5c31af7Sopenharmony_ci  end
6704e5c31af7Sopenharmony_ci
6705e5c31af7Sopenharmony_ci  case mediump_bvec4_aaaa
6706e5c31af7Sopenharmony_ci	values
6707e5c31af7Sopenharmony_ci	{
6708e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6709e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6710e5c31af7Sopenharmony_ci	}
6711e5c31af7Sopenharmony_ci
6712e5c31af7Sopenharmony_ci	both ""
6713e5c31af7Sopenharmony_ci		precision mediump float;
6714e5c31af7Sopenharmony_ci
6715e5c31af7Sopenharmony_ci		${DECLARATIONS}
6716e5c31af7Sopenharmony_ci
6717e5c31af7Sopenharmony_ci		void main()
6718e5c31af7Sopenharmony_ci		{
6719e5c31af7Sopenharmony_ci			${SETUP}
6720e5c31af7Sopenharmony_ci			out0 = in0.aaaa;
6721e5c31af7Sopenharmony_ci			${OUTPUT}
6722e5c31af7Sopenharmony_ci		}
6723e5c31af7Sopenharmony_ci	""
6724e5c31af7Sopenharmony_ci  end
6725e5c31af7Sopenharmony_ci
6726e5c31af7Sopenharmony_ci  case mediump_bvec4_abba
6727e5c31af7Sopenharmony_ci	values
6728e5c31af7Sopenharmony_ci	{
6729e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6730e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6731e5c31af7Sopenharmony_ci	}
6732e5c31af7Sopenharmony_ci
6733e5c31af7Sopenharmony_ci	both ""
6734e5c31af7Sopenharmony_ci		precision mediump float;
6735e5c31af7Sopenharmony_ci
6736e5c31af7Sopenharmony_ci		${DECLARATIONS}
6737e5c31af7Sopenharmony_ci
6738e5c31af7Sopenharmony_ci		void main()
6739e5c31af7Sopenharmony_ci		{
6740e5c31af7Sopenharmony_ci			${SETUP}
6741e5c31af7Sopenharmony_ci			out0 = in0.abba;
6742e5c31af7Sopenharmony_ci			${OUTPUT}
6743e5c31af7Sopenharmony_ci		}
6744e5c31af7Sopenharmony_ci	""
6745e5c31af7Sopenharmony_ci  end
6746e5c31af7Sopenharmony_ci
6747e5c31af7Sopenharmony_ci  case mediump_bvec4_aaag
6748e5c31af7Sopenharmony_ci	values
6749e5c31af7Sopenharmony_ci	{
6750e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6751e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, true, true, false) | bvec4(true, true, true, false) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6752e5c31af7Sopenharmony_ci	}
6753e5c31af7Sopenharmony_ci
6754e5c31af7Sopenharmony_ci	both ""
6755e5c31af7Sopenharmony_ci		precision mediump float;
6756e5c31af7Sopenharmony_ci
6757e5c31af7Sopenharmony_ci		${DECLARATIONS}
6758e5c31af7Sopenharmony_ci
6759e5c31af7Sopenharmony_ci		void main()
6760e5c31af7Sopenharmony_ci		{
6761e5c31af7Sopenharmony_ci			${SETUP}
6762e5c31af7Sopenharmony_ci			out0 = in0.aaag;
6763e5c31af7Sopenharmony_ci			${OUTPUT}
6764e5c31af7Sopenharmony_ci		}
6765e5c31af7Sopenharmony_ci	""
6766e5c31af7Sopenharmony_ci  end
6767e5c31af7Sopenharmony_ci
6768e5c31af7Sopenharmony_ci  case mediump_bvec4_rgrr
6769e5c31af7Sopenharmony_ci	values
6770e5c31af7Sopenharmony_ci	{
6771e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6772e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6773e5c31af7Sopenharmony_ci	}
6774e5c31af7Sopenharmony_ci
6775e5c31af7Sopenharmony_ci	both ""
6776e5c31af7Sopenharmony_ci		precision mediump float;
6777e5c31af7Sopenharmony_ci
6778e5c31af7Sopenharmony_ci		${DECLARATIONS}
6779e5c31af7Sopenharmony_ci
6780e5c31af7Sopenharmony_ci		void main()
6781e5c31af7Sopenharmony_ci		{
6782e5c31af7Sopenharmony_ci			${SETUP}
6783e5c31af7Sopenharmony_ci			out0 = in0.rgrr;
6784e5c31af7Sopenharmony_ci			${OUTPUT}
6785e5c31af7Sopenharmony_ci		}
6786e5c31af7Sopenharmony_ci	""
6787e5c31af7Sopenharmony_ci  end
6788e5c31af7Sopenharmony_ci
6789e5c31af7Sopenharmony_ci  case mediump_bvec4_bbab
6790e5c31af7Sopenharmony_ci	values
6791e5c31af7Sopenharmony_ci	{
6792e5c31af7Sopenharmony_ci		input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6793e5c31af7Sopenharmony_ci		output bvec4 out0 = [ bvec4(false, false, true, false) | bvec4(false, false, true, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6794e5c31af7Sopenharmony_ci	}
6795e5c31af7Sopenharmony_ci
6796e5c31af7Sopenharmony_ci	both ""
6797e5c31af7Sopenharmony_ci		precision mediump float;
6798e5c31af7Sopenharmony_ci
6799e5c31af7Sopenharmony_ci		${DECLARATIONS}
6800e5c31af7Sopenharmony_ci
6801e5c31af7Sopenharmony_ci		void main()
6802e5c31af7Sopenharmony_ci		{
6803e5c31af7Sopenharmony_ci			${SETUP}
6804e5c31af7Sopenharmony_ci			out0 = in0.bbab;
6805e5c31af7Sopenharmony_ci			${OUTPUT}
6806e5c31af7Sopenharmony_ci		}
6807e5c31af7Sopenharmony_ci	""
6808e5c31af7Sopenharmony_ci  end
6809e5c31af7Sopenharmony_ci
6810e5c31af7Sopenharmony_ci
6811e5c31af7Sopenharmony_ciend # vector_swizzles
6812