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 scalar_to_scalar "Scalar to Scalar Conversions"
5e5c31af7Sopenharmony_ci
6e5c31af7Sopenharmony_ci	case float_to_float
7e5c31af7Sopenharmony_ci		values
8e5c31af7Sopenharmony_ci		{
9e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
10e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
11e5c31af7Sopenharmony_ci		}
12e5c31af7Sopenharmony_ci
13e5c31af7Sopenharmony_ci		both ""
14e5c31af7Sopenharmony_ci			precision mediump float;
15e5c31af7Sopenharmony_ci			precision mediump int;
16e5c31af7Sopenharmony_ci
17e5c31af7Sopenharmony_ci			${DECLARATIONS}
18e5c31af7Sopenharmony_ci
19e5c31af7Sopenharmony_ci			void main()
20e5c31af7Sopenharmony_ci			{
21e5c31af7Sopenharmony_ci				${SETUP}
22e5c31af7Sopenharmony_ci				out0 = float(in0);
23e5c31af7Sopenharmony_ci				${OUTPUT}
24e5c31af7Sopenharmony_ci			}
25e5c31af7Sopenharmony_ci		""
26e5c31af7Sopenharmony_ci	end
27e5c31af7Sopenharmony_ci
28e5c31af7Sopenharmony_ci	case float_to_int
29e5c31af7Sopenharmony_ci		values
30e5c31af7Sopenharmony_ci		{
31e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
32e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 2 | 3 | 0 | -8 | -20 | 36 ];
33e5c31af7Sopenharmony_ci		}
34e5c31af7Sopenharmony_ci
35e5c31af7Sopenharmony_ci		both ""
36e5c31af7Sopenharmony_ci			precision mediump float;
37e5c31af7Sopenharmony_ci			precision mediump int;
38e5c31af7Sopenharmony_ci
39e5c31af7Sopenharmony_ci			${DECLARATIONS}
40e5c31af7Sopenharmony_ci
41e5c31af7Sopenharmony_ci			void main()
42e5c31af7Sopenharmony_ci			{
43e5c31af7Sopenharmony_ci				${SETUP}
44e5c31af7Sopenharmony_ci				out0 = int(in0);
45e5c31af7Sopenharmony_ci				${OUTPUT}
46e5c31af7Sopenharmony_ci			}
47e5c31af7Sopenharmony_ci		""
48e5c31af7Sopenharmony_ci	end
49e5c31af7Sopenharmony_ci
50e5c31af7Sopenharmony_ci	case float_to_bool
51e5c31af7Sopenharmony_ci		values
52e5c31af7Sopenharmony_ci		{
53e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
54e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | true | true | true | true | true | true ];
55e5c31af7Sopenharmony_ci		}
56e5c31af7Sopenharmony_ci
57e5c31af7Sopenharmony_ci		both ""
58e5c31af7Sopenharmony_ci			precision mediump float;
59e5c31af7Sopenharmony_ci			precision mediump int;
60e5c31af7Sopenharmony_ci
61e5c31af7Sopenharmony_ci			${DECLARATIONS}
62e5c31af7Sopenharmony_ci
63e5c31af7Sopenharmony_ci			void main()
64e5c31af7Sopenharmony_ci			{
65e5c31af7Sopenharmony_ci				${SETUP}
66e5c31af7Sopenharmony_ci				out0 = bool(in0);
67e5c31af7Sopenharmony_ci				${OUTPUT}
68e5c31af7Sopenharmony_ci			}
69e5c31af7Sopenharmony_ci		""
70e5c31af7Sopenharmony_ci	end
71e5c31af7Sopenharmony_ci
72e5c31af7Sopenharmony_ci	case int_to_float
73e5c31af7Sopenharmony_ci		values
74e5c31af7Sopenharmony_ci		{
75e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
76e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 2.0 | 5.0 | 8.0 | 11.0 | -12.0 | -66.0 | -192.0 | 255.0 ];
77e5c31af7Sopenharmony_ci		}
78e5c31af7Sopenharmony_ci
79e5c31af7Sopenharmony_ci		both ""
80e5c31af7Sopenharmony_ci			precision mediump float;
81e5c31af7Sopenharmony_ci			precision mediump int;
82e5c31af7Sopenharmony_ci
83e5c31af7Sopenharmony_ci			${DECLARATIONS}
84e5c31af7Sopenharmony_ci
85e5c31af7Sopenharmony_ci			void main()
86e5c31af7Sopenharmony_ci			{
87e5c31af7Sopenharmony_ci				${SETUP}
88e5c31af7Sopenharmony_ci				out0 = float(in0);
89e5c31af7Sopenharmony_ci				${OUTPUT}
90e5c31af7Sopenharmony_ci			}
91e5c31af7Sopenharmony_ci		""
92e5c31af7Sopenharmony_ci	end
93e5c31af7Sopenharmony_ci
94e5c31af7Sopenharmony_ci	case int_to_int
95e5c31af7Sopenharmony_ci		values
96e5c31af7Sopenharmony_ci		{
97e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
98e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
99e5c31af7Sopenharmony_ci		}
100e5c31af7Sopenharmony_ci
101e5c31af7Sopenharmony_ci		both ""
102e5c31af7Sopenharmony_ci			precision mediump float;
103e5c31af7Sopenharmony_ci			precision mediump int;
104e5c31af7Sopenharmony_ci
105e5c31af7Sopenharmony_ci			${DECLARATIONS}
106e5c31af7Sopenharmony_ci
107e5c31af7Sopenharmony_ci			void main()
108e5c31af7Sopenharmony_ci			{
109e5c31af7Sopenharmony_ci				${SETUP}
110e5c31af7Sopenharmony_ci				out0 = int(in0);
111e5c31af7Sopenharmony_ci				${OUTPUT}
112e5c31af7Sopenharmony_ci			}
113e5c31af7Sopenharmony_ci		""
114e5c31af7Sopenharmony_ci	end
115e5c31af7Sopenharmony_ci
116e5c31af7Sopenharmony_ci	case int_to_bool
117e5c31af7Sopenharmony_ci		values
118e5c31af7Sopenharmony_ci		{
119e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
120e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | true | true | true | true | true | true | true | true ];
121e5c31af7Sopenharmony_ci		}
122e5c31af7Sopenharmony_ci
123e5c31af7Sopenharmony_ci		both ""
124e5c31af7Sopenharmony_ci			precision mediump float;
125e5c31af7Sopenharmony_ci			precision mediump int;
126e5c31af7Sopenharmony_ci
127e5c31af7Sopenharmony_ci			${DECLARATIONS}
128e5c31af7Sopenharmony_ci
129e5c31af7Sopenharmony_ci			void main()
130e5c31af7Sopenharmony_ci			{
131e5c31af7Sopenharmony_ci				${SETUP}
132e5c31af7Sopenharmony_ci				out0 = bool(in0);
133e5c31af7Sopenharmony_ci				${OUTPUT}
134e5c31af7Sopenharmony_ci			}
135e5c31af7Sopenharmony_ci		""
136e5c31af7Sopenharmony_ci	end
137e5c31af7Sopenharmony_ci
138e5c31af7Sopenharmony_ci	case bool_to_float
139e5c31af7Sopenharmony_ci		values
140e5c31af7Sopenharmony_ci		{
141e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
142e5c31af7Sopenharmony_ci			output float out0 = [ 1.0 | 0.0 ];
143e5c31af7Sopenharmony_ci		}
144e5c31af7Sopenharmony_ci
145e5c31af7Sopenharmony_ci		both ""
146e5c31af7Sopenharmony_ci			precision mediump float;
147e5c31af7Sopenharmony_ci			precision mediump int;
148e5c31af7Sopenharmony_ci
149e5c31af7Sopenharmony_ci			${DECLARATIONS}
150e5c31af7Sopenharmony_ci
151e5c31af7Sopenharmony_ci			void main()
152e5c31af7Sopenharmony_ci			{
153e5c31af7Sopenharmony_ci				${SETUP}
154e5c31af7Sopenharmony_ci				out0 = float(in0);
155e5c31af7Sopenharmony_ci				${OUTPUT}
156e5c31af7Sopenharmony_ci			}
157e5c31af7Sopenharmony_ci		""
158e5c31af7Sopenharmony_ci	end
159e5c31af7Sopenharmony_ci
160e5c31af7Sopenharmony_ci	case bool_to_int
161e5c31af7Sopenharmony_ci		values
162e5c31af7Sopenharmony_ci		{
163e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
164e5c31af7Sopenharmony_ci			output int out0 = [ 1 | 0 ];
165e5c31af7Sopenharmony_ci		}
166e5c31af7Sopenharmony_ci
167e5c31af7Sopenharmony_ci		both ""
168e5c31af7Sopenharmony_ci			precision mediump float;
169e5c31af7Sopenharmony_ci			precision mediump int;
170e5c31af7Sopenharmony_ci
171e5c31af7Sopenharmony_ci			${DECLARATIONS}
172e5c31af7Sopenharmony_ci
173e5c31af7Sopenharmony_ci			void main()
174e5c31af7Sopenharmony_ci			{
175e5c31af7Sopenharmony_ci				${SETUP}
176e5c31af7Sopenharmony_ci				out0 = int(in0);
177e5c31af7Sopenharmony_ci				${OUTPUT}
178e5c31af7Sopenharmony_ci			}
179e5c31af7Sopenharmony_ci		""
180e5c31af7Sopenharmony_ci	end
181e5c31af7Sopenharmony_ci
182e5c31af7Sopenharmony_ci	case bool_to_bool
183e5c31af7Sopenharmony_ci		values
184e5c31af7Sopenharmony_ci		{
185e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
186e5c31af7Sopenharmony_ci			output bool out0 = [ true | false ];
187e5c31af7Sopenharmony_ci		}
188e5c31af7Sopenharmony_ci
189e5c31af7Sopenharmony_ci		both ""
190e5c31af7Sopenharmony_ci			precision mediump float;
191e5c31af7Sopenharmony_ci			precision mediump int;
192e5c31af7Sopenharmony_ci
193e5c31af7Sopenharmony_ci			${DECLARATIONS}
194e5c31af7Sopenharmony_ci
195e5c31af7Sopenharmony_ci			void main()
196e5c31af7Sopenharmony_ci			{
197e5c31af7Sopenharmony_ci				${SETUP}
198e5c31af7Sopenharmony_ci				out0 = bool(in0);
199e5c31af7Sopenharmony_ci				${OUTPUT}
200e5c31af7Sopenharmony_ci			}
201e5c31af7Sopenharmony_ci		""
202e5c31af7Sopenharmony_ci	end
203e5c31af7Sopenharmony_ci
204e5c31af7Sopenharmony_ci
205e5c31af7Sopenharmony_ciend # scalar_to_scalar
206e5c31af7Sopenharmony_cigroup scalar_to_vector "Scalar to Vector Conversions"
207e5c31af7Sopenharmony_ci
208e5c31af7Sopenharmony_ci	case float_to_vec2
209e5c31af7Sopenharmony_ci		values
210e5c31af7Sopenharmony_ci		{
211e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
212e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(2.0, 2.0) | vec2(3.5, 3.5) | vec2(-0.5, -0.5) | vec2(-8.25, -8.25) | vec2(-20.125, -20.125) | vec2(36.8125, 36.8125) ];
213e5c31af7Sopenharmony_ci		}
214e5c31af7Sopenharmony_ci
215e5c31af7Sopenharmony_ci		both ""
216e5c31af7Sopenharmony_ci			precision mediump float;
217e5c31af7Sopenharmony_ci			precision mediump int;
218e5c31af7Sopenharmony_ci
219e5c31af7Sopenharmony_ci			${DECLARATIONS}
220e5c31af7Sopenharmony_ci
221e5c31af7Sopenharmony_ci			void main()
222e5c31af7Sopenharmony_ci			{
223e5c31af7Sopenharmony_ci				${SETUP}
224e5c31af7Sopenharmony_ci				out0 = vec2(in0);
225e5c31af7Sopenharmony_ci				${OUTPUT}
226e5c31af7Sopenharmony_ci			}
227e5c31af7Sopenharmony_ci		""
228e5c31af7Sopenharmony_ci	end
229e5c31af7Sopenharmony_ci
230e5c31af7Sopenharmony_ci	case float_to_vec3
231e5c31af7Sopenharmony_ci		values
232e5c31af7Sopenharmony_ci		{
233e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
234e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(2.0, 2.0, 2.0) | vec3(3.5, 3.5, 3.5) | vec3(-0.5, -0.5, -0.5) | vec3(-8.25, -8.25, -8.25) | vec3(-20.125, -20.125, -20.125) | vec3(36.8125, 36.8125, 36.8125) ];
235e5c31af7Sopenharmony_ci		}
236e5c31af7Sopenharmony_ci
237e5c31af7Sopenharmony_ci		both ""
238e5c31af7Sopenharmony_ci			precision mediump float;
239e5c31af7Sopenharmony_ci			precision mediump int;
240e5c31af7Sopenharmony_ci
241e5c31af7Sopenharmony_ci			${DECLARATIONS}
242e5c31af7Sopenharmony_ci
243e5c31af7Sopenharmony_ci			void main()
244e5c31af7Sopenharmony_ci			{
245e5c31af7Sopenharmony_ci				${SETUP}
246e5c31af7Sopenharmony_ci				out0 = vec3(in0);
247e5c31af7Sopenharmony_ci				${OUTPUT}
248e5c31af7Sopenharmony_ci			}
249e5c31af7Sopenharmony_ci		""
250e5c31af7Sopenharmony_ci	end
251e5c31af7Sopenharmony_ci
252e5c31af7Sopenharmony_ci	case float_to_vec4
253e5c31af7Sopenharmony_ci		values
254e5c31af7Sopenharmony_ci		{
255e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
256e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(2.0, 2.0, 2.0, 2.0) | vec4(3.5, 3.5, 3.5, 3.5) | vec4(-0.5, -0.5, -0.5, -0.5) | vec4(-8.25, -8.25, -8.25, -8.25) | vec4(-20.125, -20.125, -20.125, -20.125) | vec4(36.8125, 36.8125, 36.8125, 36.8125) ];
257e5c31af7Sopenharmony_ci		}
258e5c31af7Sopenharmony_ci
259e5c31af7Sopenharmony_ci		both ""
260e5c31af7Sopenharmony_ci			precision mediump float;
261e5c31af7Sopenharmony_ci			precision mediump int;
262e5c31af7Sopenharmony_ci
263e5c31af7Sopenharmony_ci			${DECLARATIONS}
264e5c31af7Sopenharmony_ci
265e5c31af7Sopenharmony_ci			void main()
266e5c31af7Sopenharmony_ci			{
267e5c31af7Sopenharmony_ci				${SETUP}
268e5c31af7Sopenharmony_ci				out0 = vec4(in0);
269e5c31af7Sopenharmony_ci				${OUTPUT}
270e5c31af7Sopenharmony_ci			}
271e5c31af7Sopenharmony_ci		""
272e5c31af7Sopenharmony_ci	end
273e5c31af7Sopenharmony_ci
274e5c31af7Sopenharmony_ci	case float_to_ivec2
275e5c31af7Sopenharmony_ci		values
276e5c31af7Sopenharmony_ci		{
277e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
278e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(2, 2) | ivec2(3, 3) | ivec2(0, 0) | ivec2(-8, -8) | ivec2(-20, -20) | ivec2(36, 36) ];
279e5c31af7Sopenharmony_ci		}
280e5c31af7Sopenharmony_ci
281e5c31af7Sopenharmony_ci		both ""
282e5c31af7Sopenharmony_ci			precision mediump float;
283e5c31af7Sopenharmony_ci			precision mediump int;
284e5c31af7Sopenharmony_ci
285e5c31af7Sopenharmony_ci			${DECLARATIONS}
286e5c31af7Sopenharmony_ci
287e5c31af7Sopenharmony_ci			void main()
288e5c31af7Sopenharmony_ci			{
289e5c31af7Sopenharmony_ci				${SETUP}
290e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
291e5c31af7Sopenharmony_ci				${OUTPUT}
292e5c31af7Sopenharmony_ci			}
293e5c31af7Sopenharmony_ci		""
294e5c31af7Sopenharmony_ci	end
295e5c31af7Sopenharmony_ci
296e5c31af7Sopenharmony_ci	case float_to_ivec3
297e5c31af7Sopenharmony_ci		values
298e5c31af7Sopenharmony_ci		{
299e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
300e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(2, 2, 2) | ivec3(3, 3, 3) | ivec3(0, 0, 0) | ivec3(-8, -8, -8) | ivec3(-20, -20, -20) | ivec3(36, 36, 36) ];
301e5c31af7Sopenharmony_ci		}
302e5c31af7Sopenharmony_ci
303e5c31af7Sopenharmony_ci		both ""
304e5c31af7Sopenharmony_ci			precision mediump float;
305e5c31af7Sopenharmony_ci			precision mediump int;
306e5c31af7Sopenharmony_ci
307e5c31af7Sopenharmony_ci			${DECLARATIONS}
308e5c31af7Sopenharmony_ci
309e5c31af7Sopenharmony_ci			void main()
310e5c31af7Sopenharmony_ci			{
311e5c31af7Sopenharmony_ci				${SETUP}
312e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
313e5c31af7Sopenharmony_ci				${OUTPUT}
314e5c31af7Sopenharmony_ci			}
315e5c31af7Sopenharmony_ci		""
316e5c31af7Sopenharmony_ci	end
317e5c31af7Sopenharmony_ci
318e5c31af7Sopenharmony_ci	case float_to_ivec4
319e5c31af7Sopenharmony_ci		values
320e5c31af7Sopenharmony_ci		{
321e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
322e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(2, 2, 2, 2) | ivec4(3, 3, 3, 3) | ivec4(0, 0, 0, 0) | ivec4(-8, -8, -8, -8) | ivec4(-20, -20, -20, -20) | ivec4(36, 36, 36, 36) ];
323e5c31af7Sopenharmony_ci		}
324e5c31af7Sopenharmony_ci
325e5c31af7Sopenharmony_ci		both ""
326e5c31af7Sopenharmony_ci			precision mediump float;
327e5c31af7Sopenharmony_ci			precision mediump int;
328e5c31af7Sopenharmony_ci
329e5c31af7Sopenharmony_ci			${DECLARATIONS}
330e5c31af7Sopenharmony_ci
331e5c31af7Sopenharmony_ci			void main()
332e5c31af7Sopenharmony_ci			{
333e5c31af7Sopenharmony_ci				${SETUP}
334e5c31af7Sopenharmony_ci				out0 = ivec4(in0);
335e5c31af7Sopenharmony_ci				${OUTPUT}
336e5c31af7Sopenharmony_ci			}
337e5c31af7Sopenharmony_ci		""
338e5c31af7Sopenharmony_ci	end
339e5c31af7Sopenharmony_ci
340e5c31af7Sopenharmony_ci	case float_to_bvec2
341e5c31af7Sopenharmony_ci		values
342e5c31af7Sopenharmony_ci		{
343e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
344e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ];
345e5c31af7Sopenharmony_ci		}
346e5c31af7Sopenharmony_ci
347e5c31af7Sopenharmony_ci		both ""
348e5c31af7Sopenharmony_ci			precision mediump float;
349e5c31af7Sopenharmony_ci			precision mediump int;
350e5c31af7Sopenharmony_ci
351e5c31af7Sopenharmony_ci			${DECLARATIONS}
352e5c31af7Sopenharmony_ci
353e5c31af7Sopenharmony_ci			void main()
354e5c31af7Sopenharmony_ci			{
355e5c31af7Sopenharmony_ci				${SETUP}
356e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
357e5c31af7Sopenharmony_ci				${OUTPUT}
358e5c31af7Sopenharmony_ci			}
359e5c31af7Sopenharmony_ci		""
360e5c31af7Sopenharmony_ci	end
361e5c31af7Sopenharmony_ci
362e5c31af7Sopenharmony_ci	case float_to_bvec3
363e5c31af7Sopenharmony_ci		values
364e5c31af7Sopenharmony_ci		{
365e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
366e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) ];
367e5c31af7Sopenharmony_ci		}
368e5c31af7Sopenharmony_ci
369e5c31af7Sopenharmony_ci		both ""
370e5c31af7Sopenharmony_ci			precision mediump float;
371e5c31af7Sopenharmony_ci			precision mediump int;
372e5c31af7Sopenharmony_ci
373e5c31af7Sopenharmony_ci			${DECLARATIONS}
374e5c31af7Sopenharmony_ci
375e5c31af7Sopenharmony_ci			void main()
376e5c31af7Sopenharmony_ci			{
377e5c31af7Sopenharmony_ci				${SETUP}
378e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
379e5c31af7Sopenharmony_ci				${OUTPUT}
380e5c31af7Sopenharmony_ci			}
381e5c31af7Sopenharmony_ci		""
382e5c31af7Sopenharmony_ci	end
383e5c31af7Sopenharmony_ci
384e5c31af7Sopenharmony_ci	case float_to_bvec4
385e5c31af7Sopenharmony_ci		values
386e5c31af7Sopenharmony_ci		{
387e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
388e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) ];
389e5c31af7Sopenharmony_ci		}
390e5c31af7Sopenharmony_ci
391e5c31af7Sopenharmony_ci		both ""
392e5c31af7Sopenharmony_ci			precision mediump float;
393e5c31af7Sopenharmony_ci			precision mediump int;
394e5c31af7Sopenharmony_ci
395e5c31af7Sopenharmony_ci			${DECLARATIONS}
396e5c31af7Sopenharmony_ci
397e5c31af7Sopenharmony_ci			void main()
398e5c31af7Sopenharmony_ci			{
399e5c31af7Sopenharmony_ci				${SETUP}
400e5c31af7Sopenharmony_ci				out0 = bvec4(in0);
401e5c31af7Sopenharmony_ci				${OUTPUT}
402e5c31af7Sopenharmony_ci			}
403e5c31af7Sopenharmony_ci		""
404e5c31af7Sopenharmony_ci	end
405e5c31af7Sopenharmony_ci
406e5c31af7Sopenharmony_ci	case int_to_vec2
407e5c31af7Sopenharmony_ci		values
408e5c31af7Sopenharmony_ci		{
409e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
410e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(2.0, 2.0) | vec2(5.0, 5.0) | vec2(8.0, 8.0) | vec2(11.0, 11.0) | vec2(-12.0, -12.0) | vec2(-66.0, -66.0) | vec2(-192.0, -192.0) | vec2(255.0, 255.0) ];
411e5c31af7Sopenharmony_ci		}
412e5c31af7Sopenharmony_ci
413e5c31af7Sopenharmony_ci		both ""
414e5c31af7Sopenharmony_ci			precision mediump float;
415e5c31af7Sopenharmony_ci			precision mediump int;
416e5c31af7Sopenharmony_ci
417e5c31af7Sopenharmony_ci			${DECLARATIONS}
418e5c31af7Sopenharmony_ci
419e5c31af7Sopenharmony_ci			void main()
420e5c31af7Sopenharmony_ci			{
421e5c31af7Sopenharmony_ci				${SETUP}
422e5c31af7Sopenharmony_ci				out0 = vec2(in0);
423e5c31af7Sopenharmony_ci				${OUTPUT}
424e5c31af7Sopenharmony_ci			}
425e5c31af7Sopenharmony_ci		""
426e5c31af7Sopenharmony_ci	end
427e5c31af7Sopenharmony_ci
428e5c31af7Sopenharmony_ci	case int_to_vec3
429e5c31af7Sopenharmony_ci		values
430e5c31af7Sopenharmony_ci		{
431e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
432e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(2.0, 2.0, 2.0) | vec3(5.0, 5.0, 5.0) | vec3(8.0, 8.0, 8.0) | vec3(11.0, 11.0, 11.0) | vec3(-12.0, -12.0, -12.0) | vec3(-66.0, -66.0, -66.0) | vec3(-192.0, -192.0, -192.0) | vec3(255.0, 255.0, 255.0) ];
433e5c31af7Sopenharmony_ci		}
434e5c31af7Sopenharmony_ci
435e5c31af7Sopenharmony_ci		both ""
436e5c31af7Sopenharmony_ci			precision mediump float;
437e5c31af7Sopenharmony_ci			precision mediump int;
438e5c31af7Sopenharmony_ci
439e5c31af7Sopenharmony_ci			${DECLARATIONS}
440e5c31af7Sopenharmony_ci
441e5c31af7Sopenharmony_ci			void main()
442e5c31af7Sopenharmony_ci			{
443e5c31af7Sopenharmony_ci				${SETUP}
444e5c31af7Sopenharmony_ci				out0 = vec3(in0);
445e5c31af7Sopenharmony_ci				${OUTPUT}
446e5c31af7Sopenharmony_ci			}
447e5c31af7Sopenharmony_ci		""
448e5c31af7Sopenharmony_ci	end
449e5c31af7Sopenharmony_ci
450e5c31af7Sopenharmony_ci	case int_to_vec4
451e5c31af7Sopenharmony_ci		values
452e5c31af7Sopenharmony_ci		{
453e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
454e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(2.0, 2.0, 2.0, 2.0) | vec4(5.0, 5.0, 5.0, 5.0) | vec4(8.0, 8.0, 8.0, 8.0) | vec4(11.0, 11.0, 11.0, 11.0) | vec4(-12.0, -12.0, -12.0, -12.0) | vec4(-66.0, -66.0, -66.0, -66.0) | vec4(-192.0, -192.0, -192.0, -192.0) | vec4(255.0, 255.0, 255.0, 255.0) ];
455e5c31af7Sopenharmony_ci		}
456e5c31af7Sopenharmony_ci
457e5c31af7Sopenharmony_ci		both ""
458e5c31af7Sopenharmony_ci			precision mediump float;
459e5c31af7Sopenharmony_ci			precision mediump int;
460e5c31af7Sopenharmony_ci
461e5c31af7Sopenharmony_ci			${DECLARATIONS}
462e5c31af7Sopenharmony_ci
463e5c31af7Sopenharmony_ci			void main()
464e5c31af7Sopenharmony_ci			{
465e5c31af7Sopenharmony_ci				${SETUP}
466e5c31af7Sopenharmony_ci				out0 = vec4(in0);
467e5c31af7Sopenharmony_ci				${OUTPUT}
468e5c31af7Sopenharmony_ci			}
469e5c31af7Sopenharmony_ci		""
470e5c31af7Sopenharmony_ci	end
471e5c31af7Sopenharmony_ci
472e5c31af7Sopenharmony_ci	case int_to_ivec2
473e5c31af7Sopenharmony_ci		values
474e5c31af7Sopenharmony_ci		{
475e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
476e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(2, 2) | ivec2(5, 5) | ivec2(8, 8) | ivec2(11, 11) | ivec2(-12, -12) | ivec2(-66, -66) | ivec2(-192, -192) | ivec2(255, 255) ];
477e5c31af7Sopenharmony_ci		}
478e5c31af7Sopenharmony_ci
479e5c31af7Sopenharmony_ci		both ""
480e5c31af7Sopenharmony_ci			precision mediump float;
481e5c31af7Sopenharmony_ci			precision mediump int;
482e5c31af7Sopenharmony_ci
483e5c31af7Sopenharmony_ci			${DECLARATIONS}
484e5c31af7Sopenharmony_ci
485e5c31af7Sopenharmony_ci			void main()
486e5c31af7Sopenharmony_ci			{
487e5c31af7Sopenharmony_ci				${SETUP}
488e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
489e5c31af7Sopenharmony_ci				${OUTPUT}
490e5c31af7Sopenharmony_ci			}
491e5c31af7Sopenharmony_ci		""
492e5c31af7Sopenharmony_ci	end
493e5c31af7Sopenharmony_ci
494e5c31af7Sopenharmony_ci	case int_to_ivec3
495e5c31af7Sopenharmony_ci		values
496e5c31af7Sopenharmony_ci		{
497e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
498e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(2, 2, 2) | ivec3(5, 5, 5) | ivec3(8, 8, 8) | ivec3(11, 11, 11) | ivec3(-12, -12, -12) | ivec3(-66, -66, -66) | ivec3(-192, -192, -192) | ivec3(255, 255, 255) ];
499e5c31af7Sopenharmony_ci		}
500e5c31af7Sopenharmony_ci
501e5c31af7Sopenharmony_ci		both ""
502e5c31af7Sopenharmony_ci			precision mediump float;
503e5c31af7Sopenharmony_ci			precision mediump int;
504e5c31af7Sopenharmony_ci
505e5c31af7Sopenharmony_ci			${DECLARATIONS}
506e5c31af7Sopenharmony_ci
507e5c31af7Sopenharmony_ci			void main()
508e5c31af7Sopenharmony_ci			{
509e5c31af7Sopenharmony_ci				${SETUP}
510e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
511e5c31af7Sopenharmony_ci				${OUTPUT}
512e5c31af7Sopenharmony_ci			}
513e5c31af7Sopenharmony_ci		""
514e5c31af7Sopenharmony_ci	end
515e5c31af7Sopenharmony_ci
516e5c31af7Sopenharmony_ci	case int_to_ivec4
517e5c31af7Sopenharmony_ci		values
518e5c31af7Sopenharmony_ci		{
519e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
520e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(2, 2, 2, 2) | ivec4(5, 5, 5, 5) | ivec4(8, 8, 8, 8) | ivec4(11, 11, 11, 11) | ivec4(-12, -12, -12, -12) | ivec4(-66, -66, -66, -66) | ivec4(-192, -192, -192, -192) | ivec4(255, 255, 255, 255) ];
521e5c31af7Sopenharmony_ci		}
522e5c31af7Sopenharmony_ci
523e5c31af7Sopenharmony_ci		both ""
524e5c31af7Sopenharmony_ci			precision mediump float;
525e5c31af7Sopenharmony_ci			precision mediump int;
526e5c31af7Sopenharmony_ci
527e5c31af7Sopenharmony_ci			${DECLARATIONS}
528e5c31af7Sopenharmony_ci
529e5c31af7Sopenharmony_ci			void main()
530e5c31af7Sopenharmony_ci			{
531e5c31af7Sopenharmony_ci				${SETUP}
532e5c31af7Sopenharmony_ci				out0 = ivec4(in0);
533e5c31af7Sopenharmony_ci				${OUTPUT}
534e5c31af7Sopenharmony_ci			}
535e5c31af7Sopenharmony_ci		""
536e5c31af7Sopenharmony_ci	end
537e5c31af7Sopenharmony_ci
538e5c31af7Sopenharmony_ci	case int_to_bvec2
539e5c31af7Sopenharmony_ci		values
540e5c31af7Sopenharmony_ci		{
541e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
542e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ];
543e5c31af7Sopenharmony_ci		}
544e5c31af7Sopenharmony_ci
545e5c31af7Sopenharmony_ci		both ""
546e5c31af7Sopenharmony_ci			precision mediump float;
547e5c31af7Sopenharmony_ci			precision mediump int;
548e5c31af7Sopenharmony_ci
549e5c31af7Sopenharmony_ci			${DECLARATIONS}
550e5c31af7Sopenharmony_ci
551e5c31af7Sopenharmony_ci			void main()
552e5c31af7Sopenharmony_ci			{
553e5c31af7Sopenharmony_ci				${SETUP}
554e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
555e5c31af7Sopenharmony_ci				${OUTPUT}
556e5c31af7Sopenharmony_ci			}
557e5c31af7Sopenharmony_ci		""
558e5c31af7Sopenharmony_ci	end
559e5c31af7Sopenharmony_ci
560e5c31af7Sopenharmony_ci	case int_to_bvec3
561e5c31af7Sopenharmony_ci		values
562e5c31af7Sopenharmony_ci		{
563e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
564e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) ];
565e5c31af7Sopenharmony_ci		}
566e5c31af7Sopenharmony_ci
567e5c31af7Sopenharmony_ci		both ""
568e5c31af7Sopenharmony_ci			precision mediump float;
569e5c31af7Sopenharmony_ci			precision mediump int;
570e5c31af7Sopenharmony_ci
571e5c31af7Sopenharmony_ci			${DECLARATIONS}
572e5c31af7Sopenharmony_ci
573e5c31af7Sopenharmony_ci			void main()
574e5c31af7Sopenharmony_ci			{
575e5c31af7Sopenharmony_ci				${SETUP}
576e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
577e5c31af7Sopenharmony_ci				${OUTPUT}
578e5c31af7Sopenharmony_ci			}
579e5c31af7Sopenharmony_ci		""
580e5c31af7Sopenharmony_ci	end
581e5c31af7Sopenharmony_ci
582e5c31af7Sopenharmony_ci	case int_to_bvec4
583e5c31af7Sopenharmony_ci		values
584e5c31af7Sopenharmony_ci		{
585e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
586e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) ];
587e5c31af7Sopenharmony_ci		}
588e5c31af7Sopenharmony_ci
589e5c31af7Sopenharmony_ci		both ""
590e5c31af7Sopenharmony_ci			precision mediump float;
591e5c31af7Sopenharmony_ci			precision mediump int;
592e5c31af7Sopenharmony_ci
593e5c31af7Sopenharmony_ci			${DECLARATIONS}
594e5c31af7Sopenharmony_ci
595e5c31af7Sopenharmony_ci			void main()
596e5c31af7Sopenharmony_ci			{
597e5c31af7Sopenharmony_ci				${SETUP}
598e5c31af7Sopenharmony_ci				out0 = bvec4(in0);
599e5c31af7Sopenharmony_ci				${OUTPUT}
600e5c31af7Sopenharmony_ci			}
601e5c31af7Sopenharmony_ci		""
602e5c31af7Sopenharmony_ci	end
603e5c31af7Sopenharmony_ci
604e5c31af7Sopenharmony_ci	case bool_to_vec2
605e5c31af7Sopenharmony_ci		values
606e5c31af7Sopenharmony_ci		{
607e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
608e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(1.0, 1.0) | vec2(0.0, 0.0) ];
609e5c31af7Sopenharmony_ci		}
610e5c31af7Sopenharmony_ci
611e5c31af7Sopenharmony_ci		both ""
612e5c31af7Sopenharmony_ci			precision mediump float;
613e5c31af7Sopenharmony_ci			precision mediump int;
614e5c31af7Sopenharmony_ci
615e5c31af7Sopenharmony_ci			${DECLARATIONS}
616e5c31af7Sopenharmony_ci
617e5c31af7Sopenharmony_ci			void main()
618e5c31af7Sopenharmony_ci			{
619e5c31af7Sopenharmony_ci				${SETUP}
620e5c31af7Sopenharmony_ci				out0 = vec2(in0);
621e5c31af7Sopenharmony_ci				${OUTPUT}
622e5c31af7Sopenharmony_ci			}
623e5c31af7Sopenharmony_ci		""
624e5c31af7Sopenharmony_ci	end
625e5c31af7Sopenharmony_ci
626e5c31af7Sopenharmony_ci	case bool_to_vec3
627e5c31af7Sopenharmony_ci		values
628e5c31af7Sopenharmony_ci		{
629e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
630e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(1.0, 1.0, 1.0) | vec3(0.0, 0.0, 0.0) ];
631e5c31af7Sopenharmony_ci		}
632e5c31af7Sopenharmony_ci
633e5c31af7Sopenharmony_ci		both ""
634e5c31af7Sopenharmony_ci			precision mediump float;
635e5c31af7Sopenharmony_ci			precision mediump int;
636e5c31af7Sopenharmony_ci
637e5c31af7Sopenharmony_ci			${DECLARATIONS}
638e5c31af7Sopenharmony_ci
639e5c31af7Sopenharmony_ci			void main()
640e5c31af7Sopenharmony_ci			{
641e5c31af7Sopenharmony_ci				${SETUP}
642e5c31af7Sopenharmony_ci				out0 = vec3(in0);
643e5c31af7Sopenharmony_ci				${OUTPUT}
644e5c31af7Sopenharmony_ci			}
645e5c31af7Sopenharmony_ci		""
646e5c31af7Sopenharmony_ci	end
647e5c31af7Sopenharmony_ci
648e5c31af7Sopenharmony_ci	case bool_to_vec4
649e5c31af7Sopenharmony_ci		values
650e5c31af7Sopenharmony_ci		{
651e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
652e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(1.0, 1.0, 1.0, 1.0) | vec4(0.0, 0.0, 0.0, 0.0) ];
653e5c31af7Sopenharmony_ci		}
654e5c31af7Sopenharmony_ci
655e5c31af7Sopenharmony_ci		both ""
656e5c31af7Sopenharmony_ci			precision mediump float;
657e5c31af7Sopenharmony_ci			precision mediump int;
658e5c31af7Sopenharmony_ci
659e5c31af7Sopenharmony_ci			${DECLARATIONS}
660e5c31af7Sopenharmony_ci
661e5c31af7Sopenharmony_ci			void main()
662e5c31af7Sopenharmony_ci			{
663e5c31af7Sopenharmony_ci				${SETUP}
664e5c31af7Sopenharmony_ci				out0 = vec4(in0);
665e5c31af7Sopenharmony_ci				${OUTPUT}
666e5c31af7Sopenharmony_ci			}
667e5c31af7Sopenharmony_ci		""
668e5c31af7Sopenharmony_ci	end
669e5c31af7Sopenharmony_ci
670e5c31af7Sopenharmony_ci	case bool_to_ivec2
671e5c31af7Sopenharmony_ci		values
672e5c31af7Sopenharmony_ci		{
673e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
674e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(1, 1) | ivec2(0, 0) ];
675e5c31af7Sopenharmony_ci		}
676e5c31af7Sopenharmony_ci
677e5c31af7Sopenharmony_ci		both ""
678e5c31af7Sopenharmony_ci			precision mediump float;
679e5c31af7Sopenharmony_ci			precision mediump int;
680e5c31af7Sopenharmony_ci
681e5c31af7Sopenharmony_ci			${DECLARATIONS}
682e5c31af7Sopenharmony_ci
683e5c31af7Sopenharmony_ci			void main()
684e5c31af7Sopenharmony_ci			{
685e5c31af7Sopenharmony_ci				${SETUP}
686e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
687e5c31af7Sopenharmony_ci				${OUTPUT}
688e5c31af7Sopenharmony_ci			}
689e5c31af7Sopenharmony_ci		""
690e5c31af7Sopenharmony_ci	end
691e5c31af7Sopenharmony_ci
692e5c31af7Sopenharmony_ci	case bool_to_ivec3
693e5c31af7Sopenharmony_ci		values
694e5c31af7Sopenharmony_ci		{
695e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
696e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(0, 0, 0) ];
697e5c31af7Sopenharmony_ci		}
698e5c31af7Sopenharmony_ci
699e5c31af7Sopenharmony_ci		both ""
700e5c31af7Sopenharmony_ci			precision mediump float;
701e5c31af7Sopenharmony_ci			precision mediump int;
702e5c31af7Sopenharmony_ci
703e5c31af7Sopenharmony_ci			${DECLARATIONS}
704e5c31af7Sopenharmony_ci
705e5c31af7Sopenharmony_ci			void main()
706e5c31af7Sopenharmony_ci			{
707e5c31af7Sopenharmony_ci				${SETUP}
708e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
709e5c31af7Sopenharmony_ci				${OUTPUT}
710e5c31af7Sopenharmony_ci			}
711e5c31af7Sopenharmony_ci		""
712e5c31af7Sopenharmony_ci	end
713e5c31af7Sopenharmony_ci
714e5c31af7Sopenharmony_ci	case bool_to_ivec4
715e5c31af7Sopenharmony_ci		values
716e5c31af7Sopenharmony_ci		{
717e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
718e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) ];
719e5c31af7Sopenharmony_ci		}
720e5c31af7Sopenharmony_ci
721e5c31af7Sopenharmony_ci		both ""
722e5c31af7Sopenharmony_ci			precision mediump float;
723e5c31af7Sopenharmony_ci			precision mediump int;
724e5c31af7Sopenharmony_ci
725e5c31af7Sopenharmony_ci			${DECLARATIONS}
726e5c31af7Sopenharmony_ci
727e5c31af7Sopenharmony_ci			void main()
728e5c31af7Sopenharmony_ci			{
729e5c31af7Sopenharmony_ci				${SETUP}
730e5c31af7Sopenharmony_ci				out0 = ivec4(in0);
731e5c31af7Sopenharmony_ci				${OUTPUT}
732e5c31af7Sopenharmony_ci			}
733e5c31af7Sopenharmony_ci		""
734e5c31af7Sopenharmony_ci	end
735e5c31af7Sopenharmony_ci
736e5c31af7Sopenharmony_ci	case bool_to_bvec2
737e5c31af7Sopenharmony_ci		values
738e5c31af7Sopenharmony_ci		{
739e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
740e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) ];
741e5c31af7Sopenharmony_ci		}
742e5c31af7Sopenharmony_ci
743e5c31af7Sopenharmony_ci		both ""
744e5c31af7Sopenharmony_ci			precision mediump float;
745e5c31af7Sopenharmony_ci			precision mediump int;
746e5c31af7Sopenharmony_ci
747e5c31af7Sopenharmony_ci			${DECLARATIONS}
748e5c31af7Sopenharmony_ci
749e5c31af7Sopenharmony_ci			void main()
750e5c31af7Sopenharmony_ci			{
751e5c31af7Sopenharmony_ci				${SETUP}
752e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
753e5c31af7Sopenharmony_ci				${OUTPUT}
754e5c31af7Sopenharmony_ci			}
755e5c31af7Sopenharmony_ci		""
756e5c31af7Sopenharmony_ci	end
757e5c31af7Sopenharmony_ci
758e5c31af7Sopenharmony_ci	case bool_to_bvec3
759e5c31af7Sopenharmony_ci		values
760e5c31af7Sopenharmony_ci		{
761e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
762e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(false, false, false) ];
763e5c31af7Sopenharmony_ci		}
764e5c31af7Sopenharmony_ci
765e5c31af7Sopenharmony_ci		both ""
766e5c31af7Sopenharmony_ci			precision mediump float;
767e5c31af7Sopenharmony_ci			precision mediump int;
768e5c31af7Sopenharmony_ci
769e5c31af7Sopenharmony_ci			${DECLARATIONS}
770e5c31af7Sopenharmony_ci
771e5c31af7Sopenharmony_ci			void main()
772e5c31af7Sopenharmony_ci			{
773e5c31af7Sopenharmony_ci				${SETUP}
774e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
775e5c31af7Sopenharmony_ci				${OUTPUT}
776e5c31af7Sopenharmony_ci			}
777e5c31af7Sopenharmony_ci		""
778e5c31af7Sopenharmony_ci	end
779e5c31af7Sopenharmony_ci
780e5c31af7Sopenharmony_ci	case bool_to_bvec4
781e5c31af7Sopenharmony_ci		values
782e5c31af7Sopenharmony_ci		{
783e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
784e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
785e5c31af7Sopenharmony_ci		}
786e5c31af7Sopenharmony_ci
787e5c31af7Sopenharmony_ci		both ""
788e5c31af7Sopenharmony_ci			precision mediump float;
789e5c31af7Sopenharmony_ci			precision mediump int;
790e5c31af7Sopenharmony_ci
791e5c31af7Sopenharmony_ci			${DECLARATIONS}
792e5c31af7Sopenharmony_ci
793e5c31af7Sopenharmony_ci			void main()
794e5c31af7Sopenharmony_ci			{
795e5c31af7Sopenharmony_ci				${SETUP}
796e5c31af7Sopenharmony_ci				out0 = bvec4(in0);
797e5c31af7Sopenharmony_ci				${OUTPUT}
798e5c31af7Sopenharmony_ci			}
799e5c31af7Sopenharmony_ci		""
800e5c31af7Sopenharmony_ci	end
801e5c31af7Sopenharmony_ci
802e5c31af7Sopenharmony_ci
803e5c31af7Sopenharmony_ciend # scalar_to_vector
804e5c31af7Sopenharmony_cigroup vector_to_scalar "Vector to Scalar Conversions"
805e5c31af7Sopenharmony_ci
806e5c31af7Sopenharmony_ci	case vec2_to_float
807e5c31af7Sopenharmony_ci		values
808e5c31af7Sopenharmony_ci		{
809e5c31af7Sopenharmony_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) ];
810e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
811e5c31af7Sopenharmony_ci		}
812e5c31af7Sopenharmony_ci
813e5c31af7Sopenharmony_ci		both ""
814e5c31af7Sopenharmony_ci			precision mediump float;
815e5c31af7Sopenharmony_ci			precision mediump int;
816e5c31af7Sopenharmony_ci
817e5c31af7Sopenharmony_ci			${DECLARATIONS}
818e5c31af7Sopenharmony_ci
819e5c31af7Sopenharmony_ci			void main()
820e5c31af7Sopenharmony_ci			{
821e5c31af7Sopenharmony_ci				${SETUP}
822e5c31af7Sopenharmony_ci				out0 = float(in0);
823e5c31af7Sopenharmony_ci				${OUTPUT}
824e5c31af7Sopenharmony_ci			}
825e5c31af7Sopenharmony_ci		""
826e5c31af7Sopenharmony_ci	end
827e5c31af7Sopenharmony_ci
828e5c31af7Sopenharmony_ci	case vec2_to_int
829e5c31af7Sopenharmony_ci		values
830e5c31af7Sopenharmony_ci		{
831e5c31af7Sopenharmony_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) ];
832e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
833e5c31af7Sopenharmony_ci		}
834e5c31af7Sopenharmony_ci
835e5c31af7Sopenharmony_ci		both ""
836e5c31af7Sopenharmony_ci			precision mediump float;
837e5c31af7Sopenharmony_ci			precision mediump int;
838e5c31af7Sopenharmony_ci
839e5c31af7Sopenharmony_ci			${DECLARATIONS}
840e5c31af7Sopenharmony_ci
841e5c31af7Sopenharmony_ci			void main()
842e5c31af7Sopenharmony_ci			{
843e5c31af7Sopenharmony_ci				${SETUP}
844e5c31af7Sopenharmony_ci				out0 = int(in0);
845e5c31af7Sopenharmony_ci				${OUTPUT}
846e5c31af7Sopenharmony_ci			}
847e5c31af7Sopenharmony_ci		""
848e5c31af7Sopenharmony_ci	end
849e5c31af7Sopenharmony_ci
850e5c31af7Sopenharmony_ci	case vec2_to_bool
851e5c31af7Sopenharmony_ci		values
852e5c31af7Sopenharmony_ci		{
853e5c31af7Sopenharmony_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) ];
854e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | true | true | true ];
855e5c31af7Sopenharmony_ci		}
856e5c31af7Sopenharmony_ci
857e5c31af7Sopenharmony_ci		both ""
858e5c31af7Sopenharmony_ci			precision mediump float;
859e5c31af7Sopenharmony_ci			precision mediump int;
860e5c31af7Sopenharmony_ci
861e5c31af7Sopenharmony_ci			${DECLARATIONS}
862e5c31af7Sopenharmony_ci
863e5c31af7Sopenharmony_ci			void main()
864e5c31af7Sopenharmony_ci			{
865e5c31af7Sopenharmony_ci				${SETUP}
866e5c31af7Sopenharmony_ci				out0 = bool(in0);
867e5c31af7Sopenharmony_ci				${OUTPUT}
868e5c31af7Sopenharmony_ci			}
869e5c31af7Sopenharmony_ci		""
870e5c31af7Sopenharmony_ci	end
871e5c31af7Sopenharmony_ci
872e5c31af7Sopenharmony_ci	case vec3_to_float
873e5c31af7Sopenharmony_ci		values
874e5c31af7Sopenharmony_ci		{
875e5c31af7Sopenharmony_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) ];
876e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
877e5c31af7Sopenharmony_ci		}
878e5c31af7Sopenharmony_ci
879e5c31af7Sopenharmony_ci		both ""
880e5c31af7Sopenharmony_ci			precision mediump float;
881e5c31af7Sopenharmony_ci			precision mediump int;
882e5c31af7Sopenharmony_ci
883e5c31af7Sopenharmony_ci			${DECLARATIONS}
884e5c31af7Sopenharmony_ci
885e5c31af7Sopenharmony_ci			void main()
886e5c31af7Sopenharmony_ci			{
887e5c31af7Sopenharmony_ci				${SETUP}
888e5c31af7Sopenharmony_ci				out0 = float(in0);
889e5c31af7Sopenharmony_ci				${OUTPUT}
890e5c31af7Sopenharmony_ci			}
891e5c31af7Sopenharmony_ci		""
892e5c31af7Sopenharmony_ci	end
893e5c31af7Sopenharmony_ci
894e5c31af7Sopenharmony_ci	case vec3_to_int
895e5c31af7Sopenharmony_ci		values
896e5c31af7Sopenharmony_ci		{
897e5c31af7Sopenharmony_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) ];
898e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
899e5c31af7Sopenharmony_ci		}
900e5c31af7Sopenharmony_ci
901e5c31af7Sopenharmony_ci		both ""
902e5c31af7Sopenharmony_ci			precision mediump float;
903e5c31af7Sopenharmony_ci			precision mediump int;
904e5c31af7Sopenharmony_ci
905e5c31af7Sopenharmony_ci			${DECLARATIONS}
906e5c31af7Sopenharmony_ci
907e5c31af7Sopenharmony_ci			void main()
908e5c31af7Sopenharmony_ci			{
909e5c31af7Sopenharmony_ci				${SETUP}
910e5c31af7Sopenharmony_ci				out0 = int(in0);
911e5c31af7Sopenharmony_ci				${OUTPUT}
912e5c31af7Sopenharmony_ci			}
913e5c31af7Sopenharmony_ci		""
914e5c31af7Sopenharmony_ci	end
915e5c31af7Sopenharmony_ci
916e5c31af7Sopenharmony_ci	case vec3_to_bool
917e5c31af7Sopenharmony_ci		values
918e5c31af7Sopenharmony_ci		{
919e5c31af7Sopenharmony_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) ];
920e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | true | true | true ];
921e5c31af7Sopenharmony_ci		}
922e5c31af7Sopenharmony_ci
923e5c31af7Sopenharmony_ci		both ""
924e5c31af7Sopenharmony_ci			precision mediump float;
925e5c31af7Sopenharmony_ci			precision mediump int;
926e5c31af7Sopenharmony_ci
927e5c31af7Sopenharmony_ci			${DECLARATIONS}
928e5c31af7Sopenharmony_ci
929e5c31af7Sopenharmony_ci			void main()
930e5c31af7Sopenharmony_ci			{
931e5c31af7Sopenharmony_ci				${SETUP}
932e5c31af7Sopenharmony_ci				out0 = bool(in0);
933e5c31af7Sopenharmony_ci				${OUTPUT}
934e5c31af7Sopenharmony_ci			}
935e5c31af7Sopenharmony_ci		""
936e5c31af7Sopenharmony_ci	end
937e5c31af7Sopenharmony_ci
938e5c31af7Sopenharmony_ci	case vec4_to_float
939e5c31af7Sopenharmony_ci		values
940e5c31af7Sopenharmony_ci		{
941e5c31af7Sopenharmony_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) ];
942e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
943e5c31af7Sopenharmony_ci		}
944e5c31af7Sopenharmony_ci
945e5c31af7Sopenharmony_ci		both ""
946e5c31af7Sopenharmony_ci			precision mediump float;
947e5c31af7Sopenharmony_ci			precision mediump int;
948e5c31af7Sopenharmony_ci
949e5c31af7Sopenharmony_ci			${DECLARATIONS}
950e5c31af7Sopenharmony_ci
951e5c31af7Sopenharmony_ci			void main()
952e5c31af7Sopenharmony_ci			{
953e5c31af7Sopenharmony_ci				${SETUP}
954e5c31af7Sopenharmony_ci				out0 = float(in0);
955e5c31af7Sopenharmony_ci				${OUTPUT}
956e5c31af7Sopenharmony_ci			}
957e5c31af7Sopenharmony_ci		""
958e5c31af7Sopenharmony_ci	end
959e5c31af7Sopenharmony_ci
960e5c31af7Sopenharmony_ci	case vec4_to_int
961e5c31af7Sopenharmony_ci		values
962e5c31af7Sopenharmony_ci		{
963e5c31af7Sopenharmony_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) ];
964e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
965e5c31af7Sopenharmony_ci		}
966e5c31af7Sopenharmony_ci
967e5c31af7Sopenharmony_ci		both ""
968e5c31af7Sopenharmony_ci			precision mediump float;
969e5c31af7Sopenharmony_ci			precision mediump int;
970e5c31af7Sopenharmony_ci
971e5c31af7Sopenharmony_ci			${DECLARATIONS}
972e5c31af7Sopenharmony_ci
973e5c31af7Sopenharmony_ci			void main()
974e5c31af7Sopenharmony_ci			{
975e5c31af7Sopenharmony_ci				${SETUP}
976e5c31af7Sopenharmony_ci				out0 = int(in0);
977e5c31af7Sopenharmony_ci				${OUTPUT}
978e5c31af7Sopenharmony_ci			}
979e5c31af7Sopenharmony_ci		""
980e5c31af7Sopenharmony_ci	end
981e5c31af7Sopenharmony_ci
982e5c31af7Sopenharmony_ci	case vec4_to_bool
983e5c31af7Sopenharmony_ci		values
984e5c31af7Sopenharmony_ci		{
985e5c31af7Sopenharmony_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) ];
986e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | true | true | true ];
987e5c31af7Sopenharmony_ci		}
988e5c31af7Sopenharmony_ci
989e5c31af7Sopenharmony_ci		both ""
990e5c31af7Sopenharmony_ci			precision mediump float;
991e5c31af7Sopenharmony_ci			precision mediump int;
992e5c31af7Sopenharmony_ci
993e5c31af7Sopenharmony_ci			${DECLARATIONS}
994e5c31af7Sopenharmony_ci
995e5c31af7Sopenharmony_ci			void main()
996e5c31af7Sopenharmony_ci			{
997e5c31af7Sopenharmony_ci				${SETUP}
998e5c31af7Sopenharmony_ci				out0 = bool(in0);
999e5c31af7Sopenharmony_ci				${OUTPUT}
1000e5c31af7Sopenharmony_ci			}
1001e5c31af7Sopenharmony_ci		""
1002e5c31af7Sopenharmony_ci	end
1003e5c31af7Sopenharmony_ci
1004e5c31af7Sopenharmony_ci	case ivec2_to_float
1005e5c31af7Sopenharmony_ci		values
1006e5c31af7Sopenharmony_ci		{
1007e5c31af7Sopenharmony_ci			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
1008e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 0.0 | -32.0 | 0.0 ];
1009e5c31af7Sopenharmony_ci		}
1010e5c31af7Sopenharmony_ci
1011e5c31af7Sopenharmony_ci		both ""
1012e5c31af7Sopenharmony_ci			precision mediump float;
1013e5c31af7Sopenharmony_ci			precision mediump int;
1014e5c31af7Sopenharmony_ci
1015e5c31af7Sopenharmony_ci			${DECLARATIONS}
1016e5c31af7Sopenharmony_ci
1017e5c31af7Sopenharmony_ci			void main()
1018e5c31af7Sopenharmony_ci			{
1019e5c31af7Sopenharmony_ci				${SETUP}
1020e5c31af7Sopenharmony_ci				out0 = float(in0);
1021e5c31af7Sopenharmony_ci				${OUTPUT}
1022e5c31af7Sopenharmony_ci			}
1023e5c31af7Sopenharmony_ci		""
1024e5c31af7Sopenharmony_ci	end
1025e5c31af7Sopenharmony_ci
1026e5c31af7Sopenharmony_ci	case ivec2_to_int
1027e5c31af7Sopenharmony_ci		values
1028e5c31af7Sopenharmony_ci		{
1029e5c31af7Sopenharmony_ci			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
1030e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
1031e5c31af7Sopenharmony_ci		}
1032e5c31af7Sopenharmony_ci
1033e5c31af7Sopenharmony_ci		both ""
1034e5c31af7Sopenharmony_ci			precision mediump float;
1035e5c31af7Sopenharmony_ci			precision mediump int;
1036e5c31af7Sopenharmony_ci
1037e5c31af7Sopenharmony_ci			${DECLARATIONS}
1038e5c31af7Sopenharmony_ci
1039e5c31af7Sopenharmony_ci			void main()
1040e5c31af7Sopenharmony_ci			{
1041e5c31af7Sopenharmony_ci				${SETUP}
1042e5c31af7Sopenharmony_ci				out0 = int(in0);
1043e5c31af7Sopenharmony_ci				${OUTPUT}
1044e5c31af7Sopenharmony_ci			}
1045e5c31af7Sopenharmony_ci		""
1046e5c31af7Sopenharmony_ci	end
1047e5c31af7Sopenharmony_ci
1048e5c31af7Sopenharmony_ci	case ivec2_to_bool
1049e5c31af7Sopenharmony_ci		values
1050e5c31af7Sopenharmony_ci		{
1051e5c31af7Sopenharmony_ci			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
1052e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | false | true | false ];
1053e5c31af7Sopenharmony_ci		}
1054e5c31af7Sopenharmony_ci
1055e5c31af7Sopenharmony_ci		both ""
1056e5c31af7Sopenharmony_ci			precision mediump float;
1057e5c31af7Sopenharmony_ci			precision mediump int;
1058e5c31af7Sopenharmony_ci
1059e5c31af7Sopenharmony_ci			${DECLARATIONS}
1060e5c31af7Sopenharmony_ci
1061e5c31af7Sopenharmony_ci			void main()
1062e5c31af7Sopenharmony_ci			{
1063e5c31af7Sopenharmony_ci				${SETUP}
1064e5c31af7Sopenharmony_ci				out0 = bool(in0);
1065e5c31af7Sopenharmony_ci				${OUTPUT}
1066e5c31af7Sopenharmony_ci			}
1067e5c31af7Sopenharmony_ci		""
1068e5c31af7Sopenharmony_ci	end
1069e5c31af7Sopenharmony_ci
1070e5c31af7Sopenharmony_ci	case ivec3_to_float
1071e5c31af7Sopenharmony_ci		values
1072e5c31af7Sopenharmony_ci		{
1073e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
1074e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 0.0 | -32.0 | 0.0 ];
1075e5c31af7Sopenharmony_ci		}
1076e5c31af7Sopenharmony_ci
1077e5c31af7Sopenharmony_ci		both ""
1078e5c31af7Sopenharmony_ci			precision mediump float;
1079e5c31af7Sopenharmony_ci			precision mediump int;
1080e5c31af7Sopenharmony_ci
1081e5c31af7Sopenharmony_ci			${DECLARATIONS}
1082e5c31af7Sopenharmony_ci
1083e5c31af7Sopenharmony_ci			void main()
1084e5c31af7Sopenharmony_ci			{
1085e5c31af7Sopenharmony_ci				${SETUP}
1086e5c31af7Sopenharmony_ci				out0 = float(in0);
1087e5c31af7Sopenharmony_ci				${OUTPUT}
1088e5c31af7Sopenharmony_ci			}
1089e5c31af7Sopenharmony_ci		""
1090e5c31af7Sopenharmony_ci	end
1091e5c31af7Sopenharmony_ci
1092e5c31af7Sopenharmony_ci	case ivec3_to_int
1093e5c31af7Sopenharmony_ci		values
1094e5c31af7Sopenharmony_ci		{
1095e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
1096e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
1097e5c31af7Sopenharmony_ci		}
1098e5c31af7Sopenharmony_ci
1099e5c31af7Sopenharmony_ci		both ""
1100e5c31af7Sopenharmony_ci			precision mediump float;
1101e5c31af7Sopenharmony_ci			precision mediump int;
1102e5c31af7Sopenharmony_ci
1103e5c31af7Sopenharmony_ci			${DECLARATIONS}
1104e5c31af7Sopenharmony_ci
1105e5c31af7Sopenharmony_ci			void main()
1106e5c31af7Sopenharmony_ci			{
1107e5c31af7Sopenharmony_ci				${SETUP}
1108e5c31af7Sopenharmony_ci				out0 = int(in0);
1109e5c31af7Sopenharmony_ci				${OUTPUT}
1110e5c31af7Sopenharmony_ci			}
1111e5c31af7Sopenharmony_ci		""
1112e5c31af7Sopenharmony_ci	end
1113e5c31af7Sopenharmony_ci
1114e5c31af7Sopenharmony_ci	case ivec3_to_bool
1115e5c31af7Sopenharmony_ci		values
1116e5c31af7Sopenharmony_ci		{
1117e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
1118e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | false | true | false ];
1119e5c31af7Sopenharmony_ci		}
1120e5c31af7Sopenharmony_ci
1121e5c31af7Sopenharmony_ci		both ""
1122e5c31af7Sopenharmony_ci			precision mediump float;
1123e5c31af7Sopenharmony_ci			precision mediump int;
1124e5c31af7Sopenharmony_ci
1125e5c31af7Sopenharmony_ci			${DECLARATIONS}
1126e5c31af7Sopenharmony_ci
1127e5c31af7Sopenharmony_ci			void main()
1128e5c31af7Sopenharmony_ci			{
1129e5c31af7Sopenharmony_ci				${SETUP}
1130e5c31af7Sopenharmony_ci				out0 = bool(in0);
1131e5c31af7Sopenharmony_ci				${OUTPUT}
1132e5c31af7Sopenharmony_ci			}
1133e5c31af7Sopenharmony_ci		""
1134e5c31af7Sopenharmony_ci	end
1135e5c31af7Sopenharmony_ci
1136e5c31af7Sopenharmony_ci	case ivec4_to_float
1137e5c31af7Sopenharmony_ci		values
1138e5c31af7Sopenharmony_ci		{
1139e5c31af7Sopenharmony_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) ];
1140e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 0.0 | -32.0 | 0.0 ];
1141e5c31af7Sopenharmony_ci		}
1142e5c31af7Sopenharmony_ci
1143e5c31af7Sopenharmony_ci		both ""
1144e5c31af7Sopenharmony_ci			precision mediump float;
1145e5c31af7Sopenharmony_ci			precision mediump int;
1146e5c31af7Sopenharmony_ci
1147e5c31af7Sopenharmony_ci			${DECLARATIONS}
1148e5c31af7Sopenharmony_ci
1149e5c31af7Sopenharmony_ci			void main()
1150e5c31af7Sopenharmony_ci			{
1151e5c31af7Sopenharmony_ci				${SETUP}
1152e5c31af7Sopenharmony_ci				out0 = float(in0);
1153e5c31af7Sopenharmony_ci				${OUTPUT}
1154e5c31af7Sopenharmony_ci			}
1155e5c31af7Sopenharmony_ci		""
1156e5c31af7Sopenharmony_ci	end
1157e5c31af7Sopenharmony_ci
1158e5c31af7Sopenharmony_ci	case ivec4_to_int
1159e5c31af7Sopenharmony_ci		values
1160e5c31af7Sopenharmony_ci		{
1161e5c31af7Sopenharmony_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) ];
1162e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
1163e5c31af7Sopenharmony_ci		}
1164e5c31af7Sopenharmony_ci
1165e5c31af7Sopenharmony_ci		both ""
1166e5c31af7Sopenharmony_ci			precision mediump float;
1167e5c31af7Sopenharmony_ci			precision mediump int;
1168e5c31af7Sopenharmony_ci
1169e5c31af7Sopenharmony_ci			${DECLARATIONS}
1170e5c31af7Sopenharmony_ci
1171e5c31af7Sopenharmony_ci			void main()
1172e5c31af7Sopenharmony_ci			{
1173e5c31af7Sopenharmony_ci				${SETUP}
1174e5c31af7Sopenharmony_ci				out0 = int(in0);
1175e5c31af7Sopenharmony_ci				${OUTPUT}
1176e5c31af7Sopenharmony_ci			}
1177e5c31af7Sopenharmony_ci		""
1178e5c31af7Sopenharmony_ci	end
1179e5c31af7Sopenharmony_ci
1180e5c31af7Sopenharmony_ci	case ivec4_to_bool
1181e5c31af7Sopenharmony_ci		values
1182e5c31af7Sopenharmony_ci		{
1183e5c31af7Sopenharmony_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) ];
1184e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | false | true | false ];
1185e5c31af7Sopenharmony_ci		}
1186e5c31af7Sopenharmony_ci
1187e5c31af7Sopenharmony_ci		both ""
1188e5c31af7Sopenharmony_ci			precision mediump float;
1189e5c31af7Sopenharmony_ci			precision mediump int;
1190e5c31af7Sopenharmony_ci
1191e5c31af7Sopenharmony_ci			${DECLARATIONS}
1192e5c31af7Sopenharmony_ci
1193e5c31af7Sopenharmony_ci			void main()
1194e5c31af7Sopenharmony_ci			{
1195e5c31af7Sopenharmony_ci				${SETUP}
1196e5c31af7Sopenharmony_ci				out0 = bool(in0);
1197e5c31af7Sopenharmony_ci				${OUTPUT}
1198e5c31af7Sopenharmony_ci			}
1199e5c31af7Sopenharmony_ci		""
1200e5c31af7Sopenharmony_ci	end
1201e5c31af7Sopenharmony_ci
1202e5c31af7Sopenharmony_ci	case bvec2_to_float
1203e5c31af7Sopenharmony_ci		values
1204e5c31af7Sopenharmony_ci		{
1205e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
1206e5c31af7Sopenharmony_ci			output float out0 = [ 1.0 | 0.0 | 0.0 | 1.0 | 0.0 ];
1207e5c31af7Sopenharmony_ci		}
1208e5c31af7Sopenharmony_ci
1209e5c31af7Sopenharmony_ci		both ""
1210e5c31af7Sopenharmony_ci			precision mediump float;
1211e5c31af7Sopenharmony_ci			precision mediump int;
1212e5c31af7Sopenharmony_ci
1213e5c31af7Sopenharmony_ci			${DECLARATIONS}
1214e5c31af7Sopenharmony_ci
1215e5c31af7Sopenharmony_ci			void main()
1216e5c31af7Sopenharmony_ci			{
1217e5c31af7Sopenharmony_ci				${SETUP}
1218e5c31af7Sopenharmony_ci				out0 = float(in0);
1219e5c31af7Sopenharmony_ci				${OUTPUT}
1220e5c31af7Sopenharmony_ci			}
1221e5c31af7Sopenharmony_ci		""
1222e5c31af7Sopenharmony_ci	end
1223e5c31af7Sopenharmony_ci
1224e5c31af7Sopenharmony_ci	case bvec2_to_int
1225e5c31af7Sopenharmony_ci		values
1226e5c31af7Sopenharmony_ci		{
1227e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
1228e5c31af7Sopenharmony_ci			output int out0 = [ 1 | 0 | 0 | 1 | 0 ];
1229e5c31af7Sopenharmony_ci		}
1230e5c31af7Sopenharmony_ci
1231e5c31af7Sopenharmony_ci		both ""
1232e5c31af7Sopenharmony_ci			precision mediump float;
1233e5c31af7Sopenharmony_ci			precision mediump int;
1234e5c31af7Sopenharmony_ci
1235e5c31af7Sopenharmony_ci			${DECLARATIONS}
1236e5c31af7Sopenharmony_ci
1237e5c31af7Sopenharmony_ci			void main()
1238e5c31af7Sopenharmony_ci			{
1239e5c31af7Sopenharmony_ci				${SETUP}
1240e5c31af7Sopenharmony_ci				out0 = int(in0);
1241e5c31af7Sopenharmony_ci				${OUTPUT}
1242e5c31af7Sopenharmony_ci			}
1243e5c31af7Sopenharmony_ci		""
1244e5c31af7Sopenharmony_ci	end
1245e5c31af7Sopenharmony_ci
1246e5c31af7Sopenharmony_ci	case bvec2_to_bool
1247e5c31af7Sopenharmony_ci		values
1248e5c31af7Sopenharmony_ci		{
1249e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
1250e5c31af7Sopenharmony_ci			output bool out0 = [ true | false | false | true | false ];
1251e5c31af7Sopenharmony_ci		}
1252e5c31af7Sopenharmony_ci
1253e5c31af7Sopenharmony_ci		both ""
1254e5c31af7Sopenharmony_ci			precision mediump float;
1255e5c31af7Sopenharmony_ci			precision mediump int;
1256e5c31af7Sopenharmony_ci
1257e5c31af7Sopenharmony_ci			${DECLARATIONS}
1258e5c31af7Sopenharmony_ci
1259e5c31af7Sopenharmony_ci			void main()
1260e5c31af7Sopenharmony_ci			{
1261e5c31af7Sopenharmony_ci				${SETUP}
1262e5c31af7Sopenharmony_ci				out0 = bool(in0);
1263e5c31af7Sopenharmony_ci				${OUTPUT}
1264e5c31af7Sopenharmony_ci			}
1265e5c31af7Sopenharmony_ci		""
1266e5c31af7Sopenharmony_ci	end
1267e5c31af7Sopenharmony_ci
1268e5c31af7Sopenharmony_ci	case bvec3_to_float
1269e5c31af7Sopenharmony_ci		values
1270e5c31af7Sopenharmony_ci		{
1271e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
1272e5c31af7Sopenharmony_ci			output float out0 = [ 1.0 | 0.0 | 0.0 | 1.0 | 0.0 ];
1273e5c31af7Sopenharmony_ci		}
1274e5c31af7Sopenharmony_ci
1275e5c31af7Sopenharmony_ci		both ""
1276e5c31af7Sopenharmony_ci			precision mediump float;
1277e5c31af7Sopenharmony_ci			precision mediump int;
1278e5c31af7Sopenharmony_ci
1279e5c31af7Sopenharmony_ci			${DECLARATIONS}
1280e5c31af7Sopenharmony_ci
1281e5c31af7Sopenharmony_ci			void main()
1282e5c31af7Sopenharmony_ci			{
1283e5c31af7Sopenharmony_ci				${SETUP}
1284e5c31af7Sopenharmony_ci				out0 = float(in0);
1285e5c31af7Sopenharmony_ci				${OUTPUT}
1286e5c31af7Sopenharmony_ci			}
1287e5c31af7Sopenharmony_ci		""
1288e5c31af7Sopenharmony_ci	end
1289e5c31af7Sopenharmony_ci
1290e5c31af7Sopenharmony_ci	case bvec3_to_int
1291e5c31af7Sopenharmony_ci		values
1292e5c31af7Sopenharmony_ci		{
1293e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
1294e5c31af7Sopenharmony_ci			output int out0 = [ 1 | 0 | 0 | 1 | 0 ];
1295e5c31af7Sopenharmony_ci		}
1296e5c31af7Sopenharmony_ci
1297e5c31af7Sopenharmony_ci		both ""
1298e5c31af7Sopenharmony_ci			precision mediump float;
1299e5c31af7Sopenharmony_ci			precision mediump int;
1300e5c31af7Sopenharmony_ci
1301e5c31af7Sopenharmony_ci			${DECLARATIONS}
1302e5c31af7Sopenharmony_ci
1303e5c31af7Sopenharmony_ci			void main()
1304e5c31af7Sopenharmony_ci			{
1305e5c31af7Sopenharmony_ci				${SETUP}
1306e5c31af7Sopenharmony_ci				out0 = int(in0);
1307e5c31af7Sopenharmony_ci				${OUTPUT}
1308e5c31af7Sopenharmony_ci			}
1309e5c31af7Sopenharmony_ci		""
1310e5c31af7Sopenharmony_ci	end
1311e5c31af7Sopenharmony_ci
1312e5c31af7Sopenharmony_ci	case bvec3_to_bool
1313e5c31af7Sopenharmony_ci		values
1314e5c31af7Sopenharmony_ci		{
1315e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
1316e5c31af7Sopenharmony_ci			output bool out0 = [ true | false | false | true | false ];
1317e5c31af7Sopenharmony_ci		}
1318e5c31af7Sopenharmony_ci
1319e5c31af7Sopenharmony_ci		both ""
1320e5c31af7Sopenharmony_ci			precision mediump float;
1321e5c31af7Sopenharmony_ci			precision mediump int;
1322e5c31af7Sopenharmony_ci
1323e5c31af7Sopenharmony_ci			${DECLARATIONS}
1324e5c31af7Sopenharmony_ci
1325e5c31af7Sopenharmony_ci			void main()
1326e5c31af7Sopenharmony_ci			{
1327e5c31af7Sopenharmony_ci				${SETUP}
1328e5c31af7Sopenharmony_ci				out0 = bool(in0);
1329e5c31af7Sopenharmony_ci				${OUTPUT}
1330e5c31af7Sopenharmony_ci			}
1331e5c31af7Sopenharmony_ci		""
1332e5c31af7Sopenharmony_ci	end
1333e5c31af7Sopenharmony_ci
1334e5c31af7Sopenharmony_ci	case bvec4_to_float
1335e5c31af7Sopenharmony_ci		values
1336e5c31af7Sopenharmony_ci		{
1337e5c31af7Sopenharmony_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) ];
1338e5c31af7Sopenharmony_ci			output float out0 = [ 1.0 | 0.0 | 0.0 | 1.0 | 0.0 ];
1339e5c31af7Sopenharmony_ci		}
1340e5c31af7Sopenharmony_ci
1341e5c31af7Sopenharmony_ci		both ""
1342e5c31af7Sopenharmony_ci			precision mediump float;
1343e5c31af7Sopenharmony_ci			precision mediump int;
1344e5c31af7Sopenharmony_ci
1345e5c31af7Sopenharmony_ci			${DECLARATIONS}
1346e5c31af7Sopenharmony_ci
1347e5c31af7Sopenharmony_ci			void main()
1348e5c31af7Sopenharmony_ci			{
1349e5c31af7Sopenharmony_ci				${SETUP}
1350e5c31af7Sopenharmony_ci				out0 = float(in0);
1351e5c31af7Sopenharmony_ci				${OUTPUT}
1352e5c31af7Sopenharmony_ci			}
1353e5c31af7Sopenharmony_ci		""
1354e5c31af7Sopenharmony_ci	end
1355e5c31af7Sopenharmony_ci
1356e5c31af7Sopenharmony_ci	case bvec4_to_int
1357e5c31af7Sopenharmony_ci		values
1358e5c31af7Sopenharmony_ci		{
1359e5c31af7Sopenharmony_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) ];
1360e5c31af7Sopenharmony_ci			output int out0 = [ 1 | 0 | 0 | 1 | 0 ];
1361e5c31af7Sopenharmony_ci		}
1362e5c31af7Sopenharmony_ci
1363e5c31af7Sopenharmony_ci		both ""
1364e5c31af7Sopenharmony_ci			precision mediump float;
1365e5c31af7Sopenharmony_ci			precision mediump int;
1366e5c31af7Sopenharmony_ci
1367e5c31af7Sopenharmony_ci			${DECLARATIONS}
1368e5c31af7Sopenharmony_ci
1369e5c31af7Sopenharmony_ci			void main()
1370e5c31af7Sopenharmony_ci			{
1371e5c31af7Sopenharmony_ci				${SETUP}
1372e5c31af7Sopenharmony_ci				out0 = int(in0);
1373e5c31af7Sopenharmony_ci				${OUTPUT}
1374e5c31af7Sopenharmony_ci			}
1375e5c31af7Sopenharmony_ci		""
1376e5c31af7Sopenharmony_ci	end
1377e5c31af7Sopenharmony_ci
1378e5c31af7Sopenharmony_ci	case bvec4_to_bool
1379e5c31af7Sopenharmony_ci		values
1380e5c31af7Sopenharmony_ci		{
1381e5c31af7Sopenharmony_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) ];
1382e5c31af7Sopenharmony_ci			output bool out0 = [ true | false | false | true | false ];
1383e5c31af7Sopenharmony_ci		}
1384e5c31af7Sopenharmony_ci
1385e5c31af7Sopenharmony_ci		both ""
1386e5c31af7Sopenharmony_ci			precision mediump float;
1387e5c31af7Sopenharmony_ci			precision mediump int;
1388e5c31af7Sopenharmony_ci
1389e5c31af7Sopenharmony_ci			${DECLARATIONS}
1390e5c31af7Sopenharmony_ci
1391e5c31af7Sopenharmony_ci			void main()
1392e5c31af7Sopenharmony_ci			{
1393e5c31af7Sopenharmony_ci				${SETUP}
1394e5c31af7Sopenharmony_ci				out0 = bool(in0);
1395e5c31af7Sopenharmony_ci				${OUTPUT}
1396e5c31af7Sopenharmony_ci			}
1397e5c31af7Sopenharmony_ci		""
1398e5c31af7Sopenharmony_ci	end
1399e5c31af7Sopenharmony_ci
1400e5c31af7Sopenharmony_ci
1401e5c31af7Sopenharmony_ciend # vector_to_scalar
1402e5c31af7Sopenharmony_cigroup vector_illegal "Illegal Vector Conversions"
1403e5c31af7Sopenharmony_ci
1404e5c31af7Sopenharmony_ci	case vec2_to_vec3
1405e5c31af7Sopenharmony_ci		expect compile_fail
1406e5c31af7Sopenharmony_ci		values {}
1407e5c31af7Sopenharmony_ci
1408e5c31af7Sopenharmony_ci		both ""
1409e5c31af7Sopenharmony_ci			precision mediump float;
1410e5c31af7Sopenharmony_ci			precision mediump int;
1411e5c31af7Sopenharmony_ci
1412e5c31af7Sopenharmony_ci			${DECLARATIONS}
1413e5c31af7Sopenharmony_ci
1414e5c31af7Sopenharmony_ci			void main()
1415e5c31af7Sopenharmony_ci			{
1416e5c31af7Sopenharmony_ci				${SETUP}
1417e5c31af7Sopenharmony_ci				vec2 in0 = vec2(0.0, 0.5);
1418e5c31af7Sopenharmony_ci				vec3 out0 = vec3(in0);
1419e5c31af7Sopenharmony_ci				${OUTPUT}
1420e5c31af7Sopenharmony_ci			}
1421e5c31af7Sopenharmony_ci		""
1422e5c31af7Sopenharmony_ci	end
1423e5c31af7Sopenharmony_ci
1424e5c31af7Sopenharmony_ci	case vec2_to_ivec3
1425e5c31af7Sopenharmony_ci		expect compile_fail
1426e5c31af7Sopenharmony_ci		values {}
1427e5c31af7Sopenharmony_ci
1428e5c31af7Sopenharmony_ci		both ""
1429e5c31af7Sopenharmony_ci			precision mediump float;
1430e5c31af7Sopenharmony_ci			precision mediump int;
1431e5c31af7Sopenharmony_ci
1432e5c31af7Sopenharmony_ci			${DECLARATIONS}
1433e5c31af7Sopenharmony_ci
1434e5c31af7Sopenharmony_ci			void main()
1435e5c31af7Sopenharmony_ci			{
1436e5c31af7Sopenharmony_ci				${SETUP}
1437e5c31af7Sopenharmony_ci				vec2 in0 = vec2(0.0, 0.5);
1438e5c31af7Sopenharmony_ci				ivec3 out0 = ivec3(in0);
1439e5c31af7Sopenharmony_ci				${OUTPUT}
1440e5c31af7Sopenharmony_ci			}
1441e5c31af7Sopenharmony_ci		""
1442e5c31af7Sopenharmony_ci	end
1443e5c31af7Sopenharmony_ci
1444e5c31af7Sopenharmony_ci	case vec2_to_bvec3
1445e5c31af7Sopenharmony_ci		expect compile_fail
1446e5c31af7Sopenharmony_ci		values {}
1447e5c31af7Sopenharmony_ci
1448e5c31af7Sopenharmony_ci		both ""
1449e5c31af7Sopenharmony_ci			precision mediump float;
1450e5c31af7Sopenharmony_ci			precision mediump int;
1451e5c31af7Sopenharmony_ci
1452e5c31af7Sopenharmony_ci			${DECLARATIONS}
1453e5c31af7Sopenharmony_ci
1454e5c31af7Sopenharmony_ci			void main()
1455e5c31af7Sopenharmony_ci			{
1456e5c31af7Sopenharmony_ci				${SETUP}
1457e5c31af7Sopenharmony_ci				vec2 in0 = vec2(0.0, 0.5);
1458e5c31af7Sopenharmony_ci				bvec3 out0 = bvec3(in0);
1459e5c31af7Sopenharmony_ci				${OUTPUT}
1460e5c31af7Sopenharmony_ci			}
1461e5c31af7Sopenharmony_ci		""
1462e5c31af7Sopenharmony_ci	end
1463e5c31af7Sopenharmony_ci
1464e5c31af7Sopenharmony_ci	case vec2_to_vec4
1465e5c31af7Sopenharmony_ci		expect compile_fail
1466e5c31af7Sopenharmony_ci		values {}
1467e5c31af7Sopenharmony_ci
1468e5c31af7Sopenharmony_ci		both ""
1469e5c31af7Sopenharmony_ci			precision mediump float;
1470e5c31af7Sopenharmony_ci			precision mediump int;
1471e5c31af7Sopenharmony_ci
1472e5c31af7Sopenharmony_ci			${DECLARATIONS}
1473e5c31af7Sopenharmony_ci
1474e5c31af7Sopenharmony_ci			void main()
1475e5c31af7Sopenharmony_ci			{
1476e5c31af7Sopenharmony_ci				${SETUP}
1477e5c31af7Sopenharmony_ci				vec2 in0 = vec2(0.0, 0.5);
1478e5c31af7Sopenharmony_ci				vec4 out0 = vec4(in0);
1479e5c31af7Sopenharmony_ci				${OUTPUT}
1480e5c31af7Sopenharmony_ci			}
1481e5c31af7Sopenharmony_ci		""
1482e5c31af7Sopenharmony_ci	end
1483e5c31af7Sopenharmony_ci
1484e5c31af7Sopenharmony_ci	case vec2_to_ivec4
1485e5c31af7Sopenharmony_ci		expect compile_fail
1486e5c31af7Sopenharmony_ci		values {}
1487e5c31af7Sopenharmony_ci
1488e5c31af7Sopenharmony_ci		both ""
1489e5c31af7Sopenharmony_ci			precision mediump float;
1490e5c31af7Sopenharmony_ci			precision mediump int;
1491e5c31af7Sopenharmony_ci
1492e5c31af7Sopenharmony_ci			${DECLARATIONS}
1493e5c31af7Sopenharmony_ci
1494e5c31af7Sopenharmony_ci			void main()
1495e5c31af7Sopenharmony_ci			{
1496e5c31af7Sopenharmony_ci				${SETUP}
1497e5c31af7Sopenharmony_ci				vec2 in0 = vec2(0.0, 0.5);
1498e5c31af7Sopenharmony_ci				ivec4 out0 = ivec4(in0);
1499e5c31af7Sopenharmony_ci				${OUTPUT}
1500e5c31af7Sopenharmony_ci			}
1501e5c31af7Sopenharmony_ci		""
1502e5c31af7Sopenharmony_ci	end
1503e5c31af7Sopenharmony_ci
1504e5c31af7Sopenharmony_ci	case vec2_to_bvec4
1505e5c31af7Sopenharmony_ci		expect compile_fail
1506e5c31af7Sopenharmony_ci		values {}
1507e5c31af7Sopenharmony_ci
1508e5c31af7Sopenharmony_ci		both ""
1509e5c31af7Sopenharmony_ci			precision mediump float;
1510e5c31af7Sopenharmony_ci			precision mediump int;
1511e5c31af7Sopenharmony_ci
1512e5c31af7Sopenharmony_ci			${DECLARATIONS}
1513e5c31af7Sopenharmony_ci
1514e5c31af7Sopenharmony_ci			void main()
1515e5c31af7Sopenharmony_ci			{
1516e5c31af7Sopenharmony_ci				${SETUP}
1517e5c31af7Sopenharmony_ci				vec2 in0 = vec2(0.0, 0.5);
1518e5c31af7Sopenharmony_ci				bvec4 out0 = bvec4(in0);
1519e5c31af7Sopenharmony_ci				${OUTPUT}
1520e5c31af7Sopenharmony_ci			}
1521e5c31af7Sopenharmony_ci		""
1522e5c31af7Sopenharmony_ci	end
1523e5c31af7Sopenharmony_ci
1524e5c31af7Sopenharmony_ci	case ivec2_to_vec3
1525e5c31af7Sopenharmony_ci		expect compile_fail
1526e5c31af7Sopenharmony_ci		values {}
1527e5c31af7Sopenharmony_ci
1528e5c31af7Sopenharmony_ci		both ""
1529e5c31af7Sopenharmony_ci			precision mediump float;
1530e5c31af7Sopenharmony_ci			precision mediump int;
1531e5c31af7Sopenharmony_ci
1532e5c31af7Sopenharmony_ci			${DECLARATIONS}
1533e5c31af7Sopenharmony_ci
1534e5c31af7Sopenharmony_ci			void main()
1535e5c31af7Sopenharmony_ci			{
1536e5c31af7Sopenharmony_ci				${SETUP}
1537e5c31af7Sopenharmony_ci				ivec2 in0 = ivec2(0, 0);
1538e5c31af7Sopenharmony_ci				vec3 out0 = vec3(in0);
1539e5c31af7Sopenharmony_ci				${OUTPUT}
1540e5c31af7Sopenharmony_ci			}
1541e5c31af7Sopenharmony_ci		""
1542e5c31af7Sopenharmony_ci	end
1543e5c31af7Sopenharmony_ci
1544e5c31af7Sopenharmony_ci	case ivec2_to_ivec3
1545e5c31af7Sopenharmony_ci		expect compile_fail
1546e5c31af7Sopenharmony_ci		values {}
1547e5c31af7Sopenharmony_ci
1548e5c31af7Sopenharmony_ci		both ""
1549e5c31af7Sopenharmony_ci			precision mediump float;
1550e5c31af7Sopenharmony_ci			precision mediump int;
1551e5c31af7Sopenharmony_ci
1552e5c31af7Sopenharmony_ci			${DECLARATIONS}
1553e5c31af7Sopenharmony_ci
1554e5c31af7Sopenharmony_ci			void main()
1555e5c31af7Sopenharmony_ci			{
1556e5c31af7Sopenharmony_ci				${SETUP}
1557e5c31af7Sopenharmony_ci				ivec2 in0 = ivec2(0, 0);
1558e5c31af7Sopenharmony_ci				ivec3 out0 = ivec3(in0);
1559e5c31af7Sopenharmony_ci				${OUTPUT}
1560e5c31af7Sopenharmony_ci			}
1561e5c31af7Sopenharmony_ci		""
1562e5c31af7Sopenharmony_ci	end
1563e5c31af7Sopenharmony_ci
1564e5c31af7Sopenharmony_ci	case ivec2_to_bvec3
1565e5c31af7Sopenharmony_ci		expect compile_fail
1566e5c31af7Sopenharmony_ci		values {}
1567e5c31af7Sopenharmony_ci
1568e5c31af7Sopenharmony_ci		both ""
1569e5c31af7Sopenharmony_ci			precision mediump float;
1570e5c31af7Sopenharmony_ci			precision mediump int;
1571e5c31af7Sopenharmony_ci
1572e5c31af7Sopenharmony_ci			${DECLARATIONS}
1573e5c31af7Sopenharmony_ci
1574e5c31af7Sopenharmony_ci			void main()
1575e5c31af7Sopenharmony_ci			{
1576e5c31af7Sopenharmony_ci				${SETUP}
1577e5c31af7Sopenharmony_ci				ivec2 in0 = ivec2(0, 0);
1578e5c31af7Sopenharmony_ci				bvec3 out0 = bvec3(in0);
1579e5c31af7Sopenharmony_ci				${OUTPUT}
1580e5c31af7Sopenharmony_ci			}
1581e5c31af7Sopenharmony_ci		""
1582e5c31af7Sopenharmony_ci	end
1583e5c31af7Sopenharmony_ci
1584e5c31af7Sopenharmony_ci	case ivec2_to_vec4
1585e5c31af7Sopenharmony_ci		expect compile_fail
1586e5c31af7Sopenharmony_ci		values {}
1587e5c31af7Sopenharmony_ci
1588e5c31af7Sopenharmony_ci		both ""
1589e5c31af7Sopenharmony_ci			precision mediump float;
1590e5c31af7Sopenharmony_ci			precision mediump int;
1591e5c31af7Sopenharmony_ci
1592e5c31af7Sopenharmony_ci			${DECLARATIONS}
1593e5c31af7Sopenharmony_ci
1594e5c31af7Sopenharmony_ci			void main()
1595e5c31af7Sopenharmony_ci			{
1596e5c31af7Sopenharmony_ci				${SETUP}
1597e5c31af7Sopenharmony_ci				ivec2 in0 = ivec2(0, 0);
1598e5c31af7Sopenharmony_ci				vec4 out0 = vec4(in0);
1599e5c31af7Sopenharmony_ci				${OUTPUT}
1600e5c31af7Sopenharmony_ci			}
1601e5c31af7Sopenharmony_ci		""
1602e5c31af7Sopenharmony_ci	end
1603e5c31af7Sopenharmony_ci
1604e5c31af7Sopenharmony_ci	case ivec2_to_ivec4
1605e5c31af7Sopenharmony_ci		expect compile_fail
1606e5c31af7Sopenharmony_ci		values {}
1607e5c31af7Sopenharmony_ci
1608e5c31af7Sopenharmony_ci		both ""
1609e5c31af7Sopenharmony_ci			precision mediump float;
1610e5c31af7Sopenharmony_ci			precision mediump int;
1611e5c31af7Sopenharmony_ci
1612e5c31af7Sopenharmony_ci			${DECLARATIONS}
1613e5c31af7Sopenharmony_ci
1614e5c31af7Sopenharmony_ci			void main()
1615e5c31af7Sopenharmony_ci			{
1616e5c31af7Sopenharmony_ci				${SETUP}
1617e5c31af7Sopenharmony_ci				ivec2 in0 = ivec2(0, 0);
1618e5c31af7Sopenharmony_ci				ivec4 out0 = ivec4(in0);
1619e5c31af7Sopenharmony_ci				${OUTPUT}
1620e5c31af7Sopenharmony_ci			}
1621e5c31af7Sopenharmony_ci		""
1622e5c31af7Sopenharmony_ci	end
1623e5c31af7Sopenharmony_ci
1624e5c31af7Sopenharmony_ci	case ivec2_to_bvec4
1625e5c31af7Sopenharmony_ci		expect compile_fail
1626e5c31af7Sopenharmony_ci		values {}
1627e5c31af7Sopenharmony_ci
1628e5c31af7Sopenharmony_ci		both ""
1629e5c31af7Sopenharmony_ci			precision mediump float;
1630e5c31af7Sopenharmony_ci			precision mediump int;
1631e5c31af7Sopenharmony_ci
1632e5c31af7Sopenharmony_ci			${DECLARATIONS}
1633e5c31af7Sopenharmony_ci
1634e5c31af7Sopenharmony_ci			void main()
1635e5c31af7Sopenharmony_ci			{
1636e5c31af7Sopenharmony_ci				${SETUP}
1637e5c31af7Sopenharmony_ci				ivec2 in0 = ivec2(0, 0);
1638e5c31af7Sopenharmony_ci				bvec4 out0 = bvec4(in0);
1639e5c31af7Sopenharmony_ci				${OUTPUT}
1640e5c31af7Sopenharmony_ci			}
1641e5c31af7Sopenharmony_ci		""
1642e5c31af7Sopenharmony_ci	end
1643e5c31af7Sopenharmony_ci
1644e5c31af7Sopenharmony_ci	case bvec2_to_vec3
1645e5c31af7Sopenharmony_ci		expect compile_fail
1646e5c31af7Sopenharmony_ci		values {}
1647e5c31af7Sopenharmony_ci
1648e5c31af7Sopenharmony_ci		both ""
1649e5c31af7Sopenharmony_ci			precision mediump float;
1650e5c31af7Sopenharmony_ci			precision mediump int;
1651e5c31af7Sopenharmony_ci
1652e5c31af7Sopenharmony_ci			${DECLARATIONS}
1653e5c31af7Sopenharmony_ci
1654e5c31af7Sopenharmony_ci			void main()
1655e5c31af7Sopenharmony_ci			{
1656e5c31af7Sopenharmony_ci				${SETUP}
1657e5c31af7Sopenharmony_ci				bvec2 in0 = bvec2(true, false);
1658e5c31af7Sopenharmony_ci				vec3 out0 = vec3(in0);
1659e5c31af7Sopenharmony_ci				${OUTPUT}
1660e5c31af7Sopenharmony_ci			}
1661e5c31af7Sopenharmony_ci		""
1662e5c31af7Sopenharmony_ci	end
1663e5c31af7Sopenharmony_ci
1664e5c31af7Sopenharmony_ci	case bvec2_to_ivec3
1665e5c31af7Sopenharmony_ci		expect compile_fail
1666e5c31af7Sopenharmony_ci		values {}
1667e5c31af7Sopenharmony_ci
1668e5c31af7Sopenharmony_ci		both ""
1669e5c31af7Sopenharmony_ci			precision mediump float;
1670e5c31af7Sopenharmony_ci			precision mediump int;
1671e5c31af7Sopenharmony_ci
1672e5c31af7Sopenharmony_ci			${DECLARATIONS}
1673e5c31af7Sopenharmony_ci
1674e5c31af7Sopenharmony_ci			void main()
1675e5c31af7Sopenharmony_ci			{
1676e5c31af7Sopenharmony_ci				${SETUP}
1677e5c31af7Sopenharmony_ci				bvec2 in0 = bvec2(true, false);
1678e5c31af7Sopenharmony_ci				ivec3 out0 = ivec3(in0);
1679e5c31af7Sopenharmony_ci				${OUTPUT}
1680e5c31af7Sopenharmony_ci			}
1681e5c31af7Sopenharmony_ci		""
1682e5c31af7Sopenharmony_ci	end
1683e5c31af7Sopenharmony_ci
1684e5c31af7Sopenharmony_ci	case bvec2_to_bvec3
1685e5c31af7Sopenharmony_ci		expect compile_fail
1686e5c31af7Sopenharmony_ci		values {}
1687e5c31af7Sopenharmony_ci
1688e5c31af7Sopenharmony_ci		both ""
1689e5c31af7Sopenharmony_ci			precision mediump float;
1690e5c31af7Sopenharmony_ci			precision mediump int;
1691e5c31af7Sopenharmony_ci
1692e5c31af7Sopenharmony_ci			${DECLARATIONS}
1693e5c31af7Sopenharmony_ci
1694e5c31af7Sopenharmony_ci			void main()
1695e5c31af7Sopenharmony_ci			{
1696e5c31af7Sopenharmony_ci				${SETUP}
1697e5c31af7Sopenharmony_ci				bvec2 in0 = bvec2(true, false);
1698e5c31af7Sopenharmony_ci				bvec3 out0 = bvec3(in0);
1699e5c31af7Sopenharmony_ci				${OUTPUT}
1700e5c31af7Sopenharmony_ci			}
1701e5c31af7Sopenharmony_ci		""
1702e5c31af7Sopenharmony_ci	end
1703e5c31af7Sopenharmony_ci
1704e5c31af7Sopenharmony_ci	case bvec2_to_vec4
1705e5c31af7Sopenharmony_ci		expect compile_fail
1706e5c31af7Sopenharmony_ci		values {}
1707e5c31af7Sopenharmony_ci
1708e5c31af7Sopenharmony_ci		both ""
1709e5c31af7Sopenharmony_ci			precision mediump float;
1710e5c31af7Sopenharmony_ci			precision mediump int;
1711e5c31af7Sopenharmony_ci
1712e5c31af7Sopenharmony_ci			${DECLARATIONS}
1713e5c31af7Sopenharmony_ci
1714e5c31af7Sopenharmony_ci			void main()
1715e5c31af7Sopenharmony_ci			{
1716e5c31af7Sopenharmony_ci				${SETUP}
1717e5c31af7Sopenharmony_ci				bvec2 in0 = bvec2(true, false);
1718e5c31af7Sopenharmony_ci				vec4 out0 = vec4(in0);
1719e5c31af7Sopenharmony_ci				${OUTPUT}
1720e5c31af7Sopenharmony_ci			}
1721e5c31af7Sopenharmony_ci		""
1722e5c31af7Sopenharmony_ci	end
1723e5c31af7Sopenharmony_ci
1724e5c31af7Sopenharmony_ci	case bvec2_to_ivec4
1725e5c31af7Sopenharmony_ci		expect compile_fail
1726e5c31af7Sopenharmony_ci		values {}
1727e5c31af7Sopenharmony_ci
1728e5c31af7Sopenharmony_ci		both ""
1729e5c31af7Sopenharmony_ci			precision mediump float;
1730e5c31af7Sopenharmony_ci			precision mediump int;
1731e5c31af7Sopenharmony_ci
1732e5c31af7Sopenharmony_ci			${DECLARATIONS}
1733e5c31af7Sopenharmony_ci
1734e5c31af7Sopenharmony_ci			void main()
1735e5c31af7Sopenharmony_ci			{
1736e5c31af7Sopenharmony_ci				${SETUP}
1737e5c31af7Sopenharmony_ci				bvec2 in0 = bvec2(true, false);
1738e5c31af7Sopenharmony_ci				ivec4 out0 = ivec4(in0);
1739e5c31af7Sopenharmony_ci				${OUTPUT}
1740e5c31af7Sopenharmony_ci			}
1741e5c31af7Sopenharmony_ci		""
1742e5c31af7Sopenharmony_ci	end
1743e5c31af7Sopenharmony_ci
1744e5c31af7Sopenharmony_ci	case bvec2_to_bvec4
1745e5c31af7Sopenharmony_ci		expect compile_fail
1746e5c31af7Sopenharmony_ci		values {}
1747e5c31af7Sopenharmony_ci
1748e5c31af7Sopenharmony_ci		both ""
1749e5c31af7Sopenharmony_ci			precision mediump float;
1750e5c31af7Sopenharmony_ci			precision mediump int;
1751e5c31af7Sopenharmony_ci
1752e5c31af7Sopenharmony_ci			${DECLARATIONS}
1753e5c31af7Sopenharmony_ci
1754e5c31af7Sopenharmony_ci			void main()
1755e5c31af7Sopenharmony_ci			{
1756e5c31af7Sopenharmony_ci				${SETUP}
1757e5c31af7Sopenharmony_ci				bvec2 in0 = bvec2(true, false);
1758e5c31af7Sopenharmony_ci				bvec4 out0 = bvec4(in0);
1759e5c31af7Sopenharmony_ci				${OUTPUT}
1760e5c31af7Sopenharmony_ci			}
1761e5c31af7Sopenharmony_ci		""
1762e5c31af7Sopenharmony_ci	end
1763e5c31af7Sopenharmony_ci
1764e5c31af7Sopenharmony_ci	case vec3_to_vec4
1765e5c31af7Sopenharmony_ci		expect compile_fail
1766e5c31af7Sopenharmony_ci		values {}
1767e5c31af7Sopenharmony_ci
1768e5c31af7Sopenharmony_ci		both ""
1769e5c31af7Sopenharmony_ci			precision mediump float;
1770e5c31af7Sopenharmony_ci			precision mediump int;
1771e5c31af7Sopenharmony_ci
1772e5c31af7Sopenharmony_ci			${DECLARATIONS}
1773e5c31af7Sopenharmony_ci
1774e5c31af7Sopenharmony_ci			void main()
1775e5c31af7Sopenharmony_ci			{
1776e5c31af7Sopenharmony_ci				${SETUP}
1777e5c31af7Sopenharmony_ci				vec3 in0 = vec3(0.0, 0.5, 0.75);
1778e5c31af7Sopenharmony_ci				vec4 out0 = vec4(in0);
1779e5c31af7Sopenharmony_ci				${OUTPUT}
1780e5c31af7Sopenharmony_ci			}
1781e5c31af7Sopenharmony_ci		""
1782e5c31af7Sopenharmony_ci	end
1783e5c31af7Sopenharmony_ci
1784e5c31af7Sopenharmony_ci	case vec3_to_ivec4
1785e5c31af7Sopenharmony_ci		expect compile_fail
1786e5c31af7Sopenharmony_ci		values {}
1787e5c31af7Sopenharmony_ci
1788e5c31af7Sopenharmony_ci		both ""
1789e5c31af7Sopenharmony_ci			precision mediump float;
1790e5c31af7Sopenharmony_ci			precision mediump int;
1791e5c31af7Sopenharmony_ci
1792e5c31af7Sopenharmony_ci			${DECLARATIONS}
1793e5c31af7Sopenharmony_ci
1794e5c31af7Sopenharmony_ci			void main()
1795e5c31af7Sopenharmony_ci			{
1796e5c31af7Sopenharmony_ci				${SETUP}
1797e5c31af7Sopenharmony_ci				vec3 in0 = vec3(0.0, 0.5, 0.75);
1798e5c31af7Sopenharmony_ci				ivec4 out0 = ivec4(in0);
1799e5c31af7Sopenharmony_ci				${OUTPUT}
1800e5c31af7Sopenharmony_ci			}
1801e5c31af7Sopenharmony_ci		""
1802e5c31af7Sopenharmony_ci	end
1803e5c31af7Sopenharmony_ci
1804e5c31af7Sopenharmony_ci	case vec3_to_bvec4
1805e5c31af7Sopenharmony_ci		expect compile_fail
1806e5c31af7Sopenharmony_ci		values {}
1807e5c31af7Sopenharmony_ci
1808e5c31af7Sopenharmony_ci		both ""
1809e5c31af7Sopenharmony_ci			precision mediump float;
1810e5c31af7Sopenharmony_ci			precision mediump int;
1811e5c31af7Sopenharmony_ci
1812e5c31af7Sopenharmony_ci			${DECLARATIONS}
1813e5c31af7Sopenharmony_ci
1814e5c31af7Sopenharmony_ci			void main()
1815e5c31af7Sopenharmony_ci			{
1816e5c31af7Sopenharmony_ci				${SETUP}
1817e5c31af7Sopenharmony_ci				vec3 in0 = vec3(0.0, 0.5, 0.75);
1818e5c31af7Sopenharmony_ci				bvec4 out0 = bvec4(in0);
1819e5c31af7Sopenharmony_ci				${OUTPUT}
1820e5c31af7Sopenharmony_ci			}
1821e5c31af7Sopenharmony_ci		""
1822e5c31af7Sopenharmony_ci	end
1823e5c31af7Sopenharmony_ci
1824e5c31af7Sopenharmony_ci	case ivec3_to_vec4
1825e5c31af7Sopenharmony_ci		expect compile_fail
1826e5c31af7Sopenharmony_ci		values {}
1827e5c31af7Sopenharmony_ci
1828e5c31af7Sopenharmony_ci		both ""
1829e5c31af7Sopenharmony_ci			precision mediump float;
1830e5c31af7Sopenharmony_ci			precision mediump int;
1831e5c31af7Sopenharmony_ci
1832e5c31af7Sopenharmony_ci			${DECLARATIONS}
1833e5c31af7Sopenharmony_ci
1834e5c31af7Sopenharmony_ci			void main()
1835e5c31af7Sopenharmony_ci			{
1836e5c31af7Sopenharmony_ci				${SETUP}
1837e5c31af7Sopenharmony_ci				ivec3 in0 = ivec3(0, 0, 0);
1838e5c31af7Sopenharmony_ci				vec4 out0 = vec4(in0);
1839e5c31af7Sopenharmony_ci				${OUTPUT}
1840e5c31af7Sopenharmony_ci			}
1841e5c31af7Sopenharmony_ci		""
1842e5c31af7Sopenharmony_ci	end
1843e5c31af7Sopenharmony_ci
1844e5c31af7Sopenharmony_ci	case ivec3_to_ivec4
1845e5c31af7Sopenharmony_ci		expect compile_fail
1846e5c31af7Sopenharmony_ci		values {}
1847e5c31af7Sopenharmony_ci
1848e5c31af7Sopenharmony_ci		both ""
1849e5c31af7Sopenharmony_ci			precision mediump float;
1850e5c31af7Sopenharmony_ci			precision mediump int;
1851e5c31af7Sopenharmony_ci
1852e5c31af7Sopenharmony_ci			${DECLARATIONS}
1853e5c31af7Sopenharmony_ci
1854e5c31af7Sopenharmony_ci			void main()
1855e5c31af7Sopenharmony_ci			{
1856e5c31af7Sopenharmony_ci				${SETUP}
1857e5c31af7Sopenharmony_ci				ivec3 in0 = ivec3(0, 0, 0);
1858e5c31af7Sopenharmony_ci				ivec4 out0 = ivec4(in0);
1859e5c31af7Sopenharmony_ci				${OUTPUT}
1860e5c31af7Sopenharmony_ci			}
1861e5c31af7Sopenharmony_ci		""
1862e5c31af7Sopenharmony_ci	end
1863e5c31af7Sopenharmony_ci
1864e5c31af7Sopenharmony_ci	case ivec3_to_bvec4
1865e5c31af7Sopenharmony_ci		expect compile_fail
1866e5c31af7Sopenharmony_ci		values {}
1867e5c31af7Sopenharmony_ci
1868e5c31af7Sopenharmony_ci		both ""
1869e5c31af7Sopenharmony_ci			precision mediump float;
1870e5c31af7Sopenharmony_ci			precision mediump int;
1871e5c31af7Sopenharmony_ci
1872e5c31af7Sopenharmony_ci			${DECLARATIONS}
1873e5c31af7Sopenharmony_ci
1874e5c31af7Sopenharmony_ci			void main()
1875e5c31af7Sopenharmony_ci			{
1876e5c31af7Sopenharmony_ci				${SETUP}
1877e5c31af7Sopenharmony_ci				ivec3 in0 = ivec3(0, 0, 0);
1878e5c31af7Sopenharmony_ci				bvec4 out0 = bvec4(in0);
1879e5c31af7Sopenharmony_ci				${OUTPUT}
1880e5c31af7Sopenharmony_ci			}
1881e5c31af7Sopenharmony_ci		""
1882e5c31af7Sopenharmony_ci	end
1883e5c31af7Sopenharmony_ci
1884e5c31af7Sopenharmony_ci	case bvec3_to_vec4
1885e5c31af7Sopenharmony_ci		expect compile_fail
1886e5c31af7Sopenharmony_ci		values {}
1887e5c31af7Sopenharmony_ci
1888e5c31af7Sopenharmony_ci		both ""
1889e5c31af7Sopenharmony_ci			precision mediump float;
1890e5c31af7Sopenharmony_ci			precision mediump int;
1891e5c31af7Sopenharmony_ci
1892e5c31af7Sopenharmony_ci			${DECLARATIONS}
1893e5c31af7Sopenharmony_ci
1894e5c31af7Sopenharmony_ci			void main()
1895e5c31af7Sopenharmony_ci			{
1896e5c31af7Sopenharmony_ci				${SETUP}
1897e5c31af7Sopenharmony_ci				bvec3 in0 = bvec3(true, false, false);
1898e5c31af7Sopenharmony_ci				vec4 out0 = vec4(in0);
1899e5c31af7Sopenharmony_ci				${OUTPUT}
1900e5c31af7Sopenharmony_ci			}
1901e5c31af7Sopenharmony_ci		""
1902e5c31af7Sopenharmony_ci	end
1903e5c31af7Sopenharmony_ci
1904e5c31af7Sopenharmony_ci	case bvec3_to_ivec4
1905e5c31af7Sopenharmony_ci		expect compile_fail
1906e5c31af7Sopenharmony_ci		values {}
1907e5c31af7Sopenharmony_ci
1908e5c31af7Sopenharmony_ci		both ""
1909e5c31af7Sopenharmony_ci			precision mediump float;
1910e5c31af7Sopenharmony_ci			precision mediump int;
1911e5c31af7Sopenharmony_ci
1912e5c31af7Sopenharmony_ci			${DECLARATIONS}
1913e5c31af7Sopenharmony_ci
1914e5c31af7Sopenharmony_ci			void main()
1915e5c31af7Sopenharmony_ci			{
1916e5c31af7Sopenharmony_ci				${SETUP}
1917e5c31af7Sopenharmony_ci				bvec3 in0 = bvec3(true, false, false);
1918e5c31af7Sopenharmony_ci				ivec4 out0 = ivec4(in0);
1919e5c31af7Sopenharmony_ci				${OUTPUT}
1920e5c31af7Sopenharmony_ci			}
1921e5c31af7Sopenharmony_ci		""
1922e5c31af7Sopenharmony_ci	end
1923e5c31af7Sopenharmony_ci
1924e5c31af7Sopenharmony_ci	case bvec3_to_bvec4
1925e5c31af7Sopenharmony_ci		expect compile_fail
1926e5c31af7Sopenharmony_ci		values {}
1927e5c31af7Sopenharmony_ci
1928e5c31af7Sopenharmony_ci		both ""
1929e5c31af7Sopenharmony_ci			precision mediump float;
1930e5c31af7Sopenharmony_ci			precision mediump int;
1931e5c31af7Sopenharmony_ci
1932e5c31af7Sopenharmony_ci			${DECLARATIONS}
1933e5c31af7Sopenharmony_ci
1934e5c31af7Sopenharmony_ci			void main()
1935e5c31af7Sopenharmony_ci			{
1936e5c31af7Sopenharmony_ci				${SETUP}
1937e5c31af7Sopenharmony_ci				bvec3 in0 = bvec3(true, false, false);
1938e5c31af7Sopenharmony_ci				bvec4 out0 = bvec4(in0);
1939e5c31af7Sopenharmony_ci				${OUTPUT}
1940e5c31af7Sopenharmony_ci			}
1941e5c31af7Sopenharmony_ci		""
1942e5c31af7Sopenharmony_ci	end
1943e5c31af7Sopenharmony_ci
1944e5c31af7Sopenharmony_ci
1945e5c31af7Sopenharmony_ciend # vector_illegal
1946e5c31af7Sopenharmony_cigroup vector_to_vector "Vector to Vector Conversions"
1947e5c31af7Sopenharmony_ci
1948e5c31af7Sopenharmony_ci	case vec4_to_vec4
1949e5c31af7Sopenharmony_ci		values
1950e5c31af7Sopenharmony_ci		{
1951e5c31af7Sopenharmony_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) ];
1952e5c31af7Sopenharmony_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) ];
1953e5c31af7Sopenharmony_ci		}
1954e5c31af7Sopenharmony_ci
1955e5c31af7Sopenharmony_ci		both ""
1956e5c31af7Sopenharmony_ci			precision mediump float;
1957e5c31af7Sopenharmony_ci			precision mediump int;
1958e5c31af7Sopenharmony_ci
1959e5c31af7Sopenharmony_ci			${DECLARATIONS}
1960e5c31af7Sopenharmony_ci
1961e5c31af7Sopenharmony_ci			void main()
1962e5c31af7Sopenharmony_ci			{
1963e5c31af7Sopenharmony_ci				${SETUP}
1964e5c31af7Sopenharmony_ci				out0 = vec4(in0);
1965e5c31af7Sopenharmony_ci				${OUTPUT}
1966e5c31af7Sopenharmony_ci			}
1967e5c31af7Sopenharmony_ci		""
1968e5c31af7Sopenharmony_ci	end
1969e5c31af7Sopenharmony_ci
1970e5c31af7Sopenharmony_ci	case vec4_to_vec3
1971e5c31af7Sopenharmony_ci		values
1972e5c31af7Sopenharmony_ci		{
1973e5c31af7Sopenharmony_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) ];
1974e5c31af7Sopenharmony_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) ];
1975e5c31af7Sopenharmony_ci		}
1976e5c31af7Sopenharmony_ci
1977e5c31af7Sopenharmony_ci		both ""
1978e5c31af7Sopenharmony_ci			precision mediump float;
1979e5c31af7Sopenharmony_ci			precision mediump int;
1980e5c31af7Sopenharmony_ci
1981e5c31af7Sopenharmony_ci			${DECLARATIONS}
1982e5c31af7Sopenharmony_ci
1983e5c31af7Sopenharmony_ci			void main()
1984e5c31af7Sopenharmony_ci			{
1985e5c31af7Sopenharmony_ci				${SETUP}
1986e5c31af7Sopenharmony_ci				out0 = vec3(in0);
1987e5c31af7Sopenharmony_ci				${OUTPUT}
1988e5c31af7Sopenharmony_ci			}
1989e5c31af7Sopenharmony_ci		""
1990e5c31af7Sopenharmony_ci	end
1991e5c31af7Sopenharmony_ci
1992e5c31af7Sopenharmony_ci	case vec4_to_vec2
1993e5c31af7Sopenharmony_ci		values
1994e5c31af7Sopenharmony_ci		{
1995e5c31af7Sopenharmony_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) ];
1996e5c31af7Sopenharmony_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) ];
1997e5c31af7Sopenharmony_ci		}
1998e5c31af7Sopenharmony_ci
1999e5c31af7Sopenharmony_ci		both ""
2000e5c31af7Sopenharmony_ci			precision mediump float;
2001e5c31af7Sopenharmony_ci			precision mediump int;
2002e5c31af7Sopenharmony_ci
2003e5c31af7Sopenharmony_ci			${DECLARATIONS}
2004e5c31af7Sopenharmony_ci
2005e5c31af7Sopenharmony_ci			void main()
2006e5c31af7Sopenharmony_ci			{
2007e5c31af7Sopenharmony_ci				${SETUP}
2008e5c31af7Sopenharmony_ci				out0 = vec2(in0);
2009e5c31af7Sopenharmony_ci				${OUTPUT}
2010e5c31af7Sopenharmony_ci			}
2011e5c31af7Sopenharmony_ci		""
2012e5c31af7Sopenharmony_ci	end
2013e5c31af7Sopenharmony_ci
2014e5c31af7Sopenharmony_ci	case vec4_to_ivec4
2015e5c31af7Sopenharmony_ci		values
2016e5c31af7Sopenharmony_ci		{
2017e5c31af7Sopenharmony_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) ];
2018e5c31af7Sopenharmony_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) ];
2019e5c31af7Sopenharmony_ci		}
2020e5c31af7Sopenharmony_ci
2021e5c31af7Sopenharmony_ci		both ""
2022e5c31af7Sopenharmony_ci			precision mediump float;
2023e5c31af7Sopenharmony_ci			precision mediump int;
2024e5c31af7Sopenharmony_ci
2025e5c31af7Sopenharmony_ci			${DECLARATIONS}
2026e5c31af7Sopenharmony_ci
2027e5c31af7Sopenharmony_ci			void main()
2028e5c31af7Sopenharmony_ci			{
2029e5c31af7Sopenharmony_ci				${SETUP}
2030e5c31af7Sopenharmony_ci				out0 = ivec4(in0);
2031e5c31af7Sopenharmony_ci				${OUTPUT}
2032e5c31af7Sopenharmony_ci			}
2033e5c31af7Sopenharmony_ci		""
2034e5c31af7Sopenharmony_ci	end
2035e5c31af7Sopenharmony_ci
2036e5c31af7Sopenharmony_ci	case vec4_to_ivec3
2037e5c31af7Sopenharmony_ci		values
2038e5c31af7Sopenharmony_ci		{
2039e5c31af7Sopenharmony_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) ];
2040e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2041e5c31af7Sopenharmony_ci		}
2042e5c31af7Sopenharmony_ci
2043e5c31af7Sopenharmony_ci		both ""
2044e5c31af7Sopenharmony_ci			precision mediump float;
2045e5c31af7Sopenharmony_ci			precision mediump int;
2046e5c31af7Sopenharmony_ci
2047e5c31af7Sopenharmony_ci			${DECLARATIONS}
2048e5c31af7Sopenharmony_ci
2049e5c31af7Sopenharmony_ci			void main()
2050e5c31af7Sopenharmony_ci			{
2051e5c31af7Sopenharmony_ci				${SETUP}
2052e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
2053e5c31af7Sopenharmony_ci				${OUTPUT}
2054e5c31af7Sopenharmony_ci			}
2055e5c31af7Sopenharmony_ci		""
2056e5c31af7Sopenharmony_ci	end
2057e5c31af7Sopenharmony_ci
2058e5c31af7Sopenharmony_ci	case vec4_to_ivec2
2059e5c31af7Sopenharmony_ci		values
2060e5c31af7Sopenharmony_ci		{
2061e5c31af7Sopenharmony_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) ];
2062e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2063e5c31af7Sopenharmony_ci		}
2064e5c31af7Sopenharmony_ci
2065e5c31af7Sopenharmony_ci		both ""
2066e5c31af7Sopenharmony_ci			precision mediump float;
2067e5c31af7Sopenharmony_ci			precision mediump int;
2068e5c31af7Sopenharmony_ci
2069e5c31af7Sopenharmony_ci			${DECLARATIONS}
2070e5c31af7Sopenharmony_ci
2071e5c31af7Sopenharmony_ci			void main()
2072e5c31af7Sopenharmony_ci			{
2073e5c31af7Sopenharmony_ci				${SETUP}
2074e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
2075e5c31af7Sopenharmony_ci				${OUTPUT}
2076e5c31af7Sopenharmony_ci			}
2077e5c31af7Sopenharmony_ci		""
2078e5c31af7Sopenharmony_ci	end
2079e5c31af7Sopenharmony_ci
2080e5c31af7Sopenharmony_ci	case vec4_to_bvec4
2081e5c31af7Sopenharmony_ci		values
2082e5c31af7Sopenharmony_ci		{
2083e5c31af7Sopenharmony_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) ];
2084e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(false, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) ];
2085e5c31af7Sopenharmony_ci		}
2086e5c31af7Sopenharmony_ci
2087e5c31af7Sopenharmony_ci		both ""
2088e5c31af7Sopenharmony_ci			precision mediump float;
2089e5c31af7Sopenharmony_ci			precision mediump int;
2090e5c31af7Sopenharmony_ci
2091e5c31af7Sopenharmony_ci			${DECLARATIONS}
2092e5c31af7Sopenharmony_ci
2093e5c31af7Sopenharmony_ci			void main()
2094e5c31af7Sopenharmony_ci			{
2095e5c31af7Sopenharmony_ci				${SETUP}
2096e5c31af7Sopenharmony_ci				out0 = bvec4(in0);
2097e5c31af7Sopenharmony_ci				${OUTPUT}
2098e5c31af7Sopenharmony_ci			}
2099e5c31af7Sopenharmony_ci		""
2100e5c31af7Sopenharmony_ci	end
2101e5c31af7Sopenharmony_ci
2102e5c31af7Sopenharmony_ci	case vec4_to_bvec3
2103e5c31af7Sopenharmony_ci		values
2104e5c31af7Sopenharmony_ci		{
2105e5c31af7Sopenharmony_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) ];
2106e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(false, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) ];
2107e5c31af7Sopenharmony_ci		}
2108e5c31af7Sopenharmony_ci
2109e5c31af7Sopenharmony_ci		both ""
2110e5c31af7Sopenharmony_ci			precision mediump float;
2111e5c31af7Sopenharmony_ci			precision mediump int;
2112e5c31af7Sopenharmony_ci
2113e5c31af7Sopenharmony_ci			${DECLARATIONS}
2114e5c31af7Sopenharmony_ci
2115e5c31af7Sopenharmony_ci			void main()
2116e5c31af7Sopenharmony_ci			{
2117e5c31af7Sopenharmony_ci				${SETUP}
2118e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
2119e5c31af7Sopenharmony_ci				${OUTPUT}
2120e5c31af7Sopenharmony_ci			}
2121e5c31af7Sopenharmony_ci		""
2122e5c31af7Sopenharmony_ci	end
2123e5c31af7Sopenharmony_ci
2124e5c31af7Sopenharmony_ci	case vec4_to_bvec2
2125e5c31af7Sopenharmony_ci		values
2126e5c31af7Sopenharmony_ci		{
2127e5c31af7Sopenharmony_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) ];
2128e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ];
2129e5c31af7Sopenharmony_ci		}
2130e5c31af7Sopenharmony_ci
2131e5c31af7Sopenharmony_ci		both ""
2132e5c31af7Sopenharmony_ci			precision mediump float;
2133e5c31af7Sopenharmony_ci			precision mediump int;
2134e5c31af7Sopenharmony_ci
2135e5c31af7Sopenharmony_ci			${DECLARATIONS}
2136e5c31af7Sopenharmony_ci
2137e5c31af7Sopenharmony_ci			void main()
2138e5c31af7Sopenharmony_ci			{
2139e5c31af7Sopenharmony_ci				${SETUP}
2140e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
2141e5c31af7Sopenharmony_ci				${OUTPUT}
2142e5c31af7Sopenharmony_ci			}
2143e5c31af7Sopenharmony_ci		""
2144e5c31af7Sopenharmony_ci	end
2145e5c31af7Sopenharmony_ci
2146e5c31af7Sopenharmony_ci	case ivec4_to_vec4
2147e5c31af7Sopenharmony_ci		values
2148e5c31af7Sopenharmony_ci		{
2149e5c31af7Sopenharmony_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) ];
2150e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(0.0, -2.0, -4.0, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(0.0, 0.0, 0.0, 0.0) ];
2151e5c31af7Sopenharmony_ci		}
2152e5c31af7Sopenharmony_ci
2153e5c31af7Sopenharmony_ci		both ""
2154e5c31af7Sopenharmony_ci			precision mediump float;
2155e5c31af7Sopenharmony_ci			precision mediump int;
2156e5c31af7Sopenharmony_ci
2157e5c31af7Sopenharmony_ci			${DECLARATIONS}
2158e5c31af7Sopenharmony_ci
2159e5c31af7Sopenharmony_ci			void main()
2160e5c31af7Sopenharmony_ci			{
2161e5c31af7Sopenharmony_ci				${SETUP}
2162e5c31af7Sopenharmony_ci				out0 = vec4(in0);
2163e5c31af7Sopenharmony_ci				${OUTPUT}
2164e5c31af7Sopenharmony_ci			}
2165e5c31af7Sopenharmony_ci		""
2166e5c31af7Sopenharmony_ci	end
2167e5c31af7Sopenharmony_ci
2168e5c31af7Sopenharmony_ci	case ivec4_to_vec3
2169e5c31af7Sopenharmony_ci		values
2170e5c31af7Sopenharmony_ci		{
2171e5c31af7Sopenharmony_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) ];
2172e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(0.0, -2.0, -4.0) | vec3(-32.0, 64.0, -51.0) | vec3(0.0, 0.0, 0.0) ];
2173e5c31af7Sopenharmony_ci		}
2174e5c31af7Sopenharmony_ci
2175e5c31af7Sopenharmony_ci		both ""
2176e5c31af7Sopenharmony_ci			precision mediump float;
2177e5c31af7Sopenharmony_ci			precision mediump int;
2178e5c31af7Sopenharmony_ci
2179e5c31af7Sopenharmony_ci			${DECLARATIONS}
2180e5c31af7Sopenharmony_ci
2181e5c31af7Sopenharmony_ci			void main()
2182e5c31af7Sopenharmony_ci			{
2183e5c31af7Sopenharmony_ci				${SETUP}
2184e5c31af7Sopenharmony_ci				out0 = vec3(in0);
2185e5c31af7Sopenharmony_ci				${OUTPUT}
2186e5c31af7Sopenharmony_ci			}
2187e5c31af7Sopenharmony_ci		""
2188e5c31af7Sopenharmony_ci	end
2189e5c31af7Sopenharmony_ci
2190e5c31af7Sopenharmony_ci	case ivec4_to_vec2
2191e5c31af7Sopenharmony_ci		values
2192e5c31af7Sopenharmony_ci		{
2193e5c31af7Sopenharmony_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) ];
2194e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(0.0, -2.0) | vec2(-32.0, 64.0) | vec2(0.0, 0.0) ];
2195e5c31af7Sopenharmony_ci		}
2196e5c31af7Sopenharmony_ci
2197e5c31af7Sopenharmony_ci		both ""
2198e5c31af7Sopenharmony_ci			precision mediump float;
2199e5c31af7Sopenharmony_ci			precision mediump int;
2200e5c31af7Sopenharmony_ci
2201e5c31af7Sopenharmony_ci			${DECLARATIONS}
2202e5c31af7Sopenharmony_ci
2203e5c31af7Sopenharmony_ci			void main()
2204e5c31af7Sopenharmony_ci			{
2205e5c31af7Sopenharmony_ci				${SETUP}
2206e5c31af7Sopenharmony_ci				out0 = vec2(in0);
2207e5c31af7Sopenharmony_ci				${OUTPUT}
2208e5c31af7Sopenharmony_ci			}
2209e5c31af7Sopenharmony_ci		""
2210e5c31af7Sopenharmony_ci	end
2211e5c31af7Sopenharmony_ci
2212e5c31af7Sopenharmony_ci	case ivec4_to_ivec4
2213e5c31af7Sopenharmony_ci		values
2214e5c31af7Sopenharmony_ci		{
2215e5c31af7Sopenharmony_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) ];
2216e5c31af7Sopenharmony_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) ];
2217e5c31af7Sopenharmony_ci		}
2218e5c31af7Sopenharmony_ci
2219e5c31af7Sopenharmony_ci		both ""
2220e5c31af7Sopenharmony_ci			precision mediump float;
2221e5c31af7Sopenharmony_ci			precision mediump int;
2222e5c31af7Sopenharmony_ci
2223e5c31af7Sopenharmony_ci			${DECLARATIONS}
2224e5c31af7Sopenharmony_ci
2225e5c31af7Sopenharmony_ci			void main()
2226e5c31af7Sopenharmony_ci			{
2227e5c31af7Sopenharmony_ci				${SETUP}
2228e5c31af7Sopenharmony_ci				out0 = ivec4(in0);
2229e5c31af7Sopenharmony_ci				${OUTPUT}
2230e5c31af7Sopenharmony_ci			}
2231e5c31af7Sopenharmony_ci		""
2232e5c31af7Sopenharmony_ci	end
2233e5c31af7Sopenharmony_ci
2234e5c31af7Sopenharmony_ci	case ivec4_to_ivec3
2235e5c31af7Sopenharmony_ci		values
2236e5c31af7Sopenharmony_ci		{
2237e5c31af7Sopenharmony_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) ];
2238e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2239e5c31af7Sopenharmony_ci		}
2240e5c31af7Sopenharmony_ci
2241e5c31af7Sopenharmony_ci		both ""
2242e5c31af7Sopenharmony_ci			precision mediump float;
2243e5c31af7Sopenharmony_ci			precision mediump int;
2244e5c31af7Sopenharmony_ci
2245e5c31af7Sopenharmony_ci			${DECLARATIONS}
2246e5c31af7Sopenharmony_ci
2247e5c31af7Sopenharmony_ci			void main()
2248e5c31af7Sopenharmony_ci			{
2249e5c31af7Sopenharmony_ci				${SETUP}
2250e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
2251e5c31af7Sopenharmony_ci				${OUTPUT}
2252e5c31af7Sopenharmony_ci			}
2253e5c31af7Sopenharmony_ci		""
2254e5c31af7Sopenharmony_ci	end
2255e5c31af7Sopenharmony_ci
2256e5c31af7Sopenharmony_ci	case ivec4_to_ivec2
2257e5c31af7Sopenharmony_ci		values
2258e5c31af7Sopenharmony_ci		{
2259e5c31af7Sopenharmony_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) ];
2260e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2261e5c31af7Sopenharmony_ci		}
2262e5c31af7Sopenharmony_ci
2263e5c31af7Sopenharmony_ci		both ""
2264e5c31af7Sopenharmony_ci			precision mediump float;
2265e5c31af7Sopenharmony_ci			precision mediump int;
2266e5c31af7Sopenharmony_ci
2267e5c31af7Sopenharmony_ci			${DECLARATIONS}
2268e5c31af7Sopenharmony_ci
2269e5c31af7Sopenharmony_ci			void main()
2270e5c31af7Sopenharmony_ci			{
2271e5c31af7Sopenharmony_ci				${SETUP}
2272e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
2273e5c31af7Sopenharmony_ci				${OUTPUT}
2274e5c31af7Sopenharmony_ci			}
2275e5c31af7Sopenharmony_ci		""
2276e5c31af7Sopenharmony_ci	end
2277e5c31af7Sopenharmony_ci
2278e5c31af7Sopenharmony_ci	case ivec4_to_bvec4
2279e5c31af7Sopenharmony_ci		values
2280e5c31af7Sopenharmony_ci		{
2281e5c31af7Sopenharmony_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) ];
2282e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
2283e5c31af7Sopenharmony_ci		}
2284e5c31af7Sopenharmony_ci
2285e5c31af7Sopenharmony_ci		both ""
2286e5c31af7Sopenharmony_ci			precision mediump float;
2287e5c31af7Sopenharmony_ci			precision mediump int;
2288e5c31af7Sopenharmony_ci
2289e5c31af7Sopenharmony_ci			${DECLARATIONS}
2290e5c31af7Sopenharmony_ci
2291e5c31af7Sopenharmony_ci			void main()
2292e5c31af7Sopenharmony_ci			{
2293e5c31af7Sopenharmony_ci				${SETUP}
2294e5c31af7Sopenharmony_ci				out0 = bvec4(in0);
2295e5c31af7Sopenharmony_ci				${OUTPUT}
2296e5c31af7Sopenharmony_ci			}
2297e5c31af7Sopenharmony_ci		""
2298e5c31af7Sopenharmony_ci	end
2299e5c31af7Sopenharmony_ci
2300e5c31af7Sopenharmony_ci	case ivec4_to_bvec3
2301e5c31af7Sopenharmony_ci		values
2302e5c31af7Sopenharmony_ci		{
2303e5c31af7Sopenharmony_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) ];
2304e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
2305e5c31af7Sopenharmony_ci		}
2306e5c31af7Sopenharmony_ci
2307e5c31af7Sopenharmony_ci		both ""
2308e5c31af7Sopenharmony_ci			precision mediump float;
2309e5c31af7Sopenharmony_ci			precision mediump int;
2310e5c31af7Sopenharmony_ci
2311e5c31af7Sopenharmony_ci			${DECLARATIONS}
2312e5c31af7Sopenharmony_ci
2313e5c31af7Sopenharmony_ci			void main()
2314e5c31af7Sopenharmony_ci			{
2315e5c31af7Sopenharmony_ci				${SETUP}
2316e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
2317e5c31af7Sopenharmony_ci				${OUTPUT}
2318e5c31af7Sopenharmony_ci			}
2319e5c31af7Sopenharmony_ci		""
2320e5c31af7Sopenharmony_ci	end
2321e5c31af7Sopenharmony_ci
2322e5c31af7Sopenharmony_ci	case ivec4_to_bvec2
2323e5c31af7Sopenharmony_ci		values
2324e5c31af7Sopenharmony_ci		{
2325e5c31af7Sopenharmony_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) ];
2326e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
2327e5c31af7Sopenharmony_ci		}
2328e5c31af7Sopenharmony_ci
2329e5c31af7Sopenharmony_ci		both ""
2330e5c31af7Sopenharmony_ci			precision mediump float;
2331e5c31af7Sopenharmony_ci			precision mediump int;
2332e5c31af7Sopenharmony_ci
2333e5c31af7Sopenharmony_ci			${DECLARATIONS}
2334e5c31af7Sopenharmony_ci
2335e5c31af7Sopenharmony_ci			void main()
2336e5c31af7Sopenharmony_ci			{
2337e5c31af7Sopenharmony_ci				${SETUP}
2338e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
2339e5c31af7Sopenharmony_ci				${OUTPUT}
2340e5c31af7Sopenharmony_ci			}
2341e5c31af7Sopenharmony_ci		""
2342e5c31af7Sopenharmony_ci	end
2343e5c31af7Sopenharmony_ci
2344e5c31af7Sopenharmony_ci	case bvec4_to_vec4
2345e5c31af7Sopenharmony_ci		values
2346e5c31af7Sopenharmony_ci		{
2347e5c31af7Sopenharmony_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) ];
2348e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(1.0, 0.0, 0.0, 1.0) | vec4(0.0, 0.0, 0.0, 1.0) | vec4(0.0, 1.0, 0.0, 0.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(0.0, 0.0, 0.0, 0.0) ];
2349e5c31af7Sopenharmony_ci		}
2350e5c31af7Sopenharmony_ci
2351e5c31af7Sopenharmony_ci		both ""
2352e5c31af7Sopenharmony_ci			precision mediump float;
2353e5c31af7Sopenharmony_ci			precision mediump int;
2354e5c31af7Sopenharmony_ci
2355e5c31af7Sopenharmony_ci			${DECLARATIONS}
2356e5c31af7Sopenharmony_ci
2357e5c31af7Sopenharmony_ci			void main()
2358e5c31af7Sopenharmony_ci			{
2359e5c31af7Sopenharmony_ci				${SETUP}
2360e5c31af7Sopenharmony_ci				out0 = vec4(in0);
2361e5c31af7Sopenharmony_ci				${OUTPUT}
2362e5c31af7Sopenharmony_ci			}
2363e5c31af7Sopenharmony_ci		""
2364e5c31af7Sopenharmony_ci	end
2365e5c31af7Sopenharmony_ci
2366e5c31af7Sopenharmony_ci	case bvec4_to_vec3
2367e5c31af7Sopenharmony_ci		values
2368e5c31af7Sopenharmony_ci		{
2369e5c31af7Sopenharmony_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) ];
2370e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(1.0, 0.0, 0.0) | vec3(0.0, 0.0, 0.0) | vec3(0.0, 1.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(0.0, 0.0, 0.0) ];
2371e5c31af7Sopenharmony_ci		}
2372e5c31af7Sopenharmony_ci
2373e5c31af7Sopenharmony_ci		both ""
2374e5c31af7Sopenharmony_ci			precision mediump float;
2375e5c31af7Sopenharmony_ci			precision mediump int;
2376e5c31af7Sopenharmony_ci
2377e5c31af7Sopenharmony_ci			${DECLARATIONS}
2378e5c31af7Sopenharmony_ci
2379e5c31af7Sopenharmony_ci			void main()
2380e5c31af7Sopenharmony_ci			{
2381e5c31af7Sopenharmony_ci				${SETUP}
2382e5c31af7Sopenharmony_ci				out0 = vec3(in0);
2383e5c31af7Sopenharmony_ci				${OUTPUT}
2384e5c31af7Sopenharmony_ci			}
2385e5c31af7Sopenharmony_ci		""
2386e5c31af7Sopenharmony_ci	end
2387e5c31af7Sopenharmony_ci
2388e5c31af7Sopenharmony_ci	case bvec4_to_vec2
2389e5c31af7Sopenharmony_ci		values
2390e5c31af7Sopenharmony_ci		{
2391e5c31af7Sopenharmony_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) ];
2392e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(1.0, 0.0) | vec2(0.0, 0.0) | vec2(0.0, 1.0) | vec2(1.0, 1.0) | vec2(0.0, 0.0) ];
2393e5c31af7Sopenharmony_ci		}
2394e5c31af7Sopenharmony_ci
2395e5c31af7Sopenharmony_ci		both ""
2396e5c31af7Sopenharmony_ci			precision mediump float;
2397e5c31af7Sopenharmony_ci			precision mediump int;
2398e5c31af7Sopenharmony_ci
2399e5c31af7Sopenharmony_ci			${DECLARATIONS}
2400e5c31af7Sopenharmony_ci
2401e5c31af7Sopenharmony_ci			void main()
2402e5c31af7Sopenharmony_ci			{
2403e5c31af7Sopenharmony_ci				${SETUP}
2404e5c31af7Sopenharmony_ci				out0 = vec2(in0);
2405e5c31af7Sopenharmony_ci				${OUTPUT}
2406e5c31af7Sopenharmony_ci			}
2407e5c31af7Sopenharmony_ci		""
2408e5c31af7Sopenharmony_ci	end
2409e5c31af7Sopenharmony_ci
2410e5c31af7Sopenharmony_ci	case bvec4_to_ivec4
2411e5c31af7Sopenharmony_ci		values
2412e5c31af7Sopenharmony_ci		{
2413e5c31af7Sopenharmony_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) ];
2414e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(1, 0, 0, 1) | ivec4(0, 0, 0, 1) | ivec4(0, 1, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) ];
2415e5c31af7Sopenharmony_ci		}
2416e5c31af7Sopenharmony_ci
2417e5c31af7Sopenharmony_ci		both ""
2418e5c31af7Sopenharmony_ci			precision mediump float;
2419e5c31af7Sopenharmony_ci			precision mediump int;
2420e5c31af7Sopenharmony_ci
2421e5c31af7Sopenharmony_ci			${DECLARATIONS}
2422e5c31af7Sopenharmony_ci
2423e5c31af7Sopenharmony_ci			void main()
2424e5c31af7Sopenharmony_ci			{
2425e5c31af7Sopenharmony_ci				${SETUP}
2426e5c31af7Sopenharmony_ci				out0 = ivec4(in0);
2427e5c31af7Sopenharmony_ci				${OUTPUT}
2428e5c31af7Sopenharmony_ci			}
2429e5c31af7Sopenharmony_ci		""
2430e5c31af7Sopenharmony_ci	end
2431e5c31af7Sopenharmony_ci
2432e5c31af7Sopenharmony_ci	case bvec4_to_ivec3
2433e5c31af7Sopenharmony_ci		values
2434e5c31af7Sopenharmony_ci		{
2435e5c31af7Sopenharmony_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) ];
2436e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(1, 0, 0) | ivec3(0, 0, 0) | ivec3(0, 1, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) ];
2437e5c31af7Sopenharmony_ci		}
2438e5c31af7Sopenharmony_ci
2439e5c31af7Sopenharmony_ci		both ""
2440e5c31af7Sopenharmony_ci			precision mediump float;
2441e5c31af7Sopenharmony_ci			precision mediump int;
2442e5c31af7Sopenharmony_ci
2443e5c31af7Sopenharmony_ci			${DECLARATIONS}
2444e5c31af7Sopenharmony_ci
2445e5c31af7Sopenharmony_ci			void main()
2446e5c31af7Sopenharmony_ci			{
2447e5c31af7Sopenharmony_ci				${SETUP}
2448e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
2449e5c31af7Sopenharmony_ci				${OUTPUT}
2450e5c31af7Sopenharmony_ci			}
2451e5c31af7Sopenharmony_ci		""
2452e5c31af7Sopenharmony_ci	end
2453e5c31af7Sopenharmony_ci
2454e5c31af7Sopenharmony_ci	case bvec4_to_ivec2
2455e5c31af7Sopenharmony_ci		values
2456e5c31af7Sopenharmony_ci		{
2457e5c31af7Sopenharmony_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) ];
2458e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(1, 0) | ivec2(0, 0) | ivec2(0, 1) | ivec2(1, 1) | ivec2(0, 0) ];
2459e5c31af7Sopenharmony_ci		}
2460e5c31af7Sopenharmony_ci
2461e5c31af7Sopenharmony_ci		both ""
2462e5c31af7Sopenharmony_ci			precision mediump float;
2463e5c31af7Sopenharmony_ci			precision mediump int;
2464e5c31af7Sopenharmony_ci
2465e5c31af7Sopenharmony_ci			${DECLARATIONS}
2466e5c31af7Sopenharmony_ci
2467e5c31af7Sopenharmony_ci			void main()
2468e5c31af7Sopenharmony_ci			{
2469e5c31af7Sopenharmony_ci				${SETUP}
2470e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
2471e5c31af7Sopenharmony_ci				${OUTPUT}
2472e5c31af7Sopenharmony_ci			}
2473e5c31af7Sopenharmony_ci		""
2474e5c31af7Sopenharmony_ci	end
2475e5c31af7Sopenharmony_ci
2476e5c31af7Sopenharmony_ci	case bvec4_to_bvec4
2477e5c31af7Sopenharmony_ci		values
2478e5c31af7Sopenharmony_ci		{
2479e5c31af7Sopenharmony_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) ];
2480e5c31af7Sopenharmony_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) ];
2481e5c31af7Sopenharmony_ci		}
2482e5c31af7Sopenharmony_ci
2483e5c31af7Sopenharmony_ci		both ""
2484e5c31af7Sopenharmony_ci			precision mediump float;
2485e5c31af7Sopenharmony_ci			precision mediump int;
2486e5c31af7Sopenharmony_ci
2487e5c31af7Sopenharmony_ci			${DECLARATIONS}
2488e5c31af7Sopenharmony_ci
2489e5c31af7Sopenharmony_ci			void main()
2490e5c31af7Sopenharmony_ci			{
2491e5c31af7Sopenharmony_ci				${SETUP}
2492e5c31af7Sopenharmony_ci				out0 = bvec4(in0);
2493e5c31af7Sopenharmony_ci				${OUTPUT}
2494e5c31af7Sopenharmony_ci			}
2495e5c31af7Sopenharmony_ci		""
2496e5c31af7Sopenharmony_ci	end
2497e5c31af7Sopenharmony_ci
2498e5c31af7Sopenharmony_ci	case bvec4_to_bvec3
2499e5c31af7Sopenharmony_ci		values
2500e5c31af7Sopenharmony_ci		{
2501e5c31af7Sopenharmony_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) ];
2502e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
2503e5c31af7Sopenharmony_ci		}
2504e5c31af7Sopenharmony_ci
2505e5c31af7Sopenharmony_ci		both ""
2506e5c31af7Sopenharmony_ci			precision mediump float;
2507e5c31af7Sopenharmony_ci			precision mediump int;
2508e5c31af7Sopenharmony_ci
2509e5c31af7Sopenharmony_ci			${DECLARATIONS}
2510e5c31af7Sopenharmony_ci
2511e5c31af7Sopenharmony_ci			void main()
2512e5c31af7Sopenharmony_ci			{
2513e5c31af7Sopenharmony_ci				${SETUP}
2514e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
2515e5c31af7Sopenharmony_ci				${OUTPUT}
2516e5c31af7Sopenharmony_ci			}
2517e5c31af7Sopenharmony_ci		""
2518e5c31af7Sopenharmony_ci	end
2519e5c31af7Sopenharmony_ci
2520e5c31af7Sopenharmony_ci	case bvec4_to_bvec2
2521e5c31af7Sopenharmony_ci		values
2522e5c31af7Sopenharmony_ci		{
2523e5c31af7Sopenharmony_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) ];
2524e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
2525e5c31af7Sopenharmony_ci		}
2526e5c31af7Sopenharmony_ci
2527e5c31af7Sopenharmony_ci		both ""
2528e5c31af7Sopenharmony_ci			precision mediump float;
2529e5c31af7Sopenharmony_ci			precision mediump int;
2530e5c31af7Sopenharmony_ci
2531e5c31af7Sopenharmony_ci			${DECLARATIONS}
2532e5c31af7Sopenharmony_ci
2533e5c31af7Sopenharmony_ci			void main()
2534e5c31af7Sopenharmony_ci			{
2535e5c31af7Sopenharmony_ci				${SETUP}
2536e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
2537e5c31af7Sopenharmony_ci				${OUTPUT}
2538e5c31af7Sopenharmony_ci			}
2539e5c31af7Sopenharmony_ci		""
2540e5c31af7Sopenharmony_ci	end
2541e5c31af7Sopenharmony_ci
2542e5c31af7Sopenharmony_ci	case vec3_to_vec3
2543e5c31af7Sopenharmony_ci		values
2544e5c31af7Sopenharmony_ci		{
2545e5c31af7Sopenharmony_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) ];
2546e5c31af7Sopenharmony_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) ];
2547e5c31af7Sopenharmony_ci		}
2548e5c31af7Sopenharmony_ci
2549e5c31af7Sopenharmony_ci		both ""
2550e5c31af7Sopenharmony_ci			precision mediump float;
2551e5c31af7Sopenharmony_ci			precision mediump int;
2552e5c31af7Sopenharmony_ci
2553e5c31af7Sopenharmony_ci			${DECLARATIONS}
2554e5c31af7Sopenharmony_ci
2555e5c31af7Sopenharmony_ci			void main()
2556e5c31af7Sopenharmony_ci			{
2557e5c31af7Sopenharmony_ci				${SETUP}
2558e5c31af7Sopenharmony_ci				out0 = vec3(in0);
2559e5c31af7Sopenharmony_ci				${OUTPUT}
2560e5c31af7Sopenharmony_ci			}
2561e5c31af7Sopenharmony_ci		""
2562e5c31af7Sopenharmony_ci	end
2563e5c31af7Sopenharmony_ci
2564e5c31af7Sopenharmony_ci	case vec3_to_vec2
2565e5c31af7Sopenharmony_ci		values
2566e5c31af7Sopenharmony_ci		{
2567e5c31af7Sopenharmony_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) ];
2568e5c31af7Sopenharmony_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) ];
2569e5c31af7Sopenharmony_ci		}
2570e5c31af7Sopenharmony_ci
2571e5c31af7Sopenharmony_ci		both ""
2572e5c31af7Sopenharmony_ci			precision mediump float;
2573e5c31af7Sopenharmony_ci			precision mediump int;
2574e5c31af7Sopenharmony_ci
2575e5c31af7Sopenharmony_ci			${DECLARATIONS}
2576e5c31af7Sopenharmony_ci
2577e5c31af7Sopenharmony_ci			void main()
2578e5c31af7Sopenharmony_ci			{
2579e5c31af7Sopenharmony_ci				${SETUP}
2580e5c31af7Sopenharmony_ci				out0 = vec2(in0);
2581e5c31af7Sopenharmony_ci				${OUTPUT}
2582e5c31af7Sopenharmony_ci			}
2583e5c31af7Sopenharmony_ci		""
2584e5c31af7Sopenharmony_ci	end
2585e5c31af7Sopenharmony_ci
2586e5c31af7Sopenharmony_ci	case vec3_to_ivec3
2587e5c31af7Sopenharmony_ci		values
2588e5c31af7Sopenharmony_ci		{
2589e5c31af7Sopenharmony_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) ];
2590e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2591e5c31af7Sopenharmony_ci		}
2592e5c31af7Sopenharmony_ci
2593e5c31af7Sopenharmony_ci		both ""
2594e5c31af7Sopenharmony_ci			precision mediump float;
2595e5c31af7Sopenharmony_ci			precision mediump int;
2596e5c31af7Sopenharmony_ci
2597e5c31af7Sopenharmony_ci			${DECLARATIONS}
2598e5c31af7Sopenharmony_ci
2599e5c31af7Sopenharmony_ci			void main()
2600e5c31af7Sopenharmony_ci			{
2601e5c31af7Sopenharmony_ci				${SETUP}
2602e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
2603e5c31af7Sopenharmony_ci				${OUTPUT}
2604e5c31af7Sopenharmony_ci			}
2605e5c31af7Sopenharmony_ci		""
2606e5c31af7Sopenharmony_ci	end
2607e5c31af7Sopenharmony_ci
2608e5c31af7Sopenharmony_ci	case vec3_to_ivec2
2609e5c31af7Sopenharmony_ci		values
2610e5c31af7Sopenharmony_ci		{
2611e5c31af7Sopenharmony_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) ];
2612e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2613e5c31af7Sopenharmony_ci		}
2614e5c31af7Sopenharmony_ci
2615e5c31af7Sopenharmony_ci		both ""
2616e5c31af7Sopenharmony_ci			precision mediump float;
2617e5c31af7Sopenharmony_ci			precision mediump int;
2618e5c31af7Sopenharmony_ci
2619e5c31af7Sopenharmony_ci			${DECLARATIONS}
2620e5c31af7Sopenharmony_ci
2621e5c31af7Sopenharmony_ci			void main()
2622e5c31af7Sopenharmony_ci			{
2623e5c31af7Sopenharmony_ci				${SETUP}
2624e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
2625e5c31af7Sopenharmony_ci				${OUTPUT}
2626e5c31af7Sopenharmony_ci			}
2627e5c31af7Sopenharmony_ci		""
2628e5c31af7Sopenharmony_ci	end
2629e5c31af7Sopenharmony_ci
2630e5c31af7Sopenharmony_ci	case vec3_to_bvec3
2631e5c31af7Sopenharmony_ci		values
2632e5c31af7Sopenharmony_ci		{
2633e5c31af7Sopenharmony_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) ];
2634e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(false, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) ];
2635e5c31af7Sopenharmony_ci		}
2636e5c31af7Sopenharmony_ci
2637e5c31af7Sopenharmony_ci		both ""
2638e5c31af7Sopenharmony_ci			precision mediump float;
2639e5c31af7Sopenharmony_ci			precision mediump int;
2640e5c31af7Sopenharmony_ci
2641e5c31af7Sopenharmony_ci			${DECLARATIONS}
2642e5c31af7Sopenharmony_ci
2643e5c31af7Sopenharmony_ci			void main()
2644e5c31af7Sopenharmony_ci			{
2645e5c31af7Sopenharmony_ci				${SETUP}
2646e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
2647e5c31af7Sopenharmony_ci				${OUTPUT}
2648e5c31af7Sopenharmony_ci			}
2649e5c31af7Sopenharmony_ci		""
2650e5c31af7Sopenharmony_ci	end
2651e5c31af7Sopenharmony_ci
2652e5c31af7Sopenharmony_ci	case vec3_to_bvec2
2653e5c31af7Sopenharmony_ci		values
2654e5c31af7Sopenharmony_ci		{
2655e5c31af7Sopenharmony_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) ];
2656e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ];
2657e5c31af7Sopenharmony_ci		}
2658e5c31af7Sopenharmony_ci
2659e5c31af7Sopenharmony_ci		both ""
2660e5c31af7Sopenharmony_ci			precision mediump float;
2661e5c31af7Sopenharmony_ci			precision mediump int;
2662e5c31af7Sopenharmony_ci
2663e5c31af7Sopenharmony_ci			${DECLARATIONS}
2664e5c31af7Sopenharmony_ci
2665e5c31af7Sopenharmony_ci			void main()
2666e5c31af7Sopenharmony_ci			{
2667e5c31af7Sopenharmony_ci				${SETUP}
2668e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
2669e5c31af7Sopenharmony_ci				${OUTPUT}
2670e5c31af7Sopenharmony_ci			}
2671e5c31af7Sopenharmony_ci		""
2672e5c31af7Sopenharmony_ci	end
2673e5c31af7Sopenharmony_ci
2674e5c31af7Sopenharmony_ci	case ivec3_to_vec3
2675e5c31af7Sopenharmony_ci		values
2676e5c31af7Sopenharmony_ci		{
2677e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2678e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(0.0, -2.0, -4.0) | vec3(-32.0, 64.0, -51.0) | vec3(0.0, 0.0, 0.0) ];
2679e5c31af7Sopenharmony_ci		}
2680e5c31af7Sopenharmony_ci
2681e5c31af7Sopenharmony_ci		both ""
2682e5c31af7Sopenharmony_ci			precision mediump float;
2683e5c31af7Sopenharmony_ci			precision mediump int;
2684e5c31af7Sopenharmony_ci
2685e5c31af7Sopenharmony_ci			${DECLARATIONS}
2686e5c31af7Sopenharmony_ci
2687e5c31af7Sopenharmony_ci			void main()
2688e5c31af7Sopenharmony_ci			{
2689e5c31af7Sopenharmony_ci				${SETUP}
2690e5c31af7Sopenharmony_ci				out0 = vec3(in0);
2691e5c31af7Sopenharmony_ci				${OUTPUT}
2692e5c31af7Sopenharmony_ci			}
2693e5c31af7Sopenharmony_ci		""
2694e5c31af7Sopenharmony_ci	end
2695e5c31af7Sopenharmony_ci
2696e5c31af7Sopenharmony_ci	case ivec3_to_vec2
2697e5c31af7Sopenharmony_ci		values
2698e5c31af7Sopenharmony_ci		{
2699e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2700e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(0.0, -2.0) | vec2(-32.0, 64.0) | vec2(0.0, 0.0) ];
2701e5c31af7Sopenharmony_ci		}
2702e5c31af7Sopenharmony_ci
2703e5c31af7Sopenharmony_ci		both ""
2704e5c31af7Sopenharmony_ci			precision mediump float;
2705e5c31af7Sopenharmony_ci			precision mediump int;
2706e5c31af7Sopenharmony_ci
2707e5c31af7Sopenharmony_ci			${DECLARATIONS}
2708e5c31af7Sopenharmony_ci
2709e5c31af7Sopenharmony_ci			void main()
2710e5c31af7Sopenharmony_ci			{
2711e5c31af7Sopenharmony_ci				${SETUP}
2712e5c31af7Sopenharmony_ci				out0 = vec2(in0);
2713e5c31af7Sopenharmony_ci				${OUTPUT}
2714e5c31af7Sopenharmony_ci			}
2715e5c31af7Sopenharmony_ci		""
2716e5c31af7Sopenharmony_ci	end
2717e5c31af7Sopenharmony_ci
2718e5c31af7Sopenharmony_ci	case ivec3_to_ivec3
2719e5c31af7Sopenharmony_ci		values
2720e5c31af7Sopenharmony_ci		{
2721e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2722e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2723e5c31af7Sopenharmony_ci		}
2724e5c31af7Sopenharmony_ci
2725e5c31af7Sopenharmony_ci		both ""
2726e5c31af7Sopenharmony_ci			precision mediump float;
2727e5c31af7Sopenharmony_ci			precision mediump int;
2728e5c31af7Sopenharmony_ci
2729e5c31af7Sopenharmony_ci			${DECLARATIONS}
2730e5c31af7Sopenharmony_ci
2731e5c31af7Sopenharmony_ci			void main()
2732e5c31af7Sopenharmony_ci			{
2733e5c31af7Sopenharmony_ci				${SETUP}
2734e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
2735e5c31af7Sopenharmony_ci				${OUTPUT}
2736e5c31af7Sopenharmony_ci			}
2737e5c31af7Sopenharmony_ci		""
2738e5c31af7Sopenharmony_ci	end
2739e5c31af7Sopenharmony_ci
2740e5c31af7Sopenharmony_ci	case ivec3_to_ivec2
2741e5c31af7Sopenharmony_ci		values
2742e5c31af7Sopenharmony_ci		{
2743e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2744e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2745e5c31af7Sopenharmony_ci		}
2746e5c31af7Sopenharmony_ci
2747e5c31af7Sopenharmony_ci		both ""
2748e5c31af7Sopenharmony_ci			precision mediump float;
2749e5c31af7Sopenharmony_ci			precision mediump int;
2750e5c31af7Sopenharmony_ci
2751e5c31af7Sopenharmony_ci			${DECLARATIONS}
2752e5c31af7Sopenharmony_ci
2753e5c31af7Sopenharmony_ci			void main()
2754e5c31af7Sopenharmony_ci			{
2755e5c31af7Sopenharmony_ci				${SETUP}
2756e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
2757e5c31af7Sopenharmony_ci				${OUTPUT}
2758e5c31af7Sopenharmony_ci			}
2759e5c31af7Sopenharmony_ci		""
2760e5c31af7Sopenharmony_ci	end
2761e5c31af7Sopenharmony_ci
2762e5c31af7Sopenharmony_ci	case ivec3_to_bvec3
2763e5c31af7Sopenharmony_ci		values
2764e5c31af7Sopenharmony_ci		{
2765e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2766e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
2767e5c31af7Sopenharmony_ci		}
2768e5c31af7Sopenharmony_ci
2769e5c31af7Sopenharmony_ci		both ""
2770e5c31af7Sopenharmony_ci			precision mediump float;
2771e5c31af7Sopenharmony_ci			precision mediump int;
2772e5c31af7Sopenharmony_ci
2773e5c31af7Sopenharmony_ci			${DECLARATIONS}
2774e5c31af7Sopenharmony_ci
2775e5c31af7Sopenharmony_ci			void main()
2776e5c31af7Sopenharmony_ci			{
2777e5c31af7Sopenharmony_ci				${SETUP}
2778e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
2779e5c31af7Sopenharmony_ci				${OUTPUT}
2780e5c31af7Sopenharmony_ci			}
2781e5c31af7Sopenharmony_ci		""
2782e5c31af7Sopenharmony_ci	end
2783e5c31af7Sopenharmony_ci
2784e5c31af7Sopenharmony_ci	case ivec3_to_bvec2
2785e5c31af7Sopenharmony_ci		values
2786e5c31af7Sopenharmony_ci		{
2787e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2788e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
2789e5c31af7Sopenharmony_ci		}
2790e5c31af7Sopenharmony_ci
2791e5c31af7Sopenharmony_ci		both ""
2792e5c31af7Sopenharmony_ci			precision mediump float;
2793e5c31af7Sopenharmony_ci			precision mediump int;
2794e5c31af7Sopenharmony_ci
2795e5c31af7Sopenharmony_ci			${DECLARATIONS}
2796e5c31af7Sopenharmony_ci
2797e5c31af7Sopenharmony_ci			void main()
2798e5c31af7Sopenharmony_ci			{
2799e5c31af7Sopenharmony_ci				${SETUP}
2800e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
2801e5c31af7Sopenharmony_ci				${OUTPUT}
2802e5c31af7Sopenharmony_ci			}
2803e5c31af7Sopenharmony_ci		""
2804e5c31af7Sopenharmony_ci	end
2805e5c31af7Sopenharmony_ci
2806e5c31af7Sopenharmony_ci	case bvec3_to_vec3
2807e5c31af7Sopenharmony_ci		values
2808e5c31af7Sopenharmony_ci		{
2809e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
2810e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(1.0, 0.0, 0.0) | vec3(0.0, 0.0, 0.0) | vec3(0.0, 1.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(0.0, 0.0, 0.0) ];
2811e5c31af7Sopenharmony_ci		}
2812e5c31af7Sopenharmony_ci
2813e5c31af7Sopenharmony_ci		both ""
2814e5c31af7Sopenharmony_ci			precision mediump float;
2815e5c31af7Sopenharmony_ci			precision mediump int;
2816e5c31af7Sopenharmony_ci
2817e5c31af7Sopenharmony_ci			${DECLARATIONS}
2818e5c31af7Sopenharmony_ci
2819e5c31af7Sopenharmony_ci			void main()
2820e5c31af7Sopenharmony_ci			{
2821e5c31af7Sopenharmony_ci				${SETUP}
2822e5c31af7Sopenharmony_ci				out0 = vec3(in0);
2823e5c31af7Sopenharmony_ci				${OUTPUT}
2824e5c31af7Sopenharmony_ci			}
2825e5c31af7Sopenharmony_ci		""
2826e5c31af7Sopenharmony_ci	end
2827e5c31af7Sopenharmony_ci
2828e5c31af7Sopenharmony_ci	case bvec3_to_vec2
2829e5c31af7Sopenharmony_ci		values
2830e5c31af7Sopenharmony_ci		{
2831e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
2832e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(1.0, 0.0) | vec2(0.0, 0.0) | vec2(0.0, 1.0) | vec2(1.0, 1.0) | vec2(0.0, 0.0) ];
2833e5c31af7Sopenharmony_ci		}
2834e5c31af7Sopenharmony_ci
2835e5c31af7Sopenharmony_ci		both ""
2836e5c31af7Sopenharmony_ci			precision mediump float;
2837e5c31af7Sopenharmony_ci			precision mediump int;
2838e5c31af7Sopenharmony_ci
2839e5c31af7Sopenharmony_ci			${DECLARATIONS}
2840e5c31af7Sopenharmony_ci
2841e5c31af7Sopenharmony_ci			void main()
2842e5c31af7Sopenharmony_ci			{
2843e5c31af7Sopenharmony_ci				${SETUP}
2844e5c31af7Sopenharmony_ci				out0 = vec2(in0);
2845e5c31af7Sopenharmony_ci				${OUTPUT}
2846e5c31af7Sopenharmony_ci			}
2847e5c31af7Sopenharmony_ci		""
2848e5c31af7Sopenharmony_ci	end
2849e5c31af7Sopenharmony_ci
2850e5c31af7Sopenharmony_ci	case bvec3_to_ivec3
2851e5c31af7Sopenharmony_ci		values
2852e5c31af7Sopenharmony_ci		{
2853e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
2854e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(1, 0, 0) | ivec3(0, 0, 0) | ivec3(0, 1, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) ];
2855e5c31af7Sopenharmony_ci		}
2856e5c31af7Sopenharmony_ci
2857e5c31af7Sopenharmony_ci		both ""
2858e5c31af7Sopenharmony_ci			precision mediump float;
2859e5c31af7Sopenharmony_ci			precision mediump int;
2860e5c31af7Sopenharmony_ci
2861e5c31af7Sopenharmony_ci			${DECLARATIONS}
2862e5c31af7Sopenharmony_ci
2863e5c31af7Sopenharmony_ci			void main()
2864e5c31af7Sopenharmony_ci			{
2865e5c31af7Sopenharmony_ci				${SETUP}
2866e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
2867e5c31af7Sopenharmony_ci				${OUTPUT}
2868e5c31af7Sopenharmony_ci			}
2869e5c31af7Sopenharmony_ci		""
2870e5c31af7Sopenharmony_ci	end
2871e5c31af7Sopenharmony_ci
2872e5c31af7Sopenharmony_ci	case bvec3_to_ivec2
2873e5c31af7Sopenharmony_ci		values
2874e5c31af7Sopenharmony_ci		{
2875e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
2876e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(1, 0) | ivec2(0, 0) | ivec2(0, 1) | ivec2(1, 1) | ivec2(0, 0) ];
2877e5c31af7Sopenharmony_ci		}
2878e5c31af7Sopenharmony_ci
2879e5c31af7Sopenharmony_ci		both ""
2880e5c31af7Sopenharmony_ci			precision mediump float;
2881e5c31af7Sopenharmony_ci			precision mediump int;
2882e5c31af7Sopenharmony_ci
2883e5c31af7Sopenharmony_ci			${DECLARATIONS}
2884e5c31af7Sopenharmony_ci
2885e5c31af7Sopenharmony_ci			void main()
2886e5c31af7Sopenharmony_ci			{
2887e5c31af7Sopenharmony_ci				${SETUP}
2888e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
2889e5c31af7Sopenharmony_ci				${OUTPUT}
2890e5c31af7Sopenharmony_ci			}
2891e5c31af7Sopenharmony_ci		""
2892e5c31af7Sopenharmony_ci	end
2893e5c31af7Sopenharmony_ci
2894e5c31af7Sopenharmony_ci	case bvec3_to_bvec3
2895e5c31af7Sopenharmony_ci		values
2896e5c31af7Sopenharmony_ci		{
2897e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
2898e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
2899e5c31af7Sopenharmony_ci		}
2900e5c31af7Sopenharmony_ci
2901e5c31af7Sopenharmony_ci		both ""
2902e5c31af7Sopenharmony_ci			precision mediump float;
2903e5c31af7Sopenharmony_ci			precision mediump int;
2904e5c31af7Sopenharmony_ci
2905e5c31af7Sopenharmony_ci			${DECLARATIONS}
2906e5c31af7Sopenharmony_ci
2907e5c31af7Sopenharmony_ci			void main()
2908e5c31af7Sopenharmony_ci			{
2909e5c31af7Sopenharmony_ci				${SETUP}
2910e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
2911e5c31af7Sopenharmony_ci				${OUTPUT}
2912e5c31af7Sopenharmony_ci			}
2913e5c31af7Sopenharmony_ci		""
2914e5c31af7Sopenharmony_ci	end
2915e5c31af7Sopenharmony_ci
2916e5c31af7Sopenharmony_ci	case bvec3_to_bvec2
2917e5c31af7Sopenharmony_ci		values
2918e5c31af7Sopenharmony_ci		{
2919e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
2920e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
2921e5c31af7Sopenharmony_ci		}
2922e5c31af7Sopenharmony_ci
2923e5c31af7Sopenharmony_ci		both ""
2924e5c31af7Sopenharmony_ci			precision mediump float;
2925e5c31af7Sopenharmony_ci			precision mediump int;
2926e5c31af7Sopenharmony_ci
2927e5c31af7Sopenharmony_ci			${DECLARATIONS}
2928e5c31af7Sopenharmony_ci
2929e5c31af7Sopenharmony_ci			void main()
2930e5c31af7Sopenharmony_ci			{
2931e5c31af7Sopenharmony_ci				${SETUP}
2932e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
2933e5c31af7Sopenharmony_ci				${OUTPUT}
2934e5c31af7Sopenharmony_ci			}
2935e5c31af7Sopenharmony_ci		""
2936e5c31af7Sopenharmony_ci	end
2937e5c31af7Sopenharmony_ci
2938e5c31af7Sopenharmony_ci	case vec2_to_vec2
2939e5c31af7Sopenharmony_ci		values
2940e5c31af7Sopenharmony_ci		{
2941e5c31af7Sopenharmony_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) ];
2942e5c31af7Sopenharmony_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) ];
2943e5c31af7Sopenharmony_ci		}
2944e5c31af7Sopenharmony_ci
2945e5c31af7Sopenharmony_ci		both ""
2946e5c31af7Sopenharmony_ci			precision mediump float;
2947e5c31af7Sopenharmony_ci			precision mediump int;
2948e5c31af7Sopenharmony_ci
2949e5c31af7Sopenharmony_ci			${DECLARATIONS}
2950e5c31af7Sopenharmony_ci
2951e5c31af7Sopenharmony_ci			void main()
2952e5c31af7Sopenharmony_ci			{
2953e5c31af7Sopenharmony_ci				${SETUP}
2954e5c31af7Sopenharmony_ci				out0 = vec2(in0);
2955e5c31af7Sopenharmony_ci				${OUTPUT}
2956e5c31af7Sopenharmony_ci			}
2957e5c31af7Sopenharmony_ci		""
2958e5c31af7Sopenharmony_ci	end
2959e5c31af7Sopenharmony_ci
2960e5c31af7Sopenharmony_ci	case vec2_to_ivec2
2961e5c31af7Sopenharmony_ci		values
2962e5c31af7Sopenharmony_ci		{
2963e5c31af7Sopenharmony_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) ];
2964e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2965e5c31af7Sopenharmony_ci		}
2966e5c31af7Sopenharmony_ci
2967e5c31af7Sopenharmony_ci		both ""
2968e5c31af7Sopenharmony_ci			precision mediump float;
2969e5c31af7Sopenharmony_ci			precision mediump int;
2970e5c31af7Sopenharmony_ci
2971e5c31af7Sopenharmony_ci			${DECLARATIONS}
2972e5c31af7Sopenharmony_ci
2973e5c31af7Sopenharmony_ci			void main()
2974e5c31af7Sopenharmony_ci			{
2975e5c31af7Sopenharmony_ci				${SETUP}
2976e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
2977e5c31af7Sopenharmony_ci				${OUTPUT}
2978e5c31af7Sopenharmony_ci			}
2979e5c31af7Sopenharmony_ci		""
2980e5c31af7Sopenharmony_ci	end
2981e5c31af7Sopenharmony_ci
2982e5c31af7Sopenharmony_ci	case vec2_to_bvec2
2983e5c31af7Sopenharmony_ci		values
2984e5c31af7Sopenharmony_ci		{
2985e5c31af7Sopenharmony_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) ];
2986e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ];
2987e5c31af7Sopenharmony_ci		}
2988e5c31af7Sopenharmony_ci
2989e5c31af7Sopenharmony_ci		both ""
2990e5c31af7Sopenharmony_ci			precision mediump float;
2991e5c31af7Sopenharmony_ci			precision mediump int;
2992e5c31af7Sopenharmony_ci
2993e5c31af7Sopenharmony_ci			${DECLARATIONS}
2994e5c31af7Sopenharmony_ci
2995e5c31af7Sopenharmony_ci			void main()
2996e5c31af7Sopenharmony_ci			{
2997e5c31af7Sopenharmony_ci				${SETUP}
2998e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
2999e5c31af7Sopenharmony_ci				${OUTPUT}
3000e5c31af7Sopenharmony_ci			}
3001e5c31af7Sopenharmony_ci		""
3002e5c31af7Sopenharmony_ci	end
3003e5c31af7Sopenharmony_ci
3004e5c31af7Sopenharmony_ci	case ivec2_to_vec2
3005e5c31af7Sopenharmony_ci		values
3006e5c31af7Sopenharmony_ci		{
3007e5c31af7Sopenharmony_ci			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
3008e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(0.0, -2.0) | vec2(-32.0, 64.0) | vec2(0.0, 0.0) ];
3009e5c31af7Sopenharmony_ci		}
3010e5c31af7Sopenharmony_ci
3011e5c31af7Sopenharmony_ci		both ""
3012e5c31af7Sopenharmony_ci			precision mediump float;
3013e5c31af7Sopenharmony_ci			precision mediump int;
3014e5c31af7Sopenharmony_ci
3015e5c31af7Sopenharmony_ci			${DECLARATIONS}
3016e5c31af7Sopenharmony_ci
3017e5c31af7Sopenharmony_ci			void main()
3018e5c31af7Sopenharmony_ci			{
3019e5c31af7Sopenharmony_ci				${SETUP}
3020e5c31af7Sopenharmony_ci				out0 = vec2(in0);
3021e5c31af7Sopenharmony_ci				${OUTPUT}
3022e5c31af7Sopenharmony_ci			}
3023e5c31af7Sopenharmony_ci		""
3024e5c31af7Sopenharmony_ci	end
3025e5c31af7Sopenharmony_ci
3026e5c31af7Sopenharmony_ci	case ivec2_to_ivec2
3027e5c31af7Sopenharmony_ci		values
3028e5c31af7Sopenharmony_ci		{
3029e5c31af7Sopenharmony_ci			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
3030e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
3031e5c31af7Sopenharmony_ci		}
3032e5c31af7Sopenharmony_ci
3033e5c31af7Sopenharmony_ci		both ""
3034e5c31af7Sopenharmony_ci			precision mediump float;
3035e5c31af7Sopenharmony_ci			precision mediump int;
3036e5c31af7Sopenharmony_ci
3037e5c31af7Sopenharmony_ci			${DECLARATIONS}
3038e5c31af7Sopenharmony_ci
3039e5c31af7Sopenharmony_ci			void main()
3040e5c31af7Sopenharmony_ci			{
3041e5c31af7Sopenharmony_ci				${SETUP}
3042e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
3043e5c31af7Sopenharmony_ci				${OUTPUT}
3044e5c31af7Sopenharmony_ci			}
3045e5c31af7Sopenharmony_ci		""
3046e5c31af7Sopenharmony_ci	end
3047e5c31af7Sopenharmony_ci
3048e5c31af7Sopenharmony_ci	case ivec2_to_bvec2
3049e5c31af7Sopenharmony_ci		values
3050e5c31af7Sopenharmony_ci		{
3051e5c31af7Sopenharmony_ci			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
3052e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
3053e5c31af7Sopenharmony_ci		}
3054e5c31af7Sopenharmony_ci
3055e5c31af7Sopenharmony_ci		both ""
3056e5c31af7Sopenharmony_ci			precision mediump float;
3057e5c31af7Sopenharmony_ci			precision mediump int;
3058e5c31af7Sopenharmony_ci
3059e5c31af7Sopenharmony_ci			${DECLARATIONS}
3060e5c31af7Sopenharmony_ci
3061e5c31af7Sopenharmony_ci			void main()
3062e5c31af7Sopenharmony_ci			{
3063e5c31af7Sopenharmony_ci				${SETUP}
3064e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
3065e5c31af7Sopenharmony_ci				${OUTPUT}
3066e5c31af7Sopenharmony_ci			}
3067e5c31af7Sopenharmony_ci		""
3068e5c31af7Sopenharmony_ci	end
3069e5c31af7Sopenharmony_ci
3070e5c31af7Sopenharmony_ci	case bvec2_to_vec2
3071e5c31af7Sopenharmony_ci		values
3072e5c31af7Sopenharmony_ci		{
3073e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
3074e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(1.0, 0.0) | vec2(0.0, 0.0) | vec2(0.0, 1.0) | vec2(1.0, 1.0) | vec2(0.0, 0.0) ];
3075e5c31af7Sopenharmony_ci		}
3076e5c31af7Sopenharmony_ci
3077e5c31af7Sopenharmony_ci		both ""
3078e5c31af7Sopenharmony_ci			precision mediump float;
3079e5c31af7Sopenharmony_ci			precision mediump int;
3080e5c31af7Sopenharmony_ci
3081e5c31af7Sopenharmony_ci			${DECLARATIONS}
3082e5c31af7Sopenharmony_ci
3083e5c31af7Sopenharmony_ci			void main()
3084e5c31af7Sopenharmony_ci			{
3085e5c31af7Sopenharmony_ci				${SETUP}
3086e5c31af7Sopenharmony_ci				out0 = vec2(in0);
3087e5c31af7Sopenharmony_ci				${OUTPUT}
3088e5c31af7Sopenharmony_ci			}
3089e5c31af7Sopenharmony_ci		""
3090e5c31af7Sopenharmony_ci	end
3091e5c31af7Sopenharmony_ci
3092e5c31af7Sopenharmony_ci	case bvec2_to_ivec2
3093e5c31af7Sopenharmony_ci		values
3094e5c31af7Sopenharmony_ci		{
3095e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
3096e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(1, 0) | ivec2(0, 0) | ivec2(0, 1) | ivec2(1, 1) | ivec2(0, 0) ];
3097e5c31af7Sopenharmony_ci		}
3098e5c31af7Sopenharmony_ci
3099e5c31af7Sopenharmony_ci		both ""
3100e5c31af7Sopenharmony_ci			precision mediump float;
3101e5c31af7Sopenharmony_ci			precision mediump int;
3102e5c31af7Sopenharmony_ci
3103e5c31af7Sopenharmony_ci			${DECLARATIONS}
3104e5c31af7Sopenharmony_ci
3105e5c31af7Sopenharmony_ci			void main()
3106e5c31af7Sopenharmony_ci			{
3107e5c31af7Sopenharmony_ci				${SETUP}
3108e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
3109e5c31af7Sopenharmony_ci				${OUTPUT}
3110e5c31af7Sopenharmony_ci			}
3111e5c31af7Sopenharmony_ci		""
3112e5c31af7Sopenharmony_ci	end
3113e5c31af7Sopenharmony_ci
3114e5c31af7Sopenharmony_ci	case bvec2_to_bvec2
3115e5c31af7Sopenharmony_ci		values
3116e5c31af7Sopenharmony_ci		{
3117e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
3118e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
3119e5c31af7Sopenharmony_ci		}
3120e5c31af7Sopenharmony_ci
3121e5c31af7Sopenharmony_ci		both ""
3122e5c31af7Sopenharmony_ci			precision mediump float;
3123e5c31af7Sopenharmony_ci			precision mediump int;
3124e5c31af7Sopenharmony_ci
3125e5c31af7Sopenharmony_ci			${DECLARATIONS}
3126e5c31af7Sopenharmony_ci
3127e5c31af7Sopenharmony_ci			void main()
3128e5c31af7Sopenharmony_ci			{
3129e5c31af7Sopenharmony_ci				${SETUP}
3130e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
3131e5c31af7Sopenharmony_ci				${OUTPUT}
3132e5c31af7Sopenharmony_ci			}
3133e5c31af7Sopenharmony_ci		""
3134e5c31af7Sopenharmony_ci	end
3135e5c31af7Sopenharmony_ci
3136e5c31af7Sopenharmony_ci
3137e5c31af7Sopenharmony_ciend # vector_to_vector
3138e5c31af7Sopenharmony_cigroup scalar_to_matrix "Scalar to Matrix Conversions"
3139e5c31af7Sopenharmony_ci
3140e5c31af7Sopenharmony_ci	case float_to_mat4
3141e5c31af7Sopenharmony_ci		values
3142e5c31af7Sopenharmony_ci		{
3143e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
3144e5c31af7Sopenharmony_ci			output mat4 out0 = [ mat4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0) | mat4(3.5, 0.0, 0.0, 0.0, 0.0, 3.5, 0.0, 0.0, 0.0, 0.0, 3.5, 0.0, 0.0, 0.0, 0.0, 3.5) | mat4(-0.5, 0.0, 0.0, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0, 0.0, -0.5) | mat4(-8.25, 0.0, 0.0, 0.0, 0.0, -8.25, 0.0, 0.0, 0.0, 0.0, -8.25, 0.0, 0.0, 0.0, 0.0, -8.25) | mat4(-20.125, 0.0, 0.0, 0.0, 0.0, -20.125, 0.0, 0.0, 0.0, 0.0, -20.125, 0.0, 0.0, 0.0, 0.0, -20.125) | mat4(36.8125, 0.0, 0.0, 0.0, 0.0, 36.8125, 0.0, 0.0, 0.0, 0.0, 36.8125, 0.0, 0.0, 0.0, 0.0, 36.8125) ];
3145e5c31af7Sopenharmony_ci		}
3146e5c31af7Sopenharmony_ci
3147e5c31af7Sopenharmony_ci		both ""
3148e5c31af7Sopenharmony_ci			precision mediump float;
3149e5c31af7Sopenharmony_ci			precision mediump int;
3150e5c31af7Sopenharmony_ci
3151e5c31af7Sopenharmony_ci			${DECLARATIONS}
3152e5c31af7Sopenharmony_ci
3153e5c31af7Sopenharmony_ci			void main()
3154e5c31af7Sopenharmony_ci			{
3155e5c31af7Sopenharmony_ci				${SETUP}
3156e5c31af7Sopenharmony_ci				out0 = mat4(in0);
3157e5c31af7Sopenharmony_ci				${OUTPUT}
3158e5c31af7Sopenharmony_ci			}
3159e5c31af7Sopenharmony_ci		""
3160e5c31af7Sopenharmony_ci	end
3161e5c31af7Sopenharmony_ci
3162e5c31af7Sopenharmony_ci	case float_to_mat3
3163e5c31af7Sopenharmony_ci		values
3164e5c31af7Sopenharmony_ci		{
3165e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
3166e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0) | mat3(3.5, 0.0, 0.0, 0.0, 3.5, 0.0, 0.0, 0.0, 3.5) | mat3(-0.5, 0.0, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0, -0.5) | mat3(-8.25, 0.0, 0.0, 0.0, -8.25, 0.0, 0.0, 0.0, -8.25) | mat3(-20.125, 0.0, 0.0, 0.0, -20.125, 0.0, 0.0, 0.0, -20.125) | mat3(36.8125, 0.0, 0.0, 0.0, 36.8125, 0.0, 0.0, 0.0, 36.8125) ];
3167e5c31af7Sopenharmony_ci		}
3168e5c31af7Sopenharmony_ci
3169e5c31af7Sopenharmony_ci		both ""
3170e5c31af7Sopenharmony_ci			precision mediump float;
3171e5c31af7Sopenharmony_ci			precision mediump int;
3172e5c31af7Sopenharmony_ci
3173e5c31af7Sopenharmony_ci			${DECLARATIONS}
3174e5c31af7Sopenharmony_ci
3175e5c31af7Sopenharmony_ci			void main()
3176e5c31af7Sopenharmony_ci			{
3177e5c31af7Sopenharmony_ci				${SETUP}
3178e5c31af7Sopenharmony_ci				out0 = mat3(in0);
3179e5c31af7Sopenharmony_ci				${OUTPUT}
3180e5c31af7Sopenharmony_ci			}
3181e5c31af7Sopenharmony_ci		""
3182e5c31af7Sopenharmony_ci	end
3183e5c31af7Sopenharmony_ci
3184e5c31af7Sopenharmony_ci	case float_to_mat2
3185e5c31af7Sopenharmony_ci		values
3186e5c31af7Sopenharmony_ci		{
3187e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
3188e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(0.0, 0.0, 0.0, 0.0) | mat2(1.0, 0.0, 0.0, 1.0) | mat2(2.0, 0.0, 0.0, 2.0) | mat2(3.5, 0.0, 0.0, 3.5) | mat2(-0.5, 0.0, 0.0, -0.5) | mat2(-8.25, 0.0, 0.0, -8.25) | mat2(-20.125, 0.0, 0.0, -20.125) | mat2(36.8125, 0.0, 0.0, 36.8125) ];
3189e5c31af7Sopenharmony_ci		}
3190e5c31af7Sopenharmony_ci
3191e5c31af7Sopenharmony_ci		both ""
3192e5c31af7Sopenharmony_ci			precision mediump float;
3193e5c31af7Sopenharmony_ci			precision mediump int;
3194e5c31af7Sopenharmony_ci
3195e5c31af7Sopenharmony_ci			${DECLARATIONS}
3196e5c31af7Sopenharmony_ci
3197e5c31af7Sopenharmony_ci			void main()
3198e5c31af7Sopenharmony_ci			{
3199e5c31af7Sopenharmony_ci				${SETUP}
3200e5c31af7Sopenharmony_ci				out0 = mat2(in0);
3201e5c31af7Sopenharmony_ci				${OUTPUT}
3202e5c31af7Sopenharmony_ci			}
3203e5c31af7Sopenharmony_ci		""
3204e5c31af7Sopenharmony_ci	end
3205e5c31af7Sopenharmony_ci
3206e5c31af7Sopenharmony_ci	case int_to_mat4
3207e5c31af7Sopenharmony_ci		values
3208e5c31af7Sopenharmony_ci		{
3209e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
3210e5c31af7Sopenharmony_ci			output mat4 out0 = [ mat4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0) | mat4(5.0, 0.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 5.0) | mat4(8.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0, 8.0) | mat4(11.0, 0.0, 0.0, 0.0, 0.0, 11.0, 0.0, 0.0, 0.0, 0.0, 11.0, 0.0, 0.0, 0.0, 0.0, 11.0) | mat4(-12.0, 0.0, 0.0, 0.0, 0.0, -12.0, 0.0, 0.0, 0.0, 0.0, -12.0, 0.0, 0.0, 0.0, 0.0, -12.0) | mat4(-66.0, 0.0, 0.0, 0.0, 0.0, -66.0, 0.0, 0.0, 0.0, 0.0, -66.0, 0.0, 0.0, 0.0, 0.0, -66.0) | mat4(-192.0, 0.0, 0.0, 0.0, 0.0, -192.0, 0.0, 0.0, 0.0, 0.0, -192.0, 0.0, 0.0, 0.0, 0.0, -192.0) | mat4(255.0, 0.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 0.0, 255.0) ];
3211e5c31af7Sopenharmony_ci		}
3212e5c31af7Sopenharmony_ci
3213e5c31af7Sopenharmony_ci		both ""
3214e5c31af7Sopenharmony_ci			precision mediump float;
3215e5c31af7Sopenharmony_ci			precision mediump int;
3216e5c31af7Sopenharmony_ci
3217e5c31af7Sopenharmony_ci			${DECLARATIONS}
3218e5c31af7Sopenharmony_ci
3219e5c31af7Sopenharmony_ci			void main()
3220e5c31af7Sopenharmony_ci			{
3221e5c31af7Sopenharmony_ci				${SETUP}
3222e5c31af7Sopenharmony_ci				out0 = mat4(in0);
3223e5c31af7Sopenharmony_ci				${OUTPUT}
3224e5c31af7Sopenharmony_ci			}
3225e5c31af7Sopenharmony_ci		""
3226e5c31af7Sopenharmony_ci	end
3227e5c31af7Sopenharmony_ci
3228e5c31af7Sopenharmony_ci	case int_to_mat3
3229e5c31af7Sopenharmony_ci		values
3230e5c31af7Sopenharmony_ci		{
3231e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
3232e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0) | mat3(5.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 5.0) | mat3(8.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 8.0) | mat3(11.0, 0.0, 0.0, 0.0, 11.0, 0.0, 0.0, 0.0, 11.0) | mat3(-12.0, 0.0, 0.0, 0.0, -12.0, 0.0, 0.0, 0.0, -12.0) | mat3(-66.0, 0.0, 0.0, 0.0, -66.0, 0.0, 0.0, 0.0, -66.0) | mat3(-192.0, 0.0, 0.0, 0.0, -192.0, 0.0, 0.0, 0.0, -192.0) | mat3(255.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 255.0) ];
3233e5c31af7Sopenharmony_ci		}
3234e5c31af7Sopenharmony_ci
3235e5c31af7Sopenharmony_ci		both ""
3236e5c31af7Sopenharmony_ci			precision mediump float;
3237e5c31af7Sopenharmony_ci			precision mediump int;
3238e5c31af7Sopenharmony_ci
3239e5c31af7Sopenharmony_ci			${DECLARATIONS}
3240e5c31af7Sopenharmony_ci
3241e5c31af7Sopenharmony_ci			void main()
3242e5c31af7Sopenharmony_ci			{
3243e5c31af7Sopenharmony_ci				${SETUP}
3244e5c31af7Sopenharmony_ci				out0 = mat3(in0);
3245e5c31af7Sopenharmony_ci				${OUTPUT}
3246e5c31af7Sopenharmony_ci			}
3247e5c31af7Sopenharmony_ci		""
3248e5c31af7Sopenharmony_ci	end
3249e5c31af7Sopenharmony_ci
3250e5c31af7Sopenharmony_ci	case int_to_mat2
3251e5c31af7Sopenharmony_ci		values
3252e5c31af7Sopenharmony_ci		{
3253e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
3254e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(0.0, 0.0, 0.0, 0.0) | mat2(1.0, 0.0, 0.0, 1.0) | mat2(2.0, 0.0, 0.0, 2.0) | mat2(5.0, 0.0, 0.0, 5.0) | mat2(8.0, 0.0, 0.0, 8.0) | mat2(11.0, 0.0, 0.0, 11.0) | mat2(-12.0, 0.0, 0.0, -12.0) | mat2(-66.0, 0.0, 0.0, -66.0) | mat2(-192.0, 0.0, 0.0, -192.0) | mat2(255.0, 0.0, 0.0, 255.0) ];
3255e5c31af7Sopenharmony_ci		}
3256e5c31af7Sopenharmony_ci
3257e5c31af7Sopenharmony_ci		both ""
3258e5c31af7Sopenharmony_ci			precision mediump float;
3259e5c31af7Sopenharmony_ci			precision mediump int;
3260e5c31af7Sopenharmony_ci
3261e5c31af7Sopenharmony_ci			${DECLARATIONS}
3262e5c31af7Sopenharmony_ci
3263e5c31af7Sopenharmony_ci			void main()
3264e5c31af7Sopenharmony_ci			{
3265e5c31af7Sopenharmony_ci				${SETUP}
3266e5c31af7Sopenharmony_ci				out0 = mat2(in0);
3267e5c31af7Sopenharmony_ci				${OUTPUT}
3268e5c31af7Sopenharmony_ci			}
3269e5c31af7Sopenharmony_ci		""
3270e5c31af7Sopenharmony_ci	end
3271e5c31af7Sopenharmony_ci
3272e5c31af7Sopenharmony_ci	case bool_to_mat4
3273e5c31af7Sopenharmony_ci		values
3274e5c31af7Sopenharmony_ci		{
3275e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
3276e5c31af7Sopenharmony_ci			output mat4 out0 = [ mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) ];
3277e5c31af7Sopenharmony_ci		}
3278e5c31af7Sopenharmony_ci
3279e5c31af7Sopenharmony_ci		both ""
3280e5c31af7Sopenharmony_ci			precision mediump float;
3281e5c31af7Sopenharmony_ci			precision mediump int;
3282e5c31af7Sopenharmony_ci
3283e5c31af7Sopenharmony_ci			${DECLARATIONS}
3284e5c31af7Sopenharmony_ci
3285e5c31af7Sopenharmony_ci			void main()
3286e5c31af7Sopenharmony_ci			{
3287e5c31af7Sopenharmony_ci				${SETUP}
3288e5c31af7Sopenharmony_ci				out0 = mat4(in0);
3289e5c31af7Sopenharmony_ci				${OUTPUT}
3290e5c31af7Sopenharmony_ci			}
3291e5c31af7Sopenharmony_ci		""
3292e5c31af7Sopenharmony_ci	end
3293e5c31af7Sopenharmony_ci
3294e5c31af7Sopenharmony_ci	case bool_to_mat3
3295e5c31af7Sopenharmony_ci		values
3296e5c31af7Sopenharmony_ci		{
3297e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
3298e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) ];
3299e5c31af7Sopenharmony_ci		}
3300e5c31af7Sopenharmony_ci
3301e5c31af7Sopenharmony_ci		both ""
3302e5c31af7Sopenharmony_ci			precision mediump float;
3303e5c31af7Sopenharmony_ci			precision mediump int;
3304e5c31af7Sopenharmony_ci
3305e5c31af7Sopenharmony_ci			${DECLARATIONS}
3306e5c31af7Sopenharmony_ci
3307e5c31af7Sopenharmony_ci			void main()
3308e5c31af7Sopenharmony_ci			{
3309e5c31af7Sopenharmony_ci				${SETUP}
3310e5c31af7Sopenharmony_ci				out0 = mat3(in0);
3311e5c31af7Sopenharmony_ci				${OUTPUT}
3312e5c31af7Sopenharmony_ci			}
3313e5c31af7Sopenharmony_ci		""
3314e5c31af7Sopenharmony_ci	end
3315e5c31af7Sopenharmony_ci
3316e5c31af7Sopenharmony_ci	case bool_to_mat2
3317e5c31af7Sopenharmony_ci		values
3318e5c31af7Sopenharmony_ci		{
3319e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
3320e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(0.0, 0.0, 0.0, 0.0) ];
3321e5c31af7Sopenharmony_ci		}
3322e5c31af7Sopenharmony_ci
3323e5c31af7Sopenharmony_ci		both ""
3324e5c31af7Sopenharmony_ci			precision mediump float;
3325e5c31af7Sopenharmony_ci			precision mediump int;
3326e5c31af7Sopenharmony_ci
3327e5c31af7Sopenharmony_ci			${DECLARATIONS}
3328e5c31af7Sopenharmony_ci
3329e5c31af7Sopenharmony_ci			void main()
3330e5c31af7Sopenharmony_ci			{
3331e5c31af7Sopenharmony_ci				${SETUP}
3332e5c31af7Sopenharmony_ci				out0 = mat2(in0);
3333e5c31af7Sopenharmony_ci				${OUTPUT}
3334e5c31af7Sopenharmony_ci			}
3335e5c31af7Sopenharmony_ci		""
3336e5c31af7Sopenharmony_ci	end
3337e5c31af7Sopenharmony_ci
3338e5c31af7Sopenharmony_ci
3339e5c31af7Sopenharmony_ciend # scalar_to_matrix
3340e5c31af7Sopenharmony_cigroup matrix_to_matrix "Matrix to Matrix Conversions"
3341e5c31af7Sopenharmony_ci
3342e5c31af7Sopenharmony_ci	case mat4_to_mat4
3343e5c31af7Sopenharmony_ci		values
3344e5c31af7Sopenharmony_ci		{
3345e5c31af7Sopenharmony_ci			input mat4 in0 = [ mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125, 9.975, -6.542, 0.015625, 9.975) ];
3346e5c31af7Sopenharmony_ci			output mat4 out0 = [ mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125, 9.975, -6.542, 0.015625, 9.975) ];
3347e5c31af7Sopenharmony_ci		}
3348e5c31af7Sopenharmony_ci
3349e5c31af7Sopenharmony_ci		both ""
3350e5c31af7Sopenharmony_ci			precision mediump float;
3351e5c31af7Sopenharmony_ci			precision mediump int;
3352e5c31af7Sopenharmony_ci
3353e5c31af7Sopenharmony_ci			${DECLARATIONS}
3354e5c31af7Sopenharmony_ci
3355e5c31af7Sopenharmony_ci			void main()
3356e5c31af7Sopenharmony_ci			{
3357e5c31af7Sopenharmony_ci				${SETUP}
3358e5c31af7Sopenharmony_ci				out0 = mat4(in0);
3359e5c31af7Sopenharmony_ci				${OUTPUT}
3360e5c31af7Sopenharmony_ci			}
3361e5c31af7Sopenharmony_ci		""
3362e5c31af7Sopenharmony_ci	end
3363e5c31af7Sopenharmony_ci
3364e5c31af7Sopenharmony_ci	case mat4_to_mat3
3365e5c31af7Sopenharmony_ci		values
3366e5c31af7Sopenharmony_ci		{
3367e5c31af7Sopenharmony_ci			input mat4 in0 = [ mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125, 9.975, -6.542, 0.015625, 9.975) ];
3368e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ];
3369e5c31af7Sopenharmony_ci		}
3370e5c31af7Sopenharmony_ci
3371e5c31af7Sopenharmony_ci		both ""
3372e5c31af7Sopenharmony_ci			precision mediump float;
3373e5c31af7Sopenharmony_ci			precision mediump int;
3374e5c31af7Sopenharmony_ci
3375e5c31af7Sopenharmony_ci			${DECLARATIONS}
3376e5c31af7Sopenharmony_ci
3377e5c31af7Sopenharmony_ci			void main()
3378e5c31af7Sopenharmony_ci			{
3379e5c31af7Sopenharmony_ci				${SETUP}
3380e5c31af7Sopenharmony_ci				out0 = mat3(in0);
3381e5c31af7Sopenharmony_ci				${OUTPUT}
3382e5c31af7Sopenharmony_ci			}
3383e5c31af7Sopenharmony_ci		""
3384e5c31af7Sopenharmony_ci	end
3385e5c31af7Sopenharmony_ci
3386e5c31af7Sopenharmony_ci	case mat4_to_mat2
3387e5c31af7Sopenharmony_ci		values
3388e5c31af7Sopenharmony_ci		{
3389e5c31af7Sopenharmony_ci			input mat4 in0 = [ mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125, 9.975, -6.542, 0.015625, 9.975) ];
3390e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ];
3391e5c31af7Sopenharmony_ci		}
3392e5c31af7Sopenharmony_ci
3393e5c31af7Sopenharmony_ci		both ""
3394e5c31af7Sopenharmony_ci			precision mediump float;
3395e5c31af7Sopenharmony_ci			precision mediump int;
3396e5c31af7Sopenharmony_ci
3397e5c31af7Sopenharmony_ci			${DECLARATIONS}
3398e5c31af7Sopenharmony_ci
3399e5c31af7Sopenharmony_ci			void main()
3400e5c31af7Sopenharmony_ci			{
3401e5c31af7Sopenharmony_ci				${SETUP}
3402e5c31af7Sopenharmony_ci				out0 = mat2(in0);
3403e5c31af7Sopenharmony_ci				${OUTPUT}
3404e5c31af7Sopenharmony_ci			}
3405e5c31af7Sopenharmony_ci		""
3406e5c31af7Sopenharmony_ci	end
3407e5c31af7Sopenharmony_ci
3408e5c31af7Sopenharmony_ci	case mat3_to_mat4
3409e5c31af7Sopenharmony_ci		values
3410e5c31af7Sopenharmony_ci		{
3411e5c31af7Sopenharmony_ci			input mat3 in0 = [ mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(6.5, 32.0, 0.125, 12.5, 0.03125, 0.0625, -0.75, 0.015625, 0.03125) ];
3412e5c31af7Sopenharmony_ci			output mat4 out0 = [ mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(6.5, 32.0, 0.125, 0.0, 12.5, 0.03125, 0.0625, 0.0, -0.75, 0.015625, 0.03125, 0.0, 0.0, 0.0, 0.0, 1.0) ];
3413e5c31af7Sopenharmony_ci		}
3414e5c31af7Sopenharmony_ci
3415e5c31af7Sopenharmony_ci		both ""
3416e5c31af7Sopenharmony_ci			precision mediump float;
3417e5c31af7Sopenharmony_ci			precision mediump int;
3418e5c31af7Sopenharmony_ci
3419e5c31af7Sopenharmony_ci			${DECLARATIONS}
3420e5c31af7Sopenharmony_ci
3421e5c31af7Sopenharmony_ci			void main()
3422e5c31af7Sopenharmony_ci			{
3423e5c31af7Sopenharmony_ci				${SETUP}
3424e5c31af7Sopenharmony_ci				out0 = mat4(in0);
3425e5c31af7Sopenharmony_ci				${OUTPUT}
3426e5c31af7Sopenharmony_ci			}
3427e5c31af7Sopenharmony_ci		""
3428e5c31af7Sopenharmony_ci	end
3429e5c31af7Sopenharmony_ci
3430e5c31af7Sopenharmony_ci	case mat3_to_mat3
3431e5c31af7Sopenharmony_ci		values
3432e5c31af7Sopenharmony_ci		{
3433e5c31af7Sopenharmony_ci			input mat3 in0 = [ mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(6.5, 32.0, 0.125, 12.5, 0.03125, 0.0625, -0.75, 0.015625, 0.03125) ];
3434e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(6.5, 32.0, 0.125, 12.5, 0.03125, 0.0625, -0.75, 0.015625, 0.03125) ];
3435e5c31af7Sopenharmony_ci		}
3436e5c31af7Sopenharmony_ci
3437e5c31af7Sopenharmony_ci		both ""
3438e5c31af7Sopenharmony_ci			precision mediump float;
3439e5c31af7Sopenharmony_ci			precision mediump int;
3440e5c31af7Sopenharmony_ci
3441e5c31af7Sopenharmony_ci			${DECLARATIONS}
3442e5c31af7Sopenharmony_ci
3443e5c31af7Sopenharmony_ci			void main()
3444e5c31af7Sopenharmony_ci			{
3445e5c31af7Sopenharmony_ci				${SETUP}
3446e5c31af7Sopenharmony_ci				out0 = mat3(in0);
3447e5c31af7Sopenharmony_ci				${OUTPUT}
3448e5c31af7Sopenharmony_ci			}
3449e5c31af7Sopenharmony_ci		""
3450e5c31af7Sopenharmony_ci	end
3451e5c31af7Sopenharmony_ci
3452e5c31af7Sopenharmony_ci	case mat3_to_mat2
3453e5c31af7Sopenharmony_ci		values
3454e5c31af7Sopenharmony_ci		{
3455e5c31af7Sopenharmony_ci			input mat3 in0 = [ mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(6.5, 32.0, 0.125, 12.5, 0.03125, 0.0625, -0.75, 0.015625, 0.03125) ];
3456e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.03125) ];
3457e5c31af7Sopenharmony_ci		}
3458e5c31af7Sopenharmony_ci
3459e5c31af7Sopenharmony_ci		both ""
3460e5c31af7Sopenharmony_ci			precision mediump float;
3461e5c31af7Sopenharmony_ci			precision mediump int;
3462e5c31af7Sopenharmony_ci
3463e5c31af7Sopenharmony_ci			${DECLARATIONS}
3464e5c31af7Sopenharmony_ci
3465e5c31af7Sopenharmony_ci			void main()
3466e5c31af7Sopenharmony_ci			{
3467e5c31af7Sopenharmony_ci				${SETUP}
3468e5c31af7Sopenharmony_ci				out0 = mat2(in0);
3469e5c31af7Sopenharmony_ci				${OUTPUT}
3470e5c31af7Sopenharmony_ci			}
3471e5c31af7Sopenharmony_ci		""
3472e5c31af7Sopenharmony_ci	end
3473e5c31af7Sopenharmony_ci
3474e5c31af7Sopenharmony_ci	case mat2_to_mat4
3475e5c31af7Sopenharmony_ci		values
3476e5c31af7Sopenharmony_ci		{
3477e5c31af7Sopenharmony_ci			input mat2 in0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, -0.75, 12.5, 9.975) | mat2(6.5, -0.75, 12.5, 9.975) | mat2(8.0, -24.0, 16.0, -16.0) | mat2(0.125, 0.03125, 0.0625, 0.015625) | mat2(-18.725, -0.0125, -0.5, 19.975) ];
3478e5c31af7Sopenharmony_ci			output mat4 out0 = [ mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(6.5, -0.75, 0.0, 0.0, 12.5, 9.975, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(6.5, -0.75, 0.0, 0.0, 12.5, 9.975, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(8.0, -24.0, 0.0, 0.0, 16.0, -16.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(0.125, 0.03125, 0.0, 0.0, 0.0625, 0.015625, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(-18.725, -0.0125, 0.0, 0.0, -0.5, 19.975, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) ];
3479e5c31af7Sopenharmony_ci		}
3480e5c31af7Sopenharmony_ci
3481e5c31af7Sopenharmony_ci		both ""
3482e5c31af7Sopenharmony_ci			precision mediump float;
3483e5c31af7Sopenharmony_ci			precision mediump int;
3484e5c31af7Sopenharmony_ci
3485e5c31af7Sopenharmony_ci			${DECLARATIONS}
3486e5c31af7Sopenharmony_ci
3487e5c31af7Sopenharmony_ci			void main()
3488e5c31af7Sopenharmony_ci			{
3489e5c31af7Sopenharmony_ci				${SETUP}
3490e5c31af7Sopenharmony_ci				out0 = mat4(in0);
3491e5c31af7Sopenharmony_ci				${OUTPUT}
3492e5c31af7Sopenharmony_ci			}
3493e5c31af7Sopenharmony_ci		""
3494e5c31af7Sopenharmony_ci	end
3495e5c31af7Sopenharmony_ci
3496e5c31af7Sopenharmony_ci	case mat2_to_mat3
3497e5c31af7Sopenharmony_ci		values
3498e5c31af7Sopenharmony_ci		{
3499e5c31af7Sopenharmony_ci			input mat2 in0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, -0.75, 12.5, 9.975) | mat2(6.5, -0.75, 12.5, 9.975) | mat2(8.0, -24.0, 16.0, -16.0) | mat2(0.125, 0.03125, 0.0625, 0.015625) | mat2(-18.725, -0.0125, -0.5, 19.975) ];
3500e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(6.5, -0.75, 0.0, 12.5, 9.975, 0.0, 0.0, 0.0, 1.0) | mat3(6.5, -0.75, 0.0, 12.5, 9.975, 0.0, 0.0, 0.0, 1.0) | mat3(8.0, -24.0, 0.0, 16.0, -16.0, 0.0, 0.0, 0.0, 1.0) | mat3(0.125, 0.03125, 0.0, 0.0625, 0.015625, 0.0, 0.0, 0.0, 1.0) | mat3(-18.725, -0.0125, 0.0, -0.5, 19.975, 0.0, 0.0, 0.0, 1.0) ];
3501e5c31af7Sopenharmony_ci		}
3502e5c31af7Sopenharmony_ci
3503e5c31af7Sopenharmony_ci		both ""
3504e5c31af7Sopenharmony_ci			precision mediump float;
3505e5c31af7Sopenharmony_ci			precision mediump int;
3506e5c31af7Sopenharmony_ci
3507e5c31af7Sopenharmony_ci			${DECLARATIONS}
3508e5c31af7Sopenharmony_ci
3509e5c31af7Sopenharmony_ci			void main()
3510e5c31af7Sopenharmony_ci			{
3511e5c31af7Sopenharmony_ci				${SETUP}
3512e5c31af7Sopenharmony_ci				out0 = mat3(in0);
3513e5c31af7Sopenharmony_ci				${OUTPUT}
3514e5c31af7Sopenharmony_ci			}
3515e5c31af7Sopenharmony_ci		""
3516e5c31af7Sopenharmony_ci	end
3517e5c31af7Sopenharmony_ci
3518e5c31af7Sopenharmony_ci	case mat2_to_mat2
3519e5c31af7Sopenharmony_ci		values
3520e5c31af7Sopenharmony_ci		{
3521e5c31af7Sopenharmony_ci			input mat2 in0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, -0.75, 12.5, 9.975) | mat2(6.5, -0.75, 12.5, 9.975) | mat2(8.0, -24.0, 16.0, -16.0) | mat2(0.125, 0.03125, 0.0625, 0.015625) | mat2(-18.725, -0.0125, -0.5, 19.975) ];
3522e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, -0.75, 12.5, 9.975) | mat2(6.5, -0.75, 12.5, 9.975) | mat2(8.0, -24.0, 16.0, -16.0) | mat2(0.125, 0.03125, 0.0625, 0.015625) | mat2(-18.725, -0.0125, -0.5, 19.975) ];
3523e5c31af7Sopenharmony_ci		}
3524e5c31af7Sopenharmony_ci
3525e5c31af7Sopenharmony_ci		both ""
3526e5c31af7Sopenharmony_ci			precision mediump float;
3527e5c31af7Sopenharmony_ci			precision mediump int;
3528e5c31af7Sopenharmony_ci
3529e5c31af7Sopenharmony_ci			${DECLARATIONS}
3530e5c31af7Sopenharmony_ci
3531e5c31af7Sopenharmony_ci			void main()
3532e5c31af7Sopenharmony_ci			{
3533e5c31af7Sopenharmony_ci				${SETUP}
3534e5c31af7Sopenharmony_ci				out0 = mat2(in0);
3535e5c31af7Sopenharmony_ci				${OUTPUT}
3536e5c31af7Sopenharmony_ci			}
3537e5c31af7Sopenharmony_ci		""
3538e5c31af7Sopenharmony_ci	end
3539e5c31af7Sopenharmony_ci
3540e5c31af7Sopenharmony_ci
3541e5c31af7Sopenharmony_ciend # matrix_to_matrix
3542e5c31af7Sopenharmony_cigroup vector_combine "Vector Combine Constructors"
3543e5c31af7Sopenharmony_ci
3544e5c31af7Sopenharmony_ci	case vec2_vec2_to_vec4
3545e5c31af7Sopenharmony_ci		values
3546e5c31af7Sopenharmony_ci		{
3547e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) ];
3548e5c31af7Sopenharmony_ci			input vec2 in1 = [ vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) ];
3549e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(-0.5, -2.25, -32.0, 64.0) | vec4(-32.0, 64.0, 1.0, 1.25) | vec4(1.0, 1.25, 0.0, 0.5) | vec4(0.0, 0.5, -0.5, -2.25) | vec4(-0.75, -0.0322580645161, -0.75, -0.0322580645161) ];
3550e5c31af7Sopenharmony_ci		}
3551e5c31af7Sopenharmony_ci
3552e5c31af7Sopenharmony_ci		both ""
3553e5c31af7Sopenharmony_ci			precision mediump float;
3554e5c31af7Sopenharmony_ci			precision mediump int;
3555e5c31af7Sopenharmony_ci
3556e5c31af7Sopenharmony_ci			${DECLARATIONS}
3557e5c31af7Sopenharmony_ci
3558e5c31af7Sopenharmony_ci			void main()
3559e5c31af7Sopenharmony_ci			{
3560e5c31af7Sopenharmony_ci				${SETUP}
3561e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1);
3562e5c31af7Sopenharmony_ci				${OUTPUT}
3563e5c31af7Sopenharmony_ci			}
3564e5c31af7Sopenharmony_ci		""
3565e5c31af7Sopenharmony_ci	end
3566e5c31af7Sopenharmony_ci
3567e5c31af7Sopenharmony_ci	case vec2_vec2_to_ivec4
3568e5c31af7Sopenharmony_ci		values
3569e5c31af7Sopenharmony_ci		{
3570e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) ];
3571e5c31af7Sopenharmony_ci			input vec2 in1 = [ vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) ];
3572e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(0, -2, -32, 64) | ivec4(-32, 64, 1, 1) | ivec4(1, 1, 0, 0) | ivec4(0, 0, 0, -2) | ivec4(0, 0, 0, 0) ];
3573e5c31af7Sopenharmony_ci		}
3574e5c31af7Sopenharmony_ci
3575e5c31af7Sopenharmony_ci		both ""
3576e5c31af7Sopenharmony_ci			precision mediump float;
3577e5c31af7Sopenharmony_ci			precision mediump int;
3578e5c31af7Sopenharmony_ci
3579e5c31af7Sopenharmony_ci			${DECLARATIONS}
3580e5c31af7Sopenharmony_ci
3581e5c31af7Sopenharmony_ci			void main()
3582e5c31af7Sopenharmony_ci			{
3583e5c31af7Sopenharmony_ci				${SETUP}
3584e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1);
3585e5c31af7Sopenharmony_ci				${OUTPUT}
3586e5c31af7Sopenharmony_ci			}
3587e5c31af7Sopenharmony_ci		""
3588e5c31af7Sopenharmony_ci	end
3589e5c31af7Sopenharmony_ci
3590e5c31af7Sopenharmony_ci	case vec2_vec2_to_bvec4
3591e5c31af7Sopenharmony_ci		values
3592e5c31af7Sopenharmony_ci		{
3593e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) ];
3594e5c31af7Sopenharmony_ci			input vec2 in1 = [ vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) ];
3595e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, false, true) | bvec4(false, true, true, true) | bvec4(true, true, true, true) ];
3596e5c31af7Sopenharmony_ci		}
3597e5c31af7Sopenharmony_ci
3598e5c31af7Sopenharmony_ci		both ""
3599e5c31af7Sopenharmony_ci			precision mediump float;
3600e5c31af7Sopenharmony_ci			precision mediump int;
3601e5c31af7Sopenharmony_ci
3602e5c31af7Sopenharmony_ci			${DECLARATIONS}
3603e5c31af7Sopenharmony_ci
3604e5c31af7Sopenharmony_ci			void main()
3605e5c31af7Sopenharmony_ci			{
3606e5c31af7Sopenharmony_ci				${SETUP}
3607e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1);
3608e5c31af7Sopenharmony_ci				${OUTPUT}
3609e5c31af7Sopenharmony_ci			}
3610e5c31af7Sopenharmony_ci		""
3611e5c31af7Sopenharmony_ci	end
3612e5c31af7Sopenharmony_ci
3613e5c31af7Sopenharmony_ci	case bvec2_bvec2_to_vec4
3614e5c31af7Sopenharmony_ci		values
3615e5c31af7Sopenharmony_ci		{
3616e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ];
3617e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
3618e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(0.0, 0.0, 1.0, 0.0) | vec4(1.0, 0.0, 0.0, 0.0) | vec4(0.0, 1.0, 0.0, 1.0) | vec4(0.0, 0.0, 1.0, 1.0) | vec4(1.0, 1.0, 0.0, 0.0) ];
3619e5c31af7Sopenharmony_ci		}
3620e5c31af7Sopenharmony_ci
3621e5c31af7Sopenharmony_ci		both ""
3622e5c31af7Sopenharmony_ci			precision mediump float;
3623e5c31af7Sopenharmony_ci			precision mediump int;
3624e5c31af7Sopenharmony_ci
3625e5c31af7Sopenharmony_ci			${DECLARATIONS}
3626e5c31af7Sopenharmony_ci
3627e5c31af7Sopenharmony_ci			void main()
3628e5c31af7Sopenharmony_ci			{
3629e5c31af7Sopenharmony_ci				${SETUP}
3630e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1);
3631e5c31af7Sopenharmony_ci				${OUTPUT}
3632e5c31af7Sopenharmony_ci			}
3633e5c31af7Sopenharmony_ci		""
3634e5c31af7Sopenharmony_ci	end
3635e5c31af7Sopenharmony_ci
3636e5c31af7Sopenharmony_ci	case bvec2_bvec2_to_ivec4
3637e5c31af7Sopenharmony_ci		values
3638e5c31af7Sopenharmony_ci		{
3639e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ];
3640e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
3641e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(0, 0, 1, 0) | ivec4(1, 0, 0, 0) | ivec4(0, 1, 0, 1) | ivec4(0, 0, 1, 1) | ivec4(1, 1, 0, 0) ];
3642e5c31af7Sopenharmony_ci		}
3643e5c31af7Sopenharmony_ci
3644e5c31af7Sopenharmony_ci		both ""
3645e5c31af7Sopenharmony_ci			precision mediump float;
3646e5c31af7Sopenharmony_ci			precision mediump int;
3647e5c31af7Sopenharmony_ci
3648e5c31af7Sopenharmony_ci			${DECLARATIONS}
3649e5c31af7Sopenharmony_ci
3650e5c31af7Sopenharmony_ci			void main()
3651e5c31af7Sopenharmony_ci			{
3652e5c31af7Sopenharmony_ci				${SETUP}
3653e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1);
3654e5c31af7Sopenharmony_ci				${OUTPUT}
3655e5c31af7Sopenharmony_ci			}
3656e5c31af7Sopenharmony_ci		""
3657e5c31af7Sopenharmony_ci	end
3658e5c31af7Sopenharmony_ci
3659e5c31af7Sopenharmony_ci	case bvec2_bvec2_to_bvec4
3660e5c31af7Sopenharmony_ci		values
3661e5c31af7Sopenharmony_ci		{
3662e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ];
3663e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
3664e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(false, false, true, false) | bvec4(true, false, false, false) | bvec4(false, true, false, true) | bvec4(false, false, true, true) | bvec4(true, true, false, false) ];
3665e5c31af7Sopenharmony_ci		}
3666e5c31af7Sopenharmony_ci
3667e5c31af7Sopenharmony_ci		both ""
3668e5c31af7Sopenharmony_ci			precision mediump float;
3669e5c31af7Sopenharmony_ci			precision mediump int;
3670e5c31af7Sopenharmony_ci
3671e5c31af7Sopenharmony_ci			${DECLARATIONS}
3672e5c31af7Sopenharmony_ci
3673e5c31af7Sopenharmony_ci			void main()
3674e5c31af7Sopenharmony_ci			{
3675e5c31af7Sopenharmony_ci				${SETUP}
3676e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1);
3677e5c31af7Sopenharmony_ci				${OUTPUT}
3678e5c31af7Sopenharmony_ci			}
3679e5c31af7Sopenharmony_ci		""
3680e5c31af7Sopenharmony_ci	end
3681e5c31af7Sopenharmony_ci
3682e5c31af7Sopenharmony_ci	case float_float_float_float_to_vec4
3683e5c31af7Sopenharmony_ci		values
3684e5c31af7Sopenharmony_ci		{
3685e5c31af7Sopenharmony_ci			input float in0 = [ 1.0 | 0.0 | -0.5 | -8.25 | 3.5 | -20.125 | 36.8125 | 2.0 ];
3686e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | 36.8125 | -8.25 | 2.0 | 3.5 | 1.0 | -20.125 | -0.5 ];
3687e5c31af7Sopenharmony_ci			input float in2 = [ 3.5 | 36.8125 | -8.25 | 1.0 | 2.0 | 0.0 | -20.125 | -0.5 ];
3688e5c31af7Sopenharmony_ci			input float in3 = [ 3.5 | 36.8125 | 1.0 | -8.25 | 2.0 | 0.0 | -0.5 | -20.125 ];
3689e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(1.0, 0.0, 3.5, 3.5) | vec4(0.0, 36.8125, 36.8125, 36.8125) | vec4(-0.5, -8.25, -8.25, 1.0) | vec4(-8.25, 2.0, 1.0, -8.25) | vec4(3.5, 3.5, 2.0, 2.0) | vec4(-20.125, 1.0, 0.0, 0.0) | vec4(36.8125, -20.125, -20.125, -0.5) | vec4(2.0, -0.5, -0.5, -20.125) ];
3690e5c31af7Sopenharmony_ci		}
3691e5c31af7Sopenharmony_ci
3692e5c31af7Sopenharmony_ci		both ""
3693e5c31af7Sopenharmony_ci			precision mediump float;
3694e5c31af7Sopenharmony_ci			precision mediump int;
3695e5c31af7Sopenharmony_ci
3696e5c31af7Sopenharmony_ci			${DECLARATIONS}
3697e5c31af7Sopenharmony_ci
3698e5c31af7Sopenharmony_ci			void main()
3699e5c31af7Sopenharmony_ci			{
3700e5c31af7Sopenharmony_ci				${SETUP}
3701e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1, in2, in3);
3702e5c31af7Sopenharmony_ci				${OUTPUT}
3703e5c31af7Sopenharmony_ci			}
3704e5c31af7Sopenharmony_ci		""
3705e5c31af7Sopenharmony_ci	end
3706e5c31af7Sopenharmony_ci
3707e5c31af7Sopenharmony_ci	case float_float_float_float_to_ivec4
3708e5c31af7Sopenharmony_ci		values
3709e5c31af7Sopenharmony_ci		{
3710e5c31af7Sopenharmony_ci			input float in0 = [ 1.0 | 0.0 | -0.5 | -8.25 | 3.5 | -20.125 | 36.8125 | 2.0 ];
3711e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | 36.8125 | -8.25 | 2.0 | 3.5 | 1.0 | -20.125 | -0.5 ];
3712e5c31af7Sopenharmony_ci			input float in2 = [ 3.5 | 36.8125 | -8.25 | 1.0 | 2.0 | 0.0 | -20.125 | -0.5 ];
3713e5c31af7Sopenharmony_ci			input float in3 = [ 3.5 | 36.8125 | 1.0 | -8.25 | 2.0 | 0.0 | -0.5 | -20.125 ];
3714e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(1, 0, 3, 3) | ivec4(0, 36, 36, 36) | ivec4(0, -8, -8, 1) | ivec4(-8, 2, 1, -8) | ivec4(3, 3, 2, 2) | ivec4(-20, 1, 0, 0) | ivec4(36, -20, -20, 0) | ivec4(2, 0, 0, -20) ];
3715e5c31af7Sopenharmony_ci		}
3716e5c31af7Sopenharmony_ci
3717e5c31af7Sopenharmony_ci		both ""
3718e5c31af7Sopenharmony_ci			precision mediump float;
3719e5c31af7Sopenharmony_ci			precision mediump int;
3720e5c31af7Sopenharmony_ci
3721e5c31af7Sopenharmony_ci			${DECLARATIONS}
3722e5c31af7Sopenharmony_ci
3723e5c31af7Sopenharmony_ci			void main()
3724e5c31af7Sopenharmony_ci			{
3725e5c31af7Sopenharmony_ci				${SETUP}
3726e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1, in2, in3);
3727e5c31af7Sopenharmony_ci				${OUTPUT}
3728e5c31af7Sopenharmony_ci			}
3729e5c31af7Sopenharmony_ci		""
3730e5c31af7Sopenharmony_ci	end
3731e5c31af7Sopenharmony_ci
3732e5c31af7Sopenharmony_ci	case float_float_float_float_to_bvec4
3733e5c31af7Sopenharmony_ci		values
3734e5c31af7Sopenharmony_ci		{
3735e5c31af7Sopenharmony_ci			input float in0 = [ 1.0 | 0.0 | -0.5 | -8.25 | 3.5 | -20.125 | 36.8125 | 2.0 ];
3736e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | 36.8125 | -8.25 | 2.0 | 3.5 | 1.0 | -20.125 | -0.5 ];
3737e5c31af7Sopenharmony_ci			input float in2 = [ 3.5 | 36.8125 | -8.25 | 1.0 | 2.0 | 0.0 | -20.125 | -0.5 ];
3738e5c31af7Sopenharmony_ci			input float in3 = [ 3.5 | 36.8125 | 1.0 | -8.25 | 2.0 | 0.0 | -0.5 | -20.125 ];
3739e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) ];
3740e5c31af7Sopenharmony_ci		}
3741e5c31af7Sopenharmony_ci
3742e5c31af7Sopenharmony_ci		both ""
3743e5c31af7Sopenharmony_ci			precision mediump float;
3744e5c31af7Sopenharmony_ci			precision mediump int;
3745e5c31af7Sopenharmony_ci
3746e5c31af7Sopenharmony_ci			${DECLARATIONS}
3747e5c31af7Sopenharmony_ci
3748e5c31af7Sopenharmony_ci			void main()
3749e5c31af7Sopenharmony_ci			{
3750e5c31af7Sopenharmony_ci				${SETUP}
3751e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1, in2, in3);
3752e5c31af7Sopenharmony_ci				${OUTPUT}
3753e5c31af7Sopenharmony_ci			}
3754e5c31af7Sopenharmony_ci		""
3755e5c31af7Sopenharmony_ci	end
3756e5c31af7Sopenharmony_ci
3757e5c31af7Sopenharmony_ci	case int_int_int_int_to_vec4
3758e5c31af7Sopenharmony_ci		values
3759e5c31af7Sopenharmony_ci		{
3760e5c31af7Sopenharmony_ci			input int in0 = [ -12 | -66 | 2 | 5 | 8 | -192 | 255 | 1 | 0 | 11 ];
3761e5c31af7Sopenharmony_ci			input int in1 = [ 2 | 5 | -66 | 11 | -192 | 8 | -12 | 1 | 255 | 0 ];
3762e5c31af7Sopenharmony_ci			input int in2 = [ 11 | 255 | 5 | 8 | 2 | -192 | -12 | -66 | 1 | 0 ];
3763e5c31af7Sopenharmony_ci			input int in3 = [ -192 | -66 | 8 | -12 | 1 | 2 | 0 | 255 | 5 | 11 ];
3764e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(-12.0, 2.0, 11.0, -192.0) | vec4(-66.0, 5.0, 255.0, -66.0) | vec4(2.0, -66.0, 5.0, 8.0) | vec4(5.0, 11.0, 8.0, -12.0) | vec4(8.0, -192.0, 2.0, 1.0) | vec4(-192.0, 8.0, -192.0, 2.0) | vec4(255.0, -12.0, -12.0, 0.0) | vec4(1.0, 1.0, -66.0, 255.0) | vec4(0.0, 255.0, 1.0, 5.0) | vec4(11.0, 0.0, 0.0, 11.0) ];
3765e5c31af7Sopenharmony_ci		}
3766e5c31af7Sopenharmony_ci
3767e5c31af7Sopenharmony_ci		both ""
3768e5c31af7Sopenharmony_ci			precision mediump float;
3769e5c31af7Sopenharmony_ci			precision mediump int;
3770e5c31af7Sopenharmony_ci
3771e5c31af7Sopenharmony_ci			${DECLARATIONS}
3772e5c31af7Sopenharmony_ci
3773e5c31af7Sopenharmony_ci			void main()
3774e5c31af7Sopenharmony_ci			{
3775e5c31af7Sopenharmony_ci				${SETUP}
3776e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1, in2, in3);
3777e5c31af7Sopenharmony_ci				${OUTPUT}
3778e5c31af7Sopenharmony_ci			}
3779e5c31af7Sopenharmony_ci		""
3780e5c31af7Sopenharmony_ci	end
3781e5c31af7Sopenharmony_ci
3782e5c31af7Sopenharmony_ci	case int_int_int_int_to_ivec4
3783e5c31af7Sopenharmony_ci		values
3784e5c31af7Sopenharmony_ci		{
3785e5c31af7Sopenharmony_ci			input int in0 = [ -12 | -66 | 2 | 5 | 8 | -192 | 255 | 1 | 0 | 11 ];
3786e5c31af7Sopenharmony_ci			input int in1 = [ 2 | 5 | -66 | 11 | -192 | 8 | -12 | 1 | 255 | 0 ];
3787e5c31af7Sopenharmony_ci			input int in2 = [ 11 | 255 | 5 | 8 | 2 | -192 | -12 | -66 | 1 | 0 ];
3788e5c31af7Sopenharmony_ci			input int in3 = [ -192 | -66 | 8 | -12 | 1 | 2 | 0 | 255 | 5 | 11 ];
3789e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(-12, 2, 11, -192) | ivec4(-66, 5, 255, -66) | ivec4(2, -66, 5, 8) | ivec4(5, 11, 8, -12) | ivec4(8, -192, 2, 1) | ivec4(-192, 8, -192, 2) | ivec4(255, -12, -12, 0) | ivec4(1, 1, -66, 255) | ivec4(0, 255, 1, 5) | ivec4(11, 0, 0, 11) ];
3790e5c31af7Sopenharmony_ci		}
3791e5c31af7Sopenharmony_ci
3792e5c31af7Sopenharmony_ci		both ""
3793e5c31af7Sopenharmony_ci			precision mediump float;
3794e5c31af7Sopenharmony_ci			precision mediump int;
3795e5c31af7Sopenharmony_ci
3796e5c31af7Sopenharmony_ci			${DECLARATIONS}
3797e5c31af7Sopenharmony_ci
3798e5c31af7Sopenharmony_ci			void main()
3799e5c31af7Sopenharmony_ci			{
3800e5c31af7Sopenharmony_ci				${SETUP}
3801e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1, in2, in3);
3802e5c31af7Sopenharmony_ci				${OUTPUT}
3803e5c31af7Sopenharmony_ci			}
3804e5c31af7Sopenharmony_ci		""
3805e5c31af7Sopenharmony_ci	end
3806e5c31af7Sopenharmony_ci
3807e5c31af7Sopenharmony_ci	case int_int_int_int_to_bvec4
3808e5c31af7Sopenharmony_ci		values
3809e5c31af7Sopenharmony_ci		{
3810e5c31af7Sopenharmony_ci			input int in0 = [ -12 | -66 | 2 | 5 | 8 | -192 | 255 | 1 | 0 | 11 ];
3811e5c31af7Sopenharmony_ci			input int in1 = [ 2 | 5 | -66 | 11 | -192 | 8 | -12 | 1 | 255 | 0 ];
3812e5c31af7Sopenharmony_ci			input int in2 = [ 11 | 255 | 5 | 8 | 2 | -192 | -12 | -66 | 1 | 0 ];
3813e5c31af7Sopenharmony_ci			input int in3 = [ -192 | -66 | 8 | -12 | 1 | 2 | 0 | 255 | 5 | 11 ];
3814e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, false) | bvec4(true, true, true, true) | bvec4(false, true, true, true) | bvec4(true, false, false, true) ];
3815e5c31af7Sopenharmony_ci		}
3816e5c31af7Sopenharmony_ci
3817e5c31af7Sopenharmony_ci		both ""
3818e5c31af7Sopenharmony_ci			precision mediump float;
3819e5c31af7Sopenharmony_ci			precision mediump int;
3820e5c31af7Sopenharmony_ci
3821e5c31af7Sopenharmony_ci			${DECLARATIONS}
3822e5c31af7Sopenharmony_ci
3823e5c31af7Sopenharmony_ci			void main()
3824e5c31af7Sopenharmony_ci			{
3825e5c31af7Sopenharmony_ci				${SETUP}
3826e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1, in2, in3);
3827e5c31af7Sopenharmony_ci				${OUTPUT}
3828e5c31af7Sopenharmony_ci			}
3829e5c31af7Sopenharmony_ci		""
3830e5c31af7Sopenharmony_ci	end
3831e5c31af7Sopenharmony_ci
3832e5c31af7Sopenharmony_ci	case bool_bool_bool_bool_to_vec4
3833e5c31af7Sopenharmony_ci		values
3834e5c31af7Sopenharmony_ci		{
3835e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
3836e5c31af7Sopenharmony_ci			input bool in1 = [ false | true ];
3837e5c31af7Sopenharmony_ci			input bool in2 = [ true | false ];
3838e5c31af7Sopenharmony_ci			input bool in3 = [ false | true ];
3839e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(1.0, 0.0, 1.0, 0.0) | vec4(0.0, 1.0, 0.0, 1.0) ];
3840e5c31af7Sopenharmony_ci		}
3841e5c31af7Sopenharmony_ci
3842e5c31af7Sopenharmony_ci		both ""
3843e5c31af7Sopenharmony_ci			precision mediump float;
3844e5c31af7Sopenharmony_ci			precision mediump int;
3845e5c31af7Sopenharmony_ci
3846e5c31af7Sopenharmony_ci			${DECLARATIONS}
3847e5c31af7Sopenharmony_ci
3848e5c31af7Sopenharmony_ci			void main()
3849e5c31af7Sopenharmony_ci			{
3850e5c31af7Sopenharmony_ci				${SETUP}
3851e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1, in2, in3);
3852e5c31af7Sopenharmony_ci				${OUTPUT}
3853e5c31af7Sopenharmony_ci			}
3854e5c31af7Sopenharmony_ci		""
3855e5c31af7Sopenharmony_ci	end
3856e5c31af7Sopenharmony_ci
3857e5c31af7Sopenharmony_ci	case bool_bool_bool_bool_to_ivec4
3858e5c31af7Sopenharmony_ci		values
3859e5c31af7Sopenharmony_ci		{
3860e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
3861e5c31af7Sopenharmony_ci			input bool in1 = [ false | true ];
3862e5c31af7Sopenharmony_ci			input bool in2 = [ true | false ];
3863e5c31af7Sopenharmony_ci			input bool in3 = [ false | true ];
3864e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(1, 0, 1, 0) | ivec4(0, 1, 0, 1) ];
3865e5c31af7Sopenharmony_ci		}
3866e5c31af7Sopenharmony_ci
3867e5c31af7Sopenharmony_ci		both ""
3868e5c31af7Sopenharmony_ci			precision mediump float;
3869e5c31af7Sopenharmony_ci			precision mediump int;
3870e5c31af7Sopenharmony_ci
3871e5c31af7Sopenharmony_ci			${DECLARATIONS}
3872e5c31af7Sopenharmony_ci
3873e5c31af7Sopenharmony_ci			void main()
3874e5c31af7Sopenharmony_ci			{
3875e5c31af7Sopenharmony_ci				${SETUP}
3876e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1, in2, in3);
3877e5c31af7Sopenharmony_ci				${OUTPUT}
3878e5c31af7Sopenharmony_ci			}
3879e5c31af7Sopenharmony_ci		""
3880e5c31af7Sopenharmony_ci	end
3881e5c31af7Sopenharmony_ci
3882e5c31af7Sopenharmony_ci	case bool_bool_bool_bool_to_bvec4
3883e5c31af7Sopenharmony_ci		values
3884e5c31af7Sopenharmony_ci		{
3885e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
3886e5c31af7Sopenharmony_ci			input bool in1 = [ false | true ];
3887e5c31af7Sopenharmony_ci			input bool in2 = [ true | false ];
3888e5c31af7Sopenharmony_ci			input bool in3 = [ false | true ];
3889e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, false, true, false) | bvec4(false, true, false, true) ];
3890e5c31af7Sopenharmony_ci		}
3891e5c31af7Sopenharmony_ci
3892e5c31af7Sopenharmony_ci		both ""
3893e5c31af7Sopenharmony_ci			precision mediump float;
3894e5c31af7Sopenharmony_ci			precision mediump int;
3895e5c31af7Sopenharmony_ci
3896e5c31af7Sopenharmony_ci			${DECLARATIONS}
3897e5c31af7Sopenharmony_ci
3898e5c31af7Sopenharmony_ci			void main()
3899e5c31af7Sopenharmony_ci			{
3900e5c31af7Sopenharmony_ci				${SETUP}
3901e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1, in2, in3);
3902e5c31af7Sopenharmony_ci				${OUTPUT}
3903e5c31af7Sopenharmony_ci			}
3904e5c31af7Sopenharmony_ci		""
3905e5c31af7Sopenharmony_ci	end
3906e5c31af7Sopenharmony_ci
3907e5c31af7Sopenharmony_ci	case bool_float_int_bool_to_vec4
3908e5c31af7Sopenharmony_ci		values
3909e5c31af7Sopenharmony_ci		{
3910e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | true | false | false | false | true | false | true | false ];
3911e5c31af7Sopenharmony_ci			input float in1 = [ 1.0 | 2.0 | 1.0 | 0.0 | 36.8125 | -8.25 | -0.5 | 3.5 | -20.125 | 0.0 ];
3912e5c31af7Sopenharmony_ci			input int in2 = [ -192 | -12 | 2 | -66 | 255 | 8 | 0 | 5 | 11 | 1 ];
3913e5c31af7Sopenharmony_ci			input bool in3 = [ true | true | false | false | true | false | false | false | true | true ];
3914e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(1.0, 1.0, -192.0, 1.0) | vec4(1.0, 2.0, -12.0, 1.0) | vec4(1.0, 1.0, 2.0, 0.0) | vec4(0.0, 0.0, -66.0, 0.0) | vec4(0.0, 36.8125, 255.0, 1.0) | vec4(0.0, -8.25, 8.0, 0.0) | vec4(1.0, -0.5, 0.0, 0.0) | vec4(0.0, 3.5, 5.0, 0.0) | vec4(1.0, -20.125, 11.0, 1.0) | vec4(0.0, 0.0, 1.0, 1.0) ];
3915e5c31af7Sopenharmony_ci		}
3916e5c31af7Sopenharmony_ci
3917e5c31af7Sopenharmony_ci		both ""
3918e5c31af7Sopenharmony_ci			precision mediump float;
3919e5c31af7Sopenharmony_ci			precision mediump int;
3920e5c31af7Sopenharmony_ci
3921e5c31af7Sopenharmony_ci			${DECLARATIONS}
3922e5c31af7Sopenharmony_ci
3923e5c31af7Sopenharmony_ci			void main()
3924e5c31af7Sopenharmony_ci			{
3925e5c31af7Sopenharmony_ci				${SETUP}
3926e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1, in2, in3);
3927e5c31af7Sopenharmony_ci				${OUTPUT}
3928e5c31af7Sopenharmony_ci			}
3929e5c31af7Sopenharmony_ci		""
3930e5c31af7Sopenharmony_ci	end
3931e5c31af7Sopenharmony_ci
3932e5c31af7Sopenharmony_ci	case bool_float_int_bool_to_ivec4
3933e5c31af7Sopenharmony_ci		values
3934e5c31af7Sopenharmony_ci		{
3935e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | true | false | false | false | true | false | true | false ];
3936e5c31af7Sopenharmony_ci			input float in1 = [ 1.0 | 2.0 | 1.0 | 0.0 | 36.8125 | -8.25 | -0.5 | 3.5 | -20.125 | 0.0 ];
3937e5c31af7Sopenharmony_ci			input int in2 = [ -192 | -12 | 2 | -66 | 255 | 8 | 0 | 5 | 11 | 1 ];
3938e5c31af7Sopenharmony_ci			input bool in3 = [ true | true | false | false | true | false | false | false | true | true ];
3939e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(1, 1, -192, 1) | ivec4(1, 2, -12, 1) | ivec4(1, 1, 2, 0) | ivec4(0, 0, -66, 0) | ivec4(0, 36, 255, 1) | ivec4(0, -8, 8, 0) | ivec4(1, 0, 0, 0) | ivec4(0, 3, 5, 0) | ivec4(1, -20, 11, 1) | ivec4(0, 0, 1, 1) ];
3940e5c31af7Sopenharmony_ci		}
3941e5c31af7Sopenharmony_ci
3942e5c31af7Sopenharmony_ci		both ""
3943e5c31af7Sopenharmony_ci			precision mediump float;
3944e5c31af7Sopenharmony_ci			precision mediump int;
3945e5c31af7Sopenharmony_ci
3946e5c31af7Sopenharmony_ci			${DECLARATIONS}
3947e5c31af7Sopenharmony_ci
3948e5c31af7Sopenharmony_ci			void main()
3949e5c31af7Sopenharmony_ci			{
3950e5c31af7Sopenharmony_ci				${SETUP}
3951e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1, in2, in3);
3952e5c31af7Sopenharmony_ci				${OUTPUT}
3953e5c31af7Sopenharmony_ci			}
3954e5c31af7Sopenharmony_ci		""
3955e5c31af7Sopenharmony_ci	end
3956e5c31af7Sopenharmony_ci
3957e5c31af7Sopenharmony_ci	case bool_float_int_bool_to_bvec4
3958e5c31af7Sopenharmony_ci		values
3959e5c31af7Sopenharmony_ci		{
3960e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | true | false | false | false | true | false | true | false ];
3961e5c31af7Sopenharmony_ci			input float in1 = [ 1.0 | 2.0 | 1.0 | 0.0 | 36.8125 | -8.25 | -0.5 | 3.5 | -20.125 | 0.0 ];
3962e5c31af7Sopenharmony_ci			input int in2 = [ -192 | -12 | 2 | -66 | 255 | 8 | 0 | 5 | 11 | 1 ];
3963e5c31af7Sopenharmony_ci			input bool in3 = [ true | true | false | false | true | false | false | false | true | true ];
3964e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, false) | bvec4(false, false, true, false) | bvec4(false, true, true, true) | bvec4(false, true, true, false) | bvec4(true, true, false, false) | bvec4(false, true, true, false) | bvec4(true, true, true, true) | bvec4(false, false, true, true) ];
3965e5c31af7Sopenharmony_ci		}
3966e5c31af7Sopenharmony_ci
3967e5c31af7Sopenharmony_ci		both ""
3968e5c31af7Sopenharmony_ci			precision mediump float;
3969e5c31af7Sopenharmony_ci			precision mediump int;
3970e5c31af7Sopenharmony_ci
3971e5c31af7Sopenharmony_ci			${DECLARATIONS}
3972e5c31af7Sopenharmony_ci
3973e5c31af7Sopenharmony_ci			void main()
3974e5c31af7Sopenharmony_ci			{
3975e5c31af7Sopenharmony_ci				${SETUP}
3976e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1, in2, in3);
3977e5c31af7Sopenharmony_ci				${OUTPUT}
3978e5c31af7Sopenharmony_ci			}
3979e5c31af7Sopenharmony_ci		""
3980e5c31af7Sopenharmony_ci	end
3981e5c31af7Sopenharmony_ci
3982e5c31af7Sopenharmony_ci	case vec2_ivec2_to_vec4
3983e5c31af7Sopenharmony_ci		values
3984e5c31af7Sopenharmony_ci		{
3985e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) ];
3986e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(1, 1) ];
3987e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(-0.5, -2.25, 0.0, 0.0) | vec4(0.0, 0.5, 0.0, -2.0) | vec4(-32.0, 64.0, -32.0, 64.0) | vec4(1.0, 1.25, 0.0, 0.0) | vec4(-0.75, -0.0322580645161, 1.0, 1.0) ];
3988e5c31af7Sopenharmony_ci		}
3989e5c31af7Sopenharmony_ci
3990e5c31af7Sopenharmony_ci		both ""
3991e5c31af7Sopenharmony_ci			precision mediump float;
3992e5c31af7Sopenharmony_ci			precision mediump int;
3993e5c31af7Sopenharmony_ci
3994e5c31af7Sopenharmony_ci			${DECLARATIONS}
3995e5c31af7Sopenharmony_ci
3996e5c31af7Sopenharmony_ci			void main()
3997e5c31af7Sopenharmony_ci			{
3998e5c31af7Sopenharmony_ci				${SETUP}
3999e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1);
4000e5c31af7Sopenharmony_ci				${OUTPUT}
4001e5c31af7Sopenharmony_ci			}
4002e5c31af7Sopenharmony_ci		""
4003e5c31af7Sopenharmony_ci	end
4004e5c31af7Sopenharmony_ci
4005e5c31af7Sopenharmony_ci	case vec2_ivec2_to_ivec4
4006e5c31af7Sopenharmony_ci		values
4007e5c31af7Sopenharmony_ci		{
4008e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) ];
4009e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(1, 1) ];
4010e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(0, -2, 0, 0) | ivec4(0, 0, 0, -2) | ivec4(-32, 64, -32, 64) | ivec4(1, 1, 0, 0) | ivec4(0, 0, 1, 1) ];
4011e5c31af7Sopenharmony_ci		}
4012e5c31af7Sopenharmony_ci
4013e5c31af7Sopenharmony_ci		both ""
4014e5c31af7Sopenharmony_ci			precision mediump float;
4015e5c31af7Sopenharmony_ci			precision mediump int;
4016e5c31af7Sopenharmony_ci
4017e5c31af7Sopenharmony_ci			${DECLARATIONS}
4018e5c31af7Sopenharmony_ci
4019e5c31af7Sopenharmony_ci			void main()
4020e5c31af7Sopenharmony_ci			{
4021e5c31af7Sopenharmony_ci				${SETUP}
4022e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1);
4023e5c31af7Sopenharmony_ci				${OUTPUT}
4024e5c31af7Sopenharmony_ci			}
4025e5c31af7Sopenharmony_ci		""
4026e5c31af7Sopenharmony_ci	end
4027e5c31af7Sopenharmony_ci
4028e5c31af7Sopenharmony_ci	case vec2_ivec2_to_bvec4
4029e5c31af7Sopenharmony_ci		values
4030e5c31af7Sopenharmony_ci		{
4031e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) ];
4032e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(1, 1) ];
4033e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, true, false, false) | bvec4(false, true, false, true) | bvec4(true, true, true, true) | bvec4(true, true, false, false) | bvec4(true, true, true, true) ];
4034e5c31af7Sopenharmony_ci		}
4035e5c31af7Sopenharmony_ci
4036e5c31af7Sopenharmony_ci		both ""
4037e5c31af7Sopenharmony_ci			precision mediump float;
4038e5c31af7Sopenharmony_ci			precision mediump int;
4039e5c31af7Sopenharmony_ci
4040e5c31af7Sopenharmony_ci			${DECLARATIONS}
4041e5c31af7Sopenharmony_ci
4042e5c31af7Sopenharmony_ci			void main()
4043e5c31af7Sopenharmony_ci			{
4044e5c31af7Sopenharmony_ci				${SETUP}
4045e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1);
4046e5c31af7Sopenharmony_ci				${OUTPUT}
4047e5c31af7Sopenharmony_ci			}
4048e5c31af7Sopenharmony_ci		""
4049e5c31af7Sopenharmony_ci	end
4050e5c31af7Sopenharmony_ci
4051e5c31af7Sopenharmony_ci	case vec2_bvec2_to_vec4
4052e5c31af7Sopenharmony_ci		values
4053e5c31af7Sopenharmony_ci		{
4054e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(0.0, 0.5) ];
4055e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, true) | bvec2(false, false) ];
4056e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(-32.0, 64.0, 0.0, 0.0) | vec4(-0.5, -2.25, 1.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.75, -0.0322580645161, 0.0, 1.0) | vec4(0.0, 0.5, 0.0, 0.0) ];
4057e5c31af7Sopenharmony_ci		}
4058e5c31af7Sopenharmony_ci
4059e5c31af7Sopenharmony_ci		both ""
4060e5c31af7Sopenharmony_ci			precision mediump float;
4061e5c31af7Sopenharmony_ci			precision mediump int;
4062e5c31af7Sopenharmony_ci
4063e5c31af7Sopenharmony_ci			${DECLARATIONS}
4064e5c31af7Sopenharmony_ci
4065e5c31af7Sopenharmony_ci			void main()
4066e5c31af7Sopenharmony_ci			{
4067e5c31af7Sopenharmony_ci				${SETUP}
4068e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1);
4069e5c31af7Sopenharmony_ci				${OUTPUT}
4070e5c31af7Sopenharmony_ci			}
4071e5c31af7Sopenharmony_ci		""
4072e5c31af7Sopenharmony_ci	end
4073e5c31af7Sopenharmony_ci
4074e5c31af7Sopenharmony_ci	case vec2_bvec2_to_ivec4
4075e5c31af7Sopenharmony_ci		values
4076e5c31af7Sopenharmony_ci		{
4077e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(0.0, 0.5) ];
4078e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, true) | bvec2(false, false) ];
4079e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(-32, 64, 0, 0) | ivec4(0, -2, 1, 0) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 1) | ivec4(0, 0, 0, 0) ];
4080e5c31af7Sopenharmony_ci		}
4081e5c31af7Sopenharmony_ci
4082e5c31af7Sopenharmony_ci		both ""
4083e5c31af7Sopenharmony_ci			precision mediump float;
4084e5c31af7Sopenharmony_ci			precision mediump int;
4085e5c31af7Sopenharmony_ci
4086e5c31af7Sopenharmony_ci			${DECLARATIONS}
4087e5c31af7Sopenharmony_ci
4088e5c31af7Sopenharmony_ci			void main()
4089e5c31af7Sopenharmony_ci			{
4090e5c31af7Sopenharmony_ci				${SETUP}
4091e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1);
4092e5c31af7Sopenharmony_ci				${OUTPUT}
4093e5c31af7Sopenharmony_ci			}
4094e5c31af7Sopenharmony_ci		""
4095e5c31af7Sopenharmony_ci	end
4096e5c31af7Sopenharmony_ci
4097e5c31af7Sopenharmony_ci	case vec2_bvec2_to_bvec4
4098e5c31af7Sopenharmony_ci		values
4099e5c31af7Sopenharmony_ci		{
4100e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(0.0, 0.5) ];
4101e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, true) | bvec2(false, false) ];
4102e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, true, false, false) | bvec4(true, true, true, false) | bvec4(true, true, true, true) | bvec4(true, true, false, true) | bvec4(false, true, false, false) ];
4103e5c31af7Sopenharmony_ci		}
4104e5c31af7Sopenharmony_ci
4105e5c31af7Sopenharmony_ci		both ""
4106e5c31af7Sopenharmony_ci			precision mediump float;
4107e5c31af7Sopenharmony_ci			precision mediump int;
4108e5c31af7Sopenharmony_ci
4109e5c31af7Sopenharmony_ci			${DECLARATIONS}
4110e5c31af7Sopenharmony_ci
4111e5c31af7Sopenharmony_ci			void main()
4112e5c31af7Sopenharmony_ci			{
4113e5c31af7Sopenharmony_ci				${SETUP}
4114e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1);
4115e5c31af7Sopenharmony_ci				${OUTPUT}
4116e5c31af7Sopenharmony_ci			}
4117e5c31af7Sopenharmony_ci		""
4118e5c31af7Sopenharmony_ci	end
4119e5c31af7Sopenharmony_ci
4120e5c31af7Sopenharmony_ci	case bvec3_float_to_vec4
4121e5c31af7Sopenharmony_ci		values
4122e5c31af7Sopenharmony_ci		{
4123e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, false, false) | bvec3(false, true, false) | bvec3(false, true, false) | bvec3(true, true, true) ];
4124e5c31af7Sopenharmony_ci			input float in1 = [ -8.25 | -20.125 | 2.0 | 0.0 | -0.5 | 3.5 | 36.8125 | 1.0 ];
4125e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(1.0, 0.0, 0.0, -8.25) | vec4(0.0, 0.0, 0.0, -20.125) | vec4(0.0, 0.0, 0.0, 2.0) | vec4(0.0, 0.0, 0.0, 0.0) | vec4(1.0, 0.0, 0.0, -0.5) | vec4(0.0, 1.0, 0.0, 3.5) | vec4(0.0, 1.0, 0.0, 36.8125) | vec4(1.0, 1.0, 1.0, 1.0) ];
4126e5c31af7Sopenharmony_ci		}
4127e5c31af7Sopenharmony_ci
4128e5c31af7Sopenharmony_ci		both ""
4129e5c31af7Sopenharmony_ci			precision mediump float;
4130e5c31af7Sopenharmony_ci			precision mediump int;
4131e5c31af7Sopenharmony_ci
4132e5c31af7Sopenharmony_ci			${DECLARATIONS}
4133e5c31af7Sopenharmony_ci
4134e5c31af7Sopenharmony_ci			void main()
4135e5c31af7Sopenharmony_ci			{
4136e5c31af7Sopenharmony_ci				${SETUP}
4137e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1);
4138e5c31af7Sopenharmony_ci				${OUTPUT}
4139e5c31af7Sopenharmony_ci			}
4140e5c31af7Sopenharmony_ci		""
4141e5c31af7Sopenharmony_ci	end
4142e5c31af7Sopenharmony_ci
4143e5c31af7Sopenharmony_ci	case bvec3_float_to_ivec4
4144e5c31af7Sopenharmony_ci		values
4145e5c31af7Sopenharmony_ci		{
4146e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, false, false) | bvec3(false, true, false) | bvec3(false, true, false) | bvec3(true, true, true) ];
4147e5c31af7Sopenharmony_ci			input float in1 = [ -8.25 | -20.125 | 2.0 | 0.0 | -0.5 | 3.5 | 36.8125 | 1.0 ];
4148e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(1, 0, 0, -8) | ivec4(0, 0, 0, -20) | ivec4(0, 0, 0, 2) | ivec4(0, 0, 0, 0) | ivec4(1, 0, 0, 0) | ivec4(0, 1, 0, 3) | ivec4(0, 1, 0, 36) | ivec4(1, 1, 1, 1) ];
4149e5c31af7Sopenharmony_ci		}
4150e5c31af7Sopenharmony_ci
4151e5c31af7Sopenharmony_ci		both ""
4152e5c31af7Sopenharmony_ci			precision mediump float;
4153e5c31af7Sopenharmony_ci			precision mediump int;
4154e5c31af7Sopenharmony_ci
4155e5c31af7Sopenharmony_ci			${DECLARATIONS}
4156e5c31af7Sopenharmony_ci
4157e5c31af7Sopenharmony_ci			void main()
4158e5c31af7Sopenharmony_ci			{
4159e5c31af7Sopenharmony_ci				${SETUP}
4160e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1);
4161e5c31af7Sopenharmony_ci				${OUTPUT}
4162e5c31af7Sopenharmony_ci			}
4163e5c31af7Sopenharmony_ci		""
4164e5c31af7Sopenharmony_ci	end
4165e5c31af7Sopenharmony_ci
4166e5c31af7Sopenharmony_ci	case bvec3_float_to_bvec4
4167e5c31af7Sopenharmony_ci		values
4168e5c31af7Sopenharmony_ci		{
4169e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, false, false) | bvec3(false, true, false) | bvec3(false, true, false) | bvec3(true, true, true) ];
4170e5c31af7Sopenharmony_ci			input float in1 = [ -8.25 | -20.125 | 2.0 | 0.0 | -0.5 | 3.5 | 36.8125 | 1.0 ];
4171e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, false, false, true) | bvec4(false, false, false, false) | bvec4(true, false, false, true) | bvec4(false, true, false, true) | bvec4(false, true, false, true) | bvec4(true, true, true, true) ];
4172e5c31af7Sopenharmony_ci		}
4173e5c31af7Sopenharmony_ci
4174e5c31af7Sopenharmony_ci		both ""
4175e5c31af7Sopenharmony_ci			precision mediump float;
4176e5c31af7Sopenharmony_ci			precision mediump int;
4177e5c31af7Sopenharmony_ci
4178e5c31af7Sopenharmony_ci			${DECLARATIONS}
4179e5c31af7Sopenharmony_ci
4180e5c31af7Sopenharmony_ci			void main()
4181e5c31af7Sopenharmony_ci			{
4182e5c31af7Sopenharmony_ci				${SETUP}
4183e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1);
4184e5c31af7Sopenharmony_ci				${OUTPUT}
4185e5c31af7Sopenharmony_ci			}
4186e5c31af7Sopenharmony_ci		""
4187e5c31af7Sopenharmony_ci	end
4188e5c31af7Sopenharmony_ci
4189e5c31af7Sopenharmony_ci	case vec3_float_to_vec4
4190e5c31af7Sopenharmony_ci		values
4191e5c31af7Sopenharmony_ci		{
4192e5c31af7Sopenharmony_ci			input vec3 in0 = [ vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(0.0, 0.5, 0.75) | vec3(-0.5, -2.25, -4.875) | 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(1.0, 1.25, 1.125) ];
4193e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | 2.0 | 36.8125 | 3.5 | 1.0 | -0.5 | -8.25 | -20.125 ];
4194e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.0) | vec4(0.0, 0.5, 0.75, 2.0) | vec4(-0.5, -2.25, -4.875, 36.8125) | vec4(0.0, 0.5, 0.75, 3.5) | vec4(1.0, 1.25, 1.125, 1.0) | vec4(-0.5, -2.25, -4.875, -0.5) | vec4(-32.0, 64.0, -51.0, -8.25) | vec4(1.0, 1.25, 1.125, -20.125) ];
4195e5c31af7Sopenharmony_ci		}
4196e5c31af7Sopenharmony_ci
4197e5c31af7Sopenharmony_ci		both ""
4198e5c31af7Sopenharmony_ci			precision mediump float;
4199e5c31af7Sopenharmony_ci			precision mediump int;
4200e5c31af7Sopenharmony_ci
4201e5c31af7Sopenharmony_ci			${DECLARATIONS}
4202e5c31af7Sopenharmony_ci
4203e5c31af7Sopenharmony_ci			void main()
4204e5c31af7Sopenharmony_ci			{
4205e5c31af7Sopenharmony_ci				${SETUP}
4206e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1);
4207e5c31af7Sopenharmony_ci				${OUTPUT}
4208e5c31af7Sopenharmony_ci			}
4209e5c31af7Sopenharmony_ci		""
4210e5c31af7Sopenharmony_ci	end
4211e5c31af7Sopenharmony_ci
4212e5c31af7Sopenharmony_ci	case vec3_float_to_ivec4
4213e5c31af7Sopenharmony_ci		values
4214e5c31af7Sopenharmony_ci		{
4215e5c31af7Sopenharmony_ci			input vec3 in0 = [ vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(0.0, 0.5, 0.75) | vec3(-0.5, -2.25, -4.875) | 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(1.0, 1.25, 1.125) ];
4216e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | 2.0 | 36.8125 | 3.5 | 1.0 | -0.5 | -8.25 | -20.125 ];
4217e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(0, 0, 0, 2) | ivec4(0, -2, -4, 36) | ivec4(0, 0, 0, 3) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 0) | ivec4(-32, 64, -51, -8) | ivec4(1, 1, 1, -20) ];
4218e5c31af7Sopenharmony_ci		}
4219e5c31af7Sopenharmony_ci
4220e5c31af7Sopenharmony_ci		both ""
4221e5c31af7Sopenharmony_ci			precision mediump float;
4222e5c31af7Sopenharmony_ci			precision mediump int;
4223e5c31af7Sopenharmony_ci
4224e5c31af7Sopenharmony_ci			${DECLARATIONS}
4225e5c31af7Sopenharmony_ci
4226e5c31af7Sopenharmony_ci			void main()
4227e5c31af7Sopenharmony_ci			{
4228e5c31af7Sopenharmony_ci				${SETUP}
4229e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1);
4230e5c31af7Sopenharmony_ci				${OUTPUT}
4231e5c31af7Sopenharmony_ci			}
4232e5c31af7Sopenharmony_ci		""
4233e5c31af7Sopenharmony_ci	end
4234e5c31af7Sopenharmony_ci
4235e5c31af7Sopenharmony_ci	case vec3_float_to_bvec4
4236e5c31af7Sopenharmony_ci		values
4237e5c31af7Sopenharmony_ci		{
4238e5c31af7Sopenharmony_ci			input vec3 in0 = [ vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(0.0, 0.5, 0.75) | vec3(-0.5, -2.25, -4.875) | 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(1.0, 1.25, 1.125) ];
4239e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | 2.0 | 36.8125 | 3.5 | 1.0 | -0.5 | -8.25 | -20.125 ];
4240e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, true, true, false) | bvec4(false, true, true, true) | bvec4(true, true, true, true) | bvec4(false, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) ];
4241e5c31af7Sopenharmony_ci		}
4242e5c31af7Sopenharmony_ci
4243e5c31af7Sopenharmony_ci		both ""
4244e5c31af7Sopenharmony_ci			precision mediump float;
4245e5c31af7Sopenharmony_ci			precision mediump int;
4246e5c31af7Sopenharmony_ci
4247e5c31af7Sopenharmony_ci			${DECLARATIONS}
4248e5c31af7Sopenharmony_ci
4249e5c31af7Sopenharmony_ci			void main()
4250e5c31af7Sopenharmony_ci			{
4251e5c31af7Sopenharmony_ci				${SETUP}
4252e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1);
4253e5c31af7Sopenharmony_ci				${OUTPUT}
4254e5c31af7Sopenharmony_ci			}
4255e5c31af7Sopenharmony_ci		""
4256e5c31af7Sopenharmony_ci	end
4257e5c31af7Sopenharmony_ci
4258e5c31af7Sopenharmony_ci	case int_ivec2_int_to_vec4
4259e5c31af7Sopenharmony_ci		values
4260e5c31af7Sopenharmony_ci		{
4261e5c31af7Sopenharmony_ci			input int in0 = [ -66 | 8 | -192 | 255 | 5 | -12 | 0 | 2 | 1 | 11 ];
4262e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, -2) | ivec2(0, 0) ];
4263e5c31af7Sopenharmony_ci			input int in2 = [ 8 | 2 | 11 | -192 | 255 | -12 | 0 | -66 | 1 | 5 ];
4264e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(-66.0, 0.0, 0.0, 8.0) | vec4(8.0, 0.0, 0.0, 2.0) | vec4(-192.0, -32.0, 64.0, 11.0) | vec4(255.0, -32.0, 64.0, -192.0) | vec4(5.0, 1.0, 1.0, 255.0) | vec4(-12.0, 0.0, 0.0, -12.0) | vec4(0.0, 1.0, 1.0, 0.0) | vec4(2.0, 0.0, -2.0, -66.0) | vec4(1.0, 0.0, -2.0, 1.0) | vec4(11.0, 0.0, 0.0, 5.0) ];
4265e5c31af7Sopenharmony_ci		}
4266e5c31af7Sopenharmony_ci
4267e5c31af7Sopenharmony_ci		both ""
4268e5c31af7Sopenharmony_ci			precision mediump float;
4269e5c31af7Sopenharmony_ci			precision mediump int;
4270e5c31af7Sopenharmony_ci
4271e5c31af7Sopenharmony_ci			${DECLARATIONS}
4272e5c31af7Sopenharmony_ci
4273e5c31af7Sopenharmony_ci			void main()
4274e5c31af7Sopenharmony_ci			{
4275e5c31af7Sopenharmony_ci				${SETUP}
4276e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1, in2);
4277e5c31af7Sopenharmony_ci				${OUTPUT}
4278e5c31af7Sopenharmony_ci			}
4279e5c31af7Sopenharmony_ci		""
4280e5c31af7Sopenharmony_ci	end
4281e5c31af7Sopenharmony_ci
4282e5c31af7Sopenharmony_ci	case int_ivec2_int_to_ivec4
4283e5c31af7Sopenharmony_ci		values
4284e5c31af7Sopenharmony_ci		{
4285e5c31af7Sopenharmony_ci			input int in0 = [ -66 | 8 | -192 | 255 | 5 | -12 | 0 | 2 | 1 | 11 ];
4286e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, -2) | ivec2(0, 0) ];
4287e5c31af7Sopenharmony_ci			input int in2 = [ 8 | 2 | 11 | -192 | 255 | -12 | 0 | -66 | 1 | 5 ];
4288e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(-66, 0, 0, 8) | ivec4(8, 0, 0, 2) | ivec4(-192, -32, 64, 11) | ivec4(255, -32, 64, -192) | ivec4(5, 1, 1, 255) | ivec4(-12, 0, 0, -12) | ivec4(0, 1, 1, 0) | ivec4(2, 0, -2, -66) | ivec4(1, 0, -2, 1) | ivec4(11, 0, 0, 5) ];
4289e5c31af7Sopenharmony_ci		}
4290e5c31af7Sopenharmony_ci
4291e5c31af7Sopenharmony_ci		both ""
4292e5c31af7Sopenharmony_ci			precision mediump float;
4293e5c31af7Sopenharmony_ci			precision mediump int;
4294e5c31af7Sopenharmony_ci
4295e5c31af7Sopenharmony_ci			${DECLARATIONS}
4296e5c31af7Sopenharmony_ci
4297e5c31af7Sopenharmony_ci			void main()
4298e5c31af7Sopenharmony_ci			{
4299e5c31af7Sopenharmony_ci				${SETUP}
4300e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1, in2);
4301e5c31af7Sopenharmony_ci				${OUTPUT}
4302e5c31af7Sopenharmony_ci			}
4303e5c31af7Sopenharmony_ci		""
4304e5c31af7Sopenharmony_ci	end
4305e5c31af7Sopenharmony_ci
4306e5c31af7Sopenharmony_ci	case int_ivec2_int_to_bvec4
4307e5c31af7Sopenharmony_ci		values
4308e5c31af7Sopenharmony_ci		{
4309e5c31af7Sopenharmony_ci			input int in0 = [ -66 | 8 | -192 | 255 | 5 | -12 | 0 | 2 | 1 | 11 ];
4310e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, -2) | ivec2(0, 0) ];
4311e5c31af7Sopenharmony_ci			input int in2 = [ 8 | 2 | 11 | -192 | 255 | -12 | 0 | -66 | 1 | 5 ];
4312e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, false, false, true) | bvec4(false, true, true, false) | bvec4(true, false, true, true) | bvec4(true, false, true, true) | bvec4(true, false, false, true) ];
4313e5c31af7Sopenharmony_ci		}
4314e5c31af7Sopenharmony_ci
4315e5c31af7Sopenharmony_ci		both ""
4316e5c31af7Sopenharmony_ci			precision mediump float;
4317e5c31af7Sopenharmony_ci			precision mediump int;
4318e5c31af7Sopenharmony_ci
4319e5c31af7Sopenharmony_ci			${DECLARATIONS}
4320e5c31af7Sopenharmony_ci
4321e5c31af7Sopenharmony_ci			void main()
4322e5c31af7Sopenharmony_ci			{
4323e5c31af7Sopenharmony_ci				${SETUP}
4324e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1, in2);
4325e5c31af7Sopenharmony_ci				${OUTPUT}
4326e5c31af7Sopenharmony_ci			}
4327e5c31af7Sopenharmony_ci		""
4328e5c31af7Sopenharmony_ci	end
4329e5c31af7Sopenharmony_ci
4330e5c31af7Sopenharmony_ci	case bool_float_ivec2_to_vec4
4331e5c31af7Sopenharmony_ci		values
4332e5c31af7Sopenharmony_ci		{
4333e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | true | true | false | false | false | false ];
4334e5c31af7Sopenharmony_ci			input float in1 = [ 2.0 | 0.0 | 3.5 | -8.25 | 36.8125 | -20.125 | 1.0 | -0.5 ];
4335e5c31af7Sopenharmony_ci			input ivec2 in2 = [ ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, 0) ];
4336e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(1.0, 2.0, 0.0, 0.0) | vec4(1.0, 0.0, 0.0, 0.0) | vec4(1.0, 3.5, -32.0, 64.0) | vec4(1.0, -8.25, 1.0, 1.0) | vec4(0.0, 36.8125, 0.0, -2.0) | vec4(0.0, -20.125, 0.0, -2.0) | vec4(0.0, 1.0, 1.0, 1.0) | vec4(0.0, -0.5, 0.0, 0.0) ];
4337e5c31af7Sopenharmony_ci		}
4338e5c31af7Sopenharmony_ci
4339e5c31af7Sopenharmony_ci		both ""
4340e5c31af7Sopenharmony_ci			precision mediump float;
4341e5c31af7Sopenharmony_ci			precision mediump int;
4342e5c31af7Sopenharmony_ci
4343e5c31af7Sopenharmony_ci			${DECLARATIONS}
4344e5c31af7Sopenharmony_ci
4345e5c31af7Sopenharmony_ci			void main()
4346e5c31af7Sopenharmony_ci			{
4347e5c31af7Sopenharmony_ci				${SETUP}
4348e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1, in2);
4349e5c31af7Sopenharmony_ci				${OUTPUT}
4350e5c31af7Sopenharmony_ci			}
4351e5c31af7Sopenharmony_ci		""
4352e5c31af7Sopenharmony_ci	end
4353e5c31af7Sopenharmony_ci
4354e5c31af7Sopenharmony_ci	case bool_float_ivec2_to_ivec4
4355e5c31af7Sopenharmony_ci		values
4356e5c31af7Sopenharmony_ci		{
4357e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | true | true | false | false | false | false ];
4358e5c31af7Sopenharmony_ci			input float in1 = [ 2.0 | 0.0 | 3.5 | -8.25 | 36.8125 | -20.125 | 1.0 | -0.5 ];
4359e5c31af7Sopenharmony_ci			input ivec2 in2 = [ ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, 0) ];
4360e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(1, 2, 0, 0) | ivec4(1, 0, 0, 0) | ivec4(1, 3, -32, 64) | ivec4(1, -8, 1, 1) | ivec4(0, 36, 0, -2) | ivec4(0, -20, 0, -2) | ivec4(0, 1, 1, 1) | ivec4(0, 0, 0, 0) ];
4361e5c31af7Sopenharmony_ci		}
4362e5c31af7Sopenharmony_ci
4363e5c31af7Sopenharmony_ci		both ""
4364e5c31af7Sopenharmony_ci			precision mediump float;
4365e5c31af7Sopenharmony_ci			precision mediump int;
4366e5c31af7Sopenharmony_ci
4367e5c31af7Sopenharmony_ci			${DECLARATIONS}
4368e5c31af7Sopenharmony_ci
4369e5c31af7Sopenharmony_ci			void main()
4370e5c31af7Sopenharmony_ci			{
4371e5c31af7Sopenharmony_ci				${SETUP}
4372e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1, in2);
4373e5c31af7Sopenharmony_ci				${OUTPUT}
4374e5c31af7Sopenharmony_ci			}
4375e5c31af7Sopenharmony_ci		""
4376e5c31af7Sopenharmony_ci	end
4377e5c31af7Sopenharmony_ci
4378e5c31af7Sopenharmony_ci	case bool_float_ivec2_to_bvec4
4379e5c31af7Sopenharmony_ci		values
4380e5c31af7Sopenharmony_ci		{
4381e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | true | true | false | false | false | false ];
4382e5c31af7Sopenharmony_ci			input float in1 = [ 2.0 | 0.0 | 3.5 | -8.25 | 36.8125 | -20.125 | 1.0 | -0.5 ];
4383e5c31af7Sopenharmony_ci			input ivec2 in2 = [ ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, 0) ];
4384e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, true, false, false) | bvec4(true, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, true, false, true) | bvec4(false, true, false, true) | bvec4(false, true, true, true) | bvec4(false, true, false, false) ];
4385e5c31af7Sopenharmony_ci		}
4386e5c31af7Sopenharmony_ci
4387e5c31af7Sopenharmony_ci		both ""
4388e5c31af7Sopenharmony_ci			precision mediump float;
4389e5c31af7Sopenharmony_ci			precision mediump int;
4390e5c31af7Sopenharmony_ci
4391e5c31af7Sopenharmony_ci			${DECLARATIONS}
4392e5c31af7Sopenharmony_ci
4393e5c31af7Sopenharmony_ci			void main()
4394e5c31af7Sopenharmony_ci			{
4395e5c31af7Sopenharmony_ci				${SETUP}
4396e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1, in2);
4397e5c31af7Sopenharmony_ci				${OUTPUT}
4398e5c31af7Sopenharmony_ci			}
4399e5c31af7Sopenharmony_ci		""
4400e5c31af7Sopenharmony_ci	end
4401e5c31af7Sopenharmony_ci
4402e5c31af7Sopenharmony_ci	case float_float_float_to_vec3
4403e5c31af7Sopenharmony_ci		values
4404e5c31af7Sopenharmony_ci		{
4405e5c31af7Sopenharmony_ci			input float in0 = [ 3.5 | 2.0 | -20.125 | -8.25 | 36.8125 | 1.0 | 0.0 | -0.5 ];
4406e5c31af7Sopenharmony_ci			input float in1 = [ -0.5 | 1.0 | 2.0 | -20.125 | 0.0 | -8.25 | 36.8125 | 3.5 ];
4407e5c31af7Sopenharmony_ci			input float in2 = [ 0.0 | 1.0 | 3.5 | -8.25 | -0.5 | 36.8125 | -20.125 | 2.0 ];
4408e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(3.5, -0.5, 0.0) | vec3(2.0, 1.0, 1.0) | vec3(-20.125, 2.0, 3.5) | vec3(-8.25, -20.125, -8.25) | vec3(36.8125, 0.0, -0.5) | vec3(1.0, -8.25, 36.8125) | vec3(0.0, 36.8125, -20.125) | vec3(-0.5, 3.5, 2.0) ];
4409e5c31af7Sopenharmony_ci		}
4410e5c31af7Sopenharmony_ci
4411e5c31af7Sopenharmony_ci		both ""
4412e5c31af7Sopenharmony_ci			precision mediump float;
4413e5c31af7Sopenharmony_ci			precision mediump int;
4414e5c31af7Sopenharmony_ci
4415e5c31af7Sopenharmony_ci			${DECLARATIONS}
4416e5c31af7Sopenharmony_ci
4417e5c31af7Sopenharmony_ci			void main()
4418e5c31af7Sopenharmony_ci			{
4419e5c31af7Sopenharmony_ci				${SETUP}
4420e5c31af7Sopenharmony_ci				out0 = vec3(in0, in1, in2);
4421e5c31af7Sopenharmony_ci				${OUTPUT}
4422e5c31af7Sopenharmony_ci			}
4423e5c31af7Sopenharmony_ci		""
4424e5c31af7Sopenharmony_ci	end
4425e5c31af7Sopenharmony_ci
4426e5c31af7Sopenharmony_ci	case float_float_float_to_ivec3
4427e5c31af7Sopenharmony_ci		values
4428e5c31af7Sopenharmony_ci		{
4429e5c31af7Sopenharmony_ci			input float in0 = [ 3.5 | 2.0 | -20.125 | -8.25 | 36.8125 | 1.0 | 0.0 | -0.5 ];
4430e5c31af7Sopenharmony_ci			input float in1 = [ -0.5 | 1.0 | 2.0 | -20.125 | 0.0 | -8.25 | 36.8125 | 3.5 ];
4431e5c31af7Sopenharmony_ci			input float in2 = [ 0.0 | 1.0 | 3.5 | -8.25 | -0.5 | 36.8125 | -20.125 | 2.0 ];
4432e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(3, 0, 0) | ivec3(2, 1, 1) | ivec3(-20, 2, 3) | ivec3(-8, -20, -8) | ivec3(36, 0, 0) | ivec3(1, -8, 36) | ivec3(0, 36, -20) | ivec3(0, 3, 2) ];
4433e5c31af7Sopenharmony_ci		}
4434e5c31af7Sopenharmony_ci
4435e5c31af7Sopenharmony_ci		both ""
4436e5c31af7Sopenharmony_ci			precision mediump float;
4437e5c31af7Sopenharmony_ci			precision mediump int;
4438e5c31af7Sopenharmony_ci
4439e5c31af7Sopenharmony_ci			${DECLARATIONS}
4440e5c31af7Sopenharmony_ci
4441e5c31af7Sopenharmony_ci			void main()
4442e5c31af7Sopenharmony_ci			{
4443e5c31af7Sopenharmony_ci				${SETUP}
4444e5c31af7Sopenharmony_ci				out0 = ivec3(in0, in1, in2);
4445e5c31af7Sopenharmony_ci				${OUTPUT}
4446e5c31af7Sopenharmony_ci			}
4447e5c31af7Sopenharmony_ci		""
4448e5c31af7Sopenharmony_ci	end
4449e5c31af7Sopenharmony_ci
4450e5c31af7Sopenharmony_ci	case float_float_float_to_bvec3
4451e5c31af7Sopenharmony_ci		values
4452e5c31af7Sopenharmony_ci		{
4453e5c31af7Sopenharmony_ci			input float in0 = [ 3.5 | 2.0 | -20.125 | -8.25 | 36.8125 | 1.0 | 0.0 | -0.5 ];
4454e5c31af7Sopenharmony_ci			input float in1 = [ -0.5 | 1.0 | 2.0 | -20.125 | 0.0 | -8.25 | 36.8125 | 3.5 ];
4455e5c31af7Sopenharmony_ci			input float in2 = [ 0.0 | 1.0 | 3.5 | -8.25 | -0.5 | 36.8125 | -20.125 | 2.0 ];
4456e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, true, false) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) ];
4457e5c31af7Sopenharmony_ci		}
4458e5c31af7Sopenharmony_ci
4459e5c31af7Sopenharmony_ci		both ""
4460e5c31af7Sopenharmony_ci			precision mediump float;
4461e5c31af7Sopenharmony_ci			precision mediump int;
4462e5c31af7Sopenharmony_ci
4463e5c31af7Sopenharmony_ci			${DECLARATIONS}
4464e5c31af7Sopenharmony_ci
4465e5c31af7Sopenharmony_ci			void main()
4466e5c31af7Sopenharmony_ci			{
4467e5c31af7Sopenharmony_ci				${SETUP}
4468e5c31af7Sopenharmony_ci				out0 = bvec3(in0, in1, in2);
4469e5c31af7Sopenharmony_ci				${OUTPUT}
4470e5c31af7Sopenharmony_ci			}
4471e5c31af7Sopenharmony_ci		""
4472e5c31af7Sopenharmony_ci	end
4473e5c31af7Sopenharmony_ci
4474e5c31af7Sopenharmony_ci	case int_int_int_to_vec3
4475e5c31af7Sopenharmony_ci		values
4476e5c31af7Sopenharmony_ci		{
4477e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 2 | 1 | 5 | 255 | 8 | -66 | 11 | -12 | -192 ];
4478e5c31af7Sopenharmony_ci			input int in1 = [ 2 | 8 | 11 | -12 | -192 | 1 | -66 | 5 | 255 | 0 ];
4479e5c31af7Sopenharmony_ci			input int in2 = [ -192 | -12 | -66 | 8 | 1 | 2 | 5 | 11 | 255 | 0 ];
4480e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(0.0, 2.0, -192.0) | vec3(2.0, 8.0, -12.0) | vec3(1.0, 11.0, -66.0) | vec3(5.0, -12.0, 8.0) | vec3(255.0, -192.0, 1.0) | vec3(8.0, 1.0, 2.0) | vec3(-66.0, -66.0, 5.0) | vec3(11.0, 5.0, 11.0) | vec3(-12.0, 255.0, 255.0) | vec3(-192.0, 0.0, 0.0) ];
4481e5c31af7Sopenharmony_ci		}
4482e5c31af7Sopenharmony_ci
4483e5c31af7Sopenharmony_ci		both ""
4484e5c31af7Sopenharmony_ci			precision mediump float;
4485e5c31af7Sopenharmony_ci			precision mediump int;
4486e5c31af7Sopenharmony_ci
4487e5c31af7Sopenharmony_ci			${DECLARATIONS}
4488e5c31af7Sopenharmony_ci
4489e5c31af7Sopenharmony_ci			void main()
4490e5c31af7Sopenharmony_ci			{
4491e5c31af7Sopenharmony_ci				${SETUP}
4492e5c31af7Sopenharmony_ci				out0 = vec3(in0, in1, in2);
4493e5c31af7Sopenharmony_ci				${OUTPUT}
4494e5c31af7Sopenharmony_ci			}
4495e5c31af7Sopenharmony_ci		""
4496e5c31af7Sopenharmony_ci	end
4497e5c31af7Sopenharmony_ci
4498e5c31af7Sopenharmony_ci	case int_int_int_to_ivec3
4499e5c31af7Sopenharmony_ci		values
4500e5c31af7Sopenharmony_ci		{
4501e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 2 | 1 | 5 | 255 | 8 | -66 | 11 | -12 | -192 ];
4502e5c31af7Sopenharmony_ci			input int in1 = [ 2 | 8 | 11 | -12 | -192 | 1 | -66 | 5 | 255 | 0 ];
4503e5c31af7Sopenharmony_ci			input int in2 = [ -192 | -12 | -66 | 8 | 1 | 2 | 5 | 11 | 255 | 0 ];
4504e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 2, -192) | ivec3(2, 8, -12) | ivec3(1, 11, -66) | ivec3(5, -12, 8) | ivec3(255, -192, 1) | ivec3(8, 1, 2) | ivec3(-66, -66, 5) | ivec3(11, 5, 11) | ivec3(-12, 255, 255) | ivec3(-192, 0, 0) ];
4505e5c31af7Sopenharmony_ci		}
4506e5c31af7Sopenharmony_ci
4507e5c31af7Sopenharmony_ci		both ""
4508e5c31af7Sopenharmony_ci			precision mediump float;
4509e5c31af7Sopenharmony_ci			precision mediump int;
4510e5c31af7Sopenharmony_ci
4511e5c31af7Sopenharmony_ci			${DECLARATIONS}
4512e5c31af7Sopenharmony_ci
4513e5c31af7Sopenharmony_ci			void main()
4514e5c31af7Sopenharmony_ci			{
4515e5c31af7Sopenharmony_ci				${SETUP}
4516e5c31af7Sopenharmony_ci				out0 = ivec3(in0, in1, in2);
4517e5c31af7Sopenharmony_ci				${OUTPUT}
4518e5c31af7Sopenharmony_ci			}
4519e5c31af7Sopenharmony_ci		""
4520e5c31af7Sopenharmony_ci	end
4521e5c31af7Sopenharmony_ci
4522e5c31af7Sopenharmony_ci	case int_int_int_to_bvec3
4523e5c31af7Sopenharmony_ci		values
4524e5c31af7Sopenharmony_ci		{
4525e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 2 | 1 | 5 | 255 | 8 | -66 | 11 | -12 | -192 ];
4526e5c31af7Sopenharmony_ci			input int in1 = [ 2 | 8 | 11 | -12 | -192 | 1 | -66 | 5 | 255 | 0 ];
4527e5c31af7Sopenharmony_ci			input int in2 = [ -192 | -12 | -66 | 8 | 1 | 2 | 5 | 11 | 255 | 0 ];
4528e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(false, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, false, false) ];
4529e5c31af7Sopenharmony_ci		}
4530e5c31af7Sopenharmony_ci
4531e5c31af7Sopenharmony_ci		both ""
4532e5c31af7Sopenharmony_ci			precision mediump float;
4533e5c31af7Sopenharmony_ci			precision mediump int;
4534e5c31af7Sopenharmony_ci
4535e5c31af7Sopenharmony_ci			${DECLARATIONS}
4536e5c31af7Sopenharmony_ci
4537e5c31af7Sopenharmony_ci			void main()
4538e5c31af7Sopenharmony_ci			{
4539e5c31af7Sopenharmony_ci				${SETUP}
4540e5c31af7Sopenharmony_ci				out0 = bvec3(in0, in1, in2);
4541e5c31af7Sopenharmony_ci				${OUTPUT}
4542e5c31af7Sopenharmony_ci			}
4543e5c31af7Sopenharmony_ci		""
4544e5c31af7Sopenharmony_ci	end
4545e5c31af7Sopenharmony_ci
4546e5c31af7Sopenharmony_ci	case bool_bool_bool_to_vec3
4547e5c31af7Sopenharmony_ci		values
4548e5c31af7Sopenharmony_ci		{
4549e5c31af7Sopenharmony_ci			input bool in0 = [ false | true ];
4550e5c31af7Sopenharmony_ci			input bool in1 = [ false | true ];
4551e5c31af7Sopenharmony_ci			input bool in2 = [ false | true ];
4552e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) ];
4553e5c31af7Sopenharmony_ci		}
4554e5c31af7Sopenharmony_ci
4555e5c31af7Sopenharmony_ci		both ""
4556e5c31af7Sopenharmony_ci			precision mediump float;
4557e5c31af7Sopenharmony_ci			precision mediump int;
4558e5c31af7Sopenharmony_ci
4559e5c31af7Sopenharmony_ci			${DECLARATIONS}
4560e5c31af7Sopenharmony_ci
4561e5c31af7Sopenharmony_ci			void main()
4562e5c31af7Sopenharmony_ci			{
4563e5c31af7Sopenharmony_ci				${SETUP}
4564e5c31af7Sopenharmony_ci				out0 = vec3(in0, in1, in2);
4565e5c31af7Sopenharmony_ci				${OUTPUT}
4566e5c31af7Sopenharmony_ci			}
4567e5c31af7Sopenharmony_ci		""
4568e5c31af7Sopenharmony_ci	end
4569e5c31af7Sopenharmony_ci
4570e5c31af7Sopenharmony_ci	case bool_bool_bool_to_ivec3
4571e5c31af7Sopenharmony_ci		values
4572e5c31af7Sopenharmony_ci		{
4573e5c31af7Sopenharmony_ci			input bool in0 = [ false | true ];
4574e5c31af7Sopenharmony_ci			input bool in1 = [ false | true ];
4575e5c31af7Sopenharmony_ci			input bool in2 = [ false | true ];
4576e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) ];
4577e5c31af7Sopenharmony_ci		}
4578e5c31af7Sopenharmony_ci
4579e5c31af7Sopenharmony_ci		both ""
4580e5c31af7Sopenharmony_ci			precision mediump float;
4581e5c31af7Sopenharmony_ci			precision mediump int;
4582e5c31af7Sopenharmony_ci
4583e5c31af7Sopenharmony_ci			${DECLARATIONS}
4584e5c31af7Sopenharmony_ci
4585e5c31af7Sopenharmony_ci			void main()
4586e5c31af7Sopenharmony_ci			{
4587e5c31af7Sopenharmony_ci				${SETUP}
4588e5c31af7Sopenharmony_ci				out0 = ivec3(in0, in1, in2);
4589e5c31af7Sopenharmony_ci				${OUTPUT}
4590e5c31af7Sopenharmony_ci			}
4591e5c31af7Sopenharmony_ci		""
4592e5c31af7Sopenharmony_ci	end
4593e5c31af7Sopenharmony_ci
4594e5c31af7Sopenharmony_ci	case bool_bool_bool_to_bvec3
4595e5c31af7Sopenharmony_ci		values
4596e5c31af7Sopenharmony_ci		{
4597e5c31af7Sopenharmony_ci			input bool in0 = [ false | true ];
4598e5c31af7Sopenharmony_ci			input bool in1 = [ false | true ];
4599e5c31af7Sopenharmony_ci			input bool in2 = [ false | true ];
4600e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) ];
4601e5c31af7Sopenharmony_ci		}
4602e5c31af7Sopenharmony_ci
4603e5c31af7Sopenharmony_ci		both ""
4604e5c31af7Sopenharmony_ci			precision mediump float;
4605e5c31af7Sopenharmony_ci			precision mediump int;
4606e5c31af7Sopenharmony_ci
4607e5c31af7Sopenharmony_ci			${DECLARATIONS}
4608e5c31af7Sopenharmony_ci
4609e5c31af7Sopenharmony_ci			void main()
4610e5c31af7Sopenharmony_ci			{
4611e5c31af7Sopenharmony_ci				${SETUP}
4612e5c31af7Sopenharmony_ci				out0 = bvec3(in0, in1, in2);
4613e5c31af7Sopenharmony_ci				${OUTPUT}
4614e5c31af7Sopenharmony_ci			}
4615e5c31af7Sopenharmony_ci		""
4616e5c31af7Sopenharmony_ci	end
4617e5c31af7Sopenharmony_ci
4618e5c31af7Sopenharmony_ci	case bool_float_int_to_vec3
4619e5c31af7Sopenharmony_ci		values
4620e5c31af7Sopenharmony_ci		{
4621e5c31af7Sopenharmony_ci			input bool in0 = [ false | true | false | true | false | true | false | true | false | true ];
4622e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | 2.0 | 1.0 | -0.5 | -8.25 | 3.5 | -20.125 | 1.0 | 0.0 | 36.8125 ];
4623e5c31af7Sopenharmony_ci			input int in2 = [ -12 | -192 | 2 | 5 | -66 | 255 | 11 | 0 | 8 | 1 ];
4624e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(0.0, 0.0, -12.0) | vec3(1.0, 2.0, -192.0) | vec3(0.0, 1.0, 2.0) | vec3(1.0, -0.5, 5.0) | vec3(0.0, -8.25, -66.0) | vec3(1.0, 3.5, 255.0) | vec3(0.0, -20.125, 11.0) | vec3(1.0, 1.0, 0.0) | vec3(0.0, 0.0, 8.0) | vec3(1.0, 36.8125, 1.0) ];
4625e5c31af7Sopenharmony_ci		}
4626e5c31af7Sopenharmony_ci
4627e5c31af7Sopenharmony_ci		both ""
4628e5c31af7Sopenharmony_ci			precision mediump float;
4629e5c31af7Sopenharmony_ci			precision mediump int;
4630e5c31af7Sopenharmony_ci
4631e5c31af7Sopenharmony_ci			${DECLARATIONS}
4632e5c31af7Sopenharmony_ci
4633e5c31af7Sopenharmony_ci			void main()
4634e5c31af7Sopenharmony_ci			{
4635e5c31af7Sopenharmony_ci				${SETUP}
4636e5c31af7Sopenharmony_ci				out0 = vec3(in0, in1, in2);
4637e5c31af7Sopenharmony_ci				${OUTPUT}
4638e5c31af7Sopenharmony_ci			}
4639e5c31af7Sopenharmony_ci		""
4640e5c31af7Sopenharmony_ci	end
4641e5c31af7Sopenharmony_ci
4642e5c31af7Sopenharmony_ci	case bool_float_int_to_ivec3
4643e5c31af7Sopenharmony_ci		values
4644e5c31af7Sopenharmony_ci		{
4645e5c31af7Sopenharmony_ci			input bool in0 = [ false | true | false | true | false | true | false | true | false | true ];
4646e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | 2.0 | 1.0 | -0.5 | -8.25 | 3.5 | -20.125 | 1.0 | 0.0 | 36.8125 ];
4647e5c31af7Sopenharmony_ci			input int in2 = [ -12 | -192 | 2 | 5 | -66 | 255 | 11 | 0 | 8 | 1 ];
4648e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 0, -12) | ivec3(1, 2, -192) | ivec3(0, 1, 2) | ivec3(1, 0, 5) | ivec3(0, -8, -66) | ivec3(1, 3, 255) | ivec3(0, -20, 11) | ivec3(1, 1, 0) | ivec3(0, 0, 8) | ivec3(1, 36, 1) ];
4649e5c31af7Sopenharmony_ci		}
4650e5c31af7Sopenharmony_ci
4651e5c31af7Sopenharmony_ci		both ""
4652e5c31af7Sopenharmony_ci			precision mediump float;
4653e5c31af7Sopenharmony_ci			precision mediump int;
4654e5c31af7Sopenharmony_ci
4655e5c31af7Sopenharmony_ci			${DECLARATIONS}
4656e5c31af7Sopenharmony_ci
4657e5c31af7Sopenharmony_ci			void main()
4658e5c31af7Sopenharmony_ci			{
4659e5c31af7Sopenharmony_ci				${SETUP}
4660e5c31af7Sopenharmony_ci				out0 = ivec3(in0, in1, in2);
4661e5c31af7Sopenharmony_ci				${OUTPUT}
4662e5c31af7Sopenharmony_ci			}
4663e5c31af7Sopenharmony_ci		""
4664e5c31af7Sopenharmony_ci	end
4665e5c31af7Sopenharmony_ci
4666e5c31af7Sopenharmony_ci	case bool_float_int_to_bvec3
4667e5c31af7Sopenharmony_ci		values
4668e5c31af7Sopenharmony_ci		{
4669e5c31af7Sopenharmony_ci			input bool in0 = [ false | true | false | true | false | true | false | true | false | true ];
4670e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | 2.0 | 1.0 | -0.5 | -8.25 | 3.5 | -20.125 | 1.0 | 0.0 | 36.8125 ];
4671e5c31af7Sopenharmony_ci			input int in2 = [ -12 | -192 | 2 | 5 | -66 | 255 | 11 | 0 | 8 | 1 ];
4672e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, false) | bvec3(false, false, true) | bvec3(true, true, true) ];
4673e5c31af7Sopenharmony_ci		}
4674e5c31af7Sopenharmony_ci
4675e5c31af7Sopenharmony_ci		both ""
4676e5c31af7Sopenharmony_ci			precision mediump float;
4677e5c31af7Sopenharmony_ci			precision mediump int;
4678e5c31af7Sopenharmony_ci
4679e5c31af7Sopenharmony_ci			${DECLARATIONS}
4680e5c31af7Sopenharmony_ci
4681e5c31af7Sopenharmony_ci			void main()
4682e5c31af7Sopenharmony_ci			{
4683e5c31af7Sopenharmony_ci				${SETUP}
4684e5c31af7Sopenharmony_ci				out0 = bvec3(in0, in1, in2);
4685e5c31af7Sopenharmony_ci				${OUTPUT}
4686e5c31af7Sopenharmony_ci			}
4687e5c31af7Sopenharmony_ci		""
4688e5c31af7Sopenharmony_ci	end
4689e5c31af7Sopenharmony_ci
4690e5c31af7Sopenharmony_ci	case vec2_bool_to_vec3
4691e5c31af7Sopenharmony_ci		values
4692e5c31af7Sopenharmony_ci		{
4693e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-0.75, -0.0322580645161) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) ];
4694e5c31af7Sopenharmony_ci			input bool in1 = [ false | true | false | true | true ];
4695e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(-0.75, -0.0322580645161, 0.0) | vec3(1.0, 1.25, 1.0) | vec3(-0.5, -2.25, 0.0) | vec3(0.0, 0.5, 1.0) | vec3(-32.0, 64.0, 1.0) ];
4696e5c31af7Sopenharmony_ci		}
4697e5c31af7Sopenharmony_ci
4698e5c31af7Sopenharmony_ci		both ""
4699e5c31af7Sopenharmony_ci			precision mediump float;
4700e5c31af7Sopenharmony_ci			precision mediump int;
4701e5c31af7Sopenharmony_ci
4702e5c31af7Sopenharmony_ci			${DECLARATIONS}
4703e5c31af7Sopenharmony_ci
4704e5c31af7Sopenharmony_ci			void main()
4705e5c31af7Sopenharmony_ci			{
4706e5c31af7Sopenharmony_ci				${SETUP}
4707e5c31af7Sopenharmony_ci				out0 = vec3(in0, in1);
4708e5c31af7Sopenharmony_ci				${OUTPUT}
4709e5c31af7Sopenharmony_ci			}
4710e5c31af7Sopenharmony_ci		""
4711e5c31af7Sopenharmony_ci	end
4712e5c31af7Sopenharmony_ci
4713e5c31af7Sopenharmony_ci	case vec2_bool_to_ivec3
4714e5c31af7Sopenharmony_ci		values
4715e5c31af7Sopenharmony_ci		{
4716e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-0.75, -0.0322580645161) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) ];
4717e5c31af7Sopenharmony_ci			input bool in1 = [ false | true | false | true | true ];
4718e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, 0) | ivec3(0, 0, 1) | ivec3(-32, 64, 1) ];
4719e5c31af7Sopenharmony_ci		}
4720e5c31af7Sopenharmony_ci
4721e5c31af7Sopenharmony_ci		both ""
4722e5c31af7Sopenharmony_ci			precision mediump float;
4723e5c31af7Sopenharmony_ci			precision mediump int;
4724e5c31af7Sopenharmony_ci
4725e5c31af7Sopenharmony_ci			${DECLARATIONS}
4726e5c31af7Sopenharmony_ci
4727e5c31af7Sopenharmony_ci			void main()
4728e5c31af7Sopenharmony_ci			{
4729e5c31af7Sopenharmony_ci				${SETUP}
4730e5c31af7Sopenharmony_ci				out0 = ivec3(in0, in1);
4731e5c31af7Sopenharmony_ci				${OUTPUT}
4732e5c31af7Sopenharmony_ci			}
4733e5c31af7Sopenharmony_ci		""
4734e5c31af7Sopenharmony_ci	end
4735e5c31af7Sopenharmony_ci
4736e5c31af7Sopenharmony_ci	case vec2_bool_to_bvec3
4737e5c31af7Sopenharmony_ci		values
4738e5c31af7Sopenharmony_ci		{
4739e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-0.75, -0.0322580645161) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) ];
4740e5c31af7Sopenharmony_ci			input bool in1 = [ false | true | false | true | true ];
4741e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, true, false) | bvec3(true, true, true) | bvec3(true, true, false) | bvec3(false, true, true) | bvec3(true, true, true) ];
4742e5c31af7Sopenharmony_ci		}
4743e5c31af7Sopenharmony_ci
4744e5c31af7Sopenharmony_ci		both ""
4745e5c31af7Sopenharmony_ci			precision mediump float;
4746e5c31af7Sopenharmony_ci			precision mediump int;
4747e5c31af7Sopenharmony_ci
4748e5c31af7Sopenharmony_ci			${DECLARATIONS}
4749e5c31af7Sopenharmony_ci
4750e5c31af7Sopenharmony_ci			void main()
4751e5c31af7Sopenharmony_ci			{
4752e5c31af7Sopenharmony_ci				${SETUP}
4753e5c31af7Sopenharmony_ci				out0 = bvec3(in0, in1);
4754e5c31af7Sopenharmony_ci				${OUTPUT}
4755e5c31af7Sopenharmony_ci			}
4756e5c31af7Sopenharmony_ci		""
4757e5c31af7Sopenharmony_ci	end
4758e5c31af7Sopenharmony_ci
4759e5c31af7Sopenharmony_ci	case bvec2_float_to_vec3
4760e5c31af7Sopenharmony_ci		values
4761e5c31af7Sopenharmony_ci		{
4762e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ];
4763e5c31af7Sopenharmony_ci			input float in1 = [ 2.0 | 36.8125 | 0.0 | -20.125 | 1.0 | -0.5 | -8.25 | 3.5 ];
4764e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(1.0, 0.0, 2.0) | vec3(0.0, 0.0, 36.8125) | vec3(1.0, 0.0, 0.0) | vec3(0.0, 1.0, -20.125) | vec3(0.0, 0.0, 1.0) | vec3(0.0, 1.0, -0.5) | vec3(0.0, 0.0, -8.25) | vec3(1.0, 1.0, 3.5) ];
4765e5c31af7Sopenharmony_ci		}
4766e5c31af7Sopenharmony_ci
4767e5c31af7Sopenharmony_ci		both ""
4768e5c31af7Sopenharmony_ci			precision mediump float;
4769e5c31af7Sopenharmony_ci			precision mediump int;
4770e5c31af7Sopenharmony_ci
4771e5c31af7Sopenharmony_ci			${DECLARATIONS}
4772e5c31af7Sopenharmony_ci
4773e5c31af7Sopenharmony_ci			void main()
4774e5c31af7Sopenharmony_ci			{
4775e5c31af7Sopenharmony_ci				${SETUP}
4776e5c31af7Sopenharmony_ci				out0 = vec3(in0, in1);
4777e5c31af7Sopenharmony_ci				${OUTPUT}
4778e5c31af7Sopenharmony_ci			}
4779e5c31af7Sopenharmony_ci		""
4780e5c31af7Sopenharmony_ci	end
4781e5c31af7Sopenharmony_ci
4782e5c31af7Sopenharmony_ci	case bvec2_float_to_ivec3
4783e5c31af7Sopenharmony_ci		values
4784e5c31af7Sopenharmony_ci		{
4785e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ];
4786e5c31af7Sopenharmony_ci			input float in1 = [ 2.0 | 36.8125 | 0.0 | -20.125 | 1.0 | -0.5 | -8.25 | 3.5 ];
4787e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(1, 0, 2) | ivec3(0, 0, 36) | ivec3(1, 0, 0) | ivec3(0, 1, -20) | ivec3(0, 0, 1) | ivec3(0, 1, 0) | ivec3(0, 0, -8) | ivec3(1, 1, 3) ];
4788e5c31af7Sopenharmony_ci		}
4789e5c31af7Sopenharmony_ci
4790e5c31af7Sopenharmony_ci		both ""
4791e5c31af7Sopenharmony_ci			precision mediump float;
4792e5c31af7Sopenharmony_ci			precision mediump int;
4793e5c31af7Sopenharmony_ci
4794e5c31af7Sopenharmony_ci			${DECLARATIONS}
4795e5c31af7Sopenharmony_ci
4796e5c31af7Sopenharmony_ci			void main()
4797e5c31af7Sopenharmony_ci			{
4798e5c31af7Sopenharmony_ci				${SETUP}
4799e5c31af7Sopenharmony_ci				out0 = ivec3(in0, in1);
4800e5c31af7Sopenharmony_ci				${OUTPUT}
4801e5c31af7Sopenharmony_ci			}
4802e5c31af7Sopenharmony_ci		""
4803e5c31af7Sopenharmony_ci	end
4804e5c31af7Sopenharmony_ci
4805e5c31af7Sopenharmony_ci	case bvec2_float_to_bvec3
4806e5c31af7Sopenharmony_ci		values
4807e5c31af7Sopenharmony_ci		{
4808e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ];
4809e5c31af7Sopenharmony_ci			input float in1 = [ 2.0 | 36.8125 | 0.0 | -20.125 | 1.0 | -0.5 | -8.25 | 3.5 ];
4810e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, false, true) | bvec3(false, false, true) | bvec3(true, false, false) | bvec3(false, true, true) | bvec3(false, false, true) | bvec3(false, true, true) | bvec3(false, false, true) | bvec3(true, true, true) ];
4811e5c31af7Sopenharmony_ci		}
4812e5c31af7Sopenharmony_ci
4813e5c31af7Sopenharmony_ci		both ""
4814e5c31af7Sopenharmony_ci			precision mediump float;
4815e5c31af7Sopenharmony_ci			precision mediump int;
4816e5c31af7Sopenharmony_ci
4817e5c31af7Sopenharmony_ci			${DECLARATIONS}
4818e5c31af7Sopenharmony_ci
4819e5c31af7Sopenharmony_ci			void main()
4820e5c31af7Sopenharmony_ci			{
4821e5c31af7Sopenharmony_ci				${SETUP}
4822e5c31af7Sopenharmony_ci				out0 = bvec3(in0, in1);
4823e5c31af7Sopenharmony_ci				${OUTPUT}
4824e5c31af7Sopenharmony_ci			}
4825e5c31af7Sopenharmony_ci		""
4826e5c31af7Sopenharmony_ci	end
4827e5c31af7Sopenharmony_ci
4828e5c31af7Sopenharmony_ci	case bvec2_int_to_vec3
4829e5c31af7Sopenharmony_ci		values
4830e5c31af7Sopenharmony_ci		{
4831e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(false, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(true, false) | bvec2(true, false) | bvec2(false, false) ];
4832e5c31af7Sopenharmony_ci			input int in1 = [ 0 | 255 | 1 | 2 | 8 | 11 | -192 | 5 | -12 | -66 ];
4833e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(0.0, 1.0, 0.0) | vec3(0.0, 1.0, 255.0) | vec3(1.0, 1.0, 1.0) | vec3(0.0, 0.0, 2.0) | vec3(0.0, 0.0, 8.0) | vec3(0.0, 0.0, 11.0) | vec3(1.0, 1.0, -192.0) | vec3(1.0, 0.0, 5.0) | vec3(1.0, 0.0, -12.0) | vec3(0.0, 0.0, -66.0) ];
4834e5c31af7Sopenharmony_ci		}
4835e5c31af7Sopenharmony_ci
4836e5c31af7Sopenharmony_ci		both ""
4837e5c31af7Sopenharmony_ci			precision mediump float;
4838e5c31af7Sopenharmony_ci			precision mediump int;
4839e5c31af7Sopenharmony_ci
4840e5c31af7Sopenharmony_ci			${DECLARATIONS}
4841e5c31af7Sopenharmony_ci
4842e5c31af7Sopenharmony_ci			void main()
4843e5c31af7Sopenharmony_ci			{
4844e5c31af7Sopenharmony_ci				${SETUP}
4845e5c31af7Sopenharmony_ci				out0 = vec3(in0, in1);
4846e5c31af7Sopenharmony_ci				${OUTPUT}
4847e5c31af7Sopenharmony_ci			}
4848e5c31af7Sopenharmony_ci		""
4849e5c31af7Sopenharmony_ci	end
4850e5c31af7Sopenharmony_ci
4851e5c31af7Sopenharmony_ci	case bvec2_int_to_ivec3
4852e5c31af7Sopenharmony_ci		values
4853e5c31af7Sopenharmony_ci		{
4854e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(false, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(true, false) | bvec2(true, false) | bvec2(false, false) ];
4855e5c31af7Sopenharmony_ci			input int in1 = [ 0 | 255 | 1 | 2 | 8 | 11 | -192 | 5 | -12 | -66 ];
4856e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 1, 0) | ivec3(0, 1, 255) | ivec3(1, 1, 1) | ivec3(0, 0, 2) | ivec3(0, 0, 8) | ivec3(0, 0, 11) | ivec3(1, 1, -192) | ivec3(1, 0, 5) | ivec3(1, 0, -12) | ivec3(0, 0, -66) ];
4857e5c31af7Sopenharmony_ci		}
4858e5c31af7Sopenharmony_ci
4859e5c31af7Sopenharmony_ci		both ""
4860e5c31af7Sopenharmony_ci			precision mediump float;
4861e5c31af7Sopenharmony_ci			precision mediump int;
4862e5c31af7Sopenharmony_ci
4863e5c31af7Sopenharmony_ci			${DECLARATIONS}
4864e5c31af7Sopenharmony_ci
4865e5c31af7Sopenharmony_ci			void main()
4866e5c31af7Sopenharmony_ci			{
4867e5c31af7Sopenharmony_ci				${SETUP}
4868e5c31af7Sopenharmony_ci				out0 = ivec3(in0, in1);
4869e5c31af7Sopenharmony_ci				${OUTPUT}
4870e5c31af7Sopenharmony_ci			}
4871e5c31af7Sopenharmony_ci		""
4872e5c31af7Sopenharmony_ci	end
4873e5c31af7Sopenharmony_ci
4874e5c31af7Sopenharmony_ci	case bvec2_int_to_bvec3
4875e5c31af7Sopenharmony_ci		values
4876e5c31af7Sopenharmony_ci		{
4877e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(false, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(true, false) | bvec2(true, false) | bvec2(false, false) ];
4878e5c31af7Sopenharmony_ci			input int in1 = [ 0 | 255 | 1 | 2 | 8 | 11 | -192 | 5 | -12 | -66 ];
4879e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, false, true) | bvec3(false, false, true) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(true, false, true) | bvec3(true, false, true) | bvec3(false, false, true) ];
4880e5c31af7Sopenharmony_ci		}
4881e5c31af7Sopenharmony_ci
4882e5c31af7Sopenharmony_ci		both ""
4883e5c31af7Sopenharmony_ci			precision mediump float;
4884e5c31af7Sopenharmony_ci			precision mediump int;
4885e5c31af7Sopenharmony_ci
4886e5c31af7Sopenharmony_ci			${DECLARATIONS}
4887e5c31af7Sopenharmony_ci
4888e5c31af7Sopenharmony_ci			void main()
4889e5c31af7Sopenharmony_ci			{
4890e5c31af7Sopenharmony_ci				${SETUP}
4891e5c31af7Sopenharmony_ci				out0 = bvec3(in0, in1);
4892e5c31af7Sopenharmony_ci				${OUTPUT}
4893e5c31af7Sopenharmony_ci			}
4894e5c31af7Sopenharmony_ci		""
4895e5c31af7Sopenharmony_ci	end
4896e5c31af7Sopenharmony_ci
4897e5c31af7Sopenharmony_ci	case bool_ivec2_to_vec3
4898e5c31af7Sopenharmony_ci		values
4899e5c31af7Sopenharmony_ci		{
4900e5c31af7Sopenharmony_ci			input bool in0 = [ false | true | false | true | true ];
4901e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) ];
4902e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 0.0, -2.0) | vec3(0.0, 0.0, 0.0) | vec3(1.0, -32.0, 64.0) | vec3(1.0, 1.0, 1.0) ];
4903e5c31af7Sopenharmony_ci		}
4904e5c31af7Sopenharmony_ci
4905e5c31af7Sopenharmony_ci		both ""
4906e5c31af7Sopenharmony_ci			precision mediump float;
4907e5c31af7Sopenharmony_ci			precision mediump int;
4908e5c31af7Sopenharmony_ci
4909e5c31af7Sopenharmony_ci			${DECLARATIONS}
4910e5c31af7Sopenharmony_ci
4911e5c31af7Sopenharmony_ci			void main()
4912e5c31af7Sopenharmony_ci			{
4913e5c31af7Sopenharmony_ci				${SETUP}
4914e5c31af7Sopenharmony_ci				out0 = vec3(in0, in1);
4915e5c31af7Sopenharmony_ci				${OUTPUT}
4916e5c31af7Sopenharmony_ci			}
4917e5c31af7Sopenharmony_ci		""
4918e5c31af7Sopenharmony_ci	end
4919e5c31af7Sopenharmony_ci
4920e5c31af7Sopenharmony_ci	case bool_ivec2_to_ivec3
4921e5c31af7Sopenharmony_ci		values
4922e5c31af7Sopenharmony_ci		{
4923e5c31af7Sopenharmony_ci			input bool in0 = [ false | true | false | true | true ];
4924e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) ];
4925e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 0, -2) | ivec3(0, 0, 0) | ivec3(1, -32, 64) | ivec3(1, 1, 1) ];
4926e5c31af7Sopenharmony_ci		}
4927e5c31af7Sopenharmony_ci
4928e5c31af7Sopenharmony_ci		both ""
4929e5c31af7Sopenharmony_ci			precision mediump float;
4930e5c31af7Sopenharmony_ci			precision mediump int;
4931e5c31af7Sopenharmony_ci
4932e5c31af7Sopenharmony_ci			${DECLARATIONS}
4933e5c31af7Sopenharmony_ci
4934e5c31af7Sopenharmony_ci			void main()
4935e5c31af7Sopenharmony_ci			{
4936e5c31af7Sopenharmony_ci				${SETUP}
4937e5c31af7Sopenharmony_ci				out0 = ivec3(in0, in1);
4938e5c31af7Sopenharmony_ci				${OUTPUT}
4939e5c31af7Sopenharmony_ci			}
4940e5c31af7Sopenharmony_ci		""
4941e5c31af7Sopenharmony_ci	end
4942e5c31af7Sopenharmony_ci
4943e5c31af7Sopenharmony_ci	case bool_ivec2_to_bvec3
4944e5c31af7Sopenharmony_ci		values
4945e5c31af7Sopenharmony_ci		{
4946e5c31af7Sopenharmony_ci			input bool in0 = [ false | true | false | true | true ];
4947e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) ];
4948e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, false, true) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(true, true, true) ];
4949e5c31af7Sopenharmony_ci		}
4950e5c31af7Sopenharmony_ci
4951e5c31af7Sopenharmony_ci		both ""
4952e5c31af7Sopenharmony_ci			precision mediump float;
4953e5c31af7Sopenharmony_ci			precision mediump int;
4954e5c31af7Sopenharmony_ci
4955e5c31af7Sopenharmony_ci			${DECLARATIONS}
4956e5c31af7Sopenharmony_ci
4957e5c31af7Sopenharmony_ci			void main()
4958e5c31af7Sopenharmony_ci			{
4959e5c31af7Sopenharmony_ci				${SETUP}
4960e5c31af7Sopenharmony_ci				out0 = bvec3(in0, in1);
4961e5c31af7Sopenharmony_ci				${OUTPUT}
4962e5c31af7Sopenharmony_ci			}
4963e5c31af7Sopenharmony_ci		""
4964e5c31af7Sopenharmony_ci	end
4965e5c31af7Sopenharmony_ci
4966e5c31af7Sopenharmony_ci	case float_float_to_vec2
4967e5c31af7Sopenharmony_ci		values
4968e5c31af7Sopenharmony_ci		{
4969e5c31af7Sopenharmony_ci			input float in0 = [ 2.0 | 3.5 | -8.25 | -0.5 | 0.0 | -20.125 | 36.8125 | 1.0 ];
4970e5c31af7Sopenharmony_ci			input float in1 = [ 3.5 | -20.125 | -0.5 | 2.0 | 1.0 | 0.0 | 36.8125 | -8.25 ];
4971e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(2.0, 3.5) | vec2(3.5, -20.125) | vec2(-8.25, -0.5) | vec2(-0.5, 2.0) | vec2(0.0, 1.0) | vec2(-20.125, 0.0) | vec2(36.8125, 36.8125) | vec2(1.0, -8.25) ];
4972e5c31af7Sopenharmony_ci		}
4973e5c31af7Sopenharmony_ci
4974e5c31af7Sopenharmony_ci		both ""
4975e5c31af7Sopenharmony_ci			precision mediump float;
4976e5c31af7Sopenharmony_ci			precision mediump int;
4977e5c31af7Sopenharmony_ci
4978e5c31af7Sopenharmony_ci			${DECLARATIONS}
4979e5c31af7Sopenharmony_ci
4980e5c31af7Sopenharmony_ci			void main()
4981e5c31af7Sopenharmony_ci			{
4982e5c31af7Sopenharmony_ci				${SETUP}
4983e5c31af7Sopenharmony_ci				out0 = vec2(in0, in1);
4984e5c31af7Sopenharmony_ci				${OUTPUT}
4985e5c31af7Sopenharmony_ci			}
4986e5c31af7Sopenharmony_ci		""
4987e5c31af7Sopenharmony_ci	end
4988e5c31af7Sopenharmony_ci
4989e5c31af7Sopenharmony_ci	case float_float_to_ivec2
4990e5c31af7Sopenharmony_ci		values
4991e5c31af7Sopenharmony_ci		{
4992e5c31af7Sopenharmony_ci			input float in0 = [ 2.0 | 3.5 | -8.25 | -0.5 | 0.0 | -20.125 | 36.8125 | 1.0 ];
4993e5c31af7Sopenharmony_ci			input float in1 = [ 3.5 | -20.125 | -0.5 | 2.0 | 1.0 | 0.0 | 36.8125 | -8.25 ];
4994e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(2, 3) | ivec2(3, -20) | ivec2(-8, 0) | ivec2(0, 2) | ivec2(0, 1) | ivec2(-20, 0) | ivec2(36, 36) | ivec2(1, -8) ];
4995e5c31af7Sopenharmony_ci		}
4996e5c31af7Sopenharmony_ci
4997e5c31af7Sopenharmony_ci		both ""
4998e5c31af7Sopenharmony_ci			precision mediump float;
4999e5c31af7Sopenharmony_ci			precision mediump int;
5000e5c31af7Sopenharmony_ci
5001e5c31af7Sopenharmony_ci			${DECLARATIONS}
5002e5c31af7Sopenharmony_ci
5003e5c31af7Sopenharmony_ci			void main()
5004e5c31af7Sopenharmony_ci			{
5005e5c31af7Sopenharmony_ci				${SETUP}
5006e5c31af7Sopenharmony_ci				out0 = ivec2(in0, in1);
5007e5c31af7Sopenharmony_ci				${OUTPUT}
5008e5c31af7Sopenharmony_ci			}
5009e5c31af7Sopenharmony_ci		""
5010e5c31af7Sopenharmony_ci	end
5011e5c31af7Sopenharmony_ci
5012e5c31af7Sopenharmony_ci	case float_float_to_bvec2
5013e5c31af7Sopenharmony_ci		values
5014e5c31af7Sopenharmony_ci		{
5015e5c31af7Sopenharmony_ci			input float in0 = [ 2.0 | 3.5 | -8.25 | -0.5 | 0.0 | -20.125 | 36.8125 | 1.0 ];
5016e5c31af7Sopenharmony_ci			input float in1 = [ 3.5 | -20.125 | -0.5 | 2.0 | 1.0 | 0.0 | 36.8125 | -8.25 ];
5017e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(false, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) ];
5018e5c31af7Sopenharmony_ci		}
5019e5c31af7Sopenharmony_ci
5020e5c31af7Sopenharmony_ci		both ""
5021e5c31af7Sopenharmony_ci			precision mediump float;
5022e5c31af7Sopenharmony_ci			precision mediump int;
5023e5c31af7Sopenharmony_ci
5024e5c31af7Sopenharmony_ci			${DECLARATIONS}
5025e5c31af7Sopenharmony_ci
5026e5c31af7Sopenharmony_ci			void main()
5027e5c31af7Sopenharmony_ci			{
5028e5c31af7Sopenharmony_ci				${SETUP}
5029e5c31af7Sopenharmony_ci				out0 = bvec2(in0, in1);
5030e5c31af7Sopenharmony_ci				${OUTPUT}
5031e5c31af7Sopenharmony_ci			}
5032e5c31af7Sopenharmony_ci		""
5033e5c31af7Sopenharmony_ci	end
5034e5c31af7Sopenharmony_ci
5035e5c31af7Sopenharmony_ci	case int_int_to_vec2
5036e5c31af7Sopenharmony_ci		values
5037e5c31af7Sopenharmony_ci		{
5038e5c31af7Sopenharmony_ci			input int in0 = [ 8 | 255 | -192 | 2 | 0 | 1 | -12 | 11 | -66 | 5 ];
5039e5c31af7Sopenharmony_ci			input int in1 = [ -66 | 2 | 255 | 8 | -12 | 5 | -192 | 0 | 1 | 11 ];
5040e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(8.0, -66.0) | vec2(255.0, 2.0) | vec2(-192.0, 255.0) | vec2(2.0, 8.0) | vec2(0.0, -12.0) | vec2(1.0, 5.0) | vec2(-12.0, -192.0) | vec2(11.0, 0.0) | vec2(-66.0, 1.0) | vec2(5.0, 11.0) ];
5041e5c31af7Sopenharmony_ci		}
5042e5c31af7Sopenharmony_ci
5043e5c31af7Sopenharmony_ci		both ""
5044e5c31af7Sopenharmony_ci			precision mediump float;
5045e5c31af7Sopenharmony_ci			precision mediump int;
5046e5c31af7Sopenharmony_ci
5047e5c31af7Sopenharmony_ci			${DECLARATIONS}
5048e5c31af7Sopenharmony_ci
5049e5c31af7Sopenharmony_ci			void main()
5050e5c31af7Sopenharmony_ci			{
5051e5c31af7Sopenharmony_ci				${SETUP}
5052e5c31af7Sopenharmony_ci				out0 = vec2(in0, in1);
5053e5c31af7Sopenharmony_ci				${OUTPUT}
5054e5c31af7Sopenharmony_ci			}
5055e5c31af7Sopenharmony_ci		""
5056e5c31af7Sopenharmony_ci	end
5057e5c31af7Sopenharmony_ci
5058e5c31af7Sopenharmony_ci	case int_int_to_ivec2
5059e5c31af7Sopenharmony_ci		values
5060e5c31af7Sopenharmony_ci		{
5061e5c31af7Sopenharmony_ci			input int in0 = [ 8 | 255 | -192 | 2 | 0 | 1 | -12 | 11 | -66 | 5 ];
5062e5c31af7Sopenharmony_ci			input int in1 = [ -66 | 2 | 255 | 8 | -12 | 5 | -192 | 0 | 1 | 11 ];
5063e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(8, -66) | ivec2(255, 2) | ivec2(-192, 255) | ivec2(2, 8) | ivec2(0, -12) | ivec2(1, 5) | ivec2(-12, -192) | ivec2(11, 0) | ivec2(-66, 1) | ivec2(5, 11) ];
5064e5c31af7Sopenharmony_ci		}
5065e5c31af7Sopenharmony_ci
5066e5c31af7Sopenharmony_ci		both ""
5067e5c31af7Sopenharmony_ci			precision mediump float;
5068e5c31af7Sopenharmony_ci			precision mediump int;
5069e5c31af7Sopenharmony_ci
5070e5c31af7Sopenharmony_ci			${DECLARATIONS}
5071e5c31af7Sopenharmony_ci
5072e5c31af7Sopenharmony_ci			void main()
5073e5c31af7Sopenharmony_ci			{
5074e5c31af7Sopenharmony_ci				${SETUP}
5075e5c31af7Sopenharmony_ci				out0 = ivec2(in0, in1);
5076e5c31af7Sopenharmony_ci				${OUTPUT}
5077e5c31af7Sopenharmony_ci			}
5078e5c31af7Sopenharmony_ci		""
5079e5c31af7Sopenharmony_ci	end
5080e5c31af7Sopenharmony_ci
5081e5c31af7Sopenharmony_ci	case int_int_to_bvec2
5082e5c31af7Sopenharmony_ci		values
5083e5c31af7Sopenharmony_ci		{
5084e5c31af7Sopenharmony_ci			input int in0 = [ 8 | 255 | -192 | 2 | 0 | 1 | -12 | 11 | -66 | 5 ];
5085e5c31af7Sopenharmony_ci			input int in1 = [ -66 | 2 | 255 | 8 | -12 | 5 | -192 | 0 | 1 | 11 ];
5086e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) ];
5087e5c31af7Sopenharmony_ci		}
5088e5c31af7Sopenharmony_ci
5089e5c31af7Sopenharmony_ci		both ""
5090e5c31af7Sopenharmony_ci			precision mediump float;
5091e5c31af7Sopenharmony_ci			precision mediump int;
5092e5c31af7Sopenharmony_ci
5093e5c31af7Sopenharmony_ci			${DECLARATIONS}
5094e5c31af7Sopenharmony_ci
5095e5c31af7Sopenharmony_ci			void main()
5096e5c31af7Sopenharmony_ci			{
5097e5c31af7Sopenharmony_ci				${SETUP}
5098e5c31af7Sopenharmony_ci				out0 = bvec2(in0, in1);
5099e5c31af7Sopenharmony_ci				${OUTPUT}
5100e5c31af7Sopenharmony_ci			}
5101e5c31af7Sopenharmony_ci		""
5102e5c31af7Sopenharmony_ci	end
5103e5c31af7Sopenharmony_ci
5104e5c31af7Sopenharmony_ci	case bool_bool_to_vec2
5105e5c31af7Sopenharmony_ci		values
5106e5c31af7Sopenharmony_ci		{
5107e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
5108e5c31af7Sopenharmony_ci			input bool in1 = [ true | false ];
5109e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(1.0, 1.0) | vec2(0.0, 0.0) ];
5110e5c31af7Sopenharmony_ci		}
5111e5c31af7Sopenharmony_ci
5112e5c31af7Sopenharmony_ci		both ""
5113e5c31af7Sopenharmony_ci			precision mediump float;
5114e5c31af7Sopenharmony_ci			precision mediump int;
5115e5c31af7Sopenharmony_ci
5116e5c31af7Sopenharmony_ci			${DECLARATIONS}
5117e5c31af7Sopenharmony_ci
5118e5c31af7Sopenharmony_ci			void main()
5119e5c31af7Sopenharmony_ci			{
5120e5c31af7Sopenharmony_ci				${SETUP}
5121e5c31af7Sopenharmony_ci				out0 = vec2(in0, in1);
5122e5c31af7Sopenharmony_ci				${OUTPUT}
5123e5c31af7Sopenharmony_ci			}
5124e5c31af7Sopenharmony_ci		""
5125e5c31af7Sopenharmony_ci	end
5126e5c31af7Sopenharmony_ci
5127e5c31af7Sopenharmony_ci	case bool_bool_to_ivec2
5128e5c31af7Sopenharmony_ci		values
5129e5c31af7Sopenharmony_ci		{
5130e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
5131e5c31af7Sopenharmony_ci			input bool in1 = [ true | false ];
5132e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(1, 1) | ivec2(0, 0) ];
5133e5c31af7Sopenharmony_ci		}
5134e5c31af7Sopenharmony_ci
5135e5c31af7Sopenharmony_ci		both ""
5136e5c31af7Sopenharmony_ci			precision mediump float;
5137e5c31af7Sopenharmony_ci			precision mediump int;
5138e5c31af7Sopenharmony_ci
5139e5c31af7Sopenharmony_ci			${DECLARATIONS}
5140e5c31af7Sopenharmony_ci
5141e5c31af7Sopenharmony_ci			void main()
5142e5c31af7Sopenharmony_ci			{
5143e5c31af7Sopenharmony_ci				${SETUP}
5144e5c31af7Sopenharmony_ci				out0 = ivec2(in0, in1);
5145e5c31af7Sopenharmony_ci				${OUTPUT}
5146e5c31af7Sopenharmony_ci			}
5147e5c31af7Sopenharmony_ci		""
5148e5c31af7Sopenharmony_ci	end
5149e5c31af7Sopenharmony_ci
5150e5c31af7Sopenharmony_ci	case bool_bool_to_bvec2
5151e5c31af7Sopenharmony_ci		values
5152e5c31af7Sopenharmony_ci		{
5153e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
5154e5c31af7Sopenharmony_ci			input bool in1 = [ true | false ];
5155e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) ];
5156e5c31af7Sopenharmony_ci		}
5157e5c31af7Sopenharmony_ci
5158e5c31af7Sopenharmony_ci		both ""
5159e5c31af7Sopenharmony_ci			precision mediump float;
5160e5c31af7Sopenharmony_ci			precision mediump int;
5161e5c31af7Sopenharmony_ci
5162e5c31af7Sopenharmony_ci			${DECLARATIONS}
5163e5c31af7Sopenharmony_ci
5164e5c31af7Sopenharmony_ci			void main()
5165e5c31af7Sopenharmony_ci			{
5166e5c31af7Sopenharmony_ci				${SETUP}
5167e5c31af7Sopenharmony_ci				out0 = bvec2(in0, in1);
5168e5c31af7Sopenharmony_ci				${OUTPUT}
5169e5c31af7Sopenharmony_ci			}
5170e5c31af7Sopenharmony_ci		""
5171e5c31af7Sopenharmony_ci	end
5172e5c31af7Sopenharmony_ci
5173e5c31af7Sopenharmony_ci	case float_int_to_vec2
5174e5c31af7Sopenharmony_ci		values
5175e5c31af7Sopenharmony_ci		{
5176e5c31af7Sopenharmony_ci			input float in0 = [ 1.0 | -0.5 | -20.125 | 0.0 | 3.5 | -8.25 | 36.8125 | 2.0 | 1.0 | 0.0 ];
5177e5c31af7Sopenharmony_ci			input int in1 = [ -192 | -66 | 255 | 1 | 2 | 0 | -12 | 5 | 11 | 8 ];
5178e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(1.0, -192.0) | vec2(-0.5, -66.0) | vec2(-20.125, 255.0) | vec2(0.0, 1.0) | vec2(3.5, 2.0) | vec2(-8.25, 0.0) | vec2(36.8125, -12.0) | vec2(2.0, 5.0) | vec2(1.0, 11.0) | vec2(0.0, 8.0) ];
5179e5c31af7Sopenharmony_ci		}
5180e5c31af7Sopenharmony_ci
5181e5c31af7Sopenharmony_ci		both ""
5182e5c31af7Sopenharmony_ci			precision mediump float;
5183e5c31af7Sopenharmony_ci			precision mediump int;
5184e5c31af7Sopenharmony_ci
5185e5c31af7Sopenharmony_ci			${DECLARATIONS}
5186e5c31af7Sopenharmony_ci
5187e5c31af7Sopenharmony_ci			void main()
5188e5c31af7Sopenharmony_ci			{
5189e5c31af7Sopenharmony_ci				${SETUP}
5190e5c31af7Sopenharmony_ci				out0 = vec2(in0, in1);
5191e5c31af7Sopenharmony_ci				${OUTPUT}
5192e5c31af7Sopenharmony_ci			}
5193e5c31af7Sopenharmony_ci		""
5194e5c31af7Sopenharmony_ci	end
5195e5c31af7Sopenharmony_ci
5196e5c31af7Sopenharmony_ci	case float_int_to_ivec2
5197e5c31af7Sopenharmony_ci		values
5198e5c31af7Sopenharmony_ci		{
5199e5c31af7Sopenharmony_ci			input float in0 = [ 1.0 | -0.5 | -20.125 | 0.0 | 3.5 | -8.25 | 36.8125 | 2.0 | 1.0 | 0.0 ];
5200e5c31af7Sopenharmony_ci			input int in1 = [ -192 | -66 | 255 | 1 | 2 | 0 | -12 | 5 | 11 | 8 ];
5201e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(1, -192) | ivec2(0, -66) | ivec2(-20, 255) | ivec2(0, 1) | ivec2(3, 2) | ivec2(-8, 0) | ivec2(36, -12) | ivec2(2, 5) | ivec2(1, 11) | ivec2(0, 8) ];
5202e5c31af7Sopenharmony_ci		}
5203e5c31af7Sopenharmony_ci
5204e5c31af7Sopenharmony_ci		both ""
5205e5c31af7Sopenharmony_ci			precision mediump float;
5206e5c31af7Sopenharmony_ci			precision mediump int;
5207e5c31af7Sopenharmony_ci
5208e5c31af7Sopenharmony_ci			${DECLARATIONS}
5209e5c31af7Sopenharmony_ci
5210e5c31af7Sopenharmony_ci			void main()
5211e5c31af7Sopenharmony_ci			{
5212e5c31af7Sopenharmony_ci				${SETUP}
5213e5c31af7Sopenharmony_ci				out0 = ivec2(in0, in1);
5214e5c31af7Sopenharmony_ci				${OUTPUT}
5215e5c31af7Sopenharmony_ci			}
5216e5c31af7Sopenharmony_ci		""
5217e5c31af7Sopenharmony_ci	end
5218e5c31af7Sopenharmony_ci
5219e5c31af7Sopenharmony_ci	case float_int_to_bvec2
5220e5c31af7Sopenharmony_ci		values
5221e5c31af7Sopenharmony_ci		{
5222e5c31af7Sopenharmony_ci			input float in0 = [ 1.0 | -0.5 | -20.125 | 0.0 | 3.5 | -8.25 | 36.8125 | 2.0 | 1.0 | 0.0 ];
5223e5c31af7Sopenharmony_ci			input int in1 = [ -192 | -66 | 255 | 1 | 2 | 0 | -12 | 5 | 11 | 8 ];
5224e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(false, true) ];
5225e5c31af7Sopenharmony_ci		}
5226e5c31af7Sopenharmony_ci
5227e5c31af7Sopenharmony_ci		both ""
5228e5c31af7Sopenharmony_ci			precision mediump float;
5229e5c31af7Sopenharmony_ci			precision mediump int;
5230e5c31af7Sopenharmony_ci
5231e5c31af7Sopenharmony_ci			${DECLARATIONS}
5232e5c31af7Sopenharmony_ci
5233e5c31af7Sopenharmony_ci			void main()
5234e5c31af7Sopenharmony_ci			{
5235e5c31af7Sopenharmony_ci				${SETUP}
5236e5c31af7Sopenharmony_ci				out0 = bvec2(in0, in1);
5237e5c31af7Sopenharmony_ci				${OUTPUT}
5238e5c31af7Sopenharmony_ci			}
5239e5c31af7Sopenharmony_ci		""
5240e5c31af7Sopenharmony_ci	end
5241e5c31af7Sopenharmony_ci
5242e5c31af7Sopenharmony_ci	case float_bool_to_vec2
5243e5c31af7Sopenharmony_ci		values
5244e5c31af7Sopenharmony_ci		{
5245e5c31af7Sopenharmony_ci			input float in0 = [ 2.0 | -20.125 | 0.0 | 1.0 | -8.25 | -0.5 | 36.8125 | 3.5 ];
5246e5c31af7Sopenharmony_ci			input bool in1 = [ true | false | false | false | true | true | false | true ];
5247e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(2.0, 1.0) | vec2(-20.125, 0.0) | vec2(0.0, 0.0) | vec2(1.0, 0.0) | vec2(-8.25, 1.0) | vec2(-0.5, 1.0) | vec2(36.8125, 0.0) | vec2(3.5, 1.0) ];
5248e5c31af7Sopenharmony_ci		}
5249e5c31af7Sopenharmony_ci
5250e5c31af7Sopenharmony_ci		both ""
5251e5c31af7Sopenharmony_ci			precision mediump float;
5252e5c31af7Sopenharmony_ci			precision mediump int;
5253e5c31af7Sopenharmony_ci
5254e5c31af7Sopenharmony_ci			${DECLARATIONS}
5255e5c31af7Sopenharmony_ci
5256e5c31af7Sopenharmony_ci			void main()
5257e5c31af7Sopenharmony_ci			{
5258e5c31af7Sopenharmony_ci				${SETUP}
5259e5c31af7Sopenharmony_ci				out0 = vec2(in0, in1);
5260e5c31af7Sopenharmony_ci				${OUTPUT}
5261e5c31af7Sopenharmony_ci			}
5262e5c31af7Sopenharmony_ci		""
5263e5c31af7Sopenharmony_ci	end
5264e5c31af7Sopenharmony_ci
5265e5c31af7Sopenharmony_ci	case float_bool_to_ivec2
5266e5c31af7Sopenharmony_ci		values
5267e5c31af7Sopenharmony_ci		{
5268e5c31af7Sopenharmony_ci			input float in0 = [ 2.0 | -20.125 | 0.0 | 1.0 | -8.25 | -0.5 | 36.8125 | 3.5 ];
5269e5c31af7Sopenharmony_ci			input bool in1 = [ true | false | false | false | true | true | false | true ];
5270e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(2, 1) | ivec2(-20, 0) | ivec2(0, 0) | ivec2(1, 0) | ivec2(-8, 1) | ivec2(0, 1) | ivec2(36, 0) | ivec2(3, 1) ];
5271e5c31af7Sopenharmony_ci		}
5272e5c31af7Sopenharmony_ci
5273e5c31af7Sopenharmony_ci		both ""
5274e5c31af7Sopenharmony_ci			precision mediump float;
5275e5c31af7Sopenharmony_ci			precision mediump int;
5276e5c31af7Sopenharmony_ci
5277e5c31af7Sopenharmony_ci			${DECLARATIONS}
5278e5c31af7Sopenharmony_ci
5279e5c31af7Sopenharmony_ci			void main()
5280e5c31af7Sopenharmony_ci			{
5281e5c31af7Sopenharmony_ci				${SETUP}
5282e5c31af7Sopenharmony_ci				out0 = ivec2(in0, in1);
5283e5c31af7Sopenharmony_ci				${OUTPUT}
5284e5c31af7Sopenharmony_ci			}
5285e5c31af7Sopenharmony_ci		""
5286e5c31af7Sopenharmony_ci	end
5287e5c31af7Sopenharmony_ci
5288e5c31af7Sopenharmony_ci	case float_bool_to_bvec2
5289e5c31af7Sopenharmony_ci		values
5290e5c31af7Sopenharmony_ci		{
5291e5c31af7Sopenharmony_ci			input float in0 = [ 2.0 | -20.125 | 0.0 | 1.0 | -8.25 | -0.5 | 36.8125 | 3.5 ];
5292e5c31af7Sopenharmony_ci			input bool in1 = [ true | false | false | false | true | true | false | true ];
5293e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, false) | bvec2(true, true) ];
5294e5c31af7Sopenharmony_ci		}
5295e5c31af7Sopenharmony_ci
5296e5c31af7Sopenharmony_ci		both ""
5297e5c31af7Sopenharmony_ci			precision mediump float;
5298e5c31af7Sopenharmony_ci			precision mediump int;
5299e5c31af7Sopenharmony_ci
5300e5c31af7Sopenharmony_ci			${DECLARATIONS}
5301e5c31af7Sopenharmony_ci
5302e5c31af7Sopenharmony_ci			void main()
5303e5c31af7Sopenharmony_ci			{
5304e5c31af7Sopenharmony_ci				${SETUP}
5305e5c31af7Sopenharmony_ci				out0 = bvec2(in0, in1);
5306e5c31af7Sopenharmony_ci				${OUTPUT}
5307e5c31af7Sopenharmony_ci			}
5308e5c31af7Sopenharmony_ci		""
5309e5c31af7Sopenharmony_ci	end
5310e5c31af7Sopenharmony_ci
5311e5c31af7Sopenharmony_ci	case int_bool_to_vec2
5312e5c31af7Sopenharmony_ci		values
5313e5c31af7Sopenharmony_ci		{
5314e5c31af7Sopenharmony_ci			input int in0 = [ 8 | 255 | 11 | -66 | 0 | -192 | -12 | 1 | 5 | 2 ];
5315e5c31af7Sopenharmony_ci			input bool in1 = [ true | false | true | false | true | false | false | true | false | true ];
5316e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(8.0, 1.0) | vec2(255.0, 0.0) | vec2(11.0, 1.0) | vec2(-66.0, 0.0) | vec2(0.0, 1.0) | vec2(-192.0, 0.0) | vec2(-12.0, 0.0) | vec2(1.0, 1.0) | vec2(5.0, 0.0) | vec2(2.0, 1.0) ];
5317e5c31af7Sopenharmony_ci		}
5318e5c31af7Sopenharmony_ci
5319e5c31af7Sopenharmony_ci		both ""
5320e5c31af7Sopenharmony_ci			precision mediump float;
5321e5c31af7Sopenharmony_ci			precision mediump int;
5322e5c31af7Sopenharmony_ci
5323e5c31af7Sopenharmony_ci			${DECLARATIONS}
5324e5c31af7Sopenharmony_ci
5325e5c31af7Sopenharmony_ci			void main()
5326e5c31af7Sopenharmony_ci			{
5327e5c31af7Sopenharmony_ci				${SETUP}
5328e5c31af7Sopenharmony_ci				out0 = vec2(in0, in1);
5329e5c31af7Sopenharmony_ci				${OUTPUT}
5330e5c31af7Sopenharmony_ci			}
5331e5c31af7Sopenharmony_ci		""
5332e5c31af7Sopenharmony_ci	end
5333e5c31af7Sopenharmony_ci
5334e5c31af7Sopenharmony_ci	case int_bool_to_ivec2
5335e5c31af7Sopenharmony_ci		values
5336e5c31af7Sopenharmony_ci		{
5337e5c31af7Sopenharmony_ci			input int in0 = [ 8 | 255 | 11 | -66 | 0 | -192 | -12 | 1 | 5 | 2 ];
5338e5c31af7Sopenharmony_ci			input bool in1 = [ true | false | true | false | true | false | false | true | false | true ];
5339e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(8, 1) | ivec2(255, 0) | ivec2(11, 1) | ivec2(-66, 0) | ivec2(0, 1) | ivec2(-192, 0) | ivec2(-12, 0) | ivec2(1, 1) | ivec2(5, 0) | ivec2(2, 1) ];
5340e5c31af7Sopenharmony_ci		}
5341e5c31af7Sopenharmony_ci
5342e5c31af7Sopenharmony_ci		both ""
5343e5c31af7Sopenharmony_ci			precision mediump float;
5344e5c31af7Sopenharmony_ci			precision mediump int;
5345e5c31af7Sopenharmony_ci
5346e5c31af7Sopenharmony_ci			${DECLARATIONS}
5347e5c31af7Sopenharmony_ci
5348e5c31af7Sopenharmony_ci			void main()
5349e5c31af7Sopenharmony_ci			{
5350e5c31af7Sopenharmony_ci				${SETUP}
5351e5c31af7Sopenharmony_ci				out0 = ivec2(in0, in1);
5352e5c31af7Sopenharmony_ci				${OUTPUT}
5353e5c31af7Sopenharmony_ci			}
5354e5c31af7Sopenharmony_ci		""
5355e5c31af7Sopenharmony_ci	end
5356e5c31af7Sopenharmony_ci
5357e5c31af7Sopenharmony_ci	case int_bool_to_bvec2
5358e5c31af7Sopenharmony_ci		values
5359e5c31af7Sopenharmony_ci		{
5360e5c31af7Sopenharmony_ci			input int in0 = [ 8 | 255 | 11 | -66 | 0 | -192 | -12 | 1 | 5 | 2 ];
5361e5c31af7Sopenharmony_ci			input bool in1 = [ true | false | true | false | true | false | false | true | false | true ];
5362e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, false) | bvec2(false, true) | bvec2(true, false) | bvec2(true, false) | bvec2(true, true) | bvec2(true, false) | bvec2(true, true) ];
5363e5c31af7Sopenharmony_ci		}
5364e5c31af7Sopenharmony_ci
5365e5c31af7Sopenharmony_ci		both ""
5366e5c31af7Sopenharmony_ci			precision mediump float;
5367e5c31af7Sopenharmony_ci			precision mediump int;
5368e5c31af7Sopenharmony_ci
5369e5c31af7Sopenharmony_ci			${DECLARATIONS}
5370e5c31af7Sopenharmony_ci
5371e5c31af7Sopenharmony_ci			void main()
5372e5c31af7Sopenharmony_ci			{
5373e5c31af7Sopenharmony_ci				${SETUP}
5374e5c31af7Sopenharmony_ci				out0 = bvec2(in0, in1);
5375e5c31af7Sopenharmony_ci				${OUTPUT}
5376e5c31af7Sopenharmony_ci			}
5377e5c31af7Sopenharmony_ci		""
5378e5c31af7Sopenharmony_ci	end
5379e5c31af7Sopenharmony_ci
5380e5c31af7Sopenharmony_ci
5381e5c31af7Sopenharmony_ciend # vector_combine
5382e5c31af7Sopenharmony_cigroup matrix_combine "Matrix Combine Constructors"
5383e5c31af7Sopenharmony_ci
5384e5c31af7Sopenharmony_ci	case vec2_vec2_to_mat2
5385e5c31af7Sopenharmony_ci		values
5386e5c31af7Sopenharmony_ci		{
5387e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) ];
5388e5c31af7Sopenharmony_ci			input vec2 in1 = [ vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(0.0, 0.5) | vec2(1.0, 1.25) ];
5389e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(0.0, 0.5, -0.5, -2.25) | mat2(1.0, 1.25, -0.75, -0.0322580645161) | mat2(-32.0, 64.0, -32.0, 64.0) | mat2(-0.75, -0.0322580645161, 0.0, 0.5) | mat2(-0.5, -2.25, 1.0, 1.25) ];
5390e5c31af7Sopenharmony_ci		}
5391e5c31af7Sopenharmony_ci
5392e5c31af7Sopenharmony_ci		both ""
5393e5c31af7Sopenharmony_ci			precision mediump float;
5394e5c31af7Sopenharmony_ci			precision mediump int;
5395e5c31af7Sopenharmony_ci
5396e5c31af7Sopenharmony_ci			${DECLARATIONS}
5397e5c31af7Sopenharmony_ci
5398e5c31af7Sopenharmony_ci			void main()
5399e5c31af7Sopenharmony_ci			{
5400e5c31af7Sopenharmony_ci				${SETUP}
5401e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1);
5402e5c31af7Sopenharmony_ci				${OUTPUT}
5403e5c31af7Sopenharmony_ci			}
5404e5c31af7Sopenharmony_ci		""
5405e5c31af7Sopenharmony_ci	end
5406e5c31af7Sopenharmony_ci
5407e5c31af7Sopenharmony_ci	case bvec2_bvec2_to_mat2
5408e5c31af7Sopenharmony_ci		values
5409e5c31af7Sopenharmony_ci		{
5410e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ];
5411e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(true, true) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(false, true) ];
5412e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 0.0, 1.0, 1.0) | mat2(0.0, 0.0, 0.0, 0.0) | mat2(0.0, 1.0, 1.0, 0.0) | mat2(0.0, 0.0, 0.0, 0.0) | mat2(1.0, 1.0, 0.0, 1.0) ];
5413e5c31af7Sopenharmony_ci		}
5414e5c31af7Sopenharmony_ci
5415e5c31af7Sopenharmony_ci		both ""
5416e5c31af7Sopenharmony_ci			precision mediump float;
5417e5c31af7Sopenharmony_ci			precision mediump int;
5418e5c31af7Sopenharmony_ci
5419e5c31af7Sopenharmony_ci			${DECLARATIONS}
5420e5c31af7Sopenharmony_ci
5421e5c31af7Sopenharmony_ci			void main()
5422e5c31af7Sopenharmony_ci			{
5423e5c31af7Sopenharmony_ci				${SETUP}
5424e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1);
5425e5c31af7Sopenharmony_ci				${OUTPUT}
5426e5c31af7Sopenharmony_ci			}
5427e5c31af7Sopenharmony_ci		""
5428e5c31af7Sopenharmony_ci	end
5429e5c31af7Sopenharmony_ci
5430e5c31af7Sopenharmony_ci	case float_float_float_float_to_mat2
5431e5c31af7Sopenharmony_ci		values
5432e5c31af7Sopenharmony_ci		{
5433e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | -0.5 | -20.125 | 2.0 | 36.8125 | 1.0 | 3.5 | -8.25 ];
5434e5c31af7Sopenharmony_ci			input float in1 = [ -8.25 | 2.0 | -0.5 | -20.125 | 3.5 | 1.0 | 36.8125 | 0.0 ];
5435e5c31af7Sopenharmony_ci			input float in2 = [ 36.8125 | -8.25 | 3.5 | 2.0 | -0.5 | -20.125 | 1.0 | 0.0 ];
5436e5c31af7Sopenharmony_ci			input float in3 = [ 36.8125 | 0.0 | 2.0 | 3.5 | -8.25 | -0.5 | -20.125 | 1.0 ];
5437e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(0.0, -8.25, 36.8125, 36.8125) | mat2(-0.5, 2.0, -8.25, 0.0) | mat2(-20.125, -0.5, 3.5, 2.0) | mat2(2.0, -20.125, 2.0, 3.5) | mat2(36.8125, 3.5, -0.5, -8.25) | mat2(1.0, 1.0, -20.125, -0.5) | mat2(3.5, 36.8125, 1.0, -20.125) | mat2(-8.25, 0.0, 0.0, 1.0) ];
5438e5c31af7Sopenharmony_ci		}
5439e5c31af7Sopenharmony_ci
5440e5c31af7Sopenharmony_ci		both ""
5441e5c31af7Sopenharmony_ci			precision mediump float;
5442e5c31af7Sopenharmony_ci			precision mediump int;
5443e5c31af7Sopenharmony_ci
5444e5c31af7Sopenharmony_ci			${DECLARATIONS}
5445e5c31af7Sopenharmony_ci
5446e5c31af7Sopenharmony_ci			void main()
5447e5c31af7Sopenharmony_ci			{
5448e5c31af7Sopenharmony_ci				${SETUP}
5449e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1, in2, in3);
5450e5c31af7Sopenharmony_ci				${OUTPUT}
5451e5c31af7Sopenharmony_ci			}
5452e5c31af7Sopenharmony_ci		""
5453e5c31af7Sopenharmony_ci	end
5454e5c31af7Sopenharmony_ci
5455e5c31af7Sopenharmony_ci	case int_int_int_int_to_mat2
5456e5c31af7Sopenharmony_ci		values
5457e5c31af7Sopenharmony_ci		{
5458e5c31af7Sopenharmony_ci			input int in0 = [ 2 | 0 | -66 | 8 | 1 | 255 | 5 | -12 | 11 | -192 ];
5459e5c31af7Sopenharmony_ci			input int in1 = [ -192 | 2 | 5 | -12 | -66 | 255 | 8 | 1 | 11 | 0 ];
5460e5c31af7Sopenharmony_ci			input int in2 = [ 2 | 11 | -192 | 255 | 1 | 5 | 0 | -12 | 8 | -66 ];
5461e5c31af7Sopenharmony_ci			input int in3 = [ 255 | 0 | 11 | -66 | 2 | 8 | -192 | 1 | -12 | 5 ];
5462e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(2.0, -192.0, 2.0, 255.0) | mat2(0.0, 2.0, 11.0, 0.0) | mat2(-66.0, 5.0, -192.0, 11.0) | mat2(8.0, -12.0, 255.0, -66.0) | mat2(1.0, -66.0, 1.0, 2.0) | mat2(255.0, 255.0, 5.0, 8.0) | mat2(5.0, 8.0, 0.0, -192.0) | mat2(-12.0, 1.0, -12.0, 1.0) | mat2(11.0, 11.0, 8.0, -12.0) | mat2(-192.0, 0.0, -66.0, 5.0) ];
5463e5c31af7Sopenharmony_ci		}
5464e5c31af7Sopenharmony_ci
5465e5c31af7Sopenharmony_ci		both ""
5466e5c31af7Sopenharmony_ci			precision mediump float;
5467e5c31af7Sopenharmony_ci			precision mediump int;
5468e5c31af7Sopenharmony_ci
5469e5c31af7Sopenharmony_ci			${DECLARATIONS}
5470e5c31af7Sopenharmony_ci
5471e5c31af7Sopenharmony_ci			void main()
5472e5c31af7Sopenharmony_ci			{
5473e5c31af7Sopenharmony_ci				${SETUP}
5474e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1, in2, in3);
5475e5c31af7Sopenharmony_ci				${OUTPUT}
5476e5c31af7Sopenharmony_ci			}
5477e5c31af7Sopenharmony_ci		""
5478e5c31af7Sopenharmony_ci	end
5479e5c31af7Sopenharmony_ci
5480e5c31af7Sopenharmony_ci	case bool_bool_bool_bool_to_mat2
5481e5c31af7Sopenharmony_ci		values
5482e5c31af7Sopenharmony_ci		{
5483e5c31af7Sopenharmony_ci			input bool in0 = [ false | true ];
5484e5c31af7Sopenharmony_ci			input bool in1 = [ false | true ];
5485e5c31af7Sopenharmony_ci			input bool in2 = [ true | false ];
5486e5c31af7Sopenharmony_ci			input bool in3 = [ false | true ];
5487e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(0.0, 0.0, 1.0, 0.0) | mat2(1.0, 1.0, 0.0, 1.0) ];
5488e5c31af7Sopenharmony_ci		}
5489e5c31af7Sopenharmony_ci
5490e5c31af7Sopenharmony_ci		both ""
5491e5c31af7Sopenharmony_ci			precision mediump float;
5492e5c31af7Sopenharmony_ci			precision mediump int;
5493e5c31af7Sopenharmony_ci
5494e5c31af7Sopenharmony_ci			${DECLARATIONS}
5495e5c31af7Sopenharmony_ci
5496e5c31af7Sopenharmony_ci			void main()
5497e5c31af7Sopenharmony_ci			{
5498e5c31af7Sopenharmony_ci				${SETUP}
5499e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1, in2, in3);
5500e5c31af7Sopenharmony_ci				${OUTPUT}
5501e5c31af7Sopenharmony_ci			}
5502e5c31af7Sopenharmony_ci		""
5503e5c31af7Sopenharmony_ci	end
5504e5c31af7Sopenharmony_ci
5505e5c31af7Sopenharmony_ci	case bool_float_int_bool_to_mat2
5506e5c31af7Sopenharmony_ci		values
5507e5c31af7Sopenharmony_ci		{
5508e5c31af7Sopenharmony_ci			input bool in0 = [ false | true | true | false | false | true | true | true | false | false ];
5509e5c31af7Sopenharmony_ci			input float in1 = [ -0.5 | -20.125 | 3.5 | 2.0 | 1.0 | 0.0 | 0.0 | 1.0 | 36.8125 | -8.25 ];
5510e5c31af7Sopenharmony_ci			input int in2 = [ -66 | -192 | 5 | 255 | 0 | -12 | 11 | 1 | 2 | 8 ];
5511e5c31af7Sopenharmony_ci			input bool in3 = [ true | false | true | false | false | false | true | false | true | true ];
5512e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(0.0, -0.5, -66.0, 1.0) | mat2(1.0, -20.125, -192.0, 0.0) | mat2(1.0, 3.5, 5.0, 1.0) | mat2(0.0, 2.0, 255.0, 0.0) | mat2(0.0, 1.0, 0.0, 0.0) | mat2(1.0, 0.0, -12.0, 0.0) | mat2(1.0, 0.0, 11.0, 1.0) | mat2(1.0, 1.0, 1.0, 0.0) | mat2(0.0, 36.8125, 2.0, 1.0) | mat2(0.0, -8.25, 8.0, 1.0) ];
5513e5c31af7Sopenharmony_ci		}
5514e5c31af7Sopenharmony_ci
5515e5c31af7Sopenharmony_ci		both ""
5516e5c31af7Sopenharmony_ci			precision mediump float;
5517e5c31af7Sopenharmony_ci			precision mediump int;
5518e5c31af7Sopenharmony_ci
5519e5c31af7Sopenharmony_ci			${DECLARATIONS}
5520e5c31af7Sopenharmony_ci
5521e5c31af7Sopenharmony_ci			void main()
5522e5c31af7Sopenharmony_ci			{
5523e5c31af7Sopenharmony_ci				${SETUP}
5524e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1, in2, in3);
5525e5c31af7Sopenharmony_ci				${OUTPUT}
5526e5c31af7Sopenharmony_ci			}
5527e5c31af7Sopenharmony_ci		""
5528e5c31af7Sopenharmony_ci	end
5529e5c31af7Sopenharmony_ci
5530e5c31af7Sopenharmony_ci	case vec2_ivec2_to_mat2
5531e5c31af7Sopenharmony_ci		values
5532e5c31af7Sopenharmony_ci		{
5533e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) | vec2(1.0, 1.25) ];
5534e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) ];
5535e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(0.0, 0.5, -32.0, 64.0) | mat2(-32.0, 64.0, 0.0, 0.0) | mat2(-0.5, -2.25, 0.0, -2.0) | mat2(-0.75, -0.0322580645161, 0.0, 0.0) | mat2(1.0, 1.25, 1.0, 1.0) ];
5536e5c31af7Sopenharmony_ci		}
5537e5c31af7Sopenharmony_ci
5538e5c31af7Sopenharmony_ci		both ""
5539e5c31af7Sopenharmony_ci			precision mediump float;
5540e5c31af7Sopenharmony_ci			precision mediump int;
5541e5c31af7Sopenharmony_ci
5542e5c31af7Sopenharmony_ci			${DECLARATIONS}
5543e5c31af7Sopenharmony_ci
5544e5c31af7Sopenharmony_ci			void main()
5545e5c31af7Sopenharmony_ci			{
5546e5c31af7Sopenharmony_ci				${SETUP}
5547e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1);
5548e5c31af7Sopenharmony_ci				${OUTPUT}
5549e5c31af7Sopenharmony_ci			}
5550e5c31af7Sopenharmony_ci		""
5551e5c31af7Sopenharmony_ci	end
5552e5c31af7Sopenharmony_ci
5553e5c31af7Sopenharmony_ci	case vec2_bvec2_to_mat2
5554e5c31af7Sopenharmony_ci		values
5555e5c31af7Sopenharmony_ci		{
5556e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) | vec2(1.0, 1.25) | vec2(0.0, 0.5) ];
5557e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(false, true) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) ];
5558e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(-32.0, 64.0, 0.0, 1.0) | mat2(-0.5, -2.25, 0.0, 0.0) | mat2(-0.75, -0.0322580645161, 1.0, 0.0) | mat2(1.0, 1.25, 0.0, 0.0) | mat2(0.0, 0.5, 1.0, 1.0) ];
5559e5c31af7Sopenharmony_ci		}
5560e5c31af7Sopenharmony_ci
5561e5c31af7Sopenharmony_ci		both ""
5562e5c31af7Sopenharmony_ci			precision mediump float;
5563e5c31af7Sopenharmony_ci			precision mediump int;
5564e5c31af7Sopenharmony_ci
5565e5c31af7Sopenharmony_ci			${DECLARATIONS}
5566e5c31af7Sopenharmony_ci
5567e5c31af7Sopenharmony_ci			void main()
5568e5c31af7Sopenharmony_ci			{
5569e5c31af7Sopenharmony_ci				${SETUP}
5570e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1);
5571e5c31af7Sopenharmony_ci				${OUTPUT}
5572e5c31af7Sopenharmony_ci			}
5573e5c31af7Sopenharmony_ci		""
5574e5c31af7Sopenharmony_ci	end
5575e5c31af7Sopenharmony_ci
5576e5c31af7Sopenharmony_ci	case bvec3_float_to_mat2
5577e5c31af7Sopenharmony_ci		values
5578e5c31af7Sopenharmony_ci		{
5579e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(true, false, false) | bvec3(false, true, false) | bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, false, false) ];
5580e5c31af7Sopenharmony_ci			input float in1 = [ -20.125 | -0.5 | 3.5 | -8.25 | 0.0 | 1.0 | 2.0 | 36.8125 ];
5581e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(0.0, 1.0, 0.0, -20.125) | mat2(1.0, 1.0, 1.0, -0.5) | mat2(0.0, 0.0, 0.0, 3.5) | mat2(1.0, 0.0, 0.0, -8.25) | mat2(0.0, 1.0, 0.0, 0.0) | mat2(1.0, 0.0, 0.0, 1.0) | mat2(0.0, 0.0, 0.0, 2.0) | mat2(0.0, 0.0, 0.0, 36.8125) ];
5582e5c31af7Sopenharmony_ci		}
5583e5c31af7Sopenharmony_ci
5584e5c31af7Sopenharmony_ci		both ""
5585e5c31af7Sopenharmony_ci			precision mediump float;
5586e5c31af7Sopenharmony_ci			precision mediump int;
5587e5c31af7Sopenharmony_ci
5588e5c31af7Sopenharmony_ci			${DECLARATIONS}
5589e5c31af7Sopenharmony_ci
5590e5c31af7Sopenharmony_ci			void main()
5591e5c31af7Sopenharmony_ci			{
5592e5c31af7Sopenharmony_ci				${SETUP}
5593e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1);
5594e5c31af7Sopenharmony_ci				${OUTPUT}
5595e5c31af7Sopenharmony_ci			}
5596e5c31af7Sopenharmony_ci		""
5597e5c31af7Sopenharmony_ci	end
5598e5c31af7Sopenharmony_ci
5599e5c31af7Sopenharmony_ci	case vec3_float_to_mat2
5600e5c31af7Sopenharmony_ci		values
5601e5c31af7Sopenharmony_ci		{
5602e5c31af7Sopenharmony_ci			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(-0.5, -2.25, -4.875) | vec3(0.0, 0.5, 0.75) | vec3(-32.0, 64.0, -51.0) | vec3(-0.5, -2.25, -4.875) | vec3(1.0, 1.25, 1.125) ];
5603e5c31af7Sopenharmony_ci			input float in1 = [ -8.25 | 36.8125 | -0.5 | -20.125 | 1.0 | 2.0 | 0.0 | 3.5 ];
5604e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(0.0, 0.5, 0.75, -8.25) | mat2(1.0, 1.25, 1.125, 36.8125) | mat2(-0.75, -0.0322580645161, 0.0526315789474, -0.5) | mat2(-0.5, -2.25, -4.875, -20.125) | mat2(0.0, 0.5, 0.75, 1.0) | mat2(-32.0, 64.0, -51.0, 2.0) | mat2(-0.5, -2.25, -4.875, 0.0) | mat2(1.0, 1.25, 1.125, 3.5) ];
5605e5c31af7Sopenharmony_ci		}
5606e5c31af7Sopenharmony_ci
5607e5c31af7Sopenharmony_ci		both ""
5608e5c31af7Sopenharmony_ci			precision mediump float;
5609e5c31af7Sopenharmony_ci			precision mediump int;
5610e5c31af7Sopenharmony_ci
5611e5c31af7Sopenharmony_ci			${DECLARATIONS}
5612e5c31af7Sopenharmony_ci
5613e5c31af7Sopenharmony_ci			void main()
5614e5c31af7Sopenharmony_ci			{
5615e5c31af7Sopenharmony_ci				${SETUP}
5616e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1);
5617e5c31af7Sopenharmony_ci				${OUTPUT}
5618e5c31af7Sopenharmony_ci			}
5619e5c31af7Sopenharmony_ci		""
5620e5c31af7Sopenharmony_ci	end
5621e5c31af7Sopenharmony_ci
5622e5c31af7Sopenharmony_ci	case int_ivec2_int_to_mat2
5623e5c31af7Sopenharmony_ci		values
5624e5c31af7Sopenharmony_ci		{
5625e5c31af7Sopenharmony_ci			input int in0 = [ -66 | 255 | 8 | 0 | 5 | -12 | 1 | -192 | 2 | 11 ];
5626e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) ];
5627e5c31af7Sopenharmony_ci			input int in2 = [ 0 | -12 | 8 | -66 | 11 | 5 | 255 | 2 | 1 | -192 ];
5628e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(-66.0, 0.0, -2.0, 0.0) | mat2(255.0, 0.0, 0.0, -12.0) | mat2(8.0, -32.0, 64.0, 8.0) | mat2(0.0, 1.0, 1.0, -66.0) | mat2(5.0, 0.0, 0.0, 11.0) | mat2(-12.0, 0.0, 0.0, 5.0) | mat2(1.0, -32.0, 64.0, 255.0) | mat2(-192.0, 0.0, -2.0, 2.0) | mat2(2.0, 0.0, 0.0, 1.0) | mat2(11.0, 1.0, 1.0, -192.0) ];
5629e5c31af7Sopenharmony_ci		}
5630e5c31af7Sopenharmony_ci
5631e5c31af7Sopenharmony_ci		both ""
5632e5c31af7Sopenharmony_ci			precision mediump float;
5633e5c31af7Sopenharmony_ci			precision mediump int;
5634e5c31af7Sopenharmony_ci
5635e5c31af7Sopenharmony_ci			${DECLARATIONS}
5636e5c31af7Sopenharmony_ci
5637e5c31af7Sopenharmony_ci			void main()
5638e5c31af7Sopenharmony_ci			{
5639e5c31af7Sopenharmony_ci				${SETUP}
5640e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1, in2);
5641e5c31af7Sopenharmony_ci				${OUTPUT}
5642e5c31af7Sopenharmony_ci			}
5643e5c31af7Sopenharmony_ci		""
5644e5c31af7Sopenharmony_ci	end
5645e5c31af7Sopenharmony_ci
5646e5c31af7Sopenharmony_ci	case bool_float_ivec2_to_mat2
5647e5c31af7Sopenharmony_ci		values
5648e5c31af7Sopenharmony_ci		{
5649e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | true | false | true | false | false | false ];
5650e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | 1.0 | 2.0 | -0.5 | 3.5 | -20.125 | 36.8125 | -8.25 ];
5651e5c31af7Sopenharmony_ci			input ivec2 in2 = [ ivec2(1, 1) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) ];
5652e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 0.0, 1.0, 1.0) | mat2(1.0, 1.0, 1.0, 1.0) | mat2(1.0, 2.0, 0.0, -2.0) | mat2(0.0, -0.5, 0.0, 0.0) | mat2(1.0, 3.5, -32.0, 64.0) | mat2(0.0, -20.125, 0.0, -2.0) | mat2(0.0, 36.8125, 0.0, 0.0) | mat2(0.0, -8.25, 0.0, 0.0) ];
5653e5c31af7Sopenharmony_ci		}
5654e5c31af7Sopenharmony_ci
5655e5c31af7Sopenharmony_ci		both ""
5656e5c31af7Sopenharmony_ci			precision mediump float;
5657e5c31af7Sopenharmony_ci			precision mediump int;
5658e5c31af7Sopenharmony_ci
5659e5c31af7Sopenharmony_ci			${DECLARATIONS}
5660e5c31af7Sopenharmony_ci
5661e5c31af7Sopenharmony_ci			void main()
5662e5c31af7Sopenharmony_ci			{
5663e5c31af7Sopenharmony_ci				${SETUP}
5664e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1, in2);
5665e5c31af7Sopenharmony_ci				${OUTPUT}
5666e5c31af7Sopenharmony_ci			}
5667e5c31af7Sopenharmony_ci		""
5668e5c31af7Sopenharmony_ci	end
5669e5c31af7Sopenharmony_ci
5670e5c31af7Sopenharmony_ci	case vec3_vec3_vec3_to_mat3
5671e5c31af7Sopenharmony_ci		values
5672e5c31af7Sopenharmony_ci		{
5673e5c31af7Sopenharmony_ci			input vec3 in0 = [ vec3(1.0, 1.25, 1.125) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(-32.0, 64.0, -51.0) | vec3(-0.5, -2.25, -4.875) | vec3(0.0, 0.5, 0.75) ];
5674e5c31af7Sopenharmony_ci			input vec3 in1 = [ vec3(-0.5, -2.25, -4.875) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(0.0, 0.5, 0.75) | vec3(-32.0, 64.0, -51.0) | vec3(1.0, 1.25, 1.125) ];
5675e5c31af7Sopenharmony_ci			input vec3 in2 = [ vec3(-0.5, -2.25, -4.875) | vec3(0.0, 0.5, 0.75) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(-32.0, 64.0, -51.0) | vec3(1.0, 1.25, 1.125) ];
5676e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(1.0, 1.25, 1.125, -0.5, -2.25, -4.875, -0.5, -2.25, -4.875) | mat3(-0.75, -0.0322580645161, 0.0526315789474, -0.75, -0.0322580645161, 0.0526315789474, 0.0, 0.5, 0.75) | mat3(-32.0, 64.0, -51.0, 0.0, 0.5, 0.75, -0.75, -0.0322580645161, 0.0526315789474) | mat3(-0.5, -2.25, -4.875, -32.0, 64.0, -51.0, -32.0, 64.0, -51.0) | mat3(0.0, 0.5, 0.75, 1.0, 1.25, 1.125, 1.0, 1.25, 1.125) ];
5677e5c31af7Sopenharmony_ci		}
5678e5c31af7Sopenharmony_ci
5679e5c31af7Sopenharmony_ci		both ""
5680e5c31af7Sopenharmony_ci			precision mediump float;
5681e5c31af7Sopenharmony_ci			precision mediump int;
5682e5c31af7Sopenharmony_ci
5683e5c31af7Sopenharmony_ci			${DECLARATIONS}
5684e5c31af7Sopenharmony_ci
5685e5c31af7Sopenharmony_ci			void main()
5686e5c31af7Sopenharmony_ci			{
5687e5c31af7Sopenharmony_ci				${SETUP}
5688e5c31af7Sopenharmony_ci				out0 = mat3(in0, in1, in2);
5689e5c31af7Sopenharmony_ci				${OUTPUT}
5690e5c31af7Sopenharmony_ci			}
5691e5c31af7Sopenharmony_ci		""
5692e5c31af7Sopenharmony_ci	end
5693e5c31af7Sopenharmony_ci
5694e5c31af7Sopenharmony_ci	case ivec3_ivec3_ivec3_to_mat3
5695e5c31af7Sopenharmony_ci		values
5696e5c31af7Sopenharmony_ci		{
5697e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, -2, -4) | ivec3(1, 1, 1) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) | ivec3(0, 0, 0) ];
5698e5c31af7Sopenharmony_ci			input ivec3 in1 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
5699e5c31af7Sopenharmony_ci			input ivec3 in2 = [ ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(0, 0, 0) | ivec3(-32, 64, -51) | ivec3(0, -2, -4) ];
5700e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(0.0, -2.0, -4.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat3(1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0) | mat3(-32.0, 64.0, -51.0, 0.0, -2.0, -4.0, 0.0, 0.0, 0.0) | mat3(0.0, 0.0, 0.0, -32.0, 64.0, -51.0, -32.0, 64.0, -51.0) | mat3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.0, -4.0) ];
5701e5c31af7Sopenharmony_ci		}
5702e5c31af7Sopenharmony_ci
5703e5c31af7Sopenharmony_ci		both ""
5704e5c31af7Sopenharmony_ci			precision mediump float;
5705e5c31af7Sopenharmony_ci			precision mediump int;
5706e5c31af7Sopenharmony_ci
5707e5c31af7Sopenharmony_ci			${DECLARATIONS}
5708e5c31af7Sopenharmony_ci
5709e5c31af7Sopenharmony_ci			void main()
5710e5c31af7Sopenharmony_ci			{
5711e5c31af7Sopenharmony_ci				${SETUP}
5712e5c31af7Sopenharmony_ci				out0 = mat3(in0, in1, in2);
5713e5c31af7Sopenharmony_ci				${OUTPUT}
5714e5c31af7Sopenharmony_ci			}
5715e5c31af7Sopenharmony_ci		""
5716e5c31af7Sopenharmony_ci	end
5717e5c31af7Sopenharmony_ci
5718e5c31af7Sopenharmony_ci	case vec2_ivec2_float_float_int_bool_bool_to_mat3
5719e5c31af7Sopenharmony_ci		values
5720e5c31af7Sopenharmony_ci		{
5721e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-0.75, -0.0322580645161) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) ];
5722e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(-32, 64) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 0) ];
5723e5c31af7Sopenharmony_ci			input float in2 = [ -20.125 | -8.25 | 3.5 | 1.0 | 1.0 | -0.5 | 2.0 | 0.0 | 36.8125 | 0.0 ];
5724e5c31af7Sopenharmony_ci			input float in3 = [ 0.0 | -0.5 | 1.0 | -20.125 | 36.8125 | 0.0 | -8.25 | 2.0 | 3.5 | 1.0 ];
5725e5c31af7Sopenharmony_ci			input int in4 = [ 2 | 11 | 1 | 0 | 8 | 5 | -66 | 255 | -192 | -12 ];
5726e5c31af7Sopenharmony_ci			input bool in5 = [ false | true | true | false | false | true | false | true | false | true ];
5727e5c31af7Sopenharmony_ci			input bool in6 = [ false | true | false | false | true | true | true | true | false | false ];
5728e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(-0.75, -0.0322580645161, -32.0, 64.0, -20.125, 0.0, 2.0, 0.0, 0.0) | mat3(1.0, 1.25, 0.0, -2.0, -8.25, -0.5, 11.0, 1.0, 1.0) | mat3(0.0, 0.5, 1.0, 1.0, 3.5, 1.0, 1.0, 1.0, 0.0) | mat3(-32.0, 64.0, 0.0, 0.0, 1.0, -20.125, 0.0, 0.0, 0.0) | mat3(-0.5, -2.25, 0.0, 0.0, 1.0, 36.8125, 8.0, 0.0, 1.0) | mat3(-32.0, 64.0, 0.0, -2.0, -0.5, 0.0, 5.0, 1.0, 1.0) | mat3(-0.75, -0.0322580645161, -32.0, 64.0, 2.0, -8.25, -66.0, 0.0, 1.0) | mat3(1.0, 1.25, 0.0, 0.0, 0.0, 2.0, 255.0, 1.0, 1.0) | mat3(0.0, 0.5, 1.0, 1.0, 36.8125, 3.5, -192.0, 0.0, 0.0) | mat3(-0.5, -2.25, 0.0, 0.0, 0.0, 1.0, -12.0, 1.0, 0.0) ];
5729e5c31af7Sopenharmony_ci		}
5730e5c31af7Sopenharmony_ci
5731e5c31af7Sopenharmony_ci		both ""
5732e5c31af7Sopenharmony_ci			precision mediump float;
5733e5c31af7Sopenharmony_ci			precision mediump int;
5734e5c31af7Sopenharmony_ci
5735e5c31af7Sopenharmony_ci			${DECLARATIONS}
5736e5c31af7Sopenharmony_ci
5737e5c31af7Sopenharmony_ci			void main()
5738e5c31af7Sopenharmony_ci			{
5739e5c31af7Sopenharmony_ci				${SETUP}
5740e5c31af7Sopenharmony_ci				out0 = mat3(in0, in1, in2, in3, in4, in5, in6);
5741e5c31af7Sopenharmony_ci				${OUTPUT}
5742e5c31af7Sopenharmony_ci			}
5743e5c31af7Sopenharmony_ci		""
5744e5c31af7Sopenharmony_ci	end
5745e5c31af7Sopenharmony_ci
5746e5c31af7Sopenharmony_ci	case bool_float_int_vec2_bool_bvec2_float_to_mat3
5747e5c31af7Sopenharmony_ci		values
5748e5c31af7Sopenharmony_ci		{
5749e5c31af7Sopenharmony_ci			input bool in0 = [ false | false | false | true | false | false | true | true | true | true ];
5750e5c31af7Sopenharmony_ci			input float in1 = [ 3.5 | -20.125 | 36.8125 | 0.0 | 2.0 | -8.25 | 1.0 | -0.5 | 1.0 | 0.0 ];
5751e5c31af7Sopenharmony_ci			input int in2 = [ 255 | -192 | 11 | 0 | 8 | 5 | -66 | 2 | -12 | 1 ];
5752e5c31af7Sopenharmony_ci			input vec2 in3 = [ vec2(0.0, 0.5) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) ];
5753e5c31af7Sopenharmony_ci			input bool in4 = [ true | true | false | false | false | true | false | true | false | true ];
5754e5c31af7Sopenharmony_ci			input bvec2 in5 = [ bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) | bvec2(true, false) | bvec2(true, false) | bvec2(false, false) | bvec2(false, true) ];
5755e5c31af7Sopenharmony_ci			input float in6 = [ 0.0 | 36.8125 | 3.5 | -0.5 | -8.25 | 1.0 | 0.0 | 1.0 | -20.125 | 2.0 ];
5756e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(0.0, 3.5, 255.0, 0.0, 0.5, 1.0, 0.0, 0.0, 0.0) | mat3(0.0, -20.125, -192.0, 0.0, 0.5, 1.0, 0.0, 0.0, 36.8125) | mat3(0.0, 36.8125, 11.0, -0.5, -2.25, 0.0, 1.0, 1.0, 3.5) | mat3(1.0, 0.0, 0.0, 1.0, 1.25, 0.0, 0.0, 1.0, -0.5) | mat3(0.0, 2.0, 8.0, -0.5, -2.25, 0.0, 1.0, 1.0, -8.25) | mat3(0.0, -8.25, 5.0, -0.75, -0.0322580645161, 1.0, 0.0, 0.0, 1.0) | mat3(1.0, 1.0, -66.0, -32.0, 64.0, 0.0, 1.0, 0.0, 0.0) | mat3(1.0, -0.5, 2.0, 1.0, 1.25, 1.0, 1.0, 0.0, 1.0) | mat3(1.0, 1.0, -12.0, -0.75, -0.0322580645161, 0.0, 0.0, 0.0, -20.125) | mat3(1.0, 0.0, 1.0, -32.0, 64.0, 1.0, 0.0, 1.0, 2.0) ];
5757e5c31af7Sopenharmony_ci		}
5758e5c31af7Sopenharmony_ci
5759e5c31af7Sopenharmony_ci		both ""
5760e5c31af7Sopenharmony_ci			precision mediump float;
5761e5c31af7Sopenharmony_ci			precision mediump int;
5762e5c31af7Sopenharmony_ci
5763e5c31af7Sopenharmony_ci			${DECLARATIONS}
5764e5c31af7Sopenharmony_ci
5765e5c31af7Sopenharmony_ci			void main()
5766e5c31af7Sopenharmony_ci			{
5767e5c31af7Sopenharmony_ci				${SETUP}
5768e5c31af7Sopenharmony_ci				out0 = mat3(in0, in1, in2, in3, in4, in5, in6);
5769e5c31af7Sopenharmony_ci				${OUTPUT}
5770e5c31af7Sopenharmony_ci			}
5771e5c31af7Sopenharmony_ci		""
5772e5c31af7Sopenharmony_ci	end
5773e5c31af7Sopenharmony_ci
5774e5c31af7Sopenharmony_ci	case bool_bvec2_int_vec4_bool_to_mat3
5775e5c31af7Sopenharmony_ci		values
5776e5c31af7Sopenharmony_ci		{
5777e5c31af7Sopenharmony_ci			input bool in0 = [ true | false | false | false | false | true | true | true | true | false ];
5778e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(true, true) | bvec2(false, false) | bvec2(false, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(true, false) | bvec2(false, true) ];
5779e5c31af7Sopenharmony_ci			input int in2 = [ 2 | -66 | 1 | 8 | -12 | 0 | 5 | 11 | 255 | -192 ];
5780e5c31af7Sopenharmony_ci			input vec4 in3 = [ vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(0.0, 0.5, 0.75, 0.825) | vec4(0.0, 0.5, 0.75, 0.825) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.5, -2.25, -4.875, 9.0) ];
5781e5c31af7Sopenharmony_ci			input bool in4 = [ false | false | true | true | true | false | true | false | false | true ];
5782e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(1.0, 1.0, 1.0, 2.0, 1.0, 1.25, 1.125, 1.75, 0.0) | mat3(0.0, 0.0, 0.0, -66.0, -0.5, -2.25, -4.875, 9.0, 0.0) | mat3(0.0, 0.0, 1.0, 1.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 1.0) | mat3(0.0, 0.0, 0.0, 8.0, 1.0, 1.25, 1.125, 1.75, 1.0) | mat3(0.0, 0.0, 0.0, -12.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 1.0) | mat3(1.0, 1.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0, 0.0) | mat3(1.0, 0.0, 0.0, 5.0, 0.0, 0.5, 0.75, 0.825, 1.0) | mat3(1.0, 1.0, 1.0, 11.0, 0.0, 0.5, 0.75, 0.825, 0.0) | mat3(1.0, 1.0, 0.0, 255.0, -32.0, 64.0, -51.0, 24.0, 0.0) | mat3(0.0, 0.0, 1.0, -192.0, -0.5, -2.25, -4.875, 9.0, 1.0) ];
5783e5c31af7Sopenharmony_ci		}
5784e5c31af7Sopenharmony_ci
5785e5c31af7Sopenharmony_ci		both ""
5786e5c31af7Sopenharmony_ci			precision mediump float;
5787e5c31af7Sopenharmony_ci			precision mediump int;
5788e5c31af7Sopenharmony_ci
5789e5c31af7Sopenharmony_ci			${DECLARATIONS}
5790e5c31af7Sopenharmony_ci
5791e5c31af7Sopenharmony_ci			void main()
5792e5c31af7Sopenharmony_ci			{
5793e5c31af7Sopenharmony_ci				${SETUP}
5794e5c31af7Sopenharmony_ci				out0 = mat3(in0, in1, in2, in3, in4);
5795e5c31af7Sopenharmony_ci				${OUTPUT}
5796e5c31af7Sopenharmony_ci			}
5797e5c31af7Sopenharmony_ci		""
5798e5c31af7Sopenharmony_ci	end
5799e5c31af7Sopenharmony_ci
5800e5c31af7Sopenharmony_ci	case float_bvec4_ivec2_bool_bool_to_mat3
5801e5c31af7Sopenharmony_ci		values
5802e5c31af7Sopenharmony_ci		{
5803e5c31af7Sopenharmony_ci			input float in0 = [ -0.5 | 36.8125 | 1.0 | 0.0 | -20.125 | 2.0 | -8.25 | 3.5 ];
5804e5c31af7Sopenharmony_ci			input bvec4 in1 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, true) | bvec4(true, false, false, true) | bvec4(false, true, false, false) ];
5805e5c31af7Sopenharmony_ci			input ivec2 in2 = [ ivec2(1, 1) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) | ivec2(-32, 64) ];
5806e5c31af7Sopenharmony_ci			input bool in3 = [ true | false | true | false | true | false | false | true ];
5807e5c31af7Sopenharmony_ci			input bool in4 = [ false | true | false | true | false | false | true | true ];
5808e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(-0.5, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0) | mat3(36.8125, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3(0.0, 0.0, 1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0) | mat3(-20.125, 1.0, 1.0, 1.0, 1.0, 0.0, -2.0, 1.0, 0.0) | mat3(2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat3(-8.25, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0) | mat3(3.5, 0.0, 1.0, 0.0, 0.0, -32.0, 64.0, 1.0, 1.0) ];
5809e5c31af7Sopenharmony_ci		}
5810e5c31af7Sopenharmony_ci
5811e5c31af7Sopenharmony_ci		both ""
5812e5c31af7Sopenharmony_ci			precision mediump float;
5813e5c31af7Sopenharmony_ci			precision mediump int;
5814e5c31af7Sopenharmony_ci
5815e5c31af7Sopenharmony_ci			${DECLARATIONS}
5816e5c31af7Sopenharmony_ci
5817e5c31af7Sopenharmony_ci			void main()
5818e5c31af7Sopenharmony_ci			{
5819e5c31af7Sopenharmony_ci				${SETUP}
5820e5c31af7Sopenharmony_ci				out0 = mat3(in0, in1, in2, in3, in4);
5821e5c31af7Sopenharmony_ci				${OUTPUT}
5822e5c31af7Sopenharmony_ci			}
5823e5c31af7Sopenharmony_ci		""
5824e5c31af7Sopenharmony_ci	end
5825e5c31af7Sopenharmony_ci
5826e5c31af7Sopenharmony_ci	case vec4_vec4_vec4_vec4_to_mat4
5827e5c31af7Sopenharmony_ci		values
5828e5c31af7Sopenharmony_ci		{
5829e5c31af7Sopenharmony_ci			input vec4 in0 = [ vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(0.0, 0.5, 0.75, 0.825) ];
5830e5c31af7Sopenharmony_ci			input vec4 in1 = [ vec4(1.0, 1.25, 1.125, 1.75) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(0.0, 0.5, 0.75, 0.825) ];
5831e5c31af7Sopenharmony_ci			input vec4 in2 = [ vec4(-32.0, 64.0, -51.0, 24.0) | vec4(0.0, 0.5, 0.75, 0.825) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) ];
5832e5c31af7Sopenharmony_ci			input vec4 in3 = [ vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(0.0, 0.5, 0.75, 0.825) ];
5833e5c31af7Sopenharmony_ci			output mat4 out0 = [ mat4(-32.0, 64.0, -51.0, 24.0, 1.0, 1.25, 1.125, 1.75, -32.0, 64.0, -51.0, 24.0, -0.5, -2.25, -4.875, 9.0) | mat4(-0.75, -0.0322580645161, 0.0526315789474, 0.25, -32.0, 64.0, -51.0, 24.0, 0.0, 0.5, 0.75, 0.825, -32.0, 64.0, -51.0, 24.0) | mat4(-0.5, -2.25, -4.875, 9.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 1.0, 1.25, 1.125, 1.75) | mat4(1.0, 1.25, 1.125, 1.75, -0.5, -2.25, -4.875, 9.0, 1.0, 1.25, 1.125, 1.75, -0.75, -0.0322580645161, 0.0526315789474, 0.25) | mat4(0.0, 0.5, 0.75, 0.825, 0.0, 0.5, 0.75, 0.825, -0.5, -2.25, -4.875, 9.0, 0.0, 0.5, 0.75, 0.825) ];
5834e5c31af7Sopenharmony_ci		}
5835e5c31af7Sopenharmony_ci
5836e5c31af7Sopenharmony_ci		both ""
5837e5c31af7Sopenharmony_ci			precision mediump float;
5838e5c31af7Sopenharmony_ci			precision mediump int;
5839e5c31af7Sopenharmony_ci
5840e5c31af7Sopenharmony_ci			${DECLARATIONS}
5841e5c31af7Sopenharmony_ci
5842e5c31af7Sopenharmony_ci			void main()
5843e5c31af7Sopenharmony_ci			{
5844e5c31af7Sopenharmony_ci				${SETUP}
5845e5c31af7Sopenharmony_ci				out0 = mat4(in0, in1, in2, in3);
5846e5c31af7Sopenharmony_ci				${OUTPUT}
5847e5c31af7Sopenharmony_ci			}
5848e5c31af7Sopenharmony_ci		""
5849e5c31af7Sopenharmony_ci	end
5850e5c31af7Sopenharmony_ci
5851e5c31af7Sopenharmony_ci	case ivec4_ivec4_ivec4_ivec4_to_mat4
5852e5c31af7Sopenharmony_ci		values
5853e5c31af7Sopenharmony_ci		{
5854e5c31af7Sopenharmony_ci			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(0, 0, 0, 0) ];
5855e5c31af7Sopenharmony_ci			input ivec4 in1 = [ ivec4(0, -2, -4, 9) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) ];
5856e5c31af7Sopenharmony_ci			input ivec4 in2 = [ ivec4(0, 0, 0, 0) | ivec4(0, -2, -4, 9) | ivec4(1, 1, 1, 1) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
5857e5c31af7Sopenharmony_ci			input ivec4 in3 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) ];
5858e5c31af7Sopenharmony_ci			output mat4 out0 = [ mat4(0.0, 0.0, 0.0, 0.0, 0.0, -2.0, -4.0, 9.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4(-32.0, 64.0, -51.0, 24.0, 1.0, 1.0, 1.0, 1.0, 0.0, -2.0, -4.0, 9.0, 1.0, 1.0, 1.0, 1.0) | mat4(1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, -2.0, -4.0, 9.0) | mat4(0.0, -2.0, -4.0, 9.0, 0.0, 0.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0, 0.0, 0.0, 0.0, 0.0) | mat4(0.0, 0.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0, 0.0, 0.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0) ];
5859e5c31af7Sopenharmony_ci		}
5860e5c31af7Sopenharmony_ci
5861e5c31af7Sopenharmony_ci		both ""
5862e5c31af7Sopenharmony_ci			precision mediump float;
5863e5c31af7Sopenharmony_ci			precision mediump int;
5864e5c31af7Sopenharmony_ci
5865e5c31af7Sopenharmony_ci			${DECLARATIONS}
5866e5c31af7Sopenharmony_ci
5867e5c31af7Sopenharmony_ci			void main()
5868e5c31af7Sopenharmony_ci			{
5869e5c31af7Sopenharmony_ci				${SETUP}
5870e5c31af7Sopenharmony_ci				out0 = mat4(in0, in1, in2, in3);
5871e5c31af7Sopenharmony_ci				${OUTPUT}
5872e5c31af7Sopenharmony_ci			}
5873e5c31af7Sopenharmony_ci		""
5874e5c31af7Sopenharmony_ci	end
5875e5c31af7Sopenharmony_ci
5876e5c31af7Sopenharmony_ci	case bvec4_bvec4_bvec4_bvec4_to_mat4
5877e5c31af7Sopenharmony_ci		values
5878e5c31af7Sopenharmony_ci		{
5879e5c31af7Sopenharmony_ci			input bvec4 in0 = [ bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, false, false, true) | bvec4(false, true, false, false) | bvec4(false, false, false, true) ];
5880e5c31af7Sopenharmony_ci			input bvec4 in1 = [ bvec4(true, true, true, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, false, false, true) | bvec4(false, false, false, false) ];
5881e5c31af7Sopenharmony_ci			input bvec4 in2 = [ bvec4(true, true, true, true) | bvec4(false, false, false, true) | bvec4(false, false, false, false) | bvec4(true, false, false, true) | bvec4(false, true, false, false) ];
5882e5c31af7Sopenharmony_ci			input bvec4 in3 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) ];
5883e5c31af7Sopenharmony_ci			output mat4 out0 = [ mat4(0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0) | mat4(1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat4(1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0) | mat4(0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4(0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) ];
5884e5c31af7Sopenharmony_ci		}
5885e5c31af7Sopenharmony_ci
5886e5c31af7Sopenharmony_ci		both ""
5887e5c31af7Sopenharmony_ci			precision mediump float;
5888e5c31af7Sopenharmony_ci			precision mediump int;
5889e5c31af7Sopenharmony_ci
5890e5c31af7Sopenharmony_ci			${DECLARATIONS}
5891e5c31af7Sopenharmony_ci
5892e5c31af7Sopenharmony_ci			void main()
5893e5c31af7Sopenharmony_ci			{
5894e5c31af7Sopenharmony_ci				${SETUP}
5895e5c31af7Sopenharmony_ci				out0 = mat4(in0, in1, in2, in3);
5896e5c31af7Sopenharmony_ci				${OUTPUT}
5897e5c31af7Sopenharmony_ci			}
5898e5c31af7Sopenharmony_ci		""
5899e5c31af7Sopenharmony_ci	end
5900e5c31af7Sopenharmony_ci
5901e5c31af7Sopenharmony_ci	case float_ivec3_bvec3_vec4_ivec2_float_vec2_to_mat4
5902e5c31af7Sopenharmony_ci		values
5903e5c31af7Sopenharmony_ci		{
5904e5c31af7Sopenharmony_ci			input float in0 = [ -0.5 | -20.125 | 1.0 | 2.0 | 3.5 | 36.8125 | -8.25 | 0.0 ];
5905e5c31af7Sopenharmony_ci			input ivec3 in1 = [ ivec3(1, 1, 1) | ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) | ivec3(0, -2, -4) | ivec3(0, 0, 0) | ivec3(0, -2, -4) ];
5906e5c31af7Sopenharmony_ci			input bvec3 in2 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) ];
5907e5c31af7Sopenharmony_ci			input vec4 in3 = [ vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(0.0, 0.5, 0.75, 0.825) | vec4(0.0, 0.5, 0.75, 0.825) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-0.5, -2.25, -4.875, 9.0) ];
5908e5c31af7Sopenharmony_ci			input ivec2 in4 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) ];
5909e5c31af7Sopenharmony_ci			input float in5 = [ 3.5 | -20.125 | -8.25 | 0.0 | 36.8125 | -0.5 | 1.0 | 2.0 ];
5910e5c31af7Sopenharmony_ci			input vec2 in6 = [ vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) ];
5911e5c31af7Sopenharmony_ci			output mat4 out0 = [ mat4(-0.5, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.25, 1.125, 1.75, 0.0, 0.0, 3.5, -32.0, 64.0) | mat4(-20.125, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, -0.5, -2.25, -4.875, 9.0, 0.0, -2.0, -20.125, 1.0, 1.25) | mat4(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.75, 0.825, 0.0, 0.0, -8.25, -0.75, -0.0322580645161) | mat4(2.0, -32.0, 64.0, -51.0, 0.0, 1.0, 0.0, 0.0, 0.5, 0.75, 0.825, -32.0, 64.0, 0.0, -0.5, -2.25) | mat4(3.5, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, -32.0, 64.0, -51.0, 24.0, 1.0, 1.0, 36.8125, 1.0, 1.25) | mat4(36.8125, 0.0, -2.0, -4.0, 1.0, 0.0, 0.0, 1.0, 1.25, 1.125, 1.75, 0.0, -2.0, -0.5, 0.0, 0.5) | mat4(-8.25, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 0.0, 0.0, 1.0, 0.0, 0.5) | mat4(0.0, 0.0, -2.0, -4.0, 0.0, 1.0, 0.0, -0.5, -2.25, -4.875, 9.0, 1.0, 1.0, 2.0, -0.5, -2.25) ];
5912e5c31af7Sopenharmony_ci		}
5913e5c31af7Sopenharmony_ci
5914e5c31af7Sopenharmony_ci		both ""
5915e5c31af7Sopenharmony_ci			precision mediump float;
5916e5c31af7Sopenharmony_ci			precision mediump int;
5917e5c31af7Sopenharmony_ci
5918e5c31af7Sopenharmony_ci			${DECLARATIONS}
5919e5c31af7Sopenharmony_ci
5920e5c31af7Sopenharmony_ci			void main()
5921e5c31af7Sopenharmony_ci			{
5922e5c31af7Sopenharmony_ci				${SETUP}
5923e5c31af7Sopenharmony_ci				out0 = mat4(in0, in1, in2, in3, in4, in5, in6);
5924e5c31af7Sopenharmony_ci				${OUTPUT}
5925e5c31af7Sopenharmony_ci			}
5926e5c31af7Sopenharmony_ci		""
5927e5c31af7Sopenharmony_ci	end
5928e5c31af7Sopenharmony_ci
5929e5c31af7Sopenharmony_ci
5930e5c31af7Sopenharmony_ciend # matrix_combine
5931