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