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		version 300 es
8e5c31af7Sopenharmony_ci		values
9e5c31af7Sopenharmony_ci		{
10e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
11e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
12e5c31af7Sopenharmony_ci		}
13e5c31af7Sopenharmony_ci
14e5c31af7Sopenharmony_ci		both ""
15e5c31af7Sopenharmony_ci			#version 300 es
16e5c31af7Sopenharmony_ci			precision mediump float;
17e5c31af7Sopenharmony_ci			precision mediump int;
18e5c31af7Sopenharmony_ci
19e5c31af7Sopenharmony_ci			${DECLARATIONS}
20e5c31af7Sopenharmony_ci
21e5c31af7Sopenharmony_ci			void main()
22e5c31af7Sopenharmony_ci			{
23e5c31af7Sopenharmony_ci				${SETUP}
24e5c31af7Sopenharmony_ci				out0 = float(in0);
25e5c31af7Sopenharmony_ci				${OUTPUT}
26e5c31af7Sopenharmony_ci			}
27e5c31af7Sopenharmony_ci		""
28e5c31af7Sopenharmony_ci	end
29e5c31af7Sopenharmony_ci
30e5c31af7Sopenharmony_ci	case float_to_int
31e5c31af7Sopenharmony_ci		version 300 es
32e5c31af7Sopenharmony_ci		values
33e5c31af7Sopenharmony_ci		{
34e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
35e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 2 | 3 | 0 | -8 | -20 | 36 ];
36e5c31af7Sopenharmony_ci		}
37e5c31af7Sopenharmony_ci
38e5c31af7Sopenharmony_ci		both ""
39e5c31af7Sopenharmony_ci			#version 300 es
40e5c31af7Sopenharmony_ci			precision mediump float;
41e5c31af7Sopenharmony_ci			precision mediump int;
42e5c31af7Sopenharmony_ci
43e5c31af7Sopenharmony_ci			${DECLARATIONS}
44e5c31af7Sopenharmony_ci
45e5c31af7Sopenharmony_ci			void main()
46e5c31af7Sopenharmony_ci			{
47e5c31af7Sopenharmony_ci				${SETUP}
48e5c31af7Sopenharmony_ci				out0 = int(in0);
49e5c31af7Sopenharmony_ci				${OUTPUT}
50e5c31af7Sopenharmony_ci			}
51e5c31af7Sopenharmony_ci		""
52e5c31af7Sopenharmony_ci	end
53e5c31af7Sopenharmony_ci
54e5c31af7Sopenharmony_ci	case float_to_bool
55e5c31af7Sopenharmony_ci		version 300 es
56e5c31af7Sopenharmony_ci		values
57e5c31af7Sopenharmony_ci		{
58e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
59e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | true | true | true | true | true | true ];
60e5c31af7Sopenharmony_ci		}
61e5c31af7Sopenharmony_ci
62e5c31af7Sopenharmony_ci		both ""
63e5c31af7Sopenharmony_ci			#version 300 es
64e5c31af7Sopenharmony_ci			precision mediump float;
65e5c31af7Sopenharmony_ci			precision mediump int;
66e5c31af7Sopenharmony_ci
67e5c31af7Sopenharmony_ci			${DECLARATIONS}
68e5c31af7Sopenharmony_ci
69e5c31af7Sopenharmony_ci			void main()
70e5c31af7Sopenharmony_ci			{
71e5c31af7Sopenharmony_ci				${SETUP}
72e5c31af7Sopenharmony_ci				out0 = bool(in0);
73e5c31af7Sopenharmony_ci				${OUTPUT}
74e5c31af7Sopenharmony_ci			}
75e5c31af7Sopenharmony_ci		""
76e5c31af7Sopenharmony_ci	end
77e5c31af7Sopenharmony_ci
78e5c31af7Sopenharmony_ci	case int_to_float
79e5c31af7Sopenharmony_ci		version 300 es
80e5c31af7Sopenharmony_ci		values
81e5c31af7Sopenharmony_ci		{
82e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
83e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 2.0 | 5.0 | 8.0 | 11.0 | -12.0 | -66.0 | -192.0 | 255.0 ];
84e5c31af7Sopenharmony_ci		}
85e5c31af7Sopenharmony_ci
86e5c31af7Sopenharmony_ci		both ""
87e5c31af7Sopenharmony_ci			#version 300 es
88e5c31af7Sopenharmony_ci			precision mediump float;
89e5c31af7Sopenharmony_ci			precision mediump int;
90e5c31af7Sopenharmony_ci
91e5c31af7Sopenharmony_ci			${DECLARATIONS}
92e5c31af7Sopenharmony_ci
93e5c31af7Sopenharmony_ci			void main()
94e5c31af7Sopenharmony_ci			{
95e5c31af7Sopenharmony_ci				${SETUP}
96e5c31af7Sopenharmony_ci				out0 = float(in0);
97e5c31af7Sopenharmony_ci				${OUTPUT}
98e5c31af7Sopenharmony_ci			}
99e5c31af7Sopenharmony_ci		""
100e5c31af7Sopenharmony_ci	end
101e5c31af7Sopenharmony_ci
102e5c31af7Sopenharmony_ci	case int_to_int
103e5c31af7Sopenharmony_ci		version 300 es
104e5c31af7Sopenharmony_ci		values
105e5c31af7Sopenharmony_ci		{
106e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
107e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
108e5c31af7Sopenharmony_ci		}
109e5c31af7Sopenharmony_ci
110e5c31af7Sopenharmony_ci		both ""
111e5c31af7Sopenharmony_ci			#version 300 es
112e5c31af7Sopenharmony_ci			precision mediump float;
113e5c31af7Sopenharmony_ci			precision mediump int;
114e5c31af7Sopenharmony_ci
115e5c31af7Sopenharmony_ci			${DECLARATIONS}
116e5c31af7Sopenharmony_ci
117e5c31af7Sopenharmony_ci			void main()
118e5c31af7Sopenharmony_ci			{
119e5c31af7Sopenharmony_ci				${SETUP}
120e5c31af7Sopenharmony_ci				out0 = int(in0);
121e5c31af7Sopenharmony_ci				${OUTPUT}
122e5c31af7Sopenharmony_ci			}
123e5c31af7Sopenharmony_ci		""
124e5c31af7Sopenharmony_ci	end
125e5c31af7Sopenharmony_ci
126e5c31af7Sopenharmony_ci	case int_to_bool
127e5c31af7Sopenharmony_ci		version 300 es
128e5c31af7Sopenharmony_ci		values
129e5c31af7Sopenharmony_ci		{
130e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
131e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | true | true | true | true | true | true | true | true ];
132e5c31af7Sopenharmony_ci		}
133e5c31af7Sopenharmony_ci
134e5c31af7Sopenharmony_ci		both ""
135e5c31af7Sopenharmony_ci			#version 300 es
136e5c31af7Sopenharmony_ci			precision mediump float;
137e5c31af7Sopenharmony_ci			precision mediump int;
138e5c31af7Sopenharmony_ci
139e5c31af7Sopenharmony_ci			${DECLARATIONS}
140e5c31af7Sopenharmony_ci
141e5c31af7Sopenharmony_ci			void main()
142e5c31af7Sopenharmony_ci			{
143e5c31af7Sopenharmony_ci				${SETUP}
144e5c31af7Sopenharmony_ci				out0 = bool(in0);
145e5c31af7Sopenharmony_ci				${OUTPUT}
146e5c31af7Sopenharmony_ci			}
147e5c31af7Sopenharmony_ci		""
148e5c31af7Sopenharmony_ci	end
149e5c31af7Sopenharmony_ci
150e5c31af7Sopenharmony_ci	case uint_to_float
151e5c31af7Sopenharmony_ci		version 300 es
152e5c31af7Sopenharmony_ci		values
153e5c31af7Sopenharmony_ci		{
154e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
155e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 2.0 | 3.0 | 8.0 | 9.0 | 12.0 | 10.0 | 45.0 | 193.0 | 255.0 ];
156e5c31af7Sopenharmony_ci		}
157e5c31af7Sopenharmony_ci
158e5c31af7Sopenharmony_ci		both ""
159e5c31af7Sopenharmony_ci			#version 300 es
160e5c31af7Sopenharmony_ci			precision mediump float;
161e5c31af7Sopenharmony_ci			precision mediump int;
162e5c31af7Sopenharmony_ci
163e5c31af7Sopenharmony_ci			${DECLARATIONS}
164e5c31af7Sopenharmony_ci
165e5c31af7Sopenharmony_ci			void main()
166e5c31af7Sopenharmony_ci			{
167e5c31af7Sopenharmony_ci				${SETUP}
168e5c31af7Sopenharmony_ci				out0 = float(in0);
169e5c31af7Sopenharmony_ci				${OUTPUT}
170e5c31af7Sopenharmony_ci			}
171e5c31af7Sopenharmony_ci		""
172e5c31af7Sopenharmony_ci	end
173e5c31af7Sopenharmony_ci
174e5c31af7Sopenharmony_ci	case uint_to_int
175e5c31af7Sopenharmony_ci		version 300 es
176e5c31af7Sopenharmony_ci		values
177e5c31af7Sopenharmony_ci		{
178e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
179e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
180e5c31af7Sopenharmony_ci		}
181e5c31af7Sopenharmony_ci
182e5c31af7Sopenharmony_ci		both ""
183e5c31af7Sopenharmony_ci			#version 300 es
184e5c31af7Sopenharmony_ci			precision mediump float;
185e5c31af7Sopenharmony_ci			precision mediump int;
186e5c31af7Sopenharmony_ci
187e5c31af7Sopenharmony_ci			${DECLARATIONS}
188e5c31af7Sopenharmony_ci
189e5c31af7Sopenharmony_ci			void main()
190e5c31af7Sopenharmony_ci			{
191e5c31af7Sopenharmony_ci				${SETUP}
192e5c31af7Sopenharmony_ci				out0 = int(in0);
193e5c31af7Sopenharmony_ci				${OUTPUT}
194e5c31af7Sopenharmony_ci			}
195e5c31af7Sopenharmony_ci		""
196e5c31af7Sopenharmony_ci	end
197e5c31af7Sopenharmony_ci
198e5c31af7Sopenharmony_ci	case uint_to_bool
199e5c31af7Sopenharmony_ci		version 300 es
200e5c31af7Sopenharmony_ci		values
201e5c31af7Sopenharmony_ci		{
202e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
203e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | true | true | true | true | true | true | true | true ];
204e5c31af7Sopenharmony_ci		}
205e5c31af7Sopenharmony_ci
206e5c31af7Sopenharmony_ci		both ""
207e5c31af7Sopenharmony_ci			#version 300 es
208e5c31af7Sopenharmony_ci			precision mediump float;
209e5c31af7Sopenharmony_ci			precision mediump int;
210e5c31af7Sopenharmony_ci
211e5c31af7Sopenharmony_ci			${DECLARATIONS}
212e5c31af7Sopenharmony_ci
213e5c31af7Sopenharmony_ci			void main()
214e5c31af7Sopenharmony_ci			{
215e5c31af7Sopenharmony_ci				${SETUP}
216e5c31af7Sopenharmony_ci				out0 = bool(in0);
217e5c31af7Sopenharmony_ci				${OUTPUT}
218e5c31af7Sopenharmony_ci			}
219e5c31af7Sopenharmony_ci		""
220e5c31af7Sopenharmony_ci	end
221e5c31af7Sopenharmony_ci
222e5c31af7Sopenharmony_ci	case bool_to_float
223e5c31af7Sopenharmony_ci		version 300 es
224e5c31af7Sopenharmony_ci		values
225e5c31af7Sopenharmony_ci		{
226e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
227e5c31af7Sopenharmony_ci			output float out0 = [ 1.0 | 0.0 ];
228e5c31af7Sopenharmony_ci		}
229e5c31af7Sopenharmony_ci
230e5c31af7Sopenharmony_ci		both ""
231e5c31af7Sopenharmony_ci			#version 300 es
232e5c31af7Sopenharmony_ci			precision mediump float;
233e5c31af7Sopenharmony_ci			precision mediump int;
234e5c31af7Sopenharmony_ci
235e5c31af7Sopenharmony_ci			${DECLARATIONS}
236e5c31af7Sopenharmony_ci
237e5c31af7Sopenharmony_ci			void main()
238e5c31af7Sopenharmony_ci			{
239e5c31af7Sopenharmony_ci				${SETUP}
240e5c31af7Sopenharmony_ci				out0 = float(in0);
241e5c31af7Sopenharmony_ci				${OUTPUT}
242e5c31af7Sopenharmony_ci			}
243e5c31af7Sopenharmony_ci		""
244e5c31af7Sopenharmony_ci	end
245e5c31af7Sopenharmony_ci
246e5c31af7Sopenharmony_ci	case bool_to_int
247e5c31af7Sopenharmony_ci		version 300 es
248e5c31af7Sopenharmony_ci		values
249e5c31af7Sopenharmony_ci		{
250e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
251e5c31af7Sopenharmony_ci			output int out0 = [ 1 | 0 ];
252e5c31af7Sopenharmony_ci		}
253e5c31af7Sopenharmony_ci
254e5c31af7Sopenharmony_ci		both ""
255e5c31af7Sopenharmony_ci			#version 300 es
256e5c31af7Sopenharmony_ci			precision mediump float;
257e5c31af7Sopenharmony_ci			precision mediump int;
258e5c31af7Sopenharmony_ci
259e5c31af7Sopenharmony_ci			${DECLARATIONS}
260e5c31af7Sopenharmony_ci
261e5c31af7Sopenharmony_ci			void main()
262e5c31af7Sopenharmony_ci			{
263e5c31af7Sopenharmony_ci				${SETUP}
264e5c31af7Sopenharmony_ci				out0 = int(in0);
265e5c31af7Sopenharmony_ci				${OUTPUT}
266e5c31af7Sopenharmony_ci			}
267e5c31af7Sopenharmony_ci		""
268e5c31af7Sopenharmony_ci	end
269e5c31af7Sopenharmony_ci
270e5c31af7Sopenharmony_ci	case bool_to_bool
271e5c31af7Sopenharmony_ci		version 300 es
272e5c31af7Sopenharmony_ci		values
273e5c31af7Sopenharmony_ci		{
274e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
275e5c31af7Sopenharmony_ci			output bool out0 = [ true | false ];
276e5c31af7Sopenharmony_ci		}
277e5c31af7Sopenharmony_ci
278e5c31af7Sopenharmony_ci		both ""
279e5c31af7Sopenharmony_ci			#version 300 es
280e5c31af7Sopenharmony_ci			precision mediump float;
281e5c31af7Sopenharmony_ci			precision mediump int;
282e5c31af7Sopenharmony_ci
283e5c31af7Sopenharmony_ci			${DECLARATIONS}
284e5c31af7Sopenharmony_ci
285e5c31af7Sopenharmony_ci			void main()
286e5c31af7Sopenharmony_ci			{
287e5c31af7Sopenharmony_ci				${SETUP}
288e5c31af7Sopenharmony_ci				out0 = bool(in0);
289e5c31af7Sopenharmony_ci				${OUTPUT}
290e5c31af7Sopenharmony_ci			}
291e5c31af7Sopenharmony_ci		""
292e5c31af7Sopenharmony_ci	end
293e5c31af7Sopenharmony_ci
294e5c31af7Sopenharmony_ci	case float_to_uint
295e5c31af7Sopenharmony_ci		version 300 es
296e5c31af7Sopenharmony_ci		values
297e5c31af7Sopenharmony_ci		{
298e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | 0.5 | 8.25 | 20.125 | 36.8125 ];
299e5c31af7Sopenharmony_ci			output uint out0 = [ 0 | 1 | 2 | 3 | 0 | 8 | 20 | 36 ];
300e5c31af7Sopenharmony_ci		}
301e5c31af7Sopenharmony_ci
302e5c31af7Sopenharmony_ci		both ""
303e5c31af7Sopenharmony_ci			#version 300 es
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 = uint(in0);
313e5c31af7Sopenharmony_ci				${OUTPUT}
314e5c31af7Sopenharmony_ci			}
315e5c31af7Sopenharmony_ci		""
316e5c31af7Sopenharmony_ci	end
317e5c31af7Sopenharmony_ci
318e5c31af7Sopenharmony_ci	case int_to_uint
319e5c31af7Sopenharmony_ci		version 300 es
320e5c31af7Sopenharmony_ci		values
321e5c31af7Sopenharmony_ci		{
322e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | 12 | 66 | 192 | 255 ];
323e5c31af7Sopenharmony_ci			output uint out0 = [ 0 | 1 | 2 | 5 | 8 | 11 | 12 | 66 | 192 | 255 ];
324e5c31af7Sopenharmony_ci		}
325e5c31af7Sopenharmony_ci
326e5c31af7Sopenharmony_ci		both ""
327e5c31af7Sopenharmony_ci			#version 300 es
328e5c31af7Sopenharmony_ci			precision mediump float;
329e5c31af7Sopenharmony_ci			precision mediump int;
330e5c31af7Sopenharmony_ci
331e5c31af7Sopenharmony_ci			${DECLARATIONS}
332e5c31af7Sopenharmony_ci
333e5c31af7Sopenharmony_ci			void main()
334e5c31af7Sopenharmony_ci			{
335e5c31af7Sopenharmony_ci				${SETUP}
336e5c31af7Sopenharmony_ci				out0 = uint(in0);
337e5c31af7Sopenharmony_ci				${OUTPUT}
338e5c31af7Sopenharmony_ci			}
339e5c31af7Sopenharmony_ci		""
340e5c31af7Sopenharmony_ci	end
341e5c31af7Sopenharmony_ci
342e5c31af7Sopenharmony_ci	case uint_to_uint
343e5c31af7Sopenharmony_ci		version 300 es
344e5c31af7Sopenharmony_ci		values
345e5c31af7Sopenharmony_ci		{
346e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
347e5c31af7Sopenharmony_ci			output uint out0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
348e5c31af7Sopenharmony_ci		}
349e5c31af7Sopenharmony_ci
350e5c31af7Sopenharmony_ci		both ""
351e5c31af7Sopenharmony_ci			#version 300 es
352e5c31af7Sopenharmony_ci			precision mediump float;
353e5c31af7Sopenharmony_ci			precision mediump int;
354e5c31af7Sopenharmony_ci
355e5c31af7Sopenharmony_ci			${DECLARATIONS}
356e5c31af7Sopenharmony_ci
357e5c31af7Sopenharmony_ci			void main()
358e5c31af7Sopenharmony_ci			{
359e5c31af7Sopenharmony_ci				${SETUP}
360e5c31af7Sopenharmony_ci				out0 = uint(in0);
361e5c31af7Sopenharmony_ci				${OUTPUT}
362e5c31af7Sopenharmony_ci			}
363e5c31af7Sopenharmony_ci		""
364e5c31af7Sopenharmony_ci	end
365e5c31af7Sopenharmony_ci
366e5c31af7Sopenharmony_ci	case bool_to_uint
367e5c31af7Sopenharmony_ci		version 300 es
368e5c31af7Sopenharmony_ci		values
369e5c31af7Sopenharmony_ci		{
370e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
371e5c31af7Sopenharmony_ci			output uint out0 = [ 1 | 0 ];
372e5c31af7Sopenharmony_ci		}
373e5c31af7Sopenharmony_ci
374e5c31af7Sopenharmony_ci		both ""
375e5c31af7Sopenharmony_ci			#version 300 es
376e5c31af7Sopenharmony_ci			precision mediump float;
377e5c31af7Sopenharmony_ci			precision mediump int;
378e5c31af7Sopenharmony_ci
379e5c31af7Sopenharmony_ci			${DECLARATIONS}
380e5c31af7Sopenharmony_ci
381e5c31af7Sopenharmony_ci			void main()
382e5c31af7Sopenharmony_ci			{
383e5c31af7Sopenharmony_ci				${SETUP}
384e5c31af7Sopenharmony_ci				out0 = uint(in0);
385e5c31af7Sopenharmony_ci				${OUTPUT}
386e5c31af7Sopenharmony_ci			}
387e5c31af7Sopenharmony_ci		""
388e5c31af7Sopenharmony_ci	end
389e5c31af7Sopenharmony_ci
390e5c31af7Sopenharmony_ci
391e5c31af7Sopenharmony_ciend # scalar_to_scalar
392e5c31af7Sopenharmony_cigroup scalar_to_vector "Scalar to Vector Conversions"
393e5c31af7Sopenharmony_ci
394e5c31af7Sopenharmony_ci	case float_to_vec2
395e5c31af7Sopenharmony_ci		version 300 es
396e5c31af7Sopenharmony_ci		values
397e5c31af7Sopenharmony_ci		{
398e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
399e5c31af7Sopenharmony_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) ];
400e5c31af7Sopenharmony_ci		}
401e5c31af7Sopenharmony_ci
402e5c31af7Sopenharmony_ci		both ""
403e5c31af7Sopenharmony_ci			#version 300 es
404e5c31af7Sopenharmony_ci			precision mediump float;
405e5c31af7Sopenharmony_ci			precision mediump int;
406e5c31af7Sopenharmony_ci
407e5c31af7Sopenharmony_ci			${DECLARATIONS}
408e5c31af7Sopenharmony_ci
409e5c31af7Sopenharmony_ci			void main()
410e5c31af7Sopenharmony_ci			{
411e5c31af7Sopenharmony_ci				${SETUP}
412e5c31af7Sopenharmony_ci				out0 = vec2(in0);
413e5c31af7Sopenharmony_ci				${OUTPUT}
414e5c31af7Sopenharmony_ci			}
415e5c31af7Sopenharmony_ci		""
416e5c31af7Sopenharmony_ci	end
417e5c31af7Sopenharmony_ci
418e5c31af7Sopenharmony_ci	case float_to_vec3
419e5c31af7Sopenharmony_ci		version 300 es
420e5c31af7Sopenharmony_ci		values
421e5c31af7Sopenharmony_ci		{
422e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
423e5c31af7Sopenharmony_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) ];
424e5c31af7Sopenharmony_ci		}
425e5c31af7Sopenharmony_ci
426e5c31af7Sopenharmony_ci		both ""
427e5c31af7Sopenharmony_ci			#version 300 es
428e5c31af7Sopenharmony_ci			precision mediump float;
429e5c31af7Sopenharmony_ci			precision mediump int;
430e5c31af7Sopenharmony_ci
431e5c31af7Sopenharmony_ci			${DECLARATIONS}
432e5c31af7Sopenharmony_ci
433e5c31af7Sopenharmony_ci			void main()
434e5c31af7Sopenharmony_ci			{
435e5c31af7Sopenharmony_ci				${SETUP}
436e5c31af7Sopenharmony_ci				out0 = vec3(in0);
437e5c31af7Sopenharmony_ci				${OUTPUT}
438e5c31af7Sopenharmony_ci			}
439e5c31af7Sopenharmony_ci		""
440e5c31af7Sopenharmony_ci	end
441e5c31af7Sopenharmony_ci
442e5c31af7Sopenharmony_ci	case float_to_vec4
443e5c31af7Sopenharmony_ci		version 300 es
444e5c31af7Sopenharmony_ci		values
445e5c31af7Sopenharmony_ci		{
446e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
447e5c31af7Sopenharmony_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) ];
448e5c31af7Sopenharmony_ci		}
449e5c31af7Sopenharmony_ci
450e5c31af7Sopenharmony_ci		both ""
451e5c31af7Sopenharmony_ci			#version 300 es
452e5c31af7Sopenharmony_ci			precision mediump float;
453e5c31af7Sopenharmony_ci			precision mediump int;
454e5c31af7Sopenharmony_ci
455e5c31af7Sopenharmony_ci			${DECLARATIONS}
456e5c31af7Sopenharmony_ci
457e5c31af7Sopenharmony_ci			void main()
458e5c31af7Sopenharmony_ci			{
459e5c31af7Sopenharmony_ci				${SETUP}
460e5c31af7Sopenharmony_ci				out0 = vec4(in0);
461e5c31af7Sopenharmony_ci				${OUTPUT}
462e5c31af7Sopenharmony_ci			}
463e5c31af7Sopenharmony_ci		""
464e5c31af7Sopenharmony_ci	end
465e5c31af7Sopenharmony_ci
466e5c31af7Sopenharmony_ci	case float_to_ivec2
467e5c31af7Sopenharmony_ci		version 300 es
468e5c31af7Sopenharmony_ci		values
469e5c31af7Sopenharmony_ci		{
470e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
471e5c31af7Sopenharmony_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) ];
472e5c31af7Sopenharmony_ci		}
473e5c31af7Sopenharmony_ci
474e5c31af7Sopenharmony_ci		both ""
475e5c31af7Sopenharmony_ci			#version 300 es
476e5c31af7Sopenharmony_ci			precision mediump float;
477e5c31af7Sopenharmony_ci			precision mediump int;
478e5c31af7Sopenharmony_ci
479e5c31af7Sopenharmony_ci			${DECLARATIONS}
480e5c31af7Sopenharmony_ci
481e5c31af7Sopenharmony_ci			void main()
482e5c31af7Sopenharmony_ci			{
483e5c31af7Sopenharmony_ci				${SETUP}
484e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
485e5c31af7Sopenharmony_ci				${OUTPUT}
486e5c31af7Sopenharmony_ci			}
487e5c31af7Sopenharmony_ci		""
488e5c31af7Sopenharmony_ci	end
489e5c31af7Sopenharmony_ci
490e5c31af7Sopenharmony_ci	case float_to_ivec3
491e5c31af7Sopenharmony_ci		version 300 es
492e5c31af7Sopenharmony_ci		values
493e5c31af7Sopenharmony_ci		{
494e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
495e5c31af7Sopenharmony_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) ];
496e5c31af7Sopenharmony_ci		}
497e5c31af7Sopenharmony_ci
498e5c31af7Sopenharmony_ci		both ""
499e5c31af7Sopenharmony_ci			#version 300 es
500e5c31af7Sopenharmony_ci			precision mediump float;
501e5c31af7Sopenharmony_ci			precision mediump int;
502e5c31af7Sopenharmony_ci
503e5c31af7Sopenharmony_ci			${DECLARATIONS}
504e5c31af7Sopenharmony_ci
505e5c31af7Sopenharmony_ci			void main()
506e5c31af7Sopenharmony_ci			{
507e5c31af7Sopenharmony_ci				${SETUP}
508e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
509e5c31af7Sopenharmony_ci				${OUTPUT}
510e5c31af7Sopenharmony_ci			}
511e5c31af7Sopenharmony_ci		""
512e5c31af7Sopenharmony_ci	end
513e5c31af7Sopenharmony_ci
514e5c31af7Sopenharmony_ci	case float_to_ivec4
515e5c31af7Sopenharmony_ci		version 300 es
516e5c31af7Sopenharmony_ci		values
517e5c31af7Sopenharmony_ci		{
518e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
519e5c31af7Sopenharmony_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) ];
520e5c31af7Sopenharmony_ci		}
521e5c31af7Sopenharmony_ci
522e5c31af7Sopenharmony_ci		both ""
523e5c31af7Sopenharmony_ci			#version 300 es
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 float_to_bvec2
539e5c31af7Sopenharmony_ci		version 300 es
540e5c31af7Sopenharmony_ci		values
541e5c31af7Sopenharmony_ci		{
542e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
543e5c31af7Sopenharmony_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) ];
544e5c31af7Sopenharmony_ci		}
545e5c31af7Sopenharmony_ci
546e5c31af7Sopenharmony_ci		both ""
547e5c31af7Sopenharmony_ci			#version 300 es
548e5c31af7Sopenharmony_ci			precision mediump float;
549e5c31af7Sopenharmony_ci			precision mediump int;
550e5c31af7Sopenharmony_ci
551e5c31af7Sopenharmony_ci			${DECLARATIONS}
552e5c31af7Sopenharmony_ci
553e5c31af7Sopenharmony_ci			void main()
554e5c31af7Sopenharmony_ci			{
555e5c31af7Sopenharmony_ci				${SETUP}
556e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
557e5c31af7Sopenharmony_ci				${OUTPUT}
558e5c31af7Sopenharmony_ci			}
559e5c31af7Sopenharmony_ci		""
560e5c31af7Sopenharmony_ci	end
561e5c31af7Sopenharmony_ci
562e5c31af7Sopenharmony_ci	case float_to_bvec3
563e5c31af7Sopenharmony_ci		version 300 es
564e5c31af7Sopenharmony_ci		values
565e5c31af7Sopenharmony_ci		{
566e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
567e5c31af7Sopenharmony_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) ];
568e5c31af7Sopenharmony_ci		}
569e5c31af7Sopenharmony_ci
570e5c31af7Sopenharmony_ci		both ""
571e5c31af7Sopenharmony_ci			#version 300 es
572e5c31af7Sopenharmony_ci			precision mediump float;
573e5c31af7Sopenharmony_ci			precision mediump int;
574e5c31af7Sopenharmony_ci
575e5c31af7Sopenharmony_ci			${DECLARATIONS}
576e5c31af7Sopenharmony_ci
577e5c31af7Sopenharmony_ci			void main()
578e5c31af7Sopenharmony_ci			{
579e5c31af7Sopenharmony_ci				${SETUP}
580e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
581e5c31af7Sopenharmony_ci				${OUTPUT}
582e5c31af7Sopenharmony_ci			}
583e5c31af7Sopenharmony_ci		""
584e5c31af7Sopenharmony_ci	end
585e5c31af7Sopenharmony_ci
586e5c31af7Sopenharmony_ci	case float_to_bvec4
587e5c31af7Sopenharmony_ci		version 300 es
588e5c31af7Sopenharmony_ci		values
589e5c31af7Sopenharmony_ci		{
590e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
591e5c31af7Sopenharmony_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) ];
592e5c31af7Sopenharmony_ci		}
593e5c31af7Sopenharmony_ci
594e5c31af7Sopenharmony_ci		both ""
595e5c31af7Sopenharmony_ci			#version 300 es
596e5c31af7Sopenharmony_ci			precision mediump float;
597e5c31af7Sopenharmony_ci			precision mediump int;
598e5c31af7Sopenharmony_ci
599e5c31af7Sopenharmony_ci			${DECLARATIONS}
600e5c31af7Sopenharmony_ci
601e5c31af7Sopenharmony_ci			void main()
602e5c31af7Sopenharmony_ci			{
603e5c31af7Sopenharmony_ci				${SETUP}
604e5c31af7Sopenharmony_ci				out0 = bvec4(in0);
605e5c31af7Sopenharmony_ci				${OUTPUT}
606e5c31af7Sopenharmony_ci			}
607e5c31af7Sopenharmony_ci		""
608e5c31af7Sopenharmony_ci	end
609e5c31af7Sopenharmony_ci
610e5c31af7Sopenharmony_ci	case int_to_vec2
611e5c31af7Sopenharmony_ci		version 300 es
612e5c31af7Sopenharmony_ci		values
613e5c31af7Sopenharmony_ci		{
614e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
615e5c31af7Sopenharmony_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) ];
616e5c31af7Sopenharmony_ci		}
617e5c31af7Sopenharmony_ci
618e5c31af7Sopenharmony_ci		both ""
619e5c31af7Sopenharmony_ci			#version 300 es
620e5c31af7Sopenharmony_ci			precision mediump float;
621e5c31af7Sopenharmony_ci			precision mediump int;
622e5c31af7Sopenharmony_ci
623e5c31af7Sopenharmony_ci			${DECLARATIONS}
624e5c31af7Sopenharmony_ci
625e5c31af7Sopenharmony_ci			void main()
626e5c31af7Sopenharmony_ci			{
627e5c31af7Sopenharmony_ci				${SETUP}
628e5c31af7Sopenharmony_ci				out0 = vec2(in0);
629e5c31af7Sopenharmony_ci				${OUTPUT}
630e5c31af7Sopenharmony_ci			}
631e5c31af7Sopenharmony_ci		""
632e5c31af7Sopenharmony_ci	end
633e5c31af7Sopenharmony_ci
634e5c31af7Sopenharmony_ci	case int_to_vec3
635e5c31af7Sopenharmony_ci		version 300 es
636e5c31af7Sopenharmony_ci		values
637e5c31af7Sopenharmony_ci		{
638e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
639e5c31af7Sopenharmony_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) ];
640e5c31af7Sopenharmony_ci		}
641e5c31af7Sopenharmony_ci
642e5c31af7Sopenharmony_ci		both ""
643e5c31af7Sopenharmony_ci			#version 300 es
644e5c31af7Sopenharmony_ci			precision mediump float;
645e5c31af7Sopenharmony_ci			precision mediump int;
646e5c31af7Sopenharmony_ci
647e5c31af7Sopenharmony_ci			${DECLARATIONS}
648e5c31af7Sopenharmony_ci
649e5c31af7Sopenharmony_ci			void main()
650e5c31af7Sopenharmony_ci			{
651e5c31af7Sopenharmony_ci				${SETUP}
652e5c31af7Sopenharmony_ci				out0 = vec3(in0);
653e5c31af7Sopenharmony_ci				${OUTPUT}
654e5c31af7Sopenharmony_ci			}
655e5c31af7Sopenharmony_ci		""
656e5c31af7Sopenharmony_ci	end
657e5c31af7Sopenharmony_ci
658e5c31af7Sopenharmony_ci	case int_to_vec4
659e5c31af7Sopenharmony_ci		version 300 es
660e5c31af7Sopenharmony_ci		values
661e5c31af7Sopenharmony_ci		{
662e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
663e5c31af7Sopenharmony_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) ];
664e5c31af7Sopenharmony_ci		}
665e5c31af7Sopenharmony_ci
666e5c31af7Sopenharmony_ci		both ""
667e5c31af7Sopenharmony_ci			#version 300 es
668e5c31af7Sopenharmony_ci			precision mediump float;
669e5c31af7Sopenharmony_ci			precision mediump int;
670e5c31af7Sopenharmony_ci
671e5c31af7Sopenharmony_ci			${DECLARATIONS}
672e5c31af7Sopenharmony_ci
673e5c31af7Sopenharmony_ci			void main()
674e5c31af7Sopenharmony_ci			{
675e5c31af7Sopenharmony_ci				${SETUP}
676e5c31af7Sopenharmony_ci				out0 = vec4(in0);
677e5c31af7Sopenharmony_ci				${OUTPUT}
678e5c31af7Sopenharmony_ci			}
679e5c31af7Sopenharmony_ci		""
680e5c31af7Sopenharmony_ci	end
681e5c31af7Sopenharmony_ci
682e5c31af7Sopenharmony_ci	case int_to_ivec2
683e5c31af7Sopenharmony_ci		version 300 es
684e5c31af7Sopenharmony_ci		values
685e5c31af7Sopenharmony_ci		{
686e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
687e5c31af7Sopenharmony_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) ];
688e5c31af7Sopenharmony_ci		}
689e5c31af7Sopenharmony_ci
690e5c31af7Sopenharmony_ci		both ""
691e5c31af7Sopenharmony_ci			#version 300 es
692e5c31af7Sopenharmony_ci			precision mediump float;
693e5c31af7Sopenharmony_ci			precision mediump int;
694e5c31af7Sopenharmony_ci
695e5c31af7Sopenharmony_ci			${DECLARATIONS}
696e5c31af7Sopenharmony_ci
697e5c31af7Sopenharmony_ci			void main()
698e5c31af7Sopenharmony_ci			{
699e5c31af7Sopenharmony_ci				${SETUP}
700e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
701e5c31af7Sopenharmony_ci				${OUTPUT}
702e5c31af7Sopenharmony_ci			}
703e5c31af7Sopenharmony_ci		""
704e5c31af7Sopenharmony_ci	end
705e5c31af7Sopenharmony_ci
706e5c31af7Sopenharmony_ci	case int_to_ivec3
707e5c31af7Sopenharmony_ci		version 300 es
708e5c31af7Sopenharmony_ci		values
709e5c31af7Sopenharmony_ci		{
710e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
711e5c31af7Sopenharmony_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) ];
712e5c31af7Sopenharmony_ci		}
713e5c31af7Sopenharmony_ci
714e5c31af7Sopenharmony_ci		both ""
715e5c31af7Sopenharmony_ci			#version 300 es
716e5c31af7Sopenharmony_ci			precision mediump float;
717e5c31af7Sopenharmony_ci			precision mediump int;
718e5c31af7Sopenharmony_ci
719e5c31af7Sopenharmony_ci			${DECLARATIONS}
720e5c31af7Sopenharmony_ci
721e5c31af7Sopenharmony_ci			void main()
722e5c31af7Sopenharmony_ci			{
723e5c31af7Sopenharmony_ci				${SETUP}
724e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
725e5c31af7Sopenharmony_ci				${OUTPUT}
726e5c31af7Sopenharmony_ci			}
727e5c31af7Sopenharmony_ci		""
728e5c31af7Sopenharmony_ci	end
729e5c31af7Sopenharmony_ci
730e5c31af7Sopenharmony_ci	case int_to_ivec4
731e5c31af7Sopenharmony_ci		version 300 es
732e5c31af7Sopenharmony_ci		values
733e5c31af7Sopenharmony_ci		{
734e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
735e5c31af7Sopenharmony_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) ];
736e5c31af7Sopenharmony_ci		}
737e5c31af7Sopenharmony_ci
738e5c31af7Sopenharmony_ci		both ""
739e5c31af7Sopenharmony_ci			#version 300 es
740e5c31af7Sopenharmony_ci			precision mediump float;
741e5c31af7Sopenharmony_ci			precision mediump int;
742e5c31af7Sopenharmony_ci
743e5c31af7Sopenharmony_ci			${DECLARATIONS}
744e5c31af7Sopenharmony_ci
745e5c31af7Sopenharmony_ci			void main()
746e5c31af7Sopenharmony_ci			{
747e5c31af7Sopenharmony_ci				${SETUP}
748e5c31af7Sopenharmony_ci				out0 = ivec4(in0);
749e5c31af7Sopenharmony_ci				${OUTPUT}
750e5c31af7Sopenharmony_ci			}
751e5c31af7Sopenharmony_ci		""
752e5c31af7Sopenharmony_ci	end
753e5c31af7Sopenharmony_ci
754e5c31af7Sopenharmony_ci	case int_to_bvec2
755e5c31af7Sopenharmony_ci		version 300 es
756e5c31af7Sopenharmony_ci		values
757e5c31af7Sopenharmony_ci		{
758e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
759e5c31af7Sopenharmony_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) ];
760e5c31af7Sopenharmony_ci		}
761e5c31af7Sopenharmony_ci
762e5c31af7Sopenharmony_ci		both ""
763e5c31af7Sopenharmony_ci			#version 300 es
764e5c31af7Sopenharmony_ci			precision mediump float;
765e5c31af7Sopenharmony_ci			precision mediump int;
766e5c31af7Sopenharmony_ci
767e5c31af7Sopenharmony_ci			${DECLARATIONS}
768e5c31af7Sopenharmony_ci
769e5c31af7Sopenharmony_ci			void main()
770e5c31af7Sopenharmony_ci			{
771e5c31af7Sopenharmony_ci				${SETUP}
772e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
773e5c31af7Sopenharmony_ci				${OUTPUT}
774e5c31af7Sopenharmony_ci			}
775e5c31af7Sopenharmony_ci		""
776e5c31af7Sopenharmony_ci	end
777e5c31af7Sopenharmony_ci
778e5c31af7Sopenharmony_ci	case int_to_bvec3
779e5c31af7Sopenharmony_ci		version 300 es
780e5c31af7Sopenharmony_ci		values
781e5c31af7Sopenharmony_ci		{
782e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
783e5c31af7Sopenharmony_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) ];
784e5c31af7Sopenharmony_ci		}
785e5c31af7Sopenharmony_ci
786e5c31af7Sopenharmony_ci		both ""
787e5c31af7Sopenharmony_ci			#version 300 es
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 = bvec3(in0);
797e5c31af7Sopenharmony_ci				${OUTPUT}
798e5c31af7Sopenharmony_ci			}
799e5c31af7Sopenharmony_ci		""
800e5c31af7Sopenharmony_ci	end
801e5c31af7Sopenharmony_ci
802e5c31af7Sopenharmony_ci	case int_to_bvec4
803e5c31af7Sopenharmony_ci		version 300 es
804e5c31af7Sopenharmony_ci		values
805e5c31af7Sopenharmony_ci		{
806e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
807e5c31af7Sopenharmony_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) ];
808e5c31af7Sopenharmony_ci		}
809e5c31af7Sopenharmony_ci
810e5c31af7Sopenharmony_ci		both ""
811e5c31af7Sopenharmony_ci			#version 300 es
812e5c31af7Sopenharmony_ci			precision mediump float;
813e5c31af7Sopenharmony_ci			precision mediump int;
814e5c31af7Sopenharmony_ci
815e5c31af7Sopenharmony_ci			${DECLARATIONS}
816e5c31af7Sopenharmony_ci
817e5c31af7Sopenharmony_ci			void main()
818e5c31af7Sopenharmony_ci			{
819e5c31af7Sopenharmony_ci				${SETUP}
820e5c31af7Sopenharmony_ci				out0 = bvec4(in0);
821e5c31af7Sopenharmony_ci				${OUTPUT}
822e5c31af7Sopenharmony_ci			}
823e5c31af7Sopenharmony_ci		""
824e5c31af7Sopenharmony_ci	end
825e5c31af7Sopenharmony_ci
826e5c31af7Sopenharmony_ci	case uint_to_vec2
827e5c31af7Sopenharmony_ci		version 300 es
828e5c31af7Sopenharmony_ci		values
829e5c31af7Sopenharmony_ci		{
830e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
831e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(0.0, 0.0) | vec2(2.0, 2.0) | vec2(3.0, 3.0) | vec2(8.0, 8.0) | vec2(9.0, 9.0) | vec2(12.0, 12.0) | vec2(10.0, 10.0) | vec2(45.0, 45.0) | vec2(193.0, 193.0) | vec2(255.0, 255.0) ];
832e5c31af7Sopenharmony_ci		}
833e5c31af7Sopenharmony_ci
834e5c31af7Sopenharmony_ci		both ""
835e5c31af7Sopenharmony_ci			#version 300 es
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 = vec2(in0);
845e5c31af7Sopenharmony_ci				${OUTPUT}
846e5c31af7Sopenharmony_ci			}
847e5c31af7Sopenharmony_ci		""
848e5c31af7Sopenharmony_ci	end
849e5c31af7Sopenharmony_ci
850e5c31af7Sopenharmony_ci	case uint_to_vec3
851e5c31af7Sopenharmony_ci		version 300 es
852e5c31af7Sopenharmony_ci		values
853e5c31af7Sopenharmony_ci		{
854e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
855e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(2.0, 2.0, 2.0) | vec3(3.0, 3.0, 3.0) | vec3(8.0, 8.0, 8.0) | vec3(9.0, 9.0, 9.0) | vec3(12.0, 12.0, 12.0) | vec3(10.0, 10.0, 10.0) | vec3(45.0, 45.0, 45.0) | vec3(193.0, 193.0, 193.0) | vec3(255.0, 255.0, 255.0) ];
856e5c31af7Sopenharmony_ci		}
857e5c31af7Sopenharmony_ci
858e5c31af7Sopenharmony_ci		both ""
859e5c31af7Sopenharmony_ci			#version 300 es
860e5c31af7Sopenharmony_ci			precision mediump float;
861e5c31af7Sopenharmony_ci			precision mediump int;
862e5c31af7Sopenharmony_ci
863e5c31af7Sopenharmony_ci			${DECLARATIONS}
864e5c31af7Sopenharmony_ci
865e5c31af7Sopenharmony_ci			void main()
866e5c31af7Sopenharmony_ci			{
867e5c31af7Sopenharmony_ci				${SETUP}
868e5c31af7Sopenharmony_ci				out0 = vec3(in0);
869e5c31af7Sopenharmony_ci				${OUTPUT}
870e5c31af7Sopenharmony_ci			}
871e5c31af7Sopenharmony_ci		""
872e5c31af7Sopenharmony_ci	end
873e5c31af7Sopenharmony_ci
874e5c31af7Sopenharmony_ci	case uint_to_vec4
875e5c31af7Sopenharmony_ci		version 300 es
876e5c31af7Sopenharmony_ci		values
877e5c31af7Sopenharmony_ci		{
878e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
879e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(2.0, 2.0, 2.0, 2.0) | vec4(3.0, 3.0, 3.0, 3.0) | vec4(8.0, 8.0, 8.0, 8.0) | vec4(9.0, 9.0, 9.0, 9.0) | vec4(12.0, 12.0, 12.0, 12.0) | vec4(10.0, 10.0, 10.0, 10.0) | vec4(45.0, 45.0, 45.0, 45.0) | vec4(193.0, 193.0, 193.0, 193.0) | vec4(255.0, 255.0, 255.0, 255.0) ];
880e5c31af7Sopenharmony_ci		}
881e5c31af7Sopenharmony_ci
882e5c31af7Sopenharmony_ci		both ""
883e5c31af7Sopenharmony_ci			#version 300 es
884e5c31af7Sopenharmony_ci			precision mediump float;
885e5c31af7Sopenharmony_ci			precision mediump int;
886e5c31af7Sopenharmony_ci
887e5c31af7Sopenharmony_ci			${DECLARATIONS}
888e5c31af7Sopenharmony_ci
889e5c31af7Sopenharmony_ci			void main()
890e5c31af7Sopenharmony_ci			{
891e5c31af7Sopenharmony_ci				${SETUP}
892e5c31af7Sopenharmony_ci				out0 = vec4(in0);
893e5c31af7Sopenharmony_ci				${OUTPUT}
894e5c31af7Sopenharmony_ci			}
895e5c31af7Sopenharmony_ci		""
896e5c31af7Sopenharmony_ci	end
897e5c31af7Sopenharmony_ci
898e5c31af7Sopenharmony_ci	case uint_to_ivec2
899e5c31af7Sopenharmony_ci		version 300 es
900e5c31af7Sopenharmony_ci		values
901e5c31af7Sopenharmony_ci		{
902e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
903e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 0) | ivec2(2, 2) | ivec2(3, 3) | ivec2(8, 8) | ivec2(9, 9) | ivec2(12, 12) | ivec2(10, 10) | ivec2(45, 45) | ivec2(193, 193) | ivec2(255, 255) ];
904e5c31af7Sopenharmony_ci		}
905e5c31af7Sopenharmony_ci
906e5c31af7Sopenharmony_ci		both ""
907e5c31af7Sopenharmony_ci			#version 300 es
908e5c31af7Sopenharmony_ci			precision mediump float;
909e5c31af7Sopenharmony_ci			precision mediump int;
910e5c31af7Sopenharmony_ci
911e5c31af7Sopenharmony_ci			${DECLARATIONS}
912e5c31af7Sopenharmony_ci
913e5c31af7Sopenharmony_ci			void main()
914e5c31af7Sopenharmony_ci			{
915e5c31af7Sopenharmony_ci				${SETUP}
916e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
917e5c31af7Sopenharmony_ci				${OUTPUT}
918e5c31af7Sopenharmony_ci			}
919e5c31af7Sopenharmony_ci		""
920e5c31af7Sopenharmony_ci	end
921e5c31af7Sopenharmony_ci
922e5c31af7Sopenharmony_ci	case uint_to_ivec3
923e5c31af7Sopenharmony_ci		version 300 es
924e5c31af7Sopenharmony_ci		values
925e5c31af7Sopenharmony_ci		{
926e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
927e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(2, 2, 2) | ivec3(3, 3, 3) | ivec3(8, 8, 8) | ivec3(9, 9, 9) | ivec3(12, 12, 12) | ivec3(10, 10, 10) | ivec3(45, 45, 45) | ivec3(193, 193, 193) | ivec3(255, 255, 255) ];
928e5c31af7Sopenharmony_ci		}
929e5c31af7Sopenharmony_ci
930e5c31af7Sopenharmony_ci		both ""
931e5c31af7Sopenharmony_ci			#version 300 es
932e5c31af7Sopenharmony_ci			precision mediump float;
933e5c31af7Sopenharmony_ci			precision mediump int;
934e5c31af7Sopenharmony_ci
935e5c31af7Sopenharmony_ci			${DECLARATIONS}
936e5c31af7Sopenharmony_ci
937e5c31af7Sopenharmony_ci			void main()
938e5c31af7Sopenharmony_ci			{
939e5c31af7Sopenharmony_ci				${SETUP}
940e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
941e5c31af7Sopenharmony_ci				${OUTPUT}
942e5c31af7Sopenharmony_ci			}
943e5c31af7Sopenharmony_ci		""
944e5c31af7Sopenharmony_ci	end
945e5c31af7Sopenharmony_ci
946e5c31af7Sopenharmony_ci	case uint_to_ivec4
947e5c31af7Sopenharmony_ci		version 300 es
948e5c31af7Sopenharmony_ci		values
949e5c31af7Sopenharmony_ci		{
950e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
951e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(2, 2, 2, 2) | ivec4(3, 3, 3, 3) | ivec4(8, 8, 8, 8) | ivec4(9, 9, 9, 9) | ivec4(12, 12, 12, 12) | ivec4(10, 10, 10, 10) | ivec4(45, 45, 45, 45) | ivec4(193, 193, 193, 193) | ivec4(255, 255, 255, 255) ];
952e5c31af7Sopenharmony_ci		}
953e5c31af7Sopenharmony_ci
954e5c31af7Sopenharmony_ci		both ""
955e5c31af7Sopenharmony_ci			#version 300 es
956e5c31af7Sopenharmony_ci			precision mediump float;
957e5c31af7Sopenharmony_ci			precision mediump int;
958e5c31af7Sopenharmony_ci
959e5c31af7Sopenharmony_ci			${DECLARATIONS}
960e5c31af7Sopenharmony_ci
961e5c31af7Sopenharmony_ci			void main()
962e5c31af7Sopenharmony_ci			{
963e5c31af7Sopenharmony_ci				${SETUP}
964e5c31af7Sopenharmony_ci				out0 = ivec4(in0);
965e5c31af7Sopenharmony_ci				${OUTPUT}
966e5c31af7Sopenharmony_ci			}
967e5c31af7Sopenharmony_ci		""
968e5c31af7Sopenharmony_ci	end
969e5c31af7Sopenharmony_ci
970e5c31af7Sopenharmony_ci	case uint_to_bvec2
971e5c31af7Sopenharmony_ci		version 300 es
972e5c31af7Sopenharmony_ci		values
973e5c31af7Sopenharmony_ci		{
974e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
975e5c31af7Sopenharmony_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) ];
976e5c31af7Sopenharmony_ci		}
977e5c31af7Sopenharmony_ci
978e5c31af7Sopenharmony_ci		both ""
979e5c31af7Sopenharmony_ci			#version 300 es
980e5c31af7Sopenharmony_ci			precision mediump float;
981e5c31af7Sopenharmony_ci			precision mediump int;
982e5c31af7Sopenharmony_ci
983e5c31af7Sopenharmony_ci			${DECLARATIONS}
984e5c31af7Sopenharmony_ci
985e5c31af7Sopenharmony_ci			void main()
986e5c31af7Sopenharmony_ci			{
987e5c31af7Sopenharmony_ci				${SETUP}
988e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
989e5c31af7Sopenharmony_ci				${OUTPUT}
990e5c31af7Sopenharmony_ci			}
991e5c31af7Sopenharmony_ci		""
992e5c31af7Sopenharmony_ci	end
993e5c31af7Sopenharmony_ci
994e5c31af7Sopenharmony_ci	case uint_to_bvec3
995e5c31af7Sopenharmony_ci		version 300 es
996e5c31af7Sopenharmony_ci		values
997e5c31af7Sopenharmony_ci		{
998e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
999e5c31af7Sopenharmony_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) ];
1000e5c31af7Sopenharmony_ci		}
1001e5c31af7Sopenharmony_ci
1002e5c31af7Sopenharmony_ci		both ""
1003e5c31af7Sopenharmony_ci			#version 300 es
1004e5c31af7Sopenharmony_ci			precision mediump float;
1005e5c31af7Sopenharmony_ci			precision mediump int;
1006e5c31af7Sopenharmony_ci
1007e5c31af7Sopenharmony_ci			${DECLARATIONS}
1008e5c31af7Sopenharmony_ci
1009e5c31af7Sopenharmony_ci			void main()
1010e5c31af7Sopenharmony_ci			{
1011e5c31af7Sopenharmony_ci				${SETUP}
1012e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
1013e5c31af7Sopenharmony_ci				${OUTPUT}
1014e5c31af7Sopenharmony_ci			}
1015e5c31af7Sopenharmony_ci		""
1016e5c31af7Sopenharmony_ci	end
1017e5c31af7Sopenharmony_ci
1018e5c31af7Sopenharmony_ci	case uint_to_bvec4
1019e5c31af7Sopenharmony_ci		version 300 es
1020e5c31af7Sopenharmony_ci		values
1021e5c31af7Sopenharmony_ci		{
1022e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
1023e5c31af7Sopenharmony_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) ];
1024e5c31af7Sopenharmony_ci		}
1025e5c31af7Sopenharmony_ci
1026e5c31af7Sopenharmony_ci		both ""
1027e5c31af7Sopenharmony_ci			#version 300 es
1028e5c31af7Sopenharmony_ci			precision mediump float;
1029e5c31af7Sopenharmony_ci			precision mediump int;
1030e5c31af7Sopenharmony_ci
1031e5c31af7Sopenharmony_ci			${DECLARATIONS}
1032e5c31af7Sopenharmony_ci
1033e5c31af7Sopenharmony_ci			void main()
1034e5c31af7Sopenharmony_ci			{
1035e5c31af7Sopenharmony_ci				${SETUP}
1036e5c31af7Sopenharmony_ci				out0 = bvec4(in0);
1037e5c31af7Sopenharmony_ci				${OUTPUT}
1038e5c31af7Sopenharmony_ci			}
1039e5c31af7Sopenharmony_ci		""
1040e5c31af7Sopenharmony_ci	end
1041e5c31af7Sopenharmony_ci
1042e5c31af7Sopenharmony_ci	case bool_to_vec2
1043e5c31af7Sopenharmony_ci		version 300 es
1044e5c31af7Sopenharmony_ci		values
1045e5c31af7Sopenharmony_ci		{
1046e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
1047e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(1.0, 1.0) | vec2(0.0, 0.0) ];
1048e5c31af7Sopenharmony_ci		}
1049e5c31af7Sopenharmony_ci
1050e5c31af7Sopenharmony_ci		both ""
1051e5c31af7Sopenharmony_ci			#version 300 es
1052e5c31af7Sopenharmony_ci			precision mediump float;
1053e5c31af7Sopenharmony_ci			precision mediump int;
1054e5c31af7Sopenharmony_ci
1055e5c31af7Sopenharmony_ci			${DECLARATIONS}
1056e5c31af7Sopenharmony_ci
1057e5c31af7Sopenharmony_ci			void main()
1058e5c31af7Sopenharmony_ci			{
1059e5c31af7Sopenharmony_ci				${SETUP}
1060e5c31af7Sopenharmony_ci				out0 = vec2(in0);
1061e5c31af7Sopenharmony_ci				${OUTPUT}
1062e5c31af7Sopenharmony_ci			}
1063e5c31af7Sopenharmony_ci		""
1064e5c31af7Sopenharmony_ci	end
1065e5c31af7Sopenharmony_ci
1066e5c31af7Sopenharmony_ci	case bool_to_vec3
1067e5c31af7Sopenharmony_ci		version 300 es
1068e5c31af7Sopenharmony_ci		values
1069e5c31af7Sopenharmony_ci		{
1070e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
1071e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(1.0, 1.0, 1.0) | vec3(0.0, 0.0, 0.0) ];
1072e5c31af7Sopenharmony_ci		}
1073e5c31af7Sopenharmony_ci
1074e5c31af7Sopenharmony_ci		both ""
1075e5c31af7Sopenharmony_ci			#version 300 es
1076e5c31af7Sopenharmony_ci			precision mediump float;
1077e5c31af7Sopenharmony_ci			precision mediump int;
1078e5c31af7Sopenharmony_ci
1079e5c31af7Sopenharmony_ci			${DECLARATIONS}
1080e5c31af7Sopenharmony_ci
1081e5c31af7Sopenharmony_ci			void main()
1082e5c31af7Sopenharmony_ci			{
1083e5c31af7Sopenharmony_ci				${SETUP}
1084e5c31af7Sopenharmony_ci				out0 = vec3(in0);
1085e5c31af7Sopenharmony_ci				${OUTPUT}
1086e5c31af7Sopenharmony_ci			}
1087e5c31af7Sopenharmony_ci		""
1088e5c31af7Sopenharmony_ci	end
1089e5c31af7Sopenharmony_ci
1090e5c31af7Sopenharmony_ci	case bool_to_vec4
1091e5c31af7Sopenharmony_ci		version 300 es
1092e5c31af7Sopenharmony_ci		values
1093e5c31af7Sopenharmony_ci		{
1094e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
1095e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(1.0, 1.0, 1.0, 1.0) | vec4(0.0, 0.0, 0.0, 0.0) ];
1096e5c31af7Sopenharmony_ci		}
1097e5c31af7Sopenharmony_ci
1098e5c31af7Sopenharmony_ci		both ""
1099e5c31af7Sopenharmony_ci			#version 300 es
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 = vec4(in0);
1109e5c31af7Sopenharmony_ci				${OUTPUT}
1110e5c31af7Sopenharmony_ci			}
1111e5c31af7Sopenharmony_ci		""
1112e5c31af7Sopenharmony_ci	end
1113e5c31af7Sopenharmony_ci
1114e5c31af7Sopenharmony_ci	case bool_to_ivec2
1115e5c31af7Sopenharmony_ci		version 300 es
1116e5c31af7Sopenharmony_ci		values
1117e5c31af7Sopenharmony_ci		{
1118e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
1119e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(1, 1) | ivec2(0, 0) ];
1120e5c31af7Sopenharmony_ci		}
1121e5c31af7Sopenharmony_ci
1122e5c31af7Sopenharmony_ci		both ""
1123e5c31af7Sopenharmony_ci			#version 300 es
1124e5c31af7Sopenharmony_ci			precision mediump float;
1125e5c31af7Sopenharmony_ci			precision mediump int;
1126e5c31af7Sopenharmony_ci
1127e5c31af7Sopenharmony_ci			${DECLARATIONS}
1128e5c31af7Sopenharmony_ci
1129e5c31af7Sopenharmony_ci			void main()
1130e5c31af7Sopenharmony_ci			{
1131e5c31af7Sopenharmony_ci				${SETUP}
1132e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
1133e5c31af7Sopenharmony_ci				${OUTPUT}
1134e5c31af7Sopenharmony_ci			}
1135e5c31af7Sopenharmony_ci		""
1136e5c31af7Sopenharmony_ci	end
1137e5c31af7Sopenharmony_ci
1138e5c31af7Sopenharmony_ci	case bool_to_ivec3
1139e5c31af7Sopenharmony_ci		version 300 es
1140e5c31af7Sopenharmony_ci		values
1141e5c31af7Sopenharmony_ci		{
1142e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
1143e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(0, 0, 0) ];
1144e5c31af7Sopenharmony_ci		}
1145e5c31af7Sopenharmony_ci
1146e5c31af7Sopenharmony_ci		both ""
1147e5c31af7Sopenharmony_ci			#version 300 es
1148e5c31af7Sopenharmony_ci			precision mediump float;
1149e5c31af7Sopenharmony_ci			precision mediump int;
1150e5c31af7Sopenharmony_ci
1151e5c31af7Sopenharmony_ci			${DECLARATIONS}
1152e5c31af7Sopenharmony_ci
1153e5c31af7Sopenharmony_ci			void main()
1154e5c31af7Sopenharmony_ci			{
1155e5c31af7Sopenharmony_ci				${SETUP}
1156e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
1157e5c31af7Sopenharmony_ci				${OUTPUT}
1158e5c31af7Sopenharmony_ci			}
1159e5c31af7Sopenharmony_ci		""
1160e5c31af7Sopenharmony_ci	end
1161e5c31af7Sopenharmony_ci
1162e5c31af7Sopenharmony_ci	case bool_to_ivec4
1163e5c31af7Sopenharmony_ci		version 300 es
1164e5c31af7Sopenharmony_ci		values
1165e5c31af7Sopenharmony_ci		{
1166e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
1167e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) ];
1168e5c31af7Sopenharmony_ci		}
1169e5c31af7Sopenharmony_ci
1170e5c31af7Sopenharmony_ci		both ""
1171e5c31af7Sopenharmony_ci			#version 300 es
1172e5c31af7Sopenharmony_ci			precision mediump float;
1173e5c31af7Sopenharmony_ci			precision mediump int;
1174e5c31af7Sopenharmony_ci
1175e5c31af7Sopenharmony_ci			${DECLARATIONS}
1176e5c31af7Sopenharmony_ci
1177e5c31af7Sopenharmony_ci			void main()
1178e5c31af7Sopenharmony_ci			{
1179e5c31af7Sopenharmony_ci				${SETUP}
1180e5c31af7Sopenharmony_ci				out0 = ivec4(in0);
1181e5c31af7Sopenharmony_ci				${OUTPUT}
1182e5c31af7Sopenharmony_ci			}
1183e5c31af7Sopenharmony_ci		""
1184e5c31af7Sopenharmony_ci	end
1185e5c31af7Sopenharmony_ci
1186e5c31af7Sopenharmony_ci	case bool_to_bvec2
1187e5c31af7Sopenharmony_ci		version 300 es
1188e5c31af7Sopenharmony_ci		values
1189e5c31af7Sopenharmony_ci		{
1190e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
1191e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) ];
1192e5c31af7Sopenharmony_ci		}
1193e5c31af7Sopenharmony_ci
1194e5c31af7Sopenharmony_ci		both ""
1195e5c31af7Sopenharmony_ci			#version 300 es
1196e5c31af7Sopenharmony_ci			precision mediump float;
1197e5c31af7Sopenharmony_ci			precision mediump int;
1198e5c31af7Sopenharmony_ci
1199e5c31af7Sopenharmony_ci			${DECLARATIONS}
1200e5c31af7Sopenharmony_ci
1201e5c31af7Sopenharmony_ci			void main()
1202e5c31af7Sopenharmony_ci			{
1203e5c31af7Sopenharmony_ci				${SETUP}
1204e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
1205e5c31af7Sopenharmony_ci				${OUTPUT}
1206e5c31af7Sopenharmony_ci			}
1207e5c31af7Sopenharmony_ci		""
1208e5c31af7Sopenharmony_ci	end
1209e5c31af7Sopenharmony_ci
1210e5c31af7Sopenharmony_ci	case bool_to_bvec3
1211e5c31af7Sopenharmony_ci		version 300 es
1212e5c31af7Sopenharmony_ci		values
1213e5c31af7Sopenharmony_ci		{
1214e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
1215e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(false, false, false) ];
1216e5c31af7Sopenharmony_ci		}
1217e5c31af7Sopenharmony_ci
1218e5c31af7Sopenharmony_ci		both ""
1219e5c31af7Sopenharmony_ci			#version 300 es
1220e5c31af7Sopenharmony_ci			precision mediump float;
1221e5c31af7Sopenharmony_ci			precision mediump int;
1222e5c31af7Sopenharmony_ci
1223e5c31af7Sopenharmony_ci			${DECLARATIONS}
1224e5c31af7Sopenharmony_ci
1225e5c31af7Sopenharmony_ci			void main()
1226e5c31af7Sopenharmony_ci			{
1227e5c31af7Sopenharmony_ci				${SETUP}
1228e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
1229e5c31af7Sopenharmony_ci				${OUTPUT}
1230e5c31af7Sopenharmony_ci			}
1231e5c31af7Sopenharmony_ci		""
1232e5c31af7Sopenharmony_ci	end
1233e5c31af7Sopenharmony_ci
1234e5c31af7Sopenharmony_ci	case bool_to_bvec4
1235e5c31af7Sopenharmony_ci		version 300 es
1236e5c31af7Sopenharmony_ci		values
1237e5c31af7Sopenharmony_ci		{
1238e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
1239e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
1240e5c31af7Sopenharmony_ci		}
1241e5c31af7Sopenharmony_ci
1242e5c31af7Sopenharmony_ci		both ""
1243e5c31af7Sopenharmony_ci			#version 300 es
1244e5c31af7Sopenharmony_ci			precision mediump float;
1245e5c31af7Sopenharmony_ci			precision mediump int;
1246e5c31af7Sopenharmony_ci
1247e5c31af7Sopenharmony_ci			${DECLARATIONS}
1248e5c31af7Sopenharmony_ci
1249e5c31af7Sopenharmony_ci			void main()
1250e5c31af7Sopenharmony_ci			{
1251e5c31af7Sopenharmony_ci				${SETUP}
1252e5c31af7Sopenharmony_ci				out0 = bvec4(in0);
1253e5c31af7Sopenharmony_ci				${OUTPUT}
1254e5c31af7Sopenharmony_ci			}
1255e5c31af7Sopenharmony_ci		""
1256e5c31af7Sopenharmony_ci	end
1257e5c31af7Sopenharmony_ci
1258e5c31af7Sopenharmony_ci	case float_to_uvec2
1259e5c31af7Sopenharmony_ci		version 300 es
1260e5c31af7Sopenharmony_ci		values
1261e5c31af7Sopenharmony_ci		{
1262e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | 0.5 | 8.25 | 20.125 | 36.8125 ];
1263e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(2, 2) | uvec2(3, 3) | uvec2(0, 0) | uvec2(8, 8) | uvec2(20, 20) | uvec2(36, 36) ];
1264e5c31af7Sopenharmony_ci		}
1265e5c31af7Sopenharmony_ci
1266e5c31af7Sopenharmony_ci		both ""
1267e5c31af7Sopenharmony_ci			#version 300 es
1268e5c31af7Sopenharmony_ci			precision mediump float;
1269e5c31af7Sopenharmony_ci			precision mediump int;
1270e5c31af7Sopenharmony_ci
1271e5c31af7Sopenharmony_ci			${DECLARATIONS}
1272e5c31af7Sopenharmony_ci
1273e5c31af7Sopenharmony_ci			void main()
1274e5c31af7Sopenharmony_ci			{
1275e5c31af7Sopenharmony_ci				${SETUP}
1276e5c31af7Sopenharmony_ci				out0 = uvec2(in0);
1277e5c31af7Sopenharmony_ci				${OUTPUT}
1278e5c31af7Sopenharmony_ci			}
1279e5c31af7Sopenharmony_ci		""
1280e5c31af7Sopenharmony_ci	end
1281e5c31af7Sopenharmony_ci
1282e5c31af7Sopenharmony_ci	case float_to_uvec3
1283e5c31af7Sopenharmony_ci		version 300 es
1284e5c31af7Sopenharmony_ci		values
1285e5c31af7Sopenharmony_ci		{
1286e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | 0.5 | 8.25 | 20.125 | 36.8125 ];
1287e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(2, 2, 2) | uvec3(3, 3, 3) | uvec3(0, 0, 0) | uvec3(8, 8, 8) | uvec3(20, 20, 20) | uvec3(36, 36, 36) ];
1288e5c31af7Sopenharmony_ci		}
1289e5c31af7Sopenharmony_ci
1290e5c31af7Sopenharmony_ci		both ""
1291e5c31af7Sopenharmony_ci			#version 300 es
1292e5c31af7Sopenharmony_ci			precision mediump float;
1293e5c31af7Sopenharmony_ci			precision mediump int;
1294e5c31af7Sopenharmony_ci
1295e5c31af7Sopenharmony_ci			${DECLARATIONS}
1296e5c31af7Sopenharmony_ci
1297e5c31af7Sopenharmony_ci			void main()
1298e5c31af7Sopenharmony_ci			{
1299e5c31af7Sopenharmony_ci				${SETUP}
1300e5c31af7Sopenharmony_ci				out0 = uvec3(in0);
1301e5c31af7Sopenharmony_ci				${OUTPUT}
1302e5c31af7Sopenharmony_ci			}
1303e5c31af7Sopenharmony_ci		""
1304e5c31af7Sopenharmony_ci	end
1305e5c31af7Sopenharmony_ci
1306e5c31af7Sopenharmony_ci	case float_to_uvec4
1307e5c31af7Sopenharmony_ci		version 300 es
1308e5c31af7Sopenharmony_ci		values
1309e5c31af7Sopenharmony_ci		{
1310e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | 0.5 | 8.25 | 20.125 | 36.8125 ];
1311e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(2, 2, 2, 2) | uvec4(3, 3, 3, 3) | uvec4(0, 0, 0, 0) | uvec4(8, 8, 8, 8) | uvec4(20, 20, 20, 20) | uvec4(36, 36, 36, 36) ];
1312e5c31af7Sopenharmony_ci		}
1313e5c31af7Sopenharmony_ci
1314e5c31af7Sopenharmony_ci		both ""
1315e5c31af7Sopenharmony_ci			#version 300 es
1316e5c31af7Sopenharmony_ci			precision mediump float;
1317e5c31af7Sopenharmony_ci			precision mediump int;
1318e5c31af7Sopenharmony_ci
1319e5c31af7Sopenharmony_ci			${DECLARATIONS}
1320e5c31af7Sopenharmony_ci
1321e5c31af7Sopenharmony_ci			void main()
1322e5c31af7Sopenharmony_ci			{
1323e5c31af7Sopenharmony_ci				${SETUP}
1324e5c31af7Sopenharmony_ci				out0 = uvec4(in0);
1325e5c31af7Sopenharmony_ci				${OUTPUT}
1326e5c31af7Sopenharmony_ci			}
1327e5c31af7Sopenharmony_ci		""
1328e5c31af7Sopenharmony_ci	end
1329e5c31af7Sopenharmony_ci
1330e5c31af7Sopenharmony_ci	case int_to_uvec2
1331e5c31af7Sopenharmony_ci		version 300 es
1332e5c31af7Sopenharmony_ci		values
1333e5c31af7Sopenharmony_ci		{
1334e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | 12 | 66 | 192 | 255 ];
1335e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(2, 2) | uvec2(5, 5) | uvec2(8, 8) | uvec2(11, 11) | uvec2(12, 12) | uvec2(66, 66) | uvec2(192, 192) | uvec2(255, 255) ];
1336e5c31af7Sopenharmony_ci		}
1337e5c31af7Sopenharmony_ci
1338e5c31af7Sopenharmony_ci		both ""
1339e5c31af7Sopenharmony_ci			#version 300 es
1340e5c31af7Sopenharmony_ci			precision mediump float;
1341e5c31af7Sopenharmony_ci			precision mediump int;
1342e5c31af7Sopenharmony_ci
1343e5c31af7Sopenharmony_ci			${DECLARATIONS}
1344e5c31af7Sopenharmony_ci
1345e5c31af7Sopenharmony_ci			void main()
1346e5c31af7Sopenharmony_ci			{
1347e5c31af7Sopenharmony_ci				${SETUP}
1348e5c31af7Sopenharmony_ci				out0 = uvec2(in0);
1349e5c31af7Sopenharmony_ci				${OUTPUT}
1350e5c31af7Sopenharmony_ci			}
1351e5c31af7Sopenharmony_ci		""
1352e5c31af7Sopenharmony_ci	end
1353e5c31af7Sopenharmony_ci
1354e5c31af7Sopenharmony_ci	case int_to_uvec3
1355e5c31af7Sopenharmony_ci		version 300 es
1356e5c31af7Sopenharmony_ci		values
1357e5c31af7Sopenharmony_ci		{
1358e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | 12 | 66 | 192 | 255 ];
1359e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(2, 2, 2) | uvec3(5, 5, 5) | uvec3(8, 8, 8) | uvec3(11, 11, 11) | uvec3(12, 12, 12) | uvec3(66, 66, 66) | uvec3(192, 192, 192) | uvec3(255, 255, 255) ];
1360e5c31af7Sopenharmony_ci		}
1361e5c31af7Sopenharmony_ci
1362e5c31af7Sopenharmony_ci		both ""
1363e5c31af7Sopenharmony_ci			#version 300 es
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 = uvec3(in0);
1373e5c31af7Sopenharmony_ci				${OUTPUT}
1374e5c31af7Sopenharmony_ci			}
1375e5c31af7Sopenharmony_ci		""
1376e5c31af7Sopenharmony_ci	end
1377e5c31af7Sopenharmony_ci
1378e5c31af7Sopenharmony_ci	case int_to_uvec4
1379e5c31af7Sopenharmony_ci		version 300 es
1380e5c31af7Sopenharmony_ci		values
1381e5c31af7Sopenharmony_ci		{
1382e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | 12 | 66 | 192 | 255 ];
1383e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(2, 2, 2, 2) | uvec4(5, 5, 5, 5) | uvec4(8, 8, 8, 8) | uvec4(11, 11, 11, 11) | uvec4(12, 12, 12, 12) | uvec4(66, 66, 66, 66) | uvec4(192, 192, 192, 192) | uvec4(255, 255, 255, 255) ];
1384e5c31af7Sopenharmony_ci		}
1385e5c31af7Sopenharmony_ci
1386e5c31af7Sopenharmony_ci		both ""
1387e5c31af7Sopenharmony_ci			#version 300 es
1388e5c31af7Sopenharmony_ci			precision mediump float;
1389e5c31af7Sopenharmony_ci			precision mediump int;
1390e5c31af7Sopenharmony_ci
1391e5c31af7Sopenharmony_ci			${DECLARATIONS}
1392e5c31af7Sopenharmony_ci
1393e5c31af7Sopenharmony_ci			void main()
1394e5c31af7Sopenharmony_ci			{
1395e5c31af7Sopenharmony_ci				${SETUP}
1396e5c31af7Sopenharmony_ci				out0 = uvec4(in0);
1397e5c31af7Sopenharmony_ci				${OUTPUT}
1398e5c31af7Sopenharmony_ci			}
1399e5c31af7Sopenharmony_ci		""
1400e5c31af7Sopenharmony_ci	end
1401e5c31af7Sopenharmony_ci
1402e5c31af7Sopenharmony_ci	case uint_to_uvec2
1403e5c31af7Sopenharmony_ci		version 300 es
1404e5c31af7Sopenharmony_ci		values
1405e5c31af7Sopenharmony_ci		{
1406e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
1407e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(0, 0) | uvec2(2, 2) | uvec2(3, 3) | uvec2(8, 8) | uvec2(9, 9) | uvec2(12, 12) | uvec2(10, 10) | uvec2(45, 45) | uvec2(193, 193) | uvec2(255, 255) ];
1408e5c31af7Sopenharmony_ci		}
1409e5c31af7Sopenharmony_ci
1410e5c31af7Sopenharmony_ci		both ""
1411e5c31af7Sopenharmony_ci			#version 300 es
1412e5c31af7Sopenharmony_ci			precision mediump float;
1413e5c31af7Sopenharmony_ci			precision mediump int;
1414e5c31af7Sopenharmony_ci
1415e5c31af7Sopenharmony_ci			${DECLARATIONS}
1416e5c31af7Sopenharmony_ci
1417e5c31af7Sopenharmony_ci			void main()
1418e5c31af7Sopenharmony_ci			{
1419e5c31af7Sopenharmony_ci				${SETUP}
1420e5c31af7Sopenharmony_ci				out0 = uvec2(in0);
1421e5c31af7Sopenharmony_ci				${OUTPUT}
1422e5c31af7Sopenharmony_ci			}
1423e5c31af7Sopenharmony_ci		""
1424e5c31af7Sopenharmony_ci	end
1425e5c31af7Sopenharmony_ci
1426e5c31af7Sopenharmony_ci	case uint_to_uvec3
1427e5c31af7Sopenharmony_ci		version 300 es
1428e5c31af7Sopenharmony_ci		values
1429e5c31af7Sopenharmony_ci		{
1430e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
1431e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(2, 2, 2) | uvec3(3, 3, 3) | uvec3(8, 8, 8) | uvec3(9, 9, 9) | uvec3(12, 12, 12) | uvec3(10, 10, 10) | uvec3(45, 45, 45) | uvec3(193, 193, 193) | uvec3(255, 255, 255) ];
1432e5c31af7Sopenharmony_ci		}
1433e5c31af7Sopenharmony_ci
1434e5c31af7Sopenharmony_ci		both ""
1435e5c31af7Sopenharmony_ci			#version 300 es
1436e5c31af7Sopenharmony_ci			precision mediump float;
1437e5c31af7Sopenharmony_ci			precision mediump int;
1438e5c31af7Sopenharmony_ci
1439e5c31af7Sopenharmony_ci			${DECLARATIONS}
1440e5c31af7Sopenharmony_ci
1441e5c31af7Sopenharmony_ci			void main()
1442e5c31af7Sopenharmony_ci			{
1443e5c31af7Sopenharmony_ci				${SETUP}
1444e5c31af7Sopenharmony_ci				out0 = uvec3(in0);
1445e5c31af7Sopenharmony_ci				${OUTPUT}
1446e5c31af7Sopenharmony_ci			}
1447e5c31af7Sopenharmony_ci		""
1448e5c31af7Sopenharmony_ci	end
1449e5c31af7Sopenharmony_ci
1450e5c31af7Sopenharmony_ci	case uint_to_uvec4
1451e5c31af7Sopenharmony_ci		version 300 es
1452e5c31af7Sopenharmony_ci		values
1453e5c31af7Sopenharmony_ci		{
1454e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
1455e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(0, 0, 0, 0) | uvec4(2, 2, 2, 2) | uvec4(3, 3, 3, 3) | uvec4(8, 8, 8, 8) | uvec4(9, 9, 9, 9) | uvec4(12, 12, 12, 12) | uvec4(10, 10, 10, 10) | uvec4(45, 45, 45, 45) | uvec4(193, 193, 193, 193) | uvec4(255, 255, 255, 255) ];
1456e5c31af7Sopenharmony_ci		}
1457e5c31af7Sopenharmony_ci
1458e5c31af7Sopenharmony_ci		both ""
1459e5c31af7Sopenharmony_ci			#version 300 es
1460e5c31af7Sopenharmony_ci			precision mediump float;
1461e5c31af7Sopenharmony_ci			precision mediump int;
1462e5c31af7Sopenharmony_ci
1463e5c31af7Sopenharmony_ci			${DECLARATIONS}
1464e5c31af7Sopenharmony_ci
1465e5c31af7Sopenharmony_ci			void main()
1466e5c31af7Sopenharmony_ci			{
1467e5c31af7Sopenharmony_ci				${SETUP}
1468e5c31af7Sopenharmony_ci				out0 = uvec4(in0);
1469e5c31af7Sopenharmony_ci				${OUTPUT}
1470e5c31af7Sopenharmony_ci			}
1471e5c31af7Sopenharmony_ci		""
1472e5c31af7Sopenharmony_ci	end
1473e5c31af7Sopenharmony_ci
1474e5c31af7Sopenharmony_ci	case bool_to_uvec2
1475e5c31af7Sopenharmony_ci		version 300 es
1476e5c31af7Sopenharmony_ci		values
1477e5c31af7Sopenharmony_ci		{
1478e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
1479e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(1, 1) | uvec2(0, 0) ];
1480e5c31af7Sopenharmony_ci		}
1481e5c31af7Sopenharmony_ci
1482e5c31af7Sopenharmony_ci		both ""
1483e5c31af7Sopenharmony_ci			#version 300 es
1484e5c31af7Sopenharmony_ci			precision mediump float;
1485e5c31af7Sopenharmony_ci			precision mediump int;
1486e5c31af7Sopenharmony_ci
1487e5c31af7Sopenharmony_ci			${DECLARATIONS}
1488e5c31af7Sopenharmony_ci
1489e5c31af7Sopenharmony_ci			void main()
1490e5c31af7Sopenharmony_ci			{
1491e5c31af7Sopenharmony_ci				${SETUP}
1492e5c31af7Sopenharmony_ci				out0 = uvec2(in0);
1493e5c31af7Sopenharmony_ci				${OUTPUT}
1494e5c31af7Sopenharmony_ci			}
1495e5c31af7Sopenharmony_ci		""
1496e5c31af7Sopenharmony_ci	end
1497e5c31af7Sopenharmony_ci
1498e5c31af7Sopenharmony_ci	case bool_to_uvec3
1499e5c31af7Sopenharmony_ci		version 300 es
1500e5c31af7Sopenharmony_ci		values
1501e5c31af7Sopenharmony_ci		{
1502e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
1503e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(1, 1, 1) | uvec3(0, 0, 0) ];
1504e5c31af7Sopenharmony_ci		}
1505e5c31af7Sopenharmony_ci
1506e5c31af7Sopenharmony_ci		both ""
1507e5c31af7Sopenharmony_ci			#version 300 es
1508e5c31af7Sopenharmony_ci			precision mediump float;
1509e5c31af7Sopenharmony_ci			precision mediump int;
1510e5c31af7Sopenharmony_ci
1511e5c31af7Sopenharmony_ci			${DECLARATIONS}
1512e5c31af7Sopenharmony_ci
1513e5c31af7Sopenharmony_ci			void main()
1514e5c31af7Sopenharmony_ci			{
1515e5c31af7Sopenharmony_ci				${SETUP}
1516e5c31af7Sopenharmony_ci				out0 = uvec3(in0);
1517e5c31af7Sopenharmony_ci				${OUTPUT}
1518e5c31af7Sopenharmony_ci			}
1519e5c31af7Sopenharmony_ci		""
1520e5c31af7Sopenharmony_ci	end
1521e5c31af7Sopenharmony_ci
1522e5c31af7Sopenharmony_ci	case bool_to_uvec4
1523e5c31af7Sopenharmony_ci		version 300 es
1524e5c31af7Sopenharmony_ci		values
1525e5c31af7Sopenharmony_ci		{
1526e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
1527e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(1, 1, 1, 1) | uvec4(0, 0, 0, 0) ];
1528e5c31af7Sopenharmony_ci		}
1529e5c31af7Sopenharmony_ci
1530e5c31af7Sopenharmony_ci		both ""
1531e5c31af7Sopenharmony_ci			#version 300 es
1532e5c31af7Sopenharmony_ci			precision mediump float;
1533e5c31af7Sopenharmony_ci			precision mediump int;
1534e5c31af7Sopenharmony_ci
1535e5c31af7Sopenharmony_ci			${DECLARATIONS}
1536e5c31af7Sopenharmony_ci
1537e5c31af7Sopenharmony_ci			void main()
1538e5c31af7Sopenharmony_ci			{
1539e5c31af7Sopenharmony_ci				${SETUP}
1540e5c31af7Sopenharmony_ci				out0 = uvec4(in0);
1541e5c31af7Sopenharmony_ci				${OUTPUT}
1542e5c31af7Sopenharmony_ci			}
1543e5c31af7Sopenharmony_ci		""
1544e5c31af7Sopenharmony_ci	end
1545e5c31af7Sopenharmony_ci
1546e5c31af7Sopenharmony_ci
1547e5c31af7Sopenharmony_ciend # scalar_to_vector
1548e5c31af7Sopenharmony_cigroup vector_to_scalar "Vector to Scalar Conversions"
1549e5c31af7Sopenharmony_ci
1550e5c31af7Sopenharmony_ci	case vec2_to_float
1551e5c31af7Sopenharmony_ci		version 300 es
1552e5c31af7Sopenharmony_ci		values
1553e5c31af7Sopenharmony_ci		{
1554e5c31af7Sopenharmony_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) ];
1555e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
1556e5c31af7Sopenharmony_ci		}
1557e5c31af7Sopenharmony_ci
1558e5c31af7Sopenharmony_ci		both ""
1559e5c31af7Sopenharmony_ci			#version 300 es
1560e5c31af7Sopenharmony_ci			precision mediump float;
1561e5c31af7Sopenharmony_ci			precision mediump int;
1562e5c31af7Sopenharmony_ci
1563e5c31af7Sopenharmony_ci			${DECLARATIONS}
1564e5c31af7Sopenharmony_ci
1565e5c31af7Sopenharmony_ci			void main()
1566e5c31af7Sopenharmony_ci			{
1567e5c31af7Sopenharmony_ci				${SETUP}
1568e5c31af7Sopenharmony_ci				out0 = float(in0);
1569e5c31af7Sopenharmony_ci				${OUTPUT}
1570e5c31af7Sopenharmony_ci			}
1571e5c31af7Sopenharmony_ci		""
1572e5c31af7Sopenharmony_ci	end
1573e5c31af7Sopenharmony_ci
1574e5c31af7Sopenharmony_ci	case vec2_to_int
1575e5c31af7Sopenharmony_ci		version 300 es
1576e5c31af7Sopenharmony_ci		values
1577e5c31af7Sopenharmony_ci		{
1578e5c31af7Sopenharmony_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) ];
1579e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
1580e5c31af7Sopenharmony_ci		}
1581e5c31af7Sopenharmony_ci
1582e5c31af7Sopenharmony_ci		both ""
1583e5c31af7Sopenharmony_ci			#version 300 es
1584e5c31af7Sopenharmony_ci			precision mediump float;
1585e5c31af7Sopenharmony_ci			precision mediump int;
1586e5c31af7Sopenharmony_ci
1587e5c31af7Sopenharmony_ci			${DECLARATIONS}
1588e5c31af7Sopenharmony_ci
1589e5c31af7Sopenharmony_ci			void main()
1590e5c31af7Sopenharmony_ci			{
1591e5c31af7Sopenharmony_ci				${SETUP}
1592e5c31af7Sopenharmony_ci				out0 = int(in0);
1593e5c31af7Sopenharmony_ci				${OUTPUT}
1594e5c31af7Sopenharmony_ci			}
1595e5c31af7Sopenharmony_ci		""
1596e5c31af7Sopenharmony_ci	end
1597e5c31af7Sopenharmony_ci
1598e5c31af7Sopenharmony_ci	case vec2_to_bool
1599e5c31af7Sopenharmony_ci		version 300 es
1600e5c31af7Sopenharmony_ci		values
1601e5c31af7Sopenharmony_ci		{
1602e5c31af7Sopenharmony_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) ];
1603e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | true | true | true ];
1604e5c31af7Sopenharmony_ci		}
1605e5c31af7Sopenharmony_ci
1606e5c31af7Sopenharmony_ci		both ""
1607e5c31af7Sopenharmony_ci			#version 300 es
1608e5c31af7Sopenharmony_ci			precision mediump float;
1609e5c31af7Sopenharmony_ci			precision mediump int;
1610e5c31af7Sopenharmony_ci
1611e5c31af7Sopenharmony_ci			${DECLARATIONS}
1612e5c31af7Sopenharmony_ci
1613e5c31af7Sopenharmony_ci			void main()
1614e5c31af7Sopenharmony_ci			{
1615e5c31af7Sopenharmony_ci				${SETUP}
1616e5c31af7Sopenharmony_ci				out0 = bool(in0);
1617e5c31af7Sopenharmony_ci				${OUTPUT}
1618e5c31af7Sopenharmony_ci			}
1619e5c31af7Sopenharmony_ci		""
1620e5c31af7Sopenharmony_ci	end
1621e5c31af7Sopenharmony_ci
1622e5c31af7Sopenharmony_ci	case vec3_to_float
1623e5c31af7Sopenharmony_ci		version 300 es
1624e5c31af7Sopenharmony_ci		values
1625e5c31af7Sopenharmony_ci		{
1626e5c31af7Sopenharmony_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) ];
1627e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
1628e5c31af7Sopenharmony_ci		}
1629e5c31af7Sopenharmony_ci
1630e5c31af7Sopenharmony_ci		both ""
1631e5c31af7Sopenharmony_ci			#version 300 es
1632e5c31af7Sopenharmony_ci			precision mediump float;
1633e5c31af7Sopenharmony_ci			precision mediump int;
1634e5c31af7Sopenharmony_ci
1635e5c31af7Sopenharmony_ci			${DECLARATIONS}
1636e5c31af7Sopenharmony_ci
1637e5c31af7Sopenharmony_ci			void main()
1638e5c31af7Sopenharmony_ci			{
1639e5c31af7Sopenharmony_ci				${SETUP}
1640e5c31af7Sopenharmony_ci				out0 = float(in0);
1641e5c31af7Sopenharmony_ci				${OUTPUT}
1642e5c31af7Sopenharmony_ci			}
1643e5c31af7Sopenharmony_ci		""
1644e5c31af7Sopenharmony_ci	end
1645e5c31af7Sopenharmony_ci
1646e5c31af7Sopenharmony_ci	case vec3_to_int
1647e5c31af7Sopenharmony_ci		version 300 es
1648e5c31af7Sopenharmony_ci		values
1649e5c31af7Sopenharmony_ci		{
1650e5c31af7Sopenharmony_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) ];
1651e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
1652e5c31af7Sopenharmony_ci		}
1653e5c31af7Sopenharmony_ci
1654e5c31af7Sopenharmony_ci		both ""
1655e5c31af7Sopenharmony_ci			#version 300 es
1656e5c31af7Sopenharmony_ci			precision mediump float;
1657e5c31af7Sopenharmony_ci			precision mediump int;
1658e5c31af7Sopenharmony_ci
1659e5c31af7Sopenharmony_ci			${DECLARATIONS}
1660e5c31af7Sopenharmony_ci
1661e5c31af7Sopenharmony_ci			void main()
1662e5c31af7Sopenharmony_ci			{
1663e5c31af7Sopenharmony_ci				${SETUP}
1664e5c31af7Sopenharmony_ci				out0 = int(in0);
1665e5c31af7Sopenharmony_ci				${OUTPUT}
1666e5c31af7Sopenharmony_ci			}
1667e5c31af7Sopenharmony_ci		""
1668e5c31af7Sopenharmony_ci	end
1669e5c31af7Sopenharmony_ci
1670e5c31af7Sopenharmony_ci	case vec3_to_bool
1671e5c31af7Sopenharmony_ci		version 300 es
1672e5c31af7Sopenharmony_ci		values
1673e5c31af7Sopenharmony_ci		{
1674e5c31af7Sopenharmony_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) ];
1675e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | true | true | true ];
1676e5c31af7Sopenharmony_ci		}
1677e5c31af7Sopenharmony_ci
1678e5c31af7Sopenharmony_ci		both ""
1679e5c31af7Sopenharmony_ci			#version 300 es
1680e5c31af7Sopenharmony_ci			precision mediump float;
1681e5c31af7Sopenharmony_ci			precision mediump int;
1682e5c31af7Sopenharmony_ci
1683e5c31af7Sopenharmony_ci			${DECLARATIONS}
1684e5c31af7Sopenharmony_ci
1685e5c31af7Sopenharmony_ci			void main()
1686e5c31af7Sopenharmony_ci			{
1687e5c31af7Sopenharmony_ci				${SETUP}
1688e5c31af7Sopenharmony_ci				out0 = bool(in0);
1689e5c31af7Sopenharmony_ci				${OUTPUT}
1690e5c31af7Sopenharmony_ci			}
1691e5c31af7Sopenharmony_ci		""
1692e5c31af7Sopenharmony_ci	end
1693e5c31af7Sopenharmony_ci
1694e5c31af7Sopenharmony_ci	case vec4_to_float
1695e5c31af7Sopenharmony_ci		version 300 es
1696e5c31af7Sopenharmony_ci		values
1697e5c31af7Sopenharmony_ci		{
1698e5c31af7Sopenharmony_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) ];
1699e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
1700e5c31af7Sopenharmony_ci		}
1701e5c31af7Sopenharmony_ci
1702e5c31af7Sopenharmony_ci		both ""
1703e5c31af7Sopenharmony_ci			#version 300 es
1704e5c31af7Sopenharmony_ci			precision mediump float;
1705e5c31af7Sopenharmony_ci			precision mediump int;
1706e5c31af7Sopenharmony_ci
1707e5c31af7Sopenharmony_ci			${DECLARATIONS}
1708e5c31af7Sopenharmony_ci
1709e5c31af7Sopenharmony_ci			void main()
1710e5c31af7Sopenharmony_ci			{
1711e5c31af7Sopenharmony_ci				${SETUP}
1712e5c31af7Sopenharmony_ci				out0 = float(in0);
1713e5c31af7Sopenharmony_ci				${OUTPUT}
1714e5c31af7Sopenharmony_ci			}
1715e5c31af7Sopenharmony_ci		""
1716e5c31af7Sopenharmony_ci	end
1717e5c31af7Sopenharmony_ci
1718e5c31af7Sopenharmony_ci	case vec4_to_int
1719e5c31af7Sopenharmony_ci		version 300 es
1720e5c31af7Sopenharmony_ci		values
1721e5c31af7Sopenharmony_ci		{
1722e5c31af7Sopenharmony_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) ];
1723e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
1724e5c31af7Sopenharmony_ci		}
1725e5c31af7Sopenharmony_ci
1726e5c31af7Sopenharmony_ci		both ""
1727e5c31af7Sopenharmony_ci			#version 300 es
1728e5c31af7Sopenharmony_ci			precision mediump float;
1729e5c31af7Sopenharmony_ci			precision mediump int;
1730e5c31af7Sopenharmony_ci
1731e5c31af7Sopenharmony_ci			${DECLARATIONS}
1732e5c31af7Sopenharmony_ci
1733e5c31af7Sopenharmony_ci			void main()
1734e5c31af7Sopenharmony_ci			{
1735e5c31af7Sopenharmony_ci				${SETUP}
1736e5c31af7Sopenharmony_ci				out0 = int(in0);
1737e5c31af7Sopenharmony_ci				${OUTPUT}
1738e5c31af7Sopenharmony_ci			}
1739e5c31af7Sopenharmony_ci		""
1740e5c31af7Sopenharmony_ci	end
1741e5c31af7Sopenharmony_ci
1742e5c31af7Sopenharmony_ci	case vec4_to_bool
1743e5c31af7Sopenharmony_ci		version 300 es
1744e5c31af7Sopenharmony_ci		values
1745e5c31af7Sopenharmony_ci		{
1746e5c31af7Sopenharmony_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) ];
1747e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | true | true | true ];
1748e5c31af7Sopenharmony_ci		}
1749e5c31af7Sopenharmony_ci
1750e5c31af7Sopenharmony_ci		both ""
1751e5c31af7Sopenharmony_ci			#version 300 es
1752e5c31af7Sopenharmony_ci			precision mediump float;
1753e5c31af7Sopenharmony_ci			precision mediump int;
1754e5c31af7Sopenharmony_ci
1755e5c31af7Sopenharmony_ci			${DECLARATIONS}
1756e5c31af7Sopenharmony_ci
1757e5c31af7Sopenharmony_ci			void main()
1758e5c31af7Sopenharmony_ci			{
1759e5c31af7Sopenharmony_ci				${SETUP}
1760e5c31af7Sopenharmony_ci				out0 = bool(in0);
1761e5c31af7Sopenharmony_ci				${OUTPUT}
1762e5c31af7Sopenharmony_ci			}
1763e5c31af7Sopenharmony_ci		""
1764e5c31af7Sopenharmony_ci	end
1765e5c31af7Sopenharmony_ci
1766e5c31af7Sopenharmony_ci	case ivec2_to_float
1767e5c31af7Sopenharmony_ci		version 300 es
1768e5c31af7Sopenharmony_ci		values
1769e5c31af7Sopenharmony_ci		{
1770e5c31af7Sopenharmony_ci			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
1771e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 0.0 | -32.0 | 0.0 ];
1772e5c31af7Sopenharmony_ci		}
1773e5c31af7Sopenharmony_ci
1774e5c31af7Sopenharmony_ci		both ""
1775e5c31af7Sopenharmony_ci			#version 300 es
1776e5c31af7Sopenharmony_ci			precision mediump float;
1777e5c31af7Sopenharmony_ci			precision mediump int;
1778e5c31af7Sopenharmony_ci
1779e5c31af7Sopenharmony_ci			${DECLARATIONS}
1780e5c31af7Sopenharmony_ci
1781e5c31af7Sopenharmony_ci			void main()
1782e5c31af7Sopenharmony_ci			{
1783e5c31af7Sopenharmony_ci				${SETUP}
1784e5c31af7Sopenharmony_ci				out0 = float(in0);
1785e5c31af7Sopenharmony_ci				${OUTPUT}
1786e5c31af7Sopenharmony_ci			}
1787e5c31af7Sopenharmony_ci		""
1788e5c31af7Sopenharmony_ci	end
1789e5c31af7Sopenharmony_ci
1790e5c31af7Sopenharmony_ci	case ivec2_to_int
1791e5c31af7Sopenharmony_ci		version 300 es
1792e5c31af7Sopenharmony_ci		values
1793e5c31af7Sopenharmony_ci		{
1794e5c31af7Sopenharmony_ci			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
1795e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
1796e5c31af7Sopenharmony_ci		}
1797e5c31af7Sopenharmony_ci
1798e5c31af7Sopenharmony_ci		both ""
1799e5c31af7Sopenharmony_ci			#version 300 es
1800e5c31af7Sopenharmony_ci			precision mediump float;
1801e5c31af7Sopenharmony_ci			precision mediump int;
1802e5c31af7Sopenharmony_ci
1803e5c31af7Sopenharmony_ci			${DECLARATIONS}
1804e5c31af7Sopenharmony_ci
1805e5c31af7Sopenharmony_ci			void main()
1806e5c31af7Sopenharmony_ci			{
1807e5c31af7Sopenharmony_ci				${SETUP}
1808e5c31af7Sopenharmony_ci				out0 = int(in0);
1809e5c31af7Sopenharmony_ci				${OUTPUT}
1810e5c31af7Sopenharmony_ci			}
1811e5c31af7Sopenharmony_ci		""
1812e5c31af7Sopenharmony_ci	end
1813e5c31af7Sopenharmony_ci
1814e5c31af7Sopenharmony_ci	case ivec2_to_bool
1815e5c31af7Sopenharmony_ci		version 300 es
1816e5c31af7Sopenharmony_ci		values
1817e5c31af7Sopenharmony_ci		{
1818e5c31af7Sopenharmony_ci			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
1819e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | false | true | false ];
1820e5c31af7Sopenharmony_ci		}
1821e5c31af7Sopenharmony_ci
1822e5c31af7Sopenharmony_ci		both ""
1823e5c31af7Sopenharmony_ci			#version 300 es
1824e5c31af7Sopenharmony_ci			precision mediump float;
1825e5c31af7Sopenharmony_ci			precision mediump int;
1826e5c31af7Sopenharmony_ci
1827e5c31af7Sopenharmony_ci			${DECLARATIONS}
1828e5c31af7Sopenharmony_ci
1829e5c31af7Sopenharmony_ci			void main()
1830e5c31af7Sopenharmony_ci			{
1831e5c31af7Sopenharmony_ci				${SETUP}
1832e5c31af7Sopenharmony_ci				out0 = bool(in0);
1833e5c31af7Sopenharmony_ci				${OUTPUT}
1834e5c31af7Sopenharmony_ci			}
1835e5c31af7Sopenharmony_ci		""
1836e5c31af7Sopenharmony_ci	end
1837e5c31af7Sopenharmony_ci
1838e5c31af7Sopenharmony_ci	case ivec3_to_float
1839e5c31af7Sopenharmony_ci		version 300 es
1840e5c31af7Sopenharmony_ci		values
1841e5c31af7Sopenharmony_ci		{
1842e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
1843e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 0.0 | -32.0 | 0.0 ];
1844e5c31af7Sopenharmony_ci		}
1845e5c31af7Sopenharmony_ci
1846e5c31af7Sopenharmony_ci		both ""
1847e5c31af7Sopenharmony_ci			#version 300 es
1848e5c31af7Sopenharmony_ci			precision mediump float;
1849e5c31af7Sopenharmony_ci			precision mediump int;
1850e5c31af7Sopenharmony_ci
1851e5c31af7Sopenharmony_ci			${DECLARATIONS}
1852e5c31af7Sopenharmony_ci
1853e5c31af7Sopenharmony_ci			void main()
1854e5c31af7Sopenharmony_ci			{
1855e5c31af7Sopenharmony_ci				${SETUP}
1856e5c31af7Sopenharmony_ci				out0 = float(in0);
1857e5c31af7Sopenharmony_ci				${OUTPUT}
1858e5c31af7Sopenharmony_ci			}
1859e5c31af7Sopenharmony_ci		""
1860e5c31af7Sopenharmony_ci	end
1861e5c31af7Sopenharmony_ci
1862e5c31af7Sopenharmony_ci	case ivec3_to_int
1863e5c31af7Sopenharmony_ci		version 300 es
1864e5c31af7Sopenharmony_ci		values
1865e5c31af7Sopenharmony_ci		{
1866e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
1867e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
1868e5c31af7Sopenharmony_ci		}
1869e5c31af7Sopenharmony_ci
1870e5c31af7Sopenharmony_ci		both ""
1871e5c31af7Sopenharmony_ci			#version 300 es
1872e5c31af7Sopenharmony_ci			precision mediump float;
1873e5c31af7Sopenharmony_ci			precision mediump int;
1874e5c31af7Sopenharmony_ci
1875e5c31af7Sopenharmony_ci			${DECLARATIONS}
1876e5c31af7Sopenharmony_ci
1877e5c31af7Sopenharmony_ci			void main()
1878e5c31af7Sopenharmony_ci			{
1879e5c31af7Sopenharmony_ci				${SETUP}
1880e5c31af7Sopenharmony_ci				out0 = int(in0);
1881e5c31af7Sopenharmony_ci				${OUTPUT}
1882e5c31af7Sopenharmony_ci			}
1883e5c31af7Sopenharmony_ci		""
1884e5c31af7Sopenharmony_ci	end
1885e5c31af7Sopenharmony_ci
1886e5c31af7Sopenharmony_ci	case ivec3_to_bool
1887e5c31af7Sopenharmony_ci		version 300 es
1888e5c31af7Sopenharmony_ci		values
1889e5c31af7Sopenharmony_ci		{
1890e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
1891e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | false | true | false ];
1892e5c31af7Sopenharmony_ci		}
1893e5c31af7Sopenharmony_ci
1894e5c31af7Sopenharmony_ci		both ""
1895e5c31af7Sopenharmony_ci			#version 300 es
1896e5c31af7Sopenharmony_ci			precision mediump float;
1897e5c31af7Sopenharmony_ci			precision mediump int;
1898e5c31af7Sopenharmony_ci
1899e5c31af7Sopenharmony_ci			${DECLARATIONS}
1900e5c31af7Sopenharmony_ci
1901e5c31af7Sopenharmony_ci			void main()
1902e5c31af7Sopenharmony_ci			{
1903e5c31af7Sopenharmony_ci				${SETUP}
1904e5c31af7Sopenharmony_ci				out0 = bool(in0);
1905e5c31af7Sopenharmony_ci				${OUTPUT}
1906e5c31af7Sopenharmony_ci			}
1907e5c31af7Sopenharmony_ci		""
1908e5c31af7Sopenharmony_ci	end
1909e5c31af7Sopenharmony_ci
1910e5c31af7Sopenharmony_ci	case ivec4_to_float
1911e5c31af7Sopenharmony_ci		version 300 es
1912e5c31af7Sopenharmony_ci		values
1913e5c31af7Sopenharmony_ci		{
1914e5c31af7Sopenharmony_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) ];
1915e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 0.0 | -32.0 | 0.0 ];
1916e5c31af7Sopenharmony_ci		}
1917e5c31af7Sopenharmony_ci
1918e5c31af7Sopenharmony_ci		both ""
1919e5c31af7Sopenharmony_ci			#version 300 es
1920e5c31af7Sopenharmony_ci			precision mediump float;
1921e5c31af7Sopenharmony_ci			precision mediump int;
1922e5c31af7Sopenharmony_ci
1923e5c31af7Sopenharmony_ci			${DECLARATIONS}
1924e5c31af7Sopenharmony_ci
1925e5c31af7Sopenharmony_ci			void main()
1926e5c31af7Sopenharmony_ci			{
1927e5c31af7Sopenharmony_ci				${SETUP}
1928e5c31af7Sopenharmony_ci				out0 = float(in0);
1929e5c31af7Sopenharmony_ci				${OUTPUT}
1930e5c31af7Sopenharmony_ci			}
1931e5c31af7Sopenharmony_ci		""
1932e5c31af7Sopenharmony_ci	end
1933e5c31af7Sopenharmony_ci
1934e5c31af7Sopenharmony_ci	case ivec4_to_int
1935e5c31af7Sopenharmony_ci		version 300 es
1936e5c31af7Sopenharmony_ci		values
1937e5c31af7Sopenharmony_ci		{
1938e5c31af7Sopenharmony_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) ];
1939e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
1940e5c31af7Sopenharmony_ci		}
1941e5c31af7Sopenharmony_ci
1942e5c31af7Sopenharmony_ci		both ""
1943e5c31af7Sopenharmony_ci			#version 300 es
1944e5c31af7Sopenharmony_ci			precision mediump float;
1945e5c31af7Sopenharmony_ci			precision mediump int;
1946e5c31af7Sopenharmony_ci
1947e5c31af7Sopenharmony_ci			${DECLARATIONS}
1948e5c31af7Sopenharmony_ci
1949e5c31af7Sopenharmony_ci			void main()
1950e5c31af7Sopenharmony_ci			{
1951e5c31af7Sopenharmony_ci				${SETUP}
1952e5c31af7Sopenharmony_ci				out0 = int(in0);
1953e5c31af7Sopenharmony_ci				${OUTPUT}
1954e5c31af7Sopenharmony_ci			}
1955e5c31af7Sopenharmony_ci		""
1956e5c31af7Sopenharmony_ci	end
1957e5c31af7Sopenharmony_ci
1958e5c31af7Sopenharmony_ci	case ivec4_to_bool
1959e5c31af7Sopenharmony_ci		version 300 es
1960e5c31af7Sopenharmony_ci		values
1961e5c31af7Sopenharmony_ci		{
1962e5c31af7Sopenharmony_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) ];
1963e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | false | true | false ];
1964e5c31af7Sopenharmony_ci		}
1965e5c31af7Sopenharmony_ci
1966e5c31af7Sopenharmony_ci		both ""
1967e5c31af7Sopenharmony_ci			#version 300 es
1968e5c31af7Sopenharmony_ci			precision mediump float;
1969e5c31af7Sopenharmony_ci			precision mediump int;
1970e5c31af7Sopenharmony_ci
1971e5c31af7Sopenharmony_ci			${DECLARATIONS}
1972e5c31af7Sopenharmony_ci
1973e5c31af7Sopenharmony_ci			void main()
1974e5c31af7Sopenharmony_ci			{
1975e5c31af7Sopenharmony_ci				${SETUP}
1976e5c31af7Sopenharmony_ci				out0 = bool(in0);
1977e5c31af7Sopenharmony_ci				${OUTPUT}
1978e5c31af7Sopenharmony_ci			}
1979e5c31af7Sopenharmony_ci		""
1980e5c31af7Sopenharmony_ci	end
1981e5c31af7Sopenharmony_ci
1982e5c31af7Sopenharmony_ci	case uvec2_to_float
1983e5c31af7Sopenharmony_ci		version 300 es
1984e5c31af7Sopenharmony_ci		values
1985e5c31af7Sopenharmony_ci		{
1986e5c31af7Sopenharmony_ci			input uvec2 in0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ];
1987e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 0.0 | 32.0 | 0.0 ];
1988e5c31af7Sopenharmony_ci		}
1989e5c31af7Sopenharmony_ci
1990e5c31af7Sopenharmony_ci		both ""
1991e5c31af7Sopenharmony_ci			#version 300 es
1992e5c31af7Sopenharmony_ci			precision mediump float;
1993e5c31af7Sopenharmony_ci			precision mediump int;
1994e5c31af7Sopenharmony_ci
1995e5c31af7Sopenharmony_ci			${DECLARATIONS}
1996e5c31af7Sopenharmony_ci
1997e5c31af7Sopenharmony_ci			void main()
1998e5c31af7Sopenharmony_ci			{
1999e5c31af7Sopenharmony_ci				${SETUP}
2000e5c31af7Sopenharmony_ci				out0 = float(in0);
2001e5c31af7Sopenharmony_ci				${OUTPUT}
2002e5c31af7Sopenharmony_ci			}
2003e5c31af7Sopenharmony_ci		""
2004e5c31af7Sopenharmony_ci	end
2005e5c31af7Sopenharmony_ci
2006e5c31af7Sopenharmony_ci	case uvec2_to_int
2007e5c31af7Sopenharmony_ci		version 300 es
2008e5c31af7Sopenharmony_ci		values
2009e5c31af7Sopenharmony_ci		{
2010e5c31af7Sopenharmony_ci			input uvec2 in0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ];
2011e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 0 | 32 | 0 ];
2012e5c31af7Sopenharmony_ci		}
2013e5c31af7Sopenharmony_ci
2014e5c31af7Sopenharmony_ci		both ""
2015e5c31af7Sopenharmony_ci			#version 300 es
2016e5c31af7Sopenharmony_ci			precision mediump float;
2017e5c31af7Sopenharmony_ci			precision mediump int;
2018e5c31af7Sopenharmony_ci
2019e5c31af7Sopenharmony_ci			${DECLARATIONS}
2020e5c31af7Sopenharmony_ci
2021e5c31af7Sopenharmony_ci			void main()
2022e5c31af7Sopenharmony_ci			{
2023e5c31af7Sopenharmony_ci				${SETUP}
2024e5c31af7Sopenharmony_ci				out0 = int(in0);
2025e5c31af7Sopenharmony_ci				${OUTPUT}
2026e5c31af7Sopenharmony_ci			}
2027e5c31af7Sopenharmony_ci		""
2028e5c31af7Sopenharmony_ci	end
2029e5c31af7Sopenharmony_ci
2030e5c31af7Sopenharmony_ci	case uvec2_to_bool
2031e5c31af7Sopenharmony_ci		version 300 es
2032e5c31af7Sopenharmony_ci		values
2033e5c31af7Sopenharmony_ci		{
2034e5c31af7Sopenharmony_ci			input uvec2 in0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ];
2035e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | false | true | false ];
2036e5c31af7Sopenharmony_ci		}
2037e5c31af7Sopenharmony_ci
2038e5c31af7Sopenharmony_ci		both ""
2039e5c31af7Sopenharmony_ci			#version 300 es
2040e5c31af7Sopenharmony_ci			precision mediump float;
2041e5c31af7Sopenharmony_ci			precision mediump int;
2042e5c31af7Sopenharmony_ci
2043e5c31af7Sopenharmony_ci			${DECLARATIONS}
2044e5c31af7Sopenharmony_ci
2045e5c31af7Sopenharmony_ci			void main()
2046e5c31af7Sopenharmony_ci			{
2047e5c31af7Sopenharmony_ci				${SETUP}
2048e5c31af7Sopenharmony_ci				out0 = bool(in0);
2049e5c31af7Sopenharmony_ci				${OUTPUT}
2050e5c31af7Sopenharmony_ci			}
2051e5c31af7Sopenharmony_ci		""
2052e5c31af7Sopenharmony_ci	end
2053e5c31af7Sopenharmony_ci
2054e5c31af7Sopenharmony_ci	case uvec3_to_float
2055e5c31af7Sopenharmony_ci		version 300 es
2056e5c31af7Sopenharmony_ci		values
2057e5c31af7Sopenharmony_ci		{
2058e5c31af7Sopenharmony_ci			input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ];
2059e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 0.0 | 32.0 | 0.0 ];
2060e5c31af7Sopenharmony_ci		}
2061e5c31af7Sopenharmony_ci
2062e5c31af7Sopenharmony_ci		both ""
2063e5c31af7Sopenharmony_ci			#version 300 es
2064e5c31af7Sopenharmony_ci			precision mediump float;
2065e5c31af7Sopenharmony_ci			precision mediump int;
2066e5c31af7Sopenharmony_ci
2067e5c31af7Sopenharmony_ci			${DECLARATIONS}
2068e5c31af7Sopenharmony_ci
2069e5c31af7Sopenharmony_ci			void main()
2070e5c31af7Sopenharmony_ci			{
2071e5c31af7Sopenharmony_ci				${SETUP}
2072e5c31af7Sopenharmony_ci				out0 = float(in0);
2073e5c31af7Sopenharmony_ci				${OUTPUT}
2074e5c31af7Sopenharmony_ci			}
2075e5c31af7Sopenharmony_ci		""
2076e5c31af7Sopenharmony_ci	end
2077e5c31af7Sopenharmony_ci
2078e5c31af7Sopenharmony_ci	case uvec3_to_int
2079e5c31af7Sopenharmony_ci		version 300 es
2080e5c31af7Sopenharmony_ci		values
2081e5c31af7Sopenharmony_ci		{
2082e5c31af7Sopenharmony_ci			input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ];
2083e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 0 | 32 | 0 ];
2084e5c31af7Sopenharmony_ci		}
2085e5c31af7Sopenharmony_ci
2086e5c31af7Sopenharmony_ci		both ""
2087e5c31af7Sopenharmony_ci			#version 300 es
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 = int(in0);
2097e5c31af7Sopenharmony_ci				${OUTPUT}
2098e5c31af7Sopenharmony_ci			}
2099e5c31af7Sopenharmony_ci		""
2100e5c31af7Sopenharmony_ci	end
2101e5c31af7Sopenharmony_ci
2102e5c31af7Sopenharmony_ci	case uvec3_to_bool
2103e5c31af7Sopenharmony_ci		version 300 es
2104e5c31af7Sopenharmony_ci		values
2105e5c31af7Sopenharmony_ci		{
2106e5c31af7Sopenharmony_ci			input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ];
2107e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | false | true | false ];
2108e5c31af7Sopenharmony_ci		}
2109e5c31af7Sopenharmony_ci
2110e5c31af7Sopenharmony_ci		both ""
2111e5c31af7Sopenharmony_ci			#version 300 es
2112e5c31af7Sopenharmony_ci			precision mediump float;
2113e5c31af7Sopenharmony_ci			precision mediump int;
2114e5c31af7Sopenharmony_ci
2115e5c31af7Sopenharmony_ci			${DECLARATIONS}
2116e5c31af7Sopenharmony_ci
2117e5c31af7Sopenharmony_ci			void main()
2118e5c31af7Sopenharmony_ci			{
2119e5c31af7Sopenharmony_ci				${SETUP}
2120e5c31af7Sopenharmony_ci				out0 = bool(in0);
2121e5c31af7Sopenharmony_ci				${OUTPUT}
2122e5c31af7Sopenharmony_ci			}
2123e5c31af7Sopenharmony_ci		""
2124e5c31af7Sopenharmony_ci	end
2125e5c31af7Sopenharmony_ci
2126e5c31af7Sopenharmony_ci	case uvec4_to_float
2127e5c31af7Sopenharmony_ci		version 300 es
2128e5c31af7Sopenharmony_ci		values
2129e5c31af7Sopenharmony_ci		{
2130e5c31af7Sopenharmony_ci			input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
2131e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 0.0 | 32.0 | 0.0 ];
2132e5c31af7Sopenharmony_ci		}
2133e5c31af7Sopenharmony_ci
2134e5c31af7Sopenharmony_ci		both ""
2135e5c31af7Sopenharmony_ci			#version 300 es
2136e5c31af7Sopenharmony_ci			precision mediump float;
2137e5c31af7Sopenharmony_ci			precision mediump int;
2138e5c31af7Sopenharmony_ci
2139e5c31af7Sopenharmony_ci			${DECLARATIONS}
2140e5c31af7Sopenharmony_ci
2141e5c31af7Sopenharmony_ci			void main()
2142e5c31af7Sopenharmony_ci			{
2143e5c31af7Sopenharmony_ci				${SETUP}
2144e5c31af7Sopenharmony_ci				out0 = float(in0);
2145e5c31af7Sopenharmony_ci				${OUTPUT}
2146e5c31af7Sopenharmony_ci			}
2147e5c31af7Sopenharmony_ci		""
2148e5c31af7Sopenharmony_ci	end
2149e5c31af7Sopenharmony_ci
2150e5c31af7Sopenharmony_ci	case uvec4_to_int
2151e5c31af7Sopenharmony_ci		version 300 es
2152e5c31af7Sopenharmony_ci		values
2153e5c31af7Sopenharmony_ci		{
2154e5c31af7Sopenharmony_ci			input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
2155e5c31af7Sopenharmony_ci			output int out0 = [ 0 | 1 | 0 | 32 | 0 ];
2156e5c31af7Sopenharmony_ci		}
2157e5c31af7Sopenharmony_ci
2158e5c31af7Sopenharmony_ci		both ""
2159e5c31af7Sopenharmony_ci			#version 300 es
2160e5c31af7Sopenharmony_ci			precision mediump float;
2161e5c31af7Sopenharmony_ci			precision mediump int;
2162e5c31af7Sopenharmony_ci
2163e5c31af7Sopenharmony_ci			${DECLARATIONS}
2164e5c31af7Sopenharmony_ci
2165e5c31af7Sopenharmony_ci			void main()
2166e5c31af7Sopenharmony_ci			{
2167e5c31af7Sopenharmony_ci				${SETUP}
2168e5c31af7Sopenharmony_ci				out0 = int(in0);
2169e5c31af7Sopenharmony_ci				${OUTPUT}
2170e5c31af7Sopenharmony_ci			}
2171e5c31af7Sopenharmony_ci		""
2172e5c31af7Sopenharmony_ci	end
2173e5c31af7Sopenharmony_ci
2174e5c31af7Sopenharmony_ci	case uvec4_to_bool
2175e5c31af7Sopenharmony_ci		version 300 es
2176e5c31af7Sopenharmony_ci		values
2177e5c31af7Sopenharmony_ci		{
2178e5c31af7Sopenharmony_ci			input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
2179e5c31af7Sopenharmony_ci			output bool out0 = [ false | true | false | true | false ];
2180e5c31af7Sopenharmony_ci		}
2181e5c31af7Sopenharmony_ci
2182e5c31af7Sopenharmony_ci		both ""
2183e5c31af7Sopenharmony_ci			#version 300 es
2184e5c31af7Sopenharmony_ci			precision mediump float;
2185e5c31af7Sopenharmony_ci			precision mediump int;
2186e5c31af7Sopenharmony_ci
2187e5c31af7Sopenharmony_ci			${DECLARATIONS}
2188e5c31af7Sopenharmony_ci
2189e5c31af7Sopenharmony_ci			void main()
2190e5c31af7Sopenharmony_ci			{
2191e5c31af7Sopenharmony_ci				${SETUP}
2192e5c31af7Sopenharmony_ci				out0 = bool(in0);
2193e5c31af7Sopenharmony_ci				${OUTPUT}
2194e5c31af7Sopenharmony_ci			}
2195e5c31af7Sopenharmony_ci		""
2196e5c31af7Sopenharmony_ci	end
2197e5c31af7Sopenharmony_ci
2198e5c31af7Sopenharmony_ci	case bvec2_to_float
2199e5c31af7Sopenharmony_ci		version 300 es
2200e5c31af7Sopenharmony_ci		values
2201e5c31af7Sopenharmony_ci		{
2202e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
2203e5c31af7Sopenharmony_ci			output float out0 = [ 1.0 | 0.0 | 0.0 | 1.0 | 0.0 ];
2204e5c31af7Sopenharmony_ci		}
2205e5c31af7Sopenharmony_ci
2206e5c31af7Sopenharmony_ci		both ""
2207e5c31af7Sopenharmony_ci			#version 300 es
2208e5c31af7Sopenharmony_ci			precision mediump float;
2209e5c31af7Sopenharmony_ci			precision mediump int;
2210e5c31af7Sopenharmony_ci
2211e5c31af7Sopenharmony_ci			${DECLARATIONS}
2212e5c31af7Sopenharmony_ci
2213e5c31af7Sopenharmony_ci			void main()
2214e5c31af7Sopenharmony_ci			{
2215e5c31af7Sopenharmony_ci				${SETUP}
2216e5c31af7Sopenharmony_ci				out0 = float(in0);
2217e5c31af7Sopenharmony_ci				${OUTPUT}
2218e5c31af7Sopenharmony_ci			}
2219e5c31af7Sopenharmony_ci		""
2220e5c31af7Sopenharmony_ci	end
2221e5c31af7Sopenharmony_ci
2222e5c31af7Sopenharmony_ci	case bvec2_to_int
2223e5c31af7Sopenharmony_ci		version 300 es
2224e5c31af7Sopenharmony_ci		values
2225e5c31af7Sopenharmony_ci		{
2226e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
2227e5c31af7Sopenharmony_ci			output int out0 = [ 1 | 0 | 0 | 1 | 0 ];
2228e5c31af7Sopenharmony_ci		}
2229e5c31af7Sopenharmony_ci
2230e5c31af7Sopenharmony_ci		both ""
2231e5c31af7Sopenharmony_ci			#version 300 es
2232e5c31af7Sopenharmony_ci			precision mediump float;
2233e5c31af7Sopenharmony_ci			precision mediump int;
2234e5c31af7Sopenharmony_ci
2235e5c31af7Sopenharmony_ci			${DECLARATIONS}
2236e5c31af7Sopenharmony_ci
2237e5c31af7Sopenharmony_ci			void main()
2238e5c31af7Sopenharmony_ci			{
2239e5c31af7Sopenharmony_ci				${SETUP}
2240e5c31af7Sopenharmony_ci				out0 = int(in0);
2241e5c31af7Sopenharmony_ci				${OUTPUT}
2242e5c31af7Sopenharmony_ci			}
2243e5c31af7Sopenharmony_ci		""
2244e5c31af7Sopenharmony_ci	end
2245e5c31af7Sopenharmony_ci
2246e5c31af7Sopenharmony_ci	case bvec2_to_bool
2247e5c31af7Sopenharmony_ci		version 300 es
2248e5c31af7Sopenharmony_ci		values
2249e5c31af7Sopenharmony_ci		{
2250e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
2251e5c31af7Sopenharmony_ci			output bool out0 = [ true | false | false | true | false ];
2252e5c31af7Sopenharmony_ci		}
2253e5c31af7Sopenharmony_ci
2254e5c31af7Sopenharmony_ci		both ""
2255e5c31af7Sopenharmony_ci			#version 300 es
2256e5c31af7Sopenharmony_ci			precision mediump float;
2257e5c31af7Sopenharmony_ci			precision mediump int;
2258e5c31af7Sopenharmony_ci
2259e5c31af7Sopenharmony_ci			${DECLARATIONS}
2260e5c31af7Sopenharmony_ci
2261e5c31af7Sopenharmony_ci			void main()
2262e5c31af7Sopenharmony_ci			{
2263e5c31af7Sopenharmony_ci				${SETUP}
2264e5c31af7Sopenharmony_ci				out0 = bool(in0);
2265e5c31af7Sopenharmony_ci				${OUTPUT}
2266e5c31af7Sopenharmony_ci			}
2267e5c31af7Sopenharmony_ci		""
2268e5c31af7Sopenharmony_ci	end
2269e5c31af7Sopenharmony_ci
2270e5c31af7Sopenharmony_ci	case bvec3_to_float
2271e5c31af7Sopenharmony_ci		version 300 es
2272e5c31af7Sopenharmony_ci		values
2273e5c31af7Sopenharmony_ci		{
2274e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
2275e5c31af7Sopenharmony_ci			output float out0 = [ 1.0 | 0.0 | 0.0 | 1.0 | 0.0 ];
2276e5c31af7Sopenharmony_ci		}
2277e5c31af7Sopenharmony_ci
2278e5c31af7Sopenharmony_ci		both ""
2279e5c31af7Sopenharmony_ci			#version 300 es
2280e5c31af7Sopenharmony_ci			precision mediump float;
2281e5c31af7Sopenharmony_ci			precision mediump int;
2282e5c31af7Sopenharmony_ci
2283e5c31af7Sopenharmony_ci			${DECLARATIONS}
2284e5c31af7Sopenharmony_ci
2285e5c31af7Sopenharmony_ci			void main()
2286e5c31af7Sopenharmony_ci			{
2287e5c31af7Sopenharmony_ci				${SETUP}
2288e5c31af7Sopenharmony_ci				out0 = float(in0);
2289e5c31af7Sopenharmony_ci				${OUTPUT}
2290e5c31af7Sopenharmony_ci			}
2291e5c31af7Sopenharmony_ci		""
2292e5c31af7Sopenharmony_ci	end
2293e5c31af7Sopenharmony_ci
2294e5c31af7Sopenharmony_ci	case bvec3_to_int
2295e5c31af7Sopenharmony_ci		version 300 es
2296e5c31af7Sopenharmony_ci		values
2297e5c31af7Sopenharmony_ci		{
2298e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
2299e5c31af7Sopenharmony_ci			output int out0 = [ 1 | 0 | 0 | 1 | 0 ];
2300e5c31af7Sopenharmony_ci		}
2301e5c31af7Sopenharmony_ci
2302e5c31af7Sopenharmony_ci		both ""
2303e5c31af7Sopenharmony_ci			#version 300 es
2304e5c31af7Sopenharmony_ci			precision mediump float;
2305e5c31af7Sopenharmony_ci			precision mediump int;
2306e5c31af7Sopenharmony_ci
2307e5c31af7Sopenharmony_ci			${DECLARATIONS}
2308e5c31af7Sopenharmony_ci
2309e5c31af7Sopenharmony_ci			void main()
2310e5c31af7Sopenharmony_ci			{
2311e5c31af7Sopenharmony_ci				${SETUP}
2312e5c31af7Sopenharmony_ci				out0 = int(in0);
2313e5c31af7Sopenharmony_ci				${OUTPUT}
2314e5c31af7Sopenharmony_ci			}
2315e5c31af7Sopenharmony_ci		""
2316e5c31af7Sopenharmony_ci	end
2317e5c31af7Sopenharmony_ci
2318e5c31af7Sopenharmony_ci	case bvec3_to_bool
2319e5c31af7Sopenharmony_ci		version 300 es
2320e5c31af7Sopenharmony_ci		values
2321e5c31af7Sopenharmony_ci		{
2322e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
2323e5c31af7Sopenharmony_ci			output bool out0 = [ true | false | false | true | false ];
2324e5c31af7Sopenharmony_ci		}
2325e5c31af7Sopenharmony_ci
2326e5c31af7Sopenharmony_ci		both ""
2327e5c31af7Sopenharmony_ci			#version 300 es
2328e5c31af7Sopenharmony_ci			precision mediump float;
2329e5c31af7Sopenharmony_ci			precision mediump int;
2330e5c31af7Sopenharmony_ci
2331e5c31af7Sopenharmony_ci			${DECLARATIONS}
2332e5c31af7Sopenharmony_ci
2333e5c31af7Sopenharmony_ci			void main()
2334e5c31af7Sopenharmony_ci			{
2335e5c31af7Sopenharmony_ci				${SETUP}
2336e5c31af7Sopenharmony_ci				out0 = bool(in0);
2337e5c31af7Sopenharmony_ci				${OUTPUT}
2338e5c31af7Sopenharmony_ci			}
2339e5c31af7Sopenharmony_ci		""
2340e5c31af7Sopenharmony_ci	end
2341e5c31af7Sopenharmony_ci
2342e5c31af7Sopenharmony_ci	case bvec4_to_float
2343e5c31af7Sopenharmony_ci		version 300 es
2344e5c31af7Sopenharmony_ci		values
2345e5c31af7Sopenharmony_ci		{
2346e5c31af7Sopenharmony_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) ];
2347e5c31af7Sopenharmony_ci			output float out0 = [ 1.0 | 0.0 | 0.0 | 1.0 | 0.0 ];
2348e5c31af7Sopenharmony_ci		}
2349e5c31af7Sopenharmony_ci
2350e5c31af7Sopenharmony_ci		both ""
2351e5c31af7Sopenharmony_ci			#version 300 es
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 = float(in0);
2361e5c31af7Sopenharmony_ci				${OUTPUT}
2362e5c31af7Sopenharmony_ci			}
2363e5c31af7Sopenharmony_ci		""
2364e5c31af7Sopenharmony_ci	end
2365e5c31af7Sopenharmony_ci
2366e5c31af7Sopenharmony_ci	case bvec4_to_int
2367e5c31af7Sopenharmony_ci		version 300 es
2368e5c31af7Sopenharmony_ci		values
2369e5c31af7Sopenharmony_ci		{
2370e5c31af7Sopenharmony_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) ];
2371e5c31af7Sopenharmony_ci			output int out0 = [ 1 | 0 | 0 | 1 | 0 ];
2372e5c31af7Sopenharmony_ci		}
2373e5c31af7Sopenharmony_ci
2374e5c31af7Sopenharmony_ci		both ""
2375e5c31af7Sopenharmony_ci			#version 300 es
2376e5c31af7Sopenharmony_ci			precision mediump float;
2377e5c31af7Sopenharmony_ci			precision mediump int;
2378e5c31af7Sopenharmony_ci
2379e5c31af7Sopenharmony_ci			${DECLARATIONS}
2380e5c31af7Sopenharmony_ci
2381e5c31af7Sopenharmony_ci			void main()
2382e5c31af7Sopenharmony_ci			{
2383e5c31af7Sopenharmony_ci				${SETUP}
2384e5c31af7Sopenharmony_ci				out0 = int(in0);
2385e5c31af7Sopenharmony_ci				${OUTPUT}
2386e5c31af7Sopenharmony_ci			}
2387e5c31af7Sopenharmony_ci		""
2388e5c31af7Sopenharmony_ci	end
2389e5c31af7Sopenharmony_ci
2390e5c31af7Sopenharmony_ci	case bvec4_to_bool
2391e5c31af7Sopenharmony_ci		version 300 es
2392e5c31af7Sopenharmony_ci		values
2393e5c31af7Sopenharmony_ci		{
2394e5c31af7Sopenharmony_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) ];
2395e5c31af7Sopenharmony_ci			output bool out0 = [ true | false | false | true | false ];
2396e5c31af7Sopenharmony_ci		}
2397e5c31af7Sopenharmony_ci
2398e5c31af7Sopenharmony_ci		both ""
2399e5c31af7Sopenharmony_ci			#version 300 es
2400e5c31af7Sopenharmony_ci			precision mediump float;
2401e5c31af7Sopenharmony_ci			precision mediump int;
2402e5c31af7Sopenharmony_ci
2403e5c31af7Sopenharmony_ci			${DECLARATIONS}
2404e5c31af7Sopenharmony_ci
2405e5c31af7Sopenharmony_ci			void main()
2406e5c31af7Sopenharmony_ci			{
2407e5c31af7Sopenharmony_ci				${SETUP}
2408e5c31af7Sopenharmony_ci				out0 = bool(in0);
2409e5c31af7Sopenharmony_ci				${OUTPUT}
2410e5c31af7Sopenharmony_ci			}
2411e5c31af7Sopenharmony_ci		""
2412e5c31af7Sopenharmony_ci	end
2413e5c31af7Sopenharmony_ci
2414e5c31af7Sopenharmony_ci	case vec2_to_uint
2415e5c31af7Sopenharmony_ci		version 300 es
2416e5c31af7Sopenharmony_ci		values
2417e5c31af7Sopenharmony_ci		{
2418e5c31af7Sopenharmony_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) ];
2419e5c31af7Sopenharmony_ci			output uint out0 = [ 0 | 1 | 0 | 32 | 0 ];
2420e5c31af7Sopenharmony_ci		}
2421e5c31af7Sopenharmony_ci
2422e5c31af7Sopenharmony_ci		both ""
2423e5c31af7Sopenharmony_ci			#version 300 es
2424e5c31af7Sopenharmony_ci			precision mediump float;
2425e5c31af7Sopenharmony_ci			precision mediump int;
2426e5c31af7Sopenharmony_ci
2427e5c31af7Sopenharmony_ci			${DECLARATIONS}
2428e5c31af7Sopenharmony_ci
2429e5c31af7Sopenharmony_ci			void main()
2430e5c31af7Sopenharmony_ci			{
2431e5c31af7Sopenharmony_ci				${SETUP}
2432e5c31af7Sopenharmony_ci				out0 = uint(in0);
2433e5c31af7Sopenharmony_ci				${OUTPUT}
2434e5c31af7Sopenharmony_ci			}
2435e5c31af7Sopenharmony_ci		""
2436e5c31af7Sopenharmony_ci	end
2437e5c31af7Sopenharmony_ci
2438e5c31af7Sopenharmony_ci	case vec3_to_uint
2439e5c31af7Sopenharmony_ci		version 300 es
2440e5c31af7Sopenharmony_ci		values
2441e5c31af7Sopenharmony_ci		{
2442e5c31af7Sopenharmony_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) ];
2443e5c31af7Sopenharmony_ci			output uint out0 = [ 0 | 1 | 0 | 32 | 0 ];
2444e5c31af7Sopenharmony_ci		}
2445e5c31af7Sopenharmony_ci
2446e5c31af7Sopenharmony_ci		both ""
2447e5c31af7Sopenharmony_ci			#version 300 es
2448e5c31af7Sopenharmony_ci			precision mediump float;
2449e5c31af7Sopenharmony_ci			precision mediump int;
2450e5c31af7Sopenharmony_ci
2451e5c31af7Sopenharmony_ci			${DECLARATIONS}
2452e5c31af7Sopenharmony_ci
2453e5c31af7Sopenharmony_ci			void main()
2454e5c31af7Sopenharmony_ci			{
2455e5c31af7Sopenharmony_ci				${SETUP}
2456e5c31af7Sopenharmony_ci				out0 = uint(in0);
2457e5c31af7Sopenharmony_ci				${OUTPUT}
2458e5c31af7Sopenharmony_ci			}
2459e5c31af7Sopenharmony_ci		""
2460e5c31af7Sopenharmony_ci	end
2461e5c31af7Sopenharmony_ci
2462e5c31af7Sopenharmony_ci	case vec4_to_uint
2463e5c31af7Sopenharmony_ci		version 300 es
2464e5c31af7Sopenharmony_ci		values
2465e5c31af7Sopenharmony_ci		{
2466e5c31af7Sopenharmony_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) ];
2467e5c31af7Sopenharmony_ci			output uint out0 = [ 0 | 1 | 0 | 32 | 0 ];
2468e5c31af7Sopenharmony_ci		}
2469e5c31af7Sopenharmony_ci
2470e5c31af7Sopenharmony_ci		both ""
2471e5c31af7Sopenharmony_ci			#version 300 es
2472e5c31af7Sopenharmony_ci			precision mediump float;
2473e5c31af7Sopenharmony_ci			precision mediump int;
2474e5c31af7Sopenharmony_ci
2475e5c31af7Sopenharmony_ci			${DECLARATIONS}
2476e5c31af7Sopenharmony_ci
2477e5c31af7Sopenharmony_ci			void main()
2478e5c31af7Sopenharmony_ci			{
2479e5c31af7Sopenharmony_ci				${SETUP}
2480e5c31af7Sopenharmony_ci				out0 = uint(in0);
2481e5c31af7Sopenharmony_ci				${OUTPUT}
2482e5c31af7Sopenharmony_ci			}
2483e5c31af7Sopenharmony_ci		""
2484e5c31af7Sopenharmony_ci	end
2485e5c31af7Sopenharmony_ci
2486e5c31af7Sopenharmony_ci	case ivec2_to_uint
2487e5c31af7Sopenharmony_ci		version 300 es
2488e5c31af7Sopenharmony_ci		values
2489e5c31af7Sopenharmony_ci		{
2490e5c31af7Sopenharmony_ci			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 2) | ivec2(32, 64) | ivec2(0, 0) ];
2491e5c31af7Sopenharmony_ci			output uint out0 = [ 0 | 1 | 0 | 32 | 0 ];
2492e5c31af7Sopenharmony_ci		}
2493e5c31af7Sopenharmony_ci
2494e5c31af7Sopenharmony_ci		both ""
2495e5c31af7Sopenharmony_ci			#version 300 es
2496e5c31af7Sopenharmony_ci			precision mediump float;
2497e5c31af7Sopenharmony_ci			precision mediump int;
2498e5c31af7Sopenharmony_ci
2499e5c31af7Sopenharmony_ci			${DECLARATIONS}
2500e5c31af7Sopenharmony_ci
2501e5c31af7Sopenharmony_ci			void main()
2502e5c31af7Sopenharmony_ci			{
2503e5c31af7Sopenharmony_ci				${SETUP}
2504e5c31af7Sopenharmony_ci				out0 = uint(in0);
2505e5c31af7Sopenharmony_ci				${OUTPUT}
2506e5c31af7Sopenharmony_ci			}
2507e5c31af7Sopenharmony_ci		""
2508e5c31af7Sopenharmony_ci	end
2509e5c31af7Sopenharmony_ci
2510e5c31af7Sopenharmony_ci	case ivec3_to_uint
2511e5c31af7Sopenharmony_ci		version 300 es
2512e5c31af7Sopenharmony_ci		values
2513e5c31af7Sopenharmony_ci		{
2514e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 2, 4) | ivec3(32, 64, 51) | ivec3(0, 0, 0) ];
2515e5c31af7Sopenharmony_ci			output uint out0 = [ 0 | 1 | 0 | 32 | 0 ];
2516e5c31af7Sopenharmony_ci		}
2517e5c31af7Sopenharmony_ci
2518e5c31af7Sopenharmony_ci		both ""
2519e5c31af7Sopenharmony_ci			#version 300 es
2520e5c31af7Sopenharmony_ci			precision mediump float;
2521e5c31af7Sopenharmony_ci			precision mediump int;
2522e5c31af7Sopenharmony_ci
2523e5c31af7Sopenharmony_ci			${DECLARATIONS}
2524e5c31af7Sopenharmony_ci
2525e5c31af7Sopenharmony_ci			void main()
2526e5c31af7Sopenharmony_ci			{
2527e5c31af7Sopenharmony_ci				${SETUP}
2528e5c31af7Sopenharmony_ci				out0 = uint(in0);
2529e5c31af7Sopenharmony_ci				${OUTPUT}
2530e5c31af7Sopenharmony_ci			}
2531e5c31af7Sopenharmony_ci		""
2532e5c31af7Sopenharmony_ci	end
2533e5c31af7Sopenharmony_ci
2534e5c31af7Sopenharmony_ci	case ivec4_to_uint
2535e5c31af7Sopenharmony_ci		version 300 es
2536e5c31af7Sopenharmony_ci		values
2537e5c31af7Sopenharmony_ci		{
2538e5c31af7Sopenharmony_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) ];
2539e5c31af7Sopenharmony_ci			output uint out0 = [ 0 | 1 | 0 | 32 | 0 ];
2540e5c31af7Sopenharmony_ci		}
2541e5c31af7Sopenharmony_ci
2542e5c31af7Sopenharmony_ci		both ""
2543e5c31af7Sopenharmony_ci			#version 300 es
2544e5c31af7Sopenharmony_ci			precision mediump float;
2545e5c31af7Sopenharmony_ci			precision mediump int;
2546e5c31af7Sopenharmony_ci
2547e5c31af7Sopenharmony_ci			${DECLARATIONS}
2548e5c31af7Sopenharmony_ci
2549e5c31af7Sopenharmony_ci			void main()
2550e5c31af7Sopenharmony_ci			{
2551e5c31af7Sopenharmony_ci				${SETUP}
2552e5c31af7Sopenharmony_ci				out0 = uint(in0);
2553e5c31af7Sopenharmony_ci				${OUTPUT}
2554e5c31af7Sopenharmony_ci			}
2555e5c31af7Sopenharmony_ci		""
2556e5c31af7Sopenharmony_ci	end
2557e5c31af7Sopenharmony_ci
2558e5c31af7Sopenharmony_ci	case uvec2_to_uint
2559e5c31af7Sopenharmony_ci		version 300 es
2560e5c31af7Sopenharmony_ci		values
2561e5c31af7Sopenharmony_ci		{
2562e5c31af7Sopenharmony_ci			input uvec2 in0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ];
2563e5c31af7Sopenharmony_ci			output uint out0 = [ 0 | 1 | 0 | 32 | 0 ];
2564e5c31af7Sopenharmony_ci		}
2565e5c31af7Sopenharmony_ci
2566e5c31af7Sopenharmony_ci		both ""
2567e5c31af7Sopenharmony_ci			#version 300 es
2568e5c31af7Sopenharmony_ci			precision mediump float;
2569e5c31af7Sopenharmony_ci			precision mediump int;
2570e5c31af7Sopenharmony_ci
2571e5c31af7Sopenharmony_ci			${DECLARATIONS}
2572e5c31af7Sopenharmony_ci
2573e5c31af7Sopenharmony_ci			void main()
2574e5c31af7Sopenharmony_ci			{
2575e5c31af7Sopenharmony_ci				${SETUP}
2576e5c31af7Sopenharmony_ci				out0 = uint(in0);
2577e5c31af7Sopenharmony_ci				${OUTPUT}
2578e5c31af7Sopenharmony_ci			}
2579e5c31af7Sopenharmony_ci		""
2580e5c31af7Sopenharmony_ci	end
2581e5c31af7Sopenharmony_ci
2582e5c31af7Sopenharmony_ci	case uvec3_to_uint
2583e5c31af7Sopenharmony_ci		version 300 es
2584e5c31af7Sopenharmony_ci		values
2585e5c31af7Sopenharmony_ci		{
2586e5c31af7Sopenharmony_ci			input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ];
2587e5c31af7Sopenharmony_ci			output uint out0 = [ 0 | 1 | 0 | 32 | 0 ];
2588e5c31af7Sopenharmony_ci		}
2589e5c31af7Sopenharmony_ci
2590e5c31af7Sopenharmony_ci		both ""
2591e5c31af7Sopenharmony_ci			#version 300 es
2592e5c31af7Sopenharmony_ci			precision mediump float;
2593e5c31af7Sopenharmony_ci			precision mediump int;
2594e5c31af7Sopenharmony_ci
2595e5c31af7Sopenharmony_ci			${DECLARATIONS}
2596e5c31af7Sopenharmony_ci
2597e5c31af7Sopenharmony_ci			void main()
2598e5c31af7Sopenharmony_ci			{
2599e5c31af7Sopenharmony_ci				${SETUP}
2600e5c31af7Sopenharmony_ci				out0 = uint(in0);
2601e5c31af7Sopenharmony_ci				${OUTPUT}
2602e5c31af7Sopenharmony_ci			}
2603e5c31af7Sopenharmony_ci		""
2604e5c31af7Sopenharmony_ci	end
2605e5c31af7Sopenharmony_ci
2606e5c31af7Sopenharmony_ci	case uvec4_to_uint
2607e5c31af7Sopenharmony_ci		version 300 es
2608e5c31af7Sopenharmony_ci		values
2609e5c31af7Sopenharmony_ci		{
2610e5c31af7Sopenharmony_ci			input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
2611e5c31af7Sopenharmony_ci			output uint out0 = [ 0 | 1 | 0 | 32 | 0 ];
2612e5c31af7Sopenharmony_ci		}
2613e5c31af7Sopenharmony_ci
2614e5c31af7Sopenharmony_ci		both ""
2615e5c31af7Sopenharmony_ci			#version 300 es
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 = uint(in0);
2625e5c31af7Sopenharmony_ci				${OUTPUT}
2626e5c31af7Sopenharmony_ci			}
2627e5c31af7Sopenharmony_ci		""
2628e5c31af7Sopenharmony_ci	end
2629e5c31af7Sopenharmony_ci
2630e5c31af7Sopenharmony_ci	case bvec2_to_uint
2631e5c31af7Sopenharmony_ci		version 300 es
2632e5c31af7Sopenharmony_ci		values
2633e5c31af7Sopenharmony_ci		{
2634e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
2635e5c31af7Sopenharmony_ci			output uint out0 = [ 1 | 0 | 0 | 1 | 0 ];
2636e5c31af7Sopenharmony_ci		}
2637e5c31af7Sopenharmony_ci
2638e5c31af7Sopenharmony_ci		both ""
2639e5c31af7Sopenharmony_ci			#version 300 es
2640e5c31af7Sopenharmony_ci			precision mediump float;
2641e5c31af7Sopenharmony_ci			precision mediump int;
2642e5c31af7Sopenharmony_ci
2643e5c31af7Sopenharmony_ci			${DECLARATIONS}
2644e5c31af7Sopenharmony_ci
2645e5c31af7Sopenharmony_ci			void main()
2646e5c31af7Sopenharmony_ci			{
2647e5c31af7Sopenharmony_ci				${SETUP}
2648e5c31af7Sopenharmony_ci				out0 = uint(in0);
2649e5c31af7Sopenharmony_ci				${OUTPUT}
2650e5c31af7Sopenharmony_ci			}
2651e5c31af7Sopenharmony_ci		""
2652e5c31af7Sopenharmony_ci	end
2653e5c31af7Sopenharmony_ci
2654e5c31af7Sopenharmony_ci	case bvec3_to_uint
2655e5c31af7Sopenharmony_ci		version 300 es
2656e5c31af7Sopenharmony_ci		values
2657e5c31af7Sopenharmony_ci		{
2658e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
2659e5c31af7Sopenharmony_ci			output uint out0 = [ 1 | 0 | 0 | 1 | 0 ];
2660e5c31af7Sopenharmony_ci		}
2661e5c31af7Sopenharmony_ci
2662e5c31af7Sopenharmony_ci		both ""
2663e5c31af7Sopenharmony_ci			#version 300 es
2664e5c31af7Sopenharmony_ci			precision mediump float;
2665e5c31af7Sopenharmony_ci			precision mediump int;
2666e5c31af7Sopenharmony_ci
2667e5c31af7Sopenharmony_ci			${DECLARATIONS}
2668e5c31af7Sopenharmony_ci
2669e5c31af7Sopenharmony_ci			void main()
2670e5c31af7Sopenharmony_ci			{
2671e5c31af7Sopenharmony_ci				${SETUP}
2672e5c31af7Sopenharmony_ci				out0 = uint(in0);
2673e5c31af7Sopenharmony_ci				${OUTPUT}
2674e5c31af7Sopenharmony_ci			}
2675e5c31af7Sopenharmony_ci		""
2676e5c31af7Sopenharmony_ci	end
2677e5c31af7Sopenharmony_ci
2678e5c31af7Sopenharmony_ci	case bvec4_to_uint
2679e5c31af7Sopenharmony_ci		version 300 es
2680e5c31af7Sopenharmony_ci		values
2681e5c31af7Sopenharmony_ci		{
2682e5c31af7Sopenharmony_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) ];
2683e5c31af7Sopenharmony_ci			output uint out0 = [ 1 | 0 | 0 | 1 | 0 ];
2684e5c31af7Sopenharmony_ci		}
2685e5c31af7Sopenharmony_ci
2686e5c31af7Sopenharmony_ci		both ""
2687e5c31af7Sopenharmony_ci			#version 300 es
2688e5c31af7Sopenharmony_ci			precision mediump float;
2689e5c31af7Sopenharmony_ci			precision mediump int;
2690e5c31af7Sopenharmony_ci
2691e5c31af7Sopenharmony_ci			${DECLARATIONS}
2692e5c31af7Sopenharmony_ci
2693e5c31af7Sopenharmony_ci			void main()
2694e5c31af7Sopenharmony_ci			{
2695e5c31af7Sopenharmony_ci				${SETUP}
2696e5c31af7Sopenharmony_ci				out0 = uint(in0);
2697e5c31af7Sopenharmony_ci				${OUTPUT}
2698e5c31af7Sopenharmony_ci			}
2699e5c31af7Sopenharmony_ci		""
2700e5c31af7Sopenharmony_ci	end
2701e5c31af7Sopenharmony_ci
2702e5c31af7Sopenharmony_ci
2703e5c31af7Sopenharmony_ciend # vector_to_scalar
2704e5c31af7Sopenharmony_cigroup vector_illegal "Illegal Vector Conversions"
2705e5c31af7Sopenharmony_ci
2706e5c31af7Sopenharmony_ci	case vec2_to_vec3
2707e5c31af7Sopenharmony_ci		version 300 es
2708e5c31af7Sopenharmony_ci		expect compile_fail
2709e5c31af7Sopenharmony_ci		values {}
2710e5c31af7Sopenharmony_ci
2711e5c31af7Sopenharmony_ci		both ""
2712e5c31af7Sopenharmony_ci			#version 300 es
2713e5c31af7Sopenharmony_ci			precision mediump float;
2714e5c31af7Sopenharmony_ci			precision mediump int;
2715e5c31af7Sopenharmony_ci
2716e5c31af7Sopenharmony_ci			${DECLARATIONS}
2717e5c31af7Sopenharmony_ci
2718e5c31af7Sopenharmony_ci			void main()
2719e5c31af7Sopenharmony_ci			{
2720e5c31af7Sopenharmony_ci				${SETUP}
2721e5c31af7Sopenharmony_ci				vec2 in0 = vec2(0.0, 0.5);
2722e5c31af7Sopenharmony_ci				vec3 out0 = vec3(in0);
2723e5c31af7Sopenharmony_ci				${OUTPUT}
2724e5c31af7Sopenharmony_ci			}
2725e5c31af7Sopenharmony_ci		""
2726e5c31af7Sopenharmony_ci	end
2727e5c31af7Sopenharmony_ci
2728e5c31af7Sopenharmony_ci	case vec2_to_ivec3
2729e5c31af7Sopenharmony_ci		version 300 es
2730e5c31af7Sopenharmony_ci		expect compile_fail
2731e5c31af7Sopenharmony_ci		values {}
2732e5c31af7Sopenharmony_ci
2733e5c31af7Sopenharmony_ci		both ""
2734e5c31af7Sopenharmony_ci			#version 300 es
2735e5c31af7Sopenharmony_ci			precision mediump float;
2736e5c31af7Sopenharmony_ci			precision mediump int;
2737e5c31af7Sopenharmony_ci
2738e5c31af7Sopenharmony_ci			${DECLARATIONS}
2739e5c31af7Sopenharmony_ci
2740e5c31af7Sopenharmony_ci			void main()
2741e5c31af7Sopenharmony_ci			{
2742e5c31af7Sopenharmony_ci				${SETUP}
2743e5c31af7Sopenharmony_ci				vec2 in0 = vec2(0.0, 0.5);
2744e5c31af7Sopenharmony_ci				ivec3 out0 = ivec3(in0);
2745e5c31af7Sopenharmony_ci				${OUTPUT}
2746e5c31af7Sopenharmony_ci			}
2747e5c31af7Sopenharmony_ci		""
2748e5c31af7Sopenharmony_ci	end
2749e5c31af7Sopenharmony_ci
2750e5c31af7Sopenharmony_ci	case vec2_to_uvec3
2751e5c31af7Sopenharmony_ci		version 300 es
2752e5c31af7Sopenharmony_ci		expect compile_fail
2753e5c31af7Sopenharmony_ci		values {}
2754e5c31af7Sopenharmony_ci
2755e5c31af7Sopenharmony_ci		both ""
2756e5c31af7Sopenharmony_ci			#version 300 es
2757e5c31af7Sopenharmony_ci			precision mediump float;
2758e5c31af7Sopenharmony_ci			precision mediump int;
2759e5c31af7Sopenharmony_ci
2760e5c31af7Sopenharmony_ci			${DECLARATIONS}
2761e5c31af7Sopenharmony_ci
2762e5c31af7Sopenharmony_ci			void main()
2763e5c31af7Sopenharmony_ci			{
2764e5c31af7Sopenharmony_ci				${SETUP}
2765e5c31af7Sopenharmony_ci				vec2 in0 = vec2(0.0, 0.5);
2766e5c31af7Sopenharmony_ci				uvec3 out0 = uvec3(in0);
2767e5c31af7Sopenharmony_ci				${OUTPUT}
2768e5c31af7Sopenharmony_ci			}
2769e5c31af7Sopenharmony_ci		""
2770e5c31af7Sopenharmony_ci	end
2771e5c31af7Sopenharmony_ci
2772e5c31af7Sopenharmony_ci	case vec2_to_bvec3
2773e5c31af7Sopenharmony_ci		version 300 es
2774e5c31af7Sopenharmony_ci		expect compile_fail
2775e5c31af7Sopenharmony_ci		values {}
2776e5c31af7Sopenharmony_ci
2777e5c31af7Sopenharmony_ci		both ""
2778e5c31af7Sopenharmony_ci			#version 300 es
2779e5c31af7Sopenharmony_ci			precision mediump float;
2780e5c31af7Sopenharmony_ci			precision mediump int;
2781e5c31af7Sopenharmony_ci
2782e5c31af7Sopenharmony_ci			${DECLARATIONS}
2783e5c31af7Sopenharmony_ci
2784e5c31af7Sopenharmony_ci			void main()
2785e5c31af7Sopenharmony_ci			{
2786e5c31af7Sopenharmony_ci				${SETUP}
2787e5c31af7Sopenharmony_ci				vec2 in0 = vec2(0.0, 0.5);
2788e5c31af7Sopenharmony_ci				bvec3 out0 = bvec3(in0);
2789e5c31af7Sopenharmony_ci				${OUTPUT}
2790e5c31af7Sopenharmony_ci			}
2791e5c31af7Sopenharmony_ci		""
2792e5c31af7Sopenharmony_ci	end
2793e5c31af7Sopenharmony_ci
2794e5c31af7Sopenharmony_ci	case vec2_to_vec4
2795e5c31af7Sopenharmony_ci		version 300 es
2796e5c31af7Sopenharmony_ci		expect compile_fail
2797e5c31af7Sopenharmony_ci		values {}
2798e5c31af7Sopenharmony_ci
2799e5c31af7Sopenharmony_ci		both ""
2800e5c31af7Sopenharmony_ci			#version 300 es
2801e5c31af7Sopenharmony_ci			precision mediump float;
2802e5c31af7Sopenharmony_ci			precision mediump int;
2803e5c31af7Sopenharmony_ci
2804e5c31af7Sopenharmony_ci			${DECLARATIONS}
2805e5c31af7Sopenharmony_ci
2806e5c31af7Sopenharmony_ci			void main()
2807e5c31af7Sopenharmony_ci			{
2808e5c31af7Sopenharmony_ci				${SETUP}
2809e5c31af7Sopenharmony_ci				vec2 in0 = vec2(0.0, 0.5);
2810e5c31af7Sopenharmony_ci				vec4 out0 = vec4(in0);
2811e5c31af7Sopenharmony_ci				${OUTPUT}
2812e5c31af7Sopenharmony_ci			}
2813e5c31af7Sopenharmony_ci		""
2814e5c31af7Sopenharmony_ci	end
2815e5c31af7Sopenharmony_ci
2816e5c31af7Sopenharmony_ci	case vec2_to_ivec4
2817e5c31af7Sopenharmony_ci		version 300 es
2818e5c31af7Sopenharmony_ci		expect compile_fail
2819e5c31af7Sopenharmony_ci		values {}
2820e5c31af7Sopenharmony_ci
2821e5c31af7Sopenharmony_ci		both ""
2822e5c31af7Sopenharmony_ci			#version 300 es
2823e5c31af7Sopenharmony_ci			precision mediump float;
2824e5c31af7Sopenharmony_ci			precision mediump int;
2825e5c31af7Sopenharmony_ci
2826e5c31af7Sopenharmony_ci			${DECLARATIONS}
2827e5c31af7Sopenharmony_ci
2828e5c31af7Sopenharmony_ci			void main()
2829e5c31af7Sopenharmony_ci			{
2830e5c31af7Sopenharmony_ci				${SETUP}
2831e5c31af7Sopenharmony_ci				vec2 in0 = vec2(0.0, 0.5);
2832e5c31af7Sopenharmony_ci				ivec4 out0 = ivec4(in0);
2833e5c31af7Sopenharmony_ci				${OUTPUT}
2834e5c31af7Sopenharmony_ci			}
2835e5c31af7Sopenharmony_ci		""
2836e5c31af7Sopenharmony_ci	end
2837e5c31af7Sopenharmony_ci
2838e5c31af7Sopenharmony_ci	case vec2_to_uvec4
2839e5c31af7Sopenharmony_ci		version 300 es
2840e5c31af7Sopenharmony_ci		expect compile_fail
2841e5c31af7Sopenharmony_ci		values {}
2842e5c31af7Sopenharmony_ci
2843e5c31af7Sopenharmony_ci		both ""
2844e5c31af7Sopenharmony_ci			#version 300 es
2845e5c31af7Sopenharmony_ci			precision mediump float;
2846e5c31af7Sopenharmony_ci			precision mediump int;
2847e5c31af7Sopenharmony_ci
2848e5c31af7Sopenharmony_ci			${DECLARATIONS}
2849e5c31af7Sopenharmony_ci
2850e5c31af7Sopenharmony_ci			void main()
2851e5c31af7Sopenharmony_ci			{
2852e5c31af7Sopenharmony_ci				${SETUP}
2853e5c31af7Sopenharmony_ci				vec2 in0 = vec2(0.0, 0.5);
2854e5c31af7Sopenharmony_ci				uvec4 out0 = uvec4(in0);
2855e5c31af7Sopenharmony_ci				${OUTPUT}
2856e5c31af7Sopenharmony_ci			}
2857e5c31af7Sopenharmony_ci		""
2858e5c31af7Sopenharmony_ci	end
2859e5c31af7Sopenharmony_ci
2860e5c31af7Sopenharmony_ci	case vec2_to_bvec4
2861e5c31af7Sopenharmony_ci		version 300 es
2862e5c31af7Sopenharmony_ci		expect compile_fail
2863e5c31af7Sopenharmony_ci		values {}
2864e5c31af7Sopenharmony_ci
2865e5c31af7Sopenharmony_ci		both ""
2866e5c31af7Sopenharmony_ci			#version 300 es
2867e5c31af7Sopenharmony_ci			precision mediump float;
2868e5c31af7Sopenharmony_ci			precision mediump int;
2869e5c31af7Sopenharmony_ci
2870e5c31af7Sopenharmony_ci			${DECLARATIONS}
2871e5c31af7Sopenharmony_ci
2872e5c31af7Sopenharmony_ci			void main()
2873e5c31af7Sopenharmony_ci			{
2874e5c31af7Sopenharmony_ci				${SETUP}
2875e5c31af7Sopenharmony_ci				vec2 in0 = vec2(0.0, 0.5);
2876e5c31af7Sopenharmony_ci				bvec4 out0 = bvec4(in0);
2877e5c31af7Sopenharmony_ci				${OUTPUT}
2878e5c31af7Sopenharmony_ci			}
2879e5c31af7Sopenharmony_ci		""
2880e5c31af7Sopenharmony_ci	end
2881e5c31af7Sopenharmony_ci
2882e5c31af7Sopenharmony_ci	case ivec2_to_vec3
2883e5c31af7Sopenharmony_ci		version 300 es
2884e5c31af7Sopenharmony_ci		expect compile_fail
2885e5c31af7Sopenharmony_ci		values {}
2886e5c31af7Sopenharmony_ci
2887e5c31af7Sopenharmony_ci		both ""
2888e5c31af7Sopenharmony_ci			#version 300 es
2889e5c31af7Sopenharmony_ci			precision mediump float;
2890e5c31af7Sopenharmony_ci			precision mediump int;
2891e5c31af7Sopenharmony_ci
2892e5c31af7Sopenharmony_ci			${DECLARATIONS}
2893e5c31af7Sopenharmony_ci
2894e5c31af7Sopenharmony_ci			void main()
2895e5c31af7Sopenharmony_ci			{
2896e5c31af7Sopenharmony_ci				${SETUP}
2897e5c31af7Sopenharmony_ci				ivec2 in0 = ivec2(0, 0);
2898e5c31af7Sopenharmony_ci				vec3 out0 = vec3(in0);
2899e5c31af7Sopenharmony_ci				${OUTPUT}
2900e5c31af7Sopenharmony_ci			}
2901e5c31af7Sopenharmony_ci		""
2902e5c31af7Sopenharmony_ci	end
2903e5c31af7Sopenharmony_ci
2904e5c31af7Sopenharmony_ci	case ivec2_to_ivec3
2905e5c31af7Sopenharmony_ci		version 300 es
2906e5c31af7Sopenharmony_ci		expect compile_fail
2907e5c31af7Sopenharmony_ci		values {}
2908e5c31af7Sopenharmony_ci
2909e5c31af7Sopenharmony_ci		both ""
2910e5c31af7Sopenharmony_ci			#version 300 es
2911e5c31af7Sopenharmony_ci			precision mediump float;
2912e5c31af7Sopenharmony_ci			precision mediump int;
2913e5c31af7Sopenharmony_ci
2914e5c31af7Sopenharmony_ci			${DECLARATIONS}
2915e5c31af7Sopenharmony_ci
2916e5c31af7Sopenharmony_ci			void main()
2917e5c31af7Sopenharmony_ci			{
2918e5c31af7Sopenharmony_ci				${SETUP}
2919e5c31af7Sopenharmony_ci				ivec2 in0 = ivec2(0, 0);
2920e5c31af7Sopenharmony_ci				ivec3 out0 = ivec3(in0);
2921e5c31af7Sopenharmony_ci				${OUTPUT}
2922e5c31af7Sopenharmony_ci			}
2923e5c31af7Sopenharmony_ci		""
2924e5c31af7Sopenharmony_ci	end
2925e5c31af7Sopenharmony_ci
2926e5c31af7Sopenharmony_ci	case ivec2_to_uvec3
2927e5c31af7Sopenharmony_ci		version 300 es
2928e5c31af7Sopenharmony_ci		expect compile_fail
2929e5c31af7Sopenharmony_ci		values {}
2930e5c31af7Sopenharmony_ci
2931e5c31af7Sopenharmony_ci		both ""
2932e5c31af7Sopenharmony_ci			#version 300 es
2933e5c31af7Sopenharmony_ci			precision mediump float;
2934e5c31af7Sopenharmony_ci			precision mediump int;
2935e5c31af7Sopenharmony_ci
2936e5c31af7Sopenharmony_ci			${DECLARATIONS}
2937e5c31af7Sopenharmony_ci
2938e5c31af7Sopenharmony_ci			void main()
2939e5c31af7Sopenharmony_ci			{
2940e5c31af7Sopenharmony_ci				${SETUP}
2941e5c31af7Sopenharmony_ci				ivec2 in0 = ivec2(0, 0);
2942e5c31af7Sopenharmony_ci				uvec3 out0 = uvec3(in0);
2943e5c31af7Sopenharmony_ci				${OUTPUT}
2944e5c31af7Sopenharmony_ci			}
2945e5c31af7Sopenharmony_ci		""
2946e5c31af7Sopenharmony_ci	end
2947e5c31af7Sopenharmony_ci
2948e5c31af7Sopenharmony_ci	case ivec2_to_bvec3
2949e5c31af7Sopenharmony_ci		version 300 es
2950e5c31af7Sopenharmony_ci		expect compile_fail
2951e5c31af7Sopenharmony_ci		values {}
2952e5c31af7Sopenharmony_ci
2953e5c31af7Sopenharmony_ci		both ""
2954e5c31af7Sopenharmony_ci			#version 300 es
2955e5c31af7Sopenharmony_ci			precision mediump float;
2956e5c31af7Sopenharmony_ci			precision mediump int;
2957e5c31af7Sopenharmony_ci
2958e5c31af7Sopenharmony_ci			${DECLARATIONS}
2959e5c31af7Sopenharmony_ci
2960e5c31af7Sopenharmony_ci			void main()
2961e5c31af7Sopenharmony_ci			{
2962e5c31af7Sopenharmony_ci				${SETUP}
2963e5c31af7Sopenharmony_ci				ivec2 in0 = ivec2(0, 0);
2964e5c31af7Sopenharmony_ci				bvec3 out0 = bvec3(in0);
2965e5c31af7Sopenharmony_ci				${OUTPUT}
2966e5c31af7Sopenharmony_ci			}
2967e5c31af7Sopenharmony_ci		""
2968e5c31af7Sopenharmony_ci	end
2969e5c31af7Sopenharmony_ci
2970e5c31af7Sopenharmony_ci	case ivec2_to_vec4
2971e5c31af7Sopenharmony_ci		version 300 es
2972e5c31af7Sopenharmony_ci		expect compile_fail
2973e5c31af7Sopenharmony_ci		values {}
2974e5c31af7Sopenharmony_ci
2975e5c31af7Sopenharmony_ci		both ""
2976e5c31af7Sopenharmony_ci			#version 300 es
2977e5c31af7Sopenharmony_ci			precision mediump float;
2978e5c31af7Sopenharmony_ci			precision mediump int;
2979e5c31af7Sopenharmony_ci
2980e5c31af7Sopenharmony_ci			${DECLARATIONS}
2981e5c31af7Sopenharmony_ci
2982e5c31af7Sopenharmony_ci			void main()
2983e5c31af7Sopenharmony_ci			{
2984e5c31af7Sopenharmony_ci				${SETUP}
2985e5c31af7Sopenharmony_ci				ivec2 in0 = ivec2(0, 0);
2986e5c31af7Sopenharmony_ci				vec4 out0 = vec4(in0);
2987e5c31af7Sopenharmony_ci				${OUTPUT}
2988e5c31af7Sopenharmony_ci			}
2989e5c31af7Sopenharmony_ci		""
2990e5c31af7Sopenharmony_ci	end
2991e5c31af7Sopenharmony_ci
2992e5c31af7Sopenharmony_ci	case ivec2_to_ivec4
2993e5c31af7Sopenharmony_ci		version 300 es
2994e5c31af7Sopenharmony_ci		expect compile_fail
2995e5c31af7Sopenharmony_ci		values {}
2996e5c31af7Sopenharmony_ci
2997e5c31af7Sopenharmony_ci		both ""
2998e5c31af7Sopenharmony_ci			#version 300 es
2999e5c31af7Sopenharmony_ci			precision mediump float;
3000e5c31af7Sopenharmony_ci			precision mediump int;
3001e5c31af7Sopenharmony_ci
3002e5c31af7Sopenharmony_ci			${DECLARATIONS}
3003e5c31af7Sopenharmony_ci
3004e5c31af7Sopenharmony_ci			void main()
3005e5c31af7Sopenharmony_ci			{
3006e5c31af7Sopenharmony_ci				${SETUP}
3007e5c31af7Sopenharmony_ci				ivec2 in0 = ivec2(0, 0);
3008e5c31af7Sopenharmony_ci				ivec4 out0 = ivec4(in0);
3009e5c31af7Sopenharmony_ci				${OUTPUT}
3010e5c31af7Sopenharmony_ci			}
3011e5c31af7Sopenharmony_ci		""
3012e5c31af7Sopenharmony_ci	end
3013e5c31af7Sopenharmony_ci
3014e5c31af7Sopenharmony_ci	case ivec2_to_uvec4
3015e5c31af7Sopenharmony_ci		version 300 es
3016e5c31af7Sopenharmony_ci		expect compile_fail
3017e5c31af7Sopenharmony_ci		values {}
3018e5c31af7Sopenharmony_ci
3019e5c31af7Sopenharmony_ci		both ""
3020e5c31af7Sopenharmony_ci			#version 300 es
3021e5c31af7Sopenharmony_ci			precision mediump float;
3022e5c31af7Sopenharmony_ci			precision mediump int;
3023e5c31af7Sopenharmony_ci
3024e5c31af7Sopenharmony_ci			${DECLARATIONS}
3025e5c31af7Sopenharmony_ci
3026e5c31af7Sopenharmony_ci			void main()
3027e5c31af7Sopenharmony_ci			{
3028e5c31af7Sopenharmony_ci				${SETUP}
3029e5c31af7Sopenharmony_ci				ivec2 in0 = ivec2(0, 0);
3030e5c31af7Sopenharmony_ci				uvec4 out0 = uvec4(in0);
3031e5c31af7Sopenharmony_ci				${OUTPUT}
3032e5c31af7Sopenharmony_ci			}
3033e5c31af7Sopenharmony_ci		""
3034e5c31af7Sopenharmony_ci	end
3035e5c31af7Sopenharmony_ci
3036e5c31af7Sopenharmony_ci	case ivec2_to_bvec4
3037e5c31af7Sopenharmony_ci		version 300 es
3038e5c31af7Sopenharmony_ci		expect compile_fail
3039e5c31af7Sopenharmony_ci		values {}
3040e5c31af7Sopenharmony_ci
3041e5c31af7Sopenharmony_ci		both ""
3042e5c31af7Sopenharmony_ci			#version 300 es
3043e5c31af7Sopenharmony_ci			precision mediump float;
3044e5c31af7Sopenharmony_ci			precision mediump int;
3045e5c31af7Sopenharmony_ci
3046e5c31af7Sopenharmony_ci			${DECLARATIONS}
3047e5c31af7Sopenharmony_ci
3048e5c31af7Sopenharmony_ci			void main()
3049e5c31af7Sopenharmony_ci			{
3050e5c31af7Sopenharmony_ci				${SETUP}
3051e5c31af7Sopenharmony_ci				ivec2 in0 = ivec2(0, 0);
3052e5c31af7Sopenharmony_ci				bvec4 out0 = bvec4(in0);
3053e5c31af7Sopenharmony_ci				${OUTPUT}
3054e5c31af7Sopenharmony_ci			}
3055e5c31af7Sopenharmony_ci		""
3056e5c31af7Sopenharmony_ci	end
3057e5c31af7Sopenharmony_ci
3058e5c31af7Sopenharmony_ci	case uvec2_to_vec3
3059e5c31af7Sopenharmony_ci		version 300 es
3060e5c31af7Sopenharmony_ci		expect compile_fail
3061e5c31af7Sopenharmony_ci		values {}
3062e5c31af7Sopenharmony_ci
3063e5c31af7Sopenharmony_ci		both ""
3064e5c31af7Sopenharmony_ci			#version 300 es
3065e5c31af7Sopenharmony_ci			precision mediump float;
3066e5c31af7Sopenharmony_ci			precision mediump int;
3067e5c31af7Sopenharmony_ci
3068e5c31af7Sopenharmony_ci			${DECLARATIONS}
3069e5c31af7Sopenharmony_ci
3070e5c31af7Sopenharmony_ci			void main()
3071e5c31af7Sopenharmony_ci			{
3072e5c31af7Sopenharmony_ci				${SETUP}
3073e5c31af7Sopenharmony_ci				uvec2 in0 = uvec2(0, 0);
3074e5c31af7Sopenharmony_ci				vec3 out0 = vec3(in0);
3075e5c31af7Sopenharmony_ci				${OUTPUT}
3076e5c31af7Sopenharmony_ci			}
3077e5c31af7Sopenharmony_ci		""
3078e5c31af7Sopenharmony_ci	end
3079e5c31af7Sopenharmony_ci
3080e5c31af7Sopenharmony_ci	case uvec2_to_ivec3
3081e5c31af7Sopenharmony_ci		version 300 es
3082e5c31af7Sopenharmony_ci		expect compile_fail
3083e5c31af7Sopenharmony_ci		values {}
3084e5c31af7Sopenharmony_ci
3085e5c31af7Sopenharmony_ci		both ""
3086e5c31af7Sopenharmony_ci			#version 300 es
3087e5c31af7Sopenharmony_ci			precision mediump float;
3088e5c31af7Sopenharmony_ci			precision mediump int;
3089e5c31af7Sopenharmony_ci
3090e5c31af7Sopenharmony_ci			${DECLARATIONS}
3091e5c31af7Sopenharmony_ci
3092e5c31af7Sopenharmony_ci			void main()
3093e5c31af7Sopenharmony_ci			{
3094e5c31af7Sopenharmony_ci				${SETUP}
3095e5c31af7Sopenharmony_ci				uvec2 in0 = uvec2(0, 0);
3096e5c31af7Sopenharmony_ci				ivec3 out0 = ivec3(in0);
3097e5c31af7Sopenharmony_ci				${OUTPUT}
3098e5c31af7Sopenharmony_ci			}
3099e5c31af7Sopenharmony_ci		""
3100e5c31af7Sopenharmony_ci	end
3101e5c31af7Sopenharmony_ci
3102e5c31af7Sopenharmony_ci	case uvec2_to_uvec3
3103e5c31af7Sopenharmony_ci		version 300 es
3104e5c31af7Sopenharmony_ci		expect compile_fail
3105e5c31af7Sopenharmony_ci		values {}
3106e5c31af7Sopenharmony_ci
3107e5c31af7Sopenharmony_ci		both ""
3108e5c31af7Sopenharmony_ci			#version 300 es
3109e5c31af7Sopenharmony_ci			precision mediump float;
3110e5c31af7Sopenharmony_ci			precision mediump int;
3111e5c31af7Sopenharmony_ci
3112e5c31af7Sopenharmony_ci			${DECLARATIONS}
3113e5c31af7Sopenharmony_ci
3114e5c31af7Sopenharmony_ci			void main()
3115e5c31af7Sopenharmony_ci			{
3116e5c31af7Sopenharmony_ci				${SETUP}
3117e5c31af7Sopenharmony_ci				uvec2 in0 = uvec2(0, 0);
3118e5c31af7Sopenharmony_ci				uvec3 out0 = uvec3(in0);
3119e5c31af7Sopenharmony_ci				${OUTPUT}
3120e5c31af7Sopenharmony_ci			}
3121e5c31af7Sopenharmony_ci		""
3122e5c31af7Sopenharmony_ci	end
3123e5c31af7Sopenharmony_ci
3124e5c31af7Sopenharmony_ci	case uvec2_to_bvec3
3125e5c31af7Sopenharmony_ci		version 300 es
3126e5c31af7Sopenharmony_ci		expect compile_fail
3127e5c31af7Sopenharmony_ci		values {}
3128e5c31af7Sopenharmony_ci
3129e5c31af7Sopenharmony_ci		both ""
3130e5c31af7Sopenharmony_ci			#version 300 es
3131e5c31af7Sopenharmony_ci			precision mediump float;
3132e5c31af7Sopenharmony_ci			precision mediump int;
3133e5c31af7Sopenharmony_ci
3134e5c31af7Sopenharmony_ci			${DECLARATIONS}
3135e5c31af7Sopenharmony_ci
3136e5c31af7Sopenharmony_ci			void main()
3137e5c31af7Sopenharmony_ci			{
3138e5c31af7Sopenharmony_ci				${SETUP}
3139e5c31af7Sopenharmony_ci				uvec2 in0 = uvec2(0, 0);
3140e5c31af7Sopenharmony_ci				bvec3 out0 = bvec3(in0);
3141e5c31af7Sopenharmony_ci				${OUTPUT}
3142e5c31af7Sopenharmony_ci			}
3143e5c31af7Sopenharmony_ci		""
3144e5c31af7Sopenharmony_ci	end
3145e5c31af7Sopenharmony_ci
3146e5c31af7Sopenharmony_ci	case uvec2_to_vec4
3147e5c31af7Sopenharmony_ci		version 300 es
3148e5c31af7Sopenharmony_ci		expect compile_fail
3149e5c31af7Sopenharmony_ci		values {}
3150e5c31af7Sopenharmony_ci
3151e5c31af7Sopenharmony_ci		both ""
3152e5c31af7Sopenharmony_ci			#version 300 es
3153e5c31af7Sopenharmony_ci			precision mediump float;
3154e5c31af7Sopenharmony_ci			precision mediump int;
3155e5c31af7Sopenharmony_ci
3156e5c31af7Sopenharmony_ci			${DECLARATIONS}
3157e5c31af7Sopenharmony_ci
3158e5c31af7Sopenharmony_ci			void main()
3159e5c31af7Sopenharmony_ci			{
3160e5c31af7Sopenharmony_ci				${SETUP}
3161e5c31af7Sopenharmony_ci				uvec2 in0 = uvec2(0, 0);
3162e5c31af7Sopenharmony_ci				vec4 out0 = vec4(in0);
3163e5c31af7Sopenharmony_ci				${OUTPUT}
3164e5c31af7Sopenharmony_ci			}
3165e5c31af7Sopenharmony_ci		""
3166e5c31af7Sopenharmony_ci	end
3167e5c31af7Sopenharmony_ci
3168e5c31af7Sopenharmony_ci	case uvec2_to_ivec4
3169e5c31af7Sopenharmony_ci		version 300 es
3170e5c31af7Sopenharmony_ci		expect compile_fail
3171e5c31af7Sopenharmony_ci		values {}
3172e5c31af7Sopenharmony_ci
3173e5c31af7Sopenharmony_ci		both ""
3174e5c31af7Sopenharmony_ci			#version 300 es
3175e5c31af7Sopenharmony_ci			precision mediump float;
3176e5c31af7Sopenharmony_ci			precision mediump int;
3177e5c31af7Sopenharmony_ci
3178e5c31af7Sopenharmony_ci			${DECLARATIONS}
3179e5c31af7Sopenharmony_ci
3180e5c31af7Sopenharmony_ci			void main()
3181e5c31af7Sopenharmony_ci			{
3182e5c31af7Sopenharmony_ci				${SETUP}
3183e5c31af7Sopenharmony_ci				uvec2 in0 = uvec2(0, 0);
3184e5c31af7Sopenharmony_ci				ivec4 out0 = ivec4(in0);
3185e5c31af7Sopenharmony_ci				${OUTPUT}
3186e5c31af7Sopenharmony_ci			}
3187e5c31af7Sopenharmony_ci		""
3188e5c31af7Sopenharmony_ci	end
3189e5c31af7Sopenharmony_ci
3190e5c31af7Sopenharmony_ci	case uvec2_to_uvec4
3191e5c31af7Sopenharmony_ci		version 300 es
3192e5c31af7Sopenharmony_ci		expect compile_fail
3193e5c31af7Sopenharmony_ci		values {}
3194e5c31af7Sopenharmony_ci
3195e5c31af7Sopenharmony_ci		both ""
3196e5c31af7Sopenharmony_ci			#version 300 es
3197e5c31af7Sopenharmony_ci			precision mediump float;
3198e5c31af7Sopenharmony_ci			precision mediump int;
3199e5c31af7Sopenharmony_ci
3200e5c31af7Sopenharmony_ci			${DECLARATIONS}
3201e5c31af7Sopenharmony_ci
3202e5c31af7Sopenharmony_ci			void main()
3203e5c31af7Sopenharmony_ci			{
3204e5c31af7Sopenharmony_ci				${SETUP}
3205e5c31af7Sopenharmony_ci				uvec2 in0 = uvec2(0, 0);
3206e5c31af7Sopenharmony_ci				uvec4 out0 = uvec4(in0);
3207e5c31af7Sopenharmony_ci				${OUTPUT}
3208e5c31af7Sopenharmony_ci			}
3209e5c31af7Sopenharmony_ci		""
3210e5c31af7Sopenharmony_ci	end
3211e5c31af7Sopenharmony_ci
3212e5c31af7Sopenharmony_ci	case uvec2_to_bvec4
3213e5c31af7Sopenharmony_ci		version 300 es
3214e5c31af7Sopenharmony_ci		expect compile_fail
3215e5c31af7Sopenharmony_ci		values {}
3216e5c31af7Sopenharmony_ci
3217e5c31af7Sopenharmony_ci		both ""
3218e5c31af7Sopenharmony_ci			#version 300 es
3219e5c31af7Sopenharmony_ci			precision mediump float;
3220e5c31af7Sopenharmony_ci			precision mediump int;
3221e5c31af7Sopenharmony_ci
3222e5c31af7Sopenharmony_ci			${DECLARATIONS}
3223e5c31af7Sopenharmony_ci
3224e5c31af7Sopenharmony_ci			void main()
3225e5c31af7Sopenharmony_ci			{
3226e5c31af7Sopenharmony_ci				${SETUP}
3227e5c31af7Sopenharmony_ci				uvec2 in0 = uvec2(0, 0);
3228e5c31af7Sopenharmony_ci				bvec4 out0 = bvec4(in0);
3229e5c31af7Sopenharmony_ci				${OUTPUT}
3230e5c31af7Sopenharmony_ci			}
3231e5c31af7Sopenharmony_ci		""
3232e5c31af7Sopenharmony_ci	end
3233e5c31af7Sopenharmony_ci
3234e5c31af7Sopenharmony_ci	case bvec2_to_vec3
3235e5c31af7Sopenharmony_ci		version 300 es
3236e5c31af7Sopenharmony_ci		expect compile_fail
3237e5c31af7Sopenharmony_ci		values {}
3238e5c31af7Sopenharmony_ci
3239e5c31af7Sopenharmony_ci		both ""
3240e5c31af7Sopenharmony_ci			#version 300 es
3241e5c31af7Sopenharmony_ci			precision mediump float;
3242e5c31af7Sopenharmony_ci			precision mediump int;
3243e5c31af7Sopenharmony_ci
3244e5c31af7Sopenharmony_ci			${DECLARATIONS}
3245e5c31af7Sopenharmony_ci
3246e5c31af7Sopenharmony_ci			void main()
3247e5c31af7Sopenharmony_ci			{
3248e5c31af7Sopenharmony_ci				${SETUP}
3249e5c31af7Sopenharmony_ci				bvec2 in0 = bvec2(true, false);
3250e5c31af7Sopenharmony_ci				vec3 out0 = vec3(in0);
3251e5c31af7Sopenharmony_ci				${OUTPUT}
3252e5c31af7Sopenharmony_ci			}
3253e5c31af7Sopenharmony_ci		""
3254e5c31af7Sopenharmony_ci	end
3255e5c31af7Sopenharmony_ci
3256e5c31af7Sopenharmony_ci	case bvec2_to_ivec3
3257e5c31af7Sopenharmony_ci		version 300 es
3258e5c31af7Sopenharmony_ci		expect compile_fail
3259e5c31af7Sopenharmony_ci		values {}
3260e5c31af7Sopenharmony_ci
3261e5c31af7Sopenharmony_ci		both ""
3262e5c31af7Sopenharmony_ci			#version 300 es
3263e5c31af7Sopenharmony_ci			precision mediump float;
3264e5c31af7Sopenharmony_ci			precision mediump int;
3265e5c31af7Sopenharmony_ci
3266e5c31af7Sopenharmony_ci			${DECLARATIONS}
3267e5c31af7Sopenharmony_ci
3268e5c31af7Sopenharmony_ci			void main()
3269e5c31af7Sopenharmony_ci			{
3270e5c31af7Sopenharmony_ci				${SETUP}
3271e5c31af7Sopenharmony_ci				bvec2 in0 = bvec2(true, false);
3272e5c31af7Sopenharmony_ci				ivec3 out0 = ivec3(in0);
3273e5c31af7Sopenharmony_ci				${OUTPUT}
3274e5c31af7Sopenharmony_ci			}
3275e5c31af7Sopenharmony_ci		""
3276e5c31af7Sopenharmony_ci	end
3277e5c31af7Sopenharmony_ci
3278e5c31af7Sopenharmony_ci	case bvec2_to_uvec3
3279e5c31af7Sopenharmony_ci		version 300 es
3280e5c31af7Sopenharmony_ci		expect compile_fail
3281e5c31af7Sopenharmony_ci		values {}
3282e5c31af7Sopenharmony_ci
3283e5c31af7Sopenharmony_ci		both ""
3284e5c31af7Sopenharmony_ci			#version 300 es
3285e5c31af7Sopenharmony_ci			precision mediump float;
3286e5c31af7Sopenharmony_ci			precision mediump int;
3287e5c31af7Sopenharmony_ci
3288e5c31af7Sopenharmony_ci			${DECLARATIONS}
3289e5c31af7Sopenharmony_ci
3290e5c31af7Sopenharmony_ci			void main()
3291e5c31af7Sopenharmony_ci			{
3292e5c31af7Sopenharmony_ci				${SETUP}
3293e5c31af7Sopenharmony_ci				bvec2 in0 = bvec2(true, false);
3294e5c31af7Sopenharmony_ci				uvec3 out0 = uvec3(in0);
3295e5c31af7Sopenharmony_ci				${OUTPUT}
3296e5c31af7Sopenharmony_ci			}
3297e5c31af7Sopenharmony_ci		""
3298e5c31af7Sopenharmony_ci	end
3299e5c31af7Sopenharmony_ci
3300e5c31af7Sopenharmony_ci	case bvec2_to_bvec3
3301e5c31af7Sopenharmony_ci		version 300 es
3302e5c31af7Sopenharmony_ci		expect compile_fail
3303e5c31af7Sopenharmony_ci		values {}
3304e5c31af7Sopenharmony_ci
3305e5c31af7Sopenharmony_ci		both ""
3306e5c31af7Sopenharmony_ci			#version 300 es
3307e5c31af7Sopenharmony_ci			precision mediump float;
3308e5c31af7Sopenharmony_ci			precision mediump int;
3309e5c31af7Sopenharmony_ci
3310e5c31af7Sopenharmony_ci			${DECLARATIONS}
3311e5c31af7Sopenharmony_ci
3312e5c31af7Sopenharmony_ci			void main()
3313e5c31af7Sopenharmony_ci			{
3314e5c31af7Sopenharmony_ci				${SETUP}
3315e5c31af7Sopenharmony_ci				bvec2 in0 = bvec2(true, false);
3316e5c31af7Sopenharmony_ci				bvec3 out0 = bvec3(in0);
3317e5c31af7Sopenharmony_ci				${OUTPUT}
3318e5c31af7Sopenharmony_ci			}
3319e5c31af7Sopenharmony_ci		""
3320e5c31af7Sopenharmony_ci	end
3321e5c31af7Sopenharmony_ci
3322e5c31af7Sopenharmony_ci	case bvec2_to_vec4
3323e5c31af7Sopenharmony_ci		version 300 es
3324e5c31af7Sopenharmony_ci		expect compile_fail
3325e5c31af7Sopenharmony_ci		values {}
3326e5c31af7Sopenharmony_ci
3327e5c31af7Sopenharmony_ci		both ""
3328e5c31af7Sopenharmony_ci			#version 300 es
3329e5c31af7Sopenharmony_ci			precision mediump float;
3330e5c31af7Sopenharmony_ci			precision mediump int;
3331e5c31af7Sopenharmony_ci
3332e5c31af7Sopenharmony_ci			${DECLARATIONS}
3333e5c31af7Sopenharmony_ci
3334e5c31af7Sopenharmony_ci			void main()
3335e5c31af7Sopenharmony_ci			{
3336e5c31af7Sopenharmony_ci				${SETUP}
3337e5c31af7Sopenharmony_ci				bvec2 in0 = bvec2(true, false);
3338e5c31af7Sopenharmony_ci				vec4 out0 = vec4(in0);
3339e5c31af7Sopenharmony_ci				${OUTPUT}
3340e5c31af7Sopenharmony_ci			}
3341e5c31af7Sopenharmony_ci		""
3342e5c31af7Sopenharmony_ci	end
3343e5c31af7Sopenharmony_ci
3344e5c31af7Sopenharmony_ci	case bvec2_to_ivec4
3345e5c31af7Sopenharmony_ci		version 300 es
3346e5c31af7Sopenharmony_ci		expect compile_fail
3347e5c31af7Sopenharmony_ci		values {}
3348e5c31af7Sopenharmony_ci
3349e5c31af7Sopenharmony_ci		both ""
3350e5c31af7Sopenharmony_ci			#version 300 es
3351e5c31af7Sopenharmony_ci			precision mediump float;
3352e5c31af7Sopenharmony_ci			precision mediump int;
3353e5c31af7Sopenharmony_ci
3354e5c31af7Sopenharmony_ci			${DECLARATIONS}
3355e5c31af7Sopenharmony_ci
3356e5c31af7Sopenharmony_ci			void main()
3357e5c31af7Sopenharmony_ci			{
3358e5c31af7Sopenharmony_ci				${SETUP}
3359e5c31af7Sopenharmony_ci				bvec2 in0 = bvec2(true, false);
3360e5c31af7Sopenharmony_ci				ivec4 out0 = ivec4(in0);
3361e5c31af7Sopenharmony_ci				${OUTPUT}
3362e5c31af7Sopenharmony_ci			}
3363e5c31af7Sopenharmony_ci		""
3364e5c31af7Sopenharmony_ci	end
3365e5c31af7Sopenharmony_ci
3366e5c31af7Sopenharmony_ci	case bvec2_to_uvec4
3367e5c31af7Sopenharmony_ci		version 300 es
3368e5c31af7Sopenharmony_ci		expect compile_fail
3369e5c31af7Sopenharmony_ci		values {}
3370e5c31af7Sopenharmony_ci
3371e5c31af7Sopenharmony_ci		both ""
3372e5c31af7Sopenharmony_ci			#version 300 es
3373e5c31af7Sopenharmony_ci			precision mediump float;
3374e5c31af7Sopenharmony_ci			precision mediump int;
3375e5c31af7Sopenharmony_ci
3376e5c31af7Sopenharmony_ci			${DECLARATIONS}
3377e5c31af7Sopenharmony_ci
3378e5c31af7Sopenharmony_ci			void main()
3379e5c31af7Sopenharmony_ci			{
3380e5c31af7Sopenharmony_ci				${SETUP}
3381e5c31af7Sopenharmony_ci				bvec2 in0 = bvec2(true, false);
3382e5c31af7Sopenharmony_ci				uvec4 out0 = uvec4(in0);
3383e5c31af7Sopenharmony_ci				${OUTPUT}
3384e5c31af7Sopenharmony_ci			}
3385e5c31af7Sopenharmony_ci		""
3386e5c31af7Sopenharmony_ci	end
3387e5c31af7Sopenharmony_ci
3388e5c31af7Sopenharmony_ci	case bvec2_to_bvec4
3389e5c31af7Sopenharmony_ci		version 300 es
3390e5c31af7Sopenharmony_ci		expect compile_fail
3391e5c31af7Sopenharmony_ci		values {}
3392e5c31af7Sopenharmony_ci
3393e5c31af7Sopenharmony_ci		both ""
3394e5c31af7Sopenharmony_ci			#version 300 es
3395e5c31af7Sopenharmony_ci			precision mediump float;
3396e5c31af7Sopenharmony_ci			precision mediump int;
3397e5c31af7Sopenharmony_ci
3398e5c31af7Sopenharmony_ci			${DECLARATIONS}
3399e5c31af7Sopenharmony_ci
3400e5c31af7Sopenharmony_ci			void main()
3401e5c31af7Sopenharmony_ci			{
3402e5c31af7Sopenharmony_ci				${SETUP}
3403e5c31af7Sopenharmony_ci				bvec2 in0 = bvec2(true, false);
3404e5c31af7Sopenharmony_ci				bvec4 out0 = bvec4(in0);
3405e5c31af7Sopenharmony_ci				${OUTPUT}
3406e5c31af7Sopenharmony_ci			}
3407e5c31af7Sopenharmony_ci		""
3408e5c31af7Sopenharmony_ci	end
3409e5c31af7Sopenharmony_ci
3410e5c31af7Sopenharmony_ci	case vec3_to_vec4
3411e5c31af7Sopenharmony_ci		version 300 es
3412e5c31af7Sopenharmony_ci		expect compile_fail
3413e5c31af7Sopenharmony_ci		values {}
3414e5c31af7Sopenharmony_ci
3415e5c31af7Sopenharmony_ci		both ""
3416e5c31af7Sopenharmony_ci			#version 300 es
3417e5c31af7Sopenharmony_ci			precision mediump float;
3418e5c31af7Sopenharmony_ci			precision mediump int;
3419e5c31af7Sopenharmony_ci
3420e5c31af7Sopenharmony_ci			${DECLARATIONS}
3421e5c31af7Sopenharmony_ci
3422e5c31af7Sopenharmony_ci			void main()
3423e5c31af7Sopenharmony_ci			{
3424e5c31af7Sopenharmony_ci				${SETUP}
3425e5c31af7Sopenharmony_ci				vec3 in0 = vec3(0.0, 0.5, 0.75);
3426e5c31af7Sopenharmony_ci				vec4 out0 = vec4(in0);
3427e5c31af7Sopenharmony_ci				${OUTPUT}
3428e5c31af7Sopenharmony_ci			}
3429e5c31af7Sopenharmony_ci		""
3430e5c31af7Sopenharmony_ci	end
3431e5c31af7Sopenharmony_ci
3432e5c31af7Sopenharmony_ci	case vec3_to_ivec4
3433e5c31af7Sopenharmony_ci		version 300 es
3434e5c31af7Sopenharmony_ci		expect compile_fail
3435e5c31af7Sopenharmony_ci		values {}
3436e5c31af7Sopenharmony_ci
3437e5c31af7Sopenharmony_ci		both ""
3438e5c31af7Sopenharmony_ci			#version 300 es
3439e5c31af7Sopenharmony_ci			precision mediump float;
3440e5c31af7Sopenharmony_ci			precision mediump int;
3441e5c31af7Sopenharmony_ci
3442e5c31af7Sopenharmony_ci			${DECLARATIONS}
3443e5c31af7Sopenharmony_ci
3444e5c31af7Sopenharmony_ci			void main()
3445e5c31af7Sopenharmony_ci			{
3446e5c31af7Sopenharmony_ci				${SETUP}
3447e5c31af7Sopenharmony_ci				vec3 in0 = vec3(0.0, 0.5, 0.75);
3448e5c31af7Sopenharmony_ci				ivec4 out0 = ivec4(in0);
3449e5c31af7Sopenharmony_ci				${OUTPUT}
3450e5c31af7Sopenharmony_ci			}
3451e5c31af7Sopenharmony_ci		""
3452e5c31af7Sopenharmony_ci	end
3453e5c31af7Sopenharmony_ci
3454e5c31af7Sopenharmony_ci	case vec3_to_uvec4
3455e5c31af7Sopenharmony_ci		version 300 es
3456e5c31af7Sopenharmony_ci		expect compile_fail
3457e5c31af7Sopenharmony_ci		values {}
3458e5c31af7Sopenharmony_ci
3459e5c31af7Sopenharmony_ci		both ""
3460e5c31af7Sopenharmony_ci			#version 300 es
3461e5c31af7Sopenharmony_ci			precision mediump float;
3462e5c31af7Sopenharmony_ci			precision mediump int;
3463e5c31af7Sopenharmony_ci
3464e5c31af7Sopenharmony_ci			${DECLARATIONS}
3465e5c31af7Sopenharmony_ci
3466e5c31af7Sopenharmony_ci			void main()
3467e5c31af7Sopenharmony_ci			{
3468e5c31af7Sopenharmony_ci				${SETUP}
3469e5c31af7Sopenharmony_ci				vec3 in0 = vec3(0.0, 0.5, 0.75);
3470e5c31af7Sopenharmony_ci				uvec4 out0 = uvec4(in0);
3471e5c31af7Sopenharmony_ci				${OUTPUT}
3472e5c31af7Sopenharmony_ci			}
3473e5c31af7Sopenharmony_ci		""
3474e5c31af7Sopenharmony_ci	end
3475e5c31af7Sopenharmony_ci
3476e5c31af7Sopenharmony_ci	case vec3_to_bvec4
3477e5c31af7Sopenharmony_ci		version 300 es
3478e5c31af7Sopenharmony_ci		expect compile_fail
3479e5c31af7Sopenharmony_ci		values {}
3480e5c31af7Sopenharmony_ci
3481e5c31af7Sopenharmony_ci		both ""
3482e5c31af7Sopenharmony_ci			#version 300 es
3483e5c31af7Sopenharmony_ci			precision mediump float;
3484e5c31af7Sopenharmony_ci			precision mediump int;
3485e5c31af7Sopenharmony_ci
3486e5c31af7Sopenharmony_ci			${DECLARATIONS}
3487e5c31af7Sopenharmony_ci
3488e5c31af7Sopenharmony_ci			void main()
3489e5c31af7Sopenharmony_ci			{
3490e5c31af7Sopenharmony_ci				${SETUP}
3491e5c31af7Sopenharmony_ci				vec3 in0 = vec3(0.0, 0.5, 0.75);
3492e5c31af7Sopenharmony_ci				bvec4 out0 = bvec4(in0);
3493e5c31af7Sopenharmony_ci				${OUTPUT}
3494e5c31af7Sopenharmony_ci			}
3495e5c31af7Sopenharmony_ci		""
3496e5c31af7Sopenharmony_ci	end
3497e5c31af7Sopenharmony_ci
3498e5c31af7Sopenharmony_ci	case ivec3_to_vec4
3499e5c31af7Sopenharmony_ci		version 300 es
3500e5c31af7Sopenharmony_ci		expect compile_fail
3501e5c31af7Sopenharmony_ci		values {}
3502e5c31af7Sopenharmony_ci
3503e5c31af7Sopenharmony_ci		both ""
3504e5c31af7Sopenharmony_ci			#version 300 es
3505e5c31af7Sopenharmony_ci			precision mediump float;
3506e5c31af7Sopenharmony_ci			precision mediump int;
3507e5c31af7Sopenharmony_ci
3508e5c31af7Sopenharmony_ci			${DECLARATIONS}
3509e5c31af7Sopenharmony_ci
3510e5c31af7Sopenharmony_ci			void main()
3511e5c31af7Sopenharmony_ci			{
3512e5c31af7Sopenharmony_ci				${SETUP}
3513e5c31af7Sopenharmony_ci				ivec3 in0 = ivec3(0, 0, 0);
3514e5c31af7Sopenharmony_ci				vec4 out0 = vec4(in0);
3515e5c31af7Sopenharmony_ci				${OUTPUT}
3516e5c31af7Sopenharmony_ci			}
3517e5c31af7Sopenharmony_ci		""
3518e5c31af7Sopenharmony_ci	end
3519e5c31af7Sopenharmony_ci
3520e5c31af7Sopenharmony_ci	case ivec3_to_ivec4
3521e5c31af7Sopenharmony_ci		version 300 es
3522e5c31af7Sopenharmony_ci		expect compile_fail
3523e5c31af7Sopenharmony_ci		values {}
3524e5c31af7Sopenharmony_ci
3525e5c31af7Sopenharmony_ci		both ""
3526e5c31af7Sopenharmony_ci			#version 300 es
3527e5c31af7Sopenharmony_ci			precision mediump float;
3528e5c31af7Sopenharmony_ci			precision mediump int;
3529e5c31af7Sopenharmony_ci
3530e5c31af7Sopenharmony_ci			${DECLARATIONS}
3531e5c31af7Sopenharmony_ci
3532e5c31af7Sopenharmony_ci			void main()
3533e5c31af7Sopenharmony_ci			{
3534e5c31af7Sopenharmony_ci				${SETUP}
3535e5c31af7Sopenharmony_ci				ivec3 in0 = ivec3(0, 0, 0);
3536e5c31af7Sopenharmony_ci				ivec4 out0 = ivec4(in0);
3537e5c31af7Sopenharmony_ci				${OUTPUT}
3538e5c31af7Sopenharmony_ci			}
3539e5c31af7Sopenharmony_ci		""
3540e5c31af7Sopenharmony_ci	end
3541e5c31af7Sopenharmony_ci
3542e5c31af7Sopenharmony_ci	case ivec3_to_uvec4
3543e5c31af7Sopenharmony_ci		version 300 es
3544e5c31af7Sopenharmony_ci		expect compile_fail
3545e5c31af7Sopenharmony_ci		values {}
3546e5c31af7Sopenharmony_ci
3547e5c31af7Sopenharmony_ci		both ""
3548e5c31af7Sopenharmony_ci			#version 300 es
3549e5c31af7Sopenharmony_ci			precision mediump float;
3550e5c31af7Sopenharmony_ci			precision mediump int;
3551e5c31af7Sopenharmony_ci
3552e5c31af7Sopenharmony_ci			${DECLARATIONS}
3553e5c31af7Sopenharmony_ci
3554e5c31af7Sopenharmony_ci			void main()
3555e5c31af7Sopenharmony_ci			{
3556e5c31af7Sopenharmony_ci				${SETUP}
3557e5c31af7Sopenharmony_ci				ivec3 in0 = ivec3(0, 0, 0);
3558e5c31af7Sopenharmony_ci				uvec4 out0 = uvec4(in0);
3559e5c31af7Sopenharmony_ci				${OUTPUT}
3560e5c31af7Sopenharmony_ci			}
3561e5c31af7Sopenharmony_ci		""
3562e5c31af7Sopenharmony_ci	end
3563e5c31af7Sopenharmony_ci
3564e5c31af7Sopenharmony_ci	case ivec3_to_bvec4
3565e5c31af7Sopenharmony_ci		version 300 es
3566e5c31af7Sopenharmony_ci		expect compile_fail
3567e5c31af7Sopenharmony_ci		values {}
3568e5c31af7Sopenharmony_ci
3569e5c31af7Sopenharmony_ci		both ""
3570e5c31af7Sopenharmony_ci			#version 300 es
3571e5c31af7Sopenharmony_ci			precision mediump float;
3572e5c31af7Sopenharmony_ci			precision mediump int;
3573e5c31af7Sopenharmony_ci
3574e5c31af7Sopenharmony_ci			${DECLARATIONS}
3575e5c31af7Sopenharmony_ci
3576e5c31af7Sopenharmony_ci			void main()
3577e5c31af7Sopenharmony_ci			{
3578e5c31af7Sopenharmony_ci				${SETUP}
3579e5c31af7Sopenharmony_ci				ivec3 in0 = ivec3(0, 0, 0);
3580e5c31af7Sopenharmony_ci				bvec4 out0 = bvec4(in0);
3581e5c31af7Sopenharmony_ci				${OUTPUT}
3582e5c31af7Sopenharmony_ci			}
3583e5c31af7Sopenharmony_ci		""
3584e5c31af7Sopenharmony_ci	end
3585e5c31af7Sopenharmony_ci
3586e5c31af7Sopenharmony_ci	case uvec3_to_vec4
3587e5c31af7Sopenharmony_ci		version 300 es
3588e5c31af7Sopenharmony_ci		expect compile_fail
3589e5c31af7Sopenharmony_ci		values {}
3590e5c31af7Sopenharmony_ci
3591e5c31af7Sopenharmony_ci		both ""
3592e5c31af7Sopenharmony_ci			#version 300 es
3593e5c31af7Sopenharmony_ci			precision mediump float;
3594e5c31af7Sopenharmony_ci			precision mediump int;
3595e5c31af7Sopenharmony_ci
3596e5c31af7Sopenharmony_ci			${DECLARATIONS}
3597e5c31af7Sopenharmony_ci
3598e5c31af7Sopenharmony_ci			void main()
3599e5c31af7Sopenharmony_ci			{
3600e5c31af7Sopenharmony_ci				${SETUP}
3601e5c31af7Sopenharmony_ci				uvec3 in0 = uvec3(0, 0, 0);
3602e5c31af7Sopenharmony_ci				vec4 out0 = vec4(in0);
3603e5c31af7Sopenharmony_ci				${OUTPUT}
3604e5c31af7Sopenharmony_ci			}
3605e5c31af7Sopenharmony_ci		""
3606e5c31af7Sopenharmony_ci	end
3607e5c31af7Sopenharmony_ci
3608e5c31af7Sopenharmony_ci	case uvec3_to_ivec4
3609e5c31af7Sopenharmony_ci		version 300 es
3610e5c31af7Sopenharmony_ci		expect compile_fail
3611e5c31af7Sopenharmony_ci		values {}
3612e5c31af7Sopenharmony_ci
3613e5c31af7Sopenharmony_ci		both ""
3614e5c31af7Sopenharmony_ci			#version 300 es
3615e5c31af7Sopenharmony_ci			precision mediump float;
3616e5c31af7Sopenharmony_ci			precision mediump int;
3617e5c31af7Sopenharmony_ci
3618e5c31af7Sopenharmony_ci			${DECLARATIONS}
3619e5c31af7Sopenharmony_ci
3620e5c31af7Sopenharmony_ci			void main()
3621e5c31af7Sopenharmony_ci			{
3622e5c31af7Sopenharmony_ci				${SETUP}
3623e5c31af7Sopenharmony_ci				uvec3 in0 = uvec3(0, 0, 0);
3624e5c31af7Sopenharmony_ci				ivec4 out0 = ivec4(in0);
3625e5c31af7Sopenharmony_ci				${OUTPUT}
3626e5c31af7Sopenharmony_ci			}
3627e5c31af7Sopenharmony_ci		""
3628e5c31af7Sopenharmony_ci	end
3629e5c31af7Sopenharmony_ci
3630e5c31af7Sopenharmony_ci	case uvec3_to_uvec4
3631e5c31af7Sopenharmony_ci		version 300 es
3632e5c31af7Sopenharmony_ci		expect compile_fail
3633e5c31af7Sopenharmony_ci		values {}
3634e5c31af7Sopenharmony_ci
3635e5c31af7Sopenharmony_ci		both ""
3636e5c31af7Sopenharmony_ci			#version 300 es
3637e5c31af7Sopenharmony_ci			precision mediump float;
3638e5c31af7Sopenharmony_ci			precision mediump int;
3639e5c31af7Sopenharmony_ci
3640e5c31af7Sopenharmony_ci			${DECLARATIONS}
3641e5c31af7Sopenharmony_ci
3642e5c31af7Sopenharmony_ci			void main()
3643e5c31af7Sopenharmony_ci			{
3644e5c31af7Sopenharmony_ci				${SETUP}
3645e5c31af7Sopenharmony_ci				uvec3 in0 = uvec3(0, 0, 0);
3646e5c31af7Sopenharmony_ci				uvec4 out0 = uvec4(in0);
3647e5c31af7Sopenharmony_ci				${OUTPUT}
3648e5c31af7Sopenharmony_ci			}
3649e5c31af7Sopenharmony_ci		""
3650e5c31af7Sopenharmony_ci	end
3651e5c31af7Sopenharmony_ci
3652e5c31af7Sopenharmony_ci	case uvec3_to_bvec4
3653e5c31af7Sopenharmony_ci		version 300 es
3654e5c31af7Sopenharmony_ci		expect compile_fail
3655e5c31af7Sopenharmony_ci		values {}
3656e5c31af7Sopenharmony_ci
3657e5c31af7Sopenharmony_ci		both ""
3658e5c31af7Sopenharmony_ci			#version 300 es
3659e5c31af7Sopenharmony_ci			precision mediump float;
3660e5c31af7Sopenharmony_ci			precision mediump int;
3661e5c31af7Sopenharmony_ci
3662e5c31af7Sopenharmony_ci			${DECLARATIONS}
3663e5c31af7Sopenharmony_ci
3664e5c31af7Sopenharmony_ci			void main()
3665e5c31af7Sopenharmony_ci			{
3666e5c31af7Sopenharmony_ci				${SETUP}
3667e5c31af7Sopenharmony_ci				uvec3 in0 = uvec3(0, 0, 0);
3668e5c31af7Sopenharmony_ci				bvec4 out0 = bvec4(in0);
3669e5c31af7Sopenharmony_ci				${OUTPUT}
3670e5c31af7Sopenharmony_ci			}
3671e5c31af7Sopenharmony_ci		""
3672e5c31af7Sopenharmony_ci	end
3673e5c31af7Sopenharmony_ci
3674e5c31af7Sopenharmony_ci	case bvec3_to_vec4
3675e5c31af7Sopenharmony_ci		version 300 es
3676e5c31af7Sopenharmony_ci		expect compile_fail
3677e5c31af7Sopenharmony_ci		values {}
3678e5c31af7Sopenharmony_ci
3679e5c31af7Sopenharmony_ci		both ""
3680e5c31af7Sopenharmony_ci			#version 300 es
3681e5c31af7Sopenharmony_ci			precision mediump float;
3682e5c31af7Sopenharmony_ci			precision mediump int;
3683e5c31af7Sopenharmony_ci
3684e5c31af7Sopenharmony_ci			${DECLARATIONS}
3685e5c31af7Sopenharmony_ci
3686e5c31af7Sopenharmony_ci			void main()
3687e5c31af7Sopenharmony_ci			{
3688e5c31af7Sopenharmony_ci				${SETUP}
3689e5c31af7Sopenharmony_ci				bvec3 in0 = bvec3(true, false, false);
3690e5c31af7Sopenharmony_ci				vec4 out0 = vec4(in0);
3691e5c31af7Sopenharmony_ci				${OUTPUT}
3692e5c31af7Sopenharmony_ci			}
3693e5c31af7Sopenharmony_ci		""
3694e5c31af7Sopenharmony_ci	end
3695e5c31af7Sopenharmony_ci
3696e5c31af7Sopenharmony_ci	case bvec3_to_ivec4
3697e5c31af7Sopenharmony_ci		version 300 es
3698e5c31af7Sopenharmony_ci		expect compile_fail
3699e5c31af7Sopenharmony_ci		values {}
3700e5c31af7Sopenharmony_ci
3701e5c31af7Sopenharmony_ci		both ""
3702e5c31af7Sopenharmony_ci			#version 300 es
3703e5c31af7Sopenharmony_ci			precision mediump float;
3704e5c31af7Sopenharmony_ci			precision mediump int;
3705e5c31af7Sopenharmony_ci
3706e5c31af7Sopenharmony_ci			${DECLARATIONS}
3707e5c31af7Sopenharmony_ci
3708e5c31af7Sopenharmony_ci			void main()
3709e5c31af7Sopenharmony_ci			{
3710e5c31af7Sopenharmony_ci				${SETUP}
3711e5c31af7Sopenharmony_ci				bvec3 in0 = bvec3(true, false, false);
3712e5c31af7Sopenharmony_ci				ivec4 out0 = ivec4(in0);
3713e5c31af7Sopenharmony_ci				${OUTPUT}
3714e5c31af7Sopenharmony_ci			}
3715e5c31af7Sopenharmony_ci		""
3716e5c31af7Sopenharmony_ci	end
3717e5c31af7Sopenharmony_ci
3718e5c31af7Sopenharmony_ci	case bvec3_to_uvec4
3719e5c31af7Sopenharmony_ci		version 300 es
3720e5c31af7Sopenharmony_ci		expect compile_fail
3721e5c31af7Sopenharmony_ci		values {}
3722e5c31af7Sopenharmony_ci
3723e5c31af7Sopenharmony_ci		both ""
3724e5c31af7Sopenharmony_ci			#version 300 es
3725e5c31af7Sopenharmony_ci			precision mediump float;
3726e5c31af7Sopenharmony_ci			precision mediump int;
3727e5c31af7Sopenharmony_ci
3728e5c31af7Sopenharmony_ci			${DECLARATIONS}
3729e5c31af7Sopenharmony_ci
3730e5c31af7Sopenharmony_ci			void main()
3731e5c31af7Sopenharmony_ci			{
3732e5c31af7Sopenharmony_ci				${SETUP}
3733e5c31af7Sopenharmony_ci				bvec3 in0 = bvec3(true, false, false);
3734e5c31af7Sopenharmony_ci				uvec4 out0 = uvec4(in0);
3735e5c31af7Sopenharmony_ci				${OUTPUT}
3736e5c31af7Sopenharmony_ci			}
3737e5c31af7Sopenharmony_ci		""
3738e5c31af7Sopenharmony_ci	end
3739e5c31af7Sopenharmony_ci
3740e5c31af7Sopenharmony_ci	case bvec3_to_bvec4
3741e5c31af7Sopenharmony_ci		version 300 es
3742e5c31af7Sopenharmony_ci		expect compile_fail
3743e5c31af7Sopenharmony_ci		values {}
3744e5c31af7Sopenharmony_ci
3745e5c31af7Sopenharmony_ci		both ""
3746e5c31af7Sopenharmony_ci			#version 300 es
3747e5c31af7Sopenharmony_ci			precision mediump float;
3748e5c31af7Sopenharmony_ci			precision mediump int;
3749e5c31af7Sopenharmony_ci
3750e5c31af7Sopenharmony_ci			${DECLARATIONS}
3751e5c31af7Sopenharmony_ci
3752e5c31af7Sopenharmony_ci			void main()
3753e5c31af7Sopenharmony_ci			{
3754e5c31af7Sopenharmony_ci				${SETUP}
3755e5c31af7Sopenharmony_ci				bvec3 in0 = bvec3(true, false, false);
3756e5c31af7Sopenharmony_ci				bvec4 out0 = bvec4(in0);
3757e5c31af7Sopenharmony_ci				${OUTPUT}
3758e5c31af7Sopenharmony_ci			}
3759e5c31af7Sopenharmony_ci		""
3760e5c31af7Sopenharmony_ci	end
3761e5c31af7Sopenharmony_ci
3762e5c31af7Sopenharmony_ci
3763e5c31af7Sopenharmony_ciend # vector_illegal
3764e5c31af7Sopenharmony_cigroup vector_to_vector "Vector to Vector Conversions"
3765e5c31af7Sopenharmony_ci
3766e5c31af7Sopenharmony_ci	case vec4_to_vec4
3767e5c31af7Sopenharmony_ci		version 300 es
3768e5c31af7Sopenharmony_ci		values
3769e5c31af7Sopenharmony_ci		{
3770e5c31af7Sopenharmony_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) ];
3771e5c31af7Sopenharmony_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) ];
3772e5c31af7Sopenharmony_ci		}
3773e5c31af7Sopenharmony_ci
3774e5c31af7Sopenharmony_ci		both ""
3775e5c31af7Sopenharmony_ci			#version 300 es
3776e5c31af7Sopenharmony_ci			precision mediump float;
3777e5c31af7Sopenharmony_ci			precision mediump int;
3778e5c31af7Sopenharmony_ci
3779e5c31af7Sopenharmony_ci			${DECLARATIONS}
3780e5c31af7Sopenharmony_ci
3781e5c31af7Sopenharmony_ci			void main()
3782e5c31af7Sopenharmony_ci			{
3783e5c31af7Sopenharmony_ci				${SETUP}
3784e5c31af7Sopenharmony_ci				out0 = vec4(in0);
3785e5c31af7Sopenharmony_ci				${OUTPUT}
3786e5c31af7Sopenharmony_ci			}
3787e5c31af7Sopenharmony_ci		""
3788e5c31af7Sopenharmony_ci	end
3789e5c31af7Sopenharmony_ci
3790e5c31af7Sopenharmony_ci	case vec4_to_vec3
3791e5c31af7Sopenharmony_ci		version 300 es
3792e5c31af7Sopenharmony_ci		values
3793e5c31af7Sopenharmony_ci		{
3794e5c31af7Sopenharmony_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) ];
3795e5c31af7Sopenharmony_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) ];
3796e5c31af7Sopenharmony_ci		}
3797e5c31af7Sopenharmony_ci
3798e5c31af7Sopenharmony_ci		both ""
3799e5c31af7Sopenharmony_ci			#version 300 es
3800e5c31af7Sopenharmony_ci			precision mediump float;
3801e5c31af7Sopenharmony_ci			precision mediump int;
3802e5c31af7Sopenharmony_ci
3803e5c31af7Sopenharmony_ci			${DECLARATIONS}
3804e5c31af7Sopenharmony_ci
3805e5c31af7Sopenharmony_ci			void main()
3806e5c31af7Sopenharmony_ci			{
3807e5c31af7Sopenharmony_ci				${SETUP}
3808e5c31af7Sopenharmony_ci				out0 = vec3(in0);
3809e5c31af7Sopenharmony_ci				${OUTPUT}
3810e5c31af7Sopenharmony_ci			}
3811e5c31af7Sopenharmony_ci		""
3812e5c31af7Sopenharmony_ci	end
3813e5c31af7Sopenharmony_ci
3814e5c31af7Sopenharmony_ci	case vec4_to_vec2
3815e5c31af7Sopenharmony_ci		version 300 es
3816e5c31af7Sopenharmony_ci		values
3817e5c31af7Sopenharmony_ci		{
3818e5c31af7Sopenharmony_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) ];
3819e5c31af7Sopenharmony_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) ];
3820e5c31af7Sopenharmony_ci		}
3821e5c31af7Sopenharmony_ci
3822e5c31af7Sopenharmony_ci		both ""
3823e5c31af7Sopenharmony_ci			#version 300 es
3824e5c31af7Sopenharmony_ci			precision mediump float;
3825e5c31af7Sopenharmony_ci			precision mediump int;
3826e5c31af7Sopenharmony_ci
3827e5c31af7Sopenharmony_ci			${DECLARATIONS}
3828e5c31af7Sopenharmony_ci
3829e5c31af7Sopenharmony_ci			void main()
3830e5c31af7Sopenharmony_ci			{
3831e5c31af7Sopenharmony_ci				${SETUP}
3832e5c31af7Sopenharmony_ci				out0 = vec2(in0);
3833e5c31af7Sopenharmony_ci				${OUTPUT}
3834e5c31af7Sopenharmony_ci			}
3835e5c31af7Sopenharmony_ci		""
3836e5c31af7Sopenharmony_ci	end
3837e5c31af7Sopenharmony_ci
3838e5c31af7Sopenharmony_ci	case vec4_to_ivec4
3839e5c31af7Sopenharmony_ci		version 300 es
3840e5c31af7Sopenharmony_ci		values
3841e5c31af7Sopenharmony_ci		{
3842e5c31af7Sopenharmony_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) ];
3843e5c31af7Sopenharmony_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) ];
3844e5c31af7Sopenharmony_ci		}
3845e5c31af7Sopenharmony_ci
3846e5c31af7Sopenharmony_ci		both ""
3847e5c31af7Sopenharmony_ci			#version 300 es
3848e5c31af7Sopenharmony_ci			precision mediump float;
3849e5c31af7Sopenharmony_ci			precision mediump int;
3850e5c31af7Sopenharmony_ci
3851e5c31af7Sopenharmony_ci			${DECLARATIONS}
3852e5c31af7Sopenharmony_ci
3853e5c31af7Sopenharmony_ci			void main()
3854e5c31af7Sopenharmony_ci			{
3855e5c31af7Sopenharmony_ci				${SETUP}
3856e5c31af7Sopenharmony_ci				out0 = ivec4(in0);
3857e5c31af7Sopenharmony_ci				${OUTPUT}
3858e5c31af7Sopenharmony_ci			}
3859e5c31af7Sopenharmony_ci		""
3860e5c31af7Sopenharmony_ci	end
3861e5c31af7Sopenharmony_ci
3862e5c31af7Sopenharmony_ci	case vec4_to_ivec3
3863e5c31af7Sopenharmony_ci		version 300 es
3864e5c31af7Sopenharmony_ci		values
3865e5c31af7Sopenharmony_ci		{
3866e5c31af7Sopenharmony_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) ];
3867e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3868e5c31af7Sopenharmony_ci		}
3869e5c31af7Sopenharmony_ci
3870e5c31af7Sopenharmony_ci		both ""
3871e5c31af7Sopenharmony_ci			#version 300 es
3872e5c31af7Sopenharmony_ci			precision mediump float;
3873e5c31af7Sopenharmony_ci			precision mediump int;
3874e5c31af7Sopenharmony_ci
3875e5c31af7Sopenharmony_ci			${DECLARATIONS}
3876e5c31af7Sopenharmony_ci
3877e5c31af7Sopenharmony_ci			void main()
3878e5c31af7Sopenharmony_ci			{
3879e5c31af7Sopenharmony_ci				${SETUP}
3880e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
3881e5c31af7Sopenharmony_ci				${OUTPUT}
3882e5c31af7Sopenharmony_ci			}
3883e5c31af7Sopenharmony_ci		""
3884e5c31af7Sopenharmony_ci	end
3885e5c31af7Sopenharmony_ci
3886e5c31af7Sopenharmony_ci	case vec4_to_ivec2
3887e5c31af7Sopenharmony_ci		version 300 es
3888e5c31af7Sopenharmony_ci		values
3889e5c31af7Sopenharmony_ci		{
3890e5c31af7Sopenharmony_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) ];
3891e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
3892e5c31af7Sopenharmony_ci		}
3893e5c31af7Sopenharmony_ci
3894e5c31af7Sopenharmony_ci		both ""
3895e5c31af7Sopenharmony_ci			#version 300 es
3896e5c31af7Sopenharmony_ci			precision mediump float;
3897e5c31af7Sopenharmony_ci			precision mediump int;
3898e5c31af7Sopenharmony_ci
3899e5c31af7Sopenharmony_ci			${DECLARATIONS}
3900e5c31af7Sopenharmony_ci
3901e5c31af7Sopenharmony_ci			void main()
3902e5c31af7Sopenharmony_ci			{
3903e5c31af7Sopenharmony_ci				${SETUP}
3904e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
3905e5c31af7Sopenharmony_ci				${OUTPUT}
3906e5c31af7Sopenharmony_ci			}
3907e5c31af7Sopenharmony_ci		""
3908e5c31af7Sopenharmony_ci	end
3909e5c31af7Sopenharmony_ci
3910e5c31af7Sopenharmony_ci	case vec4_to_bvec4
3911e5c31af7Sopenharmony_ci		version 300 es
3912e5c31af7Sopenharmony_ci		values
3913e5c31af7Sopenharmony_ci		{
3914e5c31af7Sopenharmony_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) ];
3915e5c31af7Sopenharmony_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) ];
3916e5c31af7Sopenharmony_ci		}
3917e5c31af7Sopenharmony_ci
3918e5c31af7Sopenharmony_ci		both ""
3919e5c31af7Sopenharmony_ci			#version 300 es
3920e5c31af7Sopenharmony_ci			precision mediump float;
3921e5c31af7Sopenharmony_ci			precision mediump int;
3922e5c31af7Sopenharmony_ci
3923e5c31af7Sopenharmony_ci			${DECLARATIONS}
3924e5c31af7Sopenharmony_ci
3925e5c31af7Sopenharmony_ci			void main()
3926e5c31af7Sopenharmony_ci			{
3927e5c31af7Sopenharmony_ci				${SETUP}
3928e5c31af7Sopenharmony_ci				out0 = bvec4(in0);
3929e5c31af7Sopenharmony_ci				${OUTPUT}
3930e5c31af7Sopenharmony_ci			}
3931e5c31af7Sopenharmony_ci		""
3932e5c31af7Sopenharmony_ci	end
3933e5c31af7Sopenharmony_ci
3934e5c31af7Sopenharmony_ci	case vec4_to_bvec3
3935e5c31af7Sopenharmony_ci		version 300 es
3936e5c31af7Sopenharmony_ci		values
3937e5c31af7Sopenharmony_ci		{
3938e5c31af7Sopenharmony_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) ];
3939e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(false, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) ];
3940e5c31af7Sopenharmony_ci		}
3941e5c31af7Sopenharmony_ci
3942e5c31af7Sopenharmony_ci		both ""
3943e5c31af7Sopenharmony_ci			#version 300 es
3944e5c31af7Sopenharmony_ci			precision mediump float;
3945e5c31af7Sopenharmony_ci			precision mediump int;
3946e5c31af7Sopenharmony_ci
3947e5c31af7Sopenharmony_ci			${DECLARATIONS}
3948e5c31af7Sopenharmony_ci
3949e5c31af7Sopenharmony_ci			void main()
3950e5c31af7Sopenharmony_ci			{
3951e5c31af7Sopenharmony_ci				${SETUP}
3952e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
3953e5c31af7Sopenharmony_ci				${OUTPUT}
3954e5c31af7Sopenharmony_ci			}
3955e5c31af7Sopenharmony_ci		""
3956e5c31af7Sopenharmony_ci	end
3957e5c31af7Sopenharmony_ci
3958e5c31af7Sopenharmony_ci	case vec4_to_bvec2
3959e5c31af7Sopenharmony_ci		version 300 es
3960e5c31af7Sopenharmony_ci		values
3961e5c31af7Sopenharmony_ci		{
3962e5c31af7Sopenharmony_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) ];
3963e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ];
3964e5c31af7Sopenharmony_ci		}
3965e5c31af7Sopenharmony_ci
3966e5c31af7Sopenharmony_ci		both ""
3967e5c31af7Sopenharmony_ci			#version 300 es
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 = bvec2(in0);
3977e5c31af7Sopenharmony_ci				${OUTPUT}
3978e5c31af7Sopenharmony_ci			}
3979e5c31af7Sopenharmony_ci		""
3980e5c31af7Sopenharmony_ci	end
3981e5c31af7Sopenharmony_ci
3982e5c31af7Sopenharmony_ci	case ivec4_to_vec4
3983e5c31af7Sopenharmony_ci		version 300 es
3984e5c31af7Sopenharmony_ci		values
3985e5c31af7Sopenharmony_ci		{
3986e5c31af7Sopenharmony_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) ];
3987e5c31af7Sopenharmony_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) ];
3988e5c31af7Sopenharmony_ci		}
3989e5c31af7Sopenharmony_ci
3990e5c31af7Sopenharmony_ci		both ""
3991e5c31af7Sopenharmony_ci			#version 300 es
3992e5c31af7Sopenharmony_ci			precision mediump float;
3993e5c31af7Sopenharmony_ci			precision mediump int;
3994e5c31af7Sopenharmony_ci
3995e5c31af7Sopenharmony_ci			${DECLARATIONS}
3996e5c31af7Sopenharmony_ci
3997e5c31af7Sopenharmony_ci			void main()
3998e5c31af7Sopenharmony_ci			{
3999e5c31af7Sopenharmony_ci				${SETUP}
4000e5c31af7Sopenharmony_ci				out0 = vec4(in0);
4001e5c31af7Sopenharmony_ci				${OUTPUT}
4002e5c31af7Sopenharmony_ci			}
4003e5c31af7Sopenharmony_ci		""
4004e5c31af7Sopenharmony_ci	end
4005e5c31af7Sopenharmony_ci
4006e5c31af7Sopenharmony_ci	case ivec4_to_vec3
4007e5c31af7Sopenharmony_ci		version 300 es
4008e5c31af7Sopenharmony_ci		values
4009e5c31af7Sopenharmony_ci		{
4010e5c31af7Sopenharmony_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) ];
4011e5c31af7Sopenharmony_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) ];
4012e5c31af7Sopenharmony_ci		}
4013e5c31af7Sopenharmony_ci
4014e5c31af7Sopenharmony_ci		both ""
4015e5c31af7Sopenharmony_ci			#version 300 es
4016e5c31af7Sopenharmony_ci			precision mediump float;
4017e5c31af7Sopenharmony_ci			precision mediump int;
4018e5c31af7Sopenharmony_ci
4019e5c31af7Sopenharmony_ci			${DECLARATIONS}
4020e5c31af7Sopenharmony_ci
4021e5c31af7Sopenharmony_ci			void main()
4022e5c31af7Sopenharmony_ci			{
4023e5c31af7Sopenharmony_ci				${SETUP}
4024e5c31af7Sopenharmony_ci				out0 = vec3(in0);
4025e5c31af7Sopenharmony_ci				${OUTPUT}
4026e5c31af7Sopenharmony_ci			}
4027e5c31af7Sopenharmony_ci		""
4028e5c31af7Sopenharmony_ci	end
4029e5c31af7Sopenharmony_ci
4030e5c31af7Sopenharmony_ci	case ivec4_to_vec2
4031e5c31af7Sopenharmony_ci		version 300 es
4032e5c31af7Sopenharmony_ci		values
4033e5c31af7Sopenharmony_ci		{
4034e5c31af7Sopenharmony_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) ];
4035e5c31af7Sopenharmony_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) ];
4036e5c31af7Sopenharmony_ci		}
4037e5c31af7Sopenharmony_ci
4038e5c31af7Sopenharmony_ci		both ""
4039e5c31af7Sopenharmony_ci			#version 300 es
4040e5c31af7Sopenharmony_ci			precision mediump float;
4041e5c31af7Sopenharmony_ci			precision mediump int;
4042e5c31af7Sopenharmony_ci
4043e5c31af7Sopenharmony_ci			${DECLARATIONS}
4044e5c31af7Sopenharmony_ci
4045e5c31af7Sopenharmony_ci			void main()
4046e5c31af7Sopenharmony_ci			{
4047e5c31af7Sopenharmony_ci				${SETUP}
4048e5c31af7Sopenharmony_ci				out0 = vec2(in0);
4049e5c31af7Sopenharmony_ci				${OUTPUT}
4050e5c31af7Sopenharmony_ci			}
4051e5c31af7Sopenharmony_ci		""
4052e5c31af7Sopenharmony_ci	end
4053e5c31af7Sopenharmony_ci
4054e5c31af7Sopenharmony_ci	case ivec4_to_ivec4
4055e5c31af7Sopenharmony_ci		version 300 es
4056e5c31af7Sopenharmony_ci		values
4057e5c31af7Sopenharmony_ci		{
4058e5c31af7Sopenharmony_ci			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4059e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4060e5c31af7Sopenharmony_ci		}
4061e5c31af7Sopenharmony_ci
4062e5c31af7Sopenharmony_ci		both ""
4063e5c31af7Sopenharmony_ci			#version 300 es
4064e5c31af7Sopenharmony_ci			precision mediump float;
4065e5c31af7Sopenharmony_ci			precision mediump int;
4066e5c31af7Sopenharmony_ci
4067e5c31af7Sopenharmony_ci			${DECLARATIONS}
4068e5c31af7Sopenharmony_ci
4069e5c31af7Sopenharmony_ci			void main()
4070e5c31af7Sopenharmony_ci			{
4071e5c31af7Sopenharmony_ci				${SETUP}
4072e5c31af7Sopenharmony_ci				out0 = ivec4(in0);
4073e5c31af7Sopenharmony_ci				${OUTPUT}
4074e5c31af7Sopenharmony_ci			}
4075e5c31af7Sopenharmony_ci		""
4076e5c31af7Sopenharmony_ci	end
4077e5c31af7Sopenharmony_ci
4078e5c31af7Sopenharmony_ci	case ivec4_to_ivec3
4079e5c31af7Sopenharmony_ci		version 300 es
4080e5c31af7Sopenharmony_ci		values
4081e5c31af7Sopenharmony_ci		{
4082e5c31af7Sopenharmony_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) ];
4083e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
4084e5c31af7Sopenharmony_ci		}
4085e5c31af7Sopenharmony_ci
4086e5c31af7Sopenharmony_ci		both ""
4087e5c31af7Sopenharmony_ci			#version 300 es
4088e5c31af7Sopenharmony_ci			precision mediump float;
4089e5c31af7Sopenharmony_ci			precision mediump int;
4090e5c31af7Sopenharmony_ci
4091e5c31af7Sopenharmony_ci			${DECLARATIONS}
4092e5c31af7Sopenharmony_ci
4093e5c31af7Sopenharmony_ci			void main()
4094e5c31af7Sopenharmony_ci			{
4095e5c31af7Sopenharmony_ci				${SETUP}
4096e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
4097e5c31af7Sopenharmony_ci				${OUTPUT}
4098e5c31af7Sopenharmony_ci			}
4099e5c31af7Sopenharmony_ci		""
4100e5c31af7Sopenharmony_ci	end
4101e5c31af7Sopenharmony_ci
4102e5c31af7Sopenharmony_ci	case ivec4_to_ivec2
4103e5c31af7Sopenharmony_ci		version 300 es
4104e5c31af7Sopenharmony_ci		values
4105e5c31af7Sopenharmony_ci		{
4106e5c31af7Sopenharmony_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) ];
4107e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
4108e5c31af7Sopenharmony_ci		}
4109e5c31af7Sopenharmony_ci
4110e5c31af7Sopenharmony_ci		both ""
4111e5c31af7Sopenharmony_ci			#version 300 es
4112e5c31af7Sopenharmony_ci			precision mediump float;
4113e5c31af7Sopenharmony_ci			precision mediump int;
4114e5c31af7Sopenharmony_ci
4115e5c31af7Sopenharmony_ci			${DECLARATIONS}
4116e5c31af7Sopenharmony_ci
4117e5c31af7Sopenharmony_ci			void main()
4118e5c31af7Sopenharmony_ci			{
4119e5c31af7Sopenharmony_ci				${SETUP}
4120e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
4121e5c31af7Sopenharmony_ci				${OUTPUT}
4122e5c31af7Sopenharmony_ci			}
4123e5c31af7Sopenharmony_ci		""
4124e5c31af7Sopenharmony_ci	end
4125e5c31af7Sopenharmony_ci
4126e5c31af7Sopenharmony_ci	case ivec4_to_bvec4
4127e5c31af7Sopenharmony_ci		version 300 es
4128e5c31af7Sopenharmony_ci		values
4129e5c31af7Sopenharmony_ci		{
4130e5c31af7Sopenharmony_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) ];
4131e5c31af7Sopenharmony_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) ];
4132e5c31af7Sopenharmony_ci		}
4133e5c31af7Sopenharmony_ci
4134e5c31af7Sopenharmony_ci		both ""
4135e5c31af7Sopenharmony_ci			#version 300 es
4136e5c31af7Sopenharmony_ci			precision mediump float;
4137e5c31af7Sopenharmony_ci			precision mediump int;
4138e5c31af7Sopenharmony_ci
4139e5c31af7Sopenharmony_ci			${DECLARATIONS}
4140e5c31af7Sopenharmony_ci
4141e5c31af7Sopenharmony_ci			void main()
4142e5c31af7Sopenharmony_ci			{
4143e5c31af7Sopenharmony_ci				${SETUP}
4144e5c31af7Sopenharmony_ci				out0 = bvec4(in0);
4145e5c31af7Sopenharmony_ci				${OUTPUT}
4146e5c31af7Sopenharmony_ci			}
4147e5c31af7Sopenharmony_ci		""
4148e5c31af7Sopenharmony_ci	end
4149e5c31af7Sopenharmony_ci
4150e5c31af7Sopenharmony_ci	case ivec4_to_bvec3
4151e5c31af7Sopenharmony_ci		version 300 es
4152e5c31af7Sopenharmony_ci		values
4153e5c31af7Sopenharmony_ci		{
4154e5c31af7Sopenharmony_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) ];
4155e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
4156e5c31af7Sopenharmony_ci		}
4157e5c31af7Sopenharmony_ci
4158e5c31af7Sopenharmony_ci		both ""
4159e5c31af7Sopenharmony_ci			#version 300 es
4160e5c31af7Sopenharmony_ci			precision mediump float;
4161e5c31af7Sopenharmony_ci			precision mediump int;
4162e5c31af7Sopenharmony_ci
4163e5c31af7Sopenharmony_ci			${DECLARATIONS}
4164e5c31af7Sopenharmony_ci
4165e5c31af7Sopenharmony_ci			void main()
4166e5c31af7Sopenharmony_ci			{
4167e5c31af7Sopenharmony_ci				${SETUP}
4168e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
4169e5c31af7Sopenharmony_ci				${OUTPUT}
4170e5c31af7Sopenharmony_ci			}
4171e5c31af7Sopenharmony_ci		""
4172e5c31af7Sopenharmony_ci	end
4173e5c31af7Sopenharmony_ci
4174e5c31af7Sopenharmony_ci	case ivec4_to_bvec2
4175e5c31af7Sopenharmony_ci		version 300 es
4176e5c31af7Sopenharmony_ci		values
4177e5c31af7Sopenharmony_ci		{
4178e5c31af7Sopenharmony_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) ];
4179e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4180e5c31af7Sopenharmony_ci		}
4181e5c31af7Sopenharmony_ci
4182e5c31af7Sopenharmony_ci		both ""
4183e5c31af7Sopenharmony_ci			#version 300 es
4184e5c31af7Sopenharmony_ci			precision mediump float;
4185e5c31af7Sopenharmony_ci			precision mediump int;
4186e5c31af7Sopenharmony_ci
4187e5c31af7Sopenharmony_ci			${DECLARATIONS}
4188e5c31af7Sopenharmony_ci
4189e5c31af7Sopenharmony_ci			void main()
4190e5c31af7Sopenharmony_ci			{
4191e5c31af7Sopenharmony_ci				${SETUP}
4192e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
4193e5c31af7Sopenharmony_ci				${OUTPUT}
4194e5c31af7Sopenharmony_ci			}
4195e5c31af7Sopenharmony_ci		""
4196e5c31af7Sopenharmony_ci	end
4197e5c31af7Sopenharmony_ci
4198e5c31af7Sopenharmony_ci	case uvec4_to_vec4
4199e5c31af7Sopenharmony_ci		version 300 es
4200e5c31af7Sopenharmony_ci		values
4201e5c31af7Sopenharmony_ci		{
4202e5c31af7Sopenharmony_ci			input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
4203e5c31af7Sopenharmony_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) ];
4204e5c31af7Sopenharmony_ci		}
4205e5c31af7Sopenharmony_ci
4206e5c31af7Sopenharmony_ci		both ""
4207e5c31af7Sopenharmony_ci			#version 300 es
4208e5c31af7Sopenharmony_ci			precision mediump float;
4209e5c31af7Sopenharmony_ci			precision mediump int;
4210e5c31af7Sopenharmony_ci
4211e5c31af7Sopenharmony_ci			${DECLARATIONS}
4212e5c31af7Sopenharmony_ci
4213e5c31af7Sopenharmony_ci			void main()
4214e5c31af7Sopenharmony_ci			{
4215e5c31af7Sopenharmony_ci				${SETUP}
4216e5c31af7Sopenharmony_ci				out0 = vec4(in0);
4217e5c31af7Sopenharmony_ci				${OUTPUT}
4218e5c31af7Sopenharmony_ci			}
4219e5c31af7Sopenharmony_ci		""
4220e5c31af7Sopenharmony_ci	end
4221e5c31af7Sopenharmony_ci
4222e5c31af7Sopenharmony_ci	case uvec4_to_vec3
4223e5c31af7Sopenharmony_ci		version 300 es
4224e5c31af7Sopenharmony_ci		values
4225e5c31af7Sopenharmony_ci		{
4226e5c31af7Sopenharmony_ci			input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
4227e5c31af7Sopenharmony_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) ];
4228e5c31af7Sopenharmony_ci		}
4229e5c31af7Sopenharmony_ci
4230e5c31af7Sopenharmony_ci		both ""
4231e5c31af7Sopenharmony_ci			#version 300 es
4232e5c31af7Sopenharmony_ci			precision mediump float;
4233e5c31af7Sopenharmony_ci			precision mediump int;
4234e5c31af7Sopenharmony_ci
4235e5c31af7Sopenharmony_ci			${DECLARATIONS}
4236e5c31af7Sopenharmony_ci
4237e5c31af7Sopenharmony_ci			void main()
4238e5c31af7Sopenharmony_ci			{
4239e5c31af7Sopenharmony_ci				${SETUP}
4240e5c31af7Sopenharmony_ci				out0 = vec3(in0);
4241e5c31af7Sopenharmony_ci				${OUTPUT}
4242e5c31af7Sopenharmony_ci			}
4243e5c31af7Sopenharmony_ci		""
4244e5c31af7Sopenharmony_ci	end
4245e5c31af7Sopenharmony_ci
4246e5c31af7Sopenharmony_ci	case uvec4_to_vec2
4247e5c31af7Sopenharmony_ci		version 300 es
4248e5c31af7Sopenharmony_ci		values
4249e5c31af7Sopenharmony_ci		{
4250e5c31af7Sopenharmony_ci			input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
4251e5c31af7Sopenharmony_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) ];
4252e5c31af7Sopenharmony_ci		}
4253e5c31af7Sopenharmony_ci
4254e5c31af7Sopenharmony_ci		both ""
4255e5c31af7Sopenharmony_ci			#version 300 es
4256e5c31af7Sopenharmony_ci			precision mediump float;
4257e5c31af7Sopenharmony_ci			precision mediump int;
4258e5c31af7Sopenharmony_ci
4259e5c31af7Sopenharmony_ci			${DECLARATIONS}
4260e5c31af7Sopenharmony_ci
4261e5c31af7Sopenharmony_ci			void main()
4262e5c31af7Sopenharmony_ci			{
4263e5c31af7Sopenharmony_ci				${SETUP}
4264e5c31af7Sopenharmony_ci				out0 = vec2(in0);
4265e5c31af7Sopenharmony_ci				${OUTPUT}
4266e5c31af7Sopenharmony_ci			}
4267e5c31af7Sopenharmony_ci		""
4268e5c31af7Sopenharmony_ci	end
4269e5c31af7Sopenharmony_ci
4270e5c31af7Sopenharmony_ci	case uvec4_to_ivec4
4271e5c31af7Sopenharmony_ci		version 300 es
4272e5c31af7Sopenharmony_ci		values
4273e5c31af7Sopenharmony_ci		{
4274e5c31af7Sopenharmony_ci			input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
4275e5c31af7Sopenharmony_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) ];
4276e5c31af7Sopenharmony_ci		}
4277e5c31af7Sopenharmony_ci
4278e5c31af7Sopenharmony_ci		both ""
4279e5c31af7Sopenharmony_ci			#version 300 es
4280e5c31af7Sopenharmony_ci			precision mediump float;
4281e5c31af7Sopenharmony_ci			precision mediump int;
4282e5c31af7Sopenharmony_ci
4283e5c31af7Sopenharmony_ci			${DECLARATIONS}
4284e5c31af7Sopenharmony_ci
4285e5c31af7Sopenharmony_ci			void main()
4286e5c31af7Sopenharmony_ci			{
4287e5c31af7Sopenharmony_ci				${SETUP}
4288e5c31af7Sopenharmony_ci				out0 = ivec4(in0);
4289e5c31af7Sopenharmony_ci				${OUTPUT}
4290e5c31af7Sopenharmony_ci			}
4291e5c31af7Sopenharmony_ci		""
4292e5c31af7Sopenharmony_ci	end
4293e5c31af7Sopenharmony_ci
4294e5c31af7Sopenharmony_ci	case uvec4_to_ivec3
4295e5c31af7Sopenharmony_ci		version 300 es
4296e5c31af7Sopenharmony_ci		values
4297e5c31af7Sopenharmony_ci		{
4298e5c31af7Sopenharmony_ci			input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
4299e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 2, 4) | ivec3(32, 64, 51) | ivec3(0, 0, 0) ];
4300e5c31af7Sopenharmony_ci		}
4301e5c31af7Sopenharmony_ci
4302e5c31af7Sopenharmony_ci		both ""
4303e5c31af7Sopenharmony_ci			#version 300 es
4304e5c31af7Sopenharmony_ci			precision mediump float;
4305e5c31af7Sopenharmony_ci			precision mediump int;
4306e5c31af7Sopenharmony_ci
4307e5c31af7Sopenharmony_ci			${DECLARATIONS}
4308e5c31af7Sopenharmony_ci
4309e5c31af7Sopenharmony_ci			void main()
4310e5c31af7Sopenharmony_ci			{
4311e5c31af7Sopenharmony_ci				${SETUP}
4312e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
4313e5c31af7Sopenharmony_ci				${OUTPUT}
4314e5c31af7Sopenharmony_ci			}
4315e5c31af7Sopenharmony_ci		""
4316e5c31af7Sopenharmony_ci	end
4317e5c31af7Sopenharmony_ci
4318e5c31af7Sopenharmony_ci	case uvec4_to_ivec2
4319e5c31af7Sopenharmony_ci		version 300 es
4320e5c31af7Sopenharmony_ci		values
4321e5c31af7Sopenharmony_ci		{
4322e5c31af7Sopenharmony_ci			input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
4323e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 2) | ivec2(32, 64) | ivec2(0, 0) ];
4324e5c31af7Sopenharmony_ci		}
4325e5c31af7Sopenharmony_ci
4326e5c31af7Sopenharmony_ci		both ""
4327e5c31af7Sopenharmony_ci			#version 300 es
4328e5c31af7Sopenharmony_ci			precision mediump float;
4329e5c31af7Sopenharmony_ci			precision mediump int;
4330e5c31af7Sopenharmony_ci
4331e5c31af7Sopenharmony_ci			${DECLARATIONS}
4332e5c31af7Sopenharmony_ci
4333e5c31af7Sopenharmony_ci			void main()
4334e5c31af7Sopenharmony_ci			{
4335e5c31af7Sopenharmony_ci				${SETUP}
4336e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
4337e5c31af7Sopenharmony_ci				${OUTPUT}
4338e5c31af7Sopenharmony_ci			}
4339e5c31af7Sopenharmony_ci		""
4340e5c31af7Sopenharmony_ci	end
4341e5c31af7Sopenharmony_ci
4342e5c31af7Sopenharmony_ci	case uvec4_to_bvec4
4343e5c31af7Sopenharmony_ci		version 300 es
4344e5c31af7Sopenharmony_ci		values
4345e5c31af7Sopenharmony_ci		{
4346e5c31af7Sopenharmony_ci			input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
4347e5c31af7Sopenharmony_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) ];
4348e5c31af7Sopenharmony_ci		}
4349e5c31af7Sopenharmony_ci
4350e5c31af7Sopenharmony_ci		both ""
4351e5c31af7Sopenharmony_ci			#version 300 es
4352e5c31af7Sopenharmony_ci			precision mediump float;
4353e5c31af7Sopenharmony_ci			precision mediump int;
4354e5c31af7Sopenharmony_ci
4355e5c31af7Sopenharmony_ci			${DECLARATIONS}
4356e5c31af7Sopenharmony_ci
4357e5c31af7Sopenharmony_ci			void main()
4358e5c31af7Sopenharmony_ci			{
4359e5c31af7Sopenharmony_ci				${SETUP}
4360e5c31af7Sopenharmony_ci				out0 = bvec4(in0);
4361e5c31af7Sopenharmony_ci				${OUTPUT}
4362e5c31af7Sopenharmony_ci			}
4363e5c31af7Sopenharmony_ci		""
4364e5c31af7Sopenharmony_ci	end
4365e5c31af7Sopenharmony_ci
4366e5c31af7Sopenharmony_ci	case uvec4_to_bvec3
4367e5c31af7Sopenharmony_ci		version 300 es
4368e5c31af7Sopenharmony_ci		values
4369e5c31af7Sopenharmony_ci		{
4370e5c31af7Sopenharmony_ci			input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
4371e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
4372e5c31af7Sopenharmony_ci		}
4373e5c31af7Sopenharmony_ci
4374e5c31af7Sopenharmony_ci		both ""
4375e5c31af7Sopenharmony_ci			#version 300 es
4376e5c31af7Sopenharmony_ci			precision mediump float;
4377e5c31af7Sopenharmony_ci			precision mediump int;
4378e5c31af7Sopenharmony_ci
4379e5c31af7Sopenharmony_ci			${DECLARATIONS}
4380e5c31af7Sopenharmony_ci
4381e5c31af7Sopenharmony_ci			void main()
4382e5c31af7Sopenharmony_ci			{
4383e5c31af7Sopenharmony_ci				${SETUP}
4384e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
4385e5c31af7Sopenharmony_ci				${OUTPUT}
4386e5c31af7Sopenharmony_ci			}
4387e5c31af7Sopenharmony_ci		""
4388e5c31af7Sopenharmony_ci	end
4389e5c31af7Sopenharmony_ci
4390e5c31af7Sopenharmony_ci	case uvec4_to_bvec2
4391e5c31af7Sopenharmony_ci		version 300 es
4392e5c31af7Sopenharmony_ci		values
4393e5c31af7Sopenharmony_ci		{
4394e5c31af7Sopenharmony_ci			input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
4395e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4396e5c31af7Sopenharmony_ci		}
4397e5c31af7Sopenharmony_ci
4398e5c31af7Sopenharmony_ci		both ""
4399e5c31af7Sopenharmony_ci			#version 300 es
4400e5c31af7Sopenharmony_ci			precision mediump float;
4401e5c31af7Sopenharmony_ci			precision mediump int;
4402e5c31af7Sopenharmony_ci
4403e5c31af7Sopenharmony_ci			${DECLARATIONS}
4404e5c31af7Sopenharmony_ci
4405e5c31af7Sopenharmony_ci			void main()
4406e5c31af7Sopenharmony_ci			{
4407e5c31af7Sopenharmony_ci				${SETUP}
4408e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
4409e5c31af7Sopenharmony_ci				${OUTPUT}
4410e5c31af7Sopenharmony_ci			}
4411e5c31af7Sopenharmony_ci		""
4412e5c31af7Sopenharmony_ci	end
4413e5c31af7Sopenharmony_ci
4414e5c31af7Sopenharmony_ci	case bvec4_to_vec4
4415e5c31af7Sopenharmony_ci		version 300 es
4416e5c31af7Sopenharmony_ci		values
4417e5c31af7Sopenharmony_ci		{
4418e5c31af7Sopenharmony_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) ];
4419e5c31af7Sopenharmony_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) ];
4420e5c31af7Sopenharmony_ci		}
4421e5c31af7Sopenharmony_ci
4422e5c31af7Sopenharmony_ci		both ""
4423e5c31af7Sopenharmony_ci			#version 300 es
4424e5c31af7Sopenharmony_ci			precision mediump float;
4425e5c31af7Sopenharmony_ci			precision mediump int;
4426e5c31af7Sopenharmony_ci
4427e5c31af7Sopenharmony_ci			${DECLARATIONS}
4428e5c31af7Sopenharmony_ci
4429e5c31af7Sopenharmony_ci			void main()
4430e5c31af7Sopenharmony_ci			{
4431e5c31af7Sopenharmony_ci				${SETUP}
4432e5c31af7Sopenharmony_ci				out0 = vec4(in0);
4433e5c31af7Sopenharmony_ci				${OUTPUT}
4434e5c31af7Sopenharmony_ci			}
4435e5c31af7Sopenharmony_ci		""
4436e5c31af7Sopenharmony_ci	end
4437e5c31af7Sopenharmony_ci
4438e5c31af7Sopenharmony_ci	case bvec4_to_vec3
4439e5c31af7Sopenharmony_ci		version 300 es
4440e5c31af7Sopenharmony_ci		values
4441e5c31af7Sopenharmony_ci		{
4442e5c31af7Sopenharmony_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) ];
4443e5c31af7Sopenharmony_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) ];
4444e5c31af7Sopenharmony_ci		}
4445e5c31af7Sopenharmony_ci
4446e5c31af7Sopenharmony_ci		both ""
4447e5c31af7Sopenharmony_ci			#version 300 es
4448e5c31af7Sopenharmony_ci			precision mediump float;
4449e5c31af7Sopenharmony_ci			precision mediump int;
4450e5c31af7Sopenharmony_ci
4451e5c31af7Sopenharmony_ci			${DECLARATIONS}
4452e5c31af7Sopenharmony_ci
4453e5c31af7Sopenharmony_ci			void main()
4454e5c31af7Sopenharmony_ci			{
4455e5c31af7Sopenharmony_ci				${SETUP}
4456e5c31af7Sopenharmony_ci				out0 = vec3(in0);
4457e5c31af7Sopenharmony_ci				${OUTPUT}
4458e5c31af7Sopenharmony_ci			}
4459e5c31af7Sopenharmony_ci		""
4460e5c31af7Sopenharmony_ci	end
4461e5c31af7Sopenharmony_ci
4462e5c31af7Sopenharmony_ci	case bvec4_to_vec2
4463e5c31af7Sopenharmony_ci		version 300 es
4464e5c31af7Sopenharmony_ci		values
4465e5c31af7Sopenharmony_ci		{
4466e5c31af7Sopenharmony_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) ];
4467e5c31af7Sopenharmony_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) ];
4468e5c31af7Sopenharmony_ci		}
4469e5c31af7Sopenharmony_ci
4470e5c31af7Sopenharmony_ci		both ""
4471e5c31af7Sopenharmony_ci			#version 300 es
4472e5c31af7Sopenharmony_ci			precision mediump float;
4473e5c31af7Sopenharmony_ci			precision mediump int;
4474e5c31af7Sopenharmony_ci
4475e5c31af7Sopenharmony_ci			${DECLARATIONS}
4476e5c31af7Sopenharmony_ci
4477e5c31af7Sopenharmony_ci			void main()
4478e5c31af7Sopenharmony_ci			{
4479e5c31af7Sopenharmony_ci				${SETUP}
4480e5c31af7Sopenharmony_ci				out0 = vec2(in0);
4481e5c31af7Sopenharmony_ci				${OUTPUT}
4482e5c31af7Sopenharmony_ci			}
4483e5c31af7Sopenharmony_ci		""
4484e5c31af7Sopenharmony_ci	end
4485e5c31af7Sopenharmony_ci
4486e5c31af7Sopenharmony_ci	case bvec4_to_ivec4
4487e5c31af7Sopenharmony_ci		version 300 es
4488e5c31af7Sopenharmony_ci		values
4489e5c31af7Sopenharmony_ci		{
4490e5c31af7Sopenharmony_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) ];
4491e5c31af7Sopenharmony_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) ];
4492e5c31af7Sopenharmony_ci		}
4493e5c31af7Sopenharmony_ci
4494e5c31af7Sopenharmony_ci		both ""
4495e5c31af7Sopenharmony_ci			#version 300 es
4496e5c31af7Sopenharmony_ci			precision mediump float;
4497e5c31af7Sopenharmony_ci			precision mediump int;
4498e5c31af7Sopenharmony_ci
4499e5c31af7Sopenharmony_ci			${DECLARATIONS}
4500e5c31af7Sopenharmony_ci
4501e5c31af7Sopenharmony_ci			void main()
4502e5c31af7Sopenharmony_ci			{
4503e5c31af7Sopenharmony_ci				${SETUP}
4504e5c31af7Sopenharmony_ci				out0 = ivec4(in0);
4505e5c31af7Sopenharmony_ci				${OUTPUT}
4506e5c31af7Sopenharmony_ci			}
4507e5c31af7Sopenharmony_ci		""
4508e5c31af7Sopenharmony_ci	end
4509e5c31af7Sopenharmony_ci
4510e5c31af7Sopenharmony_ci	case bvec4_to_ivec3
4511e5c31af7Sopenharmony_ci		version 300 es
4512e5c31af7Sopenharmony_ci		values
4513e5c31af7Sopenharmony_ci		{
4514e5c31af7Sopenharmony_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) ];
4515e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(1, 0, 0) | ivec3(0, 0, 0) | ivec3(0, 1, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) ];
4516e5c31af7Sopenharmony_ci		}
4517e5c31af7Sopenharmony_ci
4518e5c31af7Sopenharmony_ci		both ""
4519e5c31af7Sopenharmony_ci			#version 300 es
4520e5c31af7Sopenharmony_ci			precision mediump float;
4521e5c31af7Sopenharmony_ci			precision mediump int;
4522e5c31af7Sopenharmony_ci
4523e5c31af7Sopenharmony_ci			${DECLARATIONS}
4524e5c31af7Sopenharmony_ci
4525e5c31af7Sopenharmony_ci			void main()
4526e5c31af7Sopenharmony_ci			{
4527e5c31af7Sopenharmony_ci				${SETUP}
4528e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
4529e5c31af7Sopenharmony_ci				${OUTPUT}
4530e5c31af7Sopenharmony_ci			}
4531e5c31af7Sopenharmony_ci		""
4532e5c31af7Sopenharmony_ci	end
4533e5c31af7Sopenharmony_ci
4534e5c31af7Sopenharmony_ci	case bvec4_to_ivec2
4535e5c31af7Sopenharmony_ci		version 300 es
4536e5c31af7Sopenharmony_ci		values
4537e5c31af7Sopenharmony_ci		{
4538e5c31af7Sopenharmony_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) ];
4539e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(1, 0) | ivec2(0, 0) | ivec2(0, 1) | ivec2(1, 1) | ivec2(0, 0) ];
4540e5c31af7Sopenharmony_ci		}
4541e5c31af7Sopenharmony_ci
4542e5c31af7Sopenharmony_ci		both ""
4543e5c31af7Sopenharmony_ci			#version 300 es
4544e5c31af7Sopenharmony_ci			precision mediump float;
4545e5c31af7Sopenharmony_ci			precision mediump int;
4546e5c31af7Sopenharmony_ci
4547e5c31af7Sopenharmony_ci			${DECLARATIONS}
4548e5c31af7Sopenharmony_ci
4549e5c31af7Sopenharmony_ci			void main()
4550e5c31af7Sopenharmony_ci			{
4551e5c31af7Sopenharmony_ci				${SETUP}
4552e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
4553e5c31af7Sopenharmony_ci				${OUTPUT}
4554e5c31af7Sopenharmony_ci			}
4555e5c31af7Sopenharmony_ci		""
4556e5c31af7Sopenharmony_ci	end
4557e5c31af7Sopenharmony_ci
4558e5c31af7Sopenharmony_ci	case bvec4_to_bvec4
4559e5c31af7Sopenharmony_ci		version 300 es
4560e5c31af7Sopenharmony_ci		values
4561e5c31af7Sopenharmony_ci		{
4562e5c31af7Sopenharmony_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) ];
4563e5c31af7Sopenharmony_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) ];
4564e5c31af7Sopenharmony_ci		}
4565e5c31af7Sopenharmony_ci
4566e5c31af7Sopenharmony_ci		both ""
4567e5c31af7Sopenharmony_ci			#version 300 es
4568e5c31af7Sopenharmony_ci			precision mediump float;
4569e5c31af7Sopenharmony_ci			precision mediump int;
4570e5c31af7Sopenharmony_ci
4571e5c31af7Sopenharmony_ci			${DECLARATIONS}
4572e5c31af7Sopenharmony_ci
4573e5c31af7Sopenharmony_ci			void main()
4574e5c31af7Sopenharmony_ci			{
4575e5c31af7Sopenharmony_ci				${SETUP}
4576e5c31af7Sopenharmony_ci				out0 = bvec4(in0);
4577e5c31af7Sopenharmony_ci				${OUTPUT}
4578e5c31af7Sopenharmony_ci			}
4579e5c31af7Sopenharmony_ci		""
4580e5c31af7Sopenharmony_ci	end
4581e5c31af7Sopenharmony_ci
4582e5c31af7Sopenharmony_ci	case bvec4_to_bvec3
4583e5c31af7Sopenharmony_ci		version 300 es
4584e5c31af7Sopenharmony_ci		values
4585e5c31af7Sopenharmony_ci		{
4586e5c31af7Sopenharmony_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) ];
4587e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
4588e5c31af7Sopenharmony_ci		}
4589e5c31af7Sopenharmony_ci
4590e5c31af7Sopenharmony_ci		both ""
4591e5c31af7Sopenharmony_ci			#version 300 es
4592e5c31af7Sopenharmony_ci			precision mediump float;
4593e5c31af7Sopenharmony_ci			precision mediump int;
4594e5c31af7Sopenharmony_ci
4595e5c31af7Sopenharmony_ci			${DECLARATIONS}
4596e5c31af7Sopenharmony_ci
4597e5c31af7Sopenharmony_ci			void main()
4598e5c31af7Sopenharmony_ci			{
4599e5c31af7Sopenharmony_ci				${SETUP}
4600e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
4601e5c31af7Sopenharmony_ci				${OUTPUT}
4602e5c31af7Sopenharmony_ci			}
4603e5c31af7Sopenharmony_ci		""
4604e5c31af7Sopenharmony_ci	end
4605e5c31af7Sopenharmony_ci
4606e5c31af7Sopenharmony_ci	case bvec4_to_bvec2
4607e5c31af7Sopenharmony_ci		version 300 es
4608e5c31af7Sopenharmony_ci		values
4609e5c31af7Sopenharmony_ci		{
4610e5c31af7Sopenharmony_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) ];
4611e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4612e5c31af7Sopenharmony_ci		}
4613e5c31af7Sopenharmony_ci
4614e5c31af7Sopenharmony_ci		both ""
4615e5c31af7Sopenharmony_ci			#version 300 es
4616e5c31af7Sopenharmony_ci			precision mediump float;
4617e5c31af7Sopenharmony_ci			precision mediump int;
4618e5c31af7Sopenharmony_ci
4619e5c31af7Sopenharmony_ci			${DECLARATIONS}
4620e5c31af7Sopenharmony_ci
4621e5c31af7Sopenharmony_ci			void main()
4622e5c31af7Sopenharmony_ci			{
4623e5c31af7Sopenharmony_ci				${SETUP}
4624e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
4625e5c31af7Sopenharmony_ci				${OUTPUT}
4626e5c31af7Sopenharmony_ci			}
4627e5c31af7Sopenharmony_ci		""
4628e5c31af7Sopenharmony_ci	end
4629e5c31af7Sopenharmony_ci
4630e5c31af7Sopenharmony_ci	case vec4_to_uvec4
4631e5c31af7Sopenharmony_ci		version 300 es
4632e5c31af7Sopenharmony_ci		values
4633e5c31af7Sopenharmony_ci		{
4634e5c31af7Sopenharmony_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) ];
4635e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
4636e5c31af7Sopenharmony_ci		}
4637e5c31af7Sopenharmony_ci
4638e5c31af7Sopenharmony_ci		both ""
4639e5c31af7Sopenharmony_ci			#version 300 es
4640e5c31af7Sopenharmony_ci			precision mediump float;
4641e5c31af7Sopenharmony_ci			precision mediump int;
4642e5c31af7Sopenharmony_ci
4643e5c31af7Sopenharmony_ci			${DECLARATIONS}
4644e5c31af7Sopenharmony_ci
4645e5c31af7Sopenharmony_ci			void main()
4646e5c31af7Sopenharmony_ci			{
4647e5c31af7Sopenharmony_ci				${SETUP}
4648e5c31af7Sopenharmony_ci				out0 = uvec4(in0);
4649e5c31af7Sopenharmony_ci				${OUTPUT}
4650e5c31af7Sopenharmony_ci			}
4651e5c31af7Sopenharmony_ci		""
4652e5c31af7Sopenharmony_ci	end
4653e5c31af7Sopenharmony_ci
4654e5c31af7Sopenharmony_ci	case vec4_to_uvec3
4655e5c31af7Sopenharmony_ci		version 300 es
4656e5c31af7Sopenharmony_ci		values
4657e5c31af7Sopenharmony_ci		{
4658e5c31af7Sopenharmony_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) ];
4659e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ];
4660e5c31af7Sopenharmony_ci		}
4661e5c31af7Sopenharmony_ci
4662e5c31af7Sopenharmony_ci		both ""
4663e5c31af7Sopenharmony_ci			#version 300 es
4664e5c31af7Sopenharmony_ci			precision mediump float;
4665e5c31af7Sopenharmony_ci			precision mediump int;
4666e5c31af7Sopenharmony_ci
4667e5c31af7Sopenharmony_ci			${DECLARATIONS}
4668e5c31af7Sopenharmony_ci
4669e5c31af7Sopenharmony_ci			void main()
4670e5c31af7Sopenharmony_ci			{
4671e5c31af7Sopenharmony_ci				${SETUP}
4672e5c31af7Sopenharmony_ci				out0 = uvec3(in0);
4673e5c31af7Sopenharmony_ci				${OUTPUT}
4674e5c31af7Sopenharmony_ci			}
4675e5c31af7Sopenharmony_ci		""
4676e5c31af7Sopenharmony_ci	end
4677e5c31af7Sopenharmony_ci
4678e5c31af7Sopenharmony_ci	case vec4_to_uvec2
4679e5c31af7Sopenharmony_ci		version 300 es
4680e5c31af7Sopenharmony_ci		values
4681e5c31af7Sopenharmony_ci		{
4682e5c31af7Sopenharmony_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) ];
4683e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ];
4684e5c31af7Sopenharmony_ci		}
4685e5c31af7Sopenharmony_ci
4686e5c31af7Sopenharmony_ci		both ""
4687e5c31af7Sopenharmony_ci			#version 300 es
4688e5c31af7Sopenharmony_ci			precision mediump float;
4689e5c31af7Sopenharmony_ci			precision mediump int;
4690e5c31af7Sopenharmony_ci
4691e5c31af7Sopenharmony_ci			${DECLARATIONS}
4692e5c31af7Sopenharmony_ci
4693e5c31af7Sopenharmony_ci			void main()
4694e5c31af7Sopenharmony_ci			{
4695e5c31af7Sopenharmony_ci				${SETUP}
4696e5c31af7Sopenharmony_ci				out0 = uvec2(in0);
4697e5c31af7Sopenharmony_ci				${OUTPUT}
4698e5c31af7Sopenharmony_ci			}
4699e5c31af7Sopenharmony_ci		""
4700e5c31af7Sopenharmony_ci	end
4701e5c31af7Sopenharmony_ci
4702e5c31af7Sopenharmony_ci	case ivec4_to_uvec4
4703e5c31af7Sopenharmony_ci		version 300 es
4704e5c31af7Sopenharmony_ci		values
4705e5c31af7Sopenharmony_ci		{
4706e5c31af7Sopenharmony_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) ];
4707e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
4708e5c31af7Sopenharmony_ci		}
4709e5c31af7Sopenharmony_ci
4710e5c31af7Sopenharmony_ci		both ""
4711e5c31af7Sopenharmony_ci			#version 300 es
4712e5c31af7Sopenharmony_ci			precision mediump float;
4713e5c31af7Sopenharmony_ci			precision mediump int;
4714e5c31af7Sopenharmony_ci
4715e5c31af7Sopenharmony_ci			${DECLARATIONS}
4716e5c31af7Sopenharmony_ci
4717e5c31af7Sopenharmony_ci			void main()
4718e5c31af7Sopenharmony_ci			{
4719e5c31af7Sopenharmony_ci				${SETUP}
4720e5c31af7Sopenharmony_ci				out0 = uvec4(in0);
4721e5c31af7Sopenharmony_ci				${OUTPUT}
4722e5c31af7Sopenharmony_ci			}
4723e5c31af7Sopenharmony_ci		""
4724e5c31af7Sopenharmony_ci	end
4725e5c31af7Sopenharmony_ci
4726e5c31af7Sopenharmony_ci	case ivec4_to_uvec3
4727e5c31af7Sopenharmony_ci		version 300 es
4728e5c31af7Sopenharmony_ci		values
4729e5c31af7Sopenharmony_ci		{
4730e5c31af7Sopenharmony_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) ];
4731e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ];
4732e5c31af7Sopenharmony_ci		}
4733e5c31af7Sopenharmony_ci
4734e5c31af7Sopenharmony_ci		both ""
4735e5c31af7Sopenharmony_ci			#version 300 es
4736e5c31af7Sopenharmony_ci			precision mediump float;
4737e5c31af7Sopenharmony_ci			precision mediump int;
4738e5c31af7Sopenharmony_ci
4739e5c31af7Sopenharmony_ci			${DECLARATIONS}
4740e5c31af7Sopenharmony_ci
4741e5c31af7Sopenharmony_ci			void main()
4742e5c31af7Sopenharmony_ci			{
4743e5c31af7Sopenharmony_ci				${SETUP}
4744e5c31af7Sopenharmony_ci				out0 = uvec3(in0);
4745e5c31af7Sopenharmony_ci				${OUTPUT}
4746e5c31af7Sopenharmony_ci			}
4747e5c31af7Sopenharmony_ci		""
4748e5c31af7Sopenharmony_ci	end
4749e5c31af7Sopenharmony_ci
4750e5c31af7Sopenharmony_ci	case ivec4_to_uvec2
4751e5c31af7Sopenharmony_ci		version 300 es
4752e5c31af7Sopenharmony_ci		values
4753e5c31af7Sopenharmony_ci		{
4754e5c31af7Sopenharmony_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) ];
4755e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ];
4756e5c31af7Sopenharmony_ci		}
4757e5c31af7Sopenharmony_ci
4758e5c31af7Sopenharmony_ci		both ""
4759e5c31af7Sopenharmony_ci			#version 300 es
4760e5c31af7Sopenharmony_ci			precision mediump float;
4761e5c31af7Sopenharmony_ci			precision mediump int;
4762e5c31af7Sopenharmony_ci
4763e5c31af7Sopenharmony_ci			${DECLARATIONS}
4764e5c31af7Sopenharmony_ci
4765e5c31af7Sopenharmony_ci			void main()
4766e5c31af7Sopenharmony_ci			{
4767e5c31af7Sopenharmony_ci				${SETUP}
4768e5c31af7Sopenharmony_ci				out0 = uvec2(in0);
4769e5c31af7Sopenharmony_ci				${OUTPUT}
4770e5c31af7Sopenharmony_ci			}
4771e5c31af7Sopenharmony_ci		""
4772e5c31af7Sopenharmony_ci	end
4773e5c31af7Sopenharmony_ci
4774e5c31af7Sopenharmony_ci	case uvec4_to_uvec4
4775e5c31af7Sopenharmony_ci		version 300 es
4776e5c31af7Sopenharmony_ci		values
4777e5c31af7Sopenharmony_ci		{
4778e5c31af7Sopenharmony_ci			input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
4779e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
4780e5c31af7Sopenharmony_ci		}
4781e5c31af7Sopenharmony_ci
4782e5c31af7Sopenharmony_ci		both ""
4783e5c31af7Sopenharmony_ci			#version 300 es
4784e5c31af7Sopenharmony_ci			precision mediump float;
4785e5c31af7Sopenharmony_ci			precision mediump int;
4786e5c31af7Sopenharmony_ci
4787e5c31af7Sopenharmony_ci			${DECLARATIONS}
4788e5c31af7Sopenharmony_ci
4789e5c31af7Sopenharmony_ci			void main()
4790e5c31af7Sopenharmony_ci			{
4791e5c31af7Sopenharmony_ci				${SETUP}
4792e5c31af7Sopenharmony_ci				out0 = uvec4(in0);
4793e5c31af7Sopenharmony_ci				${OUTPUT}
4794e5c31af7Sopenharmony_ci			}
4795e5c31af7Sopenharmony_ci		""
4796e5c31af7Sopenharmony_ci	end
4797e5c31af7Sopenharmony_ci
4798e5c31af7Sopenharmony_ci	case uvec4_to_uvec3
4799e5c31af7Sopenharmony_ci		version 300 es
4800e5c31af7Sopenharmony_ci		values
4801e5c31af7Sopenharmony_ci		{
4802e5c31af7Sopenharmony_ci			input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
4803e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ];
4804e5c31af7Sopenharmony_ci		}
4805e5c31af7Sopenharmony_ci
4806e5c31af7Sopenharmony_ci		both ""
4807e5c31af7Sopenharmony_ci			#version 300 es
4808e5c31af7Sopenharmony_ci			precision mediump float;
4809e5c31af7Sopenharmony_ci			precision mediump int;
4810e5c31af7Sopenharmony_ci
4811e5c31af7Sopenharmony_ci			${DECLARATIONS}
4812e5c31af7Sopenharmony_ci
4813e5c31af7Sopenharmony_ci			void main()
4814e5c31af7Sopenharmony_ci			{
4815e5c31af7Sopenharmony_ci				${SETUP}
4816e5c31af7Sopenharmony_ci				out0 = uvec3(in0);
4817e5c31af7Sopenharmony_ci				${OUTPUT}
4818e5c31af7Sopenharmony_ci			}
4819e5c31af7Sopenharmony_ci		""
4820e5c31af7Sopenharmony_ci	end
4821e5c31af7Sopenharmony_ci
4822e5c31af7Sopenharmony_ci	case uvec4_to_uvec2
4823e5c31af7Sopenharmony_ci		version 300 es
4824e5c31af7Sopenharmony_ci		values
4825e5c31af7Sopenharmony_ci		{
4826e5c31af7Sopenharmony_ci			input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ];
4827e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ];
4828e5c31af7Sopenharmony_ci		}
4829e5c31af7Sopenharmony_ci
4830e5c31af7Sopenharmony_ci		both ""
4831e5c31af7Sopenharmony_ci			#version 300 es
4832e5c31af7Sopenharmony_ci			precision mediump float;
4833e5c31af7Sopenharmony_ci			precision mediump int;
4834e5c31af7Sopenharmony_ci
4835e5c31af7Sopenharmony_ci			${DECLARATIONS}
4836e5c31af7Sopenharmony_ci
4837e5c31af7Sopenharmony_ci			void main()
4838e5c31af7Sopenharmony_ci			{
4839e5c31af7Sopenharmony_ci				${SETUP}
4840e5c31af7Sopenharmony_ci				out0 = uvec2(in0);
4841e5c31af7Sopenharmony_ci				${OUTPUT}
4842e5c31af7Sopenharmony_ci			}
4843e5c31af7Sopenharmony_ci		""
4844e5c31af7Sopenharmony_ci	end
4845e5c31af7Sopenharmony_ci
4846e5c31af7Sopenharmony_ci	case bvec4_to_uvec4
4847e5c31af7Sopenharmony_ci		version 300 es
4848e5c31af7Sopenharmony_ci		values
4849e5c31af7Sopenharmony_ci		{
4850e5c31af7Sopenharmony_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) ];
4851e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(1, 0, 0, 1) | uvec4(0, 0, 0, 1) | uvec4(0, 1, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 0, 0, 0) ];
4852e5c31af7Sopenharmony_ci		}
4853e5c31af7Sopenharmony_ci
4854e5c31af7Sopenharmony_ci		both ""
4855e5c31af7Sopenharmony_ci			#version 300 es
4856e5c31af7Sopenharmony_ci			precision mediump float;
4857e5c31af7Sopenharmony_ci			precision mediump int;
4858e5c31af7Sopenharmony_ci
4859e5c31af7Sopenharmony_ci			${DECLARATIONS}
4860e5c31af7Sopenharmony_ci
4861e5c31af7Sopenharmony_ci			void main()
4862e5c31af7Sopenharmony_ci			{
4863e5c31af7Sopenharmony_ci				${SETUP}
4864e5c31af7Sopenharmony_ci				out0 = uvec4(in0);
4865e5c31af7Sopenharmony_ci				${OUTPUT}
4866e5c31af7Sopenharmony_ci			}
4867e5c31af7Sopenharmony_ci		""
4868e5c31af7Sopenharmony_ci	end
4869e5c31af7Sopenharmony_ci
4870e5c31af7Sopenharmony_ci	case bvec4_to_uvec3
4871e5c31af7Sopenharmony_ci		version 300 es
4872e5c31af7Sopenharmony_ci		values
4873e5c31af7Sopenharmony_ci		{
4874e5c31af7Sopenharmony_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) ];
4875e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(1, 0, 0) | uvec3(0, 0, 0) | uvec3(0, 1, 0) | uvec3(1, 1, 1) | uvec3(0, 0, 0) ];
4876e5c31af7Sopenharmony_ci		}
4877e5c31af7Sopenharmony_ci
4878e5c31af7Sopenharmony_ci		both ""
4879e5c31af7Sopenharmony_ci			#version 300 es
4880e5c31af7Sopenharmony_ci			precision mediump float;
4881e5c31af7Sopenharmony_ci			precision mediump int;
4882e5c31af7Sopenharmony_ci
4883e5c31af7Sopenharmony_ci			${DECLARATIONS}
4884e5c31af7Sopenharmony_ci
4885e5c31af7Sopenharmony_ci			void main()
4886e5c31af7Sopenharmony_ci			{
4887e5c31af7Sopenharmony_ci				${SETUP}
4888e5c31af7Sopenharmony_ci				out0 = uvec3(in0);
4889e5c31af7Sopenharmony_ci				${OUTPUT}
4890e5c31af7Sopenharmony_ci			}
4891e5c31af7Sopenharmony_ci		""
4892e5c31af7Sopenharmony_ci	end
4893e5c31af7Sopenharmony_ci
4894e5c31af7Sopenharmony_ci	case bvec4_to_uvec2
4895e5c31af7Sopenharmony_ci		version 300 es
4896e5c31af7Sopenharmony_ci		values
4897e5c31af7Sopenharmony_ci		{
4898e5c31af7Sopenharmony_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) ];
4899e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(1, 0) | uvec2(0, 0) | uvec2(0, 1) | uvec2(1, 1) | uvec2(0, 0) ];
4900e5c31af7Sopenharmony_ci		}
4901e5c31af7Sopenharmony_ci
4902e5c31af7Sopenharmony_ci		both ""
4903e5c31af7Sopenharmony_ci			#version 300 es
4904e5c31af7Sopenharmony_ci			precision mediump float;
4905e5c31af7Sopenharmony_ci			precision mediump int;
4906e5c31af7Sopenharmony_ci
4907e5c31af7Sopenharmony_ci			${DECLARATIONS}
4908e5c31af7Sopenharmony_ci
4909e5c31af7Sopenharmony_ci			void main()
4910e5c31af7Sopenharmony_ci			{
4911e5c31af7Sopenharmony_ci				${SETUP}
4912e5c31af7Sopenharmony_ci				out0 = uvec2(in0);
4913e5c31af7Sopenharmony_ci				${OUTPUT}
4914e5c31af7Sopenharmony_ci			}
4915e5c31af7Sopenharmony_ci		""
4916e5c31af7Sopenharmony_ci	end
4917e5c31af7Sopenharmony_ci
4918e5c31af7Sopenharmony_ci	case vec3_to_vec3
4919e5c31af7Sopenharmony_ci		version 300 es
4920e5c31af7Sopenharmony_ci		values
4921e5c31af7Sopenharmony_ci		{
4922e5c31af7Sopenharmony_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) ];
4923e5c31af7Sopenharmony_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) ];
4924e5c31af7Sopenharmony_ci		}
4925e5c31af7Sopenharmony_ci
4926e5c31af7Sopenharmony_ci		both ""
4927e5c31af7Sopenharmony_ci			#version 300 es
4928e5c31af7Sopenharmony_ci			precision mediump float;
4929e5c31af7Sopenharmony_ci			precision mediump int;
4930e5c31af7Sopenharmony_ci
4931e5c31af7Sopenharmony_ci			${DECLARATIONS}
4932e5c31af7Sopenharmony_ci
4933e5c31af7Sopenharmony_ci			void main()
4934e5c31af7Sopenharmony_ci			{
4935e5c31af7Sopenharmony_ci				${SETUP}
4936e5c31af7Sopenharmony_ci				out0 = vec3(in0);
4937e5c31af7Sopenharmony_ci				${OUTPUT}
4938e5c31af7Sopenharmony_ci			}
4939e5c31af7Sopenharmony_ci		""
4940e5c31af7Sopenharmony_ci	end
4941e5c31af7Sopenharmony_ci
4942e5c31af7Sopenharmony_ci	case vec3_to_vec2
4943e5c31af7Sopenharmony_ci		version 300 es
4944e5c31af7Sopenharmony_ci		values
4945e5c31af7Sopenharmony_ci		{
4946e5c31af7Sopenharmony_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) ];
4947e5c31af7Sopenharmony_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) ];
4948e5c31af7Sopenharmony_ci		}
4949e5c31af7Sopenharmony_ci
4950e5c31af7Sopenharmony_ci		both ""
4951e5c31af7Sopenharmony_ci			#version 300 es
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 = vec2(in0);
4961e5c31af7Sopenharmony_ci				${OUTPUT}
4962e5c31af7Sopenharmony_ci			}
4963e5c31af7Sopenharmony_ci		""
4964e5c31af7Sopenharmony_ci	end
4965e5c31af7Sopenharmony_ci
4966e5c31af7Sopenharmony_ci	case vec3_to_ivec3
4967e5c31af7Sopenharmony_ci		version 300 es
4968e5c31af7Sopenharmony_ci		values
4969e5c31af7Sopenharmony_ci		{
4970e5c31af7Sopenharmony_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) ];
4971e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
4972e5c31af7Sopenharmony_ci		}
4973e5c31af7Sopenharmony_ci
4974e5c31af7Sopenharmony_ci		both ""
4975e5c31af7Sopenharmony_ci			#version 300 es
4976e5c31af7Sopenharmony_ci			precision mediump float;
4977e5c31af7Sopenharmony_ci			precision mediump int;
4978e5c31af7Sopenharmony_ci
4979e5c31af7Sopenharmony_ci			${DECLARATIONS}
4980e5c31af7Sopenharmony_ci
4981e5c31af7Sopenharmony_ci			void main()
4982e5c31af7Sopenharmony_ci			{
4983e5c31af7Sopenharmony_ci				${SETUP}
4984e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
4985e5c31af7Sopenharmony_ci				${OUTPUT}
4986e5c31af7Sopenharmony_ci			}
4987e5c31af7Sopenharmony_ci		""
4988e5c31af7Sopenharmony_ci	end
4989e5c31af7Sopenharmony_ci
4990e5c31af7Sopenharmony_ci	case vec3_to_ivec2
4991e5c31af7Sopenharmony_ci		version 300 es
4992e5c31af7Sopenharmony_ci		values
4993e5c31af7Sopenharmony_ci		{
4994e5c31af7Sopenharmony_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) ];
4995e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
4996e5c31af7Sopenharmony_ci		}
4997e5c31af7Sopenharmony_ci
4998e5c31af7Sopenharmony_ci		both ""
4999e5c31af7Sopenharmony_ci			#version 300 es
5000e5c31af7Sopenharmony_ci			precision mediump float;
5001e5c31af7Sopenharmony_ci			precision mediump int;
5002e5c31af7Sopenharmony_ci
5003e5c31af7Sopenharmony_ci			${DECLARATIONS}
5004e5c31af7Sopenharmony_ci
5005e5c31af7Sopenharmony_ci			void main()
5006e5c31af7Sopenharmony_ci			{
5007e5c31af7Sopenharmony_ci				${SETUP}
5008e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
5009e5c31af7Sopenharmony_ci				${OUTPUT}
5010e5c31af7Sopenharmony_ci			}
5011e5c31af7Sopenharmony_ci		""
5012e5c31af7Sopenharmony_ci	end
5013e5c31af7Sopenharmony_ci
5014e5c31af7Sopenharmony_ci	case vec3_to_bvec3
5015e5c31af7Sopenharmony_ci		version 300 es
5016e5c31af7Sopenharmony_ci		values
5017e5c31af7Sopenharmony_ci		{
5018e5c31af7Sopenharmony_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) ];
5019e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(false, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) ];
5020e5c31af7Sopenharmony_ci		}
5021e5c31af7Sopenharmony_ci
5022e5c31af7Sopenharmony_ci		both ""
5023e5c31af7Sopenharmony_ci			#version 300 es
5024e5c31af7Sopenharmony_ci			precision mediump float;
5025e5c31af7Sopenharmony_ci			precision mediump int;
5026e5c31af7Sopenharmony_ci
5027e5c31af7Sopenharmony_ci			${DECLARATIONS}
5028e5c31af7Sopenharmony_ci
5029e5c31af7Sopenharmony_ci			void main()
5030e5c31af7Sopenharmony_ci			{
5031e5c31af7Sopenharmony_ci				${SETUP}
5032e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
5033e5c31af7Sopenharmony_ci				${OUTPUT}
5034e5c31af7Sopenharmony_ci			}
5035e5c31af7Sopenharmony_ci		""
5036e5c31af7Sopenharmony_ci	end
5037e5c31af7Sopenharmony_ci
5038e5c31af7Sopenharmony_ci	case vec3_to_bvec2
5039e5c31af7Sopenharmony_ci		version 300 es
5040e5c31af7Sopenharmony_ci		values
5041e5c31af7Sopenharmony_ci		{
5042e5c31af7Sopenharmony_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) ];
5043e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ];
5044e5c31af7Sopenharmony_ci		}
5045e5c31af7Sopenharmony_ci
5046e5c31af7Sopenharmony_ci		both ""
5047e5c31af7Sopenharmony_ci			#version 300 es
5048e5c31af7Sopenharmony_ci			precision mediump float;
5049e5c31af7Sopenharmony_ci			precision mediump int;
5050e5c31af7Sopenharmony_ci
5051e5c31af7Sopenharmony_ci			${DECLARATIONS}
5052e5c31af7Sopenharmony_ci
5053e5c31af7Sopenharmony_ci			void main()
5054e5c31af7Sopenharmony_ci			{
5055e5c31af7Sopenharmony_ci				${SETUP}
5056e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
5057e5c31af7Sopenharmony_ci				${OUTPUT}
5058e5c31af7Sopenharmony_ci			}
5059e5c31af7Sopenharmony_ci		""
5060e5c31af7Sopenharmony_ci	end
5061e5c31af7Sopenharmony_ci
5062e5c31af7Sopenharmony_ci	case ivec3_to_vec3
5063e5c31af7Sopenharmony_ci		version 300 es
5064e5c31af7Sopenharmony_ci		values
5065e5c31af7Sopenharmony_ci		{
5066e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
5067e5c31af7Sopenharmony_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) ];
5068e5c31af7Sopenharmony_ci		}
5069e5c31af7Sopenharmony_ci
5070e5c31af7Sopenharmony_ci		both ""
5071e5c31af7Sopenharmony_ci			#version 300 es
5072e5c31af7Sopenharmony_ci			precision mediump float;
5073e5c31af7Sopenharmony_ci			precision mediump int;
5074e5c31af7Sopenharmony_ci
5075e5c31af7Sopenharmony_ci			${DECLARATIONS}
5076e5c31af7Sopenharmony_ci
5077e5c31af7Sopenharmony_ci			void main()
5078e5c31af7Sopenharmony_ci			{
5079e5c31af7Sopenharmony_ci				${SETUP}
5080e5c31af7Sopenharmony_ci				out0 = vec3(in0);
5081e5c31af7Sopenharmony_ci				${OUTPUT}
5082e5c31af7Sopenharmony_ci			}
5083e5c31af7Sopenharmony_ci		""
5084e5c31af7Sopenharmony_ci	end
5085e5c31af7Sopenharmony_ci
5086e5c31af7Sopenharmony_ci	case ivec3_to_vec2
5087e5c31af7Sopenharmony_ci		version 300 es
5088e5c31af7Sopenharmony_ci		values
5089e5c31af7Sopenharmony_ci		{
5090e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
5091e5c31af7Sopenharmony_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) ];
5092e5c31af7Sopenharmony_ci		}
5093e5c31af7Sopenharmony_ci
5094e5c31af7Sopenharmony_ci		both ""
5095e5c31af7Sopenharmony_ci			#version 300 es
5096e5c31af7Sopenharmony_ci			precision mediump float;
5097e5c31af7Sopenharmony_ci			precision mediump int;
5098e5c31af7Sopenharmony_ci
5099e5c31af7Sopenharmony_ci			${DECLARATIONS}
5100e5c31af7Sopenharmony_ci
5101e5c31af7Sopenharmony_ci			void main()
5102e5c31af7Sopenharmony_ci			{
5103e5c31af7Sopenharmony_ci				${SETUP}
5104e5c31af7Sopenharmony_ci				out0 = vec2(in0);
5105e5c31af7Sopenharmony_ci				${OUTPUT}
5106e5c31af7Sopenharmony_ci			}
5107e5c31af7Sopenharmony_ci		""
5108e5c31af7Sopenharmony_ci	end
5109e5c31af7Sopenharmony_ci
5110e5c31af7Sopenharmony_ci	case ivec3_to_ivec3
5111e5c31af7Sopenharmony_ci		version 300 es
5112e5c31af7Sopenharmony_ci		values
5113e5c31af7Sopenharmony_ci		{
5114e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
5115e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
5116e5c31af7Sopenharmony_ci		}
5117e5c31af7Sopenharmony_ci
5118e5c31af7Sopenharmony_ci		both ""
5119e5c31af7Sopenharmony_ci			#version 300 es
5120e5c31af7Sopenharmony_ci			precision mediump float;
5121e5c31af7Sopenharmony_ci			precision mediump int;
5122e5c31af7Sopenharmony_ci
5123e5c31af7Sopenharmony_ci			${DECLARATIONS}
5124e5c31af7Sopenharmony_ci
5125e5c31af7Sopenharmony_ci			void main()
5126e5c31af7Sopenharmony_ci			{
5127e5c31af7Sopenharmony_ci				${SETUP}
5128e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
5129e5c31af7Sopenharmony_ci				${OUTPUT}
5130e5c31af7Sopenharmony_ci			}
5131e5c31af7Sopenharmony_ci		""
5132e5c31af7Sopenharmony_ci	end
5133e5c31af7Sopenharmony_ci
5134e5c31af7Sopenharmony_ci	case ivec3_to_ivec2
5135e5c31af7Sopenharmony_ci		version 300 es
5136e5c31af7Sopenharmony_ci		values
5137e5c31af7Sopenharmony_ci		{
5138e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
5139e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
5140e5c31af7Sopenharmony_ci		}
5141e5c31af7Sopenharmony_ci
5142e5c31af7Sopenharmony_ci		both ""
5143e5c31af7Sopenharmony_ci			#version 300 es
5144e5c31af7Sopenharmony_ci			precision mediump float;
5145e5c31af7Sopenharmony_ci			precision mediump int;
5146e5c31af7Sopenharmony_ci
5147e5c31af7Sopenharmony_ci			${DECLARATIONS}
5148e5c31af7Sopenharmony_ci
5149e5c31af7Sopenharmony_ci			void main()
5150e5c31af7Sopenharmony_ci			{
5151e5c31af7Sopenharmony_ci				${SETUP}
5152e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
5153e5c31af7Sopenharmony_ci				${OUTPUT}
5154e5c31af7Sopenharmony_ci			}
5155e5c31af7Sopenharmony_ci		""
5156e5c31af7Sopenharmony_ci	end
5157e5c31af7Sopenharmony_ci
5158e5c31af7Sopenharmony_ci	case ivec3_to_bvec3
5159e5c31af7Sopenharmony_ci		version 300 es
5160e5c31af7Sopenharmony_ci		values
5161e5c31af7Sopenharmony_ci		{
5162e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
5163e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5164e5c31af7Sopenharmony_ci		}
5165e5c31af7Sopenharmony_ci
5166e5c31af7Sopenharmony_ci		both ""
5167e5c31af7Sopenharmony_ci			#version 300 es
5168e5c31af7Sopenharmony_ci			precision mediump float;
5169e5c31af7Sopenharmony_ci			precision mediump int;
5170e5c31af7Sopenharmony_ci
5171e5c31af7Sopenharmony_ci			${DECLARATIONS}
5172e5c31af7Sopenharmony_ci
5173e5c31af7Sopenharmony_ci			void main()
5174e5c31af7Sopenharmony_ci			{
5175e5c31af7Sopenharmony_ci				${SETUP}
5176e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
5177e5c31af7Sopenharmony_ci				${OUTPUT}
5178e5c31af7Sopenharmony_ci			}
5179e5c31af7Sopenharmony_ci		""
5180e5c31af7Sopenharmony_ci	end
5181e5c31af7Sopenharmony_ci
5182e5c31af7Sopenharmony_ci	case ivec3_to_bvec2
5183e5c31af7Sopenharmony_ci		version 300 es
5184e5c31af7Sopenharmony_ci		values
5185e5c31af7Sopenharmony_ci		{
5186e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
5187e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5188e5c31af7Sopenharmony_ci		}
5189e5c31af7Sopenharmony_ci
5190e5c31af7Sopenharmony_ci		both ""
5191e5c31af7Sopenharmony_ci			#version 300 es
5192e5c31af7Sopenharmony_ci			precision mediump float;
5193e5c31af7Sopenharmony_ci			precision mediump int;
5194e5c31af7Sopenharmony_ci
5195e5c31af7Sopenharmony_ci			${DECLARATIONS}
5196e5c31af7Sopenharmony_ci
5197e5c31af7Sopenharmony_ci			void main()
5198e5c31af7Sopenharmony_ci			{
5199e5c31af7Sopenharmony_ci				${SETUP}
5200e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
5201e5c31af7Sopenharmony_ci				${OUTPUT}
5202e5c31af7Sopenharmony_ci			}
5203e5c31af7Sopenharmony_ci		""
5204e5c31af7Sopenharmony_ci	end
5205e5c31af7Sopenharmony_ci
5206e5c31af7Sopenharmony_ci	case uvec3_to_vec3
5207e5c31af7Sopenharmony_ci		version 300 es
5208e5c31af7Sopenharmony_ci		values
5209e5c31af7Sopenharmony_ci		{
5210e5c31af7Sopenharmony_ci			input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ];
5211e5c31af7Sopenharmony_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) ];
5212e5c31af7Sopenharmony_ci		}
5213e5c31af7Sopenharmony_ci
5214e5c31af7Sopenharmony_ci		both ""
5215e5c31af7Sopenharmony_ci			#version 300 es
5216e5c31af7Sopenharmony_ci			precision mediump float;
5217e5c31af7Sopenharmony_ci			precision mediump int;
5218e5c31af7Sopenharmony_ci
5219e5c31af7Sopenharmony_ci			${DECLARATIONS}
5220e5c31af7Sopenharmony_ci
5221e5c31af7Sopenharmony_ci			void main()
5222e5c31af7Sopenharmony_ci			{
5223e5c31af7Sopenharmony_ci				${SETUP}
5224e5c31af7Sopenharmony_ci				out0 = vec3(in0);
5225e5c31af7Sopenharmony_ci				${OUTPUT}
5226e5c31af7Sopenharmony_ci			}
5227e5c31af7Sopenharmony_ci		""
5228e5c31af7Sopenharmony_ci	end
5229e5c31af7Sopenharmony_ci
5230e5c31af7Sopenharmony_ci	case uvec3_to_vec2
5231e5c31af7Sopenharmony_ci		version 300 es
5232e5c31af7Sopenharmony_ci		values
5233e5c31af7Sopenharmony_ci		{
5234e5c31af7Sopenharmony_ci			input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ];
5235e5c31af7Sopenharmony_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) ];
5236e5c31af7Sopenharmony_ci		}
5237e5c31af7Sopenharmony_ci
5238e5c31af7Sopenharmony_ci		both ""
5239e5c31af7Sopenharmony_ci			#version 300 es
5240e5c31af7Sopenharmony_ci			precision mediump float;
5241e5c31af7Sopenharmony_ci			precision mediump int;
5242e5c31af7Sopenharmony_ci
5243e5c31af7Sopenharmony_ci			${DECLARATIONS}
5244e5c31af7Sopenharmony_ci
5245e5c31af7Sopenharmony_ci			void main()
5246e5c31af7Sopenharmony_ci			{
5247e5c31af7Sopenharmony_ci				${SETUP}
5248e5c31af7Sopenharmony_ci				out0 = vec2(in0);
5249e5c31af7Sopenharmony_ci				${OUTPUT}
5250e5c31af7Sopenharmony_ci			}
5251e5c31af7Sopenharmony_ci		""
5252e5c31af7Sopenharmony_ci	end
5253e5c31af7Sopenharmony_ci
5254e5c31af7Sopenharmony_ci	case uvec3_to_ivec3
5255e5c31af7Sopenharmony_ci		version 300 es
5256e5c31af7Sopenharmony_ci		values
5257e5c31af7Sopenharmony_ci		{
5258e5c31af7Sopenharmony_ci			input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ];
5259e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 2, 4) | ivec3(32, 64, 51) | ivec3(0, 0, 0) ];
5260e5c31af7Sopenharmony_ci		}
5261e5c31af7Sopenharmony_ci
5262e5c31af7Sopenharmony_ci		both ""
5263e5c31af7Sopenharmony_ci			#version 300 es
5264e5c31af7Sopenharmony_ci			precision mediump float;
5265e5c31af7Sopenharmony_ci			precision mediump int;
5266e5c31af7Sopenharmony_ci
5267e5c31af7Sopenharmony_ci			${DECLARATIONS}
5268e5c31af7Sopenharmony_ci
5269e5c31af7Sopenharmony_ci			void main()
5270e5c31af7Sopenharmony_ci			{
5271e5c31af7Sopenharmony_ci				${SETUP}
5272e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
5273e5c31af7Sopenharmony_ci				${OUTPUT}
5274e5c31af7Sopenharmony_ci			}
5275e5c31af7Sopenharmony_ci		""
5276e5c31af7Sopenharmony_ci	end
5277e5c31af7Sopenharmony_ci
5278e5c31af7Sopenharmony_ci	case uvec3_to_ivec2
5279e5c31af7Sopenharmony_ci		version 300 es
5280e5c31af7Sopenharmony_ci		values
5281e5c31af7Sopenharmony_ci		{
5282e5c31af7Sopenharmony_ci			input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ];
5283e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 2) | ivec2(32, 64) | ivec2(0, 0) ];
5284e5c31af7Sopenharmony_ci		}
5285e5c31af7Sopenharmony_ci
5286e5c31af7Sopenharmony_ci		both ""
5287e5c31af7Sopenharmony_ci			#version 300 es
5288e5c31af7Sopenharmony_ci			precision mediump float;
5289e5c31af7Sopenharmony_ci			precision mediump int;
5290e5c31af7Sopenharmony_ci
5291e5c31af7Sopenharmony_ci			${DECLARATIONS}
5292e5c31af7Sopenharmony_ci
5293e5c31af7Sopenharmony_ci			void main()
5294e5c31af7Sopenharmony_ci			{
5295e5c31af7Sopenharmony_ci				${SETUP}
5296e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
5297e5c31af7Sopenharmony_ci				${OUTPUT}
5298e5c31af7Sopenharmony_ci			}
5299e5c31af7Sopenharmony_ci		""
5300e5c31af7Sopenharmony_ci	end
5301e5c31af7Sopenharmony_ci
5302e5c31af7Sopenharmony_ci	case uvec3_to_bvec3
5303e5c31af7Sopenharmony_ci		version 300 es
5304e5c31af7Sopenharmony_ci		values
5305e5c31af7Sopenharmony_ci		{
5306e5c31af7Sopenharmony_ci			input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ];
5307e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5308e5c31af7Sopenharmony_ci		}
5309e5c31af7Sopenharmony_ci
5310e5c31af7Sopenharmony_ci		both ""
5311e5c31af7Sopenharmony_ci			#version 300 es
5312e5c31af7Sopenharmony_ci			precision mediump float;
5313e5c31af7Sopenharmony_ci			precision mediump int;
5314e5c31af7Sopenharmony_ci
5315e5c31af7Sopenharmony_ci			${DECLARATIONS}
5316e5c31af7Sopenharmony_ci
5317e5c31af7Sopenharmony_ci			void main()
5318e5c31af7Sopenharmony_ci			{
5319e5c31af7Sopenharmony_ci				${SETUP}
5320e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
5321e5c31af7Sopenharmony_ci				${OUTPUT}
5322e5c31af7Sopenharmony_ci			}
5323e5c31af7Sopenharmony_ci		""
5324e5c31af7Sopenharmony_ci	end
5325e5c31af7Sopenharmony_ci
5326e5c31af7Sopenharmony_ci	case uvec3_to_bvec2
5327e5c31af7Sopenharmony_ci		version 300 es
5328e5c31af7Sopenharmony_ci		values
5329e5c31af7Sopenharmony_ci		{
5330e5c31af7Sopenharmony_ci			input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ];
5331e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5332e5c31af7Sopenharmony_ci		}
5333e5c31af7Sopenharmony_ci
5334e5c31af7Sopenharmony_ci		both ""
5335e5c31af7Sopenharmony_ci			#version 300 es
5336e5c31af7Sopenharmony_ci			precision mediump float;
5337e5c31af7Sopenharmony_ci			precision mediump int;
5338e5c31af7Sopenharmony_ci
5339e5c31af7Sopenharmony_ci			${DECLARATIONS}
5340e5c31af7Sopenharmony_ci
5341e5c31af7Sopenharmony_ci			void main()
5342e5c31af7Sopenharmony_ci			{
5343e5c31af7Sopenharmony_ci				${SETUP}
5344e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
5345e5c31af7Sopenharmony_ci				${OUTPUT}
5346e5c31af7Sopenharmony_ci			}
5347e5c31af7Sopenharmony_ci		""
5348e5c31af7Sopenharmony_ci	end
5349e5c31af7Sopenharmony_ci
5350e5c31af7Sopenharmony_ci	case bvec3_to_vec3
5351e5c31af7Sopenharmony_ci		version 300 es
5352e5c31af7Sopenharmony_ci		values
5353e5c31af7Sopenharmony_ci		{
5354e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5355e5c31af7Sopenharmony_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) ];
5356e5c31af7Sopenharmony_ci		}
5357e5c31af7Sopenharmony_ci
5358e5c31af7Sopenharmony_ci		both ""
5359e5c31af7Sopenharmony_ci			#version 300 es
5360e5c31af7Sopenharmony_ci			precision mediump float;
5361e5c31af7Sopenharmony_ci			precision mediump int;
5362e5c31af7Sopenharmony_ci
5363e5c31af7Sopenharmony_ci			${DECLARATIONS}
5364e5c31af7Sopenharmony_ci
5365e5c31af7Sopenharmony_ci			void main()
5366e5c31af7Sopenharmony_ci			{
5367e5c31af7Sopenharmony_ci				${SETUP}
5368e5c31af7Sopenharmony_ci				out0 = vec3(in0);
5369e5c31af7Sopenharmony_ci				${OUTPUT}
5370e5c31af7Sopenharmony_ci			}
5371e5c31af7Sopenharmony_ci		""
5372e5c31af7Sopenharmony_ci	end
5373e5c31af7Sopenharmony_ci
5374e5c31af7Sopenharmony_ci	case bvec3_to_vec2
5375e5c31af7Sopenharmony_ci		version 300 es
5376e5c31af7Sopenharmony_ci		values
5377e5c31af7Sopenharmony_ci		{
5378e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5379e5c31af7Sopenharmony_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) ];
5380e5c31af7Sopenharmony_ci		}
5381e5c31af7Sopenharmony_ci
5382e5c31af7Sopenharmony_ci		both ""
5383e5c31af7Sopenharmony_ci			#version 300 es
5384e5c31af7Sopenharmony_ci			precision mediump float;
5385e5c31af7Sopenharmony_ci			precision mediump int;
5386e5c31af7Sopenharmony_ci
5387e5c31af7Sopenharmony_ci			${DECLARATIONS}
5388e5c31af7Sopenharmony_ci
5389e5c31af7Sopenharmony_ci			void main()
5390e5c31af7Sopenharmony_ci			{
5391e5c31af7Sopenharmony_ci				${SETUP}
5392e5c31af7Sopenharmony_ci				out0 = vec2(in0);
5393e5c31af7Sopenharmony_ci				${OUTPUT}
5394e5c31af7Sopenharmony_ci			}
5395e5c31af7Sopenharmony_ci		""
5396e5c31af7Sopenharmony_ci	end
5397e5c31af7Sopenharmony_ci
5398e5c31af7Sopenharmony_ci	case bvec3_to_ivec3
5399e5c31af7Sopenharmony_ci		version 300 es
5400e5c31af7Sopenharmony_ci		values
5401e5c31af7Sopenharmony_ci		{
5402e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5403e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(1, 0, 0) | ivec3(0, 0, 0) | ivec3(0, 1, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) ];
5404e5c31af7Sopenharmony_ci		}
5405e5c31af7Sopenharmony_ci
5406e5c31af7Sopenharmony_ci		both ""
5407e5c31af7Sopenharmony_ci			#version 300 es
5408e5c31af7Sopenharmony_ci			precision mediump float;
5409e5c31af7Sopenharmony_ci			precision mediump int;
5410e5c31af7Sopenharmony_ci
5411e5c31af7Sopenharmony_ci			${DECLARATIONS}
5412e5c31af7Sopenharmony_ci
5413e5c31af7Sopenharmony_ci			void main()
5414e5c31af7Sopenharmony_ci			{
5415e5c31af7Sopenharmony_ci				${SETUP}
5416e5c31af7Sopenharmony_ci				out0 = ivec3(in0);
5417e5c31af7Sopenharmony_ci				${OUTPUT}
5418e5c31af7Sopenharmony_ci			}
5419e5c31af7Sopenharmony_ci		""
5420e5c31af7Sopenharmony_ci	end
5421e5c31af7Sopenharmony_ci
5422e5c31af7Sopenharmony_ci	case bvec3_to_ivec2
5423e5c31af7Sopenharmony_ci		version 300 es
5424e5c31af7Sopenharmony_ci		values
5425e5c31af7Sopenharmony_ci		{
5426e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5427e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(1, 0) | ivec2(0, 0) | ivec2(0, 1) | ivec2(1, 1) | ivec2(0, 0) ];
5428e5c31af7Sopenharmony_ci		}
5429e5c31af7Sopenharmony_ci
5430e5c31af7Sopenharmony_ci		both ""
5431e5c31af7Sopenharmony_ci			#version 300 es
5432e5c31af7Sopenharmony_ci			precision mediump float;
5433e5c31af7Sopenharmony_ci			precision mediump int;
5434e5c31af7Sopenharmony_ci
5435e5c31af7Sopenharmony_ci			${DECLARATIONS}
5436e5c31af7Sopenharmony_ci
5437e5c31af7Sopenharmony_ci			void main()
5438e5c31af7Sopenharmony_ci			{
5439e5c31af7Sopenharmony_ci				${SETUP}
5440e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
5441e5c31af7Sopenharmony_ci				${OUTPUT}
5442e5c31af7Sopenharmony_ci			}
5443e5c31af7Sopenharmony_ci		""
5444e5c31af7Sopenharmony_ci	end
5445e5c31af7Sopenharmony_ci
5446e5c31af7Sopenharmony_ci	case bvec3_to_bvec3
5447e5c31af7Sopenharmony_ci		version 300 es
5448e5c31af7Sopenharmony_ci		values
5449e5c31af7Sopenharmony_ci		{
5450e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5451e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5452e5c31af7Sopenharmony_ci		}
5453e5c31af7Sopenharmony_ci
5454e5c31af7Sopenharmony_ci		both ""
5455e5c31af7Sopenharmony_ci			#version 300 es
5456e5c31af7Sopenharmony_ci			precision mediump float;
5457e5c31af7Sopenharmony_ci			precision mediump int;
5458e5c31af7Sopenharmony_ci
5459e5c31af7Sopenharmony_ci			${DECLARATIONS}
5460e5c31af7Sopenharmony_ci
5461e5c31af7Sopenharmony_ci			void main()
5462e5c31af7Sopenharmony_ci			{
5463e5c31af7Sopenharmony_ci				${SETUP}
5464e5c31af7Sopenharmony_ci				out0 = bvec3(in0);
5465e5c31af7Sopenharmony_ci				${OUTPUT}
5466e5c31af7Sopenharmony_ci			}
5467e5c31af7Sopenharmony_ci		""
5468e5c31af7Sopenharmony_ci	end
5469e5c31af7Sopenharmony_ci
5470e5c31af7Sopenharmony_ci	case bvec3_to_bvec2
5471e5c31af7Sopenharmony_ci		version 300 es
5472e5c31af7Sopenharmony_ci		values
5473e5c31af7Sopenharmony_ci		{
5474e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5475e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5476e5c31af7Sopenharmony_ci		}
5477e5c31af7Sopenharmony_ci
5478e5c31af7Sopenharmony_ci		both ""
5479e5c31af7Sopenharmony_ci			#version 300 es
5480e5c31af7Sopenharmony_ci			precision mediump float;
5481e5c31af7Sopenharmony_ci			precision mediump int;
5482e5c31af7Sopenharmony_ci
5483e5c31af7Sopenharmony_ci			${DECLARATIONS}
5484e5c31af7Sopenharmony_ci
5485e5c31af7Sopenharmony_ci			void main()
5486e5c31af7Sopenharmony_ci			{
5487e5c31af7Sopenharmony_ci				${SETUP}
5488e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
5489e5c31af7Sopenharmony_ci				${OUTPUT}
5490e5c31af7Sopenharmony_ci			}
5491e5c31af7Sopenharmony_ci		""
5492e5c31af7Sopenharmony_ci	end
5493e5c31af7Sopenharmony_ci
5494e5c31af7Sopenharmony_ci	case vec3_to_uvec3
5495e5c31af7Sopenharmony_ci		version 300 es
5496e5c31af7Sopenharmony_ci		values
5497e5c31af7Sopenharmony_ci		{
5498e5c31af7Sopenharmony_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) ];
5499e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ];
5500e5c31af7Sopenharmony_ci		}
5501e5c31af7Sopenharmony_ci
5502e5c31af7Sopenharmony_ci		both ""
5503e5c31af7Sopenharmony_ci			#version 300 es
5504e5c31af7Sopenharmony_ci			precision mediump float;
5505e5c31af7Sopenharmony_ci			precision mediump int;
5506e5c31af7Sopenharmony_ci
5507e5c31af7Sopenharmony_ci			${DECLARATIONS}
5508e5c31af7Sopenharmony_ci
5509e5c31af7Sopenharmony_ci			void main()
5510e5c31af7Sopenharmony_ci			{
5511e5c31af7Sopenharmony_ci				${SETUP}
5512e5c31af7Sopenharmony_ci				out0 = uvec3(in0);
5513e5c31af7Sopenharmony_ci				${OUTPUT}
5514e5c31af7Sopenharmony_ci			}
5515e5c31af7Sopenharmony_ci		""
5516e5c31af7Sopenharmony_ci	end
5517e5c31af7Sopenharmony_ci
5518e5c31af7Sopenharmony_ci	case vec3_to_uvec2
5519e5c31af7Sopenharmony_ci		version 300 es
5520e5c31af7Sopenharmony_ci		values
5521e5c31af7Sopenharmony_ci		{
5522e5c31af7Sopenharmony_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) ];
5523e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ];
5524e5c31af7Sopenharmony_ci		}
5525e5c31af7Sopenharmony_ci
5526e5c31af7Sopenharmony_ci		both ""
5527e5c31af7Sopenharmony_ci			#version 300 es
5528e5c31af7Sopenharmony_ci			precision mediump float;
5529e5c31af7Sopenharmony_ci			precision mediump int;
5530e5c31af7Sopenharmony_ci
5531e5c31af7Sopenharmony_ci			${DECLARATIONS}
5532e5c31af7Sopenharmony_ci
5533e5c31af7Sopenharmony_ci			void main()
5534e5c31af7Sopenharmony_ci			{
5535e5c31af7Sopenharmony_ci				${SETUP}
5536e5c31af7Sopenharmony_ci				out0 = uvec2(in0);
5537e5c31af7Sopenharmony_ci				${OUTPUT}
5538e5c31af7Sopenharmony_ci			}
5539e5c31af7Sopenharmony_ci		""
5540e5c31af7Sopenharmony_ci	end
5541e5c31af7Sopenharmony_ci
5542e5c31af7Sopenharmony_ci	case ivec3_to_uvec3
5543e5c31af7Sopenharmony_ci		version 300 es
5544e5c31af7Sopenharmony_ci		values
5545e5c31af7Sopenharmony_ci		{
5546e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 2, 4) | ivec3(32, 64, 51) | ivec3(0, 0, 0) ];
5547e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ];
5548e5c31af7Sopenharmony_ci		}
5549e5c31af7Sopenharmony_ci
5550e5c31af7Sopenharmony_ci		both ""
5551e5c31af7Sopenharmony_ci			#version 300 es
5552e5c31af7Sopenharmony_ci			precision mediump float;
5553e5c31af7Sopenharmony_ci			precision mediump int;
5554e5c31af7Sopenharmony_ci
5555e5c31af7Sopenharmony_ci			${DECLARATIONS}
5556e5c31af7Sopenharmony_ci
5557e5c31af7Sopenharmony_ci			void main()
5558e5c31af7Sopenharmony_ci			{
5559e5c31af7Sopenharmony_ci				${SETUP}
5560e5c31af7Sopenharmony_ci				out0 = uvec3(in0);
5561e5c31af7Sopenharmony_ci				${OUTPUT}
5562e5c31af7Sopenharmony_ci			}
5563e5c31af7Sopenharmony_ci		""
5564e5c31af7Sopenharmony_ci	end
5565e5c31af7Sopenharmony_ci
5566e5c31af7Sopenharmony_ci	case ivec3_to_uvec2
5567e5c31af7Sopenharmony_ci		version 300 es
5568e5c31af7Sopenharmony_ci		values
5569e5c31af7Sopenharmony_ci		{
5570e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 2, 4) | ivec3(32, 64, 51) | ivec3(0, 0, 0) ];
5571e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ];
5572e5c31af7Sopenharmony_ci		}
5573e5c31af7Sopenharmony_ci
5574e5c31af7Sopenharmony_ci		both ""
5575e5c31af7Sopenharmony_ci			#version 300 es
5576e5c31af7Sopenharmony_ci			precision mediump float;
5577e5c31af7Sopenharmony_ci			precision mediump int;
5578e5c31af7Sopenharmony_ci
5579e5c31af7Sopenharmony_ci			${DECLARATIONS}
5580e5c31af7Sopenharmony_ci
5581e5c31af7Sopenharmony_ci			void main()
5582e5c31af7Sopenharmony_ci			{
5583e5c31af7Sopenharmony_ci				${SETUP}
5584e5c31af7Sopenharmony_ci				out0 = uvec2(in0);
5585e5c31af7Sopenharmony_ci				${OUTPUT}
5586e5c31af7Sopenharmony_ci			}
5587e5c31af7Sopenharmony_ci		""
5588e5c31af7Sopenharmony_ci	end
5589e5c31af7Sopenharmony_ci
5590e5c31af7Sopenharmony_ci	case uvec3_to_uvec3
5591e5c31af7Sopenharmony_ci		version 300 es
5592e5c31af7Sopenharmony_ci		values
5593e5c31af7Sopenharmony_ci		{
5594e5c31af7Sopenharmony_ci			input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ];
5595e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ];
5596e5c31af7Sopenharmony_ci		}
5597e5c31af7Sopenharmony_ci
5598e5c31af7Sopenharmony_ci		both ""
5599e5c31af7Sopenharmony_ci			#version 300 es
5600e5c31af7Sopenharmony_ci			precision mediump float;
5601e5c31af7Sopenharmony_ci			precision mediump int;
5602e5c31af7Sopenharmony_ci
5603e5c31af7Sopenharmony_ci			${DECLARATIONS}
5604e5c31af7Sopenharmony_ci
5605e5c31af7Sopenharmony_ci			void main()
5606e5c31af7Sopenharmony_ci			{
5607e5c31af7Sopenharmony_ci				${SETUP}
5608e5c31af7Sopenharmony_ci				out0 = uvec3(in0);
5609e5c31af7Sopenharmony_ci				${OUTPUT}
5610e5c31af7Sopenharmony_ci			}
5611e5c31af7Sopenharmony_ci		""
5612e5c31af7Sopenharmony_ci	end
5613e5c31af7Sopenharmony_ci
5614e5c31af7Sopenharmony_ci	case uvec3_to_uvec2
5615e5c31af7Sopenharmony_ci		version 300 es
5616e5c31af7Sopenharmony_ci		values
5617e5c31af7Sopenharmony_ci		{
5618e5c31af7Sopenharmony_ci			input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ];
5619e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ];
5620e5c31af7Sopenharmony_ci		}
5621e5c31af7Sopenharmony_ci
5622e5c31af7Sopenharmony_ci		both ""
5623e5c31af7Sopenharmony_ci			#version 300 es
5624e5c31af7Sopenharmony_ci			precision mediump float;
5625e5c31af7Sopenharmony_ci			precision mediump int;
5626e5c31af7Sopenharmony_ci
5627e5c31af7Sopenharmony_ci			${DECLARATIONS}
5628e5c31af7Sopenharmony_ci
5629e5c31af7Sopenharmony_ci			void main()
5630e5c31af7Sopenharmony_ci			{
5631e5c31af7Sopenharmony_ci				${SETUP}
5632e5c31af7Sopenharmony_ci				out0 = uvec2(in0);
5633e5c31af7Sopenharmony_ci				${OUTPUT}
5634e5c31af7Sopenharmony_ci			}
5635e5c31af7Sopenharmony_ci		""
5636e5c31af7Sopenharmony_ci	end
5637e5c31af7Sopenharmony_ci
5638e5c31af7Sopenharmony_ci	case bvec3_to_uvec3
5639e5c31af7Sopenharmony_ci		version 300 es
5640e5c31af7Sopenharmony_ci		values
5641e5c31af7Sopenharmony_ci		{
5642e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5643e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(1, 0, 0) | uvec3(0, 0, 0) | uvec3(0, 1, 0) | uvec3(1, 1, 1) | uvec3(0, 0, 0) ];
5644e5c31af7Sopenharmony_ci		}
5645e5c31af7Sopenharmony_ci
5646e5c31af7Sopenharmony_ci		both ""
5647e5c31af7Sopenharmony_ci			#version 300 es
5648e5c31af7Sopenharmony_ci			precision mediump float;
5649e5c31af7Sopenharmony_ci			precision mediump int;
5650e5c31af7Sopenharmony_ci
5651e5c31af7Sopenharmony_ci			${DECLARATIONS}
5652e5c31af7Sopenharmony_ci
5653e5c31af7Sopenharmony_ci			void main()
5654e5c31af7Sopenharmony_ci			{
5655e5c31af7Sopenharmony_ci				${SETUP}
5656e5c31af7Sopenharmony_ci				out0 = uvec3(in0);
5657e5c31af7Sopenharmony_ci				${OUTPUT}
5658e5c31af7Sopenharmony_ci			}
5659e5c31af7Sopenharmony_ci		""
5660e5c31af7Sopenharmony_ci	end
5661e5c31af7Sopenharmony_ci
5662e5c31af7Sopenharmony_ci	case bvec3_to_uvec2
5663e5c31af7Sopenharmony_ci		version 300 es
5664e5c31af7Sopenharmony_ci		values
5665e5c31af7Sopenharmony_ci		{
5666e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5667e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(1, 0) | uvec2(0, 0) | uvec2(0, 1) | uvec2(1, 1) | uvec2(0, 0) ];
5668e5c31af7Sopenharmony_ci		}
5669e5c31af7Sopenharmony_ci
5670e5c31af7Sopenharmony_ci		both ""
5671e5c31af7Sopenharmony_ci			#version 300 es
5672e5c31af7Sopenharmony_ci			precision mediump float;
5673e5c31af7Sopenharmony_ci			precision mediump int;
5674e5c31af7Sopenharmony_ci
5675e5c31af7Sopenharmony_ci			${DECLARATIONS}
5676e5c31af7Sopenharmony_ci
5677e5c31af7Sopenharmony_ci			void main()
5678e5c31af7Sopenharmony_ci			{
5679e5c31af7Sopenharmony_ci				${SETUP}
5680e5c31af7Sopenharmony_ci				out0 = uvec2(in0);
5681e5c31af7Sopenharmony_ci				${OUTPUT}
5682e5c31af7Sopenharmony_ci			}
5683e5c31af7Sopenharmony_ci		""
5684e5c31af7Sopenharmony_ci	end
5685e5c31af7Sopenharmony_ci
5686e5c31af7Sopenharmony_ci	case vec2_to_vec2
5687e5c31af7Sopenharmony_ci		version 300 es
5688e5c31af7Sopenharmony_ci		values
5689e5c31af7Sopenharmony_ci		{
5690e5c31af7Sopenharmony_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) ];
5691e5c31af7Sopenharmony_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) ];
5692e5c31af7Sopenharmony_ci		}
5693e5c31af7Sopenharmony_ci
5694e5c31af7Sopenharmony_ci		both ""
5695e5c31af7Sopenharmony_ci			#version 300 es
5696e5c31af7Sopenharmony_ci			precision mediump float;
5697e5c31af7Sopenharmony_ci			precision mediump int;
5698e5c31af7Sopenharmony_ci
5699e5c31af7Sopenharmony_ci			${DECLARATIONS}
5700e5c31af7Sopenharmony_ci
5701e5c31af7Sopenharmony_ci			void main()
5702e5c31af7Sopenharmony_ci			{
5703e5c31af7Sopenharmony_ci				${SETUP}
5704e5c31af7Sopenharmony_ci				out0 = vec2(in0);
5705e5c31af7Sopenharmony_ci				${OUTPUT}
5706e5c31af7Sopenharmony_ci			}
5707e5c31af7Sopenharmony_ci		""
5708e5c31af7Sopenharmony_ci	end
5709e5c31af7Sopenharmony_ci
5710e5c31af7Sopenharmony_ci	case vec2_to_ivec2
5711e5c31af7Sopenharmony_ci		version 300 es
5712e5c31af7Sopenharmony_ci		values
5713e5c31af7Sopenharmony_ci		{
5714e5c31af7Sopenharmony_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) ];
5715e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
5716e5c31af7Sopenharmony_ci		}
5717e5c31af7Sopenharmony_ci
5718e5c31af7Sopenharmony_ci		both ""
5719e5c31af7Sopenharmony_ci			#version 300 es
5720e5c31af7Sopenharmony_ci			precision mediump float;
5721e5c31af7Sopenharmony_ci			precision mediump int;
5722e5c31af7Sopenharmony_ci
5723e5c31af7Sopenharmony_ci			${DECLARATIONS}
5724e5c31af7Sopenharmony_ci
5725e5c31af7Sopenharmony_ci			void main()
5726e5c31af7Sopenharmony_ci			{
5727e5c31af7Sopenharmony_ci				${SETUP}
5728e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
5729e5c31af7Sopenharmony_ci				${OUTPUT}
5730e5c31af7Sopenharmony_ci			}
5731e5c31af7Sopenharmony_ci		""
5732e5c31af7Sopenharmony_ci	end
5733e5c31af7Sopenharmony_ci
5734e5c31af7Sopenharmony_ci	case vec2_to_bvec2
5735e5c31af7Sopenharmony_ci		version 300 es
5736e5c31af7Sopenharmony_ci		values
5737e5c31af7Sopenharmony_ci		{
5738e5c31af7Sopenharmony_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) ];
5739e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ];
5740e5c31af7Sopenharmony_ci		}
5741e5c31af7Sopenharmony_ci
5742e5c31af7Sopenharmony_ci		both ""
5743e5c31af7Sopenharmony_ci			#version 300 es
5744e5c31af7Sopenharmony_ci			precision mediump float;
5745e5c31af7Sopenharmony_ci			precision mediump int;
5746e5c31af7Sopenharmony_ci
5747e5c31af7Sopenharmony_ci			${DECLARATIONS}
5748e5c31af7Sopenharmony_ci
5749e5c31af7Sopenharmony_ci			void main()
5750e5c31af7Sopenharmony_ci			{
5751e5c31af7Sopenharmony_ci				${SETUP}
5752e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
5753e5c31af7Sopenharmony_ci				${OUTPUT}
5754e5c31af7Sopenharmony_ci			}
5755e5c31af7Sopenharmony_ci		""
5756e5c31af7Sopenharmony_ci	end
5757e5c31af7Sopenharmony_ci
5758e5c31af7Sopenharmony_ci	case ivec2_to_vec2
5759e5c31af7Sopenharmony_ci		version 300 es
5760e5c31af7Sopenharmony_ci		values
5761e5c31af7Sopenharmony_ci		{
5762e5c31af7Sopenharmony_ci			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
5763e5c31af7Sopenharmony_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) ];
5764e5c31af7Sopenharmony_ci		}
5765e5c31af7Sopenharmony_ci
5766e5c31af7Sopenharmony_ci		both ""
5767e5c31af7Sopenharmony_ci			#version 300 es
5768e5c31af7Sopenharmony_ci			precision mediump float;
5769e5c31af7Sopenharmony_ci			precision mediump int;
5770e5c31af7Sopenharmony_ci
5771e5c31af7Sopenharmony_ci			${DECLARATIONS}
5772e5c31af7Sopenharmony_ci
5773e5c31af7Sopenharmony_ci			void main()
5774e5c31af7Sopenharmony_ci			{
5775e5c31af7Sopenharmony_ci				${SETUP}
5776e5c31af7Sopenharmony_ci				out0 = vec2(in0);
5777e5c31af7Sopenharmony_ci				${OUTPUT}
5778e5c31af7Sopenharmony_ci			}
5779e5c31af7Sopenharmony_ci		""
5780e5c31af7Sopenharmony_ci	end
5781e5c31af7Sopenharmony_ci
5782e5c31af7Sopenharmony_ci	case ivec2_to_ivec2
5783e5c31af7Sopenharmony_ci		version 300 es
5784e5c31af7Sopenharmony_ci		values
5785e5c31af7Sopenharmony_ci		{
5786e5c31af7Sopenharmony_ci			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
5787e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
5788e5c31af7Sopenharmony_ci		}
5789e5c31af7Sopenharmony_ci
5790e5c31af7Sopenharmony_ci		both ""
5791e5c31af7Sopenharmony_ci			#version 300 es
5792e5c31af7Sopenharmony_ci			precision mediump float;
5793e5c31af7Sopenharmony_ci			precision mediump int;
5794e5c31af7Sopenharmony_ci
5795e5c31af7Sopenharmony_ci			${DECLARATIONS}
5796e5c31af7Sopenharmony_ci
5797e5c31af7Sopenharmony_ci			void main()
5798e5c31af7Sopenharmony_ci			{
5799e5c31af7Sopenharmony_ci				${SETUP}
5800e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
5801e5c31af7Sopenharmony_ci				${OUTPUT}
5802e5c31af7Sopenharmony_ci			}
5803e5c31af7Sopenharmony_ci		""
5804e5c31af7Sopenharmony_ci	end
5805e5c31af7Sopenharmony_ci
5806e5c31af7Sopenharmony_ci	case ivec2_to_bvec2
5807e5c31af7Sopenharmony_ci		version 300 es
5808e5c31af7Sopenharmony_ci		values
5809e5c31af7Sopenharmony_ci		{
5810e5c31af7Sopenharmony_ci			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
5811e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5812e5c31af7Sopenharmony_ci		}
5813e5c31af7Sopenharmony_ci
5814e5c31af7Sopenharmony_ci		both ""
5815e5c31af7Sopenharmony_ci			#version 300 es
5816e5c31af7Sopenharmony_ci			precision mediump float;
5817e5c31af7Sopenharmony_ci			precision mediump int;
5818e5c31af7Sopenharmony_ci
5819e5c31af7Sopenharmony_ci			${DECLARATIONS}
5820e5c31af7Sopenharmony_ci
5821e5c31af7Sopenharmony_ci			void main()
5822e5c31af7Sopenharmony_ci			{
5823e5c31af7Sopenharmony_ci				${SETUP}
5824e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
5825e5c31af7Sopenharmony_ci				${OUTPUT}
5826e5c31af7Sopenharmony_ci			}
5827e5c31af7Sopenharmony_ci		""
5828e5c31af7Sopenharmony_ci	end
5829e5c31af7Sopenharmony_ci
5830e5c31af7Sopenharmony_ci	case uvec2_to_vec2
5831e5c31af7Sopenharmony_ci		version 300 es
5832e5c31af7Sopenharmony_ci		values
5833e5c31af7Sopenharmony_ci		{
5834e5c31af7Sopenharmony_ci			input uvec2 in0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ];
5835e5c31af7Sopenharmony_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) ];
5836e5c31af7Sopenharmony_ci		}
5837e5c31af7Sopenharmony_ci
5838e5c31af7Sopenharmony_ci		both ""
5839e5c31af7Sopenharmony_ci			#version 300 es
5840e5c31af7Sopenharmony_ci			precision mediump float;
5841e5c31af7Sopenharmony_ci			precision mediump int;
5842e5c31af7Sopenharmony_ci
5843e5c31af7Sopenharmony_ci			${DECLARATIONS}
5844e5c31af7Sopenharmony_ci
5845e5c31af7Sopenharmony_ci			void main()
5846e5c31af7Sopenharmony_ci			{
5847e5c31af7Sopenharmony_ci				${SETUP}
5848e5c31af7Sopenharmony_ci				out0 = vec2(in0);
5849e5c31af7Sopenharmony_ci				${OUTPUT}
5850e5c31af7Sopenharmony_ci			}
5851e5c31af7Sopenharmony_ci		""
5852e5c31af7Sopenharmony_ci	end
5853e5c31af7Sopenharmony_ci
5854e5c31af7Sopenharmony_ci	case uvec2_to_ivec2
5855e5c31af7Sopenharmony_ci		version 300 es
5856e5c31af7Sopenharmony_ci		values
5857e5c31af7Sopenharmony_ci		{
5858e5c31af7Sopenharmony_ci			input uvec2 in0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ];
5859e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 2) | ivec2(32, 64) | ivec2(0, 0) ];
5860e5c31af7Sopenharmony_ci		}
5861e5c31af7Sopenharmony_ci
5862e5c31af7Sopenharmony_ci		both ""
5863e5c31af7Sopenharmony_ci			#version 300 es
5864e5c31af7Sopenharmony_ci			precision mediump float;
5865e5c31af7Sopenharmony_ci			precision mediump int;
5866e5c31af7Sopenharmony_ci
5867e5c31af7Sopenharmony_ci			${DECLARATIONS}
5868e5c31af7Sopenharmony_ci
5869e5c31af7Sopenharmony_ci			void main()
5870e5c31af7Sopenharmony_ci			{
5871e5c31af7Sopenharmony_ci				${SETUP}
5872e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
5873e5c31af7Sopenharmony_ci				${OUTPUT}
5874e5c31af7Sopenharmony_ci			}
5875e5c31af7Sopenharmony_ci		""
5876e5c31af7Sopenharmony_ci	end
5877e5c31af7Sopenharmony_ci
5878e5c31af7Sopenharmony_ci	case uvec2_to_bvec2
5879e5c31af7Sopenharmony_ci		version 300 es
5880e5c31af7Sopenharmony_ci		values
5881e5c31af7Sopenharmony_ci		{
5882e5c31af7Sopenharmony_ci			input uvec2 in0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ];
5883e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5884e5c31af7Sopenharmony_ci		}
5885e5c31af7Sopenharmony_ci
5886e5c31af7Sopenharmony_ci		both ""
5887e5c31af7Sopenharmony_ci			#version 300 es
5888e5c31af7Sopenharmony_ci			precision mediump float;
5889e5c31af7Sopenharmony_ci			precision mediump int;
5890e5c31af7Sopenharmony_ci
5891e5c31af7Sopenharmony_ci			${DECLARATIONS}
5892e5c31af7Sopenharmony_ci
5893e5c31af7Sopenharmony_ci			void main()
5894e5c31af7Sopenharmony_ci			{
5895e5c31af7Sopenharmony_ci				${SETUP}
5896e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
5897e5c31af7Sopenharmony_ci				${OUTPUT}
5898e5c31af7Sopenharmony_ci			}
5899e5c31af7Sopenharmony_ci		""
5900e5c31af7Sopenharmony_ci	end
5901e5c31af7Sopenharmony_ci
5902e5c31af7Sopenharmony_ci	case bvec2_to_vec2
5903e5c31af7Sopenharmony_ci		version 300 es
5904e5c31af7Sopenharmony_ci		values
5905e5c31af7Sopenharmony_ci		{
5906e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5907e5c31af7Sopenharmony_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) ];
5908e5c31af7Sopenharmony_ci		}
5909e5c31af7Sopenharmony_ci
5910e5c31af7Sopenharmony_ci		both ""
5911e5c31af7Sopenharmony_ci			#version 300 es
5912e5c31af7Sopenharmony_ci			precision mediump float;
5913e5c31af7Sopenharmony_ci			precision mediump int;
5914e5c31af7Sopenharmony_ci
5915e5c31af7Sopenharmony_ci			${DECLARATIONS}
5916e5c31af7Sopenharmony_ci
5917e5c31af7Sopenharmony_ci			void main()
5918e5c31af7Sopenharmony_ci			{
5919e5c31af7Sopenharmony_ci				${SETUP}
5920e5c31af7Sopenharmony_ci				out0 = vec2(in0);
5921e5c31af7Sopenharmony_ci				${OUTPUT}
5922e5c31af7Sopenharmony_ci			}
5923e5c31af7Sopenharmony_ci		""
5924e5c31af7Sopenharmony_ci	end
5925e5c31af7Sopenharmony_ci
5926e5c31af7Sopenharmony_ci	case bvec2_to_ivec2
5927e5c31af7Sopenharmony_ci		version 300 es
5928e5c31af7Sopenharmony_ci		values
5929e5c31af7Sopenharmony_ci		{
5930e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5931e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(1, 0) | ivec2(0, 0) | ivec2(0, 1) | ivec2(1, 1) | ivec2(0, 0) ];
5932e5c31af7Sopenharmony_ci		}
5933e5c31af7Sopenharmony_ci
5934e5c31af7Sopenharmony_ci		both ""
5935e5c31af7Sopenharmony_ci			#version 300 es
5936e5c31af7Sopenharmony_ci			precision mediump float;
5937e5c31af7Sopenharmony_ci			precision mediump int;
5938e5c31af7Sopenharmony_ci
5939e5c31af7Sopenharmony_ci			${DECLARATIONS}
5940e5c31af7Sopenharmony_ci
5941e5c31af7Sopenharmony_ci			void main()
5942e5c31af7Sopenharmony_ci			{
5943e5c31af7Sopenharmony_ci				${SETUP}
5944e5c31af7Sopenharmony_ci				out0 = ivec2(in0);
5945e5c31af7Sopenharmony_ci				${OUTPUT}
5946e5c31af7Sopenharmony_ci			}
5947e5c31af7Sopenharmony_ci		""
5948e5c31af7Sopenharmony_ci	end
5949e5c31af7Sopenharmony_ci
5950e5c31af7Sopenharmony_ci	case bvec2_to_bvec2
5951e5c31af7Sopenharmony_ci		version 300 es
5952e5c31af7Sopenharmony_ci		values
5953e5c31af7Sopenharmony_ci		{
5954e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5955e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5956e5c31af7Sopenharmony_ci		}
5957e5c31af7Sopenharmony_ci
5958e5c31af7Sopenharmony_ci		both ""
5959e5c31af7Sopenharmony_ci			#version 300 es
5960e5c31af7Sopenharmony_ci			precision mediump float;
5961e5c31af7Sopenharmony_ci			precision mediump int;
5962e5c31af7Sopenharmony_ci
5963e5c31af7Sopenharmony_ci			${DECLARATIONS}
5964e5c31af7Sopenharmony_ci
5965e5c31af7Sopenharmony_ci			void main()
5966e5c31af7Sopenharmony_ci			{
5967e5c31af7Sopenharmony_ci				${SETUP}
5968e5c31af7Sopenharmony_ci				out0 = bvec2(in0);
5969e5c31af7Sopenharmony_ci				${OUTPUT}
5970e5c31af7Sopenharmony_ci			}
5971e5c31af7Sopenharmony_ci		""
5972e5c31af7Sopenharmony_ci	end
5973e5c31af7Sopenharmony_ci
5974e5c31af7Sopenharmony_ci	case vec2_to_uvec2
5975e5c31af7Sopenharmony_ci		version 300 es
5976e5c31af7Sopenharmony_ci		values
5977e5c31af7Sopenharmony_ci		{
5978e5c31af7Sopenharmony_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) ];
5979e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ];
5980e5c31af7Sopenharmony_ci		}
5981e5c31af7Sopenharmony_ci
5982e5c31af7Sopenharmony_ci		both ""
5983e5c31af7Sopenharmony_ci			#version 300 es
5984e5c31af7Sopenharmony_ci			precision mediump float;
5985e5c31af7Sopenharmony_ci			precision mediump int;
5986e5c31af7Sopenharmony_ci
5987e5c31af7Sopenharmony_ci			${DECLARATIONS}
5988e5c31af7Sopenharmony_ci
5989e5c31af7Sopenharmony_ci			void main()
5990e5c31af7Sopenharmony_ci			{
5991e5c31af7Sopenharmony_ci				${SETUP}
5992e5c31af7Sopenharmony_ci				out0 = uvec2(in0);
5993e5c31af7Sopenharmony_ci				${OUTPUT}
5994e5c31af7Sopenharmony_ci			}
5995e5c31af7Sopenharmony_ci		""
5996e5c31af7Sopenharmony_ci	end
5997e5c31af7Sopenharmony_ci
5998e5c31af7Sopenharmony_ci	case ivec2_to_uvec2
5999e5c31af7Sopenharmony_ci		version 300 es
6000e5c31af7Sopenharmony_ci		values
6001e5c31af7Sopenharmony_ci		{
6002e5c31af7Sopenharmony_ci			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 2) | ivec2(32, 64) | ivec2(0, 0) ];
6003e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ];
6004e5c31af7Sopenharmony_ci		}
6005e5c31af7Sopenharmony_ci
6006e5c31af7Sopenharmony_ci		both ""
6007e5c31af7Sopenharmony_ci			#version 300 es
6008e5c31af7Sopenharmony_ci			precision mediump float;
6009e5c31af7Sopenharmony_ci			precision mediump int;
6010e5c31af7Sopenharmony_ci
6011e5c31af7Sopenharmony_ci			${DECLARATIONS}
6012e5c31af7Sopenharmony_ci
6013e5c31af7Sopenharmony_ci			void main()
6014e5c31af7Sopenharmony_ci			{
6015e5c31af7Sopenharmony_ci				${SETUP}
6016e5c31af7Sopenharmony_ci				out0 = uvec2(in0);
6017e5c31af7Sopenharmony_ci				${OUTPUT}
6018e5c31af7Sopenharmony_ci			}
6019e5c31af7Sopenharmony_ci		""
6020e5c31af7Sopenharmony_ci	end
6021e5c31af7Sopenharmony_ci
6022e5c31af7Sopenharmony_ci	case uvec2_to_uvec2
6023e5c31af7Sopenharmony_ci		version 300 es
6024e5c31af7Sopenharmony_ci		values
6025e5c31af7Sopenharmony_ci		{
6026e5c31af7Sopenharmony_ci			input uvec2 in0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ];
6027e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ];
6028e5c31af7Sopenharmony_ci		}
6029e5c31af7Sopenharmony_ci
6030e5c31af7Sopenharmony_ci		both ""
6031e5c31af7Sopenharmony_ci			#version 300 es
6032e5c31af7Sopenharmony_ci			precision mediump float;
6033e5c31af7Sopenharmony_ci			precision mediump int;
6034e5c31af7Sopenharmony_ci
6035e5c31af7Sopenharmony_ci			${DECLARATIONS}
6036e5c31af7Sopenharmony_ci
6037e5c31af7Sopenharmony_ci			void main()
6038e5c31af7Sopenharmony_ci			{
6039e5c31af7Sopenharmony_ci				${SETUP}
6040e5c31af7Sopenharmony_ci				out0 = uvec2(in0);
6041e5c31af7Sopenharmony_ci				${OUTPUT}
6042e5c31af7Sopenharmony_ci			}
6043e5c31af7Sopenharmony_ci		""
6044e5c31af7Sopenharmony_ci	end
6045e5c31af7Sopenharmony_ci
6046e5c31af7Sopenharmony_ci	case bvec2_to_uvec2
6047e5c31af7Sopenharmony_ci		version 300 es
6048e5c31af7Sopenharmony_ci		values
6049e5c31af7Sopenharmony_ci		{
6050e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
6051e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(1, 0) | uvec2(0, 0) | uvec2(0, 1) | uvec2(1, 1) | uvec2(0, 0) ];
6052e5c31af7Sopenharmony_ci		}
6053e5c31af7Sopenharmony_ci
6054e5c31af7Sopenharmony_ci		both ""
6055e5c31af7Sopenharmony_ci			#version 300 es
6056e5c31af7Sopenharmony_ci			precision mediump float;
6057e5c31af7Sopenharmony_ci			precision mediump int;
6058e5c31af7Sopenharmony_ci
6059e5c31af7Sopenharmony_ci			${DECLARATIONS}
6060e5c31af7Sopenharmony_ci
6061e5c31af7Sopenharmony_ci			void main()
6062e5c31af7Sopenharmony_ci			{
6063e5c31af7Sopenharmony_ci				${SETUP}
6064e5c31af7Sopenharmony_ci				out0 = uvec2(in0);
6065e5c31af7Sopenharmony_ci				${OUTPUT}
6066e5c31af7Sopenharmony_ci			}
6067e5c31af7Sopenharmony_ci		""
6068e5c31af7Sopenharmony_ci	end
6069e5c31af7Sopenharmony_ci
6070e5c31af7Sopenharmony_ci
6071e5c31af7Sopenharmony_ciend # vector_to_vector
6072e5c31af7Sopenharmony_cigroup scalar_to_matrix "Scalar to Matrix Conversions"
6073e5c31af7Sopenharmony_ci
6074e5c31af7Sopenharmony_ci	case float_to_mat4
6075e5c31af7Sopenharmony_ci		version 300 es
6076e5c31af7Sopenharmony_ci		values
6077e5c31af7Sopenharmony_ci		{
6078e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
6079e5c31af7Sopenharmony_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) ];
6080e5c31af7Sopenharmony_ci		}
6081e5c31af7Sopenharmony_ci
6082e5c31af7Sopenharmony_ci		both ""
6083e5c31af7Sopenharmony_ci			#version 300 es
6084e5c31af7Sopenharmony_ci			precision mediump float;
6085e5c31af7Sopenharmony_ci			precision mediump int;
6086e5c31af7Sopenharmony_ci
6087e5c31af7Sopenharmony_ci			${DECLARATIONS}
6088e5c31af7Sopenharmony_ci
6089e5c31af7Sopenharmony_ci			void main()
6090e5c31af7Sopenharmony_ci			{
6091e5c31af7Sopenharmony_ci				${SETUP}
6092e5c31af7Sopenharmony_ci				out0 = mat4(in0);
6093e5c31af7Sopenharmony_ci				${OUTPUT}
6094e5c31af7Sopenharmony_ci			}
6095e5c31af7Sopenharmony_ci		""
6096e5c31af7Sopenharmony_ci	end
6097e5c31af7Sopenharmony_ci
6098e5c31af7Sopenharmony_ci	case float_to_mat4x3
6099e5c31af7Sopenharmony_ci		version 300 es
6100e5c31af7Sopenharmony_ci		values
6101e5c31af7Sopenharmony_ci		{
6102e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
6103e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0) | mat4x3(3.5, 0.0, 0.0, 0.0, 3.5, 0.0, 0.0, 0.0, 3.5, 0.0, 0.0, 0.0) | mat4x3(-0.5, 0.0, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0) | mat4x3(-8.25, 0.0, 0.0, 0.0, -8.25, 0.0, 0.0, 0.0, -8.25, 0.0, 0.0, 0.0) | mat4x3(-20.125, 0.0, 0.0, 0.0, -20.125, 0.0, 0.0, 0.0, -20.125, 0.0, 0.0, 0.0) | mat4x3(36.8125, 0.0, 0.0, 0.0, 36.8125, 0.0, 0.0, 0.0, 36.8125, 0.0, 0.0, 0.0) ];
6104e5c31af7Sopenharmony_ci		}
6105e5c31af7Sopenharmony_ci
6106e5c31af7Sopenharmony_ci		both ""
6107e5c31af7Sopenharmony_ci			#version 300 es
6108e5c31af7Sopenharmony_ci			precision mediump float;
6109e5c31af7Sopenharmony_ci			precision mediump int;
6110e5c31af7Sopenharmony_ci
6111e5c31af7Sopenharmony_ci			${DECLARATIONS}
6112e5c31af7Sopenharmony_ci
6113e5c31af7Sopenharmony_ci			void main()
6114e5c31af7Sopenharmony_ci			{
6115e5c31af7Sopenharmony_ci				${SETUP}
6116e5c31af7Sopenharmony_ci				out0 = mat4x3(in0);
6117e5c31af7Sopenharmony_ci				${OUTPUT}
6118e5c31af7Sopenharmony_ci			}
6119e5c31af7Sopenharmony_ci		""
6120e5c31af7Sopenharmony_ci	end
6121e5c31af7Sopenharmony_ci
6122e5c31af7Sopenharmony_ci	case float_to_mat4x2
6123e5c31af7Sopenharmony_ci		version 300 es
6124e5c31af7Sopenharmony_ci		values
6125e5c31af7Sopenharmony_ci		{
6126e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
6127e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(2.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(3.5, 0.0, 0.0, 3.5, 0.0, 0.0, 0.0, 0.0) | mat4x2(-0.5, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0, 0.0) | mat4x2(-8.25, 0.0, 0.0, -8.25, 0.0, 0.0, 0.0, 0.0) | mat4x2(-20.125, 0.0, 0.0, -20.125, 0.0, 0.0, 0.0, 0.0) | mat4x2(36.8125, 0.0, 0.0, 36.8125, 0.0, 0.0, 0.0, 0.0) ];
6128e5c31af7Sopenharmony_ci		}
6129e5c31af7Sopenharmony_ci
6130e5c31af7Sopenharmony_ci		both ""
6131e5c31af7Sopenharmony_ci			#version 300 es
6132e5c31af7Sopenharmony_ci			precision mediump float;
6133e5c31af7Sopenharmony_ci			precision mediump int;
6134e5c31af7Sopenharmony_ci
6135e5c31af7Sopenharmony_ci			${DECLARATIONS}
6136e5c31af7Sopenharmony_ci
6137e5c31af7Sopenharmony_ci			void main()
6138e5c31af7Sopenharmony_ci			{
6139e5c31af7Sopenharmony_ci				${SETUP}
6140e5c31af7Sopenharmony_ci				out0 = mat4x2(in0);
6141e5c31af7Sopenharmony_ci				${OUTPUT}
6142e5c31af7Sopenharmony_ci			}
6143e5c31af7Sopenharmony_ci		""
6144e5c31af7Sopenharmony_ci	end
6145e5c31af7Sopenharmony_ci
6146e5c31af7Sopenharmony_ci	case float_to_mat3x4
6147e5c31af7Sopenharmony_ci		version 300 es
6148e5c31af7Sopenharmony_ci		values
6149e5c31af7Sopenharmony_ci		{
6150e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
6151e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0) | mat3x4(3.5, 0.0, 0.0, 0.0, 0.0, 3.5, 0.0, 0.0, 0.0, 0.0, 3.5, 0.0) | mat3x4(-0.5, 0.0, 0.0, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0, 0.0, -0.5, 0.0) | mat3x4(-8.25, 0.0, 0.0, 0.0, 0.0, -8.25, 0.0, 0.0, 0.0, 0.0, -8.25, 0.0) | mat3x4(-20.125, 0.0, 0.0, 0.0, 0.0, -20.125, 0.0, 0.0, 0.0, 0.0, -20.125, 0.0) | mat3x4(36.8125, 0.0, 0.0, 0.0, 0.0, 36.8125, 0.0, 0.0, 0.0, 0.0, 36.8125, 0.0) ];
6152e5c31af7Sopenharmony_ci		}
6153e5c31af7Sopenharmony_ci
6154e5c31af7Sopenharmony_ci		both ""
6155e5c31af7Sopenharmony_ci			#version 300 es
6156e5c31af7Sopenharmony_ci			precision mediump float;
6157e5c31af7Sopenharmony_ci			precision mediump int;
6158e5c31af7Sopenharmony_ci
6159e5c31af7Sopenharmony_ci			${DECLARATIONS}
6160e5c31af7Sopenharmony_ci
6161e5c31af7Sopenharmony_ci			void main()
6162e5c31af7Sopenharmony_ci			{
6163e5c31af7Sopenharmony_ci				${SETUP}
6164e5c31af7Sopenharmony_ci				out0 = mat3x4(in0);
6165e5c31af7Sopenharmony_ci				${OUTPUT}
6166e5c31af7Sopenharmony_ci			}
6167e5c31af7Sopenharmony_ci		""
6168e5c31af7Sopenharmony_ci	end
6169e5c31af7Sopenharmony_ci
6170e5c31af7Sopenharmony_ci	case float_to_mat3
6171e5c31af7Sopenharmony_ci		version 300 es
6172e5c31af7Sopenharmony_ci		values
6173e5c31af7Sopenharmony_ci		{
6174e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
6175e5c31af7Sopenharmony_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) ];
6176e5c31af7Sopenharmony_ci		}
6177e5c31af7Sopenharmony_ci
6178e5c31af7Sopenharmony_ci		both ""
6179e5c31af7Sopenharmony_ci			#version 300 es
6180e5c31af7Sopenharmony_ci			precision mediump float;
6181e5c31af7Sopenharmony_ci			precision mediump int;
6182e5c31af7Sopenharmony_ci
6183e5c31af7Sopenharmony_ci			${DECLARATIONS}
6184e5c31af7Sopenharmony_ci
6185e5c31af7Sopenharmony_ci			void main()
6186e5c31af7Sopenharmony_ci			{
6187e5c31af7Sopenharmony_ci				${SETUP}
6188e5c31af7Sopenharmony_ci				out0 = mat3(in0);
6189e5c31af7Sopenharmony_ci				${OUTPUT}
6190e5c31af7Sopenharmony_ci			}
6191e5c31af7Sopenharmony_ci		""
6192e5c31af7Sopenharmony_ci	end
6193e5c31af7Sopenharmony_ci
6194e5c31af7Sopenharmony_ci	case float_to_mat3x2
6195e5c31af7Sopenharmony_ci		version 300 es
6196e5c31af7Sopenharmony_ci		values
6197e5c31af7Sopenharmony_ci		{
6198e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
6199e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(2.0, 0.0, 0.0, 2.0, 0.0, 0.0) | mat3x2(3.5, 0.0, 0.0, 3.5, 0.0, 0.0) | mat3x2(-0.5, 0.0, 0.0, -0.5, 0.0, 0.0) | mat3x2(-8.25, 0.0, 0.0, -8.25, 0.0, 0.0) | mat3x2(-20.125, 0.0, 0.0, -20.125, 0.0, 0.0) | mat3x2(36.8125, 0.0, 0.0, 36.8125, 0.0, 0.0) ];
6200e5c31af7Sopenharmony_ci		}
6201e5c31af7Sopenharmony_ci
6202e5c31af7Sopenharmony_ci		both ""
6203e5c31af7Sopenharmony_ci			#version 300 es
6204e5c31af7Sopenharmony_ci			precision mediump float;
6205e5c31af7Sopenharmony_ci			precision mediump int;
6206e5c31af7Sopenharmony_ci
6207e5c31af7Sopenharmony_ci			${DECLARATIONS}
6208e5c31af7Sopenharmony_ci
6209e5c31af7Sopenharmony_ci			void main()
6210e5c31af7Sopenharmony_ci			{
6211e5c31af7Sopenharmony_ci				${SETUP}
6212e5c31af7Sopenharmony_ci				out0 = mat3x2(in0);
6213e5c31af7Sopenharmony_ci				${OUTPUT}
6214e5c31af7Sopenharmony_ci			}
6215e5c31af7Sopenharmony_ci		""
6216e5c31af7Sopenharmony_ci	end
6217e5c31af7Sopenharmony_ci
6218e5c31af7Sopenharmony_ci	case float_to_mat2x4
6219e5c31af7Sopenharmony_ci		version 300 es
6220e5c31af7Sopenharmony_ci		values
6221e5c31af7Sopenharmony_ci		{
6222e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
6223e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0) | mat2x4(3.5, 0.0, 0.0, 0.0, 0.0, 3.5, 0.0, 0.0) | mat2x4(-0.5, 0.0, 0.0, 0.0, 0.0, -0.5, 0.0, 0.0) | mat2x4(-8.25, 0.0, 0.0, 0.0, 0.0, -8.25, 0.0, 0.0) | mat2x4(-20.125, 0.0, 0.0, 0.0, 0.0, -20.125, 0.0, 0.0) | mat2x4(36.8125, 0.0, 0.0, 0.0, 0.0, 36.8125, 0.0, 0.0) ];
6224e5c31af7Sopenharmony_ci		}
6225e5c31af7Sopenharmony_ci
6226e5c31af7Sopenharmony_ci		both ""
6227e5c31af7Sopenharmony_ci			#version 300 es
6228e5c31af7Sopenharmony_ci			precision mediump float;
6229e5c31af7Sopenharmony_ci			precision mediump int;
6230e5c31af7Sopenharmony_ci
6231e5c31af7Sopenharmony_ci			${DECLARATIONS}
6232e5c31af7Sopenharmony_ci
6233e5c31af7Sopenharmony_ci			void main()
6234e5c31af7Sopenharmony_ci			{
6235e5c31af7Sopenharmony_ci				${SETUP}
6236e5c31af7Sopenharmony_ci				out0 = mat2x4(in0);
6237e5c31af7Sopenharmony_ci				${OUTPUT}
6238e5c31af7Sopenharmony_ci			}
6239e5c31af7Sopenharmony_ci		""
6240e5c31af7Sopenharmony_ci	end
6241e5c31af7Sopenharmony_ci
6242e5c31af7Sopenharmony_ci	case float_to_mat2x3
6243e5c31af7Sopenharmony_ci		version 300 es
6244e5c31af7Sopenharmony_ci		values
6245e5c31af7Sopenharmony_ci		{
6246e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
6247e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(2.0, 0.0, 0.0, 0.0, 2.0, 0.0) | mat2x3(3.5, 0.0, 0.0, 0.0, 3.5, 0.0) | mat2x3(-0.5, 0.0, 0.0, 0.0, -0.5, 0.0) | mat2x3(-8.25, 0.0, 0.0, 0.0, -8.25, 0.0) | mat2x3(-20.125, 0.0, 0.0, 0.0, -20.125, 0.0) | mat2x3(36.8125, 0.0, 0.0, 0.0, 36.8125, 0.0) ];
6248e5c31af7Sopenharmony_ci		}
6249e5c31af7Sopenharmony_ci
6250e5c31af7Sopenharmony_ci		both ""
6251e5c31af7Sopenharmony_ci			#version 300 es
6252e5c31af7Sopenharmony_ci			precision mediump float;
6253e5c31af7Sopenharmony_ci			precision mediump int;
6254e5c31af7Sopenharmony_ci
6255e5c31af7Sopenharmony_ci			${DECLARATIONS}
6256e5c31af7Sopenharmony_ci
6257e5c31af7Sopenharmony_ci			void main()
6258e5c31af7Sopenharmony_ci			{
6259e5c31af7Sopenharmony_ci				${SETUP}
6260e5c31af7Sopenharmony_ci				out0 = mat2x3(in0);
6261e5c31af7Sopenharmony_ci				${OUTPUT}
6262e5c31af7Sopenharmony_ci			}
6263e5c31af7Sopenharmony_ci		""
6264e5c31af7Sopenharmony_ci	end
6265e5c31af7Sopenharmony_ci
6266e5c31af7Sopenharmony_ci	case float_to_mat2
6267e5c31af7Sopenharmony_ci		version 300 es
6268e5c31af7Sopenharmony_ci		values
6269e5c31af7Sopenharmony_ci		{
6270e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ];
6271e5c31af7Sopenharmony_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) ];
6272e5c31af7Sopenharmony_ci		}
6273e5c31af7Sopenharmony_ci
6274e5c31af7Sopenharmony_ci		both ""
6275e5c31af7Sopenharmony_ci			#version 300 es
6276e5c31af7Sopenharmony_ci			precision mediump float;
6277e5c31af7Sopenharmony_ci			precision mediump int;
6278e5c31af7Sopenharmony_ci
6279e5c31af7Sopenharmony_ci			${DECLARATIONS}
6280e5c31af7Sopenharmony_ci
6281e5c31af7Sopenharmony_ci			void main()
6282e5c31af7Sopenharmony_ci			{
6283e5c31af7Sopenharmony_ci				${SETUP}
6284e5c31af7Sopenharmony_ci				out0 = mat2(in0);
6285e5c31af7Sopenharmony_ci				${OUTPUT}
6286e5c31af7Sopenharmony_ci			}
6287e5c31af7Sopenharmony_ci		""
6288e5c31af7Sopenharmony_ci	end
6289e5c31af7Sopenharmony_ci
6290e5c31af7Sopenharmony_ci	case int_to_mat4
6291e5c31af7Sopenharmony_ci		version 300 es
6292e5c31af7Sopenharmony_ci		values
6293e5c31af7Sopenharmony_ci		{
6294e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
6295e5c31af7Sopenharmony_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) ];
6296e5c31af7Sopenharmony_ci		}
6297e5c31af7Sopenharmony_ci
6298e5c31af7Sopenharmony_ci		both ""
6299e5c31af7Sopenharmony_ci			#version 300 es
6300e5c31af7Sopenharmony_ci			precision mediump float;
6301e5c31af7Sopenharmony_ci			precision mediump int;
6302e5c31af7Sopenharmony_ci
6303e5c31af7Sopenharmony_ci			${DECLARATIONS}
6304e5c31af7Sopenharmony_ci
6305e5c31af7Sopenharmony_ci			void main()
6306e5c31af7Sopenharmony_ci			{
6307e5c31af7Sopenharmony_ci				${SETUP}
6308e5c31af7Sopenharmony_ci				out0 = mat4(in0);
6309e5c31af7Sopenharmony_ci				${OUTPUT}
6310e5c31af7Sopenharmony_ci			}
6311e5c31af7Sopenharmony_ci		""
6312e5c31af7Sopenharmony_ci	end
6313e5c31af7Sopenharmony_ci
6314e5c31af7Sopenharmony_ci	case int_to_mat4x3
6315e5c31af7Sopenharmony_ci		version 300 es
6316e5c31af7Sopenharmony_ci		values
6317e5c31af7Sopenharmony_ci		{
6318e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
6319e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0) | mat4x3(5.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0) | mat4x3(8.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0) | mat4x3(11.0, 0.0, 0.0, 0.0, 11.0, 0.0, 0.0, 0.0, 11.0, 0.0, 0.0, 0.0) | mat4x3(-12.0, 0.0, 0.0, 0.0, -12.0, 0.0, 0.0, 0.0, -12.0, 0.0, 0.0, 0.0) | mat4x3(-66.0, 0.0, 0.0, 0.0, -66.0, 0.0, 0.0, 0.0, -66.0, 0.0, 0.0, 0.0) | mat4x3(-192.0, 0.0, 0.0, 0.0, -192.0, 0.0, 0.0, 0.0, -192.0, 0.0, 0.0, 0.0) | mat4x3(255.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0) ];
6320e5c31af7Sopenharmony_ci		}
6321e5c31af7Sopenharmony_ci
6322e5c31af7Sopenharmony_ci		both ""
6323e5c31af7Sopenharmony_ci			#version 300 es
6324e5c31af7Sopenharmony_ci			precision mediump float;
6325e5c31af7Sopenharmony_ci			precision mediump int;
6326e5c31af7Sopenharmony_ci
6327e5c31af7Sopenharmony_ci			${DECLARATIONS}
6328e5c31af7Sopenharmony_ci
6329e5c31af7Sopenharmony_ci			void main()
6330e5c31af7Sopenharmony_ci			{
6331e5c31af7Sopenharmony_ci				${SETUP}
6332e5c31af7Sopenharmony_ci				out0 = mat4x3(in0);
6333e5c31af7Sopenharmony_ci				${OUTPUT}
6334e5c31af7Sopenharmony_ci			}
6335e5c31af7Sopenharmony_ci		""
6336e5c31af7Sopenharmony_ci	end
6337e5c31af7Sopenharmony_ci
6338e5c31af7Sopenharmony_ci	case int_to_mat4x2
6339e5c31af7Sopenharmony_ci		version 300 es
6340e5c31af7Sopenharmony_ci		values
6341e5c31af7Sopenharmony_ci		{
6342e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
6343e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(2.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(5.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(8.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(11.0, 0.0, 0.0, 11.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(-12.0, 0.0, 0.0, -12.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(-66.0, 0.0, 0.0, -66.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(-192.0, 0.0, 0.0, -192.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(255.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 0.0) ];
6344e5c31af7Sopenharmony_ci		}
6345e5c31af7Sopenharmony_ci
6346e5c31af7Sopenharmony_ci		both ""
6347e5c31af7Sopenharmony_ci			#version 300 es
6348e5c31af7Sopenharmony_ci			precision mediump float;
6349e5c31af7Sopenharmony_ci			precision mediump int;
6350e5c31af7Sopenharmony_ci
6351e5c31af7Sopenharmony_ci			${DECLARATIONS}
6352e5c31af7Sopenharmony_ci
6353e5c31af7Sopenharmony_ci			void main()
6354e5c31af7Sopenharmony_ci			{
6355e5c31af7Sopenharmony_ci				${SETUP}
6356e5c31af7Sopenharmony_ci				out0 = mat4x2(in0);
6357e5c31af7Sopenharmony_ci				${OUTPUT}
6358e5c31af7Sopenharmony_ci			}
6359e5c31af7Sopenharmony_ci		""
6360e5c31af7Sopenharmony_ci	end
6361e5c31af7Sopenharmony_ci
6362e5c31af7Sopenharmony_ci	case int_to_mat3x4
6363e5c31af7Sopenharmony_ci		version 300 es
6364e5c31af7Sopenharmony_ci		values
6365e5c31af7Sopenharmony_ci		{
6366e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
6367e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0) | mat3x4(5.0, 0.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 5.0, 0.0) | mat3x4(8.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0) | mat3x4(11.0, 0.0, 0.0, 0.0, 0.0, 11.0, 0.0, 0.0, 0.0, 0.0, 11.0, 0.0) | mat3x4(-12.0, 0.0, 0.0, 0.0, 0.0, -12.0, 0.0, 0.0, 0.0, 0.0, -12.0, 0.0) | mat3x4(-66.0, 0.0, 0.0, 0.0, 0.0, -66.0, 0.0, 0.0, 0.0, 0.0, -66.0, 0.0) | mat3x4(-192.0, 0.0, 0.0, 0.0, 0.0, -192.0, 0.0, 0.0, 0.0, 0.0, -192.0, 0.0) | mat3x4(255.0, 0.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 0.0, 255.0, 0.0) ];
6368e5c31af7Sopenharmony_ci		}
6369e5c31af7Sopenharmony_ci
6370e5c31af7Sopenharmony_ci		both ""
6371e5c31af7Sopenharmony_ci			#version 300 es
6372e5c31af7Sopenharmony_ci			precision mediump float;
6373e5c31af7Sopenharmony_ci			precision mediump int;
6374e5c31af7Sopenharmony_ci
6375e5c31af7Sopenharmony_ci			${DECLARATIONS}
6376e5c31af7Sopenharmony_ci
6377e5c31af7Sopenharmony_ci			void main()
6378e5c31af7Sopenharmony_ci			{
6379e5c31af7Sopenharmony_ci				${SETUP}
6380e5c31af7Sopenharmony_ci				out0 = mat3x4(in0);
6381e5c31af7Sopenharmony_ci				${OUTPUT}
6382e5c31af7Sopenharmony_ci			}
6383e5c31af7Sopenharmony_ci		""
6384e5c31af7Sopenharmony_ci	end
6385e5c31af7Sopenharmony_ci
6386e5c31af7Sopenharmony_ci	case int_to_mat3
6387e5c31af7Sopenharmony_ci		version 300 es
6388e5c31af7Sopenharmony_ci		values
6389e5c31af7Sopenharmony_ci		{
6390e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
6391e5c31af7Sopenharmony_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) ];
6392e5c31af7Sopenharmony_ci		}
6393e5c31af7Sopenharmony_ci
6394e5c31af7Sopenharmony_ci		both ""
6395e5c31af7Sopenharmony_ci			#version 300 es
6396e5c31af7Sopenharmony_ci			precision mediump float;
6397e5c31af7Sopenharmony_ci			precision mediump int;
6398e5c31af7Sopenharmony_ci
6399e5c31af7Sopenharmony_ci			${DECLARATIONS}
6400e5c31af7Sopenharmony_ci
6401e5c31af7Sopenharmony_ci			void main()
6402e5c31af7Sopenharmony_ci			{
6403e5c31af7Sopenharmony_ci				${SETUP}
6404e5c31af7Sopenharmony_ci				out0 = mat3(in0);
6405e5c31af7Sopenharmony_ci				${OUTPUT}
6406e5c31af7Sopenharmony_ci			}
6407e5c31af7Sopenharmony_ci		""
6408e5c31af7Sopenharmony_ci	end
6409e5c31af7Sopenharmony_ci
6410e5c31af7Sopenharmony_ci	case int_to_mat3x2
6411e5c31af7Sopenharmony_ci		version 300 es
6412e5c31af7Sopenharmony_ci		values
6413e5c31af7Sopenharmony_ci		{
6414e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
6415e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(2.0, 0.0, 0.0, 2.0, 0.0, 0.0) | mat3x2(5.0, 0.0, 0.0, 5.0, 0.0, 0.0) | mat3x2(8.0, 0.0, 0.0, 8.0, 0.0, 0.0) | mat3x2(11.0, 0.0, 0.0, 11.0, 0.0, 0.0) | mat3x2(-12.0, 0.0, 0.0, -12.0, 0.0, 0.0) | mat3x2(-66.0, 0.0, 0.0, -66.0, 0.0, 0.0) | mat3x2(-192.0, 0.0, 0.0, -192.0, 0.0, 0.0) | mat3x2(255.0, 0.0, 0.0, 255.0, 0.0, 0.0) ];
6416e5c31af7Sopenharmony_ci		}
6417e5c31af7Sopenharmony_ci
6418e5c31af7Sopenharmony_ci		both ""
6419e5c31af7Sopenharmony_ci			#version 300 es
6420e5c31af7Sopenharmony_ci			precision mediump float;
6421e5c31af7Sopenharmony_ci			precision mediump int;
6422e5c31af7Sopenharmony_ci
6423e5c31af7Sopenharmony_ci			${DECLARATIONS}
6424e5c31af7Sopenharmony_ci
6425e5c31af7Sopenharmony_ci			void main()
6426e5c31af7Sopenharmony_ci			{
6427e5c31af7Sopenharmony_ci				${SETUP}
6428e5c31af7Sopenharmony_ci				out0 = mat3x2(in0);
6429e5c31af7Sopenharmony_ci				${OUTPUT}
6430e5c31af7Sopenharmony_ci			}
6431e5c31af7Sopenharmony_ci		""
6432e5c31af7Sopenharmony_ci	end
6433e5c31af7Sopenharmony_ci
6434e5c31af7Sopenharmony_ci	case int_to_mat2x4
6435e5c31af7Sopenharmony_ci		version 300 es
6436e5c31af7Sopenharmony_ci		values
6437e5c31af7Sopenharmony_ci		{
6438e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
6439e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0) | mat2x4(5.0, 0.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0) | mat2x4(8.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0) | mat2x4(11.0, 0.0, 0.0, 0.0, 0.0, 11.0, 0.0, 0.0) | mat2x4(-12.0, 0.0, 0.0, 0.0, 0.0, -12.0, 0.0, 0.0) | mat2x4(-66.0, 0.0, 0.0, 0.0, 0.0, -66.0, 0.0, 0.0) | mat2x4(-192.0, 0.0, 0.0, 0.0, 0.0, -192.0, 0.0, 0.0) | mat2x4(255.0, 0.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0) ];
6440e5c31af7Sopenharmony_ci		}
6441e5c31af7Sopenharmony_ci
6442e5c31af7Sopenharmony_ci		both ""
6443e5c31af7Sopenharmony_ci			#version 300 es
6444e5c31af7Sopenharmony_ci			precision mediump float;
6445e5c31af7Sopenharmony_ci			precision mediump int;
6446e5c31af7Sopenharmony_ci
6447e5c31af7Sopenharmony_ci			${DECLARATIONS}
6448e5c31af7Sopenharmony_ci
6449e5c31af7Sopenharmony_ci			void main()
6450e5c31af7Sopenharmony_ci			{
6451e5c31af7Sopenharmony_ci				${SETUP}
6452e5c31af7Sopenharmony_ci				out0 = mat2x4(in0);
6453e5c31af7Sopenharmony_ci				${OUTPUT}
6454e5c31af7Sopenharmony_ci			}
6455e5c31af7Sopenharmony_ci		""
6456e5c31af7Sopenharmony_ci	end
6457e5c31af7Sopenharmony_ci
6458e5c31af7Sopenharmony_ci	case int_to_mat2x3
6459e5c31af7Sopenharmony_ci		version 300 es
6460e5c31af7Sopenharmony_ci		values
6461e5c31af7Sopenharmony_ci		{
6462e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
6463e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(2.0, 0.0, 0.0, 0.0, 2.0, 0.0) | mat2x3(5.0, 0.0, 0.0, 0.0, 5.0, 0.0) | mat2x3(8.0, 0.0, 0.0, 0.0, 8.0, 0.0) | mat2x3(11.0, 0.0, 0.0, 0.0, 11.0, 0.0) | mat2x3(-12.0, 0.0, 0.0, 0.0, -12.0, 0.0) | mat2x3(-66.0, 0.0, 0.0, 0.0, -66.0, 0.0) | mat2x3(-192.0, 0.0, 0.0, 0.0, -192.0, 0.0) | mat2x3(255.0, 0.0, 0.0, 0.0, 255.0, 0.0) ];
6464e5c31af7Sopenharmony_ci		}
6465e5c31af7Sopenharmony_ci
6466e5c31af7Sopenharmony_ci		both ""
6467e5c31af7Sopenharmony_ci			#version 300 es
6468e5c31af7Sopenharmony_ci			precision mediump float;
6469e5c31af7Sopenharmony_ci			precision mediump int;
6470e5c31af7Sopenharmony_ci
6471e5c31af7Sopenharmony_ci			${DECLARATIONS}
6472e5c31af7Sopenharmony_ci
6473e5c31af7Sopenharmony_ci			void main()
6474e5c31af7Sopenharmony_ci			{
6475e5c31af7Sopenharmony_ci				${SETUP}
6476e5c31af7Sopenharmony_ci				out0 = mat2x3(in0);
6477e5c31af7Sopenharmony_ci				${OUTPUT}
6478e5c31af7Sopenharmony_ci			}
6479e5c31af7Sopenharmony_ci		""
6480e5c31af7Sopenharmony_ci	end
6481e5c31af7Sopenharmony_ci
6482e5c31af7Sopenharmony_ci	case int_to_mat2
6483e5c31af7Sopenharmony_ci		version 300 es
6484e5c31af7Sopenharmony_ci		values
6485e5c31af7Sopenharmony_ci		{
6486e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ];
6487e5c31af7Sopenharmony_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) ];
6488e5c31af7Sopenharmony_ci		}
6489e5c31af7Sopenharmony_ci
6490e5c31af7Sopenharmony_ci		both ""
6491e5c31af7Sopenharmony_ci			#version 300 es
6492e5c31af7Sopenharmony_ci			precision mediump float;
6493e5c31af7Sopenharmony_ci			precision mediump int;
6494e5c31af7Sopenharmony_ci
6495e5c31af7Sopenharmony_ci			${DECLARATIONS}
6496e5c31af7Sopenharmony_ci
6497e5c31af7Sopenharmony_ci			void main()
6498e5c31af7Sopenharmony_ci			{
6499e5c31af7Sopenharmony_ci				${SETUP}
6500e5c31af7Sopenharmony_ci				out0 = mat2(in0);
6501e5c31af7Sopenharmony_ci				${OUTPUT}
6502e5c31af7Sopenharmony_ci			}
6503e5c31af7Sopenharmony_ci		""
6504e5c31af7Sopenharmony_ci	end
6505e5c31af7Sopenharmony_ci
6506e5c31af7Sopenharmony_ci	case uint_to_mat4
6507e5c31af7Sopenharmony_ci		version 300 es
6508e5c31af7Sopenharmony_ci		values
6509e5c31af7Sopenharmony_ci		{
6510e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
6511e5c31af7Sopenharmony_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(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.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 3.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(9.0, 0.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0, 0.0, 9.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(10.0, 0.0, 0.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0, 10.0) | mat4(45.0, 0.0, 0.0, 0.0, 0.0, 45.0, 0.0, 0.0, 0.0, 0.0, 45.0, 0.0, 0.0, 0.0, 0.0, 45.0) | mat4(193.0, 0.0, 0.0, 0.0, 0.0, 193.0, 0.0, 0.0, 0.0, 0.0, 193.0, 0.0, 0.0, 0.0, 0.0, 193.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) ];
6512e5c31af7Sopenharmony_ci		}
6513e5c31af7Sopenharmony_ci
6514e5c31af7Sopenharmony_ci		both ""
6515e5c31af7Sopenharmony_ci			#version 300 es
6516e5c31af7Sopenharmony_ci			precision mediump float;
6517e5c31af7Sopenharmony_ci			precision mediump int;
6518e5c31af7Sopenharmony_ci
6519e5c31af7Sopenharmony_ci			${DECLARATIONS}
6520e5c31af7Sopenharmony_ci
6521e5c31af7Sopenharmony_ci			void main()
6522e5c31af7Sopenharmony_ci			{
6523e5c31af7Sopenharmony_ci				${SETUP}
6524e5c31af7Sopenharmony_ci				out0 = mat4(in0);
6525e5c31af7Sopenharmony_ci				${OUTPUT}
6526e5c31af7Sopenharmony_ci			}
6527e5c31af7Sopenharmony_ci		""
6528e5c31af7Sopenharmony_ci	end
6529e5c31af7Sopenharmony_ci
6530e5c31af7Sopenharmony_ci	case uint_to_mat4x3
6531e5c31af7Sopenharmony_ci		version 300 es
6532e5c31af7Sopenharmony_ci		values
6533e5c31af7Sopenharmony_ci		{
6534e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
6535e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4x3(2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0) | mat4x3(3.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0) | mat4x3(8.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0) | mat4x3(9.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0) | mat4x3(12.0, 0.0, 0.0, 0.0, 12.0, 0.0, 0.0, 0.0, 12.0, 0.0, 0.0, 0.0) | mat4x3(10.0, 0.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0) | mat4x3(45.0, 0.0, 0.0, 0.0, 45.0, 0.0, 0.0, 0.0, 45.0, 0.0, 0.0, 0.0) | mat4x3(193.0, 0.0, 0.0, 0.0, 193.0, 0.0, 0.0, 0.0, 193.0, 0.0, 0.0, 0.0) | mat4x3(255.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0) ];
6536e5c31af7Sopenharmony_ci		}
6537e5c31af7Sopenharmony_ci
6538e5c31af7Sopenharmony_ci		both ""
6539e5c31af7Sopenharmony_ci			#version 300 es
6540e5c31af7Sopenharmony_ci			precision mediump float;
6541e5c31af7Sopenharmony_ci			precision mediump int;
6542e5c31af7Sopenharmony_ci
6543e5c31af7Sopenharmony_ci			${DECLARATIONS}
6544e5c31af7Sopenharmony_ci
6545e5c31af7Sopenharmony_ci			void main()
6546e5c31af7Sopenharmony_ci			{
6547e5c31af7Sopenharmony_ci				${SETUP}
6548e5c31af7Sopenharmony_ci				out0 = mat4x3(in0);
6549e5c31af7Sopenharmony_ci				${OUTPUT}
6550e5c31af7Sopenharmony_ci			}
6551e5c31af7Sopenharmony_ci		""
6552e5c31af7Sopenharmony_ci	end
6553e5c31af7Sopenharmony_ci
6554e5c31af7Sopenharmony_ci	case uint_to_mat4x2
6555e5c31af7Sopenharmony_ci		version 300 es
6556e5c31af7Sopenharmony_ci		values
6557e5c31af7Sopenharmony_ci		{
6558e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
6559e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(2.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(3.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(8.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(9.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(12.0, 0.0, 0.0, 12.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(10.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(45.0, 0.0, 0.0, 45.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(193.0, 0.0, 0.0, 193.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(255.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 0.0) ];
6560e5c31af7Sopenharmony_ci		}
6561e5c31af7Sopenharmony_ci
6562e5c31af7Sopenharmony_ci		both ""
6563e5c31af7Sopenharmony_ci			#version 300 es
6564e5c31af7Sopenharmony_ci			precision mediump float;
6565e5c31af7Sopenharmony_ci			precision mediump int;
6566e5c31af7Sopenharmony_ci
6567e5c31af7Sopenharmony_ci			${DECLARATIONS}
6568e5c31af7Sopenharmony_ci
6569e5c31af7Sopenharmony_ci			void main()
6570e5c31af7Sopenharmony_ci			{
6571e5c31af7Sopenharmony_ci				${SETUP}
6572e5c31af7Sopenharmony_ci				out0 = mat4x2(in0);
6573e5c31af7Sopenharmony_ci				${OUTPUT}
6574e5c31af7Sopenharmony_ci			}
6575e5c31af7Sopenharmony_ci		""
6576e5c31af7Sopenharmony_ci	end
6577e5c31af7Sopenharmony_ci
6578e5c31af7Sopenharmony_ci	case uint_to_mat3x4
6579e5c31af7Sopenharmony_ci		version 300 es
6580e5c31af7Sopenharmony_ci		values
6581e5c31af7Sopenharmony_ci		{
6582e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
6583e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x4(2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0) | mat3x4(3.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0) | mat3x4(8.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0) | mat3x4(9.0, 0.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0, 0.0, 9.0, 0.0) | mat3x4(12.0, 0.0, 0.0, 0.0, 0.0, 12.0, 0.0, 0.0, 0.0, 0.0, 12.0, 0.0) | mat3x4(10.0, 0.0, 0.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0, 10.0, 0.0) | mat3x4(45.0, 0.0, 0.0, 0.0, 0.0, 45.0, 0.0, 0.0, 0.0, 0.0, 45.0, 0.0) | mat3x4(193.0, 0.0, 0.0, 0.0, 0.0, 193.0, 0.0, 0.0, 0.0, 0.0, 193.0, 0.0) | mat3x4(255.0, 0.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 0.0, 255.0, 0.0) ];
6584e5c31af7Sopenharmony_ci		}
6585e5c31af7Sopenharmony_ci
6586e5c31af7Sopenharmony_ci		both ""
6587e5c31af7Sopenharmony_ci			#version 300 es
6588e5c31af7Sopenharmony_ci			precision mediump float;
6589e5c31af7Sopenharmony_ci			precision mediump int;
6590e5c31af7Sopenharmony_ci
6591e5c31af7Sopenharmony_ci			${DECLARATIONS}
6592e5c31af7Sopenharmony_ci
6593e5c31af7Sopenharmony_ci			void main()
6594e5c31af7Sopenharmony_ci			{
6595e5c31af7Sopenharmony_ci				${SETUP}
6596e5c31af7Sopenharmony_ci				out0 = mat3x4(in0);
6597e5c31af7Sopenharmony_ci				${OUTPUT}
6598e5c31af7Sopenharmony_ci			}
6599e5c31af7Sopenharmony_ci		""
6600e5c31af7Sopenharmony_ci	end
6601e5c31af7Sopenharmony_ci
6602e5c31af7Sopenharmony_ci	case uint_to_mat3
6603e5c31af7Sopenharmony_ci		version 300 es
6604e5c31af7Sopenharmony_ci		values
6605e5c31af7Sopenharmony_ci		{
6606e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
6607e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3(2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0) | mat3(3.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 3.0) | mat3(8.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 8.0) | mat3(9.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0, 9.0) | mat3(12.0, 0.0, 0.0, 0.0, 12.0, 0.0, 0.0, 0.0, 12.0) | mat3(10.0, 0.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 10.0) | mat3(45.0, 0.0, 0.0, 0.0, 45.0, 0.0, 0.0, 0.0, 45.0) | mat3(193.0, 0.0, 0.0, 0.0, 193.0, 0.0, 0.0, 0.0, 193.0) | mat3(255.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 255.0) ];
6608e5c31af7Sopenharmony_ci		}
6609e5c31af7Sopenharmony_ci
6610e5c31af7Sopenharmony_ci		both ""
6611e5c31af7Sopenharmony_ci			#version 300 es
6612e5c31af7Sopenharmony_ci			precision mediump float;
6613e5c31af7Sopenharmony_ci			precision mediump int;
6614e5c31af7Sopenharmony_ci
6615e5c31af7Sopenharmony_ci			${DECLARATIONS}
6616e5c31af7Sopenharmony_ci
6617e5c31af7Sopenharmony_ci			void main()
6618e5c31af7Sopenharmony_ci			{
6619e5c31af7Sopenharmony_ci				${SETUP}
6620e5c31af7Sopenharmony_ci				out0 = mat3(in0);
6621e5c31af7Sopenharmony_ci				${OUTPUT}
6622e5c31af7Sopenharmony_ci			}
6623e5c31af7Sopenharmony_ci		""
6624e5c31af7Sopenharmony_ci	end
6625e5c31af7Sopenharmony_ci
6626e5c31af7Sopenharmony_ci	case uint_to_mat3x2
6627e5c31af7Sopenharmony_ci		version 300 es
6628e5c31af7Sopenharmony_ci		values
6629e5c31af7Sopenharmony_ci		{
6630e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
6631e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x2(2.0, 0.0, 0.0, 2.0, 0.0, 0.0) | mat3x2(3.0, 0.0, 0.0, 3.0, 0.0, 0.0) | mat3x2(8.0, 0.0, 0.0, 8.0, 0.0, 0.0) | mat3x2(9.0, 0.0, 0.0, 9.0, 0.0, 0.0) | mat3x2(12.0, 0.0, 0.0, 12.0, 0.0, 0.0) | mat3x2(10.0, 0.0, 0.0, 10.0, 0.0, 0.0) | mat3x2(45.0, 0.0, 0.0, 45.0, 0.0, 0.0) | mat3x2(193.0, 0.0, 0.0, 193.0, 0.0, 0.0) | mat3x2(255.0, 0.0, 0.0, 255.0, 0.0, 0.0) ];
6632e5c31af7Sopenharmony_ci		}
6633e5c31af7Sopenharmony_ci
6634e5c31af7Sopenharmony_ci		both ""
6635e5c31af7Sopenharmony_ci			#version 300 es
6636e5c31af7Sopenharmony_ci			precision mediump float;
6637e5c31af7Sopenharmony_ci			precision mediump int;
6638e5c31af7Sopenharmony_ci
6639e5c31af7Sopenharmony_ci			${DECLARATIONS}
6640e5c31af7Sopenharmony_ci
6641e5c31af7Sopenharmony_ci			void main()
6642e5c31af7Sopenharmony_ci			{
6643e5c31af7Sopenharmony_ci				${SETUP}
6644e5c31af7Sopenharmony_ci				out0 = mat3x2(in0);
6645e5c31af7Sopenharmony_ci				${OUTPUT}
6646e5c31af7Sopenharmony_ci			}
6647e5c31af7Sopenharmony_ci		""
6648e5c31af7Sopenharmony_ci	end
6649e5c31af7Sopenharmony_ci
6650e5c31af7Sopenharmony_ci	case uint_to_mat2x4
6651e5c31af7Sopenharmony_ci		version 300 es
6652e5c31af7Sopenharmony_ci		values
6653e5c31af7Sopenharmony_ci		{
6654e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
6655e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat2x4(2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0) | mat2x4(3.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0) | mat2x4(8.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0) | mat2x4(9.0, 0.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0) | mat2x4(12.0, 0.0, 0.0, 0.0, 0.0, 12.0, 0.0, 0.0) | mat2x4(10.0, 0.0, 0.0, 0.0, 0.0, 10.0, 0.0, 0.0) | mat2x4(45.0, 0.0, 0.0, 0.0, 0.0, 45.0, 0.0, 0.0) | mat2x4(193.0, 0.0, 0.0, 0.0, 0.0, 193.0, 0.0, 0.0) | mat2x4(255.0, 0.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0) ];
6656e5c31af7Sopenharmony_ci		}
6657e5c31af7Sopenharmony_ci
6658e5c31af7Sopenharmony_ci		both ""
6659e5c31af7Sopenharmony_ci			#version 300 es
6660e5c31af7Sopenharmony_ci			precision mediump float;
6661e5c31af7Sopenharmony_ci			precision mediump int;
6662e5c31af7Sopenharmony_ci
6663e5c31af7Sopenharmony_ci			${DECLARATIONS}
6664e5c31af7Sopenharmony_ci
6665e5c31af7Sopenharmony_ci			void main()
6666e5c31af7Sopenharmony_ci			{
6667e5c31af7Sopenharmony_ci				${SETUP}
6668e5c31af7Sopenharmony_ci				out0 = mat2x4(in0);
6669e5c31af7Sopenharmony_ci				${OUTPUT}
6670e5c31af7Sopenharmony_ci			}
6671e5c31af7Sopenharmony_ci		""
6672e5c31af7Sopenharmony_ci	end
6673e5c31af7Sopenharmony_ci
6674e5c31af7Sopenharmony_ci	case uint_to_mat2x3
6675e5c31af7Sopenharmony_ci		version 300 es
6676e5c31af7Sopenharmony_ci		values
6677e5c31af7Sopenharmony_ci		{
6678e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
6679e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat2x3(2.0, 0.0, 0.0, 0.0, 2.0, 0.0) | mat2x3(3.0, 0.0, 0.0, 0.0, 3.0, 0.0) | mat2x3(8.0, 0.0, 0.0, 0.0, 8.0, 0.0) | mat2x3(9.0, 0.0, 0.0, 0.0, 9.0, 0.0) | mat2x3(12.0, 0.0, 0.0, 0.0, 12.0, 0.0) | mat2x3(10.0, 0.0, 0.0, 0.0, 10.0, 0.0) | mat2x3(45.0, 0.0, 0.0, 0.0, 45.0, 0.0) | mat2x3(193.0, 0.0, 0.0, 0.0, 193.0, 0.0) | mat2x3(255.0, 0.0, 0.0, 0.0, 255.0, 0.0) ];
6680e5c31af7Sopenharmony_ci		}
6681e5c31af7Sopenharmony_ci
6682e5c31af7Sopenharmony_ci		both ""
6683e5c31af7Sopenharmony_ci			#version 300 es
6684e5c31af7Sopenharmony_ci			precision mediump float;
6685e5c31af7Sopenharmony_ci			precision mediump int;
6686e5c31af7Sopenharmony_ci
6687e5c31af7Sopenharmony_ci			${DECLARATIONS}
6688e5c31af7Sopenharmony_ci
6689e5c31af7Sopenharmony_ci			void main()
6690e5c31af7Sopenharmony_ci			{
6691e5c31af7Sopenharmony_ci				${SETUP}
6692e5c31af7Sopenharmony_ci				out0 = mat2x3(in0);
6693e5c31af7Sopenharmony_ci				${OUTPUT}
6694e5c31af7Sopenharmony_ci			}
6695e5c31af7Sopenharmony_ci		""
6696e5c31af7Sopenharmony_ci	end
6697e5c31af7Sopenharmony_ci
6698e5c31af7Sopenharmony_ci	case uint_to_mat2
6699e5c31af7Sopenharmony_ci		version 300 es
6700e5c31af7Sopenharmony_ci		values
6701e5c31af7Sopenharmony_ci		{
6702e5c31af7Sopenharmony_ci			input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ];
6703e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(0.0, 0.0, 0.0, 0.0) | mat2(2.0, 0.0, 0.0, 2.0) | mat2(3.0, 0.0, 0.0, 3.0) | mat2(8.0, 0.0, 0.0, 8.0) | mat2(9.0, 0.0, 0.0, 9.0) | mat2(12.0, 0.0, 0.0, 12.0) | mat2(10.0, 0.0, 0.0, 10.0) | mat2(45.0, 0.0, 0.0, 45.0) | mat2(193.0, 0.0, 0.0, 193.0) | mat2(255.0, 0.0, 0.0, 255.0) ];
6704e5c31af7Sopenharmony_ci		}
6705e5c31af7Sopenharmony_ci
6706e5c31af7Sopenharmony_ci		both ""
6707e5c31af7Sopenharmony_ci			#version 300 es
6708e5c31af7Sopenharmony_ci			precision mediump float;
6709e5c31af7Sopenharmony_ci			precision mediump int;
6710e5c31af7Sopenharmony_ci
6711e5c31af7Sopenharmony_ci			${DECLARATIONS}
6712e5c31af7Sopenharmony_ci
6713e5c31af7Sopenharmony_ci			void main()
6714e5c31af7Sopenharmony_ci			{
6715e5c31af7Sopenharmony_ci				${SETUP}
6716e5c31af7Sopenharmony_ci				out0 = mat2(in0);
6717e5c31af7Sopenharmony_ci				${OUTPUT}
6718e5c31af7Sopenharmony_ci			}
6719e5c31af7Sopenharmony_ci		""
6720e5c31af7Sopenharmony_ci	end
6721e5c31af7Sopenharmony_ci
6722e5c31af7Sopenharmony_ci	case bool_to_mat4
6723e5c31af7Sopenharmony_ci		version 300 es
6724e5c31af7Sopenharmony_ci		values
6725e5c31af7Sopenharmony_ci		{
6726e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
6727e5c31af7Sopenharmony_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) ];
6728e5c31af7Sopenharmony_ci		}
6729e5c31af7Sopenharmony_ci
6730e5c31af7Sopenharmony_ci		both ""
6731e5c31af7Sopenharmony_ci			#version 300 es
6732e5c31af7Sopenharmony_ci			precision mediump float;
6733e5c31af7Sopenharmony_ci			precision mediump int;
6734e5c31af7Sopenharmony_ci
6735e5c31af7Sopenharmony_ci			${DECLARATIONS}
6736e5c31af7Sopenharmony_ci
6737e5c31af7Sopenharmony_ci			void main()
6738e5c31af7Sopenharmony_ci			{
6739e5c31af7Sopenharmony_ci				${SETUP}
6740e5c31af7Sopenharmony_ci				out0 = mat4(in0);
6741e5c31af7Sopenharmony_ci				${OUTPUT}
6742e5c31af7Sopenharmony_ci			}
6743e5c31af7Sopenharmony_ci		""
6744e5c31af7Sopenharmony_ci	end
6745e5c31af7Sopenharmony_ci
6746e5c31af7Sopenharmony_ci	case bool_to_mat4x3
6747e5c31af7Sopenharmony_ci		version 300 es
6748e5c31af7Sopenharmony_ci		values
6749e5c31af7Sopenharmony_ci		{
6750e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
6751e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) ];
6752e5c31af7Sopenharmony_ci		}
6753e5c31af7Sopenharmony_ci
6754e5c31af7Sopenharmony_ci		both ""
6755e5c31af7Sopenharmony_ci			#version 300 es
6756e5c31af7Sopenharmony_ci			precision mediump float;
6757e5c31af7Sopenharmony_ci			precision mediump int;
6758e5c31af7Sopenharmony_ci
6759e5c31af7Sopenharmony_ci			${DECLARATIONS}
6760e5c31af7Sopenharmony_ci
6761e5c31af7Sopenharmony_ci			void main()
6762e5c31af7Sopenharmony_ci			{
6763e5c31af7Sopenharmony_ci				${SETUP}
6764e5c31af7Sopenharmony_ci				out0 = mat4x3(in0);
6765e5c31af7Sopenharmony_ci				${OUTPUT}
6766e5c31af7Sopenharmony_ci			}
6767e5c31af7Sopenharmony_ci		""
6768e5c31af7Sopenharmony_ci	end
6769e5c31af7Sopenharmony_ci
6770e5c31af7Sopenharmony_ci	case bool_to_mat4x2
6771e5c31af7Sopenharmony_ci		version 300 es
6772e5c31af7Sopenharmony_ci		values
6773e5c31af7Sopenharmony_ci		{
6774e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
6775e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) ];
6776e5c31af7Sopenharmony_ci		}
6777e5c31af7Sopenharmony_ci
6778e5c31af7Sopenharmony_ci		both ""
6779e5c31af7Sopenharmony_ci			#version 300 es
6780e5c31af7Sopenharmony_ci			precision mediump float;
6781e5c31af7Sopenharmony_ci			precision mediump int;
6782e5c31af7Sopenharmony_ci
6783e5c31af7Sopenharmony_ci			${DECLARATIONS}
6784e5c31af7Sopenharmony_ci
6785e5c31af7Sopenharmony_ci			void main()
6786e5c31af7Sopenharmony_ci			{
6787e5c31af7Sopenharmony_ci				${SETUP}
6788e5c31af7Sopenharmony_ci				out0 = mat4x2(in0);
6789e5c31af7Sopenharmony_ci				${OUTPUT}
6790e5c31af7Sopenharmony_ci			}
6791e5c31af7Sopenharmony_ci		""
6792e5c31af7Sopenharmony_ci	end
6793e5c31af7Sopenharmony_ci
6794e5c31af7Sopenharmony_ci	case bool_to_mat3x4
6795e5c31af7Sopenharmony_ci		version 300 es
6796e5c31af7Sopenharmony_ci		values
6797e5c31af7Sopenharmony_ci		{
6798e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
6799e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) ];
6800e5c31af7Sopenharmony_ci		}
6801e5c31af7Sopenharmony_ci
6802e5c31af7Sopenharmony_ci		both ""
6803e5c31af7Sopenharmony_ci			#version 300 es
6804e5c31af7Sopenharmony_ci			precision mediump float;
6805e5c31af7Sopenharmony_ci			precision mediump int;
6806e5c31af7Sopenharmony_ci
6807e5c31af7Sopenharmony_ci			${DECLARATIONS}
6808e5c31af7Sopenharmony_ci
6809e5c31af7Sopenharmony_ci			void main()
6810e5c31af7Sopenharmony_ci			{
6811e5c31af7Sopenharmony_ci				${SETUP}
6812e5c31af7Sopenharmony_ci				out0 = mat3x4(in0);
6813e5c31af7Sopenharmony_ci				${OUTPUT}
6814e5c31af7Sopenharmony_ci			}
6815e5c31af7Sopenharmony_ci		""
6816e5c31af7Sopenharmony_ci	end
6817e5c31af7Sopenharmony_ci
6818e5c31af7Sopenharmony_ci	case bool_to_mat3
6819e5c31af7Sopenharmony_ci		version 300 es
6820e5c31af7Sopenharmony_ci		values
6821e5c31af7Sopenharmony_ci		{
6822e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
6823e5c31af7Sopenharmony_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) ];
6824e5c31af7Sopenharmony_ci		}
6825e5c31af7Sopenharmony_ci
6826e5c31af7Sopenharmony_ci		both ""
6827e5c31af7Sopenharmony_ci			#version 300 es
6828e5c31af7Sopenharmony_ci			precision mediump float;
6829e5c31af7Sopenharmony_ci			precision mediump int;
6830e5c31af7Sopenharmony_ci
6831e5c31af7Sopenharmony_ci			${DECLARATIONS}
6832e5c31af7Sopenharmony_ci
6833e5c31af7Sopenharmony_ci			void main()
6834e5c31af7Sopenharmony_ci			{
6835e5c31af7Sopenharmony_ci				${SETUP}
6836e5c31af7Sopenharmony_ci				out0 = mat3(in0);
6837e5c31af7Sopenharmony_ci				${OUTPUT}
6838e5c31af7Sopenharmony_ci			}
6839e5c31af7Sopenharmony_ci		""
6840e5c31af7Sopenharmony_ci	end
6841e5c31af7Sopenharmony_ci
6842e5c31af7Sopenharmony_ci	case bool_to_mat3x2
6843e5c31af7Sopenharmony_ci		version 300 es
6844e5c31af7Sopenharmony_ci		values
6845e5c31af7Sopenharmony_ci		{
6846e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
6847e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) ];
6848e5c31af7Sopenharmony_ci		}
6849e5c31af7Sopenharmony_ci
6850e5c31af7Sopenharmony_ci		both ""
6851e5c31af7Sopenharmony_ci			#version 300 es
6852e5c31af7Sopenharmony_ci			precision mediump float;
6853e5c31af7Sopenharmony_ci			precision mediump int;
6854e5c31af7Sopenharmony_ci
6855e5c31af7Sopenharmony_ci			${DECLARATIONS}
6856e5c31af7Sopenharmony_ci
6857e5c31af7Sopenharmony_ci			void main()
6858e5c31af7Sopenharmony_ci			{
6859e5c31af7Sopenharmony_ci				${SETUP}
6860e5c31af7Sopenharmony_ci				out0 = mat3x2(in0);
6861e5c31af7Sopenharmony_ci				${OUTPUT}
6862e5c31af7Sopenharmony_ci			}
6863e5c31af7Sopenharmony_ci		""
6864e5c31af7Sopenharmony_ci	end
6865e5c31af7Sopenharmony_ci
6866e5c31af7Sopenharmony_ci	case bool_to_mat2x4
6867e5c31af7Sopenharmony_ci		version 300 es
6868e5c31af7Sopenharmony_ci		values
6869e5c31af7Sopenharmony_ci		{
6870e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
6871e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) ];
6872e5c31af7Sopenharmony_ci		}
6873e5c31af7Sopenharmony_ci
6874e5c31af7Sopenharmony_ci		both ""
6875e5c31af7Sopenharmony_ci			#version 300 es
6876e5c31af7Sopenharmony_ci			precision mediump float;
6877e5c31af7Sopenharmony_ci			precision mediump int;
6878e5c31af7Sopenharmony_ci
6879e5c31af7Sopenharmony_ci			${DECLARATIONS}
6880e5c31af7Sopenharmony_ci
6881e5c31af7Sopenharmony_ci			void main()
6882e5c31af7Sopenharmony_ci			{
6883e5c31af7Sopenharmony_ci				${SETUP}
6884e5c31af7Sopenharmony_ci				out0 = mat2x4(in0);
6885e5c31af7Sopenharmony_ci				${OUTPUT}
6886e5c31af7Sopenharmony_ci			}
6887e5c31af7Sopenharmony_ci		""
6888e5c31af7Sopenharmony_ci	end
6889e5c31af7Sopenharmony_ci
6890e5c31af7Sopenharmony_ci	case bool_to_mat2x3
6891e5c31af7Sopenharmony_ci		version 300 es
6892e5c31af7Sopenharmony_ci		values
6893e5c31af7Sopenharmony_ci		{
6894e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
6895e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) ];
6896e5c31af7Sopenharmony_ci		}
6897e5c31af7Sopenharmony_ci
6898e5c31af7Sopenharmony_ci		both ""
6899e5c31af7Sopenharmony_ci			#version 300 es
6900e5c31af7Sopenharmony_ci			precision mediump float;
6901e5c31af7Sopenharmony_ci			precision mediump int;
6902e5c31af7Sopenharmony_ci
6903e5c31af7Sopenharmony_ci			${DECLARATIONS}
6904e5c31af7Sopenharmony_ci
6905e5c31af7Sopenharmony_ci			void main()
6906e5c31af7Sopenharmony_ci			{
6907e5c31af7Sopenharmony_ci				${SETUP}
6908e5c31af7Sopenharmony_ci				out0 = mat2x3(in0);
6909e5c31af7Sopenharmony_ci				${OUTPUT}
6910e5c31af7Sopenharmony_ci			}
6911e5c31af7Sopenharmony_ci		""
6912e5c31af7Sopenharmony_ci	end
6913e5c31af7Sopenharmony_ci
6914e5c31af7Sopenharmony_ci	case bool_to_mat2
6915e5c31af7Sopenharmony_ci		version 300 es
6916e5c31af7Sopenharmony_ci		values
6917e5c31af7Sopenharmony_ci		{
6918e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
6919e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(0.0, 0.0, 0.0, 0.0) ];
6920e5c31af7Sopenharmony_ci		}
6921e5c31af7Sopenharmony_ci
6922e5c31af7Sopenharmony_ci		both ""
6923e5c31af7Sopenharmony_ci			#version 300 es
6924e5c31af7Sopenharmony_ci			precision mediump float;
6925e5c31af7Sopenharmony_ci			precision mediump int;
6926e5c31af7Sopenharmony_ci
6927e5c31af7Sopenharmony_ci			${DECLARATIONS}
6928e5c31af7Sopenharmony_ci
6929e5c31af7Sopenharmony_ci			void main()
6930e5c31af7Sopenharmony_ci			{
6931e5c31af7Sopenharmony_ci				${SETUP}
6932e5c31af7Sopenharmony_ci				out0 = mat2(in0);
6933e5c31af7Sopenharmony_ci				${OUTPUT}
6934e5c31af7Sopenharmony_ci			}
6935e5c31af7Sopenharmony_ci		""
6936e5c31af7Sopenharmony_ci	end
6937e5c31af7Sopenharmony_ci
6938e5c31af7Sopenharmony_ci
6939e5c31af7Sopenharmony_ciend # scalar_to_matrix
6940e5c31af7Sopenharmony_cigroup matrix_to_matrix "Matrix to Matrix Conversions"
6941e5c31af7Sopenharmony_ci
6942e5c31af7Sopenharmony_ci	case mat4_to_mat4
6943e5c31af7Sopenharmony_ci		version 300 es
6944e5c31af7Sopenharmony_ci		values
6945e5c31af7Sopenharmony_ci		{
6946e5c31af7Sopenharmony_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) ];
6947e5c31af7Sopenharmony_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) ];
6948e5c31af7Sopenharmony_ci		}
6949e5c31af7Sopenharmony_ci
6950e5c31af7Sopenharmony_ci		both ""
6951e5c31af7Sopenharmony_ci			#version 300 es
6952e5c31af7Sopenharmony_ci			precision mediump float;
6953e5c31af7Sopenharmony_ci			precision mediump int;
6954e5c31af7Sopenharmony_ci
6955e5c31af7Sopenharmony_ci			${DECLARATIONS}
6956e5c31af7Sopenharmony_ci
6957e5c31af7Sopenharmony_ci			void main()
6958e5c31af7Sopenharmony_ci			{
6959e5c31af7Sopenharmony_ci				${SETUP}
6960e5c31af7Sopenharmony_ci				out0 = mat4(in0);
6961e5c31af7Sopenharmony_ci				${OUTPUT}
6962e5c31af7Sopenharmony_ci			}
6963e5c31af7Sopenharmony_ci		""
6964e5c31af7Sopenharmony_ci	end
6965e5c31af7Sopenharmony_ci
6966e5c31af7Sopenharmony_ci	case mat4_to_mat4x3
6967e5c31af7Sopenharmony_ci		version 300 es
6968e5c31af7Sopenharmony_ci		values
6969e5c31af7Sopenharmony_ci		{
6970e5c31af7Sopenharmony_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) ];
6971e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ];
6972e5c31af7Sopenharmony_ci		}
6973e5c31af7Sopenharmony_ci
6974e5c31af7Sopenharmony_ci		both ""
6975e5c31af7Sopenharmony_ci			#version 300 es
6976e5c31af7Sopenharmony_ci			precision mediump float;
6977e5c31af7Sopenharmony_ci			precision mediump int;
6978e5c31af7Sopenharmony_ci
6979e5c31af7Sopenharmony_ci			${DECLARATIONS}
6980e5c31af7Sopenharmony_ci
6981e5c31af7Sopenharmony_ci			void main()
6982e5c31af7Sopenharmony_ci			{
6983e5c31af7Sopenharmony_ci				${SETUP}
6984e5c31af7Sopenharmony_ci				out0 = mat4x3(in0);
6985e5c31af7Sopenharmony_ci				${OUTPUT}
6986e5c31af7Sopenharmony_ci			}
6987e5c31af7Sopenharmony_ci		""
6988e5c31af7Sopenharmony_ci	end
6989e5c31af7Sopenharmony_ci
6990e5c31af7Sopenharmony_ci	case mat4_to_mat4x2
6991e5c31af7Sopenharmony_ci		version 300 es
6992e5c31af7Sopenharmony_ci		values
6993e5c31af7Sopenharmony_ci		{
6994e5c31af7Sopenharmony_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) ];
6995e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ];
6996e5c31af7Sopenharmony_ci		}
6997e5c31af7Sopenharmony_ci
6998e5c31af7Sopenharmony_ci		both ""
6999e5c31af7Sopenharmony_ci			#version 300 es
7000e5c31af7Sopenharmony_ci			precision mediump float;
7001e5c31af7Sopenharmony_ci			precision mediump int;
7002e5c31af7Sopenharmony_ci
7003e5c31af7Sopenharmony_ci			${DECLARATIONS}
7004e5c31af7Sopenharmony_ci
7005e5c31af7Sopenharmony_ci			void main()
7006e5c31af7Sopenharmony_ci			{
7007e5c31af7Sopenharmony_ci				${SETUP}
7008e5c31af7Sopenharmony_ci				out0 = mat4x2(in0);
7009e5c31af7Sopenharmony_ci				${OUTPUT}
7010e5c31af7Sopenharmony_ci			}
7011e5c31af7Sopenharmony_ci		""
7012e5c31af7Sopenharmony_ci	end
7013e5c31af7Sopenharmony_ci
7014e5c31af7Sopenharmony_ci	case mat4_to_mat3x4
7015e5c31af7Sopenharmony_ci		version 300 es
7016e5c31af7Sopenharmony_ci		values
7017e5c31af7Sopenharmony_ci		{
7018e5c31af7Sopenharmony_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) ];
7019e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ];
7020e5c31af7Sopenharmony_ci		}
7021e5c31af7Sopenharmony_ci
7022e5c31af7Sopenharmony_ci		both ""
7023e5c31af7Sopenharmony_ci			#version 300 es
7024e5c31af7Sopenharmony_ci			precision mediump float;
7025e5c31af7Sopenharmony_ci			precision mediump int;
7026e5c31af7Sopenharmony_ci
7027e5c31af7Sopenharmony_ci			${DECLARATIONS}
7028e5c31af7Sopenharmony_ci
7029e5c31af7Sopenharmony_ci			void main()
7030e5c31af7Sopenharmony_ci			{
7031e5c31af7Sopenharmony_ci				${SETUP}
7032e5c31af7Sopenharmony_ci				out0 = mat3x4(in0);
7033e5c31af7Sopenharmony_ci				${OUTPUT}
7034e5c31af7Sopenharmony_ci			}
7035e5c31af7Sopenharmony_ci		""
7036e5c31af7Sopenharmony_ci	end
7037e5c31af7Sopenharmony_ci
7038e5c31af7Sopenharmony_ci	case mat4_to_mat3
7039e5c31af7Sopenharmony_ci		version 300 es
7040e5c31af7Sopenharmony_ci		values
7041e5c31af7Sopenharmony_ci		{
7042e5c31af7Sopenharmony_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) ];
7043e5c31af7Sopenharmony_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) ];
7044e5c31af7Sopenharmony_ci		}
7045e5c31af7Sopenharmony_ci
7046e5c31af7Sopenharmony_ci		both ""
7047e5c31af7Sopenharmony_ci			#version 300 es
7048e5c31af7Sopenharmony_ci			precision mediump float;
7049e5c31af7Sopenharmony_ci			precision mediump int;
7050e5c31af7Sopenharmony_ci
7051e5c31af7Sopenharmony_ci			${DECLARATIONS}
7052e5c31af7Sopenharmony_ci
7053e5c31af7Sopenharmony_ci			void main()
7054e5c31af7Sopenharmony_ci			{
7055e5c31af7Sopenharmony_ci				${SETUP}
7056e5c31af7Sopenharmony_ci				out0 = mat3(in0);
7057e5c31af7Sopenharmony_ci				${OUTPUT}
7058e5c31af7Sopenharmony_ci			}
7059e5c31af7Sopenharmony_ci		""
7060e5c31af7Sopenharmony_ci	end
7061e5c31af7Sopenharmony_ci
7062e5c31af7Sopenharmony_ci	case mat4_to_mat3x2
7063e5c31af7Sopenharmony_ci		version 300 es
7064e5c31af7Sopenharmony_ci		values
7065e5c31af7Sopenharmony_ci		{
7066e5c31af7Sopenharmony_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) ];
7067e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ];
7068e5c31af7Sopenharmony_ci		}
7069e5c31af7Sopenharmony_ci
7070e5c31af7Sopenharmony_ci		both ""
7071e5c31af7Sopenharmony_ci			#version 300 es
7072e5c31af7Sopenharmony_ci			precision mediump float;
7073e5c31af7Sopenharmony_ci			precision mediump int;
7074e5c31af7Sopenharmony_ci
7075e5c31af7Sopenharmony_ci			${DECLARATIONS}
7076e5c31af7Sopenharmony_ci
7077e5c31af7Sopenharmony_ci			void main()
7078e5c31af7Sopenharmony_ci			{
7079e5c31af7Sopenharmony_ci				${SETUP}
7080e5c31af7Sopenharmony_ci				out0 = mat3x2(in0);
7081e5c31af7Sopenharmony_ci				${OUTPUT}
7082e5c31af7Sopenharmony_ci			}
7083e5c31af7Sopenharmony_ci		""
7084e5c31af7Sopenharmony_ci	end
7085e5c31af7Sopenharmony_ci
7086e5c31af7Sopenharmony_ci	case mat4_to_mat2x4
7087e5c31af7Sopenharmony_ci		version 300 es
7088e5c31af7Sopenharmony_ci		values
7089e5c31af7Sopenharmony_ci		{
7090e5c31af7Sopenharmony_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) ];
7091e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ];
7092e5c31af7Sopenharmony_ci		}
7093e5c31af7Sopenharmony_ci
7094e5c31af7Sopenharmony_ci		both ""
7095e5c31af7Sopenharmony_ci			#version 300 es
7096e5c31af7Sopenharmony_ci			precision mediump float;
7097e5c31af7Sopenharmony_ci			precision mediump int;
7098e5c31af7Sopenharmony_ci
7099e5c31af7Sopenharmony_ci			${DECLARATIONS}
7100e5c31af7Sopenharmony_ci
7101e5c31af7Sopenharmony_ci			void main()
7102e5c31af7Sopenharmony_ci			{
7103e5c31af7Sopenharmony_ci				${SETUP}
7104e5c31af7Sopenharmony_ci				out0 = mat2x4(in0);
7105e5c31af7Sopenharmony_ci				${OUTPUT}
7106e5c31af7Sopenharmony_ci			}
7107e5c31af7Sopenharmony_ci		""
7108e5c31af7Sopenharmony_ci	end
7109e5c31af7Sopenharmony_ci
7110e5c31af7Sopenharmony_ci	case mat4_to_mat2x3
7111e5c31af7Sopenharmony_ci		version 300 es
7112e5c31af7Sopenharmony_ci		values
7113e5c31af7Sopenharmony_ci		{
7114e5c31af7Sopenharmony_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) ];
7115e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ];
7116e5c31af7Sopenharmony_ci		}
7117e5c31af7Sopenharmony_ci
7118e5c31af7Sopenharmony_ci		both ""
7119e5c31af7Sopenharmony_ci			#version 300 es
7120e5c31af7Sopenharmony_ci			precision mediump float;
7121e5c31af7Sopenharmony_ci			precision mediump int;
7122e5c31af7Sopenharmony_ci
7123e5c31af7Sopenharmony_ci			${DECLARATIONS}
7124e5c31af7Sopenharmony_ci
7125e5c31af7Sopenharmony_ci			void main()
7126e5c31af7Sopenharmony_ci			{
7127e5c31af7Sopenharmony_ci				${SETUP}
7128e5c31af7Sopenharmony_ci				out0 = mat2x3(in0);
7129e5c31af7Sopenharmony_ci				${OUTPUT}
7130e5c31af7Sopenharmony_ci			}
7131e5c31af7Sopenharmony_ci		""
7132e5c31af7Sopenharmony_ci	end
7133e5c31af7Sopenharmony_ci
7134e5c31af7Sopenharmony_ci	case mat4_to_mat2
7135e5c31af7Sopenharmony_ci		version 300 es
7136e5c31af7Sopenharmony_ci		values
7137e5c31af7Sopenharmony_ci		{
7138e5c31af7Sopenharmony_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) ];
7139e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ];
7140e5c31af7Sopenharmony_ci		}
7141e5c31af7Sopenharmony_ci
7142e5c31af7Sopenharmony_ci		both ""
7143e5c31af7Sopenharmony_ci			#version 300 es
7144e5c31af7Sopenharmony_ci			precision mediump float;
7145e5c31af7Sopenharmony_ci			precision mediump int;
7146e5c31af7Sopenharmony_ci
7147e5c31af7Sopenharmony_ci			${DECLARATIONS}
7148e5c31af7Sopenharmony_ci
7149e5c31af7Sopenharmony_ci			void main()
7150e5c31af7Sopenharmony_ci			{
7151e5c31af7Sopenharmony_ci				${SETUP}
7152e5c31af7Sopenharmony_ci				out0 = mat2(in0);
7153e5c31af7Sopenharmony_ci				${OUTPUT}
7154e5c31af7Sopenharmony_ci			}
7155e5c31af7Sopenharmony_ci		""
7156e5c31af7Sopenharmony_ci	end
7157e5c31af7Sopenharmony_ci
7158e5c31af7Sopenharmony_ci	case mat4x3_to_mat4
7159e5c31af7Sopenharmony_ci		version 300 es
7160e5c31af7Sopenharmony_ci		values
7161e5c31af7Sopenharmony_ci		{
7162e5c31af7Sopenharmony_ci			input mat4x3 in0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ];
7163e5c31af7Sopenharmony_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.0208333333333, 0.0625, 0.0, -0.75, -8.425, 0.03125, 0.0, 9.975, -6.542, 0.015625, 1.0) ];
7164e5c31af7Sopenharmony_ci		}
7165e5c31af7Sopenharmony_ci
7166e5c31af7Sopenharmony_ci		both ""
7167e5c31af7Sopenharmony_ci			#version 300 es
7168e5c31af7Sopenharmony_ci			precision mediump float;
7169e5c31af7Sopenharmony_ci			precision mediump int;
7170e5c31af7Sopenharmony_ci
7171e5c31af7Sopenharmony_ci			${DECLARATIONS}
7172e5c31af7Sopenharmony_ci
7173e5c31af7Sopenharmony_ci			void main()
7174e5c31af7Sopenharmony_ci			{
7175e5c31af7Sopenharmony_ci				${SETUP}
7176e5c31af7Sopenharmony_ci				out0 = mat4(in0);
7177e5c31af7Sopenharmony_ci				${OUTPUT}
7178e5c31af7Sopenharmony_ci			}
7179e5c31af7Sopenharmony_ci		""
7180e5c31af7Sopenharmony_ci	end
7181e5c31af7Sopenharmony_ci
7182e5c31af7Sopenharmony_ci	case mat4x3_to_mat4x3
7183e5c31af7Sopenharmony_ci		version 300 es
7184e5c31af7Sopenharmony_ci		values
7185e5c31af7Sopenharmony_ci		{
7186e5c31af7Sopenharmony_ci			input mat4x3 in0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ];
7187e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ];
7188e5c31af7Sopenharmony_ci		}
7189e5c31af7Sopenharmony_ci
7190e5c31af7Sopenharmony_ci		both ""
7191e5c31af7Sopenharmony_ci			#version 300 es
7192e5c31af7Sopenharmony_ci			precision mediump float;
7193e5c31af7Sopenharmony_ci			precision mediump int;
7194e5c31af7Sopenharmony_ci
7195e5c31af7Sopenharmony_ci			${DECLARATIONS}
7196e5c31af7Sopenharmony_ci
7197e5c31af7Sopenharmony_ci			void main()
7198e5c31af7Sopenharmony_ci			{
7199e5c31af7Sopenharmony_ci				${SETUP}
7200e5c31af7Sopenharmony_ci				out0 = mat4x3(in0);
7201e5c31af7Sopenharmony_ci				${OUTPUT}
7202e5c31af7Sopenharmony_ci			}
7203e5c31af7Sopenharmony_ci		""
7204e5c31af7Sopenharmony_ci	end
7205e5c31af7Sopenharmony_ci
7206e5c31af7Sopenharmony_ci	case mat4x3_to_mat4x2
7207e5c31af7Sopenharmony_ci		version 300 es
7208e5c31af7Sopenharmony_ci		values
7209e5c31af7Sopenharmony_ci		{
7210e5c31af7Sopenharmony_ci			input mat4x3 in0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ];
7211e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ];
7212e5c31af7Sopenharmony_ci		}
7213e5c31af7Sopenharmony_ci
7214e5c31af7Sopenharmony_ci		both ""
7215e5c31af7Sopenharmony_ci			#version 300 es
7216e5c31af7Sopenharmony_ci			precision mediump float;
7217e5c31af7Sopenharmony_ci			precision mediump int;
7218e5c31af7Sopenharmony_ci
7219e5c31af7Sopenharmony_ci			${DECLARATIONS}
7220e5c31af7Sopenharmony_ci
7221e5c31af7Sopenharmony_ci			void main()
7222e5c31af7Sopenharmony_ci			{
7223e5c31af7Sopenharmony_ci				${SETUP}
7224e5c31af7Sopenharmony_ci				out0 = mat4x2(in0);
7225e5c31af7Sopenharmony_ci				${OUTPUT}
7226e5c31af7Sopenharmony_ci			}
7227e5c31af7Sopenharmony_ci		""
7228e5c31af7Sopenharmony_ci	end
7229e5c31af7Sopenharmony_ci
7230e5c31af7Sopenharmony_ci	case mat4x3_to_mat3x4
7231e5c31af7Sopenharmony_ci		version 300 es
7232e5c31af7Sopenharmony_ci		values
7233e5c31af7Sopenharmony_ci		{
7234e5c31af7Sopenharmony_ci			input mat4x3 in0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ];
7235e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, 0.0, 12.5, 0.0208333333333, 0.0625, 0.0, -0.75, -8.425, 0.03125, 0.0) ];
7236e5c31af7Sopenharmony_ci		}
7237e5c31af7Sopenharmony_ci
7238e5c31af7Sopenharmony_ci		both ""
7239e5c31af7Sopenharmony_ci			#version 300 es
7240e5c31af7Sopenharmony_ci			precision mediump float;
7241e5c31af7Sopenharmony_ci			precision mediump int;
7242e5c31af7Sopenharmony_ci
7243e5c31af7Sopenharmony_ci			${DECLARATIONS}
7244e5c31af7Sopenharmony_ci
7245e5c31af7Sopenharmony_ci			void main()
7246e5c31af7Sopenharmony_ci			{
7247e5c31af7Sopenharmony_ci				${SETUP}
7248e5c31af7Sopenharmony_ci				out0 = mat3x4(in0);
7249e5c31af7Sopenharmony_ci				${OUTPUT}
7250e5c31af7Sopenharmony_ci			}
7251e5c31af7Sopenharmony_ci		""
7252e5c31af7Sopenharmony_ci	end
7253e5c31af7Sopenharmony_ci
7254e5c31af7Sopenharmony_ci	case mat4x3_to_mat3
7255e5c31af7Sopenharmony_ci		version 300 es
7256e5c31af7Sopenharmony_ci		values
7257e5c31af7Sopenharmony_ci		{
7258e5c31af7Sopenharmony_ci			input mat4x3 in0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ];
7259e5c31af7Sopenharmony_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) ];
7260e5c31af7Sopenharmony_ci		}
7261e5c31af7Sopenharmony_ci
7262e5c31af7Sopenharmony_ci		both ""
7263e5c31af7Sopenharmony_ci			#version 300 es
7264e5c31af7Sopenharmony_ci			precision mediump float;
7265e5c31af7Sopenharmony_ci			precision mediump int;
7266e5c31af7Sopenharmony_ci
7267e5c31af7Sopenharmony_ci			${DECLARATIONS}
7268e5c31af7Sopenharmony_ci
7269e5c31af7Sopenharmony_ci			void main()
7270e5c31af7Sopenharmony_ci			{
7271e5c31af7Sopenharmony_ci				${SETUP}
7272e5c31af7Sopenharmony_ci				out0 = mat3(in0);
7273e5c31af7Sopenharmony_ci				${OUTPUT}
7274e5c31af7Sopenharmony_ci			}
7275e5c31af7Sopenharmony_ci		""
7276e5c31af7Sopenharmony_ci	end
7277e5c31af7Sopenharmony_ci
7278e5c31af7Sopenharmony_ci	case mat4x3_to_mat3x2
7279e5c31af7Sopenharmony_ci		version 300 es
7280e5c31af7Sopenharmony_ci		values
7281e5c31af7Sopenharmony_ci		{
7282e5c31af7Sopenharmony_ci			input mat4x3 in0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ];
7283e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ];
7284e5c31af7Sopenharmony_ci		}
7285e5c31af7Sopenharmony_ci
7286e5c31af7Sopenharmony_ci		both ""
7287e5c31af7Sopenharmony_ci			#version 300 es
7288e5c31af7Sopenharmony_ci			precision mediump float;
7289e5c31af7Sopenharmony_ci			precision mediump int;
7290e5c31af7Sopenharmony_ci
7291e5c31af7Sopenharmony_ci			${DECLARATIONS}
7292e5c31af7Sopenharmony_ci
7293e5c31af7Sopenharmony_ci			void main()
7294e5c31af7Sopenharmony_ci			{
7295e5c31af7Sopenharmony_ci				${SETUP}
7296e5c31af7Sopenharmony_ci				out0 = mat3x2(in0);
7297e5c31af7Sopenharmony_ci				${OUTPUT}
7298e5c31af7Sopenharmony_ci			}
7299e5c31af7Sopenharmony_ci		""
7300e5c31af7Sopenharmony_ci	end
7301e5c31af7Sopenharmony_ci
7302e5c31af7Sopenharmony_ci	case mat4x3_to_mat2x4
7303e5c31af7Sopenharmony_ci		version 300 es
7304e5c31af7Sopenharmony_ci		values
7305e5c31af7Sopenharmony_ci		{
7306e5c31af7Sopenharmony_ci			input mat4x3 in0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ];
7307e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, 0.0, 12.5, 0.0208333333333, 0.0625, 0.0) ];
7308e5c31af7Sopenharmony_ci		}
7309e5c31af7Sopenharmony_ci
7310e5c31af7Sopenharmony_ci		both ""
7311e5c31af7Sopenharmony_ci			#version 300 es
7312e5c31af7Sopenharmony_ci			precision mediump float;
7313e5c31af7Sopenharmony_ci			precision mediump int;
7314e5c31af7Sopenharmony_ci
7315e5c31af7Sopenharmony_ci			${DECLARATIONS}
7316e5c31af7Sopenharmony_ci
7317e5c31af7Sopenharmony_ci			void main()
7318e5c31af7Sopenharmony_ci			{
7319e5c31af7Sopenharmony_ci				${SETUP}
7320e5c31af7Sopenharmony_ci				out0 = mat2x4(in0);
7321e5c31af7Sopenharmony_ci				${OUTPUT}
7322e5c31af7Sopenharmony_ci			}
7323e5c31af7Sopenharmony_ci		""
7324e5c31af7Sopenharmony_ci	end
7325e5c31af7Sopenharmony_ci
7326e5c31af7Sopenharmony_ci	case mat4x3_to_mat2x3
7327e5c31af7Sopenharmony_ci		version 300 es
7328e5c31af7Sopenharmony_ci		values
7329e5c31af7Sopenharmony_ci		{
7330e5c31af7Sopenharmony_ci			input mat4x3 in0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ];
7331e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ];
7332e5c31af7Sopenharmony_ci		}
7333e5c31af7Sopenharmony_ci
7334e5c31af7Sopenharmony_ci		both ""
7335e5c31af7Sopenharmony_ci			#version 300 es
7336e5c31af7Sopenharmony_ci			precision mediump float;
7337e5c31af7Sopenharmony_ci			precision mediump int;
7338e5c31af7Sopenharmony_ci
7339e5c31af7Sopenharmony_ci			${DECLARATIONS}
7340e5c31af7Sopenharmony_ci
7341e5c31af7Sopenharmony_ci			void main()
7342e5c31af7Sopenharmony_ci			{
7343e5c31af7Sopenharmony_ci				${SETUP}
7344e5c31af7Sopenharmony_ci				out0 = mat2x3(in0);
7345e5c31af7Sopenharmony_ci				${OUTPUT}
7346e5c31af7Sopenharmony_ci			}
7347e5c31af7Sopenharmony_ci		""
7348e5c31af7Sopenharmony_ci	end
7349e5c31af7Sopenharmony_ci
7350e5c31af7Sopenharmony_ci	case mat4x3_to_mat2
7351e5c31af7Sopenharmony_ci		version 300 es
7352e5c31af7Sopenharmony_ci		values
7353e5c31af7Sopenharmony_ci		{
7354e5c31af7Sopenharmony_ci			input mat4x3 in0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ];
7355e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ];
7356e5c31af7Sopenharmony_ci		}
7357e5c31af7Sopenharmony_ci
7358e5c31af7Sopenharmony_ci		both ""
7359e5c31af7Sopenharmony_ci			#version 300 es
7360e5c31af7Sopenharmony_ci			precision mediump float;
7361e5c31af7Sopenharmony_ci			precision mediump int;
7362e5c31af7Sopenharmony_ci
7363e5c31af7Sopenharmony_ci			${DECLARATIONS}
7364e5c31af7Sopenharmony_ci
7365e5c31af7Sopenharmony_ci			void main()
7366e5c31af7Sopenharmony_ci			{
7367e5c31af7Sopenharmony_ci				${SETUP}
7368e5c31af7Sopenharmony_ci				out0 = mat2(in0);
7369e5c31af7Sopenharmony_ci				${OUTPUT}
7370e5c31af7Sopenharmony_ci			}
7371e5c31af7Sopenharmony_ci		""
7372e5c31af7Sopenharmony_ci	end
7373e5c31af7Sopenharmony_ci
7374e5c31af7Sopenharmony_ci	case mat4x2_to_mat4
7375e5c31af7Sopenharmony_ci		version 300 es
7376e5c31af7Sopenharmony_ci		values
7377e5c31af7Sopenharmony_ci		{
7378e5c31af7Sopenharmony_ci			input mat4x2 in0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ];
7379e5c31af7Sopenharmony_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.0, 0.0, 12.5, 0.0208333333333, 0.0, 0.0, -0.75, -8.425, 1.0, 0.0, 9.975, -6.542, 0.0, 1.0) ];
7380e5c31af7Sopenharmony_ci		}
7381e5c31af7Sopenharmony_ci
7382e5c31af7Sopenharmony_ci		both ""
7383e5c31af7Sopenharmony_ci			#version 300 es
7384e5c31af7Sopenharmony_ci			precision mediump float;
7385e5c31af7Sopenharmony_ci			precision mediump int;
7386e5c31af7Sopenharmony_ci
7387e5c31af7Sopenharmony_ci			${DECLARATIONS}
7388e5c31af7Sopenharmony_ci
7389e5c31af7Sopenharmony_ci			void main()
7390e5c31af7Sopenharmony_ci			{
7391e5c31af7Sopenharmony_ci				${SETUP}
7392e5c31af7Sopenharmony_ci				out0 = mat4(in0);
7393e5c31af7Sopenharmony_ci				${OUTPUT}
7394e5c31af7Sopenharmony_ci			}
7395e5c31af7Sopenharmony_ci		""
7396e5c31af7Sopenharmony_ci	end
7397e5c31af7Sopenharmony_ci
7398e5c31af7Sopenharmony_ci	case mat4x2_to_mat4x3
7399e5c31af7Sopenharmony_ci		version 300 es
7400e5c31af7Sopenharmony_ci		values
7401e5c31af7Sopenharmony_ci		{
7402e5c31af7Sopenharmony_ci			input mat4x2 in0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ];
7403e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.0, 12.5, 0.0208333333333, 0.0, -0.75, -8.425, 1.0, 9.975, -6.542, 0.0) ];
7404e5c31af7Sopenharmony_ci		}
7405e5c31af7Sopenharmony_ci
7406e5c31af7Sopenharmony_ci		both ""
7407e5c31af7Sopenharmony_ci			#version 300 es
7408e5c31af7Sopenharmony_ci			precision mediump float;
7409e5c31af7Sopenharmony_ci			precision mediump int;
7410e5c31af7Sopenharmony_ci
7411e5c31af7Sopenharmony_ci			${DECLARATIONS}
7412e5c31af7Sopenharmony_ci
7413e5c31af7Sopenharmony_ci			void main()
7414e5c31af7Sopenharmony_ci			{
7415e5c31af7Sopenharmony_ci				${SETUP}
7416e5c31af7Sopenharmony_ci				out0 = mat4x3(in0);
7417e5c31af7Sopenharmony_ci				${OUTPUT}
7418e5c31af7Sopenharmony_ci			}
7419e5c31af7Sopenharmony_ci		""
7420e5c31af7Sopenharmony_ci	end
7421e5c31af7Sopenharmony_ci
7422e5c31af7Sopenharmony_ci	case mat4x2_to_mat4x2
7423e5c31af7Sopenharmony_ci		version 300 es
7424e5c31af7Sopenharmony_ci		values
7425e5c31af7Sopenharmony_ci		{
7426e5c31af7Sopenharmony_ci			input mat4x2 in0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ];
7427e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ];
7428e5c31af7Sopenharmony_ci		}
7429e5c31af7Sopenharmony_ci
7430e5c31af7Sopenharmony_ci		both ""
7431e5c31af7Sopenharmony_ci			#version 300 es
7432e5c31af7Sopenharmony_ci			precision mediump float;
7433e5c31af7Sopenharmony_ci			precision mediump int;
7434e5c31af7Sopenharmony_ci
7435e5c31af7Sopenharmony_ci			${DECLARATIONS}
7436e5c31af7Sopenharmony_ci
7437e5c31af7Sopenharmony_ci			void main()
7438e5c31af7Sopenharmony_ci			{
7439e5c31af7Sopenharmony_ci				${SETUP}
7440e5c31af7Sopenharmony_ci				out0 = mat4x2(in0);
7441e5c31af7Sopenharmony_ci				${OUTPUT}
7442e5c31af7Sopenharmony_ci			}
7443e5c31af7Sopenharmony_ci		""
7444e5c31af7Sopenharmony_ci	end
7445e5c31af7Sopenharmony_ci
7446e5c31af7Sopenharmony_ci	case mat4x2_to_mat3x4
7447e5c31af7Sopenharmony_ci		version 300 es
7448e5c31af7Sopenharmony_ci		values
7449e5c31af7Sopenharmony_ci		{
7450e5c31af7Sopenharmony_ci			input mat4x2 in0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ];
7451e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.0, 0.0, 12.5, 0.0208333333333, 0.0, 0.0, -0.75, -8.425, 1.0, 0.0) ];
7452e5c31af7Sopenharmony_ci		}
7453e5c31af7Sopenharmony_ci
7454e5c31af7Sopenharmony_ci		both ""
7455e5c31af7Sopenharmony_ci			#version 300 es
7456e5c31af7Sopenharmony_ci			precision mediump float;
7457e5c31af7Sopenharmony_ci			precision mediump int;
7458e5c31af7Sopenharmony_ci
7459e5c31af7Sopenharmony_ci			${DECLARATIONS}
7460e5c31af7Sopenharmony_ci
7461e5c31af7Sopenharmony_ci			void main()
7462e5c31af7Sopenharmony_ci			{
7463e5c31af7Sopenharmony_ci				${SETUP}
7464e5c31af7Sopenharmony_ci				out0 = mat3x4(in0);
7465e5c31af7Sopenharmony_ci				${OUTPUT}
7466e5c31af7Sopenharmony_ci			}
7467e5c31af7Sopenharmony_ci		""
7468e5c31af7Sopenharmony_ci	end
7469e5c31af7Sopenharmony_ci
7470e5c31af7Sopenharmony_ci	case mat4x2_to_mat3
7471e5c31af7Sopenharmony_ci		version 300 es
7472e5c31af7Sopenharmony_ci		values
7473e5c31af7Sopenharmony_ci		{
7474e5c31af7Sopenharmony_ci			input mat4x2 in0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ];
7475e5c31af7Sopenharmony_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.0, 12.5, 0.0208333333333, 0.0, -0.75, -8.425, 1.0) ];
7476e5c31af7Sopenharmony_ci		}
7477e5c31af7Sopenharmony_ci
7478e5c31af7Sopenharmony_ci		both ""
7479e5c31af7Sopenharmony_ci			#version 300 es
7480e5c31af7Sopenharmony_ci			precision mediump float;
7481e5c31af7Sopenharmony_ci			precision mediump int;
7482e5c31af7Sopenharmony_ci
7483e5c31af7Sopenharmony_ci			${DECLARATIONS}
7484e5c31af7Sopenharmony_ci
7485e5c31af7Sopenharmony_ci			void main()
7486e5c31af7Sopenharmony_ci			{
7487e5c31af7Sopenharmony_ci				${SETUP}
7488e5c31af7Sopenharmony_ci				out0 = mat3(in0);
7489e5c31af7Sopenharmony_ci				${OUTPUT}
7490e5c31af7Sopenharmony_ci			}
7491e5c31af7Sopenharmony_ci		""
7492e5c31af7Sopenharmony_ci	end
7493e5c31af7Sopenharmony_ci
7494e5c31af7Sopenharmony_ci	case mat4x2_to_mat3x2
7495e5c31af7Sopenharmony_ci		version 300 es
7496e5c31af7Sopenharmony_ci		values
7497e5c31af7Sopenharmony_ci		{
7498e5c31af7Sopenharmony_ci			input mat4x2 in0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ];
7499e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ];
7500e5c31af7Sopenharmony_ci		}
7501e5c31af7Sopenharmony_ci
7502e5c31af7Sopenharmony_ci		both ""
7503e5c31af7Sopenharmony_ci			#version 300 es
7504e5c31af7Sopenharmony_ci			precision mediump float;
7505e5c31af7Sopenharmony_ci			precision mediump int;
7506e5c31af7Sopenharmony_ci
7507e5c31af7Sopenharmony_ci			${DECLARATIONS}
7508e5c31af7Sopenharmony_ci
7509e5c31af7Sopenharmony_ci			void main()
7510e5c31af7Sopenharmony_ci			{
7511e5c31af7Sopenharmony_ci				${SETUP}
7512e5c31af7Sopenharmony_ci				out0 = mat3x2(in0);
7513e5c31af7Sopenharmony_ci				${OUTPUT}
7514e5c31af7Sopenharmony_ci			}
7515e5c31af7Sopenharmony_ci		""
7516e5c31af7Sopenharmony_ci	end
7517e5c31af7Sopenharmony_ci
7518e5c31af7Sopenharmony_ci	case mat4x2_to_mat2x4
7519e5c31af7Sopenharmony_ci		version 300 es
7520e5c31af7Sopenharmony_ci		values
7521e5c31af7Sopenharmony_ci		{
7522e5c31af7Sopenharmony_ci			input mat4x2 in0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ];
7523e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.0, 0.0, 12.5, 0.0208333333333, 0.0, 0.0) ];
7524e5c31af7Sopenharmony_ci		}
7525e5c31af7Sopenharmony_ci
7526e5c31af7Sopenharmony_ci		both ""
7527e5c31af7Sopenharmony_ci			#version 300 es
7528e5c31af7Sopenharmony_ci			precision mediump float;
7529e5c31af7Sopenharmony_ci			precision mediump int;
7530e5c31af7Sopenharmony_ci
7531e5c31af7Sopenharmony_ci			${DECLARATIONS}
7532e5c31af7Sopenharmony_ci
7533e5c31af7Sopenharmony_ci			void main()
7534e5c31af7Sopenharmony_ci			{
7535e5c31af7Sopenharmony_ci				${SETUP}
7536e5c31af7Sopenharmony_ci				out0 = mat2x4(in0);
7537e5c31af7Sopenharmony_ci				${OUTPUT}
7538e5c31af7Sopenharmony_ci			}
7539e5c31af7Sopenharmony_ci		""
7540e5c31af7Sopenharmony_ci	end
7541e5c31af7Sopenharmony_ci
7542e5c31af7Sopenharmony_ci	case mat4x2_to_mat2x3
7543e5c31af7Sopenharmony_ci		version 300 es
7544e5c31af7Sopenharmony_ci		values
7545e5c31af7Sopenharmony_ci		{
7546e5c31af7Sopenharmony_ci			input mat4x2 in0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ];
7547e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.0, 12.5, 0.0208333333333, 0.0) ];
7548e5c31af7Sopenharmony_ci		}
7549e5c31af7Sopenharmony_ci
7550e5c31af7Sopenharmony_ci		both ""
7551e5c31af7Sopenharmony_ci			#version 300 es
7552e5c31af7Sopenharmony_ci			precision mediump float;
7553e5c31af7Sopenharmony_ci			precision mediump int;
7554e5c31af7Sopenharmony_ci
7555e5c31af7Sopenharmony_ci			${DECLARATIONS}
7556e5c31af7Sopenharmony_ci
7557e5c31af7Sopenharmony_ci			void main()
7558e5c31af7Sopenharmony_ci			{
7559e5c31af7Sopenharmony_ci				${SETUP}
7560e5c31af7Sopenharmony_ci				out0 = mat2x3(in0);
7561e5c31af7Sopenharmony_ci				${OUTPUT}
7562e5c31af7Sopenharmony_ci			}
7563e5c31af7Sopenharmony_ci		""
7564e5c31af7Sopenharmony_ci	end
7565e5c31af7Sopenharmony_ci
7566e5c31af7Sopenharmony_ci	case mat4x2_to_mat2
7567e5c31af7Sopenharmony_ci		version 300 es
7568e5c31af7Sopenharmony_ci		values
7569e5c31af7Sopenharmony_ci		{
7570e5c31af7Sopenharmony_ci			input mat4x2 in0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ];
7571e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ];
7572e5c31af7Sopenharmony_ci		}
7573e5c31af7Sopenharmony_ci
7574e5c31af7Sopenharmony_ci		both ""
7575e5c31af7Sopenharmony_ci			#version 300 es
7576e5c31af7Sopenharmony_ci			precision mediump float;
7577e5c31af7Sopenharmony_ci			precision mediump int;
7578e5c31af7Sopenharmony_ci
7579e5c31af7Sopenharmony_ci			${DECLARATIONS}
7580e5c31af7Sopenharmony_ci
7581e5c31af7Sopenharmony_ci			void main()
7582e5c31af7Sopenharmony_ci			{
7583e5c31af7Sopenharmony_ci				${SETUP}
7584e5c31af7Sopenharmony_ci				out0 = mat2(in0);
7585e5c31af7Sopenharmony_ci				${OUTPUT}
7586e5c31af7Sopenharmony_ci			}
7587e5c31af7Sopenharmony_ci		""
7588e5c31af7Sopenharmony_ci	end
7589e5c31af7Sopenharmony_ci
7590e5c31af7Sopenharmony_ci	case mat3x4_to_mat4
7591e5c31af7Sopenharmony_ci		version 300 es
7592e5c31af7Sopenharmony_ci		values
7593e5c31af7Sopenharmony_ci		{
7594e5c31af7Sopenharmony_ci			input mat3x4 in0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ];
7595e5c31af7Sopenharmony_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, 0.0, 0.0, 0.0, 1.0) ];
7596e5c31af7Sopenharmony_ci		}
7597e5c31af7Sopenharmony_ci
7598e5c31af7Sopenharmony_ci		both ""
7599e5c31af7Sopenharmony_ci			#version 300 es
7600e5c31af7Sopenharmony_ci			precision mediump float;
7601e5c31af7Sopenharmony_ci			precision mediump int;
7602e5c31af7Sopenharmony_ci
7603e5c31af7Sopenharmony_ci			${DECLARATIONS}
7604e5c31af7Sopenharmony_ci
7605e5c31af7Sopenharmony_ci			void main()
7606e5c31af7Sopenharmony_ci			{
7607e5c31af7Sopenharmony_ci				${SETUP}
7608e5c31af7Sopenharmony_ci				out0 = mat4(in0);
7609e5c31af7Sopenharmony_ci				${OUTPUT}
7610e5c31af7Sopenharmony_ci			}
7611e5c31af7Sopenharmony_ci		""
7612e5c31af7Sopenharmony_ci	end
7613e5c31af7Sopenharmony_ci
7614e5c31af7Sopenharmony_ci	case mat3x4_to_mat4x3
7615e5c31af7Sopenharmony_ci		version 300 es
7616e5c31af7Sopenharmony_ci		values
7617e5c31af7Sopenharmony_ci		{
7618e5c31af7Sopenharmony_ci			input mat3x4 in0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ];
7619e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 0.0, 0.0, 0.0) ];
7620e5c31af7Sopenharmony_ci		}
7621e5c31af7Sopenharmony_ci
7622e5c31af7Sopenharmony_ci		both ""
7623e5c31af7Sopenharmony_ci			#version 300 es
7624e5c31af7Sopenharmony_ci			precision mediump float;
7625e5c31af7Sopenharmony_ci			precision mediump int;
7626e5c31af7Sopenharmony_ci
7627e5c31af7Sopenharmony_ci			${DECLARATIONS}
7628e5c31af7Sopenharmony_ci
7629e5c31af7Sopenharmony_ci			void main()
7630e5c31af7Sopenharmony_ci			{
7631e5c31af7Sopenharmony_ci				${SETUP}
7632e5c31af7Sopenharmony_ci				out0 = mat4x3(in0);
7633e5c31af7Sopenharmony_ci				${OUTPUT}
7634e5c31af7Sopenharmony_ci			}
7635e5c31af7Sopenharmony_ci		""
7636e5c31af7Sopenharmony_ci	end
7637e5c31af7Sopenharmony_ci
7638e5c31af7Sopenharmony_ci	case mat3x4_to_mat4x2
7639e5c31af7Sopenharmony_ci		version 300 es
7640e5c31af7Sopenharmony_ci		values
7641e5c31af7Sopenharmony_ci		{
7642e5c31af7Sopenharmony_ci			input mat3x4 in0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ];
7643e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 0.0, 0.0) ];
7644e5c31af7Sopenharmony_ci		}
7645e5c31af7Sopenharmony_ci
7646e5c31af7Sopenharmony_ci		both ""
7647e5c31af7Sopenharmony_ci			#version 300 es
7648e5c31af7Sopenharmony_ci			precision mediump float;
7649e5c31af7Sopenharmony_ci			precision mediump int;
7650e5c31af7Sopenharmony_ci
7651e5c31af7Sopenharmony_ci			${DECLARATIONS}
7652e5c31af7Sopenharmony_ci
7653e5c31af7Sopenharmony_ci			void main()
7654e5c31af7Sopenharmony_ci			{
7655e5c31af7Sopenharmony_ci				${SETUP}
7656e5c31af7Sopenharmony_ci				out0 = mat4x2(in0);
7657e5c31af7Sopenharmony_ci				${OUTPUT}
7658e5c31af7Sopenharmony_ci			}
7659e5c31af7Sopenharmony_ci		""
7660e5c31af7Sopenharmony_ci	end
7661e5c31af7Sopenharmony_ci
7662e5c31af7Sopenharmony_ci	case mat3x4_to_mat3x4
7663e5c31af7Sopenharmony_ci		version 300 es
7664e5c31af7Sopenharmony_ci		values
7665e5c31af7Sopenharmony_ci		{
7666e5c31af7Sopenharmony_ci			input mat3x4 in0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ];
7667e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ];
7668e5c31af7Sopenharmony_ci		}
7669e5c31af7Sopenharmony_ci
7670e5c31af7Sopenharmony_ci		both ""
7671e5c31af7Sopenharmony_ci			#version 300 es
7672e5c31af7Sopenharmony_ci			precision mediump float;
7673e5c31af7Sopenharmony_ci			precision mediump int;
7674e5c31af7Sopenharmony_ci
7675e5c31af7Sopenharmony_ci			${DECLARATIONS}
7676e5c31af7Sopenharmony_ci
7677e5c31af7Sopenharmony_ci			void main()
7678e5c31af7Sopenharmony_ci			{
7679e5c31af7Sopenharmony_ci				${SETUP}
7680e5c31af7Sopenharmony_ci				out0 = mat3x4(in0);
7681e5c31af7Sopenharmony_ci				${OUTPUT}
7682e5c31af7Sopenharmony_ci			}
7683e5c31af7Sopenharmony_ci		""
7684e5c31af7Sopenharmony_ci	end
7685e5c31af7Sopenharmony_ci
7686e5c31af7Sopenharmony_ci	case mat3x4_to_mat3
7687e5c31af7Sopenharmony_ci		version 300 es
7688e5c31af7Sopenharmony_ci		values
7689e5c31af7Sopenharmony_ci		{
7690e5c31af7Sopenharmony_ci			input mat3x4 in0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ];
7691e5c31af7Sopenharmony_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) ];
7692e5c31af7Sopenharmony_ci		}
7693e5c31af7Sopenharmony_ci
7694e5c31af7Sopenharmony_ci		both ""
7695e5c31af7Sopenharmony_ci			#version 300 es
7696e5c31af7Sopenharmony_ci			precision mediump float;
7697e5c31af7Sopenharmony_ci			precision mediump int;
7698e5c31af7Sopenharmony_ci
7699e5c31af7Sopenharmony_ci			${DECLARATIONS}
7700e5c31af7Sopenharmony_ci
7701e5c31af7Sopenharmony_ci			void main()
7702e5c31af7Sopenharmony_ci			{
7703e5c31af7Sopenharmony_ci				${SETUP}
7704e5c31af7Sopenharmony_ci				out0 = mat3(in0);
7705e5c31af7Sopenharmony_ci				${OUTPUT}
7706e5c31af7Sopenharmony_ci			}
7707e5c31af7Sopenharmony_ci		""
7708e5c31af7Sopenharmony_ci	end
7709e5c31af7Sopenharmony_ci
7710e5c31af7Sopenharmony_ci	case mat3x4_to_mat3x2
7711e5c31af7Sopenharmony_ci		version 300 es
7712e5c31af7Sopenharmony_ci		values
7713e5c31af7Sopenharmony_ci		{
7714e5c31af7Sopenharmony_ci			input mat3x4 in0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ];
7715e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ];
7716e5c31af7Sopenharmony_ci		}
7717e5c31af7Sopenharmony_ci
7718e5c31af7Sopenharmony_ci		both ""
7719e5c31af7Sopenharmony_ci			#version 300 es
7720e5c31af7Sopenharmony_ci			precision mediump float;
7721e5c31af7Sopenharmony_ci			precision mediump int;
7722e5c31af7Sopenharmony_ci
7723e5c31af7Sopenharmony_ci			${DECLARATIONS}
7724e5c31af7Sopenharmony_ci
7725e5c31af7Sopenharmony_ci			void main()
7726e5c31af7Sopenharmony_ci			{
7727e5c31af7Sopenharmony_ci				${SETUP}
7728e5c31af7Sopenharmony_ci				out0 = mat3x2(in0);
7729e5c31af7Sopenharmony_ci				${OUTPUT}
7730e5c31af7Sopenharmony_ci			}
7731e5c31af7Sopenharmony_ci		""
7732e5c31af7Sopenharmony_ci	end
7733e5c31af7Sopenharmony_ci
7734e5c31af7Sopenharmony_ci	case mat3x4_to_mat2x4
7735e5c31af7Sopenharmony_ci		version 300 es
7736e5c31af7Sopenharmony_ci		values
7737e5c31af7Sopenharmony_ci		{
7738e5c31af7Sopenharmony_ci			input mat3x4 in0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ];
7739e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ];
7740e5c31af7Sopenharmony_ci		}
7741e5c31af7Sopenharmony_ci
7742e5c31af7Sopenharmony_ci		both ""
7743e5c31af7Sopenharmony_ci			#version 300 es
7744e5c31af7Sopenharmony_ci			precision mediump float;
7745e5c31af7Sopenharmony_ci			precision mediump int;
7746e5c31af7Sopenharmony_ci
7747e5c31af7Sopenharmony_ci			${DECLARATIONS}
7748e5c31af7Sopenharmony_ci
7749e5c31af7Sopenharmony_ci			void main()
7750e5c31af7Sopenharmony_ci			{
7751e5c31af7Sopenharmony_ci				${SETUP}
7752e5c31af7Sopenharmony_ci				out0 = mat2x4(in0);
7753e5c31af7Sopenharmony_ci				${OUTPUT}
7754e5c31af7Sopenharmony_ci			}
7755e5c31af7Sopenharmony_ci		""
7756e5c31af7Sopenharmony_ci	end
7757e5c31af7Sopenharmony_ci
7758e5c31af7Sopenharmony_ci	case mat3x4_to_mat2x3
7759e5c31af7Sopenharmony_ci		version 300 es
7760e5c31af7Sopenharmony_ci		values
7761e5c31af7Sopenharmony_ci		{
7762e5c31af7Sopenharmony_ci			input mat3x4 in0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ];
7763e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ];
7764e5c31af7Sopenharmony_ci		}
7765e5c31af7Sopenharmony_ci
7766e5c31af7Sopenharmony_ci		both ""
7767e5c31af7Sopenharmony_ci			#version 300 es
7768e5c31af7Sopenharmony_ci			precision mediump float;
7769e5c31af7Sopenharmony_ci			precision mediump int;
7770e5c31af7Sopenharmony_ci
7771e5c31af7Sopenharmony_ci			${DECLARATIONS}
7772e5c31af7Sopenharmony_ci
7773e5c31af7Sopenharmony_ci			void main()
7774e5c31af7Sopenharmony_ci			{
7775e5c31af7Sopenharmony_ci				${SETUP}
7776e5c31af7Sopenharmony_ci				out0 = mat2x3(in0);
7777e5c31af7Sopenharmony_ci				${OUTPUT}
7778e5c31af7Sopenharmony_ci			}
7779e5c31af7Sopenharmony_ci		""
7780e5c31af7Sopenharmony_ci	end
7781e5c31af7Sopenharmony_ci
7782e5c31af7Sopenharmony_ci	case mat3x4_to_mat2
7783e5c31af7Sopenharmony_ci		version 300 es
7784e5c31af7Sopenharmony_ci		values
7785e5c31af7Sopenharmony_ci		{
7786e5c31af7Sopenharmony_ci			input mat3x4 in0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ];
7787e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ];
7788e5c31af7Sopenharmony_ci		}
7789e5c31af7Sopenharmony_ci
7790e5c31af7Sopenharmony_ci		both ""
7791e5c31af7Sopenharmony_ci			#version 300 es
7792e5c31af7Sopenharmony_ci			precision mediump float;
7793e5c31af7Sopenharmony_ci			precision mediump int;
7794e5c31af7Sopenharmony_ci
7795e5c31af7Sopenharmony_ci			${DECLARATIONS}
7796e5c31af7Sopenharmony_ci
7797e5c31af7Sopenharmony_ci			void main()
7798e5c31af7Sopenharmony_ci			{
7799e5c31af7Sopenharmony_ci				${SETUP}
7800e5c31af7Sopenharmony_ci				out0 = mat2(in0);
7801e5c31af7Sopenharmony_ci				${OUTPUT}
7802e5c31af7Sopenharmony_ci			}
7803e5c31af7Sopenharmony_ci		""
7804e5c31af7Sopenharmony_ci	end
7805e5c31af7Sopenharmony_ci
7806e5c31af7Sopenharmony_ci	case mat3_to_mat4
7807e5c31af7Sopenharmony_ci		version 300 es
7808e5c31af7Sopenharmony_ci		values
7809e5c31af7Sopenharmony_ci		{
7810e5c31af7Sopenharmony_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.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ];
7811e5c31af7Sopenharmony_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.0208333333333, 0.0625, 0.0, -0.75, -8.425, 0.03125, 0.0, 0.0, 0.0, 0.0, 1.0) ];
7812e5c31af7Sopenharmony_ci		}
7813e5c31af7Sopenharmony_ci
7814e5c31af7Sopenharmony_ci		both ""
7815e5c31af7Sopenharmony_ci			#version 300 es
7816e5c31af7Sopenharmony_ci			precision mediump float;
7817e5c31af7Sopenharmony_ci			precision mediump int;
7818e5c31af7Sopenharmony_ci
7819e5c31af7Sopenharmony_ci			${DECLARATIONS}
7820e5c31af7Sopenharmony_ci
7821e5c31af7Sopenharmony_ci			void main()
7822e5c31af7Sopenharmony_ci			{
7823e5c31af7Sopenharmony_ci				${SETUP}
7824e5c31af7Sopenharmony_ci				out0 = mat4(in0);
7825e5c31af7Sopenharmony_ci				${OUTPUT}
7826e5c31af7Sopenharmony_ci			}
7827e5c31af7Sopenharmony_ci		""
7828e5c31af7Sopenharmony_ci	end
7829e5c31af7Sopenharmony_ci
7830e5c31af7Sopenharmony_ci	case mat3_to_mat4x3
7831e5c31af7Sopenharmony_ci		version 300 es
7832e5c31af7Sopenharmony_ci		values
7833e5c31af7Sopenharmony_ci		{
7834e5c31af7Sopenharmony_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.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ];
7835e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 0.0, 0.0, 0.0) ];
7836e5c31af7Sopenharmony_ci		}
7837e5c31af7Sopenharmony_ci
7838e5c31af7Sopenharmony_ci		both ""
7839e5c31af7Sopenharmony_ci			#version 300 es
7840e5c31af7Sopenharmony_ci			precision mediump float;
7841e5c31af7Sopenharmony_ci			precision mediump int;
7842e5c31af7Sopenharmony_ci
7843e5c31af7Sopenharmony_ci			${DECLARATIONS}
7844e5c31af7Sopenharmony_ci
7845e5c31af7Sopenharmony_ci			void main()
7846e5c31af7Sopenharmony_ci			{
7847e5c31af7Sopenharmony_ci				${SETUP}
7848e5c31af7Sopenharmony_ci				out0 = mat4x3(in0);
7849e5c31af7Sopenharmony_ci				${OUTPUT}
7850e5c31af7Sopenharmony_ci			}
7851e5c31af7Sopenharmony_ci		""
7852e5c31af7Sopenharmony_ci	end
7853e5c31af7Sopenharmony_ci
7854e5c31af7Sopenharmony_ci	case mat3_to_mat4x2
7855e5c31af7Sopenharmony_ci		version 300 es
7856e5c31af7Sopenharmony_ci		values
7857e5c31af7Sopenharmony_ci		{
7858e5c31af7Sopenharmony_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.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ];
7859e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 0.0, 0.0) ];
7860e5c31af7Sopenharmony_ci		}
7861e5c31af7Sopenharmony_ci
7862e5c31af7Sopenharmony_ci		both ""
7863e5c31af7Sopenharmony_ci			#version 300 es
7864e5c31af7Sopenharmony_ci			precision mediump float;
7865e5c31af7Sopenharmony_ci			precision mediump int;
7866e5c31af7Sopenharmony_ci
7867e5c31af7Sopenharmony_ci			${DECLARATIONS}
7868e5c31af7Sopenharmony_ci
7869e5c31af7Sopenharmony_ci			void main()
7870e5c31af7Sopenharmony_ci			{
7871e5c31af7Sopenharmony_ci				${SETUP}
7872e5c31af7Sopenharmony_ci				out0 = mat4x2(in0);
7873e5c31af7Sopenharmony_ci				${OUTPUT}
7874e5c31af7Sopenharmony_ci			}
7875e5c31af7Sopenharmony_ci		""
7876e5c31af7Sopenharmony_ci	end
7877e5c31af7Sopenharmony_ci
7878e5c31af7Sopenharmony_ci	case mat3_to_mat3x4
7879e5c31af7Sopenharmony_ci		version 300 es
7880e5c31af7Sopenharmony_ci		values
7881e5c31af7Sopenharmony_ci		{
7882e5c31af7Sopenharmony_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.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ];
7883e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, 0.0, 12.5, 0.0208333333333, 0.0625, 0.0, -0.75, -8.425, 0.03125, 0.0) ];
7884e5c31af7Sopenharmony_ci		}
7885e5c31af7Sopenharmony_ci
7886e5c31af7Sopenharmony_ci		both ""
7887e5c31af7Sopenharmony_ci			#version 300 es
7888e5c31af7Sopenharmony_ci			precision mediump float;
7889e5c31af7Sopenharmony_ci			precision mediump int;
7890e5c31af7Sopenharmony_ci
7891e5c31af7Sopenharmony_ci			${DECLARATIONS}
7892e5c31af7Sopenharmony_ci
7893e5c31af7Sopenharmony_ci			void main()
7894e5c31af7Sopenharmony_ci			{
7895e5c31af7Sopenharmony_ci				${SETUP}
7896e5c31af7Sopenharmony_ci				out0 = mat3x4(in0);
7897e5c31af7Sopenharmony_ci				${OUTPUT}
7898e5c31af7Sopenharmony_ci			}
7899e5c31af7Sopenharmony_ci		""
7900e5c31af7Sopenharmony_ci	end
7901e5c31af7Sopenharmony_ci
7902e5c31af7Sopenharmony_ci	case mat3_to_mat3
7903e5c31af7Sopenharmony_ci		version 300 es
7904e5c31af7Sopenharmony_ci		values
7905e5c31af7Sopenharmony_ci		{
7906e5c31af7Sopenharmony_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.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ];
7907e5c31af7Sopenharmony_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) ];
7908e5c31af7Sopenharmony_ci		}
7909e5c31af7Sopenharmony_ci
7910e5c31af7Sopenharmony_ci		both ""
7911e5c31af7Sopenharmony_ci			#version 300 es
7912e5c31af7Sopenharmony_ci			precision mediump float;
7913e5c31af7Sopenharmony_ci			precision mediump int;
7914e5c31af7Sopenharmony_ci
7915e5c31af7Sopenharmony_ci			${DECLARATIONS}
7916e5c31af7Sopenharmony_ci
7917e5c31af7Sopenharmony_ci			void main()
7918e5c31af7Sopenharmony_ci			{
7919e5c31af7Sopenharmony_ci				${SETUP}
7920e5c31af7Sopenharmony_ci				out0 = mat3(in0);
7921e5c31af7Sopenharmony_ci				${OUTPUT}
7922e5c31af7Sopenharmony_ci			}
7923e5c31af7Sopenharmony_ci		""
7924e5c31af7Sopenharmony_ci	end
7925e5c31af7Sopenharmony_ci
7926e5c31af7Sopenharmony_ci	case mat3_to_mat3x2
7927e5c31af7Sopenharmony_ci		version 300 es
7928e5c31af7Sopenharmony_ci		values
7929e5c31af7Sopenharmony_ci		{
7930e5c31af7Sopenharmony_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.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ];
7931e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ];
7932e5c31af7Sopenharmony_ci		}
7933e5c31af7Sopenharmony_ci
7934e5c31af7Sopenharmony_ci		both ""
7935e5c31af7Sopenharmony_ci			#version 300 es
7936e5c31af7Sopenharmony_ci			precision mediump float;
7937e5c31af7Sopenharmony_ci			precision mediump int;
7938e5c31af7Sopenharmony_ci
7939e5c31af7Sopenharmony_ci			${DECLARATIONS}
7940e5c31af7Sopenharmony_ci
7941e5c31af7Sopenharmony_ci			void main()
7942e5c31af7Sopenharmony_ci			{
7943e5c31af7Sopenharmony_ci				${SETUP}
7944e5c31af7Sopenharmony_ci				out0 = mat3x2(in0);
7945e5c31af7Sopenharmony_ci				${OUTPUT}
7946e5c31af7Sopenharmony_ci			}
7947e5c31af7Sopenharmony_ci		""
7948e5c31af7Sopenharmony_ci	end
7949e5c31af7Sopenharmony_ci
7950e5c31af7Sopenharmony_ci	case mat3_to_mat2x4
7951e5c31af7Sopenharmony_ci		version 300 es
7952e5c31af7Sopenharmony_ci		values
7953e5c31af7Sopenharmony_ci		{
7954e5c31af7Sopenharmony_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.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ];
7955e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, 0.0, 12.5, 0.0208333333333, 0.0625, 0.0) ];
7956e5c31af7Sopenharmony_ci		}
7957e5c31af7Sopenharmony_ci
7958e5c31af7Sopenharmony_ci		both ""
7959e5c31af7Sopenharmony_ci			#version 300 es
7960e5c31af7Sopenharmony_ci			precision mediump float;
7961e5c31af7Sopenharmony_ci			precision mediump int;
7962e5c31af7Sopenharmony_ci
7963e5c31af7Sopenharmony_ci			${DECLARATIONS}
7964e5c31af7Sopenharmony_ci
7965e5c31af7Sopenharmony_ci			void main()
7966e5c31af7Sopenharmony_ci			{
7967e5c31af7Sopenharmony_ci				${SETUP}
7968e5c31af7Sopenharmony_ci				out0 = mat2x4(in0);
7969e5c31af7Sopenharmony_ci				${OUTPUT}
7970e5c31af7Sopenharmony_ci			}
7971e5c31af7Sopenharmony_ci		""
7972e5c31af7Sopenharmony_ci	end
7973e5c31af7Sopenharmony_ci
7974e5c31af7Sopenharmony_ci	case mat3_to_mat2x3
7975e5c31af7Sopenharmony_ci		version 300 es
7976e5c31af7Sopenharmony_ci		values
7977e5c31af7Sopenharmony_ci		{
7978e5c31af7Sopenharmony_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.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ];
7979e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ];
7980e5c31af7Sopenharmony_ci		}
7981e5c31af7Sopenharmony_ci
7982e5c31af7Sopenharmony_ci		both ""
7983e5c31af7Sopenharmony_ci			#version 300 es
7984e5c31af7Sopenharmony_ci			precision mediump float;
7985e5c31af7Sopenharmony_ci			precision mediump int;
7986e5c31af7Sopenharmony_ci
7987e5c31af7Sopenharmony_ci			${DECLARATIONS}
7988e5c31af7Sopenharmony_ci
7989e5c31af7Sopenharmony_ci			void main()
7990e5c31af7Sopenharmony_ci			{
7991e5c31af7Sopenharmony_ci				${SETUP}
7992e5c31af7Sopenharmony_ci				out0 = mat2x3(in0);
7993e5c31af7Sopenharmony_ci				${OUTPUT}
7994e5c31af7Sopenharmony_ci			}
7995e5c31af7Sopenharmony_ci		""
7996e5c31af7Sopenharmony_ci	end
7997e5c31af7Sopenharmony_ci
7998e5c31af7Sopenharmony_ci	case mat3_to_mat2
7999e5c31af7Sopenharmony_ci		version 300 es
8000e5c31af7Sopenharmony_ci		values
8001e5c31af7Sopenharmony_ci		{
8002e5c31af7Sopenharmony_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.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ];
8003e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ];
8004e5c31af7Sopenharmony_ci		}
8005e5c31af7Sopenharmony_ci
8006e5c31af7Sopenharmony_ci		both ""
8007e5c31af7Sopenharmony_ci			#version 300 es
8008e5c31af7Sopenharmony_ci			precision mediump float;
8009e5c31af7Sopenharmony_ci			precision mediump int;
8010e5c31af7Sopenharmony_ci
8011e5c31af7Sopenharmony_ci			${DECLARATIONS}
8012e5c31af7Sopenharmony_ci
8013e5c31af7Sopenharmony_ci			void main()
8014e5c31af7Sopenharmony_ci			{
8015e5c31af7Sopenharmony_ci				${SETUP}
8016e5c31af7Sopenharmony_ci				out0 = mat2(in0);
8017e5c31af7Sopenharmony_ci				${OUTPUT}
8018e5c31af7Sopenharmony_ci			}
8019e5c31af7Sopenharmony_ci		""
8020e5c31af7Sopenharmony_ci	end
8021e5c31af7Sopenharmony_ci
8022e5c31af7Sopenharmony_ci	case mat3x2_to_mat4
8023e5c31af7Sopenharmony_ci		version 300 es
8024e5c31af7Sopenharmony_ci		values
8025e5c31af7Sopenharmony_ci		{
8026e5c31af7Sopenharmony_ci			input mat3x2 in0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ];
8027e5c31af7Sopenharmony_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.0, 0.0, 12.5, 0.0208333333333, 0.0, 0.0, -0.75, -8.425, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) ];
8028e5c31af7Sopenharmony_ci		}
8029e5c31af7Sopenharmony_ci
8030e5c31af7Sopenharmony_ci		both ""
8031e5c31af7Sopenharmony_ci			#version 300 es
8032e5c31af7Sopenharmony_ci			precision mediump float;
8033e5c31af7Sopenharmony_ci			precision mediump int;
8034e5c31af7Sopenharmony_ci
8035e5c31af7Sopenharmony_ci			${DECLARATIONS}
8036e5c31af7Sopenharmony_ci
8037e5c31af7Sopenharmony_ci			void main()
8038e5c31af7Sopenharmony_ci			{
8039e5c31af7Sopenharmony_ci				${SETUP}
8040e5c31af7Sopenharmony_ci				out0 = mat4(in0);
8041e5c31af7Sopenharmony_ci				${OUTPUT}
8042e5c31af7Sopenharmony_ci			}
8043e5c31af7Sopenharmony_ci		""
8044e5c31af7Sopenharmony_ci	end
8045e5c31af7Sopenharmony_ci
8046e5c31af7Sopenharmony_ci	case mat3x2_to_mat4x3
8047e5c31af7Sopenharmony_ci		version 300 es
8048e5c31af7Sopenharmony_ci		values
8049e5c31af7Sopenharmony_ci		{
8050e5c31af7Sopenharmony_ci			input mat3x2 in0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ];
8051e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.0, 12.5, 0.0208333333333, 0.0, -0.75, -8.425, 1.0, 0.0, 0.0, 0.0) ];
8052e5c31af7Sopenharmony_ci		}
8053e5c31af7Sopenharmony_ci
8054e5c31af7Sopenharmony_ci		both ""
8055e5c31af7Sopenharmony_ci			#version 300 es
8056e5c31af7Sopenharmony_ci			precision mediump float;
8057e5c31af7Sopenharmony_ci			precision mediump int;
8058e5c31af7Sopenharmony_ci
8059e5c31af7Sopenharmony_ci			${DECLARATIONS}
8060e5c31af7Sopenharmony_ci
8061e5c31af7Sopenharmony_ci			void main()
8062e5c31af7Sopenharmony_ci			{
8063e5c31af7Sopenharmony_ci				${SETUP}
8064e5c31af7Sopenharmony_ci				out0 = mat4x3(in0);
8065e5c31af7Sopenharmony_ci				${OUTPUT}
8066e5c31af7Sopenharmony_ci			}
8067e5c31af7Sopenharmony_ci		""
8068e5c31af7Sopenharmony_ci	end
8069e5c31af7Sopenharmony_ci
8070e5c31af7Sopenharmony_ci	case mat3x2_to_mat4x2
8071e5c31af7Sopenharmony_ci		version 300 es
8072e5c31af7Sopenharmony_ci		values
8073e5c31af7Sopenharmony_ci		{
8074e5c31af7Sopenharmony_ci			input mat3x2 in0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ];
8075e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 0.0, 0.0) ];
8076e5c31af7Sopenharmony_ci		}
8077e5c31af7Sopenharmony_ci
8078e5c31af7Sopenharmony_ci		both ""
8079e5c31af7Sopenharmony_ci			#version 300 es
8080e5c31af7Sopenharmony_ci			precision mediump float;
8081e5c31af7Sopenharmony_ci			precision mediump int;
8082e5c31af7Sopenharmony_ci
8083e5c31af7Sopenharmony_ci			${DECLARATIONS}
8084e5c31af7Sopenharmony_ci
8085e5c31af7Sopenharmony_ci			void main()
8086e5c31af7Sopenharmony_ci			{
8087e5c31af7Sopenharmony_ci				${SETUP}
8088e5c31af7Sopenharmony_ci				out0 = mat4x2(in0);
8089e5c31af7Sopenharmony_ci				${OUTPUT}
8090e5c31af7Sopenharmony_ci			}
8091e5c31af7Sopenharmony_ci		""
8092e5c31af7Sopenharmony_ci	end
8093e5c31af7Sopenharmony_ci
8094e5c31af7Sopenharmony_ci	case mat3x2_to_mat3x4
8095e5c31af7Sopenharmony_ci		version 300 es
8096e5c31af7Sopenharmony_ci		values
8097e5c31af7Sopenharmony_ci		{
8098e5c31af7Sopenharmony_ci			input mat3x2 in0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ];
8099e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.0, 0.0, 12.5, 0.0208333333333, 0.0, 0.0, -0.75, -8.425, 1.0, 0.0) ];
8100e5c31af7Sopenharmony_ci		}
8101e5c31af7Sopenharmony_ci
8102e5c31af7Sopenharmony_ci		both ""
8103e5c31af7Sopenharmony_ci			#version 300 es
8104e5c31af7Sopenharmony_ci			precision mediump float;
8105e5c31af7Sopenharmony_ci			precision mediump int;
8106e5c31af7Sopenharmony_ci
8107e5c31af7Sopenharmony_ci			${DECLARATIONS}
8108e5c31af7Sopenharmony_ci
8109e5c31af7Sopenharmony_ci			void main()
8110e5c31af7Sopenharmony_ci			{
8111e5c31af7Sopenharmony_ci				${SETUP}
8112e5c31af7Sopenharmony_ci				out0 = mat3x4(in0);
8113e5c31af7Sopenharmony_ci				${OUTPUT}
8114e5c31af7Sopenharmony_ci			}
8115e5c31af7Sopenharmony_ci		""
8116e5c31af7Sopenharmony_ci	end
8117e5c31af7Sopenharmony_ci
8118e5c31af7Sopenharmony_ci	case mat3x2_to_mat3
8119e5c31af7Sopenharmony_ci		version 300 es
8120e5c31af7Sopenharmony_ci		values
8121e5c31af7Sopenharmony_ci		{
8122e5c31af7Sopenharmony_ci			input mat3x2 in0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ];
8123e5c31af7Sopenharmony_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.0, 12.5, 0.0208333333333, 0.0, -0.75, -8.425, 1.0) ];
8124e5c31af7Sopenharmony_ci		}
8125e5c31af7Sopenharmony_ci
8126e5c31af7Sopenharmony_ci		both ""
8127e5c31af7Sopenharmony_ci			#version 300 es
8128e5c31af7Sopenharmony_ci			precision mediump float;
8129e5c31af7Sopenharmony_ci			precision mediump int;
8130e5c31af7Sopenharmony_ci
8131e5c31af7Sopenharmony_ci			${DECLARATIONS}
8132e5c31af7Sopenharmony_ci
8133e5c31af7Sopenharmony_ci			void main()
8134e5c31af7Sopenharmony_ci			{
8135e5c31af7Sopenharmony_ci				${SETUP}
8136e5c31af7Sopenharmony_ci				out0 = mat3(in0);
8137e5c31af7Sopenharmony_ci				${OUTPUT}
8138e5c31af7Sopenharmony_ci			}
8139e5c31af7Sopenharmony_ci		""
8140e5c31af7Sopenharmony_ci	end
8141e5c31af7Sopenharmony_ci
8142e5c31af7Sopenharmony_ci	case mat3x2_to_mat3x2
8143e5c31af7Sopenharmony_ci		version 300 es
8144e5c31af7Sopenharmony_ci		values
8145e5c31af7Sopenharmony_ci		{
8146e5c31af7Sopenharmony_ci			input mat3x2 in0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ];
8147e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ];
8148e5c31af7Sopenharmony_ci		}
8149e5c31af7Sopenharmony_ci
8150e5c31af7Sopenharmony_ci		both ""
8151e5c31af7Sopenharmony_ci			#version 300 es
8152e5c31af7Sopenharmony_ci			precision mediump float;
8153e5c31af7Sopenharmony_ci			precision mediump int;
8154e5c31af7Sopenharmony_ci
8155e5c31af7Sopenharmony_ci			${DECLARATIONS}
8156e5c31af7Sopenharmony_ci
8157e5c31af7Sopenharmony_ci			void main()
8158e5c31af7Sopenharmony_ci			{
8159e5c31af7Sopenharmony_ci				${SETUP}
8160e5c31af7Sopenharmony_ci				out0 = mat3x2(in0);
8161e5c31af7Sopenharmony_ci				${OUTPUT}
8162e5c31af7Sopenharmony_ci			}
8163e5c31af7Sopenharmony_ci		""
8164e5c31af7Sopenharmony_ci	end
8165e5c31af7Sopenharmony_ci
8166e5c31af7Sopenharmony_ci	case mat3x2_to_mat2x4
8167e5c31af7Sopenharmony_ci		version 300 es
8168e5c31af7Sopenharmony_ci		values
8169e5c31af7Sopenharmony_ci		{
8170e5c31af7Sopenharmony_ci			input mat3x2 in0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ];
8171e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.0, 0.0, 12.5, 0.0208333333333, 0.0, 0.0) ];
8172e5c31af7Sopenharmony_ci		}
8173e5c31af7Sopenharmony_ci
8174e5c31af7Sopenharmony_ci		both ""
8175e5c31af7Sopenharmony_ci			#version 300 es
8176e5c31af7Sopenharmony_ci			precision mediump float;
8177e5c31af7Sopenharmony_ci			precision mediump int;
8178e5c31af7Sopenharmony_ci
8179e5c31af7Sopenharmony_ci			${DECLARATIONS}
8180e5c31af7Sopenharmony_ci
8181e5c31af7Sopenharmony_ci			void main()
8182e5c31af7Sopenharmony_ci			{
8183e5c31af7Sopenharmony_ci				${SETUP}
8184e5c31af7Sopenharmony_ci				out0 = mat2x4(in0);
8185e5c31af7Sopenharmony_ci				${OUTPUT}
8186e5c31af7Sopenharmony_ci			}
8187e5c31af7Sopenharmony_ci		""
8188e5c31af7Sopenharmony_ci	end
8189e5c31af7Sopenharmony_ci
8190e5c31af7Sopenharmony_ci	case mat3x2_to_mat2x3
8191e5c31af7Sopenharmony_ci		version 300 es
8192e5c31af7Sopenharmony_ci		values
8193e5c31af7Sopenharmony_ci		{
8194e5c31af7Sopenharmony_ci			input mat3x2 in0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ];
8195e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.0, 12.5, 0.0208333333333, 0.0) ];
8196e5c31af7Sopenharmony_ci		}
8197e5c31af7Sopenharmony_ci
8198e5c31af7Sopenharmony_ci		both ""
8199e5c31af7Sopenharmony_ci			#version 300 es
8200e5c31af7Sopenharmony_ci			precision mediump float;
8201e5c31af7Sopenharmony_ci			precision mediump int;
8202e5c31af7Sopenharmony_ci
8203e5c31af7Sopenharmony_ci			${DECLARATIONS}
8204e5c31af7Sopenharmony_ci
8205e5c31af7Sopenharmony_ci			void main()
8206e5c31af7Sopenharmony_ci			{
8207e5c31af7Sopenharmony_ci				${SETUP}
8208e5c31af7Sopenharmony_ci				out0 = mat2x3(in0);
8209e5c31af7Sopenharmony_ci				${OUTPUT}
8210e5c31af7Sopenharmony_ci			}
8211e5c31af7Sopenharmony_ci		""
8212e5c31af7Sopenharmony_ci	end
8213e5c31af7Sopenharmony_ci
8214e5c31af7Sopenharmony_ci	case mat3x2_to_mat2
8215e5c31af7Sopenharmony_ci		version 300 es
8216e5c31af7Sopenharmony_ci		values
8217e5c31af7Sopenharmony_ci		{
8218e5c31af7Sopenharmony_ci			input mat3x2 in0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ];
8219e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ];
8220e5c31af7Sopenharmony_ci		}
8221e5c31af7Sopenharmony_ci
8222e5c31af7Sopenharmony_ci		both ""
8223e5c31af7Sopenharmony_ci			#version 300 es
8224e5c31af7Sopenharmony_ci			precision mediump float;
8225e5c31af7Sopenharmony_ci			precision mediump int;
8226e5c31af7Sopenharmony_ci
8227e5c31af7Sopenharmony_ci			${DECLARATIONS}
8228e5c31af7Sopenharmony_ci
8229e5c31af7Sopenharmony_ci			void main()
8230e5c31af7Sopenharmony_ci			{
8231e5c31af7Sopenharmony_ci				${SETUP}
8232e5c31af7Sopenharmony_ci				out0 = mat2(in0);
8233e5c31af7Sopenharmony_ci				${OUTPUT}
8234e5c31af7Sopenharmony_ci			}
8235e5c31af7Sopenharmony_ci		""
8236e5c31af7Sopenharmony_ci	end
8237e5c31af7Sopenharmony_ci
8238e5c31af7Sopenharmony_ci	case mat2x4_to_mat4
8239e5c31af7Sopenharmony_ci		version 300 es
8240e5c31af7Sopenharmony_ci		values
8241e5c31af7Sopenharmony_ci		{
8242e5c31af7Sopenharmony_ci			input mat2x4 in0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ];
8243e5c31af7Sopenharmony_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.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) ];
8244e5c31af7Sopenharmony_ci		}
8245e5c31af7Sopenharmony_ci
8246e5c31af7Sopenharmony_ci		both ""
8247e5c31af7Sopenharmony_ci			#version 300 es
8248e5c31af7Sopenharmony_ci			precision mediump float;
8249e5c31af7Sopenharmony_ci			precision mediump int;
8250e5c31af7Sopenharmony_ci
8251e5c31af7Sopenharmony_ci			${DECLARATIONS}
8252e5c31af7Sopenharmony_ci
8253e5c31af7Sopenharmony_ci			void main()
8254e5c31af7Sopenharmony_ci			{
8255e5c31af7Sopenharmony_ci				${SETUP}
8256e5c31af7Sopenharmony_ci				out0 = mat4(in0);
8257e5c31af7Sopenharmony_ci				${OUTPUT}
8258e5c31af7Sopenharmony_ci			}
8259e5c31af7Sopenharmony_ci		""
8260e5c31af7Sopenharmony_ci	end
8261e5c31af7Sopenharmony_ci
8262e5c31af7Sopenharmony_ci	case mat2x4_to_mat4x3
8263e5c31af7Sopenharmony_ci		version 300 es
8264e5c31af7Sopenharmony_ci		values
8265e5c31af7Sopenharmony_ci		{
8266e5c31af7Sopenharmony_ci			input mat2x4 in0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ];
8267e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) ];
8268e5c31af7Sopenharmony_ci		}
8269e5c31af7Sopenharmony_ci
8270e5c31af7Sopenharmony_ci		both ""
8271e5c31af7Sopenharmony_ci			#version 300 es
8272e5c31af7Sopenharmony_ci			precision mediump float;
8273e5c31af7Sopenharmony_ci			precision mediump int;
8274e5c31af7Sopenharmony_ci
8275e5c31af7Sopenharmony_ci			${DECLARATIONS}
8276e5c31af7Sopenharmony_ci
8277e5c31af7Sopenharmony_ci			void main()
8278e5c31af7Sopenharmony_ci			{
8279e5c31af7Sopenharmony_ci				${SETUP}
8280e5c31af7Sopenharmony_ci				out0 = mat4x3(in0);
8281e5c31af7Sopenharmony_ci				${OUTPUT}
8282e5c31af7Sopenharmony_ci			}
8283e5c31af7Sopenharmony_ci		""
8284e5c31af7Sopenharmony_ci	end
8285e5c31af7Sopenharmony_ci
8286e5c31af7Sopenharmony_ci	case mat2x4_to_mat4x2
8287e5c31af7Sopenharmony_ci		version 300 es
8288e5c31af7Sopenharmony_ci		values
8289e5c31af7Sopenharmony_ci		{
8290e5c31af7Sopenharmony_ci			input mat2x4 in0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ];
8291e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, 0.0, 0.0, 0.0, 0.0) ];
8292e5c31af7Sopenharmony_ci		}
8293e5c31af7Sopenharmony_ci
8294e5c31af7Sopenharmony_ci		both ""
8295e5c31af7Sopenharmony_ci			#version 300 es
8296e5c31af7Sopenharmony_ci			precision mediump float;
8297e5c31af7Sopenharmony_ci			precision mediump int;
8298e5c31af7Sopenharmony_ci
8299e5c31af7Sopenharmony_ci			${DECLARATIONS}
8300e5c31af7Sopenharmony_ci
8301e5c31af7Sopenharmony_ci			void main()
8302e5c31af7Sopenharmony_ci			{
8303e5c31af7Sopenharmony_ci				${SETUP}
8304e5c31af7Sopenharmony_ci				out0 = mat4x2(in0);
8305e5c31af7Sopenharmony_ci				${OUTPUT}
8306e5c31af7Sopenharmony_ci			}
8307e5c31af7Sopenharmony_ci		""
8308e5c31af7Sopenharmony_ci	end
8309e5c31af7Sopenharmony_ci
8310e5c31af7Sopenharmony_ci	case mat2x4_to_mat3x4
8311e5c31af7Sopenharmony_ci		version 300 es
8312e5c31af7Sopenharmony_ci		values
8313e5c31af7Sopenharmony_ci		{
8314e5c31af7Sopenharmony_ci			input mat2x4 in0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ];
8315e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, 0.0, 0.0, 1.0, 0.0) ];
8316e5c31af7Sopenharmony_ci		}
8317e5c31af7Sopenharmony_ci
8318e5c31af7Sopenharmony_ci		both ""
8319e5c31af7Sopenharmony_ci			#version 300 es
8320e5c31af7Sopenharmony_ci			precision mediump float;
8321e5c31af7Sopenharmony_ci			precision mediump int;
8322e5c31af7Sopenharmony_ci
8323e5c31af7Sopenharmony_ci			${DECLARATIONS}
8324e5c31af7Sopenharmony_ci
8325e5c31af7Sopenharmony_ci			void main()
8326e5c31af7Sopenharmony_ci			{
8327e5c31af7Sopenharmony_ci				${SETUP}
8328e5c31af7Sopenharmony_ci				out0 = mat3x4(in0);
8329e5c31af7Sopenharmony_ci				${OUTPUT}
8330e5c31af7Sopenharmony_ci			}
8331e5c31af7Sopenharmony_ci		""
8332e5c31af7Sopenharmony_ci	end
8333e5c31af7Sopenharmony_ci
8334e5c31af7Sopenharmony_ci	case mat2x4_to_mat3
8335e5c31af7Sopenharmony_ci		version 300 es
8336e5c31af7Sopenharmony_ci		values
8337e5c31af7Sopenharmony_ci		{
8338e5c31af7Sopenharmony_ci			input mat2x4 in0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ];
8339e5c31af7Sopenharmony_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.0, 0.0, 1.0) ];
8340e5c31af7Sopenharmony_ci		}
8341e5c31af7Sopenharmony_ci
8342e5c31af7Sopenharmony_ci		both ""
8343e5c31af7Sopenharmony_ci			#version 300 es
8344e5c31af7Sopenharmony_ci			precision mediump float;
8345e5c31af7Sopenharmony_ci			precision mediump int;
8346e5c31af7Sopenharmony_ci
8347e5c31af7Sopenharmony_ci			${DECLARATIONS}
8348e5c31af7Sopenharmony_ci
8349e5c31af7Sopenharmony_ci			void main()
8350e5c31af7Sopenharmony_ci			{
8351e5c31af7Sopenharmony_ci				${SETUP}
8352e5c31af7Sopenharmony_ci				out0 = mat3(in0);
8353e5c31af7Sopenharmony_ci				${OUTPUT}
8354e5c31af7Sopenharmony_ci			}
8355e5c31af7Sopenharmony_ci		""
8356e5c31af7Sopenharmony_ci	end
8357e5c31af7Sopenharmony_ci
8358e5c31af7Sopenharmony_ci	case mat2x4_to_mat3x2
8359e5c31af7Sopenharmony_ci		version 300 es
8360e5c31af7Sopenharmony_ci		values
8361e5c31af7Sopenharmony_ci		{
8362e5c31af7Sopenharmony_ci			input mat2x4 in0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ];
8363e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, 0.0, 0.0) ];
8364e5c31af7Sopenharmony_ci		}
8365e5c31af7Sopenharmony_ci
8366e5c31af7Sopenharmony_ci		both ""
8367e5c31af7Sopenharmony_ci			#version 300 es
8368e5c31af7Sopenharmony_ci			precision mediump float;
8369e5c31af7Sopenharmony_ci			precision mediump int;
8370e5c31af7Sopenharmony_ci
8371e5c31af7Sopenharmony_ci			${DECLARATIONS}
8372e5c31af7Sopenharmony_ci
8373e5c31af7Sopenharmony_ci			void main()
8374e5c31af7Sopenharmony_ci			{
8375e5c31af7Sopenharmony_ci				${SETUP}
8376e5c31af7Sopenharmony_ci				out0 = mat3x2(in0);
8377e5c31af7Sopenharmony_ci				${OUTPUT}
8378e5c31af7Sopenharmony_ci			}
8379e5c31af7Sopenharmony_ci		""
8380e5c31af7Sopenharmony_ci	end
8381e5c31af7Sopenharmony_ci
8382e5c31af7Sopenharmony_ci	case mat2x4_to_mat2x4
8383e5c31af7Sopenharmony_ci		version 300 es
8384e5c31af7Sopenharmony_ci		values
8385e5c31af7Sopenharmony_ci		{
8386e5c31af7Sopenharmony_ci			input mat2x4 in0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ];
8387e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ];
8388e5c31af7Sopenharmony_ci		}
8389e5c31af7Sopenharmony_ci
8390e5c31af7Sopenharmony_ci		both ""
8391e5c31af7Sopenharmony_ci			#version 300 es
8392e5c31af7Sopenharmony_ci			precision mediump float;
8393e5c31af7Sopenharmony_ci			precision mediump int;
8394e5c31af7Sopenharmony_ci
8395e5c31af7Sopenharmony_ci			${DECLARATIONS}
8396e5c31af7Sopenharmony_ci
8397e5c31af7Sopenharmony_ci			void main()
8398e5c31af7Sopenharmony_ci			{
8399e5c31af7Sopenharmony_ci				${SETUP}
8400e5c31af7Sopenharmony_ci				out0 = mat2x4(in0);
8401e5c31af7Sopenharmony_ci				${OUTPUT}
8402e5c31af7Sopenharmony_ci			}
8403e5c31af7Sopenharmony_ci		""
8404e5c31af7Sopenharmony_ci	end
8405e5c31af7Sopenharmony_ci
8406e5c31af7Sopenharmony_ci	case mat2x4_to_mat2x3
8407e5c31af7Sopenharmony_ci		version 300 es
8408e5c31af7Sopenharmony_ci		values
8409e5c31af7Sopenharmony_ci		{
8410e5c31af7Sopenharmony_ci			input mat2x4 in0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ];
8411e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ];
8412e5c31af7Sopenharmony_ci		}
8413e5c31af7Sopenharmony_ci
8414e5c31af7Sopenharmony_ci		both ""
8415e5c31af7Sopenharmony_ci			#version 300 es
8416e5c31af7Sopenharmony_ci			precision mediump float;
8417e5c31af7Sopenharmony_ci			precision mediump int;
8418e5c31af7Sopenharmony_ci
8419e5c31af7Sopenharmony_ci			${DECLARATIONS}
8420e5c31af7Sopenharmony_ci
8421e5c31af7Sopenharmony_ci			void main()
8422e5c31af7Sopenharmony_ci			{
8423e5c31af7Sopenharmony_ci				${SETUP}
8424e5c31af7Sopenharmony_ci				out0 = mat2x3(in0);
8425e5c31af7Sopenharmony_ci				${OUTPUT}
8426e5c31af7Sopenharmony_ci			}
8427e5c31af7Sopenharmony_ci		""
8428e5c31af7Sopenharmony_ci	end
8429e5c31af7Sopenharmony_ci
8430e5c31af7Sopenharmony_ci	case mat2x4_to_mat2
8431e5c31af7Sopenharmony_ci		version 300 es
8432e5c31af7Sopenharmony_ci		values
8433e5c31af7Sopenharmony_ci		{
8434e5c31af7Sopenharmony_ci			input mat2x4 in0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ];
8435e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ];
8436e5c31af7Sopenharmony_ci		}
8437e5c31af7Sopenharmony_ci
8438e5c31af7Sopenharmony_ci		both ""
8439e5c31af7Sopenharmony_ci			#version 300 es
8440e5c31af7Sopenharmony_ci			precision mediump float;
8441e5c31af7Sopenharmony_ci			precision mediump int;
8442e5c31af7Sopenharmony_ci
8443e5c31af7Sopenharmony_ci			${DECLARATIONS}
8444e5c31af7Sopenharmony_ci
8445e5c31af7Sopenharmony_ci			void main()
8446e5c31af7Sopenharmony_ci			{
8447e5c31af7Sopenharmony_ci				${SETUP}
8448e5c31af7Sopenharmony_ci				out0 = mat2(in0);
8449e5c31af7Sopenharmony_ci				${OUTPUT}
8450e5c31af7Sopenharmony_ci			}
8451e5c31af7Sopenharmony_ci		""
8452e5c31af7Sopenharmony_ci	end
8453e5c31af7Sopenharmony_ci
8454e5c31af7Sopenharmony_ci	case mat2x3_to_mat4
8455e5c31af7Sopenharmony_ci		version 300 es
8456e5c31af7Sopenharmony_ci		values
8457e5c31af7Sopenharmony_ci		{
8458e5c31af7Sopenharmony_ci			input mat2x3 in0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ];
8459e5c31af7Sopenharmony_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.0208333333333, 0.0625, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) ];
8460e5c31af7Sopenharmony_ci		}
8461e5c31af7Sopenharmony_ci
8462e5c31af7Sopenharmony_ci		both ""
8463e5c31af7Sopenharmony_ci			#version 300 es
8464e5c31af7Sopenharmony_ci			precision mediump float;
8465e5c31af7Sopenharmony_ci			precision mediump int;
8466e5c31af7Sopenharmony_ci
8467e5c31af7Sopenharmony_ci			${DECLARATIONS}
8468e5c31af7Sopenharmony_ci
8469e5c31af7Sopenharmony_ci			void main()
8470e5c31af7Sopenharmony_ci			{
8471e5c31af7Sopenharmony_ci				${SETUP}
8472e5c31af7Sopenharmony_ci				out0 = mat4(in0);
8473e5c31af7Sopenharmony_ci				${OUTPUT}
8474e5c31af7Sopenharmony_ci			}
8475e5c31af7Sopenharmony_ci		""
8476e5c31af7Sopenharmony_ci	end
8477e5c31af7Sopenharmony_ci
8478e5c31af7Sopenharmony_ci	case mat2x3_to_mat4x3
8479e5c31af7Sopenharmony_ci		version 300 es
8480e5c31af7Sopenharmony_ci		values
8481e5c31af7Sopenharmony_ci		{
8482e5c31af7Sopenharmony_ci			input mat2x3 in0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ];
8483e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) ];
8484e5c31af7Sopenharmony_ci		}
8485e5c31af7Sopenharmony_ci
8486e5c31af7Sopenharmony_ci		both ""
8487e5c31af7Sopenharmony_ci			#version 300 es
8488e5c31af7Sopenharmony_ci			precision mediump float;
8489e5c31af7Sopenharmony_ci			precision mediump int;
8490e5c31af7Sopenharmony_ci
8491e5c31af7Sopenharmony_ci			${DECLARATIONS}
8492e5c31af7Sopenharmony_ci
8493e5c31af7Sopenharmony_ci			void main()
8494e5c31af7Sopenharmony_ci			{
8495e5c31af7Sopenharmony_ci				${SETUP}
8496e5c31af7Sopenharmony_ci				out0 = mat4x3(in0);
8497e5c31af7Sopenharmony_ci				${OUTPUT}
8498e5c31af7Sopenharmony_ci			}
8499e5c31af7Sopenharmony_ci		""
8500e5c31af7Sopenharmony_ci	end
8501e5c31af7Sopenharmony_ci
8502e5c31af7Sopenharmony_ci	case mat2x3_to_mat4x2
8503e5c31af7Sopenharmony_ci		version 300 es
8504e5c31af7Sopenharmony_ci		values
8505e5c31af7Sopenharmony_ci		{
8506e5c31af7Sopenharmony_ci			input mat2x3 in0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ];
8507e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, 0.0, 0.0, 0.0, 0.0) ];
8508e5c31af7Sopenharmony_ci		}
8509e5c31af7Sopenharmony_ci
8510e5c31af7Sopenharmony_ci		both ""
8511e5c31af7Sopenharmony_ci			#version 300 es
8512e5c31af7Sopenharmony_ci			precision mediump float;
8513e5c31af7Sopenharmony_ci			precision mediump int;
8514e5c31af7Sopenharmony_ci
8515e5c31af7Sopenharmony_ci			${DECLARATIONS}
8516e5c31af7Sopenharmony_ci
8517e5c31af7Sopenharmony_ci			void main()
8518e5c31af7Sopenharmony_ci			{
8519e5c31af7Sopenharmony_ci				${SETUP}
8520e5c31af7Sopenharmony_ci				out0 = mat4x2(in0);
8521e5c31af7Sopenharmony_ci				${OUTPUT}
8522e5c31af7Sopenharmony_ci			}
8523e5c31af7Sopenharmony_ci		""
8524e5c31af7Sopenharmony_ci	end
8525e5c31af7Sopenharmony_ci
8526e5c31af7Sopenharmony_ci	case mat2x3_to_mat3x4
8527e5c31af7Sopenharmony_ci		version 300 es
8528e5c31af7Sopenharmony_ci		values
8529e5c31af7Sopenharmony_ci		{
8530e5c31af7Sopenharmony_ci			input mat2x3 in0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ];
8531e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, 0.0, 12.5, 0.0208333333333, 0.0625, 0.0, 0.0, 0.0, 1.0, 0.0) ];
8532e5c31af7Sopenharmony_ci		}
8533e5c31af7Sopenharmony_ci
8534e5c31af7Sopenharmony_ci		both ""
8535e5c31af7Sopenharmony_ci			#version 300 es
8536e5c31af7Sopenharmony_ci			precision mediump float;
8537e5c31af7Sopenharmony_ci			precision mediump int;
8538e5c31af7Sopenharmony_ci
8539e5c31af7Sopenharmony_ci			${DECLARATIONS}
8540e5c31af7Sopenharmony_ci
8541e5c31af7Sopenharmony_ci			void main()
8542e5c31af7Sopenharmony_ci			{
8543e5c31af7Sopenharmony_ci				${SETUP}
8544e5c31af7Sopenharmony_ci				out0 = mat3x4(in0);
8545e5c31af7Sopenharmony_ci				${OUTPUT}
8546e5c31af7Sopenharmony_ci			}
8547e5c31af7Sopenharmony_ci		""
8548e5c31af7Sopenharmony_ci	end
8549e5c31af7Sopenharmony_ci
8550e5c31af7Sopenharmony_ci	case mat2x3_to_mat3
8551e5c31af7Sopenharmony_ci		version 300 es
8552e5c31af7Sopenharmony_ci		values
8553e5c31af7Sopenharmony_ci		{
8554e5c31af7Sopenharmony_ci			input mat2x3 in0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ];
8555e5c31af7Sopenharmony_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.0, 0.0, 1.0) ];
8556e5c31af7Sopenharmony_ci		}
8557e5c31af7Sopenharmony_ci
8558e5c31af7Sopenharmony_ci		both ""
8559e5c31af7Sopenharmony_ci			#version 300 es
8560e5c31af7Sopenharmony_ci			precision mediump float;
8561e5c31af7Sopenharmony_ci			precision mediump int;
8562e5c31af7Sopenharmony_ci
8563e5c31af7Sopenharmony_ci			${DECLARATIONS}
8564e5c31af7Sopenharmony_ci
8565e5c31af7Sopenharmony_ci			void main()
8566e5c31af7Sopenharmony_ci			{
8567e5c31af7Sopenharmony_ci				${SETUP}
8568e5c31af7Sopenharmony_ci				out0 = mat3(in0);
8569e5c31af7Sopenharmony_ci				${OUTPUT}
8570e5c31af7Sopenharmony_ci			}
8571e5c31af7Sopenharmony_ci		""
8572e5c31af7Sopenharmony_ci	end
8573e5c31af7Sopenharmony_ci
8574e5c31af7Sopenharmony_ci	case mat2x3_to_mat3x2
8575e5c31af7Sopenharmony_ci		version 300 es
8576e5c31af7Sopenharmony_ci		values
8577e5c31af7Sopenharmony_ci		{
8578e5c31af7Sopenharmony_ci			input mat2x3 in0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ];
8579e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, 0.0, 0.0) ];
8580e5c31af7Sopenharmony_ci		}
8581e5c31af7Sopenharmony_ci
8582e5c31af7Sopenharmony_ci		both ""
8583e5c31af7Sopenharmony_ci			#version 300 es
8584e5c31af7Sopenharmony_ci			precision mediump float;
8585e5c31af7Sopenharmony_ci			precision mediump int;
8586e5c31af7Sopenharmony_ci
8587e5c31af7Sopenharmony_ci			${DECLARATIONS}
8588e5c31af7Sopenharmony_ci
8589e5c31af7Sopenharmony_ci			void main()
8590e5c31af7Sopenharmony_ci			{
8591e5c31af7Sopenharmony_ci				${SETUP}
8592e5c31af7Sopenharmony_ci				out0 = mat3x2(in0);
8593e5c31af7Sopenharmony_ci				${OUTPUT}
8594e5c31af7Sopenharmony_ci			}
8595e5c31af7Sopenharmony_ci		""
8596e5c31af7Sopenharmony_ci	end
8597e5c31af7Sopenharmony_ci
8598e5c31af7Sopenharmony_ci	case mat2x3_to_mat2x4
8599e5c31af7Sopenharmony_ci		version 300 es
8600e5c31af7Sopenharmony_ci		values
8601e5c31af7Sopenharmony_ci		{
8602e5c31af7Sopenharmony_ci			input mat2x3 in0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ];
8603e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, 0.0, 12.5, 0.0208333333333, 0.0625, 0.0) ];
8604e5c31af7Sopenharmony_ci		}
8605e5c31af7Sopenharmony_ci
8606e5c31af7Sopenharmony_ci		both ""
8607e5c31af7Sopenharmony_ci			#version 300 es
8608e5c31af7Sopenharmony_ci			precision mediump float;
8609e5c31af7Sopenharmony_ci			precision mediump int;
8610e5c31af7Sopenharmony_ci
8611e5c31af7Sopenharmony_ci			${DECLARATIONS}
8612e5c31af7Sopenharmony_ci
8613e5c31af7Sopenharmony_ci			void main()
8614e5c31af7Sopenharmony_ci			{
8615e5c31af7Sopenharmony_ci				${SETUP}
8616e5c31af7Sopenharmony_ci				out0 = mat2x4(in0);
8617e5c31af7Sopenharmony_ci				${OUTPUT}
8618e5c31af7Sopenharmony_ci			}
8619e5c31af7Sopenharmony_ci		""
8620e5c31af7Sopenharmony_ci	end
8621e5c31af7Sopenharmony_ci
8622e5c31af7Sopenharmony_ci	case mat2x3_to_mat2x3
8623e5c31af7Sopenharmony_ci		version 300 es
8624e5c31af7Sopenharmony_ci		values
8625e5c31af7Sopenharmony_ci		{
8626e5c31af7Sopenharmony_ci			input mat2x3 in0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ];
8627e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ];
8628e5c31af7Sopenharmony_ci		}
8629e5c31af7Sopenharmony_ci
8630e5c31af7Sopenharmony_ci		both ""
8631e5c31af7Sopenharmony_ci			#version 300 es
8632e5c31af7Sopenharmony_ci			precision mediump float;
8633e5c31af7Sopenharmony_ci			precision mediump int;
8634e5c31af7Sopenharmony_ci
8635e5c31af7Sopenharmony_ci			${DECLARATIONS}
8636e5c31af7Sopenharmony_ci
8637e5c31af7Sopenharmony_ci			void main()
8638e5c31af7Sopenharmony_ci			{
8639e5c31af7Sopenharmony_ci				${SETUP}
8640e5c31af7Sopenharmony_ci				out0 = mat2x3(in0);
8641e5c31af7Sopenharmony_ci				${OUTPUT}
8642e5c31af7Sopenharmony_ci			}
8643e5c31af7Sopenharmony_ci		""
8644e5c31af7Sopenharmony_ci	end
8645e5c31af7Sopenharmony_ci
8646e5c31af7Sopenharmony_ci	case mat2x3_to_mat2
8647e5c31af7Sopenharmony_ci		version 300 es
8648e5c31af7Sopenharmony_ci		values
8649e5c31af7Sopenharmony_ci		{
8650e5c31af7Sopenharmony_ci			input mat2x3 in0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ];
8651e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ];
8652e5c31af7Sopenharmony_ci		}
8653e5c31af7Sopenharmony_ci
8654e5c31af7Sopenharmony_ci		both ""
8655e5c31af7Sopenharmony_ci			#version 300 es
8656e5c31af7Sopenharmony_ci			precision mediump float;
8657e5c31af7Sopenharmony_ci			precision mediump int;
8658e5c31af7Sopenharmony_ci
8659e5c31af7Sopenharmony_ci			${DECLARATIONS}
8660e5c31af7Sopenharmony_ci
8661e5c31af7Sopenharmony_ci			void main()
8662e5c31af7Sopenharmony_ci			{
8663e5c31af7Sopenharmony_ci				${SETUP}
8664e5c31af7Sopenharmony_ci				out0 = mat2(in0);
8665e5c31af7Sopenharmony_ci				${OUTPUT}
8666e5c31af7Sopenharmony_ci			}
8667e5c31af7Sopenharmony_ci		""
8668e5c31af7Sopenharmony_ci	end
8669e5c31af7Sopenharmony_ci
8670e5c31af7Sopenharmony_ci	case mat2_to_mat4
8671e5c31af7Sopenharmony_ci		version 300 es
8672e5c31af7Sopenharmony_ci		values
8673e5c31af7Sopenharmony_ci		{
8674e5c31af7Sopenharmony_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) ];
8675e5c31af7Sopenharmony_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) ];
8676e5c31af7Sopenharmony_ci		}
8677e5c31af7Sopenharmony_ci
8678e5c31af7Sopenharmony_ci		both ""
8679e5c31af7Sopenharmony_ci			#version 300 es
8680e5c31af7Sopenharmony_ci			precision mediump float;
8681e5c31af7Sopenharmony_ci			precision mediump int;
8682e5c31af7Sopenharmony_ci
8683e5c31af7Sopenharmony_ci			${DECLARATIONS}
8684e5c31af7Sopenharmony_ci
8685e5c31af7Sopenharmony_ci			void main()
8686e5c31af7Sopenharmony_ci			{
8687e5c31af7Sopenharmony_ci				${SETUP}
8688e5c31af7Sopenharmony_ci				out0 = mat4(in0);
8689e5c31af7Sopenharmony_ci				${OUTPUT}
8690e5c31af7Sopenharmony_ci			}
8691e5c31af7Sopenharmony_ci		""
8692e5c31af7Sopenharmony_ci	end
8693e5c31af7Sopenharmony_ci
8694e5c31af7Sopenharmony_ci	case mat2_to_mat4x3
8695e5c31af7Sopenharmony_ci		version 300 es
8696e5c31af7Sopenharmony_ci		values
8697e5c31af7Sopenharmony_ci		{
8698e5c31af7Sopenharmony_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) ];
8699e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, -0.75, 0.0, 12.5, 9.975, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, -0.75, 0.0, 12.5, 9.975, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(8.0, -24.0, 0.0, 16.0, -16.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(0.125, 0.03125, 0.0, 0.0625, 0.015625, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(-18.725, -0.0125, 0.0, -0.5, 19.975, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) ];
8700e5c31af7Sopenharmony_ci		}
8701e5c31af7Sopenharmony_ci
8702e5c31af7Sopenharmony_ci		both ""
8703e5c31af7Sopenharmony_ci			#version 300 es
8704e5c31af7Sopenharmony_ci			precision mediump float;
8705e5c31af7Sopenharmony_ci			precision mediump int;
8706e5c31af7Sopenharmony_ci
8707e5c31af7Sopenharmony_ci			${DECLARATIONS}
8708e5c31af7Sopenharmony_ci
8709e5c31af7Sopenharmony_ci			void main()
8710e5c31af7Sopenharmony_ci			{
8711e5c31af7Sopenharmony_ci				${SETUP}
8712e5c31af7Sopenharmony_ci				out0 = mat4x3(in0);
8713e5c31af7Sopenharmony_ci				${OUTPUT}
8714e5c31af7Sopenharmony_ci			}
8715e5c31af7Sopenharmony_ci		""
8716e5c31af7Sopenharmony_ci	end
8717e5c31af7Sopenharmony_ci
8718e5c31af7Sopenharmony_ci	case mat2_to_mat4x2
8719e5c31af7Sopenharmony_ci		version 300 es
8720e5c31af7Sopenharmony_ci		values
8721e5c31af7Sopenharmony_ci		{
8722e5c31af7Sopenharmony_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) ];
8723e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, -0.75, 12.5, 9.975, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, -0.75, 12.5, 9.975, 0.0, 0.0, 0.0, 0.0) | mat4x2(8.0, -24.0, 16.0, -16.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(0.125, 0.03125, 0.0625, 0.015625, 0.0, 0.0, 0.0, 0.0) | mat4x2(-18.725, -0.0125, -0.5, 19.975, 0.0, 0.0, 0.0, 0.0) ];
8724e5c31af7Sopenharmony_ci		}
8725e5c31af7Sopenharmony_ci
8726e5c31af7Sopenharmony_ci		both ""
8727e5c31af7Sopenharmony_ci			#version 300 es
8728e5c31af7Sopenharmony_ci			precision mediump float;
8729e5c31af7Sopenharmony_ci			precision mediump int;
8730e5c31af7Sopenharmony_ci
8731e5c31af7Sopenharmony_ci			${DECLARATIONS}
8732e5c31af7Sopenharmony_ci
8733e5c31af7Sopenharmony_ci			void main()
8734e5c31af7Sopenharmony_ci			{
8735e5c31af7Sopenharmony_ci				${SETUP}
8736e5c31af7Sopenharmony_ci				out0 = mat4x2(in0);
8737e5c31af7Sopenharmony_ci				${OUTPUT}
8738e5c31af7Sopenharmony_ci			}
8739e5c31af7Sopenharmony_ci		""
8740e5c31af7Sopenharmony_ci	end
8741e5c31af7Sopenharmony_ci
8742e5c31af7Sopenharmony_ci	case mat2_to_mat3x4
8743e5c31af7Sopenharmony_ci		version 300 es
8744e5c31af7Sopenharmony_ci		values
8745e5c31af7Sopenharmony_ci		{
8746e5c31af7Sopenharmony_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) ];
8747e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, -0.75, 0.0, 0.0, 12.5, 9.975, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, -0.75, 0.0, 0.0, 12.5, 9.975, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(8.0, -24.0, 0.0, 0.0, 16.0, -16.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(0.125, 0.03125, 0.0, 0.0, 0.0625, 0.015625, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(-18.725, -0.0125, 0.0, 0.0, -0.5, 19.975, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) ];
8748e5c31af7Sopenharmony_ci		}
8749e5c31af7Sopenharmony_ci
8750e5c31af7Sopenharmony_ci		both ""
8751e5c31af7Sopenharmony_ci			#version 300 es
8752e5c31af7Sopenharmony_ci			precision mediump float;
8753e5c31af7Sopenharmony_ci			precision mediump int;
8754e5c31af7Sopenharmony_ci
8755e5c31af7Sopenharmony_ci			${DECLARATIONS}
8756e5c31af7Sopenharmony_ci
8757e5c31af7Sopenharmony_ci			void main()
8758e5c31af7Sopenharmony_ci			{
8759e5c31af7Sopenharmony_ci				${SETUP}
8760e5c31af7Sopenharmony_ci				out0 = mat3x4(in0);
8761e5c31af7Sopenharmony_ci				${OUTPUT}
8762e5c31af7Sopenharmony_ci			}
8763e5c31af7Sopenharmony_ci		""
8764e5c31af7Sopenharmony_ci	end
8765e5c31af7Sopenharmony_ci
8766e5c31af7Sopenharmony_ci	case mat2_to_mat3
8767e5c31af7Sopenharmony_ci		version 300 es
8768e5c31af7Sopenharmony_ci		values
8769e5c31af7Sopenharmony_ci		{
8770e5c31af7Sopenharmony_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) ];
8771e5c31af7Sopenharmony_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) ];
8772e5c31af7Sopenharmony_ci		}
8773e5c31af7Sopenharmony_ci
8774e5c31af7Sopenharmony_ci		both ""
8775e5c31af7Sopenharmony_ci			#version 300 es
8776e5c31af7Sopenharmony_ci			precision mediump float;
8777e5c31af7Sopenharmony_ci			precision mediump int;
8778e5c31af7Sopenharmony_ci
8779e5c31af7Sopenharmony_ci			${DECLARATIONS}
8780e5c31af7Sopenharmony_ci
8781e5c31af7Sopenharmony_ci			void main()
8782e5c31af7Sopenharmony_ci			{
8783e5c31af7Sopenharmony_ci				${SETUP}
8784e5c31af7Sopenharmony_ci				out0 = mat3(in0);
8785e5c31af7Sopenharmony_ci				${OUTPUT}
8786e5c31af7Sopenharmony_ci			}
8787e5c31af7Sopenharmony_ci		""
8788e5c31af7Sopenharmony_ci	end
8789e5c31af7Sopenharmony_ci
8790e5c31af7Sopenharmony_ci	case mat2_to_mat3x2
8791e5c31af7Sopenharmony_ci		version 300 es
8792e5c31af7Sopenharmony_ci		values
8793e5c31af7Sopenharmony_ci		{
8794e5c31af7Sopenharmony_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) ];
8795e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, -0.75, 12.5, 9.975, 0.0, 0.0) | mat3x2(6.5, -0.75, 12.5, 9.975, 0.0, 0.0) | mat3x2(8.0, -24.0, 16.0, -16.0, 0.0, 0.0) | mat3x2(0.125, 0.03125, 0.0625, 0.015625, 0.0, 0.0) | mat3x2(-18.725, -0.0125, -0.5, 19.975, 0.0, 0.0) ];
8796e5c31af7Sopenharmony_ci		}
8797e5c31af7Sopenharmony_ci
8798e5c31af7Sopenharmony_ci		both ""
8799e5c31af7Sopenharmony_ci			#version 300 es
8800e5c31af7Sopenharmony_ci			precision mediump float;
8801e5c31af7Sopenharmony_ci			precision mediump int;
8802e5c31af7Sopenharmony_ci
8803e5c31af7Sopenharmony_ci			${DECLARATIONS}
8804e5c31af7Sopenharmony_ci
8805e5c31af7Sopenharmony_ci			void main()
8806e5c31af7Sopenharmony_ci			{
8807e5c31af7Sopenharmony_ci				${SETUP}
8808e5c31af7Sopenharmony_ci				out0 = mat3x2(in0);
8809e5c31af7Sopenharmony_ci				${OUTPUT}
8810e5c31af7Sopenharmony_ci			}
8811e5c31af7Sopenharmony_ci		""
8812e5c31af7Sopenharmony_ci	end
8813e5c31af7Sopenharmony_ci
8814e5c31af7Sopenharmony_ci	case mat2_to_mat2x4
8815e5c31af7Sopenharmony_ci		version 300 es
8816e5c31af7Sopenharmony_ci		values
8817e5c31af7Sopenharmony_ci		{
8818e5c31af7Sopenharmony_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) ];
8819e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, -0.75, 0.0, 0.0, 12.5, 9.975, 0.0, 0.0) | mat2x4(6.5, -0.75, 0.0, 0.0, 12.5, 9.975, 0.0, 0.0) | mat2x4(8.0, -24.0, 0.0, 0.0, 16.0, -16.0, 0.0, 0.0) | mat2x4(0.125, 0.03125, 0.0, 0.0, 0.0625, 0.015625, 0.0, 0.0) | mat2x4(-18.725, -0.0125, 0.0, 0.0, -0.5, 19.975, 0.0, 0.0) ];
8820e5c31af7Sopenharmony_ci		}
8821e5c31af7Sopenharmony_ci
8822e5c31af7Sopenharmony_ci		both ""
8823e5c31af7Sopenharmony_ci			#version 300 es
8824e5c31af7Sopenharmony_ci			precision mediump float;
8825e5c31af7Sopenharmony_ci			precision mediump int;
8826e5c31af7Sopenharmony_ci
8827e5c31af7Sopenharmony_ci			${DECLARATIONS}
8828e5c31af7Sopenharmony_ci
8829e5c31af7Sopenharmony_ci			void main()
8830e5c31af7Sopenharmony_ci			{
8831e5c31af7Sopenharmony_ci				${SETUP}
8832e5c31af7Sopenharmony_ci				out0 = mat2x4(in0);
8833e5c31af7Sopenharmony_ci				${OUTPUT}
8834e5c31af7Sopenharmony_ci			}
8835e5c31af7Sopenharmony_ci		""
8836e5c31af7Sopenharmony_ci	end
8837e5c31af7Sopenharmony_ci
8838e5c31af7Sopenharmony_ci	case mat2_to_mat2x3
8839e5c31af7Sopenharmony_ci		version 300 es
8840e5c31af7Sopenharmony_ci		values
8841e5c31af7Sopenharmony_ci		{
8842e5c31af7Sopenharmony_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) ];
8843e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, -0.75, 0.0, 12.5, 9.975, 0.0) | mat2x3(6.5, -0.75, 0.0, 12.5, 9.975, 0.0) | mat2x3(8.0, -24.0, 0.0, 16.0, -16.0, 0.0) | mat2x3(0.125, 0.03125, 0.0, 0.0625, 0.015625, 0.0) | mat2x3(-18.725, -0.0125, 0.0, -0.5, 19.975, 0.0) ];
8844e5c31af7Sopenharmony_ci		}
8845e5c31af7Sopenharmony_ci
8846e5c31af7Sopenharmony_ci		both ""
8847e5c31af7Sopenharmony_ci			#version 300 es
8848e5c31af7Sopenharmony_ci			precision mediump float;
8849e5c31af7Sopenharmony_ci			precision mediump int;
8850e5c31af7Sopenharmony_ci
8851e5c31af7Sopenharmony_ci			${DECLARATIONS}
8852e5c31af7Sopenharmony_ci
8853e5c31af7Sopenharmony_ci			void main()
8854e5c31af7Sopenharmony_ci			{
8855e5c31af7Sopenharmony_ci				${SETUP}
8856e5c31af7Sopenharmony_ci				out0 = mat2x3(in0);
8857e5c31af7Sopenharmony_ci				${OUTPUT}
8858e5c31af7Sopenharmony_ci			}
8859e5c31af7Sopenharmony_ci		""
8860e5c31af7Sopenharmony_ci	end
8861e5c31af7Sopenharmony_ci
8862e5c31af7Sopenharmony_ci	case mat2_to_mat2
8863e5c31af7Sopenharmony_ci		version 300 es
8864e5c31af7Sopenharmony_ci		values
8865e5c31af7Sopenharmony_ci		{
8866e5c31af7Sopenharmony_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) ];
8867e5c31af7Sopenharmony_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) ];
8868e5c31af7Sopenharmony_ci		}
8869e5c31af7Sopenharmony_ci
8870e5c31af7Sopenharmony_ci		both ""
8871e5c31af7Sopenharmony_ci			#version 300 es
8872e5c31af7Sopenharmony_ci			precision mediump float;
8873e5c31af7Sopenharmony_ci			precision mediump int;
8874e5c31af7Sopenharmony_ci
8875e5c31af7Sopenharmony_ci			${DECLARATIONS}
8876e5c31af7Sopenharmony_ci
8877e5c31af7Sopenharmony_ci			void main()
8878e5c31af7Sopenharmony_ci			{
8879e5c31af7Sopenharmony_ci				${SETUP}
8880e5c31af7Sopenharmony_ci				out0 = mat2(in0);
8881e5c31af7Sopenharmony_ci				${OUTPUT}
8882e5c31af7Sopenharmony_ci			}
8883e5c31af7Sopenharmony_ci		""
8884e5c31af7Sopenharmony_ci	end
8885e5c31af7Sopenharmony_ci
8886e5c31af7Sopenharmony_ci
8887e5c31af7Sopenharmony_ciend # matrix_to_matrix
8888e5c31af7Sopenharmony_cigroup vector_combine "Vector Combine Constructors"
8889e5c31af7Sopenharmony_ci
8890e5c31af7Sopenharmony_ci	case vec2_vec2_to_vec4
8891e5c31af7Sopenharmony_ci		version 300 es
8892e5c31af7Sopenharmony_ci		values
8893e5c31af7Sopenharmony_ci		{
8894e5c31af7Sopenharmony_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) ];
8895e5c31af7Sopenharmony_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) ];
8896e5c31af7Sopenharmony_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) ];
8897e5c31af7Sopenharmony_ci		}
8898e5c31af7Sopenharmony_ci
8899e5c31af7Sopenharmony_ci		both ""
8900e5c31af7Sopenharmony_ci			#version 300 es
8901e5c31af7Sopenharmony_ci			precision mediump float;
8902e5c31af7Sopenharmony_ci			precision mediump int;
8903e5c31af7Sopenharmony_ci
8904e5c31af7Sopenharmony_ci			${DECLARATIONS}
8905e5c31af7Sopenharmony_ci
8906e5c31af7Sopenharmony_ci			void main()
8907e5c31af7Sopenharmony_ci			{
8908e5c31af7Sopenharmony_ci				${SETUP}
8909e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1);
8910e5c31af7Sopenharmony_ci				${OUTPUT}
8911e5c31af7Sopenharmony_ci			}
8912e5c31af7Sopenharmony_ci		""
8913e5c31af7Sopenharmony_ci	end
8914e5c31af7Sopenharmony_ci
8915e5c31af7Sopenharmony_ci	case vec2_vec2_to_ivec4
8916e5c31af7Sopenharmony_ci		version 300 es
8917e5c31af7Sopenharmony_ci		values
8918e5c31af7Sopenharmony_ci		{
8919e5c31af7Sopenharmony_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) ];
8920e5c31af7Sopenharmony_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) ];
8921e5c31af7Sopenharmony_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) ];
8922e5c31af7Sopenharmony_ci		}
8923e5c31af7Sopenharmony_ci
8924e5c31af7Sopenharmony_ci		both ""
8925e5c31af7Sopenharmony_ci			#version 300 es
8926e5c31af7Sopenharmony_ci			precision mediump float;
8927e5c31af7Sopenharmony_ci			precision mediump int;
8928e5c31af7Sopenharmony_ci
8929e5c31af7Sopenharmony_ci			${DECLARATIONS}
8930e5c31af7Sopenharmony_ci
8931e5c31af7Sopenharmony_ci			void main()
8932e5c31af7Sopenharmony_ci			{
8933e5c31af7Sopenharmony_ci				${SETUP}
8934e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1);
8935e5c31af7Sopenharmony_ci				${OUTPUT}
8936e5c31af7Sopenharmony_ci			}
8937e5c31af7Sopenharmony_ci		""
8938e5c31af7Sopenharmony_ci	end
8939e5c31af7Sopenharmony_ci
8940e5c31af7Sopenharmony_ci	case vec2_vec2_to_bvec4
8941e5c31af7Sopenharmony_ci		version 300 es
8942e5c31af7Sopenharmony_ci		values
8943e5c31af7Sopenharmony_ci		{
8944e5c31af7Sopenharmony_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) ];
8945e5c31af7Sopenharmony_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) ];
8946e5c31af7Sopenharmony_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) ];
8947e5c31af7Sopenharmony_ci		}
8948e5c31af7Sopenharmony_ci
8949e5c31af7Sopenharmony_ci		both ""
8950e5c31af7Sopenharmony_ci			#version 300 es
8951e5c31af7Sopenharmony_ci			precision mediump float;
8952e5c31af7Sopenharmony_ci			precision mediump int;
8953e5c31af7Sopenharmony_ci
8954e5c31af7Sopenharmony_ci			${DECLARATIONS}
8955e5c31af7Sopenharmony_ci
8956e5c31af7Sopenharmony_ci			void main()
8957e5c31af7Sopenharmony_ci			{
8958e5c31af7Sopenharmony_ci				${SETUP}
8959e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1);
8960e5c31af7Sopenharmony_ci				${OUTPUT}
8961e5c31af7Sopenharmony_ci			}
8962e5c31af7Sopenharmony_ci		""
8963e5c31af7Sopenharmony_ci	end
8964e5c31af7Sopenharmony_ci
8965e5c31af7Sopenharmony_ci	case bvec2_bvec2_to_vec4
8966e5c31af7Sopenharmony_ci		version 300 es
8967e5c31af7Sopenharmony_ci		values
8968e5c31af7Sopenharmony_ci		{
8969e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ];
8970e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
8971e5c31af7Sopenharmony_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) ];
8972e5c31af7Sopenharmony_ci		}
8973e5c31af7Sopenharmony_ci
8974e5c31af7Sopenharmony_ci		both ""
8975e5c31af7Sopenharmony_ci			#version 300 es
8976e5c31af7Sopenharmony_ci			precision mediump float;
8977e5c31af7Sopenharmony_ci			precision mediump int;
8978e5c31af7Sopenharmony_ci
8979e5c31af7Sopenharmony_ci			${DECLARATIONS}
8980e5c31af7Sopenharmony_ci
8981e5c31af7Sopenharmony_ci			void main()
8982e5c31af7Sopenharmony_ci			{
8983e5c31af7Sopenharmony_ci				${SETUP}
8984e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1);
8985e5c31af7Sopenharmony_ci				${OUTPUT}
8986e5c31af7Sopenharmony_ci			}
8987e5c31af7Sopenharmony_ci		""
8988e5c31af7Sopenharmony_ci	end
8989e5c31af7Sopenharmony_ci
8990e5c31af7Sopenharmony_ci	case bvec2_bvec2_to_ivec4
8991e5c31af7Sopenharmony_ci		version 300 es
8992e5c31af7Sopenharmony_ci		values
8993e5c31af7Sopenharmony_ci		{
8994e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ];
8995e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
8996e5c31af7Sopenharmony_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) ];
8997e5c31af7Sopenharmony_ci		}
8998e5c31af7Sopenharmony_ci
8999e5c31af7Sopenharmony_ci		both ""
9000e5c31af7Sopenharmony_ci			#version 300 es
9001e5c31af7Sopenharmony_ci			precision mediump float;
9002e5c31af7Sopenharmony_ci			precision mediump int;
9003e5c31af7Sopenharmony_ci
9004e5c31af7Sopenharmony_ci			${DECLARATIONS}
9005e5c31af7Sopenharmony_ci
9006e5c31af7Sopenharmony_ci			void main()
9007e5c31af7Sopenharmony_ci			{
9008e5c31af7Sopenharmony_ci				${SETUP}
9009e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1);
9010e5c31af7Sopenharmony_ci				${OUTPUT}
9011e5c31af7Sopenharmony_ci			}
9012e5c31af7Sopenharmony_ci		""
9013e5c31af7Sopenharmony_ci	end
9014e5c31af7Sopenharmony_ci
9015e5c31af7Sopenharmony_ci	case bvec2_bvec2_to_bvec4
9016e5c31af7Sopenharmony_ci		version 300 es
9017e5c31af7Sopenharmony_ci		values
9018e5c31af7Sopenharmony_ci		{
9019e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ];
9020e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
9021e5c31af7Sopenharmony_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) ];
9022e5c31af7Sopenharmony_ci		}
9023e5c31af7Sopenharmony_ci
9024e5c31af7Sopenharmony_ci		both ""
9025e5c31af7Sopenharmony_ci			#version 300 es
9026e5c31af7Sopenharmony_ci			precision mediump float;
9027e5c31af7Sopenharmony_ci			precision mediump int;
9028e5c31af7Sopenharmony_ci
9029e5c31af7Sopenharmony_ci			${DECLARATIONS}
9030e5c31af7Sopenharmony_ci
9031e5c31af7Sopenharmony_ci			void main()
9032e5c31af7Sopenharmony_ci			{
9033e5c31af7Sopenharmony_ci				${SETUP}
9034e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1);
9035e5c31af7Sopenharmony_ci				${OUTPUT}
9036e5c31af7Sopenharmony_ci			}
9037e5c31af7Sopenharmony_ci		""
9038e5c31af7Sopenharmony_ci	end
9039e5c31af7Sopenharmony_ci
9040e5c31af7Sopenharmony_ci	case float_float_float_float_to_vec4
9041e5c31af7Sopenharmony_ci		version 300 es
9042e5c31af7Sopenharmony_ci		values
9043e5c31af7Sopenharmony_ci		{
9044e5c31af7Sopenharmony_ci			input float in0 = [ 1.0 | 0.0 | -0.5 | -8.25 | 3.5 | -20.125 | 36.8125 | 2.0 ];
9045e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | 36.8125 | -8.25 | 2.0 | 3.5 | 1.0 | -20.125 | -0.5 ];
9046e5c31af7Sopenharmony_ci			input float in2 = [ 3.5 | 36.8125 | -8.25 | 1.0 | 2.0 | 0.0 | -20.125 | -0.5 ];
9047e5c31af7Sopenharmony_ci			input float in3 = [ 3.5 | 36.8125 | 1.0 | -8.25 | 2.0 | 0.0 | -0.5 | -20.125 ];
9048e5c31af7Sopenharmony_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) ];
9049e5c31af7Sopenharmony_ci		}
9050e5c31af7Sopenharmony_ci
9051e5c31af7Sopenharmony_ci		both ""
9052e5c31af7Sopenharmony_ci			#version 300 es
9053e5c31af7Sopenharmony_ci			precision mediump float;
9054e5c31af7Sopenharmony_ci			precision mediump int;
9055e5c31af7Sopenharmony_ci
9056e5c31af7Sopenharmony_ci			${DECLARATIONS}
9057e5c31af7Sopenharmony_ci
9058e5c31af7Sopenharmony_ci			void main()
9059e5c31af7Sopenharmony_ci			{
9060e5c31af7Sopenharmony_ci				${SETUP}
9061e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1, in2, in3);
9062e5c31af7Sopenharmony_ci				${OUTPUT}
9063e5c31af7Sopenharmony_ci			}
9064e5c31af7Sopenharmony_ci		""
9065e5c31af7Sopenharmony_ci	end
9066e5c31af7Sopenharmony_ci
9067e5c31af7Sopenharmony_ci	case float_float_float_float_to_ivec4
9068e5c31af7Sopenharmony_ci		version 300 es
9069e5c31af7Sopenharmony_ci		values
9070e5c31af7Sopenharmony_ci		{
9071e5c31af7Sopenharmony_ci			input float in0 = [ 1.0 | 0.0 | -0.5 | -8.25 | 3.5 | -20.125 | 36.8125 | 2.0 ];
9072e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | 36.8125 | -8.25 | 2.0 | 3.5 | 1.0 | -20.125 | -0.5 ];
9073e5c31af7Sopenharmony_ci			input float in2 = [ 3.5 | 36.8125 | -8.25 | 1.0 | 2.0 | 0.0 | -20.125 | -0.5 ];
9074e5c31af7Sopenharmony_ci			input float in3 = [ 3.5 | 36.8125 | 1.0 | -8.25 | 2.0 | 0.0 | -0.5 | -20.125 ];
9075e5c31af7Sopenharmony_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) ];
9076e5c31af7Sopenharmony_ci		}
9077e5c31af7Sopenharmony_ci
9078e5c31af7Sopenharmony_ci		both ""
9079e5c31af7Sopenharmony_ci			#version 300 es
9080e5c31af7Sopenharmony_ci			precision mediump float;
9081e5c31af7Sopenharmony_ci			precision mediump int;
9082e5c31af7Sopenharmony_ci
9083e5c31af7Sopenharmony_ci			${DECLARATIONS}
9084e5c31af7Sopenharmony_ci
9085e5c31af7Sopenharmony_ci			void main()
9086e5c31af7Sopenharmony_ci			{
9087e5c31af7Sopenharmony_ci				${SETUP}
9088e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1, in2, in3);
9089e5c31af7Sopenharmony_ci				${OUTPUT}
9090e5c31af7Sopenharmony_ci			}
9091e5c31af7Sopenharmony_ci		""
9092e5c31af7Sopenharmony_ci	end
9093e5c31af7Sopenharmony_ci
9094e5c31af7Sopenharmony_ci	case float_float_float_float_to_bvec4
9095e5c31af7Sopenharmony_ci		version 300 es
9096e5c31af7Sopenharmony_ci		values
9097e5c31af7Sopenharmony_ci		{
9098e5c31af7Sopenharmony_ci			input float in0 = [ 1.0 | 0.0 | -0.5 | -8.25 | 3.5 | -20.125 | 36.8125 | 2.0 ];
9099e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | 36.8125 | -8.25 | 2.0 | 3.5 | 1.0 | -20.125 | -0.5 ];
9100e5c31af7Sopenharmony_ci			input float in2 = [ 3.5 | 36.8125 | -8.25 | 1.0 | 2.0 | 0.0 | -20.125 | -0.5 ];
9101e5c31af7Sopenharmony_ci			input float in3 = [ 3.5 | 36.8125 | 1.0 | -8.25 | 2.0 | 0.0 | -0.5 | -20.125 ];
9102e5c31af7Sopenharmony_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) ];
9103e5c31af7Sopenharmony_ci		}
9104e5c31af7Sopenharmony_ci
9105e5c31af7Sopenharmony_ci		both ""
9106e5c31af7Sopenharmony_ci			#version 300 es
9107e5c31af7Sopenharmony_ci			precision mediump float;
9108e5c31af7Sopenharmony_ci			precision mediump int;
9109e5c31af7Sopenharmony_ci
9110e5c31af7Sopenharmony_ci			${DECLARATIONS}
9111e5c31af7Sopenharmony_ci
9112e5c31af7Sopenharmony_ci			void main()
9113e5c31af7Sopenharmony_ci			{
9114e5c31af7Sopenharmony_ci				${SETUP}
9115e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1, in2, in3);
9116e5c31af7Sopenharmony_ci				${OUTPUT}
9117e5c31af7Sopenharmony_ci			}
9118e5c31af7Sopenharmony_ci		""
9119e5c31af7Sopenharmony_ci	end
9120e5c31af7Sopenharmony_ci
9121e5c31af7Sopenharmony_ci	case int_int_int_int_to_vec4
9122e5c31af7Sopenharmony_ci		version 300 es
9123e5c31af7Sopenharmony_ci		values
9124e5c31af7Sopenharmony_ci		{
9125e5c31af7Sopenharmony_ci			input int in0 = [ -12 | -66 | 2 | 5 | 8 | -192 | 255 | 1 | 0 | 11 ];
9126e5c31af7Sopenharmony_ci			input int in1 = [ 2 | 5 | -66 | 11 | -192 | 8 | -12 | 1 | 255 | 0 ];
9127e5c31af7Sopenharmony_ci			input int in2 = [ 11 | 255 | 5 | 8 | 2 | -192 | -12 | -66 | 1 | 0 ];
9128e5c31af7Sopenharmony_ci			input int in3 = [ -192 | -66 | 8 | -12 | 1 | 2 | 0 | 255 | 5 | 11 ];
9129e5c31af7Sopenharmony_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) ];
9130e5c31af7Sopenharmony_ci		}
9131e5c31af7Sopenharmony_ci
9132e5c31af7Sopenharmony_ci		both ""
9133e5c31af7Sopenharmony_ci			#version 300 es
9134e5c31af7Sopenharmony_ci			precision mediump float;
9135e5c31af7Sopenharmony_ci			precision mediump int;
9136e5c31af7Sopenharmony_ci
9137e5c31af7Sopenharmony_ci			${DECLARATIONS}
9138e5c31af7Sopenharmony_ci
9139e5c31af7Sopenharmony_ci			void main()
9140e5c31af7Sopenharmony_ci			{
9141e5c31af7Sopenharmony_ci				${SETUP}
9142e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1, in2, in3);
9143e5c31af7Sopenharmony_ci				${OUTPUT}
9144e5c31af7Sopenharmony_ci			}
9145e5c31af7Sopenharmony_ci		""
9146e5c31af7Sopenharmony_ci	end
9147e5c31af7Sopenharmony_ci
9148e5c31af7Sopenharmony_ci	case int_int_int_int_to_ivec4
9149e5c31af7Sopenharmony_ci		version 300 es
9150e5c31af7Sopenharmony_ci		values
9151e5c31af7Sopenharmony_ci		{
9152e5c31af7Sopenharmony_ci			input int in0 = [ -12 | -66 | 2 | 5 | 8 | -192 | 255 | 1 | 0 | 11 ];
9153e5c31af7Sopenharmony_ci			input int in1 = [ 2 | 5 | -66 | 11 | -192 | 8 | -12 | 1 | 255 | 0 ];
9154e5c31af7Sopenharmony_ci			input int in2 = [ 11 | 255 | 5 | 8 | 2 | -192 | -12 | -66 | 1 | 0 ];
9155e5c31af7Sopenharmony_ci			input int in3 = [ -192 | -66 | 8 | -12 | 1 | 2 | 0 | 255 | 5 | 11 ];
9156e5c31af7Sopenharmony_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) ];
9157e5c31af7Sopenharmony_ci		}
9158e5c31af7Sopenharmony_ci
9159e5c31af7Sopenharmony_ci		both ""
9160e5c31af7Sopenharmony_ci			#version 300 es
9161e5c31af7Sopenharmony_ci			precision mediump float;
9162e5c31af7Sopenharmony_ci			precision mediump int;
9163e5c31af7Sopenharmony_ci
9164e5c31af7Sopenharmony_ci			${DECLARATIONS}
9165e5c31af7Sopenharmony_ci
9166e5c31af7Sopenharmony_ci			void main()
9167e5c31af7Sopenharmony_ci			{
9168e5c31af7Sopenharmony_ci				${SETUP}
9169e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1, in2, in3);
9170e5c31af7Sopenharmony_ci				${OUTPUT}
9171e5c31af7Sopenharmony_ci			}
9172e5c31af7Sopenharmony_ci		""
9173e5c31af7Sopenharmony_ci	end
9174e5c31af7Sopenharmony_ci
9175e5c31af7Sopenharmony_ci	case int_int_int_int_to_bvec4
9176e5c31af7Sopenharmony_ci		version 300 es
9177e5c31af7Sopenharmony_ci		values
9178e5c31af7Sopenharmony_ci		{
9179e5c31af7Sopenharmony_ci			input int in0 = [ -12 | -66 | 2 | 5 | 8 | -192 | 255 | 1 | 0 | 11 ];
9180e5c31af7Sopenharmony_ci			input int in1 = [ 2 | 5 | -66 | 11 | -192 | 8 | -12 | 1 | 255 | 0 ];
9181e5c31af7Sopenharmony_ci			input int in2 = [ 11 | 255 | 5 | 8 | 2 | -192 | -12 | -66 | 1 | 0 ];
9182e5c31af7Sopenharmony_ci			input int in3 = [ -192 | -66 | 8 | -12 | 1 | 2 | 0 | 255 | 5 | 11 ];
9183e5c31af7Sopenharmony_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) ];
9184e5c31af7Sopenharmony_ci		}
9185e5c31af7Sopenharmony_ci
9186e5c31af7Sopenharmony_ci		both ""
9187e5c31af7Sopenharmony_ci			#version 300 es
9188e5c31af7Sopenharmony_ci			precision mediump float;
9189e5c31af7Sopenharmony_ci			precision mediump int;
9190e5c31af7Sopenharmony_ci
9191e5c31af7Sopenharmony_ci			${DECLARATIONS}
9192e5c31af7Sopenharmony_ci
9193e5c31af7Sopenharmony_ci			void main()
9194e5c31af7Sopenharmony_ci			{
9195e5c31af7Sopenharmony_ci				${SETUP}
9196e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1, in2, in3);
9197e5c31af7Sopenharmony_ci				${OUTPUT}
9198e5c31af7Sopenharmony_ci			}
9199e5c31af7Sopenharmony_ci		""
9200e5c31af7Sopenharmony_ci	end
9201e5c31af7Sopenharmony_ci
9202e5c31af7Sopenharmony_ci	case uint_uint_uint_uint_to_vec4
9203e5c31af7Sopenharmony_ci		version 300 es
9204e5c31af7Sopenharmony_ci		values
9205e5c31af7Sopenharmony_ci		{
9206e5c31af7Sopenharmony_ci			input uint in0 = [ 193 | 3 | 255 | 8 | 10 | 9 | 2 | 12 | 0 | 45 ];
9207e5c31af7Sopenharmony_ci			input uint in1 = [ 12 | 45 | 193 | 2 | 8 | 255 | 0 | 3 | 9 | 10 ];
9208e5c31af7Sopenharmony_ci			input uint in2 = [ 9 | 8 | 12 | 2 | 255 | 45 | 3 | 0 | 193 | 10 ];
9209e5c31af7Sopenharmony_ci			input uint in3 = [ 3 | 9 | 12 | 2 | 255 | 193 | 0 | 10 | 45 | 8 ];
9210e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(193.0, 12.0, 9.0, 3.0) | vec4(3.0, 45.0, 8.0, 9.0) | vec4(255.0, 193.0, 12.0, 12.0) | vec4(8.0, 2.0, 2.0, 2.0) | vec4(10.0, 8.0, 255.0, 255.0) | vec4(9.0, 255.0, 45.0, 193.0) | vec4(2.0, 0.0, 3.0, 0.0) | vec4(12.0, 3.0, 0.0, 10.0) | vec4(0.0, 9.0, 193.0, 45.0) | vec4(45.0, 10.0, 10.0, 8.0) ];
9211e5c31af7Sopenharmony_ci		}
9212e5c31af7Sopenharmony_ci
9213e5c31af7Sopenharmony_ci		both ""
9214e5c31af7Sopenharmony_ci			#version 300 es
9215e5c31af7Sopenharmony_ci			precision mediump float;
9216e5c31af7Sopenharmony_ci			precision mediump int;
9217e5c31af7Sopenharmony_ci
9218e5c31af7Sopenharmony_ci			${DECLARATIONS}
9219e5c31af7Sopenharmony_ci
9220e5c31af7Sopenharmony_ci			void main()
9221e5c31af7Sopenharmony_ci			{
9222e5c31af7Sopenharmony_ci				${SETUP}
9223e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1, in2, in3);
9224e5c31af7Sopenharmony_ci				${OUTPUT}
9225e5c31af7Sopenharmony_ci			}
9226e5c31af7Sopenharmony_ci		""
9227e5c31af7Sopenharmony_ci	end
9228e5c31af7Sopenharmony_ci
9229e5c31af7Sopenharmony_ci	case uint_uint_uint_uint_to_ivec4
9230e5c31af7Sopenharmony_ci		version 300 es
9231e5c31af7Sopenharmony_ci		values
9232e5c31af7Sopenharmony_ci		{
9233e5c31af7Sopenharmony_ci			input uint in0 = [ 193 | 3 | 255 | 8 | 10 | 9 | 2 | 12 | 0 | 45 ];
9234e5c31af7Sopenharmony_ci			input uint in1 = [ 12 | 45 | 193 | 2 | 8 | 255 | 0 | 3 | 9 | 10 ];
9235e5c31af7Sopenharmony_ci			input uint in2 = [ 9 | 8 | 12 | 2 | 255 | 45 | 3 | 0 | 193 | 10 ];
9236e5c31af7Sopenharmony_ci			input uint in3 = [ 3 | 9 | 12 | 2 | 255 | 193 | 0 | 10 | 45 | 8 ];
9237e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(193, 12, 9, 3) | ivec4(3, 45, 8, 9) | ivec4(255, 193, 12, 12) | ivec4(8, 2, 2, 2) | ivec4(10, 8, 255, 255) | ivec4(9, 255, 45, 193) | ivec4(2, 0, 3, 0) | ivec4(12, 3, 0, 10) | ivec4(0, 9, 193, 45) | ivec4(45, 10, 10, 8) ];
9238e5c31af7Sopenharmony_ci		}
9239e5c31af7Sopenharmony_ci
9240e5c31af7Sopenharmony_ci		both ""
9241e5c31af7Sopenharmony_ci			#version 300 es
9242e5c31af7Sopenharmony_ci			precision mediump float;
9243e5c31af7Sopenharmony_ci			precision mediump int;
9244e5c31af7Sopenharmony_ci
9245e5c31af7Sopenharmony_ci			${DECLARATIONS}
9246e5c31af7Sopenharmony_ci
9247e5c31af7Sopenharmony_ci			void main()
9248e5c31af7Sopenharmony_ci			{
9249e5c31af7Sopenharmony_ci				${SETUP}
9250e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1, in2, in3);
9251e5c31af7Sopenharmony_ci				${OUTPUT}
9252e5c31af7Sopenharmony_ci			}
9253e5c31af7Sopenharmony_ci		""
9254e5c31af7Sopenharmony_ci	end
9255e5c31af7Sopenharmony_ci
9256e5c31af7Sopenharmony_ci	case uint_uint_uint_uint_to_bvec4
9257e5c31af7Sopenharmony_ci		version 300 es
9258e5c31af7Sopenharmony_ci		values
9259e5c31af7Sopenharmony_ci		{
9260e5c31af7Sopenharmony_ci			input uint in0 = [ 193 | 3 | 255 | 8 | 10 | 9 | 2 | 12 | 0 | 45 ];
9261e5c31af7Sopenharmony_ci			input uint in1 = [ 12 | 45 | 193 | 2 | 8 | 255 | 0 | 3 | 9 | 10 ];
9262e5c31af7Sopenharmony_ci			input uint in2 = [ 9 | 8 | 12 | 2 | 255 | 45 | 3 | 0 | 193 | 10 ];
9263e5c31af7Sopenharmony_ci			input uint in3 = [ 3 | 9 | 12 | 2 | 255 | 193 | 0 | 10 | 45 | 8 ];
9264e5c31af7Sopenharmony_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, false, true, false) | bvec4(true, true, false, true) | bvec4(false, true, true, true) | bvec4(true, true, true, true) ];
9265e5c31af7Sopenharmony_ci		}
9266e5c31af7Sopenharmony_ci
9267e5c31af7Sopenharmony_ci		both ""
9268e5c31af7Sopenharmony_ci			#version 300 es
9269e5c31af7Sopenharmony_ci			precision mediump float;
9270e5c31af7Sopenharmony_ci			precision mediump int;
9271e5c31af7Sopenharmony_ci
9272e5c31af7Sopenharmony_ci			${DECLARATIONS}
9273e5c31af7Sopenharmony_ci
9274e5c31af7Sopenharmony_ci			void main()
9275e5c31af7Sopenharmony_ci			{
9276e5c31af7Sopenharmony_ci				${SETUP}
9277e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1, in2, in3);
9278e5c31af7Sopenharmony_ci				${OUTPUT}
9279e5c31af7Sopenharmony_ci			}
9280e5c31af7Sopenharmony_ci		""
9281e5c31af7Sopenharmony_ci	end
9282e5c31af7Sopenharmony_ci
9283e5c31af7Sopenharmony_ci	case bool_bool_bool_bool_to_vec4
9284e5c31af7Sopenharmony_ci		version 300 es
9285e5c31af7Sopenharmony_ci		values
9286e5c31af7Sopenharmony_ci		{
9287e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
9288e5c31af7Sopenharmony_ci			input bool in1 = [ true | false ];
9289e5c31af7Sopenharmony_ci			input bool in2 = [ false | true ];
9290e5c31af7Sopenharmony_ci			input bool in3 = [ false | true ];
9291e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(1.0, 1.0, 0.0, 0.0) | vec4(0.0, 0.0, 1.0, 1.0) ];
9292e5c31af7Sopenharmony_ci		}
9293e5c31af7Sopenharmony_ci
9294e5c31af7Sopenharmony_ci		both ""
9295e5c31af7Sopenharmony_ci			#version 300 es
9296e5c31af7Sopenharmony_ci			precision mediump float;
9297e5c31af7Sopenharmony_ci			precision mediump int;
9298e5c31af7Sopenharmony_ci
9299e5c31af7Sopenharmony_ci			${DECLARATIONS}
9300e5c31af7Sopenharmony_ci
9301e5c31af7Sopenharmony_ci			void main()
9302e5c31af7Sopenharmony_ci			{
9303e5c31af7Sopenharmony_ci				${SETUP}
9304e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1, in2, in3);
9305e5c31af7Sopenharmony_ci				${OUTPUT}
9306e5c31af7Sopenharmony_ci			}
9307e5c31af7Sopenharmony_ci		""
9308e5c31af7Sopenharmony_ci	end
9309e5c31af7Sopenharmony_ci
9310e5c31af7Sopenharmony_ci	case bool_bool_bool_bool_to_ivec4
9311e5c31af7Sopenharmony_ci		version 300 es
9312e5c31af7Sopenharmony_ci		values
9313e5c31af7Sopenharmony_ci		{
9314e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
9315e5c31af7Sopenharmony_ci			input bool in1 = [ true | false ];
9316e5c31af7Sopenharmony_ci			input bool in2 = [ false | true ];
9317e5c31af7Sopenharmony_ci			input bool in3 = [ false | true ];
9318e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(1, 1, 0, 0) | ivec4(0, 0, 1, 1) ];
9319e5c31af7Sopenharmony_ci		}
9320e5c31af7Sopenharmony_ci
9321e5c31af7Sopenharmony_ci		both ""
9322e5c31af7Sopenharmony_ci			#version 300 es
9323e5c31af7Sopenharmony_ci			precision mediump float;
9324e5c31af7Sopenharmony_ci			precision mediump int;
9325e5c31af7Sopenharmony_ci
9326e5c31af7Sopenharmony_ci			${DECLARATIONS}
9327e5c31af7Sopenharmony_ci
9328e5c31af7Sopenharmony_ci			void main()
9329e5c31af7Sopenharmony_ci			{
9330e5c31af7Sopenharmony_ci				${SETUP}
9331e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1, in2, in3);
9332e5c31af7Sopenharmony_ci				${OUTPUT}
9333e5c31af7Sopenharmony_ci			}
9334e5c31af7Sopenharmony_ci		""
9335e5c31af7Sopenharmony_ci	end
9336e5c31af7Sopenharmony_ci
9337e5c31af7Sopenharmony_ci	case bool_bool_bool_bool_to_bvec4
9338e5c31af7Sopenharmony_ci		version 300 es
9339e5c31af7Sopenharmony_ci		values
9340e5c31af7Sopenharmony_ci		{
9341e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
9342e5c31af7Sopenharmony_ci			input bool in1 = [ true | false ];
9343e5c31af7Sopenharmony_ci			input bool in2 = [ false | true ];
9344e5c31af7Sopenharmony_ci			input bool in3 = [ false | true ];
9345e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, true, false, false) | bvec4(false, false, true, true) ];
9346e5c31af7Sopenharmony_ci		}
9347e5c31af7Sopenharmony_ci
9348e5c31af7Sopenharmony_ci		both ""
9349e5c31af7Sopenharmony_ci			#version 300 es
9350e5c31af7Sopenharmony_ci			precision mediump float;
9351e5c31af7Sopenharmony_ci			precision mediump int;
9352e5c31af7Sopenharmony_ci
9353e5c31af7Sopenharmony_ci			${DECLARATIONS}
9354e5c31af7Sopenharmony_ci
9355e5c31af7Sopenharmony_ci			void main()
9356e5c31af7Sopenharmony_ci			{
9357e5c31af7Sopenharmony_ci				${SETUP}
9358e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1, in2, in3);
9359e5c31af7Sopenharmony_ci				${OUTPUT}
9360e5c31af7Sopenharmony_ci			}
9361e5c31af7Sopenharmony_ci		""
9362e5c31af7Sopenharmony_ci	end
9363e5c31af7Sopenharmony_ci
9364e5c31af7Sopenharmony_ci	case bool_float_int_bool_to_vec4
9365e5c31af7Sopenharmony_ci		version 300 es
9366e5c31af7Sopenharmony_ci		values
9367e5c31af7Sopenharmony_ci		{
9368e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | false | false | false | true | false | false | true | true ];
9369e5c31af7Sopenharmony_ci			input float in1 = [ 36.8125 | 0.0 | -8.25 | 1.0 | -0.5 | 0.0 | 2.0 | -20.125 | 3.5 | 1.0 ];
9370e5c31af7Sopenharmony_ci			input int in2 = [ -66 | 2 | 255 | 11 | 1 | 8 | -192 | -12 | 0 | 5 ];
9371e5c31af7Sopenharmony_ci			input bool in3 = [ true | true | false | false | true | true | false | true | false | false ];
9372e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(1.0, 36.8125, -66.0, 1.0) | vec4(1.0, 0.0, 2.0, 1.0) | vec4(0.0, -8.25, 255.0, 0.0) | vec4(0.0, 1.0, 11.0, 0.0) | vec4(0.0, -0.5, 1.0, 1.0) | vec4(1.0, 0.0, 8.0, 1.0) | vec4(0.0, 2.0, -192.0, 0.0) | vec4(0.0, -20.125, -12.0, 1.0) | vec4(1.0, 3.5, 0.0, 0.0) | vec4(1.0, 1.0, 5.0, 0.0) ];
9373e5c31af7Sopenharmony_ci		}
9374e5c31af7Sopenharmony_ci
9375e5c31af7Sopenharmony_ci		both ""
9376e5c31af7Sopenharmony_ci			#version 300 es
9377e5c31af7Sopenharmony_ci			precision mediump float;
9378e5c31af7Sopenharmony_ci			precision mediump int;
9379e5c31af7Sopenharmony_ci
9380e5c31af7Sopenharmony_ci			${DECLARATIONS}
9381e5c31af7Sopenharmony_ci
9382e5c31af7Sopenharmony_ci			void main()
9383e5c31af7Sopenharmony_ci			{
9384e5c31af7Sopenharmony_ci				${SETUP}
9385e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1, in2, in3);
9386e5c31af7Sopenharmony_ci				${OUTPUT}
9387e5c31af7Sopenharmony_ci			}
9388e5c31af7Sopenharmony_ci		""
9389e5c31af7Sopenharmony_ci	end
9390e5c31af7Sopenharmony_ci
9391e5c31af7Sopenharmony_ci	case bool_float_int_bool_to_ivec4
9392e5c31af7Sopenharmony_ci		version 300 es
9393e5c31af7Sopenharmony_ci		values
9394e5c31af7Sopenharmony_ci		{
9395e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | false | false | false | true | false | false | true | true ];
9396e5c31af7Sopenharmony_ci			input float in1 = [ 36.8125 | 0.0 | -8.25 | 1.0 | -0.5 | 0.0 | 2.0 | -20.125 | 3.5 | 1.0 ];
9397e5c31af7Sopenharmony_ci			input int in2 = [ -66 | 2 | 255 | 11 | 1 | 8 | -192 | -12 | 0 | 5 ];
9398e5c31af7Sopenharmony_ci			input bool in3 = [ true | true | false | false | true | true | false | true | false | false ];
9399e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(1, 36, -66, 1) | ivec4(1, 0, 2, 1) | ivec4(0, -8, 255, 0) | ivec4(0, 1, 11, 0) | ivec4(0, 0, 1, 1) | ivec4(1, 0, 8, 1) | ivec4(0, 2, -192, 0) | ivec4(0, -20, -12, 1) | ivec4(1, 3, 0, 0) | ivec4(1, 1, 5, 0) ];
9400e5c31af7Sopenharmony_ci		}
9401e5c31af7Sopenharmony_ci
9402e5c31af7Sopenharmony_ci		both ""
9403e5c31af7Sopenharmony_ci			#version 300 es
9404e5c31af7Sopenharmony_ci			precision mediump float;
9405e5c31af7Sopenharmony_ci			precision mediump int;
9406e5c31af7Sopenharmony_ci
9407e5c31af7Sopenharmony_ci			${DECLARATIONS}
9408e5c31af7Sopenharmony_ci
9409e5c31af7Sopenharmony_ci			void main()
9410e5c31af7Sopenharmony_ci			{
9411e5c31af7Sopenharmony_ci				${SETUP}
9412e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1, in2, in3);
9413e5c31af7Sopenharmony_ci				${OUTPUT}
9414e5c31af7Sopenharmony_ci			}
9415e5c31af7Sopenharmony_ci		""
9416e5c31af7Sopenharmony_ci	end
9417e5c31af7Sopenharmony_ci
9418e5c31af7Sopenharmony_ci	case bool_float_int_bool_to_bvec4
9419e5c31af7Sopenharmony_ci		version 300 es
9420e5c31af7Sopenharmony_ci		values
9421e5c31af7Sopenharmony_ci		{
9422e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | false | false | false | true | false | false | true | true ];
9423e5c31af7Sopenharmony_ci			input float in1 = [ 36.8125 | 0.0 | -8.25 | 1.0 | -0.5 | 0.0 | 2.0 | -20.125 | 3.5 | 1.0 ];
9424e5c31af7Sopenharmony_ci			input int in2 = [ -66 | 2 | 255 | 11 | 1 | 8 | -192 | -12 | 0 | 5 ];
9425e5c31af7Sopenharmony_ci			input bool in3 = [ true | true | false | false | true | true | false | true | false | false ];
9426e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, false, true, true) | bvec4(false, true, true, false) | bvec4(false, true, true, false) | bvec4(false, true, true, true) | bvec4(true, false, true, true) | bvec4(false, true, true, false) | bvec4(false, true, true, true) | bvec4(true, true, false, false) | bvec4(true, true, true, false) ];
9427e5c31af7Sopenharmony_ci		}
9428e5c31af7Sopenharmony_ci
9429e5c31af7Sopenharmony_ci		both ""
9430e5c31af7Sopenharmony_ci			#version 300 es
9431e5c31af7Sopenharmony_ci			precision mediump float;
9432e5c31af7Sopenharmony_ci			precision mediump int;
9433e5c31af7Sopenharmony_ci
9434e5c31af7Sopenharmony_ci			${DECLARATIONS}
9435e5c31af7Sopenharmony_ci
9436e5c31af7Sopenharmony_ci			void main()
9437e5c31af7Sopenharmony_ci			{
9438e5c31af7Sopenharmony_ci				${SETUP}
9439e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1, in2, in3);
9440e5c31af7Sopenharmony_ci				${OUTPUT}
9441e5c31af7Sopenharmony_ci			}
9442e5c31af7Sopenharmony_ci		""
9443e5c31af7Sopenharmony_ci	end
9444e5c31af7Sopenharmony_ci
9445e5c31af7Sopenharmony_ci	case vec2_ivec2_to_vec4
9446e5c31af7Sopenharmony_ci		version 300 es
9447e5c31af7Sopenharmony_ci		values
9448e5c31af7Sopenharmony_ci		{
9449e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) ];
9450e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) ];
9451e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(-0.75, -0.0322580645161, 0.0, -2.0) | vec4(-0.5, -2.25, 0.0, 0.0) | vec4(-32.0, 64.0, -32.0, 64.0) | vec4(1.0, 1.25, 1.0, 1.0) ];
9452e5c31af7Sopenharmony_ci		}
9453e5c31af7Sopenharmony_ci
9454e5c31af7Sopenharmony_ci		both ""
9455e5c31af7Sopenharmony_ci			#version 300 es
9456e5c31af7Sopenharmony_ci			precision mediump float;
9457e5c31af7Sopenharmony_ci			precision mediump int;
9458e5c31af7Sopenharmony_ci
9459e5c31af7Sopenharmony_ci			${DECLARATIONS}
9460e5c31af7Sopenharmony_ci
9461e5c31af7Sopenharmony_ci			void main()
9462e5c31af7Sopenharmony_ci			{
9463e5c31af7Sopenharmony_ci				${SETUP}
9464e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1);
9465e5c31af7Sopenharmony_ci				${OUTPUT}
9466e5c31af7Sopenharmony_ci			}
9467e5c31af7Sopenharmony_ci		""
9468e5c31af7Sopenharmony_ci	end
9469e5c31af7Sopenharmony_ci
9470e5c31af7Sopenharmony_ci	case vec2_ivec2_to_ivec4
9471e5c31af7Sopenharmony_ci		version 300 es
9472e5c31af7Sopenharmony_ci		values
9473e5c31af7Sopenharmony_ci		{
9474e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) ];
9475e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) ];
9476e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(0, 0, 0, -2) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, 64) | ivec4(1, 1, 1, 1) ];
9477e5c31af7Sopenharmony_ci		}
9478e5c31af7Sopenharmony_ci
9479e5c31af7Sopenharmony_ci		both ""
9480e5c31af7Sopenharmony_ci			#version 300 es
9481e5c31af7Sopenharmony_ci			precision mediump float;
9482e5c31af7Sopenharmony_ci			precision mediump int;
9483e5c31af7Sopenharmony_ci
9484e5c31af7Sopenharmony_ci			${DECLARATIONS}
9485e5c31af7Sopenharmony_ci
9486e5c31af7Sopenharmony_ci			void main()
9487e5c31af7Sopenharmony_ci			{
9488e5c31af7Sopenharmony_ci				${SETUP}
9489e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1);
9490e5c31af7Sopenharmony_ci				${OUTPUT}
9491e5c31af7Sopenharmony_ci			}
9492e5c31af7Sopenharmony_ci		""
9493e5c31af7Sopenharmony_ci	end
9494e5c31af7Sopenharmony_ci
9495e5c31af7Sopenharmony_ci	case vec2_ivec2_to_bvec4
9496e5c31af7Sopenharmony_ci		version 300 es
9497e5c31af7Sopenharmony_ci		values
9498e5c31af7Sopenharmony_ci		{
9499e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) ];
9500e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) ];
9501e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(false, true, false, false) | bvec4(true, true, false, true) | bvec4(true, true, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) ];
9502e5c31af7Sopenharmony_ci		}
9503e5c31af7Sopenharmony_ci
9504e5c31af7Sopenharmony_ci		both ""
9505e5c31af7Sopenharmony_ci			#version 300 es
9506e5c31af7Sopenharmony_ci			precision mediump float;
9507e5c31af7Sopenharmony_ci			precision mediump int;
9508e5c31af7Sopenharmony_ci
9509e5c31af7Sopenharmony_ci			${DECLARATIONS}
9510e5c31af7Sopenharmony_ci
9511e5c31af7Sopenharmony_ci			void main()
9512e5c31af7Sopenharmony_ci			{
9513e5c31af7Sopenharmony_ci				${SETUP}
9514e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1);
9515e5c31af7Sopenharmony_ci				${OUTPUT}
9516e5c31af7Sopenharmony_ci			}
9517e5c31af7Sopenharmony_ci		""
9518e5c31af7Sopenharmony_ci	end
9519e5c31af7Sopenharmony_ci
9520e5c31af7Sopenharmony_ci	case vec2_bvec2_to_vec4
9521e5c31af7Sopenharmony_ci		version 300 es
9522e5c31af7Sopenharmony_ci		values
9523e5c31af7Sopenharmony_ci		{
9524e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) ];
9525e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(false, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(true, false) ];
9526e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(-0.75, -0.0322580645161, 0.0, 1.0) | vec4(-32.0, 64.0, 0.0, 0.0) | vec4(1.0, 1.25, 0.0, 0.0) | vec4(0.0, 0.5, 1.0, 1.0) | vec4(-0.5, -2.25, 1.0, 0.0) ];
9527e5c31af7Sopenharmony_ci		}
9528e5c31af7Sopenharmony_ci
9529e5c31af7Sopenharmony_ci		both ""
9530e5c31af7Sopenharmony_ci			#version 300 es
9531e5c31af7Sopenharmony_ci			precision mediump float;
9532e5c31af7Sopenharmony_ci			precision mediump int;
9533e5c31af7Sopenharmony_ci
9534e5c31af7Sopenharmony_ci			${DECLARATIONS}
9535e5c31af7Sopenharmony_ci
9536e5c31af7Sopenharmony_ci			void main()
9537e5c31af7Sopenharmony_ci			{
9538e5c31af7Sopenharmony_ci				${SETUP}
9539e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1);
9540e5c31af7Sopenharmony_ci				${OUTPUT}
9541e5c31af7Sopenharmony_ci			}
9542e5c31af7Sopenharmony_ci		""
9543e5c31af7Sopenharmony_ci	end
9544e5c31af7Sopenharmony_ci
9545e5c31af7Sopenharmony_ci	case vec2_bvec2_to_ivec4
9546e5c31af7Sopenharmony_ci		version 300 es
9547e5c31af7Sopenharmony_ci		values
9548e5c31af7Sopenharmony_ci		{
9549e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) ];
9550e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(false, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(true, false) ];
9551e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(0, 0, 0, 1) | ivec4(-32, 64, 0, 0) | ivec4(1, 1, 0, 0) | ivec4(0, 0, 1, 1) | ivec4(0, -2, 1, 0) ];
9552e5c31af7Sopenharmony_ci		}
9553e5c31af7Sopenharmony_ci
9554e5c31af7Sopenharmony_ci		both ""
9555e5c31af7Sopenharmony_ci			#version 300 es
9556e5c31af7Sopenharmony_ci			precision mediump float;
9557e5c31af7Sopenharmony_ci			precision mediump int;
9558e5c31af7Sopenharmony_ci
9559e5c31af7Sopenharmony_ci			${DECLARATIONS}
9560e5c31af7Sopenharmony_ci
9561e5c31af7Sopenharmony_ci			void main()
9562e5c31af7Sopenharmony_ci			{
9563e5c31af7Sopenharmony_ci				${SETUP}
9564e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1);
9565e5c31af7Sopenharmony_ci				${OUTPUT}
9566e5c31af7Sopenharmony_ci			}
9567e5c31af7Sopenharmony_ci		""
9568e5c31af7Sopenharmony_ci	end
9569e5c31af7Sopenharmony_ci
9570e5c31af7Sopenharmony_ci	case vec2_bvec2_to_bvec4
9571e5c31af7Sopenharmony_ci		version 300 es
9572e5c31af7Sopenharmony_ci		values
9573e5c31af7Sopenharmony_ci		{
9574e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) ];
9575e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(false, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(true, false) ];
9576e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, true, false, true) | bvec4(true, true, false, false) | bvec4(true, true, false, false) | bvec4(false, true, true, true) | bvec4(true, true, true, false) ];
9577e5c31af7Sopenharmony_ci		}
9578e5c31af7Sopenharmony_ci
9579e5c31af7Sopenharmony_ci		both ""
9580e5c31af7Sopenharmony_ci			#version 300 es
9581e5c31af7Sopenharmony_ci			precision mediump float;
9582e5c31af7Sopenharmony_ci			precision mediump int;
9583e5c31af7Sopenharmony_ci
9584e5c31af7Sopenharmony_ci			${DECLARATIONS}
9585e5c31af7Sopenharmony_ci
9586e5c31af7Sopenharmony_ci			void main()
9587e5c31af7Sopenharmony_ci			{
9588e5c31af7Sopenharmony_ci				${SETUP}
9589e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1);
9590e5c31af7Sopenharmony_ci				${OUTPUT}
9591e5c31af7Sopenharmony_ci			}
9592e5c31af7Sopenharmony_ci		""
9593e5c31af7Sopenharmony_ci	end
9594e5c31af7Sopenharmony_ci
9595e5c31af7Sopenharmony_ci	case bvec3_float_to_vec4
9596e5c31af7Sopenharmony_ci		version 300 es
9597e5c31af7Sopenharmony_ci		values
9598e5c31af7Sopenharmony_ci		{
9599e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, false, false) | bvec3(false, true, false) ];
9600e5c31af7Sopenharmony_ci			input float in1 = [ -0.5 | 3.5 | 2.0 | 0.0 | -8.25 | 1.0 | 36.8125 | -20.125 ];
9601e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(1.0, 0.0, 0.0, -0.5) | vec4(0.0, 0.0, 0.0, 3.5) | vec4(0.0, 1.0, 0.0, 2.0) | vec4(1.0, 1.0, 1.0, 0.0) | vec4(0.0, 0.0, 0.0, -8.25) | vec4(0.0, 0.0, 0.0, 1.0) | vec4(1.0, 0.0, 0.0, 36.8125) | vec4(0.0, 1.0, 0.0, -20.125) ];
9602e5c31af7Sopenharmony_ci		}
9603e5c31af7Sopenharmony_ci
9604e5c31af7Sopenharmony_ci		both ""
9605e5c31af7Sopenharmony_ci			#version 300 es
9606e5c31af7Sopenharmony_ci			precision mediump float;
9607e5c31af7Sopenharmony_ci			precision mediump int;
9608e5c31af7Sopenharmony_ci
9609e5c31af7Sopenharmony_ci			${DECLARATIONS}
9610e5c31af7Sopenharmony_ci
9611e5c31af7Sopenharmony_ci			void main()
9612e5c31af7Sopenharmony_ci			{
9613e5c31af7Sopenharmony_ci				${SETUP}
9614e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1);
9615e5c31af7Sopenharmony_ci				${OUTPUT}
9616e5c31af7Sopenharmony_ci			}
9617e5c31af7Sopenharmony_ci		""
9618e5c31af7Sopenharmony_ci	end
9619e5c31af7Sopenharmony_ci
9620e5c31af7Sopenharmony_ci	case bvec3_float_to_ivec4
9621e5c31af7Sopenharmony_ci		version 300 es
9622e5c31af7Sopenharmony_ci		values
9623e5c31af7Sopenharmony_ci		{
9624e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, false, false) | bvec3(false, true, false) ];
9625e5c31af7Sopenharmony_ci			input float in1 = [ -0.5 | 3.5 | 2.0 | 0.0 | -8.25 | 1.0 | 36.8125 | -20.125 ];
9626e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(1, 0, 0, 0) | ivec4(0, 0, 0, 3) | ivec4(0, 1, 0, 2) | ivec4(1, 1, 1, 0) | ivec4(0, 0, 0, -8) | ivec4(0, 0, 0, 1) | ivec4(1, 0, 0, 36) | ivec4(0, 1, 0, -20) ];
9627e5c31af7Sopenharmony_ci		}
9628e5c31af7Sopenharmony_ci
9629e5c31af7Sopenharmony_ci		both ""
9630e5c31af7Sopenharmony_ci			#version 300 es
9631e5c31af7Sopenharmony_ci			precision mediump float;
9632e5c31af7Sopenharmony_ci			precision mediump int;
9633e5c31af7Sopenharmony_ci
9634e5c31af7Sopenharmony_ci			${DECLARATIONS}
9635e5c31af7Sopenharmony_ci
9636e5c31af7Sopenharmony_ci			void main()
9637e5c31af7Sopenharmony_ci			{
9638e5c31af7Sopenharmony_ci				${SETUP}
9639e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1);
9640e5c31af7Sopenharmony_ci				${OUTPUT}
9641e5c31af7Sopenharmony_ci			}
9642e5c31af7Sopenharmony_ci		""
9643e5c31af7Sopenharmony_ci	end
9644e5c31af7Sopenharmony_ci
9645e5c31af7Sopenharmony_ci	case bvec3_float_to_bvec4
9646e5c31af7Sopenharmony_ci		version 300 es
9647e5c31af7Sopenharmony_ci		values
9648e5c31af7Sopenharmony_ci		{
9649e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, false, false) | bvec3(false, true, false) ];
9650e5c31af7Sopenharmony_ci			input float in1 = [ -0.5 | 3.5 | 2.0 | 0.0 | -8.25 | 1.0 | 36.8125 | -20.125 ];
9651e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, true) | bvec4(true, true, true, false) | bvec4(false, false, false, true) | bvec4(false, false, false, true) | bvec4(true, false, false, true) | bvec4(false, true, false, true) ];
9652e5c31af7Sopenharmony_ci		}
9653e5c31af7Sopenharmony_ci
9654e5c31af7Sopenharmony_ci		both ""
9655e5c31af7Sopenharmony_ci			#version 300 es
9656e5c31af7Sopenharmony_ci			precision mediump float;
9657e5c31af7Sopenharmony_ci			precision mediump int;
9658e5c31af7Sopenharmony_ci
9659e5c31af7Sopenharmony_ci			${DECLARATIONS}
9660e5c31af7Sopenharmony_ci
9661e5c31af7Sopenharmony_ci			void main()
9662e5c31af7Sopenharmony_ci			{
9663e5c31af7Sopenharmony_ci				${SETUP}
9664e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1);
9665e5c31af7Sopenharmony_ci				${OUTPUT}
9666e5c31af7Sopenharmony_ci			}
9667e5c31af7Sopenharmony_ci		""
9668e5c31af7Sopenharmony_ci	end
9669e5c31af7Sopenharmony_ci
9670e5c31af7Sopenharmony_ci	case vec3_float_to_vec4
9671e5c31af7Sopenharmony_ci		version 300 es
9672e5c31af7Sopenharmony_ci		values
9673e5c31af7Sopenharmony_ci		{
9674e5c31af7Sopenharmony_ci			input vec3 in0 = [ vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | 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) ];
9675e5c31af7Sopenharmony_ci			input float in1 = [ -0.5 | 0.0 | 3.5 | -20.125 | 2.0 | -8.25 | 1.0 | 36.8125 ];
9676e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(-32.0, 64.0, -51.0, -0.5) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.0) | vec4(1.0, 1.25, 1.125, 3.5) | vec4(-0.5, -2.25, -4.875, -20.125) | vec4(0.0, 0.5, 0.75, 2.0) | vec4(-0.5, -2.25, -4.875, -8.25) | vec4(0.0, 0.5, 0.75, 1.0) | vec4(1.0, 1.25, 1.125, 36.8125) ];
9677e5c31af7Sopenharmony_ci		}
9678e5c31af7Sopenharmony_ci
9679e5c31af7Sopenharmony_ci		both ""
9680e5c31af7Sopenharmony_ci			#version 300 es
9681e5c31af7Sopenharmony_ci			precision mediump float;
9682e5c31af7Sopenharmony_ci			precision mediump int;
9683e5c31af7Sopenharmony_ci
9684e5c31af7Sopenharmony_ci			${DECLARATIONS}
9685e5c31af7Sopenharmony_ci
9686e5c31af7Sopenharmony_ci			void main()
9687e5c31af7Sopenharmony_ci			{
9688e5c31af7Sopenharmony_ci				${SETUP}
9689e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1);
9690e5c31af7Sopenharmony_ci				${OUTPUT}
9691e5c31af7Sopenharmony_ci			}
9692e5c31af7Sopenharmony_ci		""
9693e5c31af7Sopenharmony_ci	end
9694e5c31af7Sopenharmony_ci
9695e5c31af7Sopenharmony_ci	case vec3_float_to_ivec4
9696e5c31af7Sopenharmony_ci		version 300 es
9697e5c31af7Sopenharmony_ci		values
9698e5c31af7Sopenharmony_ci		{
9699e5c31af7Sopenharmony_ci			input vec3 in0 = [ vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | 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) ];
9700e5c31af7Sopenharmony_ci			input float in1 = [ -0.5 | 0.0 | 3.5 | -20.125 | 2.0 | -8.25 | 1.0 | 36.8125 ];
9701e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(-32, 64, -51, 0) | ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 3) | ivec4(0, -2, -4, -20) | ivec4(0, 0, 0, 2) | ivec4(0, -2, -4, -8) | ivec4(0, 0, 0, 1) | ivec4(1, 1, 1, 36) ];
9702e5c31af7Sopenharmony_ci		}
9703e5c31af7Sopenharmony_ci
9704e5c31af7Sopenharmony_ci		both ""
9705e5c31af7Sopenharmony_ci			#version 300 es
9706e5c31af7Sopenharmony_ci			precision mediump float;
9707e5c31af7Sopenharmony_ci			precision mediump int;
9708e5c31af7Sopenharmony_ci
9709e5c31af7Sopenharmony_ci			${DECLARATIONS}
9710e5c31af7Sopenharmony_ci
9711e5c31af7Sopenharmony_ci			void main()
9712e5c31af7Sopenharmony_ci			{
9713e5c31af7Sopenharmony_ci				${SETUP}
9714e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1);
9715e5c31af7Sopenharmony_ci				${OUTPUT}
9716e5c31af7Sopenharmony_ci			}
9717e5c31af7Sopenharmony_ci		""
9718e5c31af7Sopenharmony_ci	end
9719e5c31af7Sopenharmony_ci
9720e5c31af7Sopenharmony_ci	case vec3_float_to_bvec4
9721e5c31af7Sopenharmony_ci		version 300 es
9722e5c31af7Sopenharmony_ci		values
9723e5c31af7Sopenharmony_ci		{
9724e5c31af7Sopenharmony_ci			input vec3 in0 = [ vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | 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) ];
9725e5c31af7Sopenharmony_ci			input float in1 = [ -0.5 | 0.0 | 3.5 | -20.125 | 2.0 | -8.25 | 1.0 | 36.8125 ];
9726e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, true, true, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, true, true, true) | bvec4(true, true, true, true) | bvec4(false, true, true, true) | bvec4(true, true, true, true) ];
9727e5c31af7Sopenharmony_ci		}
9728e5c31af7Sopenharmony_ci
9729e5c31af7Sopenharmony_ci		both ""
9730e5c31af7Sopenharmony_ci			#version 300 es
9731e5c31af7Sopenharmony_ci			precision mediump float;
9732e5c31af7Sopenharmony_ci			precision mediump int;
9733e5c31af7Sopenharmony_ci
9734e5c31af7Sopenharmony_ci			${DECLARATIONS}
9735e5c31af7Sopenharmony_ci
9736e5c31af7Sopenharmony_ci			void main()
9737e5c31af7Sopenharmony_ci			{
9738e5c31af7Sopenharmony_ci				${SETUP}
9739e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1);
9740e5c31af7Sopenharmony_ci				${OUTPUT}
9741e5c31af7Sopenharmony_ci			}
9742e5c31af7Sopenharmony_ci		""
9743e5c31af7Sopenharmony_ci	end
9744e5c31af7Sopenharmony_ci
9745e5c31af7Sopenharmony_ci	case int_ivec2_int_to_vec4
9746e5c31af7Sopenharmony_ci		version 300 es
9747e5c31af7Sopenharmony_ci		values
9748e5c31af7Sopenharmony_ci		{
9749e5c31af7Sopenharmony_ci			input int in0 = [ -12 | 11 | 8 | 255 | 0 | 1 | -66 | 2 | -192 | 5 ];
9750e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, 0) | ivec2(0, 0) ];
9751e5c31af7Sopenharmony_ci			input int in2 = [ 1 | 11 | 2 | -66 | -192 | 0 | -12 | 255 | 5 | 8 ];
9752e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(-12.0, 0.0, -2.0, 1.0) | vec4(11.0, -32.0, 64.0, 11.0) | vec4(8.0, 0.0, 0.0, 2.0) | vec4(255.0, 0.0, -2.0, -66.0) | vec4(0.0, 1.0, 1.0, -192.0) | vec4(1.0, 0.0, 0.0, 0.0) | vec4(-66.0, -32.0, 64.0, -12.0) | vec4(2.0, 1.0, 1.0, 255.0) | vec4(-192.0, 0.0, 0.0, 5.0) | vec4(5.0, 0.0, 0.0, 8.0) ];
9753e5c31af7Sopenharmony_ci		}
9754e5c31af7Sopenharmony_ci
9755e5c31af7Sopenharmony_ci		both ""
9756e5c31af7Sopenharmony_ci			#version 300 es
9757e5c31af7Sopenharmony_ci			precision mediump float;
9758e5c31af7Sopenharmony_ci			precision mediump int;
9759e5c31af7Sopenharmony_ci
9760e5c31af7Sopenharmony_ci			${DECLARATIONS}
9761e5c31af7Sopenharmony_ci
9762e5c31af7Sopenharmony_ci			void main()
9763e5c31af7Sopenharmony_ci			{
9764e5c31af7Sopenharmony_ci				${SETUP}
9765e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1, in2);
9766e5c31af7Sopenharmony_ci				${OUTPUT}
9767e5c31af7Sopenharmony_ci			}
9768e5c31af7Sopenharmony_ci		""
9769e5c31af7Sopenharmony_ci	end
9770e5c31af7Sopenharmony_ci
9771e5c31af7Sopenharmony_ci	case int_ivec2_int_to_ivec4
9772e5c31af7Sopenharmony_ci		version 300 es
9773e5c31af7Sopenharmony_ci		values
9774e5c31af7Sopenharmony_ci		{
9775e5c31af7Sopenharmony_ci			input int in0 = [ -12 | 11 | 8 | 255 | 0 | 1 | -66 | 2 | -192 | 5 ];
9776e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, 0) | ivec2(0, 0) ];
9777e5c31af7Sopenharmony_ci			input int in2 = [ 1 | 11 | 2 | -66 | -192 | 0 | -12 | 255 | 5 | 8 ];
9778e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(-12, 0, -2, 1) | ivec4(11, -32, 64, 11) | ivec4(8, 0, 0, 2) | ivec4(255, 0, -2, -66) | ivec4(0, 1, 1, -192) | ivec4(1, 0, 0, 0) | ivec4(-66, -32, 64, -12) | ivec4(2, 1, 1, 255) | ivec4(-192, 0, 0, 5) | ivec4(5, 0, 0, 8) ];
9779e5c31af7Sopenharmony_ci		}
9780e5c31af7Sopenharmony_ci
9781e5c31af7Sopenharmony_ci		both ""
9782e5c31af7Sopenharmony_ci			#version 300 es
9783e5c31af7Sopenharmony_ci			precision mediump float;
9784e5c31af7Sopenharmony_ci			precision mediump int;
9785e5c31af7Sopenharmony_ci
9786e5c31af7Sopenharmony_ci			${DECLARATIONS}
9787e5c31af7Sopenharmony_ci
9788e5c31af7Sopenharmony_ci			void main()
9789e5c31af7Sopenharmony_ci			{
9790e5c31af7Sopenharmony_ci				${SETUP}
9791e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1, in2);
9792e5c31af7Sopenharmony_ci				${OUTPUT}
9793e5c31af7Sopenharmony_ci			}
9794e5c31af7Sopenharmony_ci		""
9795e5c31af7Sopenharmony_ci	end
9796e5c31af7Sopenharmony_ci
9797e5c31af7Sopenharmony_ci	case int_ivec2_int_to_bvec4
9798e5c31af7Sopenharmony_ci		version 300 es
9799e5c31af7Sopenharmony_ci		values
9800e5c31af7Sopenharmony_ci		{
9801e5c31af7Sopenharmony_ci			input int in0 = [ -12 | 11 | 8 | 255 | 0 | 1 | -66 | 2 | -192 | 5 ];
9802e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, 0) | ivec2(0, 0) ];
9803e5c31af7Sopenharmony_ci			input int in2 = [ 1 | 11 | 2 | -66 | -192 | 0 | -12 | 255 | 5 | 8 ];
9804e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(true, true, true, true) | bvec4(true, false, false, true) | bvec4(true, false, true, true) | bvec4(false, true, true, true) | bvec4(true, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, false, false, true) | bvec4(true, false, false, true) ];
9805e5c31af7Sopenharmony_ci		}
9806e5c31af7Sopenharmony_ci
9807e5c31af7Sopenharmony_ci		both ""
9808e5c31af7Sopenharmony_ci			#version 300 es
9809e5c31af7Sopenharmony_ci			precision mediump float;
9810e5c31af7Sopenharmony_ci			precision mediump int;
9811e5c31af7Sopenharmony_ci
9812e5c31af7Sopenharmony_ci			${DECLARATIONS}
9813e5c31af7Sopenharmony_ci
9814e5c31af7Sopenharmony_ci			void main()
9815e5c31af7Sopenharmony_ci			{
9816e5c31af7Sopenharmony_ci				${SETUP}
9817e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1, in2);
9818e5c31af7Sopenharmony_ci				${OUTPUT}
9819e5c31af7Sopenharmony_ci			}
9820e5c31af7Sopenharmony_ci		""
9821e5c31af7Sopenharmony_ci	end
9822e5c31af7Sopenharmony_ci
9823e5c31af7Sopenharmony_ci	case bool_float_ivec2_to_vec4
9824e5c31af7Sopenharmony_ci		version 300 es
9825e5c31af7Sopenharmony_ci		values
9826e5c31af7Sopenharmony_ci		{
9827e5c31af7Sopenharmony_ci			input bool in0 = [ true | false | false | false | true | true | true | false ];
9828e5c31af7Sopenharmony_ci			input float in1 = [ 1.0 | 0.0 | 2.0 | 3.5 | -20.125 | -0.5 | 36.8125 | -8.25 ];
9829e5c31af7Sopenharmony_ci			input ivec2 in2 = [ ivec2(1, 1) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) ];
9830e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(1.0, 1.0, 1.0, 1.0) | vec4(0.0, 0.0, -32.0, 64.0) | vec4(0.0, 2.0, 0.0, 0.0) | vec4(0.0, 3.5, 0.0, 0.0) | vec4(1.0, -20.125, 0.0, -2.0) | vec4(1.0, -0.5, 0.0, -2.0) | vec4(1.0, 36.8125, 0.0, 0.0) | vec4(0.0, -8.25, 1.0, 1.0) ];
9831e5c31af7Sopenharmony_ci		}
9832e5c31af7Sopenharmony_ci
9833e5c31af7Sopenharmony_ci		both ""
9834e5c31af7Sopenharmony_ci			#version 300 es
9835e5c31af7Sopenharmony_ci			precision mediump float;
9836e5c31af7Sopenharmony_ci			precision mediump int;
9837e5c31af7Sopenharmony_ci
9838e5c31af7Sopenharmony_ci			${DECLARATIONS}
9839e5c31af7Sopenharmony_ci
9840e5c31af7Sopenharmony_ci			void main()
9841e5c31af7Sopenharmony_ci			{
9842e5c31af7Sopenharmony_ci				${SETUP}
9843e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1, in2);
9844e5c31af7Sopenharmony_ci				${OUTPUT}
9845e5c31af7Sopenharmony_ci			}
9846e5c31af7Sopenharmony_ci		""
9847e5c31af7Sopenharmony_ci	end
9848e5c31af7Sopenharmony_ci
9849e5c31af7Sopenharmony_ci	case bool_float_ivec2_to_ivec4
9850e5c31af7Sopenharmony_ci		version 300 es
9851e5c31af7Sopenharmony_ci		values
9852e5c31af7Sopenharmony_ci		{
9853e5c31af7Sopenharmony_ci			input bool in0 = [ true | false | false | false | true | true | true | false ];
9854e5c31af7Sopenharmony_ci			input float in1 = [ 1.0 | 0.0 | 2.0 | 3.5 | -20.125 | -0.5 | 36.8125 | -8.25 ];
9855e5c31af7Sopenharmony_ci			input ivec2 in2 = [ ivec2(1, 1) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) ];
9856e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(1, 1, 1, 1) | ivec4(0, 0, -32, 64) | ivec4(0, 2, 0, 0) | ivec4(0, 3, 0, 0) | ivec4(1, -20, 0, -2) | ivec4(1, 0, 0, -2) | ivec4(1, 36, 0, 0) | ivec4(0, -8, 1, 1) ];
9857e5c31af7Sopenharmony_ci		}
9858e5c31af7Sopenharmony_ci
9859e5c31af7Sopenharmony_ci		both ""
9860e5c31af7Sopenharmony_ci			#version 300 es
9861e5c31af7Sopenharmony_ci			precision mediump float;
9862e5c31af7Sopenharmony_ci			precision mediump int;
9863e5c31af7Sopenharmony_ci
9864e5c31af7Sopenharmony_ci			${DECLARATIONS}
9865e5c31af7Sopenharmony_ci
9866e5c31af7Sopenharmony_ci			void main()
9867e5c31af7Sopenharmony_ci			{
9868e5c31af7Sopenharmony_ci				${SETUP}
9869e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1, in2);
9870e5c31af7Sopenharmony_ci				${OUTPUT}
9871e5c31af7Sopenharmony_ci			}
9872e5c31af7Sopenharmony_ci		""
9873e5c31af7Sopenharmony_ci	end
9874e5c31af7Sopenharmony_ci
9875e5c31af7Sopenharmony_ci	case bool_float_ivec2_to_bvec4
9876e5c31af7Sopenharmony_ci		version 300 es
9877e5c31af7Sopenharmony_ci		values
9878e5c31af7Sopenharmony_ci		{
9879e5c31af7Sopenharmony_ci			input bool in0 = [ true | false | false | false | true | true | true | false ];
9880e5c31af7Sopenharmony_ci			input float in1 = [ 1.0 | 0.0 | 2.0 | 3.5 | -20.125 | -0.5 | 36.8125 | -8.25 ];
9881e5c31af7Sopenharmony_ci			input ivec2 in2 = [ ivec2(1, 1) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) ];
9882e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(false, false, true, true) | bvec4(false, true, false, false) | bvec4(false, true, false, false) | bvec4(true, true, false, true) | bvec4(true, true, false, true) | bvec4(true, true, false, false) | bvec4(false, true, true, true) ];
9883e5c31af7Sopenharmony_ci		}
9884e5c31af7Sopenharmony_ci
9885e5c31af7Sopenharmony_ci		both ""
9886e5c31af7Sopenharmony_ci			#version 300 es
9887e5c31af7Sopenharmony_ci			precision mediump float;
9888e5c31af7Sopenharmony_ci			precision mediump int;
9889e5c31af7Sopenharmony_ci
9890e5c31af7Sopenharmony_ci			${DECLARATIONS}
9891e5c31af7Sopenharmony_ci
9892e5c31af7Sopenharmony_ci			void main()
9893e5c31af7Sopenharmony_ci			{
9894e5c31af7Sopenharmony_ci				${SETUP}
9895e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1, in2);
9896e5c31af7Sopenharmony_ci				${OUTPUT}
9897e5c31af7Sopenharmony_ci			}
9898e5c31af7Sopenharmony_ci		""
9899e5c31af7Sopenharmony_ci	end
9900e5c31af7Sopenharmony_ci
9901e5c31af7Sopenharmony_ci	case float_uvec3_to_vec4
9902e5c31af7Sopenharmony_ci		version 300 es
9903e5c31af7Sopenharmony_ci		values
9904e5c31af7Sopenharmony_ci		{
9905e5c31af7Sopenharmony_ci			input float in0 = [ 1.0 | -20.125 | -8.25 | -0.5 | 0.0 | 2.0 | 3.5 | 36.8125 ];
9906e5c31af7Sopenharmony_ci			input uvec3 in1 = [ uvec3(0, 0, 0) | uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) ];
9907e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(1.0, 0.0, 0.0, 0.0) | vec4(-20.125, 0.0, 0.0, 0.0) | vec4(-8.25, 1.0, 1.0, 1.0) | vec4(-0.5, 0.0, 2.0, 4.0) | vec4(0.0, 0.0, 0.0, 0.0) | vec4(2.0, 1.0, 1.0, 1.0) | vec4(3.5, 0.0, 2.0, 4.0) | vec4(36.8125, 32.0, 64.0, 51.0) ];
9908e5c31af7Sopenharmony_ci		}
9909e5c31af7Sopenharmony_ci
9910e5c31af7Sopenharmony_ci		both ""
9911e5c31af7Sopenharmony_ci			#version 300 es
9912e5c31af7Sopenharmony_ci			precision mediump float;
9913e5c31af7Sopenharmony_ci			precision mediump int;
9914e5c31af7Sopenharmony_ci
9915e5c31af7Sopenharmony_ci			${DECLARATIONS}
9916e5c31af7Sopenharmony_ci
9917e5c31af7Sopenharmony_ci			void main()
9918e5c31af7Sopenharmony_ci			{
9919e5c31af7Sopenharmony_ci				${SETUP}
9920e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1);
9921e5c31af7Sopenharmony_ci				${OUTPUT}
9922e5c31af7Sopenharmony_ci			}
9923e5c31af7Sopenharmony_ci		""
9924e5c31af7Sopenharmony_ci	end
9925e5c31af7Sopenharmony_ci
9926e5c31af7Sopenharmony_ci	case float_uvec3_to_ivec4
9927e5c31af7Sopenharmony_ci		version 300 es
9928e5c31af7Sopenharmony_ci		values
9929e5c31af7Sopenharmony_ci		{
9930e5c31af7Sopenharmony_ci			input float in0 = [ 1.0 | -20.125 | -8.25 | -0.5 | 0.0 | 2.0 | 3.5 | 36.8125 ];
9931e5c31af7Sopenharmony_ci			input uvec3 in1 = [ uvec3(0, 0, 0) | uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) ];
9932e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(1, 0, 0, 0) | ivec4(-20, 0, 0, 0) | ivec4(-8, 1, 1, 1) | ivec4(0, 0, 2, 4) | ivec4(0, 0, 0, 0) | ivec4(2, 1, 1, 1) | ivec4(3, 0, 2, 4) | ivec4(36, 32, 64, 51) ];
9933e5c31af7Sopenharmony_ci		}
9934e5c31af7Sopenharmony_ci
9935e5c31af7Sopenharmony_ci		both ""
9936e5c31af7Sopenharmony_ci			#version 300 es
9937e5c31af7Sopenharmony_ci			precision mediump float;
9938e5c31af7Sopenharmony_ci			precision mediump int;
9939e5c31af7Sopenharmony_ci
9940e5c31af7Sopenharmony_ci			${DECLARATIONS}
9941e5c31af7Sopenharmony_ci
9942e5c31af7Sopenharmony_ci			void main()
9943e5c31af7Sopenharmony_ci			{
9944e5c31af7Sopenharmony_ci				${SETUP}
9945e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1);
9946e5c31af7Sopenharmony_ci				${OUTPUT}
9947e5c31af7Sopenharmony_ci			}
9948e5c31af7Sopenharmony_ci		""
9949e5c31af7Sopenharmony_ci	end
9950e5c31af7Sopenharmony_ci
9951e5c31af7Sopenharmony_ci	case float_uvec3_to_bvec4
9952e5c31af7Sopenharmony_ci		version 300 es
9953e5c31af7Sopenharmony_ci		values
9954e5c31af7Sopenharmony_ci		{
9955e5c31af7Sopenharmony_ci			input float in0 = [ 1.0 | -20.125 | -8.25 | -0.5 | 0.0 | 2.0 | 3.5 | 36.8125 ];
9956e5c31af7Sopenharmony_ci			input uvec3 in1 = [ uvec3(0, 0, 0) | uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) ];
9957e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, false, false, false) | bvec4(true, false, false, false) | bvec4(true, true, true, true) | bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, false, true, true) | bvec4(true, true, true, true) ];
9958e5c31af7Sopenharmony_ci		}
9959e5c31af7Sopenharmony_ci
9960e5c31af7Sopenharmony_ci		both ""
9961e5c31af7Sopenharmony_ci			#version 300 es
9962e5c31af7Sopenharmony_ci			precision mediump float;
9963e5c31af7Sopenharmony_ci			precision mediump int;
9964e5c31af7Sopenharmony_ci
9965e5c31af7Sopenharmony_ci			${DECLARATIONS}
9966e5c31af7Sopenharmony_ci
9967e5c31af7Sopenharmony_ci			void main()
9968e5c31af7Sopenharmony_ci			{
9969e5c31af7Sopenharmony_ci				${SETUP}
9970e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1);
9971e5c31af7Sopenharmony_ci				${OUTPUT}
9972e5c31af7Sopenharmony_ci			}
9973e5c31af7Sopenharmony_ci		""
9974e5c31af7Sopenharmony_ci	end
9975e5c31af7Sopenharmony_ci
9976e5c31af7Sopenharmony_ci	case int_uvec2_bool_to_vec4
9977e5c31af7Sopenharmony_ci		version 300 es
9978e5c31af7Sopenharmony_ci		values
9979e5c31af7Sopenharmony_ci		{
9980e5c31af7Sopenharmony_ci			input int in0 = [ 1 | -192 | -66 | -12 | 0 | 2 | 11 | 8 | 255 | 5 ];
9981e5c31af7Sopenharmony_ci			input uvec2 in1 = [ uvec2(0, 2) | uvec2(1, 1) | uvec2(0, 0) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) | uvec2(32, 64) | uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 0) ];
9982e5c31af7Sopenharmony_ci			input bool in2 = [ false | false | true | true | true | true | true | false | false | false ];
9983e5c31af7Sopenharmony_ci			output vec4 out0 = [ vec4(1.0, 0.0, 2.0, 0.0) | vec4(-192.0, 1.0, 1.0, 0.0) | vec4(-66.0, 0.0, 0.0, 1.0) | vec4(-12.0, 0.0, 2.0, 1.0) | vec4(0.0, 32.0, 64.0, 1.0) | vec4(2.0, 0.0, 0.0, 1.0) | vec4(11.0, 32.0, 64.0, 1.0) | vec4(8.0, 0.0, 0.0, 0.0) | vec4(255.0, 1.0, 1.0, 0.0) | vec4(5.0, 0.0, 0.0, 0.0) ];
9984e5c31af7Sopenharmony_ci		}
9985e5c31af7Sopenharmony_ci
9986e5c31af7Sopenharmony_ci		both ""
9987e5c31af7Sopenharmony_ci			#version 300 es
9988e5c31af7Sopenharmony_ci			precision mediump float;
9989e5c31af7Sopenharmony_ci			precision mediump int;
9990e5c31af7Sopenharmony_ci
9991e5c31af7Sopenharmony_ci			${DECLARATIONS}
9992e5c31af7Sopenharmony_ci
9993e5c31af7Sopenharmony_ci			void main()
9994e5c31af7Sopenharmony_ci			{
9995e5c31af7Sopenharmony_ci				${SETUP}
9996e5c31af7Sopenharmony_ci				out0 = vec4(in0, in1, in2);
9997e5c31af7Sopenharmony_ci				${OUTPUT}
9998e5c31af7Sopenharmony_ci			}
9999e5c31af7Sopenharmony_ci		""
10000e5c31af7Sopenharmony_ci	end
10001e5c31af7Sopenharmony_ci
10002e5c31af7Sopenharmony_ci	case int_uvec2_bool_to_ivec4
10003e5c31af7Sopenharmony_ci		version 300 es
10004e5c31af7Sopenharmony_ci		values
10005e5c31af7Sopenharmony_ci		{
10006e5c31af7Sopenharmony_ci			input int in0 = [ 1 | -192 | -66 | -12 | 0 | 2 | 11 | 8 | 255 | 5 ];
10007e5c31af7Sopenharmony_ci			input uvec2 in1 = [ uvec2(0, 2) | uvec2(1, 1) | uvec2(0, 0) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) | uvec2(32, 64) | uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 0) ];
10008e5c31af7Sopenharmony_ci			input bool in2 = [ false | false | true | true | true | true | true | false | false | false ];
10009e5c31af7Sopenharmony_ci			output ivec4 out0 = [ ivec4(1, 0, 2, 0) | ivec4(-192, 1, 1, 0) | ivec4(-66, 0, 0, 1) | ivec4(-12, 0, 2, 1) | ivec4(0, 32, 64, 1) | ivec4(2, 0, 0, 1) | ivec4(11, 32, 64, 1) | ivec4(8, 0, 0, 0) | ivec4(255, 1, 1, 0) | ivec4(5, 0, 0, 0) ];
10010e5c31af7Sopenharmony_ci		}
10011e5c31af7Sopenharmony_ci
10012e5c31af7Sopenharmony_ci		both ""
10013e5c31af7Sopenharmony_ci			#version 300 es
10014e5c31af7Sopenharmony_ci			precision mediump float;
10015e5c31af7Sopenharmony_ci			precision mediump int;
10016e5c31af7Sopenharmony_ci
10017e5c31af7Sopenharmony_ci			${DECLARATIONS}
10018e5c31af7Sopenharmony_ci
10019e5c31af7Sopenharmony_ci			void main()
10020e5c31af7Sopenharmony_ci			{
10021e5c31af7Sopenharmony_ci				${SETUP}
10022e5c31af7Sopenharmony_ci				out0 = ivec4(in0, in1, in2);
10023e5c31af7Sopenharmony_ci				${OUTPUT}
10024e5c31af7Sopenharmony_ci			}
10025e5c31af7Sopenharmony_ci		""
10026e5c31af7Sopenharmony_ci	end
10027e5c31af7Sopenharmony_ci
10028e5c31af7Sopenharmony_ci	case int_uvec2_bool_to_bvec4
10029e5c31af7Sopenharmony_ci		version 300 es
10030e5c31af7Sopenharmony_ci		values
10031e5c31af7Sopenharmony_ci		{
10032e5c31af7Sopenharmony_ci			input int in0 = [ 1 | -192 | -66 | -12 | 0 | 2 | 11 | 8 | 255 | 5 ];
10033e5c31af7Sopenharmony_ci			input uvec2 in1 = [ uvec2(0, 2) | uvec2(1, 1) | uvec2(0, 0) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) | uvec2(32, 64) | uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 0) ];
10034e5c31af7Sopenharmony_ci			input bool in2 = [ false | false | true | true | true | true | true | false | false | false ];
10035e5c31af7Sopenharmony_ci			output bvec4 out0 = [ bvec4(true, false, true, false) | bvec4(true, true, true, false) | bvec4(true, false, false, true) | bvec4(true, false, true, true) | bvec4(false, true, true, true) | bvec4(true, false, false, true) | bvec4(true, true, true, true) | bvec4(true, false, false, false) | bvec4(true, true, true, false) | bvec4(true, false, false, false) ];
10036e5c31af7Sopenharmony_ci		}
10037e5c31af7Sopenharmony_ci
10038e5c31af7Sopenharmony_ci		both ""
10039e5c31af7Sopenharmony_ci			#version 300 es
10040e5c31af7Sopenharmony_ci			precision mediump float;
10041e5c31af7Sopenharmony_ci			precision mediump int;
10042e5c31af7Sopenharmony_ci
10043e5c31af7Sopenharmony_ci			${DECLARATIONS}
10044e5c31af7Sopenharmony_ci
10045e5c31af7Sopenharmony_ci			void main()
10046e5c31af7Sopenharmony_ci			{
10047e5c31af7Sopenharmony_ci				${SETUP}
10048e5c31af7Sopenharmony_ci				out0 = bvec4(in0, in1, in2);
10049e5c31af7Sopenharmony_ci				${OUTPUT}
10050e5c31af7Sopenharmony_ci			}
10051e5c31af7Sopenharmony_ci		""
10052e5c31af7Sopenharmony_ci	end
10053e5c31af7Sopenharmony_ci
10054e5c31af7Sopenharmony_ci	case vec2_vec2_to_uvec4
10055e5c31af7Sopenharmony_ci		version 300 es
10056e5c31af7Sopenharmony_ci		values
10057e5c31af7Sopenharmony_ci		{
10058e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(32.0, 64.0) | vec2(0.75, 0.0322580645161) | vec2(0.0, 0.5) | vec2(0.5, 2.25) | vec2(1.0, 1.25) ];
10059e5c31af7Sopenharmony_ci			input vec2 in1 = [ vec2(0.5, 2.25) | vec2(1.0, 1.25) | vec2(32.0, 64.0) | vec2(0.0, 0.5) | vec2(0.75, 0.0322580645161) ];
10060e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(32, 64, 0, 2) | uvec4(0, 0, 1, 1) | uvec4(0, 0, 32, 64) | uvec4(0, 2, 0, 0) | uvec4(1, 1, 0, 0) ];
10061e5c31af7Sopenharmony_ci		}
10062e5c31af7Sopenharmony_ci
10063e5c31af7Sopenharmony_ci		both ""
10064e5c31af7Sopenharmony_ci			#version 300 es
10065e5c31af7Sopenharmony_ci			precision mediump float;
10066e5c31af7Sopenharmony_ci			precision mediump int;
10067e5c31af7Sopenharmony_ci
10068e5c31af7Sopenharmony_ci			${DECLARATIONS}
10069e5c31af7Sopenharmony_ci
10070e5c31af7Sopenharmony_ci			void main()
10071e5c31af7Sopenharmony_ci			{
10072e5c31af7Sopenharmony_ci				${SETUP}
10073e5c31af7Sopenharmony_ci				out0 = uvec4(in0, in1);
10074e5c31af7Sopenharmony_ci				${OUTPUT}
10075e5c31af7Sopenharmony_ci			}
10076e5c31af7Sopenharmony_ci		""
10077e5c31af7Sopenharmony_ci	end
10078e5c31af7Sopenharmony_ci
10079e5c31af7Sopenharmony_ci	case bvec2_bvec2_to_uvec4
10080e5c31af7Sopenharmony_ci		version 300 es
10081e5c31af7Sopenharmony_ci		values
10082e5c31af7Sopenharmony_ci		{
10083e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) | bvec2(false, false) ];
10084e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(true, true) | bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) ];
10085e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(1, 0, 1, 1) | uvec4(0, 1, 0, 0) | uvec4(1, 1, 1, 0) | uvec4(0, 0, 0, 1) | uvec4(0, 0, 0, 0) ];
10086e5c31af7Sopenharmony_ci		}
10087e5c31af7Sopenharmony_ci
10088e5c31af7Sopenharmony_ci		both ""
10089e5c31af7Sopenharmony_ci			#version 300 es
10090e5c31af7Sopenharmony_ci			precision mediump float;
10091e5c31af7Sopenharmony_ci			precision mediump int;
10092e5c31af7Sopenharmony_ci
10093e5c31af7Sopenharmony_ci			${DECLARATIONS}
10094e5c31af7Sopenharmony_ci
10095e5c31af7Sopenharmony_ci			void main()
10096e5c31af7Sopenharmony_ci			{
10097e5c31af7Sopenharmony_ci				${SETUP}
10098e5c31af7Sopenharmony_ci				out0 = uvec4(in0, in1);
10099e5c31af7Sopenharmony_ci				${OUTPUT}
10100e5c31af7Sopenharmony_ci			}
10101e5c31af7Sopenharmony_ci		""
10102e5c31af7Sopenharmony_ci	end
10103e5c31af7Sopenharmony_ci
10104e5c31af7Sopenharmony_ci	case float_float_float_float_to_uvec4
10105e5c31af7Sopenharmony_ci		version 300 es
10106e5c31af7Sopenharmony_ci		values
10107e5c31af7Sopenharmony_ci		{
10108e5c31af7Sopenharmony_ci			input float in0 = [ 2.0 | 36.8125 | 0.0 | 20.125 | 1.0 | 0.5 | 8.25 | 3.5 ];
10109e5c31af7Sopenharmony_ci			input float in1 = [ 1.0 | 8.25 | 2.0 | 20.125 | 36.8125 | 0.0 | 0.5 | 3.5 ];
10110e5c31af7Sopenharmony_ci			input float in2 = [ 0.0 | 8.25 | 2.0 | 1.0 | 36.8125 | 20.125 | 0.5 | 3.5 ];
10111e5c31af7Sopenharmony_ci			input float in3 = [ 1.0 | 8.25 | 0.0 | 2.0 | 20.125 | 3.5 | 0.5 | 36.8125 ];
10112e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(2, 1, 0, 1) | uvec4(36, 8, 8, 8) | uvec4(0, 2, 2, 0) | uvec4(20, 20, 1, 2) | uvec4(1, 36, 36, 20) | uvec4(0, 0, 20, 3) | uvec4(8, 0, 0, 0) | uvec4(3, 3, 3, 36) ];
10113e5c31af7Sopenharmony_ci		}
10114e5c31af7Sopenharmony_ci
10115e5c31af7Sopenharmony_ci		both ""
10116e5c31af7Sopenharmony_ci			#version 300 es
10117e5c31af7Sopenharmony_ci			precision mediump float;
10118e5c31af7Sopenharmony_ci			precision mediump int;
10119e5c31af7Sopenharmony_ci
10120e5c31af7Sopenharmony_ci			${DECLARATIONS}
10121e5c31af7Sopenharmony_ci
10122e5c31af7Sopenharmony_ci			void main()
10123e5c31af7Sopenharmony_ci			{
10124e5c31af7Sopenharmony_ci				${SETUP}
10125e5c31af7Sopenharmony_ci				out0 = uvec4(in0, in1, in2, in3);
10126e5c31af7Sopenharmony_ci				${OUTPUT}
10127e5c31af7Sopenharmony_ci			}
10128e5c31af7Sopenharmony_ci		""
10129e5c31af7Sopenharmony_ci	end
10130e5c31af7Sopenharmony_ci
10131e5c31af7Sopenharmony_ci	case int_int_int_int_to_uvec4
10132e5c31af7Sopenharmony_ci		version 300 es
10133e5c31af7Sopenharmony_ci		values
10134e5c31af7Sopenharmony_ci		{
10135e5c31af7Sopenharmony_ci			input int in0 = [ 192 | 2 | 12 | 11 | 0 | 8 | 5 | 66 | 1 | 255 ];
10136e5c31af7Sopenharmony_ci			input int in1 = [ 66 | 12 | 5 | 1 | 0 | 192 | 8 | 255 | 11 | 2 ];
10137e5c31af7Sopenharmony_ci			input int in2 = [ 192 | 5 | 1 | 66 | 255 | 11 | 8 | 12 | 2 | 0 ];
10138e5c31af7Sopenharmony_ci			input int in3 = [ 255 | 5 | 11 | 12 | 2 | 1 | 66 | 0 | 8 | 192 ];
10139e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(192, 66, 192, 255) | uvec4(2, 12, 5, 5) | uvec4(12, 5, 1, 11) | uvec4(11, 1, 66, 12) | uvec4(0, 0, 255, 2) | uvec4(8, 192, 11, 1) | uvec4(5, 8, 8, 66) | uvec4(66, 255, 12, 0) | uvec4(1, 11, 2, 8) | uvec4(255, 2, 0, 192) ];
10140e5c31af7Sopenharmony_ci		}
10141e5c31af7Sopenharmony_ci
10142e5c31af7Sopenharmony_ci		both ""
10143e5c31af7Sopenharmony_ci			#version 300 es
10144e5c31af7Sopenharmony_ci			precision mediump float;
10145e5c31af7Sopenharmony_ci			precision mediump int;
10146e5c31af7Sopenharmony_ci
10147e5c31af7Sopenharmony_ci			${DECLARATIONS}
10148e5c31af7Sopenharmony_ci
10149e5c31af7Sopenharmony_ci			void main()
10150e5c31af7Sopenharmony_ci			{
10151e5c31af7Sopenharmony_ci				${SETUP}
10152e5c31af7Sopenharmony_ci				out0 = uvec4(in0, in1, in2, in3);
10153e5c31af7Sopenharmony_ci				${OUTPUT}
10154e5c31af7Sopenharmony_ci			}
10155e5c31af7Sopenharmony_ci		""
10156e5c31af7Sopenharmony_ci	end
10157e5c31af7Sopenharmony_ci
10158e5c31af7Sopenharmony_ci	case uint_uint_uint_uint_to_uvec4
10159e5c31af7Sopenharmony_ci		version 300 es
10160e5c31af7Sopenharmony_ci		values
10161e5c31af7Sopenharmony_ci		{
10162e5c31af7Sopenharmony_ci			input uint in0 = [ 255 | 8 | 3 | 193 | 45 | 2 | 0 | 12 | 9 | 10 ];
10163e5c31af7Sopenharmony_ci			input uint in1 = [ 255 | 45 | 0 | 12 | 2 | 10 | 8 | 9 | 193 | 3 ];
10164e5c31af7Sopenharmony_ci			input uint in2 = [ 3 | 0 | 2 | 9 | 12 | 10 | 255 | 45 | 193 | 8 ];
10165e5c31af7Sopenharmony_ci			input uint in3 = [ 2 | 255 | 10 | 193 | 8 | 12 | 3 | 9 | 0 | 45 ];
10166e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(255, 255, 3, 2) | uvec4(8, 45, 0, 255) | uvec4(3, 0, 2, 10) | uvec4(193, 12, 9, 193) | uvec4(45, 2, 12, 8) | uvec4(2, 10, 10, 12) | uvec4(0, 8, 255, 3) | uvec4(12, 9, 45, 9) | uvec4(9, 193, 193, 0) | uvec4(10, 3, 8, 45) ];
10167e5c31af7Sopenharmony_ci		}
10168e5c31af7Sopenharmony_ci
10169e5c31af7Sopenharmony_ci		both ""
10170e5c31af7Sopenharmony_ci			#version 300 es
10171e5c31af7Sopenharmony_ci			precision mediump float;
10172e5c31af7Sopenharmony_ci			precision mediump int;
10173e5c31af7Sopenharmony_ci
10174e5c31af7Sopenharmony_ci			${DECLARATIONS}
10175e5c31af7Sopenharmony_ci
10176e5c31af7Sopenharmony_ci			void main()
10177e5c31af7Sopenharmony_ci			{
10178e5c31af7Sopenharmony_ci				${SETUP}
10179e5c31af7Sopenharmony_ci				out0 = uvec4(in0, in1, in2, in3);
10180e5c31af7Sopenharmony_ci				${OUTPUT}
10181e5c31af7Sopenharmony_ci			}
10182e5c31af7Sopenharmony_ci		""
10183e5c31af7Sopenharmony_ci	end
10184e5c31af7Sopenharmony_ci
10185e5c31af7Sopenharmony_ci	case bool_bool_bool_bool_to_uvec4
10186e5c31af7Sopenharmony_ci		version 300 es
10187e5c31af7Sopenharmony_ci		values
10188e5c31af7Sopenharmony_ci		{
10189e5c31af7Sopenharmony_ci			input bool in0 = [ false | true ];
10190e5c31af7Sopenharmony_ci			input bool in1 = [ false | true ];
10191e5c31af7Sopenharmony_ci			input bool in2 = [ true | false ];
10192e5c31af7Sopenharmony_ci			input bool in3 = [ true | false ];
10193e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(0, 0, 1, 1) | uvec4(1, 1, 0, 0) ];
10194e5c31af7Sopenharmony_ci		}
10195e5c31af7Sopenharmony_ci
10196e5c31af7Sopenharmony_ci		both ""
10197e5c31af7Sopenharmony_ci			#version 300 es
10198e5c31af7Sopenharmony_ci			precision mediump float;
10199e5c31af7Sopenharmony_ci			precision mediump int;
10200e5c31af7Sopenharmony_ci
10201e5c31af7Sopenharmony_ci			${DECLARATIONS}
10202e5c31af7Sopenharmony_ci
10203e5c31af7Sopenharmony_ci			void main()
10204e5c31af7Sopenharmony_ci			{
10205e5c31af7Sopenharmony_ci				${SETUP}
10206e5c31af7Sopenharmony_ci				out0 = uvec4(in0, in1, in2, in3);
10207e5c31af7Sopenharmony_ci				${OUTPUT}
10208e5c31af7Sopenharmony_ci			}
10209e5c31af7Sopenharmony_ci		""
10210e5c31af7Sopenharmony_ci	end
10211e5c31af7Sopenharmony_ci
10212e5c31af7Sopenharmony_ci	case bool_float_int_bool_to_uvec4
10213e5c31af7Sopenharmony_ci		version 300 es
10214e5c31af7Sopenharmony_ci		values
10215e5c31af7Sopenharmony_ci		{
10216e5c31af7Sopenharmony_ci			input bool in0 = [ true | false | false | true | false | true | true | true | false | false ];
10217e5c31af7Sopenharmony_ci			input float in1 = [ 20.125 | 0.0 | 1.0 | 3.5 | 1.0 | 0.0 | 0.5 | 8.25 | 2.0 | 36.8125 ];
10218e5c31af7Sopenharmony_ci			input int in2 = [ 66 | 192 | 1 | 2 | 5 | 11 | 8 | 12 | 255 | 0 ];
10219e5c31af7Sopenharmony_ci			input bool in3 = [ true | true | true | true | false | true | false | false | false | false ];
10220e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(1, 20, 66, 1) | uvec4(0, 0, 192, 1) | uvec4(0, 1, 1, 1) | uvec4(1, 3, 2, 1) | uvec4(0, 1, 5, 0) | uvec4(1, 0, 11, 1) | uvec4(1, 0, 8, 0) | uvec4(1, 8, 12, 0) | uvec4(0, 2, 255, 0) | uvec4(0, 36, 0, 0) ];
10221e5c31af7Sopenharmony_ci		}
10222e5c31af7Sopenharmony_ci
10223e5c31af7Sopenharmony_ci		both ""
10224e5c31af7Sopenharmony_ci			#version 300 es
10225e5c31af7Sopenharmony_ci			precision mediump float;
10226e5c31af7Sopenharmony_ci			precision mediump int;
10227e5c31af7Sopenharmony_ci
10228e5c31af7Sopenharmony_ci			${DECLARATIONS}
10229e5c31af7Sopenharmony_ci
10230e5c31af7Sopenharmony_ci			void main()
10231e5c31af7Sopenharmony_ci			{
10232e5c31af7Sopenharmony_ci				${SETUP}
10233e5c31af7Sopenharmony_ci				out0 = uvec4(in0, in1, in2, in3);
10234e5c31af7Sopenharmony_ci				${OUTPUT}
10235e5c31af7Sopenharmony_ci			}
10236e5c31af7Sopenharmony_ci		""
10237e5c31af7Sopenharmony_ci	end
10238e5c31af7Sopenharmony_ci
10239e5c31af7Sopenharmony_ci	case vec2_ivec2_to_uvec4
10240e5c31af7Sopenharmony_ci		version 300 es
10241e5c31af7Sopenharmony_ci		values
10242e5c31af7Sopenharmony_ci		{
10243e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(0.5, 2.25) | vec2(1.0, 1.25) | vec2(32.0, 64.0) | vec2(0.75, 0.0322580645161) | vec2(0.0, 0.5) ];
10244e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(1, 1) | ivec2(0, 2) | ivec2(32, 64) | ivec2(0, 0) | ivec2(0, 0) ];
10245e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(0, 2, 1, 1) | uvec4(1, 1, 0, 2) | uvec4(32, 64, 32, 64) | uvec4(0, 0, 0, 0) | uvec4(0, 0, 0, 0) ];
10246e5c31af7Sopenharmony_ci		}
10247e5c31af7Sopenharmony_ci
10248e5c31af7Sopenharmony_ci		both ""
10249e5c31af7Sopenharmony_ci			#version 300 es
10250e5c31af7Sopenharmony_ci			precision mediump float;
10251e5c31af7Sopenharmony_ci			precision mediump int;
10252e5c31af7Sopenharmony_ci
10253e5c31af7Sopenharmony_ci			${DECLARATIONS}
10254e5c31af7Sopenharmony_ci
10255e5c31af7Sopenharmony_ci			void main()
10256e5c31af7Sopenharmony_ci			{
10257e5c31af7Sopenharmony_ci				${SETUP}
10258e5c31af7Sopenharmony_ci				out0 = uvec4(in0, in1);
10259e5c31af7Sopenharmony_ci				${OUTPUT}
10260e5c31af7Sopenharmony_ci			}
10261e5c31af7Sopenharmony_ci		""
10262e5c31af7Sopenharmony_ci	end
10263e5c31af7Sopenharmony_ci
10264e5c31af7Sopenharmony_ci	case vec2_bvec2_to_uvec4
10265e5c31af7Sopenharmony_ci		version 300 es
10266e5c31af7Sopenharmony_ci		values
10267e5c31af7Sopenharmony_ci		{
10268e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(32.0, 64.0) | vec2(0.75, 0.0322580645161) | vec2(0.5, 2.25) | vec2(0.0, 0.5) | vec2(1.0, 1.25) ];
10269e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(false, false) | bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(true, true) ];
10270e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(32, 64, 0, 0) | uvec4(0, 0, 0, 0) | uvec4(0, 2, 1, 0) | uvec4(0, 0, 0, 1) | uvec4(1, 1, 1, 1) ];
10271e5c31af7Sopenharmony_ci		}
10272e5c31af7Sopenharmony_ci
10273e5c31af7Sopenharmony_ci		both ""
10274e5c31af7Sopenharmony_ci			#version 300 es
10275e5c31af7Sopenharmony_ci			precision mediump float;
10276e5c31af7Sopenharmony_ci			precision mediump int;
10277e5c31af7Sopenharmony_ci
10278e5c31af7Sopenharmony_ci			${DECLARATIONS}
10279e5c31af7Sopenharmony_ci
10280e5c31af7Sopenharmony_ci			void main()
10281e5c31af7Sopenharmony_ci			{
10282e5c31af7Sopenharmony_ci				${SETUP}
10283e5c31af7Sopenharmony_ci				out0 = uvec4(in0, in1);
10284e5c31af7Sopenharmony_ci				${OUTPUT}
10285e5c31af7Sopenharmony_ci			}
10286e5c31af7Sopenharmony_ci		""
10287e5c31af7Sopenharmony_ci	end
10288e5c31af7Sopenharmony_ci
10289e5c31af7Sopenharmony_ci	case bvec3_float_to_uvec4
10290e5c31af7Sopenharmony_ci		version 300 es
10291e5c31af7Sopenharmony_ci		values
10292e5c31af7Sopenharmony_ci		{
10293e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(true, true, true) | bvec3(false, true, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, false, false) | bvec3(false, false, false) ];
10294e5c31af7Sopenharmony_ci			input float in1 = [ 2.0 | 0.0 | 36.8125 | 0.5 | 1.0 | 8.25 | 3.5 | 20.125 ];
10295e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(1, 0, 0, 2) | uvec4(1, 1, 1, 0) | uvec4(0, 1, 0, 36) | uvec4(0, 0, 0, 0) | uvec4(0, 0, 0, 1) | uvec4(0, 1, 0, 8) | uvec4(1, 0, 0, 3) | uvec4(0, 0, 0, 20) ];
10296e5c31af7Sopenharmony_ci		}
10297e5c31af7Sopenharmony_ci
10298e5c31af7Sopenharmony_ci		both ""
10299e5c31af7Sopenharmony_ci			#version 300 es
10300e5c31af7Sopenharmony_ci			precision mediump float;
10301e5c31af7Sopenharmony_ci			precision mediump int;
10302e5c31af7Sopenharmony_ci
10303e5c31af7Sopenharmony_ci			${DECLARATIONS}
10304e5c31af7Sopenharmony_ci
10305e5c31af7Sopenharmony_ci			void main()
10306e5c31af7Sopenharmony_ci			{
10307e5c31af7Sopenharmony_ci				${SETUP}
10308e5c31af7Sopenharmony_ci				out0 = uvec4(in0, in1);
10309e5c31af7Sopenharmony_ci				${OUTPUT}
10310e5c31af7Sopenharmony_ci			}
10311e5c31af7Sopenharmony_ci		""
10312e5c31af7Sopenharmony_ci	end
10313e5c31af7Sopenharmony_ci
10314e5c31af7Sopenharmony_ci	case vec3_float_to_uvec4
10315e5c31af7Sopenharmony_ci		version 300 es
10316e5c31af7Sopenharmony_ci		values
10317e5c31af7Sopenharmony_ci		{
10318e5c31af7Sopenharmony_ci			input vec3 in0 = [ vec3(0.5, 2.25, 4.875) | vec3(1.0, 1.25, 1.125) | vec3(0.0, 0.5, 0.75) | vec3(0.5, 2.25, 4.875) | vec3(32.0, 64.0, 51.0) | vec3(1.0, 1.25, 1.125) | vec3(0.75, 0.0322580645161, 0.0526315789474) | vec3(0.0, 0.5, 0.75) ];
10319e5c31af7Sopenharmony_ci			input float in1 = [ 8.25 | 1.0 | 0.0 | 36.8125 | 2.0 | 0.5 | 20.125 | 3.5 ];
10320e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(0, 2, 4, 8) | uvec4(1, 1, 1, 1) | uvec4(0, 0, 0, 0) | uvec4(0, 2, 4, 36) | uvec4(32, 64, 51, 2) | uvec4(1, 1, 1, 0) | uvec4(0, 0, 0, 20) | uvec4(0, 0, 0, 3) ];
10321e5c31af7Sopenharmony_ci		}
10322e5c31af7Sopenharmony_ci
10323e5c31af7Sopenharmony_ci		both ""
10324e5c31af7Sopenharmony_ci			#version 300 es
10325e5c31af7Sopenharmony_ci			precision mediump float;
10326e5c31af7Sopenharmony_ci			precision mediump int;
10327e5c31af7Sopenharmony_ci
10328e5c31af7Sopenharmony_ci			${DECLARATIONS}
10329e5c31af7Sopenharmony_ci
10330e5c31af7Sopenharmony_ci			void main()
10331e5c31af7Sopenharmony_ci			{
10332e5c31af7Sopenharmony_ci				${SETUP}
10333e5c31af7Sopenharmony_ci				out0 = uvec4(in0, in1);
10334e5c31af7Sopenharmony_ci				${OUTPUT}
10335e5c31af7Sopenharmony_ci			}
10336e5c31af7Sopenharmony_ci		""
10337e5c31af7Sopenharmony_ci	end
10338e5c31af7Sopenharmony_ci
10339e5c31af7Sopenharmony_ci	case int_ivec2_int_to_uvec4
10340e5c31af7Sopenharmony_ci		version 300 es
10341e5c31af7Sopenharmony_ci		values
10342e5c31af7Sopenharmony_ci		{
10343e5c31af7Sopenharmony_ci			input int in0 = [ 8 | 1 | 11 | 192 | 255 | 12 | 66 | 2 | 0 | 5 ];
10344e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(1, 1) | ivec2(0, 0) | ivec2(1, 1) | ivec2(32, 64) | ivec2(0, 2) | ivec2(0, 2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(32, 64) | ivec2(0, 0) ];
10345e5c31af7Sopenharmony_ci			input int in2 = [ 2 | 192 | 12 | 0 | 8 | 1 | 66 | 255 | 11 | 5 ];
10346e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(8, 1, 1, 2) | uvec4(1, 0, 0, 192) | uvec4(11, 1, 1, 12) | uvec4(192, 32, 64, 0) | uvec4(255, 0, 2, 8) | uvec4(12, 0, 2, 1) | uvec4(66, 0, 0, 66) | uvec4(2, 0, 0, 255) | uvec4(0, 32, 64, 11) | uvec4(5, 0, 0, 5) ];
10347e5c31af7Sopenharmony_ci		}
10348e5c31af7Sopenharmony_ci
10349e5c31af7Sopenharmony_ci		both ""
10350e5c31af7Sopenharmony_ci			#version 300 es
10351e5c31af7Sopenharmony_ci			precision mediump float;
10352e5c31af7Sopenharmony_ci			precision mediump int;
10353e5c31af7Sopenharmony_ci
10354e5c31af7Sopenharmony_ci			${DECLARATIONS}
10355e5c31af7Sopenharmony_ci
10356e5c31af7Sopenharmony_ci			void main()
10357e5c31af7Sopenharmony_ci			{
10358e5c31af7Sopenharmony_ci				${SETUP}
10359e5c31af7Sopenharmony_ci				out0 = uvec4(in0, in1, in2);
10360e5c31af7Sopenharmony_ci				${OUTPUT}
10361e5c31af7Sopenharmony_ci			}
10362e5c31af7Sopenharmony_ci		""
10363e5c31af7Sopenharmony_ci	end
10364e5c31af7Sopenharmony_ci
10365e5c31af7Sopenharmony_ci	case bool_float_ivec2_to_uvec4
10366e5c31af7Sopenharmony_ci		version 300 es
10367e5c31af7Sopenharmony_ci		values
10368e5c31af7Sopenharmony_ci		{
10369e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | false | false | true | false | false | true ];
10370e5c31af7Sopenharmony_ci			input float in1 = [ 8.25 | 0.5 | 2.0 | 20.125 | 0.0 | 36.8125 | 3.5 | 1.0 ];
10371e5c31af7Sopenharmony_ci			input ivec2 in2 = [ ivec2(32, 64) | ivec2(1, 1) | ivec2(0, 2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, 2) | ivec2(1, 1) | ivec2(0, 0) ];
10372e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(1, 8, 32, 64) | uvec4(1, 0, 1, 1) | uvec4(0, 2, 0, 2) | uvec4(0, 20, 0, 0) | uvec4(1, 0, 0, 0) | uvec4(0, 36, 0, 2) | uvec4(0, 3, 1, 1) | uvec4(1, 1, 0, 0) ];
10373e5c31af7Sopenharmony_ci		}
10374e5c31af7Sopenharmony_ci
10375e5c31af7Sopenharmony_ci		both ""
10376e5c31af7Sopenharmony_ci			#version 300 es
10377e5c31af7Sopenharmony_ci			precision mediump float;
10378e5c31af7Sopenharmony_ci			precision mediump int;
10379e5c31af7Sopenharmony_ci
10380e5c31af7Sopenharmony_ci			${DECLARATIONS}
10381e5c31af7Sopenharmony_ci
10382e5c31af7Sopenharmony_ci			void main()
10383e5c31af7Sopenharmony_ci			{
10384e5c31af7Sopenharmony_ci				${SETUP}
10385e5c31af7Sopenharmony_ci				out0 = uvec4(in0, in1, in2);
10386e5c31af7Sopenharmony_ci				${OUTPUT}
10387e5c31af7Sopenharmony_ci			}
10388e5c31af7Sopenharmony_ci		""
10389e5c31af7Sopenharmony_ci	end
10390e5c31af7Sopenharmony_ci
10391e5c31af7Sopenharmony_ci	case float_uvec3_to_uvec4
10392e5c31af7Sopenharmony_ci		version 300 es
10393e5c31af7Sopenharmony_ci		values
10394e5c31af7Sopenharmony_ci		{
10395e5c31af7Sopenharmony_ci			input float in0 = [ 8.25 | 20.125 | 1.0 | 0.5 | 3.5 | 2.0 | 36.8125 | 0.0 ];
10396e5c31af7Sopenharmony_ci			input uvec3 in1 = [ uvec3(0, 0, 0) | uvec3(0, 0, 0) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 2, 4) | uvec3(1, 1, 1) | uvec3(1, 1, 1) | uvec3(0, 0, 0) ];
10397e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(8, 0, 0, 0) | uvec4(20, 0, 0, 0) | uvec4(1, 0, 2, 4) | uvec4(0, 32, 64, 51) | uvec4(3, 0, 2, 4) | uvec4(2, 1, 1, 1) | uvec4(36, 1, 1, 1) | uvec4(0, 0, 0, 0) ];
10398e5c31af7Sopenharmony_ci		}
10399e5c31af7Sopenharmony_ci
10400e5c31af7Sopenharmony_ci		both ""
10401e5c31af7Sopenharmony_ci			#version 300 es
10402e5c31af7Sopenharmony_ci			precision mediump float;
10403e5c31af7Sopenharmony_ci			precision mediump int;
10404e5c31af7Sopenharmony_ci
10405e5c31af7Sopenharmony_ci			${DECLARATIONS}
10406e5c31af7Sopenharmony_ci
10407e5c31af7Sopenharmony_ci			void main()
10408e5c31af7Sopenharmony_ci			{
10409e5c31af7Sopenharmony_ci				${SETUP}
10410e5c31af7Sopenharmony_ci				out0 = uvec4(in0, in1);
10411e5c31af7Sopenharmony_ci				${OUTPUT}
10412e5c31af7Sopenharmony_ci			}
10413e5c31af7Sopenharmony_ci		""
10414e5c31af7Sopenharmony_ci	end
10415e5c31af7Sopenharmony_ci
10416e5c31af7Sopenharmony_ci	case int_uvec2_bool_to_uvec4
10417e5c31af7Sopenharmony_ci		version 300 es
10418e5c31af7Sopenharmony_ci		values
10419e5c31af7Sopenharmony_ci		{
10420e5c31af7Sopenharmony_ci			input int in0 = [ 2 | 1 | 11 | 66 | 192 | 12 | 8 | 255 | 0 | 5 ];
10421e5c31af7Sopenharmony_ci			input uvec2 in1 = [ uvec2(1, 1) | uvec2(0, 0) | uvec2(0, 0) | uvec2(0, 2) | uvec2(0, 0) | uvec2(0, 2) | uvec2(32, 64) | uvec2(1, 1) | uvec2(32, 64) | uvec2(0, 0) ];
10422e5c31af7Sopenharmony_ci			input bool in2 = [ true | false | false | false | false | true | true | true | false | true ];
10423e5c31af7Sopenharmony_ci			output uvec4 out0 = [ uvec4(2, 1, 1, 1) | uvec4(1, 0, 0, 0) | uvec4(11, 0, 0, 0) | uvec4(66, 0, 2, 0) | uvec4(192, 0, 0, 0) | uvec4(12, 0, 2, 1) | uvec4(8, 32, 64, 1) | uvec4(255, 1, 1, 1) | uvec4(0, 32, 64, 0) | uvec4(5, 0, 0, 1) ];
10424e5c31af7Sopenharmony_ci		}
10425e5c31af7Sopenharmony_ci
10426e5c31af7Sopenharmony_ci		both ""
10427e5c31af7Sopenharmony_ci			#version 300 es
10428e5c31af7Sopenharmony_ci			precision mediump float;
10429e5c31af7Sopenharmony_ci			precision mediump int;
10430e5c31af7Sopenharmony_ci
10431e5c31af7Sopenharmony_ci			${DECLARATIONS}
10432e5c31af7Sopenharmony_ci
10433e5c31af7Sopenharmony_ci			void main()
10434e5c31af7Sopenharmony_ci			{
10435e5c31af7Sopenharmony_ci				${SETUP}
10436e5c31af7Sopenharmony_ci				out0 = uvec4(in0, in1, in2);
10437e5c31af7Sopenharmony_ci				${OUTPUT}
10438e5c31af7Sopenharmony_ci			}
10439e5c31af7Sopenharmony_ci		""
10440e5c31af7Sopenharmony_ci	end
10441e5c31af7Sopenharmony_ci
10442e5c31af7Sopenharmony_ci	case float_float_float_to_vec3
10443e5c31af7Sopenharmony_ci		version 300 es
10444e5c31af7Sopenharmony_ci		values
10445e5c31af7Sopenharmony_ci		{
10446e5c31af7Sopenharmony_ci			input float in0 = [ -0.5 | 1.0 | 3.5 | -8.25 | 36.8125 | 0.0 | 2.0 | -20.125 ];
10447e5c31af7Sopenharmony_ci			input float in1 = [ 2.0 | -20.125 | 3.5 | 36.8125 | -8.25 | 1.0 | -0.5 | 0.0 ];
10448e5c31af7Sopenharmony_ci			input float in2 = [ 1.0 | 3.5 | 2.0 | -8.25 | -20.125 | -0.5 | 36.8125 | 0.0 ];
10449e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(-0.5, 2.0, 1.0) | vec3(1.0, -20.125, 3.5) | vec3(3.5, 3.5, 2.0) | vec3(-8.25, 36.8125, -8.25) | vec3(36.8125, -8.25, -20.125) | vec3(0.0, 1.0, -0.5) | vec3(2.0, -0.5, 36.8125) | vec3(-20.125, 0.0, 0.0) ];
10450e5c31af7Sopenharmony_ci		}
10451e5c31af7Sopenharmony_ci
10452e5c31af7Sopenharmony_ci		both ""
10453e5c31af7Sopenharmony_ci			#version 300 es
10454e5c31af7Sopenharmony_ci			precision mediump float;
10455e5c31af7Sopenharmony_ci			precision mediump int;
10456e5c31af7Sopenharmony_ci
10457e5c31af7Sopenharmony_ci			${DECLARATIONS}
10458e5c31af7Sopenharmony_ci
10459e5c31af7Sopenharmony_ci			void main()
10460e5c31af7Sopenharmony_ci			{
10461e5c31af7Sopenharmony_ci				${SETUP}
10462e5c31af7Sopenharmony_ci				out0 = vec3(in0, in1, in2);
10463e5c31af7Sopenharmony_ci				${OUTPUT}
10464e5c31af7Sopenharmony_ci			}
10465e5c31af7Sopenharmony_ci		""
10466e5c31af7Sopenharmony_ci	end
10467e5c31af7Sopenharmony_ci
10468e5c31af7Sopenharmony_ci	case float_float_float_to_ivec3
10469e5c31af7Sopenharmony_ci		version 300 es
10470e5c31af7Sopenharmony_ci		values
10471e5c31af7Sopenharmony_ci		{
10472e5c31af7Sopenharmony_ci			input float in0 = [ -0.5 | 1.0 | 3.5 | -8.25 | 36.8125 | 0.0 | 2.0 | -20.125 ];
10473e5c31af7Sopenharmony_ci			input float in1 = [ 2.0 | -20.125 | 3.5 | 36.8125 | -8.25 | 1.0 | -0.5 | 0.0 ];
10474e5c31af7Sopenharmony_ci			input float in2 = [ 1.0 | 3.5 | 2.0 | -8.25 | -20.125 | -0.5 | 36.8125 | 0.0 ];
10475e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(0, 2, 1) | ivec3(1, -20, 3) | ivec3(3, 3, 2) | ivec3(-8, 36, -8) | ivec3(36, -8, -20) | ivec3(0, 1, 0) | ivec3(2, 0, 36) | ivec3(-20, 0, 0) ];
10476e5c31af7Sopenharmony_ci		}
10477e5c31af7Sopenharmony_ci
10478e5c31af7Sopenharmony_ci		both ""
10479e5c31af7Sopenharmony_ci			#version 300 es
10480e5c31af7Sopenharmony_ci			precision mediump float;
10481e5c31af7Sopenharmony_ci			precision mediump int;
10482e5c31af7Sopenharmony_ci
10483e5c31af7Sopenharmony_ci			${DECLARATIONS}
10484e5c31af7Sopenharmony_ci
10485e5c31af7Sopenharmony_ci			void main()
10486e5c31af7Sopenharmony_ci			{
10487e5c31af7Sopenharmony_ci				${SETUP}
10488e5c31af7Sopenharmony_ci				out0 = ivec3(in0, in1, in2);
10489e5c31af7Sopenharmony_ci				${OUTPUT}
10490e5c31af7Sopenharmony_ci			}
10491e5c31af7Sopenharmony_ci		""
10492e5c31af7Sopenharmony_ci	end
10493e5c31af7Sopenharmony_ci
10494e5c31af7Sopenharmony_ci	case float_float_float_to_bvec3
10495e5c31af7Sopenharmony_ci		version 300 es
10496e5c31af7Sopenharmony_ci		values
10497e5c31af7Sopenharmony_ci		{
10498e5c31af7Sopenharmony_ci			input float in0 = [ -0.5 | 1.0 | 3.5 | -8.25 | 36.8125 | 0.0 | 2.0 | -20.125 ];
10499e5c31af7Sopenharmony_ci			input float in1 = [ 2.0 | -20.125 | 3.5 | 36.8125 | -8.25 | 1.0 | -0.5 | 0.0 ];
10500e5c31af7Sopenharmony_ci			input float in2 = [ 1.0 | 3.5 | 2.0 | -8.25 | -20.125 | -0.5 | 36.8125 | 0.0 ];
10501e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(true, false, false) ];
10502e5c31af7Sopenharmony_ci		}
10503e5c31af7Sopenharmony_ci
10504e5c31af7Sopenharmony_ci		both ""
10505e5c31af7Sopenharmony_ci			#version 300 es
10506e5c31af7Sopenharmony_ci			precision mediump float;
10507e5c31af7Sopenharmony_ci			precision mediump int;
10508e5c31af7Sopenharmony_ci
10509e5c31af7Sopenharmony_ci			${DECLARATIONS}
10510e5c31af7Sopenharmony_ci
10511e5c31af7Sopenharmony_ci			void main()
10512e5c31af7Sopenharmony_ci			{
10513e5c31af7Sopenharmony_ci				${SETUP}
10514e5c31af7Sopenharmony_ci				out0 = bvec3(in0, in1, in2);
10515e5c31af7Sopenharmony_ci				${OUTPUT}
10516e5c31af7Sopenharmony_ci			}
10517e5c31af7Sopenharmony_ci		""
10518e5c31af7Sopenharmony_ci	end
10519e5c31af7Sopenharmony_ci
10520e5c31af7Sopenharmony_ci	case int_int_int_to_vec3
10521e5c31af7Sopenharmony_ci		version 300 es
10522e5c31af7Sopenharmony_ci		values
10523e5c31af7Sopenharmony_ci		{
10524e5c31af7Sopenharmony_ci			input int in0 = [ -192 | 5 | -12 | 0 | 11 | 8 | 1 | -66 | 255 | 2 ];
10525e5c31af7Sopenharmony_ci			input int in1 = [ 5 | 1 | 8 | 0 | 2 | -192 | -12 | 255 | -66 | 11 ];
10526e5c31af7Sopenharmony_ci			input int in2 = [ -192 | 1 | 2 | 5 | -12 | 8 | 11 | 0 | 255 | -66 ];
10527e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(-192.0, 5.0, -192.0) | vec3(5.0, 1.0, 1.0) | vec3(-12.0, 8.0, 2.0) | vec3(0.0, 0.0, 5.0) | vec3(11.0, 2.0, -12.0) | vec3(8.0, -192.0, 8.0) | vec3(1.0, -12.0, 11.0) | vec3(-66.0, 255.0, 0.0) | vec3(255.0, -66.0, 255.0) | vec3(2.0, 11.0, -66.0) ];
10528e5c31af7Sopenharmony_ci		}
10529e5c31af7Sopenharmony_ci
10530e5c31af7Sopenharmony_ci		both ""
10531e5c31af7Sopenharmony_ci			#version 300 es
10532e5c31af7Sopenharmony_ci			precision mediump float;
10533e5c31af7Sopenharmony_ci			precision mediump int;
10534e5c31af7Sopenharmony_ci
10535e5c31af7Sopenharmony_ci			${DECLARATIONS}
10536e5c31af7Sopenharmony_ci
10537e5c31af7Sopenharmony_ci			void main()
10538e5c31af7Sopenharmony_ci			{
10539e5c31af7Sopenharmony_ci				${SETUP}
10540e5c31af7Sopenharmony_ci				out0 = vec3(in0, in1, in2);
10541e5c31af7Sopenharmony_ci				${OUTPUT}
10542e5c31af7Sopenharmony_ci			}
10543e5c31af7Sopenharmony_ci		""
10544e5c31af7Sopenharmony_ci	end
10545e5c31af7Sopenharmony_ci
10546e5c31af7Sopenharmony_ci	case int_int_int_to_ivec3
10547e5c31af7Sopenharmony_ci		version 300 es
10548e5c31af7Sopenharmony_ci		values
10549e5c31af7Sopenharmony_ci		{
10550e5c31af7Sopenharmony_ci			input int in0 = [ -192 | 5 | -12 | 0 | 11 | 8 | 1 | -66 | 255 | 2 ];
10551e5c31af7Sopenharmony_ci			input int in1 = [ 5 | 1 | 8 | 0 | 2 | -192 | -12 | 255 | -66 | 11 ];
10552e5c31af7Sopenharmony_ci			input int in2 = [ -192 | 1 | 2 | 5 | -12 | 8 | 11 | 0 | 255 | -66 ];
10553e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(-192, 5, -192) | ivec3(5, 1, 1) | ivec3(-12, 8, 2) | ivec3(0, 0, 5) | ivec3(11, 2, -12) | ivec3(8, -192, 8) | ivec3(1, -12, 11) | ivec3(-66, 255, 0) | ivec3(255, -66, 255) | ivec3(2, 11, -66) ];
10554e5c31af7Sopenharmony_ci		}
10555e5c31af7Sopenharmony_ci
10556e5c31af7Sopenharmony_ci		both ""
10557e5c31af7Sopenharmony_ci			#version 300 es
10558e5c31af7Sopenharmony_ci			precision mediump float;
10559e5c31af7Sopenharmony_ci			precision mediump int;
10560e5c31af7Sopenharmony_ci
10561e5c31af7Sopenharmony_ci			${DECLARATIONS}
10562e5c31af7Sopenharmony_ci
10563e5c31af7Sopenharmony_ci			void main()
10564e5c31af7Sopenharmony_ci			{
10565e5c31af7Sopenharmony_ci				${SETUP}
10566e5c31af7Sopenharmony_ci				out0 = ivec3(in0, in1, in2);
10567e5c31af7Sopenharmony_ci				${OUTPUT}
10568e5c31af7Sopenharmony_ci			}
10569e5c31af7Sopenharmony_ci		""
10570e5c31af7Sopenharmony_ci	end
10571e5c31af7Sopenharmony_ci
10572e5c31af7Sopenharmony_ci	case int_int_int_to_bvec3
10573e5c31af7Sopenharmony_ci		version 300 es
10574e5c31af7Sopenharmony_ci		values
10575e5c31af7Sopenharmony_ci		{
10576e5c31af7Sopenharmony_ci			input int in0 = [ -192 | 5 | -12 | 0 | 11 | 8 | 1 | -66 | 255 | 2 ];
10577e5c31af7Sopenharmony_ci			input int in1 = [ 5 | 1 | 8 | 0 | 2 | -192 | -12 | 255 | -66 | 11 ];
10578e5c31af7Sopenharmony_ci			input int in2 = [ -192 | 1 | 2 | 5 | -12 | 8 | 11 | 0 | 255 | -66 ];
10579e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, false) | bvec3(true, true, true) | bvec3(true, true, true) ];
10580e5c31af7Sopenharmony_ci		}
10581e5c31af7Sopenharmony_ci
10582e5c31af7Sopenharmony_ci		both ""
10583e5c31af7Sopenharmony_ci			#version 300 es
10584e5c31af7Sopenharmony_ci			precision mediump float;
10585e5c31af7Sopenharmony_ci			precision mediump int;
10586e5c31af7Sopenharmony_ci
10587e5c31af7Sopenharmony_ci			${DECLARATIONS}
10588e5c31af7Sopenharmony_ci
10589e5c31af7Sopenharmony_ci			void main()
10590e5c31af7Sopenharmony_ci			{
10591e5c31af7Sopenharmony_ci				${SETUP}
10592e5c31af7Sopenharmony_ci				out0 = bvec3(in0, in1, in2);
10593e5c31af7Sopenharmony_ci				${OUTPUT}
10594e5c31af7Sopenharmony_ci			}
10595e5c31af7Sopenharmony_ci		""
10596e5c31af7Sopenharmony_ci	end
10597e5c31af7Sopenharmony_ci
10598e5c31af7Sopenharmony_ci	case uint_uint_uint_to_vec3
10599e5c31af7Sopenharmony_ci		version 300 es
10600e5c31af7Sopenharmony_ci		values
10601e5c31af7Sopenharmony_ci		{
10602e5c31af7Sopenharmony_ci			input uint in0 = [ 8 | 45 | 2 | 3 | 255 | 193 | 12 | 0 | 9 | 10 ];
10603e5c31af7Sopenharmony_ci			input uint in1 = [ 193 | 2 | 9 | 8 | 0 | 255 | 45 | 3 | 10 | 12 ];
10604e5c31af7Sopenharmony_ci			input uint in2 = [ 12 | 2 | 193 | 255 | 8 | 10 | 45 | 0 | 3 | 9 ];
10605e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(8.0, 193.0, 12.0) | vec3(45.0, 2.0, 2.0) | vec3(2.0, 9.0, 193.0) | vec3(3.0, 8.0, 255.0) | vec3(255.0, 0.0, 8.0) | vec3(193.0, 255.0, 10.0) | vec3(12.0, 45.0, 45.0) | vec3(0.0, 3.0, 0.0) | vec3(9.0, 10.0, 3.0) | vec3(10.0, 12.0, 9.0) ];
10606e5c31af7Sopenharmony_ci		}
10607e5c31af7Sopenharmony_ci
10608e5c31af7Sopenharmony_ci		both ""
10609e5c31af7Sopenharmony_ci			#version 300 es
10610e5c31af7Sopenharmony_ci			precision mediump float;
10611e5c31af7Sopenharmony_ci			precision mediump int;
10612e5c31af7Sopenharmony_ci
10613e5c31af7Sopenharmony_ci			${DECLARATIONS}
10614e5c31af7Sopenharmony_ci
10615e5c31af7Sopenharmony_ci			void main()
10616e5c31af7Sopenharmony_ci			{
10617e5c31af7Sopenharmony_ci				${SETUP}
10618e5c31af7Sopenharmony_ci				out0 = vec3(in0, in1, in2);
10619e5c31af7Sopenharmony_ci				${OUTPUT}
10620e5c31af7Sopenharmony_ci			}
10621e5c31af7Sopenharmony_ci		""
10622e5c31af7Sopenharmony_ci	end
10623e5c31af7Sopenharmony_ci
10624e5c31af7Sopenharmony_ci	case uint_uint_uint_to_ivec3
10625e5c31af7Sopenharmony_ci		version 300 es
10626e5c31af7Sopenharmony_ci		values
10627e5c31af7Sopenharmony_ci		{
10628e5c31af7Sopenharmony_ci			input uint in0 = [ 8 | 45 | 2 | 3 | 255 | 193 | 12 | 0 | 9 | 10 ];
10629e5c31af7Sopenharmony_ci			input uint in1 = [ 193 | 2 | 9 | 8 | 0 | 255 | 45 | 3 | 10 | 12 ];
10630e5c31af7Sopenharmony_ci			input uint in2 = [ 12 | 2 | 193 | 255 | 8 | 10 | 45 | 0 | 3 | 9 ];
10631e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(8, 193, 12) | ivec3(45, 2, 2) | ivec3(2, 9, 193) | ivec3(3, 8, 255) | ivec3(255, 0, 8) | ivec3(193, 255, 10) | ivec3(12, 45, 45) | ivec3(0, 3, 0) | ivec3(9, 10, 3) | ivec3(10, 12, 9) ];
10632e5c31af7Sopenharmony_ci		}
10633e5c31af7Sopenharmony_ci
10634e5c31af7Sopenharmony_ci		both ""
10635e5c31af7Sopenharmony_ci			#version 300 es
10636e5c31af7Sopenharmony_ci			precision mediump float;
10637e5c31af7Sopenharmony_ci			precision mediump int;
10638e5c31af7Sopenharmony_ci
10639e5c31af7Sopenharmony_ci			${DECLARATIONS}
10640e5c31af7Sopenharmony_ci
10641e5c31af7Sopenharmony_ci			void main()
10642e5c31af7Sopenharmony_ci			{
10643e5c31af7Sopenharmony_ci				${SETUP}
10644e5c31af7Sopenharmony_ci				out0 = ivec3(in0, in1, in2);
10645e5c31af7Sopenharmony_ci				${OUTPUT}
10646e5c31af7Sopenharmony_ci			}
10647e5c31af7Sopenharmony_ci		""
10648e5c31af7Sopenharmony_ci	end
10649e5c31af7Sopenharmony_ci
10650e5c31af7Sopenharmony_ci	case uint_uint_uint_to_bvec3
10651e5c31af7Sopenharmony_ci		version 300 es
10652e5c31af7Sopenharmony_ci		values
10653e5c31af7Sopenharmony_ci		{
10654e5c31af7Sopenharmony_ci			input uint in0 = [ 8 | 45 | 2 | 3 | 255 | 193 | 12 | 0 | 9 | 10 ];
10655e5c31af7Sopenharmony_ci			input uint in1 = [ 193 | 2 | 9 | 8 | 0 | 255 | 45 | 3 | 10 | 12 ];
10656e5c31af7Sopenharmony_ci			input uint in2 = [ 12 | 2 | 193 | 255 | 8 | 10 | 45 | 0 | 3 | 9 ];
10657e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(true, true, true) ];
10658e5c31af7Sopenharmony_ci		}
10659e5c31af7Sopenharmony_ci
10660e5c31af7Sopenharmony_ci		both ""
10661e5c31af7Sopenharmony_ci			#version 300 es
10662e5c31af7Sopenharmony_ci			precision mediump float;
10663e5c31af7Sopenharmony_ci			precision mediump int;
10664e5c31af7Sopenharmony_ci
10665e5c31af7Sopenharmony_ci			${DECLARATIONS}
10666e5c31af7Sopenharmony_ci
10667e5c31af7Sopenharmony_ci			void main()
10668e5c31af7Sopenharmony_ci			{
10669e5c31af7Sopenharmony_ci				${SETUP}
10670e5c31af7Sopenharmony_ci				out0 = bvec3(in0, in1, in2);
10671e5c31af7Sopenharmony_ci				${OUTPUT}
10672e5c31af7Sopenharmony_ci			}
10673e5c31af7Sopenharmony_ci		""
10674e5c31af7Sopenharmony_ci	end
10675e5c31af7Sopenharmony_ci
10676e5c31af7Sopenharmony_ci	case bool_bool_bool_to_vec3
10677e5c31af7Sopenharmony_ci		version 300 es
10678e5c31af7Sopenharmony_ci		values
10679e5c31af7Sopenharmony_ci		{
10680e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
10681e5c31af7Sopenharmony_ci			input bool in1 = [ true | false ];
10682e5c31af7Sopenharmony_ci			input bool in2 = [ true | false ];
10683e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(1.0, 1.0, 1.0) | vec3(0.0, 0.0, 0.0) ];
10684e5c31af7Sopenharmony_ci		}
10685e5c31af7Sopenharmony_ci
10686e5c31af7Sopenharmony_ci		both ""
10687e5c31af7Sopenharmony_ci			#version 300 es
10688e5c31af7Sopenharmony_ci			precision mediump float;
10689e5c31af7Sopenharmony_ci			precision mediump int;
10690e5c31af7Sopenharmony_ci
10691e5c31af7Sopenharmony_ci			${DECLARATIONS}
10692e5c31af7Sopenharmony_ci
10693e5c31af7Sopenharmony_ci			void main()
10694e5c31af7Sopenharmony_ci			{
10695e5c31af7Sopenharmony_ci				${SETUP}
10696e5c31af7Sopenharmony_ci				out0 = vec3(in0, in1, in2);
10697e5c31af7Sopenharmony_ci				${OUTPUT}
10698e5c31af7Sopenharmony_ci			}
10699e5c31af7Sopenharmony_ci		""
10700e5c31af7Sopenharmony_ci	end
10701e5c31af7Sopenharmony_ci
10702e5c31af7Sopenharmony_ci	case bool_bool_bool_to_ivec3
10703e5c31af7Sopenharmony_ci		version 300 es
10704e5c31af7Sopenharmony_ci		values
10705e5c31af7Sopenharmony_ci		{
10706e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
10707e5c31af7Sopenharmony_ci			input bool in1 = [ true | false ];
10708e5c31af7Sopenharmony_ci			input bool in2 = [ true | false ];
10709e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(0, 0, 0) ];
10710e5c31af7Sopenharmony_ci		}
10711e5c31af7Sopenharmony_ci
10712e5c31af7Sopenharmony_ci		both ""
10713e5c31af7Sopenharmony_ci			#version 300 es
10714e5c31af7Sopenharmony_ci			precision mediump float;
10715e5c31af7Sopenharmony_ci			precision mediump int;
10716e5c31af7Sopenharmony_ci
10717e5c31af7Sopenharmony_ci			${DECLARATIONS}
10718e5c31af7Sopenharmony_ci
10719e5c31af7Sopenharmony_ci			void main()
10720e5c31af7Sopenharmony_ci			{
10721e5c31af7Sopenharmony_ci				${SETUP}
10722e5c31af7Sopenharmony_ci				out0 = ivec3(in0, in1, in2);
10723e5c31af7Sopenharmony_ci				${OUTPUT}
10724e5c31af7Sopenharmony_ci			}
10725e5c31af7Sopenharmony_ci		""
10726e5c31af7Sopenharmony_ci	end
10727e5c31af7Sopenharmony_ci
10728e5c31af7Sopenharmony_ci	case bool_bool_bool_to_bvec3
10729e5c31af7Sopenharmony_ci		version 300 es
10730e5c31af7Sopenharmony_ci		values
10731e5c31af7Sopenharmony_ci		{
10732e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
10733e5c31af7Sopenharmony_ci			input bool in1 = [ true | false ];
10734e5c31af7Sopenharmony_ci			input bool in2 = [ true | false ];
10735e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(false, false, false) ];
10736e5c31af7Sopenharmony_ci		}
10737e5c31af7Sopenharmony_ci
10738e5c31af7Sopenharmony_ci		both ""
10739e5c31af7Sopenharmony_ci			#version 300 es
10740e5c31af7Sopenharmony_ci			precision mediump float;
10741e5c31af7Sopenharmony_ci			precision mediump int;
10742e5c31af7Sopenharmony_ci
10743e5c31af7Sopenharmony_ci			${DECLARATIONS}
10744e5c31af7Sopenharmony_ci
10745e5c31af7Sopenharmony_ci			void main()
10746e5c31af7Sopenharmony_ci			{
10747e5c31af7Sopenharmony_ci				${SETUP}
10748e5c31af7Sopenharmony_ci				out0 = bvec3(in0, in1, in2);
10749e5c31af7Sopenharmony_ci				${OUTPUT}
10750e5c31af7Sopenharmony_ci			}
10751e5c31af7Sopenharmony_ci		""
10752e5c31af7Sopenharmony_ci	end
10753e5c31af7Sopenharmony_ci
10754e5c31af7Sopenharmony_ci	case bool_float_int_to_vec3
10755e5c31af7Sopenharmony_ci		version 300 es
10756e5c31af7Sopenharmony_ci		values
10757e5c31af7Sopenharmony_ci		{
10758e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | false | false | true | false | true | false | false | true ];
10759e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | 36.8125 | 0.0 | -8.25 | 1.0 | 3.5 | 1.0 | -0.5 | -20.125 | 2.0 ];
10760e5c31af7Sopenharmony_ci			input int in2 = [ 8 | -192 | -66 | 2 | 1 | -12 | 11 | 255 | 5 | 0 ];
10761e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(1.0, 0.0, 8.0) | vec3(1.0, 36.8125, -192.0) | vec3(0.0, 0.0, -66.0) | vec3(0.0, -8.25, 2.0) | vec3(1.0, 1.0, 1.0) | vec3(0.0, 3.5, -12.0) | vec3(1.0, 1.0, 11.0) | vec3(0.0, -0.5, 255.0) | vec3(0.0, -20.125, 5.0) | vec3(1.0, 2.0, 0.0) ];
10762e5c31af7Sopenharmony_ci		}
10763e5c31af7Sopenharmony_ci
10764e5c31af7Sopenharmony_ci		both ""
10765e5c31af7Sopenharmony_ci			#version 300 es
10766e5c31af7Sopenharmony_ci			precision mediump float;
10767e5c31af7Sopenharmony_ci			precision mediump int;
10768e5c31af7Sopenharmony_ci
10769e5c31af7Sopenharmony_ci			${DECLARATIONS}
10770e5c31af7Sopenharmony_ci
10771e5c31af7Sopenharmony_ci			void main()
10772e5c31af7Sopenharmony_ci			{
10773e5c31af7Sopenharmony_ci				${SETUP}
10774e5c31af7Sopenharmony_ci				out0 = vec3(in0, in1, in2);
10775e5c31af7Sopenharmony_ci				${OUTPUT}
10776e5c31af7Sopenharmony_ci			}
10777e5c31af7Sopenharmony_ci		""
10778e5c31af7Sopenharmony_ci	end
10779e5c31af7Sopenharmony_ci
10780e5c31af7Sopenharmony_ci	case bool_float_int_to_ivec3
10781e5c31af7Sopenharmony_ci		version 300 es
10782e5c31af7Sopenharmony_ci		values
10783e5c31af7Sopenharmony_ci		{
10784e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | false | false | true | false | true | false | false | true ];
10785e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | 36.8125 | 0.0 | -8.25 | 1.0 | 3.5 | 1.0 | -0.5 | -20.125 | 2.0 ];
10786e5c31af7Sopenharmony_ci			input int in2 = [ 8 | -192 | -66 | 2 | 1 | -12 | 11 | 255 | 5 | 0 ];
10787e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(1, 0, 8) | ivec3(1, 36, -192) | ivec3(0, 0, -66) | ivec3(0, -8, 2) | ivec3(1, 1, 1) | ivec3(0, 3, -12) | ivec3(1, 1, 11) | ivec3(0, 0, 255) | ivec3(0, -20, 5) | ivec3(1, 2, 0) ];
10788e5c31af7Sopenharmony_ci		}
10789e5c31af7Sopenharmony_ci
10790e5c31af7Sopenharmony_ci		both ""
10791e5c31af7Sopenharmony_ci			#version 300 es
10792e5c31af7Sopenharmony_ci			precision mediump float;
10793e5c31af7Sopenharmony_ci			precision mediump int;
10794e5c31af7Sopenharmony_ci
10795e5c31af7Sopenharmony_ci			${DECLARATIONS}
10796e5c31af7Sopenharmony_ci
10797e5c31af7Sopenharmony_ci			void main()
10798e5c31af7Sopenharmony_ci			{
10799e5c31af7Sopenharmony_ci				${SETUP}
10800e5c31af7Sopenharmony_ci				out0 = ivec3(in0, in1, in2);
10801e5c31af7Sopenharmony_ci				${OUTPUT}
10802e5c31af7Sopenharmony_ci			}
10803e5c31af7Sopenharmony_ci		""
10804e5c31af7Sopenharmony_ci	end
10805e5c31af7Sopenharmony_ci
10806e5c31af7Sopenharmony_ci	case bool_float_int_to_bvec3
10807e5c31af7Sopenharmony_ci		version 300 es
10808e5c31af7Sopenharmony_ci		values
10809e5c31af7Sopenharmony_ci		{
10810e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | false | false | true | false | true | false | false | true ];
10811e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | 36.8125 | 0.0 | -8.25 | 1.0 | 3.5 | 1.0 | -0.5 | -20.125 | 2.0 ];
10812e5c31af7Sopenharmony_ci			input int in2 = [ 8 | -192 | -66 | 2 | 1 | -12 | 11 | 255 | 5 | 0 ];
10813e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(false, true, true) | bvec3(true, true, false) ];
10814e5c31af7Sopenharmony_ci		}
10815e5c31af7Sopenharmony_ci
10816e5c31af7Sopenharmony_ci		both ""
10817e5c31af7Sopenharmony_ci			#version 300 es
10818e5c31af7Sopenharmony_ci			precision mediump float;
10819e5c31af7Sopenharmony_ci			precision mediump int;
10820e5c31af7Sopenharmony_ci
10821e5c31af7Sopenharmony_ci			${DECLARATIONS}
10822e5c31af7Sopenharmony_ci
10823e5c31af7Sopenharmony_ci			void main()
10824e5c31af7Sopenharmony_ci			{
10825e5c31af7Sopenharmony_ci				${SETUP}
10826e5c31af7Sopenharmony_ci				out0 = bvec3(in0, in1, in2);
10827e5c31af7Sopenharmony_ci				${OUTPUT}
10828e5c31af7Sopenharmony_ci			}
10829e5c31af7Sopenharmony_ci		""
10830e5c31af7Sopenharmony_ci	end
10831e5c31af7Sopenharmony_ci
10832e5c31af7Sopenharmony_ci	case vec2_bool_to_vec3
10833e5c31af7Sopenharmony_ci		version 300 es
10834e5c31af7Sopenharmony_ci		values
10835e5c31af7Sopenharmony_ci		{
10836e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(0.0, 0.5) ];
10837e5c31af7Sopenharmony_ci			input bool in1 = [ false | true | true | true | false ];
10838e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(1.0, 1.25, 0.0) | vec3(-0.75, -0.0322580645161, 1.0) | vec3(-32.0, 64.0, 1.0) | vec3(-0.5, -2.25, 1.0) | vec3(0.0, 0.5, 0.0) ];
10839e5c31af7Sopenharmony_ci		}
10840e5c31af7Sopenharmony_ci
10841e5c31af7Sopenharmony_ci		both ""
10842e5c31af7Sopenharmony_ci			#version 300 es
10843e5c31af7Sopenharmony_ci			precision mediump float;
10844e5c31af7Sopenharmony_ci			precision mediump int;
10845e5c31af7Sopenharmony_ci
10846e5c31af7Sopenharmony_ci			${DECLARATIONS}
10847e5c31af7Sopenharmony_ci
10848e5c31af7Sopenharmony_ci			void main()
10849e5c31af7Sopenharmony_ci			{
10850e5c31af7Sopenharmony_ci				${SETUP}
10851e5c31af7Sopenharmony_ci				out0 = vec3(in0, in1);
10852e5c31af7Sopenharmony_ci				${OUTPUT}
10853e5c31af7Sopenharmony_ci			}
10854e5c31af7Sopenharmony_ci		""
10855e5c31af7Sopenharmony_ci	end
10856e5c31af7Sopenharmony_ci
10857e5c31af7Sopenharmony_ci	case vec2_bool_to_ivec3
10858e5c31af7Sopenharmony_ci		version 300 es
10859e5c31af7Sopenharmony_ci		values
10860e5c31af7Sopenharmony_ci		{
10861e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(0.0, 0.5) ];
10862e5c31af7Sopenharmony_ci			input bool in1 = [ false | true | true | true | false ];
10863e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(1, 1, 0) | ivec3(0, 0, 1) | ivec3(-32, 64, 1) | ivec3(0, -2, 1) | ivec3(0, 0, 0) ];
10864e5c31af7Sopenharmony_ci		}
10865e5c31af7Sopenharmony_ci
10866e5c31af7Sopenharmony_ci		both ""
10867e5c31af7Sopenharmony_ci			#version 300 es
10868e5c31af7Sopenharmony_ci			precision mediump float;
10869e5c31af7Sopenharmony_ci			precision mediump int;
10870e5c31af7Sopenharmony_ci
10871e5c31af7Sopenharmony_ci			${DECLARATIONS}
10872e5c31af7Sopenharmony_ci
10873e5c31af7Sopenharmony_ci			void main()
10874e5c31af7Sopenharmony_ci			{
10875e5c31af7Sopenharmony_ci				${SETUP}
10876e5c31af7Sopenharmony_ci				out0 = ivec3(in0, in1);
10877e5c31af7Sopenharmony_ci				${OUTPUT}
10878e5c31af7Sopenharmony_ci			}
10879e5c31af7Sopenharmony_ci		""
10880e5c31af7Sopenharmony_ci	end
10881e5c31af7Sopenharmony_ci
10882e5c31af7Sopenharmony_ci	case vec2_bool_to_bvec3
10883e5c31af7Sopenharmony_ci		version 300 es
10884e5c31af7Sopenharmony_ci		values
10885e5c31af7Sopenharmony_ci		{
10886e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(0.0, 0.5) ];
10887e5c31af7Sopenharmony_ci			input bool in1 = [ false | true | true | true | false ];
10888e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, true, false) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, true, false) ];
10889e5c31af7Sopenharmony_ci		}
10890e5c31af7Sopenharmony_ci
10891e5c31af7Sopenharmony_ci		both ""
10892e5c31af7Sopenharmony_ci			#version 300 es
10893e5c31af7Sopenharmony_ci			precision mediump float;
10894e5c31af7Sopenharmony_ci			precision mediump int;
10895e5c31af7Sopenharmony_ci
10896e5c31af7Sopenharmony_ci			${DECLARATIONS}
10897e5c31af7Sopenharmony_ci
10898e5c31af7Sopenharmony_ci			void main()
10899e5c31af7Sopenharmony_ci			{
10900e5c31af7Sopenharmony_ci				${SETUP}
10901e5c31af7Sopenharmony_ci				out0 = bvec3(in0, in1);
10902e5c31af7Sopenharmony_ci				${OUTPUT}
10903e5c31af7Sopenharmony_ci			}
10904e5c31af7Sopenharmony_ci		""
10905e5c31af7Sopenharmony_ci	end
10906e5c31af7Sopenharmony_ci
10907e5c31af7Sopenharmony_ci	case bvec2_float_to_vec3
10908e5c31af7Sopenharmony_ci		version 300 es
10909e5c31af7Sopenharmony_ci		values
10910e5c31af7Sopenharmony_ci		{
10911e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, true) | bvec2(false, true) | bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
10912e5c31af7Sopenharmony_ci			input float in1 = [ -20.125 | 2.0 | 36.8125 | 1.0 | 3.5 | 0.0 | -8.25 | -0.5 ];
10913e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(1.0, 0.0, -20.125) | vec3(0.0, 1.0, 2.0) | vec3(0.0, 1.0, 36.8125) | vec3(1.0, 0.0, 1.0) | vec3(0.0, 0.0, 3.5) | vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, -8.25) | vec3(0.0, 0.0, -0.5) ];
10914e5c31af7Sopenharmony_ci		}
10915e5c31af7Sopenharmony_ci
10916e5c31af7Sopenharmony_ci		both ""
10917e5c31af7Sopenharmony_ci			#version 300 es
10918e5c31af7Sopenharmony_ci			precision mediump float;
10919e5c31af7Sopenharmony_ci			precision mediump int;
10920e5c31af7Sopenharmony_ci
10921e5c31af7Sopenharmony_ci			${DECLARATIONS}
10922e5c31af7Sopenharmony_ci
10923e5c31af7Sopenharmony_ci			void main()
10924e5c31af7Sopenharmony_ci			{
10925e5c31af7Sopenharmony_ci				${SETUP}
10926e5c31af7Sopenharmony_ci				out0 = vec3(in0, in1);
10927e5c31af7Sopenharmony_ci				${OUTPUT}
10928e5c31af7Sopenharmony_ci			}
10929e5c31af7Sopenharmony_ci		""
10930e5c31af7Sopenharmony_ci	end
10931e5c31af7Sopenharmony_ci
10932e5c31af7Sopenharmony_ci	case bvec2_float_to_ivec3
10933e5c31af7Sopenharmony_ci		version 300 es
10934e5c31af7Sopenharmony_ci		values
10935e5c31af7Sopenharmony_ci		{
10936e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, true) | bvec2(false, true) | bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
10937e5c31af7Sopenharmony_ci			input float in1 = [ -20.125 | 2.0 | 36.8125 | 1.0 | 3.5 | 0.0 | -8.25 | -0.5 ];
10938e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(1, 0, -20) | ivec3(0, 1, 2) | ivec3(0, 1, 36) | ivec3(1, 0, 1) | ivec3(0, 0, 3) | ivec3(0, 0, 0) | ivec3(1, 1, -8) | ivec3(0, 0, 0) ];
10939e5c31af7Sopenharmony_ci		}
10940e5c31af7Sopenharmony_ci
10941e5c31af7Sopenharmony_ci		both ""
10942e5c31af7Sopenharmony_ci			#version 300 es
10943e5c31af7Sopenharmony_ci			precision mediump float;
10944e5c31af7Sopenharmony_ci			precision mediump int;
10945e5c31af7Sopenharmony_ci
10946e5c31af7Sopenharmony_ci			${DECLARATIONS}
10947e5c31af7Sopenharmony_ci
10948e5c31af7Sopenharmony_ci			void main()
10949e5c31af7Sopenharmony_ci			{
10950e5c31af7Sopenharmony_ci				${SETUP}
10951e5c31af7Sopenharmony_ci				out0 = ivec3(in0, in1);
10952e5c31af7Sopenharmony_ci				${OUTPUT}
10953e5c31af7Sopenharmony_ci			}
10954e5c31af7Sopenharmony_ci		""
10955e5c31af7Sopenharmony_ci	end
10956e5c31af7Sopenharmony_ci
10957e5c31af7Sopenharmony_ci	case bvec2_float_to_bvec3
10958e5c31af7Sopenharmony_ci		version 300 es
10959e5c31af7Sopenharmony_ci		values
10960e5c31af7Sopenharmony_ci		{
10961e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, true) | bvec2(false, true) | bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
10962e5c31af7Sopenharmony_ci			input float in1 = [ -20.125 | 2.0 | 36.8125 | 1.0 | 3.5 | 0.0 | -8.25 | -0.5 ];
10963e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, false, true) | bvec3(false, true, true) | bvec3(false, true, true) | bvec3(true, false, true) | bvec3(false, false, true) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, true) ];
10964e5c31af7Sopenharmony_ci		}
10965e5c31af7Sopenharmony_ci
10966e5c31af7Sopenharmony_ci		both ""
10967e5c31af7Sopenharmony_ci			#version 300 es
10968e5c31af7Sopenharmony_ci			precision mediump float;
10969e5c31af7Sopenharmony_ci			precision mediump int;
10970e5c31af7Sopenharmony_ci
10971e5c31af7Sopenharmony_ci			${DECLARATIONS}
10972e5c31af7Sopenharmony_ci
10973e5c31af7Sopenharmony_ci			void main()
10974e5c31af7Sopenharmony_ci			{
10975e5c31af7Sopenharmony_ci				${SETUP}
10976e5c31af7Sopenharmony_ci				out0 = bvec3(in0, in1);
10977e5c31af7Sopenharmony_ci				${OUTPUT}
10978e5c31af7Sopenharmony_ci			}
10979e5c31af7Sopenharmony_ci		""
10980e5c31af7Sopenharmony_ci	end
10981e5c31af7Sopenharmony_ci
10982e5c31af7Sopenharmony_ci	case bvec2_int_to_vec3
10983e5c31af7Sopenharmony_ci		version 300 es
10984e5c31af7Sopenharmony_ci		values
10985e5c31af7Sopenharmony_ci		{
10986e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ];
10987e5c31af7Sopenharmony_ci			input int in1 = [ 1 | -66 | 255 | 8 | -192 | 2 | 5 | 11 | -12 | 0 ];
10988e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(1.0, 1.0, 1.0) | vec3(0.0, 0.0, -66.0) | vec3(0.0, 0.0, 255.0) | vec3(1.0, 0.0, 8.0) | vec3(0.0, 0.0, -192.0) | vec3(0.0, 1.0, 2.0) | vec3(1.0, 0.0, 5.0) | vec3(0.0, 1.0, 11.0) | vec3(0.0, 0.0, -12.0) | vec3(1.0, 1.0, 0.0) ];
10989e5c31af7Sopenharmony_ci		}
10990e5c31af7Sopenharmony_ci
10991e5c31af7Sopenharmony_ci		both ""
10992e5c31af7Sopenharmony_ci			#version 300 es
10993e5c31af7Sopenharmony_ci			precision mediump float;
10994e5c31af7Sopenharmony_ci			precision mediump int;
10995e5c31af7Sopenharmony_ci
10996e5c31af7Sopenharmony_ci			${DECLARATIONS}
10997e5c31af7Sopenharmony_ci
10998e5c31af7Sopenharmony_ci			void main()
10999e5c31af7Sopenharmony_ci			{
11000e5c31af7Sopenharmony_ci				${SETUP}
11001e5c31af7Sopenharmony_ci				out0 = vec3(in0, in1);
11002e5c31af7Sopenharmony_ci				${OUTPUT}
11003e5c31af7Sopenharmony_ci			}
11004e5c31af7Sopenharmony_ci		""
11005e5c31af7Sopenharmony_ci	end
11006e5c31af7Sopenharmony_ci
11007e5c31af7Sopenharmony_ci	case bvec2_int_to_ivec3
11008e5c31af7Sopenharmony_ci		version 300 es
11009e5c31af7Sopenharmony_ci		values
11010e5c31af7Sopenharmony_ci		{
11011e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ];
11012e5c31af7Sopenharmony_ci			input int in1 = [ 1 | -66 | 255 | 8 | -192 | 2 | 5 | 11 | -12 | 0 ];
11013e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(0, 0, -66) | ivec3(0, 0, 255) | ivec3(1, 0, 8) | ivec3(0, 0, -192) | ivec3(0, 1, 2) | ivec3(1, 0, 5) | ivec3(0, 1, 11) | ivec3(0, 0, -12) | ivec3(1, 1, 0) ];
11014e5c31af7Sopenharmony_ci		}
11015e5c31af7Sopenharmony_ci
11016e5c31af7Sopenharmony_ci		both ""
11017e5c31af7Sopenharmony_ci			#version 300 es
11018e5c31af7Sopenharmony_ci			precision mediump float;
11019e5c31af7Sopenharmony_ci			precision mediump int;
11020e5c31af7Sopenharmony_ci
11021e5c31af7Sopenharmony_ci			${DECLARATIONS}
11022e5c31af7Sopenharmony_ci
11023e5c31af7Sopenharmony_ci			void main()
11024e5c31af7Sopenharmony_ci			{
11025e5c31af7Sopenharmony_ci				${SETUP}
11026e5c31af7Sopenharmony_ci				out0 = ivec3(in0, in1);
11027e5c31af7Sopenharmony_ci				${OUTPUT}
11028e5c31af7Sopenharmony_ci			}
11029e5c31af7Sopenharmony_ci		""
11030e5c31af7Sopenharmony_ci	end
11031e5c31af7Sopenharmony_ci
11032e5c31af7Sopenharmony_ci	case bvec2_int_to_bvec3
11033e5c31af7Sopenharmony_ci		version 300 es
11034e5c31af7Sopenharmony_ci		values
11035e5c31af7Sopenharmony_ci		{
11036e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ];
11037e5c31af7Sopenharmony_ci			input int in1 = [ 1 | -66 | 255 | 8 | -192 | 2 | 5 | 11 | -12 | 0 ];
11038e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(false, false, true) | bvec3(false, false, true) | bvec3(true, false, true) | bvec3(false, false, true) | bvec3(false, true, true) | bvec3(true, false, true) | bvec3(false, true, true) | bvec3(false, false, true) | bvec3(true, true, false) ];
11039e5c31af7Sopenharmony_ci		}
11040e5c31af7Sopenharmony_ci
11041e5c31af7Sopenharmony_ci		both ""
11042e5c31af7Sopenharmony_ci			#version 300 es
11043e5c31af7Sopenharmony_ci			precision mediump float;
11044e5c31af7Sopenharmony_ci			precision mediump int;
11045e5c31af7Sopenharmony_ci
11046e5c31af7Sopenharmony_ci			${DECLARATIONS}
11047e5c31af7Sopenharmony_ci
11048e5c31af7Sopenharmony_ci			void main()
11049e5c31af7Sopenharmony_ci			{
11050e5c31af7Sopenharmony_ci				${SETUP}
11051e5c31af7Sopenharmony_ci				out0 = bvec3(in0, in1);
11052e5c31af7Sopenharmony_ci				${OUTPUT}
11053e5c31af7Sopenharmony_ci			}
11054e5c31af7Sopenharmony_ci		""
11055e5c31af7Sopenharmony_ci	end
11056e5c31af7Sopenharmony_ci
11057e5c31af7Sopenharmony_ci	case bool_ivec2_to_vec3
11058e5c31af7Sopenharmony_ci		version 300 es
11059e5c31af7Sopenharmony_ci		values
11060e5c31af7Sopenharmony_ci		{
11061e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | false | false | true ];
11062e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(1, 1) | ivec2(-32, 64) ];
11063e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(1.0, 0.0, -2.0) | vec3(1.0, 0.0, 0.0) | vec3(0.0, 0.0, 0.0) | vec3(0.0, 1.0, 1.0) | vec3(1.0, -32.0, 64.0) ];
11064e5c31af7Sopenharmony_ci		}
11065e5c31af7Sopenharmony_ci
11066e5c31af7Sopenharmony_ci		both ""
11067e5c31af7Sopenharmony_ci			#version 300 es
11068e5c31af7Sopenharmony_ci			precision mediump float;
11069e5c31af7Sopenharmony_ci			precision mediump int;
11070e5c31af7Sopenharmony_ci
11071e5c31af7Sopenharmony_ci			${DECLARATIONS}
11072e5c31af7Sopenharmony_ci
11073e5c31af7Sopenharmony_ci			void main()
11074e5c31af7Sopenharmony_ci			{
11075e5c31af7Sopenharmony_ci				${SETUP}
11076e5c31af7Sopenharmony_ci				out0 = vec3(in0, in1);
11077e5c31af7Sopenharmony_ci				${OUTPUT}
11078e5c31af7Sopenharmony_ci			}
11079e5c31af7Sopenharmony_ci		""
11080e5c31af7Sopenharmony_ci	end
11081e5c31af7Sopenharmony_ci
11082e5c31af7Sopenharmony_ci	case bool_ivec2_to_ivec3
11083e5c31af7Sopenharmony_ci		version 300 es
11084e5c31af7Sopenharmony_ci		values
11085e5c31af7Sopenharmony_ci		{
11086e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | false | false | true ];
11087e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(1, 1) | ivec2(-32, 64) ];
11088e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(1, 0, -2) | ivec3(1, 0, 0) | ivec3(0, 0, 0) | ivec3(0, 1, 1) | ivec3(1, -32, 64) ];
11089e5c31af7Sopenharmony_ci		}
11090e5c31af7Sopenharmony_ci
11091e5c31af7Sopenharmony_ci		both ""
11092e5c31af7Sopenharmony_ci			#version 300 es
11093e5c31af7Sopenharmony_ci			precision mediump float;
11094e5c31af7Sopenharmony_ci			precision mediump int;
11095e5c31af7Sopenharmony_ci
11096e5c31af7Sopenharmony_ci			${DECLARATIONS}
11097e5c31af7Sopenharmony_ci
11098e5c31af7Sopenharmony_ci			void main()
11099e5c31af7Sopenharmony_ci			{
11100e5c31af7Sopenharmony_ci				${SETUP}
11101e5c31af7Sopenharmony_ci				out0 = ivec3(in0, in1);
11102e5c31af7Sopenharmony_ci				${OUTPUT}
11103e5c31af7Sopenharmony_ci			}
11104e5c31af7Sopenharmony_ci		""
11105e5c31af7Sopenharmony_ci	end
11106e5c31af7Sopenharmony_ci
11107e5c31af7Sopenharmony_ci	case bool_ivec2_to_bvec3
11108e5c31af7Sopenharmony_ci		version 300 es
11109e5c31af7Sopenharmony_ci		values
11110e5c31af7Sopenharmony_ci		{
11111e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | false | false | true ];
11112e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(1, 1) | ivec2(-32, 64) ];
11113e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, false, true) | bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, true) | bvec3(true, true, true) ];
11114e5c31af7Sopenharmony_ci		}
11115e5c31af7Sopenharmony_ci
11116e5c31af7Sopenharmony_ci		both ""
11117e5c31af7Sopenharmony_ci			#version 300 es
11118e5c31af7Sopenharmony_ci			precision mediump float;
11119e5c31af7Sopenharmony_ci			precision mediump int;
11120e5c31af7Sopenharmony_ci
11121e5c31af7Sopenharmony_ci			${DECLARATIONS}
11122e5c31af7Sopenharmony_ci
11123e5c31af7Sopenharmony_ci			void main()
11124e5c31af7Sopenharmony_ci			{
11125e5c31af7Sopenharmony_ci				${SETUP}
11126e5c31af7Sopenharmony_ci				out0 = bvec3(in0, in1);
11127e5c31af7Sopenharmony_ci				${OUTPUT}
11128e5c31af7Sopenharmony_ci			}
11129e5c31af7Sopenharmony_ci		""
11130e5c31af7Sopenharmony_ci	end
11131e5c31af7Sopenharmony_ci
11132e5c31af7Sopenharmony_ci	case float_uvec2_to_vec3
11133e5c31af7Sopenharmony_ci		version 300 es
11134e5c31af7Sopenharmony_ci		values
11135e5c31af7Sopenharmony_ci		{
11136e5c31af7Sopenharmony_ci			input float in0 = [ -20.125 | 36.8125 | -8.25 | 2.0 | -0.5 | 0.0 | 3.5 | 1.0 ];
11137e5c31af7Sopenharmony_ci			input uvec2 in1 = [ uvec2(0, 0) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) | uvec2(0, 2) | uvec2(0, 0) | uvec2(1, 1) | uvec2(1, 1) ];
11138e5c31af7Sopenharmony_ci			output vec3 out0 = [ vec3(-20.125, 0.0, 0.0) | vec3(36.8125, 0.0, 2.0) | vec3(-8.25, 32.0, 64.0) | vec3(2.0, 0.0, 0.0) | vec3(-0.5, 0.0, 2.0) | vec3(0.0, 0.0, 0.0) | vec3(3.5, 1.0, 1.0) | vec3(1.0, 1.0, 1.0) ];
11139e5c31af7Sopenharmony_ci		}
11140e5c31af7Sopenharmony_ci
11141e5c31af7Sopenharmony_ci		both ""
11142e5c31af7Sopenharmony_ci			#version 300 es
11143e5c31af7Sopenharmony_ci			precision mediump float;
11144e5c31af7Sopenharmony_ci			precision mediump int;
11145e5c31af7Sopenharmony_ci
11146e5c31af7Sopenharmony_ci			${DECLARATIONS}
11147e5c31af7Sopenharmony_ci
11148e5c31af7Sopenharmony_ci			void main()
11149e5c31af7Sopenharmony_ci			{
11150e5c31af7Sopenharmony_ci				${SETUP}
11151e5c31af7Sopenharmony_ci				out0 = vec3(in0, in1);
11152e5c31af7Sopenharmony_ci				${OUTPUT}
11153e5c31af7Sopenharmony_ci			}
11154e5c31af7Sopenharmony_ci		""
11155e5c31af7Sopenharmony_ci	end
11156e5c31af7Sopenharmony_ci
11157e5c31af7Sopenharmony_ci	case float_uvec2_to_ivec3
11158e5c31af7Sopenharmony_ci		version 300 es
11159e5c31af7Sopenharmony_ci		values
11160e5c31af7Sopenharmony_ci		{
11161e5c31af7Sopenharmony_ci			input float in0 = [ -20.125 | 36.8125 | -8.25 | 2.0 | -0.5 | 0.0 | 3.5 | 1.0 ];
11162e5c31af7Sopenharmony_ci			input uvec2 in1 = [ uvec2(0, 0) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) | uvec2(0, 2) | uvec2(0, 0) | uvec2(1, 1) | uvec2(1, 1) ];
11163e5c31af7Sopenharmony_ci			output ivec3 out0 = [ ivec3(-20, 0, 0) | ivec3(36, 0, 2) | ivec3(-8, 32, 64) | ivec3(2, 0, 0) | ivec3(0, 0, 2) | ivec3(0, 0, 0) | ivec3(3, 1, 1) | ivec3(1, 1, 1) ];
11164e5c31af7Sopenharmony_ci		}
11165e5c31af7Sopenharmony_ci
11166e5c31af7Sopenharmony_ci		both ""
11167e5c31af7Sopenharmony_ci			#version 300 es
11168e5c31af7Sopenharmony_ci			precision mediump float;
11169e5c31af7Sopenharmony_ci			precision mediump int;
11170e5c31af7Sopenharmony_ci
11171e5c31af7Sopenharmony_ci			${DECLARATIONS}
11172e5c31af7Sopenharmony_ci
11173e5c31af7Sopenharmony_ci			void main()
11174e5c31af7Sopenharmony_ci			{
11175e5c31af7Sopenharmony_ci				${SETUP}
11176e5c31af7Sopenharmony_ci				out0 = ivec3(in0, in1);
11177e5c31af7Sopenharmony_ci				${OUTPUT}
11178e5c31af7Sopenharmony_ci			}
11179e5c31af7Sopenharmony_ci		""
11180e5c31af7Sopenharmony_ci	end
11181e5c31af7Sopenharmony_ci
11182e5c31af7Sopenharmony_ci	case float_uvec2_to_bvec3
11183e5c31af7Sopenharmony_ci		version 300 es
11184e5c31af7Sopenharmony_ci		values
11185e5c31af7Sopenharmony_ci		{
11186e5c31af7Sopenharmony_ci			input float in0 = [ -20.125 | 36.8125 | -8.25 | 2.0 | -0.5 | 0.0 | 3.5 | 1.0 ];
11187e5c31af7Sopenharmony_ci			input uvec2 in1 = [ uvec2(0, 0) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) | uvec2(0, 2) | uvec2(0, 0) | uvec2(1, 1) | uvec2(1, 1) ];
11188e5c31af7Sopenharmony_ci			output bvec3 out0 = [ bvec3(true, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(true, false, false) | bvec3(true, false, true) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(true, true, true) ];
11189e5c31af7Sopenharmony_ci		}
11190e5c31af7Sopenharmony_ci
11191e5c31af7Sopenharmony_ci		both ""
11192e5c31af7Sopenharmony_ci			#version 300 es
11193e5c31af7Sopenharmony_ci			precision mediump float;
11194e5c31af7Sopenharmony_ci			precision mediump int;
11195e5c31af7Sopenharmony_ci
11196e5c31af7Sopenharmony_ci			${DECLARATIONS}
11197e5c31af7Sopenharmony_ci
11198e5c31af7Sopenharmony_ci			void main()
11199e5c31af7Sopenharmony_ci			{
11200e5c31af7Sopenharmony_ci				${SETUP}
11201e5c31af7Sopenharmony_ci				out0 = bvec3(in0, in1);
11202e5c31af7Sopenharmony_ci				${OUTPUT}
11203e5c31af7Sopenharmony_ci			}
11204e5c31af7Sopenharmony_ci		""
11205e5c31af7Sopenharmony_ci	end
11206e5c31af7Sopenharmony_ci
11207e5c31af7Sopenharmony_ci	case float_float_float_to_uvec3
11208e5c31af7Sopenharmony_ci		version 300 es
11209e5c31af7Sopenharmony_ci		values
11210e5c31af7Sopenharmony_ci		{
11211e5c31af7Sopenharmony_ci			input float in0 = [ 8.25 | 20.125 | 2.0 | 3.5 | 0.5 | 36.8125 | 1.0 | 0.0 ];
11212e5c31af7Sopenharmony_ci			input float in1 = [ 1.0 | 0.0 | 3.5 | 36.8125 | 8.25 | 2.0 | 0.5 | 20.125 ];
11213e5c31af7Sopenharmony_ci			input float in2 = [ 20.125 | 0.5 | 8.25 | 36.8125 | 1.0 | 0.0 | 3.5 | 2.0 ];
11214e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(8, 1, 20) | uvec3(20, 0, 0) | uvec3(2, 3, 8) | uvec3(3, 36, 36) | uvec3(0, 8, 1) | uvec3(36, 2, 0) | uvec3(1, 0, 3) | uvec3(0, 20, 2) ];
11215e5c31af7Sopenharmony_ci		}
11216e5c31af7Sopenharmony_ci
11217e5c31af7Sopenharmony_ci		both ""
11218e5c31af7Sopenharmony_ci			#version 300 es
11219e5c31af7Sopenharmony_ci			precision mediump float;
11220e5c31af7Sopenharmony_ci			precision mediump int;
11221e5c31af7Sopenharmony_ci
11222e5c31af7Sopenharmony_ci			${DECLARATIONS}
11223e5c31af7Sopenharmony_ci
11224e5c31af7Sopenharmony_ci			void main()
11225e5c31af7Sopenharmony_ci			{
11226e5c31af7Sopenharmony_ci				${SETUP}
11227e5c31af7Sopenharmony_ci				out0 = uvec3(in0, in1, in2);
11228e5c31af7Sopenharmony_ci				${OUTPUT}
11229e5c31af7Sopenharmony_ci			}
11230e5c31af7Sopenharmony_ci		""
11231e5c31af7Sopenharmony_ci	end
11232e5c31af7Sopenharmony_ci
11233e5c31af7Sopenharmony_ci	case int_int_int_to_uvec3
11234e5c31af7Sopenharmony_ci		version 300 es
11235e5c31af7Sopenharmony_ci		values
11236e5c31af7Sopenharmony_ci		{
11237e5c31af7Sopenharmony_ci			input int in0 = [ 1 | 255 | 192 | 2 | 5 | 12 | 0 | 11 | 8 | 66 ];
11238e5c31af7Sopenharmony_ci			input int in1 = [ 192 | 66 | 5 | 8 | 11 | 1 | 0 | 255 | 12 | 2 ];
11239e5c31af7Sopenharmony_ci			input int in2 = [ 192 | 5 | 1 | 11 | 66 | 8 | 12 | 0 | 2 | 255 ];
11240e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(1, 192, 192) | uvec3(255, 66, 5) | uvec3(192, 5, 1) | uvec3(2, 8, 11) | uvec3(5, 11, 66) | uvec3(12, 1, 8) | uvec3(0, 0, 12) | uvec3(11, 255, 0) | uvec3(8, 12, 2) | uvec3(66, 2, 255) ];
11241e5c31af7Sopenharmony_ci		}
11242e5c31af7Sopenharmony_ci
11243e5c31af7Sopenharmony_ci		both ""
11244e5c31af7Sopenharmony_ci			#version 300 es
11245e5c31af7Sopenharmony_ci			precision mediump float;
11246e5c31af7Sopenharmony_ci			precision mediump int;
11247e5c31af7Sopenharmony_ci
11248e5c31af7Sopenharmony_ci			${DECLARATIONS}
11249e5c31af7Sopenharmony_ci
11250e5c31af7Sopenharmony_ci			void main()
11251e5c31af7Sopenharmony_ci			{
11252e5c31af7Sopenharmony_ci				${SETUP}
11253e5c31af7Sopenharmony_ci				out0 = uvec3(in0, in1, in2);
11254e5c31af7Sopenharmony_ci				${OUTPUT}
11255e5c31af7Sopenharmony_ci			}
11256e5c31af7Sopenharmony_ci		""
11257e5c31af7Sopenharmony_ci	end
11258e5c31af7Sopenharmony_ci
11259e5c31af7Sopenharmony_ci	case uint_uint_uint_to_uvec3
11260e5c31af7Sopenharmony_ci		version 300 es
11261e5c31af7Sopenharmony_ci		values
11262e5c31af7Sopenharmony_ci		{
11263e5c31af7Sopenharmony_ci			input uint in0 = [ 193 | 9 | 45 | 255 | 2 | 0 | 10 | 8 | 12 | 3 ];
11264e5c31af7Sopenharmony_ci			input uint in1 = [ 3 | 45 | 2 | 9 | 10 | 0 | 8 | 12 | 255 | 193 ];
11265e5c31af7Sopenharmony_ci			input uint in2 = [ 2 | 3 | 9 | 10 | 255 | 8 | 12 | 0 | 193 | 45 ];
11266e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(193, 3, 2) | uvec3(9, 45, 3) | uvec3(45, 2, 9) | uvec3(255, 9, 10) | uvec3(2, 10, 255) | uvec3(0, 0, 8) | uvec3(10, 8, 12) | uvec3(8, 12, 0) | uvec3(12, 255, 193) | uvec3(3, 193, 45) ];
11267e5c31af7Sopenharmony_ci		}
11268e5c31af7Sopenharmony_ci
11269e5c31af7Sopenharmony_ci		both ""
11270e5c31af7Sopenharmony_ci			#version 300 es
11271e5c31af7Sopenharmony_ci			precision mediump float;
11272e5c31af7Sopenharmony_ci			precision mediump int;
11273e5c31af7Sopenharmony_ci
11274e5c31af7Sopenharmony_ci			${DECLARATIONS}
11275e5c31af7Sopenharmony_ci
11276e5c31af7Sopenharmony_ci			void main()
11277e5c31af7Sopenharmony_ci			{
11278e5c31af7Sopenharmony_ci				${SETUP}
11279e5c31af7Sopenharmony_ci				out0 = uvec3(in0, in1, in2);
11280e5c31af7Sopenharmony_ci				${OUTPUT}
11281e5c31af7Sopenharmony_ci			}
11282e5c31af7Sopenharmony_ci		""
11283e5c31af7Sopenharmony_ci	end
11284e5c31af7Sopenharmony_ci
11285e5c31af7Sopenharmony_ci	case bool_bool_bool_to_uvec3
11286e5c31af7Sopenharmony_ci		version 300 es
11287e5c31af7Sopenharmony_ci		values
11288e5c31af7Sopenharmony_ci		{
11289e5c31af7Sopenharmony_ci			input bool in0 = [ false | true ];
11290e5c31af7Sopenharmony_ci			input bool in1 = [ false | true ];
11291e5c31af7Sopenharmony_ci			input bool in2 = [ true | false ];
11292e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(0, 0, 1) | uvec3(1, 1, 0) ];
11293e5c31af7Sopenharmony_ci		}
11294e5c31af7Sopenharmony_ci
11295e5c31af7Sopenharmony_ci		both ""
11296e5c31af7Sopenharmony_ci			#version 300 es
11297e5c31af7Sopenharmony_ci			precision mediump float;
11298e5c31af7Sopenharmony_ci			precision mediump int;
11299e5c31af7Sopenharmony_ci
11300e5c31af7Sopenharmony_ci			${DECLARATIONS}
11301e5c31af7Sopenharmony_ci
11302e5c31af7Sopenharmony_ci			void main()
11303e5c31af7Sopenharmony_ci			{
11304e5c31af7Sopenharmony_ci				${SETUP}
11305e5c31af7Sopenharmony_ci				out0 = uvec3(in0, in1, in2);
11306e5c31af7Sopenharmony_ci				${OUTPUT}
11307e5c31af7Sopenharmony_ci			}
11308e5c31af7Sopenharmony_ci		""
11309e5c31af7Sopenharmony_ci	end
11310e5c31af7Sopenharmony_ci
11311e5c31af7Sopenharmony_ci	case bool_float_int_to_uvec3
11312e5c31af7Sopenharmony_ci		version 300 es
11313e5c31af7Sopenharmony_ci		values
11314e5c31af7Sopenharmony_ci		{
11315e5c31af7Sopenharmony_ci			input bool in0 = [ true | false | true | false | false | true | false | true | true | false ];
11316e5c31af7Sopenharmony_ci			input float in1 = [ 36.8125 | 20.125 | 1.0 | 0.0 | 3.5 | 1.0 | 2.0 | 0.5 | 0.0 | 8.25 ];
11317e5c31af7Sopenharmony_ci			input int in2 = [ 1 | 0 | 8 | 66 | 2 | 11 | 192 | 5 | 12 | 255 ];
11318e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(1, 36, 1) | uvec3(0, 20, 0) | uvec3(1, 1, 8) | uvec3(0, 0, 66) | uvec3(0, 3, 2) | uvec3(1, 1, 11) | uvec3(0, 2, 192) | uvec3(1, 0, 5) | uvec3(1, 0, 12) | uvec3(0, 8, 255) ];
11319e5c31af7Sopenharmony_ci		}
11320e5c31af7Sopenharmony_ci
11321e5c31af7Sopenharmony_ci		both ""
11322e5c31af7Sopenharmony_ci			#version 300 es
11323e5c31af7Sopenharmony_ci			precision mediump float;
11324e5c31af7Sopenharmony_ci			precision mediump int;
11325e5c31af7Sopenharmony_ci
11326e5c31af7Sopenharmony_ci			${DECLARATIONS}
11327e5c31af7Sopenharmony_ci
11328e5c31af7Sopenharmony_ci			void main()
11329e5c31af7Sopenharmony_ci			{
11330e5c31af7Sopenharmony_ci				${SETUP}
11331e5c31af7Sopenharmony_ci				out0 = uvec3(in0, in1, in2);
11332e5c31af7Sopenharmony_ci				${OUTPUT}
11333e5c31af7Sopenharmony_ci			}
11334e5c31af7Sopenharmony_ci		""
11335e5c31af7Sopenharmony_ci	end
11336e5c31af7Sopenharmony_ci
11337e5c31af7Sopenharmony_ci	case vec2_bool_to_uvec3
11338e5c31af7Sopenharmony_ci		version 300 es
11339e5c31af7Sopenharmony_ci		values
11340e5c31af7Sopenharmony_ci		{
11341e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(32.0, 64.0) | vec2(0.5, 2.25) | vec2(1.0, 1.25) | vec2(0.75, 0.0322580645161) ];
11342e5c31af7Sopenharmony_ci			input bool in1 = [ false | false | true | true | true ];
11343e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(32, 64, 0) | uvec3(0, 2, 1) | uvec3(1, 1, 1) | uvec3(0, 0, 1) ];
11344e5c31af7Sopenharmony_ci		}
11345e5c31af7Sopenharmony_ci
11346e5c31af7Sopenharmony_ci		both ""
11347e5c31af7Sopenharmony_ci			#version 300 es
11348e5c31af7Sopenharmony_ci			precision mediump float;
11349e5c31af7Sopenharmony_ci			precision mediump int;
11350e5c31af7Sopenharmony_ci
11351e5c31af7Sopenharmony_ci			${DECLARATIONS}
11352e5c31af7Sopenharmony_ci
11353e5c31af7Sopenharmony_ci			void main()
11354e5c31af7Sopenharmony_ci			{
11355e5c31af7Sopenharmony_ci				${SETUP}
11356e5c31af7Sopenharmony_ci				out0 = uvec3(in0, in1);
11357e5c31af7Sopenharmony_ci				${OUTPUT}
11358e5c31af7Sopenharmony_ci			}
11359e5c31af7Sopenharmony_ci		""
11360e5c31af7Sopenharmony_ci	end
11361e5c31af7Sopenharmony_ci
11362e5c31af7Sopenharmony_ci	case bvec2_float_to_uvec3
11363e5c31af7Sopenharmony_ci		version 300 es
11364e5c31af7Sopenharmony_ci		values
11365e5c31af7Sopenharmony_ci		{
11366e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(false, false) ];
11367e5c31af7Sopenharmony_ci			input float in1 = [ 8.25 | 36.8125 | 20.125 | 2.0 | 0.0 | 1.0 | 0.5 | 3.5 ];
11368e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(1, 1, 8) | uvec3(1, 0, 36) | uvec3(0, 1, 20) | uvec3(0, 0, 2) | uvec3(1, 0, 0) | uvec3(0, 1, 1) | uvec3(0, 0, 0) | uvec3(0, 0, 3) ];
11369e5c31af7Sopenharmony_ci		}
11370e5c31af7Sopenharmony_ci
11371e5c31af7Sopenharmony_ci		both ""
11372e5c31af7Sopenharmony_ci			#version 300 es
11373e5c31af7Sopenharmony_ci			precision mediump float;
11374e5c31af7Sopenharmony_ci			precision mediump int;
11375e5c31af7Sopenharmony_ci
11376e5c31af7Sopenharmony_ci			${DECLARATIONS}
11377e5c31af7Sopenharmony_ci
11378e5c31af7Sopenharmony_ci			void main()
11379e5c31af7Sopenharmony_ci			{
11380e5c31af7Sopenharmony_ci				${SETUP}
11381e5c31af7Sopenharmony_ci				out0 = uvec3(in0, in1);
11382e5c31af7Sopenharmony_ci				${OUTPUT}
11383e5c31af7Sopenharmony_ci			}
11384e5c31af7Sopenharmony_ci		""
11385e5c31af7Sopenharmony_ci	end
11386e5c31af7Sopenharmony_ci
11387e5c31af7Sopenharmony_ci	case bvec2_int_to_uvec3
11388e5c31af7Sopenharmony_ci		version 300 es
11389e5c31af7Sopenharmony_ci		values
11390e5c31af7Sopenharmony_ci		{
11391e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(true, true) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, false) ];
11392e5c31af7Sopenharmony_ci			input int in1 = [ 255 | 1 | 2 | 5 | 0 | 11 | 192 | 12 | 8 | 66 ];
11393e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(1, 1, 255) | uvec3(0, 1, 1) | uvec3(0, 0, 2) | uvec3(1, 1, 5) | uvec3(0, 0, 0) | uvec3(1, 0, 11) | uvec3(0, 0, 192) | uvec3(0, 0, 12) | uvec3(0, 1, 8) | uvec3(1, 0, 66) ];
11394e5c31af7Sopenharmony_ci		}
11395e5c31af7Sopenharmony_ci
11396e5c31af7Sopenharmony_ci		both ""
11397e5c31af7Sopenharmony_ci			#version 300 es
11398e5c31af7Sopenharmony_ci			precision mediump float;
11399e5c31af7Sopenharmony_ci			precision mediump int;
11400e5c31af7Sopenharmony_ci
11401e5c31af7Sopenharmony_ci			${DECLARATIONS}
11402e5c31af7Sopenharmony_ci
11403e5c31af7Sopenharmony_ci			void main()
11404e5c31af7Sopenharmony_ci			{
11405e5c31af7Sopenharmony_ci				${SETUP}
11406e5c31af7Sopenharmony_ci				out0 = uvec3(in0, in1);
11407e5c31af7Sopenharmony_ci				${OUTPUT}
11408e5c31af7Sopenharmony_ci			}
11409e5c31af7Sopenharmony_ci		""
11410e5c31af7Sopenharmony_ci	end
11411e5c31af7Sopenharmony_ci
11412e5c31af7Sopenharmony_ci	case bool_ivec2_to_uvec3
11413e5c31af7Sopenharmony_ci		version 300 es
11414e5c31af7Sopenharmony_ci		values
11415e5c31af7Sopenharmony_ci		{
11416e5c31af7Sopenharmony_ci			input bool in0 = [ true | false | true | true | false ];
11417e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, 2) | ivec2(1, 1) | ivec2(0, 0) | ivec2(32, 64) ];
11418e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(1, 0, 0) | uvec3(0, 0, 2) | uvec3(1, 1, 1) | uvec3(1, 0, 0) | uvec3(0, 32, 64) ];
11419e5c31af7Sopenharmony_ci		}
11420e5c31af7Sopenharmony_ci
11421e5c31af7Sopenharmony_ci		both ""
11422e5c31af7Sopenharmony_ci			#version 300 es
11423e5c31af7Sopenharmony_ci			precision mediump float;
11424e5c31af7Sopenharmony_ci			precision mediump int;
11425e5c31af7Sopenharmony_ci
11426e5c31af7Sopenharmony_ci			${DECLARATIONS}
11427e5c31af7Sopenharmony_ci
11428e5c31af7Sopenharmony_ci			void main()
11429e5c31af7Sopenharmony_ci			{
11430e5c31af7Sopenharmony_ci				${SETUP}
11431e5c31af7Sopenharmony_ci				out0 = uvec3(in0, in1);
11432e5c31af7Sopenharmony_ci				${OUTPUT}
11433e5c31af7Sopenharmony_ci			}
11434e5c31af7Sopenharmony_ci		""
11435e5c31af7Sopenharmony_ci	end
11436e5c31af7Sopenharmony_ci
11437e5c31af7Sopenharmony_ci	case float_uvec2_to_uvec3
11438e5c31af7Sopenharmony_ci		version 300 es
11439e5c31af7Sopenharmony_ci		values
11440e5c31af7Sopenharmony_ci		{
11441e5c31af7Sopenharmony_ci			input float in0 = [ 2.0 | 8.25 | 20.125 | 3.5 | 0.0 | 0.5 | 36.8125 | 1.0 ];
11442e5c31af7Sopenharmony_ci			input uvec2 in1 = [ uvec2(0, 2) | uvec2(1, 1) | uvec2(32, 64) | uvec2(0, 0) | uvec2(0, 2) | uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 0) ];
11443e5c31af7Sopenharmony_ci			output uvec3 out0 = [ uvec3(2, 0, 2) | uvec3(8, 1, 1) | uvec3(20, 32, 64) | uvec3(3, 0, 0) | uvec3(0, 0, 2) | uvec3(0, 0, 0) | uvec3(36, 1, 1) | uvec3(1, 0, 0) ];
11444e5c31af7Sopenharmony_ci		}
11445e5c31af7Sopenharmony_ci
11446e5c31af7Sopenharmony_ci		both ""
11447e5c31af7Sopenharmony_ci			#version 300 es
11448e5c31af7Sopenharmony_ci			precision mediump float;
11449e5c31af7Sopenharmony_ci			precision mediump int;
11450e5c31af7Sopenharmony_ci
11451e5c31af7Sopenharmony_ci			${DECLARATIONS}
11452e5c31af7Sopenharmony_ci
11453e5c31af7Sopenharmony_ci			void main()
11454e5c31af7Sopenharmony_ci			{
11455e5c31af7Sopenharmony_ci				${SETUP}
11456e5c31af7Sopenharmony_ci				out0 = uvec3(in0, in1);
11457e5c31af7Sopenharmony_ci				${OUTPUT}
11458e5c31af7Sopenharmony_ci			}
11459e5c31af7Sopenharmony_ci		""
11460e5c31af7Sopenharmony_ci	end
11461e5c31af7Sopenharmony_ci
11462e5c31af7Sopenharmony_ci	case float_float_to_vec2
11463e5c31af7Sopenharmony_ci		version 300 es
11464e5c31af7Sopenharmony_ci		values
11465e5c31af7Sopenharmony_ci		{
11466e5c31af7Sopenharmony_ci			input float in0 = [ -0.5 | -20.125 | 1.0 | 2.0 | 3.5 | 36.8125 | -8.25 | 0.0 ];
11467e5c31af7Sopenharmony_ci			input float in1 = [ 1.0 | -20.125 | 0.0 | 3.5 | -8.25 | 36.8125 | -0.5 | 2.0 ];
11468e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(-0.5, 1.0) | vec2(-20.125, -20.125) | vec2(1.0, 0.0) | vec2(2.0, 3.5) | vec2(3.5, -8.25) | vec2(36.8125, 36.8125) | vec2(-8.25, -0.5) | vec2(0.0, 2.0) ];
11469e5c31af7Sopenharmony_ci		}
11470e5c31af7Sopenharmony_ci
11471e5c31af7Sopenharmony_ci		both ""
11472e5c31af7Sopenharmony_ci			#version 300 es
11473e5c31af7Sopenharmony_ci			precision mediump float;
11474e5c31af7Sopenharmony_ci			precision mediump int;
11475e5c31af7Sopenharmony_ci
11476e5c31af7Sopenharmony_ci			${DECLARATIONS}
11477e5c31af7Sopenharmony_ci
11478e5c31af7Sopenharmony_ci			void main()
11479e5c31af7Sopenharmony_ci			{
11480e5c31af7Sopenharmony_ci				${SETUP}
11481e5c31af7Sopenharmony_ci				out0 = vec2(in0, in1);
11482e5c31af7Sopenharmony_ci				${OUTPUT}
11483e5c31af7Sopenharmony_ci			}
11484e5c31af7Sopenharmony_ci		""
11485e5c31af7Sopenharmony_ci	end
11486e5c31af7Sopenharmony_ci
11487e5c31af7Sopenharmony_ci	case float_float_to_ivec2
11488e5c31af7Sopenharmony_ci		version 300 es
11489e5c31af7Sopenharmony_ci		values
11490e5c31af7Sopenharmony_ci		{
11491e5c31af7Sopenharmony_ci			input float in0 = [ -0.5 | -20.125 | 1.0 | 2.0 | 3.5 | 36.8125 | -8.25 | 0.0 ];
11492e5c31af7Sopenharmony_ci			input float in1 = [ 1.0 | -20.125 | 0.0 | 3.5 | -8.25 | 36.8125 | -0.5 | 2.0 ];
11493e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, 1) | ivec2(-20, -20) | ivec2(1, 0) | ivec2(2, 3) | ivec2(3, -8) | ivec2(36, 36) | ivec2(-8, 0) | ivec2(0, 2) ];
11494e5c31af7Sopenharmony_ci		}
11495e5c31af7Sopenharmony_ci
11496e5c31af7Sopenharmony_ci		both ""
11497e5c31af7Sopenharmony_ci			#version 300 es
11498e5c31af7Sopenharmony_ci			precision mediump float;
11499e5c31af7Sopenharmony_ci			precision mediump int;
11500e5c31af7Sopenharmony_ci
11501e5c31af7Sopenharmony_ci			${DECLARATIONS}
11502e5c31af7Sopenharmony_ci
11503e5c31af7Sopenharmony_ci			void main()
11504e5c31af7Sopenharmony_ci			{
11505e5c31af7Sopenharmony_ci				${SETUP}
11506e5c31af7Sopenharmony_ci				out0 = ivec2(in0, in1);
11507e5c31af7Sopenharmony_ci				${OUTPUT}
11508e5c31af7Sopenharmony_ci			}
11509e5c31af7Sopenharmony_ci		""
11510e5c31af7Sopenharmony_ci	end
11511e5c31af7Sopenharmony_ci
11512e5c31af7Sopenharmony_ci	case float_float_to_bvec2
11513e5c31af7Sopenharmony_ci		version 300 es
11514e5c31af7Sopenharmony_ci		values
11515e5c31af7Sopenharmony_ci		{
11516e5c31af7Sopenharmony_ci			input float in0 = [ -0.5 | -20.125 | 1.0 | 2.0 | 3.5 | 36.8125 | -8.25 | 0.0 ];
11517e5c31af7Sopenharmony_ci			input float in1 = [ 1.0 | -20.125 | 0.0 | 3.5 | -8.25 | 36.8125 | -0.5 | 2.0 ];
11518e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, true) | bvec2(true, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(false, true) ];
11519e5c31af7Sopenharmony_ci		}
11520e5c31af7Sopenharmony_ci
11521e5c31af7Sopenharmony_ci		both ""
11522e5c31af7Sopenharmony_ci			#version 300 es
11523e5c31af7Sopenharmony_ci			precision mediump float;
11524e5c31af7Sopenharmony_ci			precision mediump int;
11525e5c31af7Sopenharmony_ci
11526e5c31af7Sopenharmony_ci			${DECLARATIONS}
11527e5c31af7Sopenharmony_ci
11528e5c31af7Sopenharmony_ci			void main()
11529e5c31af7Sopenharmony_ci			{
11530e5c31af7Sopenharmony_ci				${SETUP}
11531e5c31af7Sopenharmony_ci				out0 = bvec2(in0, in1);
11532e5c31af7Sopenharmony_ci				${OUTPUT}
11533e5c31af7Sopenharmony_ci			}
11534e5c31af7Sopenharmony_ci		""
11535e5c31af7Sopenharmony_ci	end
11536e5c31af7Sopenharmony_ci
11537e5c31af7Sopenharmony_ci	case int_int_to_vec2
11538e5c31af7Sopenharmony_ci		version 300 es
11539e5c31af7Sopenharmony_ci		values
11540e5c31af7Sopenharmony_ci		{
11541e5c31af7Sopenharmony_ci			input int in0 = [ 2 | -66 | 0 | 5 | -12 | 8 | -192 | 1 | 11 | 255 ];
11542e5c31af7Sopenharmony_ci			input int in1 = [ -192 | 8 | 1 | 0 | 5 | -66 | 2 | 255 | 11 | -12 ];
11543e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(2.0, -192.0) | vec2(-66.0, 8.0) | vec2(0.0, 1.0) | vec2(5.0, 0.0) | vec2(-12.0, 5.0) | vec2(8.0, -66.0) | vec2(-192.0, 2.0) | vec2(1.0, 255.0) | vec2(11.0, 11.0) | vec2(255.0, -12.0) ];
11544e5c31af7Sopenharmony_ci		}
11545e5c31af7Sopenharmony_ci
11546e5c31af7Sopenharmony_ci		both ""
11547e5c31af7Sopenharmony_ci			#version 300 es
11548e5c31af7Sopenharmony_ci			precision mediump float;
11549e5c31af7Sopenharmony_ci			precision mediump int;
11550e5c31af7Sopenharmony_ci
11551e5c31af7Sopenharmony_ci			${DECLARATIONS}
11552e5c31af7Sopenharmony_ci
11553e5c31af7Sopenharmony_ci			void main()
11554e5c31af7Sopenharmony_ci			{
11555e5c31af7Sopenharmony_ci				${SETUP}
11556e5c31af7Sopenharmony_ci				out0 = vec2(in0, in1);
11557e5c31af7Sopenharmony_ci				${OUTPUT}
11558e5c31af7Sopenharmony_ci			}
11559e5c31af7Sopenharmony_ci		""
11560e5c31af7Sopenharmony_ci	end
11561e5c31af7Sopenharmony_ci
11562e5c31af7Sopenharmony_ci	case int_int_to_ivec2
11563e5c31af7Sopenharmony_ci		version 300 es
11564e5c31af7Sopenharmony_ci		values
11565e5c31af7Sopenharmony_ci		{
11566e5c31af7Sopenharmony_ci			input int in0 = [ 2 | -66 | 0 | 5 | -12 | 8 | -192 | 1 | 11 | 255 ];
11567e5c31af7Sopenharmony_ci			input int in1 = [ -192 | 8 | 1 | 0 | 5 | -66 | 2 | 255 | 11 | -12 ];
11568e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(2, -192) | ivec2(-66, 8) | ivec2(0, 1) | ivec2(5, 0) | ivec2(-12, 5) | ivec2(8, -66) | ivec2(-192, 2) | ivec2(1, 255) | ivec2(11, 11) | ivec2(255, -12) ];
11569e5c31af7Sopenharmony_ci		}
11570e5c31af7Sopenharmony_ci
11571e5c31af7Sopenharmony_ci		both ""
11572e5c31af7Sopenharmony_ci			#version 300 es
11573e5c31af7Sopenharmony_ci			precision mediump float;
11574e5c31af7Sopenharmony_ci			precision mediump int;
11575e5c31af7Sopenharmony_ci
11576e5c31af7Sopenharmony_ci			${DECLARATIONS}
11577e5c31af7Sopenharmony_ci
11578e5c31af7Sopenharmony_ci			void main()
11579e5c31af7Sopenharmony_ci			{
11580e5c31af7Sopenharmony_ci				${SETUP}
11581e5c31af7Sopenharmony_ci				out0 = ivec2(in0, in1);
11582e5c31af7Sopenharmony_ci				${OUTPUT}
11583e5c31af7Sopenharmony_ci			}
11584e5c31af7Sopenharmony_ci		""
11585e5c31af7Sopenharmony_ci	end
11586e5c31af7Sopenharmony_ci
11587e5c31af7Sopenharmony_ci	case int_int_to_bvec2
11588e5c31af7Sopenharmony_ci		version 300 es
11589e5c31af7Sopenharmony_ci		values
11590e5c31af7Sopenharmony_ci		{
11591e5c31af7Sopenharmony_ci			input int in0 = [ 2 | -66 | 0 | 5 | -12 | 8 | -192 | 1 | 11 | 255 ];
11592e5c31af7Sopenharmony_ci			input int in1 = [ -192 | 8 | 1 | 0 | 5 | -66 | 2 | 255 | 11 | -12 ];
11593e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, true) | bvec2(true, true) | bvec2(false, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ];
11594e5c31af7Sopenharmony_ci		}
11595e5c31af7Sopenharmony_ci
11596e5c31af7Sopenharmony_ci		both ""
11597e5c31af7Sopenharmony_ci			#version 300 es
11598e5c31af7Sopenharmony_ci			precision mediump float;
11599e5c31af7Sopenharmony_ci			precision mediump int;
11600e5c31af7Sopenharmony_ci
11601e5c31af7Sopenharmony_ci			${DECLARATIONS}
11602e5c31af7Sopenharmony_ci
11603e5c31af7Sopenharmony_ci			void main()
11604e5c31af7Sopenharmony_ci			{
11605e5c31af7Sopenharmony_ci				${SETUP}
11606e5c31af7Sopenharmony_ci				out0 = bvec2(in0, in1);
11607e5c31af7Sopenharmony_ci				${OUTPUT}
11608e5c31af7Sopenharmony_ci			}
11609e5c31af7Sopenharmony_ci		""
11610e5c31af7Sopenharmony_ci	end
11611e5c31af7Sopenharmony_ci
11612e5c31af7Sopenharmony_ci	case uint_uint_to_vec2
11613e5c31af7Sopenharmony_ci		version 300 es
11614e5c31af7Sopenharmony_ci		values
11615e5c31af7Sopenharmony_ci		{
11616e5c31af7Sopenharmony_ci			input uint in0 = [ 9 | 12 | 0 | 255 | 8 | 45 | 3 | 2 | 10 | 193 ];
11617e5c31af7Sopenharmony_ci			input uint in1 = [ 8 | 9 | 45 | 2 | 12 | 193 | 255 | 0 | 3 | 10 ];
11618e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(9.0, 8.0) | vec2(12.0, 9.0) | vec2(0.0, 45.0) | vec2(255.0, 2.0) | vec2(8.0, 12.0) | vec2(45.0, 193.0) | vec2(3.0, 255.0) | vec2(2.0, 0.0) | vec2(10.0, 3.0) | vec2(193.0, 10.0) ];
11619e5c31af7Sopenharmony_ci		}
11620e5c31af7Sopenharmony_ci
11621e5c31af7Sopenharmony_ci		both ""
11622e5c31af7Sopenharmony_ci			#version 300 es
11623e5c31af7Sopenharmony_ci			precision mediump float;
11624e5c31af7Sopenharmony_ci			precision mediump int;
11625e5c31af7Sopenharmony_ci
11626e5c31af7Sopenharmony_ci			${DECLARATIONS}
11627e5c31af7Sopenharmony_ci
11628e5c31af7Sopenharmony_ci			void main()
11629e5c31af7Sopenharmony_ci			{
11630e5c31af7Sopenharmony_ci				${SETUP}
11631e5c31af7Sopenharmony_ci				out0 = vec2(in0, in1);
11632e5c31af7Sopenharmony_ci				${OUTPUT}
11633e5c31af7Sopenharmony_ci			}
11634e5c31af7Sopenharmony_ci		""
11635e5c31af7Sopenharmony_ci	end
11636e5c31af7Sopenharmony_ci
11637e5c31af7Sopenharmony_ci	case uint_uint_to_ivec2
11638e5c31af7Sopenharmony_ci		version 300 es
11639e5c31af7Sopenharmony_ci		values
11640e5c31af7Sopenharmony_ci		{
11641e5c31af7Sopenharmony_ci			input uint in0 = [ 9 | 12 | 0 | 255 | 8 | 45 | 3 | 2 | 10 | 193 ];
11642e5c31af7Sopenharmony_ci			input uint in1 = [ 8 | 9 | 45 | 2 | 12 | 193 | 255 | 0 | 3 | 10 ];
11643e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(9, 8) | ivec2(12, 9) | ivec2(0, 45) | ivec2(255, 2) | ivec2(8, 12) | ivec2(45, 193) | ivec2(3, 255) | ivec2(2, 0) | ivec2(10, 3) | ivec2(193, 10) ];
11644e5c31af7Sopenharmony_ci		}
11645e5c31af7Sopenharmony_ci
11646e5c31af7Sopenharmony_ci		both ""
11647e5c31af7Sopenharmony_ci			#version 300 es
11648e5c31af7Sopenharmony_ci			precision mediump float;
11649e5c31af7Sopenharmony_ci			precision mediump int;
11650e5c31af7Sopenharmony_ci
11651e5c31af7Sopenharmony_ci			${DECLARATIONS}
11652e5c31af7Sopenharmony_ci
11653e5c31af7Sopenharmony_ci			void main()
11654e5c31af7Sopenharmony_ci			{
11655e5c31af7Sopenharmony_ci				${SETUP}
11656e5c31af7Sopenharmony_ci				out0 = ivec2(in0, in1);
11657e5c31af7Sopenharmony_ci				${OUTPUT}
11658e5c31af7Sopenharmony_ci			}
11659e5c31af7Sopenharmony_ci		""
11660e5c31af7Sopenharmony_ci	end
11661e5c31af7Sopenharmony_ci
11662e5c31af7Sopenharmony_ci	case uint_uint_to_bvec2
11663e5c31af7Sopenharmony_ci		version 300 es
11664e5c31af7Sopenharmony_ci		values
11665e5c31af7Sopenharmony_ci		{
11666e5c31af7Sopenharmony_ci			input uint in0 = [ 9 | 12 | 0 | 255 | 8 | 45 | 3 | 2 | 10 | 193 ];
11667e5c31af7Sopenharmony_ci			input uint in1 = [ 8 | 9 | 45 | 2 | 12 | 193 | 255 | 0 | 3 | 10 ];
11668e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, true) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) ];
11669e5c31af7Sopenharmony_ci		}
11670e5c31af7Sopenharmony_ci
11671e5c31af7Sopenharmony_ci		both ""
11672e5c31af7Sopenharmony_ci			#version 300 es
11673e5c31af7Sopenharmony_ci			precision mediump float;
11674e5c31af7Sopenharmony_ci			precision mediump int;
11675e5c31af7Sopenharmony_ci
11676e5c31af7Sopenharmony_ci			${DECLARATIONS}
11677e5c31af7Sopenharmony_ci
11678e5c31af7Sopenharmony_ci			void main()
11679e5c31af7Sopenharmony_ci			{
11680e5c31af7Sopenharmony_ci				${SETUP}
11681e5c31af7Sopenharmony_ci				out0 = bvec2(in0, in1);
11682e5c31af7Sopenharmony_ci				${OUTPUT}
11683e5c31af7Sopenharmony_ci			}
11684e5c31af7Sopenharmony_ci		""
11685e5c31af7Sopenharmony_ci	end
11686e5c31af7Sopenharmony_ci
11687e5c31af7Sopenharmony_ci	case bool_bool_to_vec2
11688e5c31af7Sopenharmony_ci		version 300 es
11689e5c31af7Sopenharmony_ci		values
11690e5c31af7Sopenharmony_ci		{
11691e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
11692e5c31af7Sopenharmony_ci			input bool in1 = [ true | false ];
11693e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(1.0, 1.0) | vec2(0.0, 0.0) ];
11694e5c31af7Sopenharmony_ci		}
11695e5c31af7Sopenharmony_ci
11696e5c31af7Sopenharmony_ci		both ""
11697e5c31af7Sopenharmony_ci			#version 300 es
11698e5c31af7Sopenharmony_ci			precision mediump float;
11699e5c31af7Sopenharmony_ci			precision mediump int;
11700e5c31af7Sopenharmony_ci
11701e5c31af7Sopenharmony_ci			${DECLARATIONS}
11702e5c31af7Sopenharmony_ci
11703e5c31af7Sopenharmony_ci			void main()
11704e5c31af7Sopenharmony_ci			{
11705e5c31af7Sopenharmony_ci				${SETUP}
11706e5c31af7Sopenharmony_ci				out0 = vec2(in0, in1);
11707e5c31af7Sopenharmony_ci				${OUTPUT}
11708e5c31af7Sopenharmony_ci			}
11709e5c31af7Sopenharmony_ci		""
11710e5c31af7Sopenharmony_ci	end
11711e5c31af7Sopenharmony_ci
11712e5c31af7Sopenharmony_ci	case bool_bool_to_ivec2
11713e5c31af7Sopenharmony_ci		version 300 es
11714e5c31af7Sopenharmony_ci		values
11715e5c31af7Sopenharmony_ci		{
11716e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
11717e5c31af7Sopenharmony_ci			input bool in1 = [ true | false ];
11718e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(1, 1) | ivec2(0, 0) ];
11719e5c31af7Sopenharmony_ci		}
11720e5c31af7Sopenharmony_ci
11721e5c31af7Sopenharmony_ci		both ""
11722e5c31af7Sopenharmony_ci			#version 300 es
11723e5c31af7Sopenharmony_ci			precision mediump float;
11724e5c31af7Sopenharmony_ci			precision mediump int;
11725e5c31af7Sopenharmony_ci
11726e5c31af7Sopenharmony_ci			${DECLARATIONS}
11727e5c31af7Sopenharmony_ci
11728e5c31af7Sopenharmony_ci			void main()
11729e5c31af7Sopenharmony_ci			{
11730e5c31af7Sopenharmony_ci				${SETUP}
11731e5c31af7Sopenharmony_ci				out0 = ivec2(in0, in1);
11732e5c31af7Sopenharmony_ci				${OUTPUT}
11733e5c31af7Sopenharmony_ci			}
11734e5c31af7Sopenharmony_ci		""
11735e5c31af7Sopenharmony_ci	end
11736e5c31af7Sopenharmony_ci
11737e5c31af7Sopenharmony_ci	case bool_bool_to_bvec2
11738e5c31af7Sopenharmony_ci		version 300 es
11739e5c31af7Sopenharmony_ci		values
11740e5c31af7Sopenharmony_ci		{
11741e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
11742e5c31af7Sopenharmony_ci			input bool in1 = [ true | false ];
11743e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) ];
11744e5c31af7Sopenharmony_ci		}
11745e5c31af7Sopenharmony_ci
11746e5c31af7Sopenharmony_ci		both ""
11747e5c31af7Sopenharmony_ci			#version 300 es
11748e5c31af7Sopenharmony_ci			precision mediump float;
11749e5c31af7Sopenharmony_ci			precision mediump int;
11750e5c31af7Sopenharmony_ci
11751e5c31af7Sopenharmony_ci			${DECLARATIONS}
11752e5c31af7Sopenharmony_ci
11753e5c31af7Sopenharmony_ci			void main()
11754e5c31af7Sopenharmony_ci			{
11755e5c31af7Sopenharmony_ci				${SETUP}
11756e5c31af7Sopenharmony_ci				out0 = bvec2(in0, in1);
11757e5c31af7Sopenharmony_ci				${OUTPUT}
11758e5c31af7Sopenharmony_ci			}
11759e5c31af7Sopenharmony_ci		""
11760e5c31af7Sopenharmony_ci	end
11761e5c31af7Sopenharmony_ci
11762e5c31af7Sopenharmony_ci	case float_int_to_vec2
11763e5c31af7Sopenharmony_ci		version 300 es
11764e5c31af7Sopenharmony_ci		values
11765e5c31af7Sopenharmony_ci		{
11766e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 3.5 | 0.0 | 2.0 | -8.25 | 36.8125 | -20.125 | 1.0 | 1.0 | -0.5 ];
11767e5c31af7Sopenharmony_ci			input int in1 = [ -66 | 1 | 255 | -192 | 8 | 2 | 0 | 5 | -12 | 11 ];
11768e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(0.0, -66.0) | vec2(3.5, 1.0) | vec2(0.0, 255.0) | vec2(2.0, -192.0) | vec2(-8.25, 8.0) | vec2(36.8125, 2.0) | vec2(-20.125, 0.0) | vec2(1.0, 5.0) | vec2(1.0, -12.0) | vec2(-0.5, 11.0) ];
11769e5c31af7Sopenharmony_ci		}
11770e5c31af7Sopenharmony_ci
11771e5c31af7Sopenharmony_ci		both ""
11772e5c31af7Sopenharmony_ci			#version 300 es
11773e5c31af7Sopenharmony_ci			precision mediump float;
11774e5c31af7Sopenharmony_ci			precision mediump int;
11775e5c31af7Sopenharmony_ci
11776e5c31af7Sopenharmony_ci			${DECLARATIONS}
11777e5c31af7Sopenharmony_ci
11778e5c31af7Sopenharmony_ci			void main()
11779e5c31af7Sopenharmony_ci			{
11780e5c31af7Sopenharmony_ci				${SETUP}
11781e5c31af7Sopenharmony_ci				out0 = vec2(in0, in1);
11782e5c31af7Sopenharmony_ci				${OUTPUT}
11783e5c31af7Sopenharmony_ci			}
11784e5c31af7Sopenharmony_ci		""
11785e5c31af7Sopenharmony_ci	end
11786e5c31af7Sopenharmony_ci
11787e5c31af7Sopenharmony_ci	case float_int_to_ivec2
11788e5c31af7Sopenharmony_ci		version 300 es
11789e5c31af7Sopenharmony_ci		values
11790e5c31af7Sopenharmony_ci		{
11791e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 3.5 | 0.0 | 2.0 | -8.25 | 36.8125 | -20.125 | 1.0 | 1.0 | -0.5 ];
11792e5c31af7Sopenharmony_ci			input int in1 = [ -66 | 1 | 255 | -192 | 8 | 2 | 0 | 5 | -12 | 11 ];
11793e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(0, -66) | ivec2(3, 1) | ivec2(0, 255) | ivec2(2, -192) | ivec2(-8, 8) | ivec2(36, 2) | ivec2(-20, 0) | ivec2(1, 5) | ivec2(1, -12) | ivec2(0, 11) ];
11794e5c31af7Sopenharmony_ci		}
11795e5c31af7Sopenharmony_ci
11796e5c31af7Sopenharmony_ci		both ""
11797e5c31af7Sopenharmony_ci			#version 300 es
11798e5c31af7Sopenharmony_ci			precision mediump float;
11799e5c31af7Sopenharmony_ci			precision mediump int;
11800e5c31af7Sopenharmony_ci
11801e5c31af7Sopenharmony_ci			${DECLARATIONS}
11802e5c31af7Sopenharmony_ci
11803e5c31af7Sopenharmony_ci			void main()
11804e5c31af7Sopenharmony_ci			{
11805e5c31af7Sopenharmony_ci				${SETUP}
11806e5c31af7Sopenharmony_ci				out0 = ivec2(in0, in1);
11807e5c31af7Sopenharmony_ci				${OUTPUT}
11808e5c31af7Sopenharmony_ci			}
11809e5c31af7Sopenharmony_ci		""
11810e5c31af7Sopenharmony_ci	end
11811e5c31af7Sopenharmony_ci
11812e5c31af7Sopenharmony_ci	case float_int_to_bvec2
11813e5c31af7Sopenharmony_ci		version 300 es
11814e5c31af7Sopenharmony_ci		values
11815e5c31af7Sopenharmony_ci		{
11816e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 3.5 | 0.0 | 2.0 | -8.25 | 36.8125 | -20.125 | 1.0 | 1.0 | -0.5 ];
11817e5c31af7Sopenharmony_ci			input int in1 = [ -66 | 1 | 255 | -192 | 8 | 2 | 0 | 5 | -12 | 11 ];
11818e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ];
11819e5c31af7Sopenharmony_ci		}
11820e5c31af7Sopenharmony_ci
11821e5c31af7Sopenharmony_ci		both ""
11822e5c31af7Sopenharmony_ci			#version 300 es
11823e5c31af7Sopenharmony_ci			precision mediump float;
11824e5c31af7Sopenharmony_ci			precision mediump int;
11825e5c31af7Sopenharmony_ci
11826e5c31af7Sopenharmony_ci			${DECLARATIONS}
11827e5c31af7Sopenharmony_ci
11828e5c31af7Sopenharmony_ci			void main()
11829e5c31af7Sopenharmony_ci			{
11830e5c31af7Sopenharmony_ci				${SETUP}
11831e5c31af7Sopenharmony_ci				out0 = bvec2(in0, in1);
11832e5c31af7Sopenharmony_ci				${OUTPUT}
11833e5c31af7Sopenharmony_ci			}
11834e5c31af7Sopenharmony_ci		""
11835e5c31af7Sopenharmony_ci	end
11836e5c31af7Sopenharmony_ci
11837e5c31af7Sopenharmony_ci	case float_bool_to_vec2
11838e5c31af7Sopenharmony_ci		version 300 es
11839e5c31af7Sopenharmony_ci		values
11840e5c31af7Sopenharmony_ci		{
11841e5c31af7Sopenharmony_ci			input float in0 = [ 2.0 | 3.5 | 1.0 | -20.125 | -8.25 | 0.0 | -0.5 | 36.8125 ];
11842e5c31af7Sopenharmony_ci			input bool in1 = [ false | true | true | false | false | true | false | true ];
11843e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(2.0, 0.0) | vec2(3.5, 1.0) | vec2(1.0, 1.0) | vec2(-20.125, 0.0) | vec2(-8.25, 0.0) | vec2(0.0, 1.0) | vec2(-0.5, 0.0) | vec2(36.8125, 1.0) ];
11844e5c31af7Sopenharmony_ci		}
11845e5c31af7Sopenharmony_ci
11846e5c31af7Sopenharmony_ci		both ""
11847e5c31af7Sopenharmony_ci			#version 300 es
11848e5c31af7Sopenharmony_ci			precision mediump float;
11849e5c31af7Sopenharmony_ci			precision mediump int;
11850e5c31af7Sopenharmony_ci
11851e5c31af7Sopenharmony_ci			${DECLARATIONS}
11852e5c31af7Sopenharmony_ci
11853e5c31af7Sopenharmony_ci			void main()
11854e5c31af7Sopenharmony_ci			{
11855e5c31af7Sopenharmony_ci				${SETUP}
11856e5c31af7Sopenharmony_ci				out0 = vec2(in0, in1);
11857e5c31af7Sopenharmony_ci				${OUTPUT}
11858e5c31af7Sopenharmony_ci			}
11859e5c31af7Sopenharmony_ci		""
11860e5c31af7Sopenharmony_ci	end
11861e5c31af7Sopenharmony_ci
11862e5c31af7Sopenharmony_ci	case float_bool_to_ivec2
11863e5c31af7Sopenharmony_ci		version 300 es
11864e5c31af7Sopenharmony_ci		values
11865e5c31af7Sopenharmony_ci		{
11866e5c31af7Sopenharmony_ci			input float in0 = [ 2.0 | 3.5 | 1.0 | -20.125 | -8.25 | 0.0 | -0.5 | 36.8125 ];
11867e5c31af7Sopenharmony_ci			input bool in1 = [ false | true | true | false | false | true | false | true ];
11868e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(2, 0) | ivec2(3, 1) | ivec2(1, 1) | ivec2(-20, 0) | ivec2(-8, 0) | ivec2(0, 1) | ivec2(0, 0) | ivec2(36, 1) ];
11869e5c31af7Sopenharmony_ci		}
11870e5c31af7Sopenharmony_ci
11871e5c31af7Sopenharmony_ci		both ""
11872e5c31af7Sopenharmony_ci			#version 300 es
11873e5c31af7Sopenharmony_ci			precision mediump float;
11874e5c31af7Sopenharmony_ci			precision mediump int;
11875e5c31af7Sopenharmony_ci
11876e5c31af7Sopenharmony_ci			${DECLARATIONS}
11877e5c31af7Sopenharmony_ci
11878e5c31af7Sopenharmony_ci			void main()
11879e5c31af7Sopenharmony_ci			{
11880e5c31af7Sopenharmony_ci				${SETUP}
11881e5c31af7Sopenharmony_ci				out0 = ivec2(in0, in1);
11882e5c31af7Sopenharmony_ci				${OUTPUT}
11883e5c31af7Sopenharmony_ci			}
11884e5c31af7Sopenharmony_ci		""
11885e5c31af7Sopenharmony_ci	end
11886e5c31af7Sopenharmony_ci
11887e5c31af7Sopenharmony_ci	case float_bool_to_bvec2
11888e5c31af7Sopenharmony_ci		version 300 es
11889e5c31af7Sopenharmony_ci		values
11890e5c31af7Sopenharmony_ci		{
11891e5c31af7Sopenharmony_ci			input float in0 = [ 2.0 | 3.5 | 1.0 | -20.125 | -8.25 | 0.0 | -0.5 | 36.8125 ];
11892e5c31af7Sopenharmony_ci			input bool in1 = [ false | true | true | false | false | true | false | true ];
11893e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, false) | bvec2(true, false) | bvec2(false, true) | bvec2(true, false) | bvec2(true, true) ];
11894e5c31af7Sopenharmony_ci		}
11895e5c31af7Sopenharmony_ci
11896e5c31af7Sopenharmony_ci		both ""
11897e5c31af7Sopenharmony_ci			#version 300 es
11898e5c31af7Sopenharmony_ci			precision mediump float;
11899e5c31af7Sopenharmony_ci			precision mediump int;
11900e5c31af7Sopenharmony_ci
11901e5c31af7Sopenharmony_ci			${DECLARATIONS}
11902e5c31af7Sopenharmony_ci
11903e5c31af7Sopenharmony_ci			void main()
11904e5c31af7Sopenharmony_ci			{
11905e5c31af7Sopenharmony_ci				${SETUP}
11906e5c31af7Sopenharmony_ci				out0 = bvec2(in0, in1);
11907e5c31af7Sopenharmony_ci				${OUTPUT}
11908e5c31af7Sopenharmony_ci			}
11909e5c31af7Sopenharmony_ci		""
11910e5c31af7Sopenharmony_ci	end
11911e5c31af7Sopenharmony_ci
11912e5c31af7Sopenharmony_ci	case int_bool_to_vec2
11913e5c31af7Sopenharmony_ci		version 300 es
11914e5c31af7Sopenharmony_ci		values
11915e5c31af7Sopenharmony_ci		{
11916e5c31af7Sopenharmony_ci			input int in0 = [ 255 | 2 | -12 | 1 | -192 | 5 | 8 | 0 | -66 | 11 ];
11917e5c31af7Sopenharmony_ci			input bool in1 = [ true | false | false | false | true | false | true | false | true | true ];
11918e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(255.0, 1.0) | vec2(2.0, 0.0) | vec2(-12.0, 0.0) | vec2(1.0, 0.0) | vec2(-192.0, 1.0) | vec2(5.0, 0.0) | vec2(8.0, 1.0) | vec2(0.0, 0.0) | vec2(-66.0, 1.0) | vec2(11.0, 1.0) ];
11919e5c31af7Sopenharmony_ci		}
11920e5c31af7Sopenharmony_ci
11921e5c31af7Sopenharmony_ci		both ""
11922e5c31af7Sopenharmony_ci			#version 300 es
11923e5c31af7Sopenharmony_ci			precision mediump float;
11924e5c31af7Sopenharmony_ci			precision mediump int;
11925e5c31af7Sopenharmony_ci
11926e5c31af7Sopenharmony_ci			${DECLARATIONS}
11927e5c31af7Sopenharmony_ci
11928e5c31af7Sopenharmony_ci			void main()
11929e5c31af7Sopenharmony_ci			{
11930e5c31af7Sopenharmony_ci				${SETUP}
11931e5c31af7Sopenharmony_ci				out0 = vec2(in0, in1);
11932e5c31af7Sopenharmony_ci				${OUTPUT}
11933e5c31af7Sopenharmony_ci			}
11934e5c31af7Sopenharmony_ci		""
11935e5c31af7Sopenharmony_ci	end
11936e5c31af7Sopenharmony_ci
11937e5c31af7Sopenharmony_ci	case int_bool_to_ivec2
11938e5c31af7Sopenharmony_ci		version 300 es
11939e5c31af7Sopenharmony_ci		values
11940e5c31af7Sopenharmony_ci		{
11941e5c31af7Sopenharmony_ci			input int in0 = [ 255 | 2 | -12 | 1 | -192 | 5 | 8 | 0 | -66 | 11 ];
11942e5c31af7Sopenharmony_ci			input bool in1 = [ true | false | false | false | true | false | true | false | true | true ];
11943e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(255, 1) | ivec2(2, 0) | ivec2(-12, 0) | ivec2(1, 0) | ivec2(-192, 1) | ivec2(5, 0) | ivec2(8, 1) | ivec2(0, 0) | ivec2(-66, 1) | ivec2(11, 1) ];
11944e5c31af7Sopenharmony_ci		}
11945e5c31af7Sopenharmony_ci
11946e5c31af7Sopenharmony_ci		both ""
11947e5c31af7Sopenharmony_ci			#version 300 es
11948e5c31af7Sopenharmony_ci			precision mediump float;
11949e5c31af7Sopenharmony_ci			precision mediump int;
11950e5c31af7Sopenharmony_ci
11951e5c31af7Sopenharmony_ci			${DECLARATIONS}
11952e5c31af7Sopenharmony_ci
11953e5c31af7Sopenharmony_ci			void main()
11954e5c31af7Sopenharmony_ci			{
11955e5c31af7Sopenharmony_ci				${SETUP}
11956e5c31af7Sopenharmony_ci				out0 = ivec2(in0, in1);
11957e5c31af7Sopenharmony_ci				${OUTPUT}
11958e5c31af7Sopenharmony_ci			}
11959e5c31af7Sopenharmony_ci		""
11960e5c31af7Sopenharmony_ci	end
11961e5c31af7Sopenharmony_ci
11962e5c31af7Sopenharmony_ci	case int_bool_to_bvec2
11963e5c31af7Sopenharmony_ci		version 300 es
11964e5c31af7Sopenharmony_ci		values
11965e5c31af7Sopenharmony_ci		{
11966e5c31af7Sopenharmony_ci			input int in0 = [ 255 | 2 | -12 | 1 | -192 | 5 | 8 | 0 | -66 | 11 ];
11967e5c31af7Sopenharmony_ci			input bool in1 = [ true | false | false | false | true | false | true | false | true | true ];
11968e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(true, false) | bvec2(true, false) | bvec2(true, true) | bvec2(true, false) | bvec2(true, true) | bvec2(false, false) | bvec2(true, true) | bvec2(true, true) ];
11969e5c31af7Sopenharmony_ci		}
11970e5c31af7Sopenharmony_ci
11971e5c31af7Sopenharmony_ci		both ""
11972e5c31af7Sopenharmony_ci			#version 300 es
11973e5c31af7Sopenharmony_ci			precision mediump float;
11974e5c31af7Sopenharmony_ci			precision mediump int;
11975e5c31af7Sopenharmony_ci
11976e5c31af7Sopenharmony_ci			${DECLARATIONS}
11977e5c31af7Sopenharmony_ci
11978e5c31af7Sopenharmony_ci			void main()
11979e5c31af7Sopenharmony_ci			{
11980e5c31af7Sopenharmony_ci				${SETUP}
11981e5c31af7Sopenharmony_ci				out0 = bvec2(in0, in1);
11982e5c31af7Sopenharmony_ci				${OUTPUT}
11983e5c31af7Sopenharmony_ci			}
11984e5c31af7Sopenharmony_ci		""
11985e5c31af7Sopenharmony_ci	end
11986e5c31af7Sopenharmony_ci
11987e5c31af7Sopenharmony_ci	case int_uint_to_vec2
11988e5c31af7Sopenharmony_ci		version 300 es
11989e5c31af7Sopenharmony_ci		values
11990e5c31af7Sopenharmony_ci		{
11991e5c31af7Sopenharmony_ci			input int in0 = [ -66 | 1 | -192 | -12 | 5 | 255 | 11 | 0 | 2 | 8 ];
11992e5c31af7Sopenharmony_ci			input uint in1 = [ 193 | 0 | 2 | 10 | 255 | 12 | 45 | 8 | 9 | 3 ];
11993e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(-66.0, 193.0) | vec2(1.0, 0.0) | vec2(-192.0, 2.0) | vec2(-12.0, 10.0) | vec2(5.0, 255.0) | vec2(255.0, 12.0) | vec2(11.0, 45.0) | vec2(0.0, 8.0) | vec2(2.0, 9.0) | vec2(8.0, 3.0) ];
11994e5c31af7Sopenharmony_ci		}
11995e5c31af7Sopenharmony_ci
11996e5c31af7Sopenharmony_ci		both ""
11997e5c31af7Sopenharmony_ci			#version 300 es
11998e5c31af7Sopenharmony_ci			precision mediump float;
11999e5c31af7Sopenharmony_ci			precision mediump int;
12000e5c31af7Sopenharmony_ci
12001e5c31af7Sopenharmony_ci			${DECLARATIONS}
12002e5c31af7Sopenharmony_ci
12003e5c31af7Sopenharmony_ci			void main()
12004e5c31af7Sopenharmony_ci			{
12005e5c31af7Sopenharmony_ci				${SETUP}
12006e5c31af7Sopenharmony_ci				out0 = vec2(in0, in1);
12007e5c31af7Sopenharmony_ci				${OUTPUT}
12008e5c31af7Sopenharmony_ci			}
12009e5c31af7Sopenharmony_ci		""
12010e5c31af7Sopenharmony_ci	end
12011e5c31af7Sopenharmony_ci
12012e5c31af7Sopenharmony_ci	case int_uint_to_ivec2
12013e5c31af7Sopenharmony_ci		version 300 es
12014e5c31af7Sopenharmony_ci		values
12015e5c31af7Sopenharmony_ci		{
12016e5c31af7Sopenharmony_ci			input int in0 = [ -66 | 1 | -192 | -12 | 5 | 255 | 11 | 0 | 2 | 8 ];
12017e5c31af7Sopenharmony_ci			input uint in1 = [ 193 | 0 | 2 | 10 | 255 | 12 | 45 | 8 | 9 | 3 ];
12018e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(-66, 193) | ivec2(1, 0) | ivec2(-192, 2) | ivec2(-12, 10) | ivec2(5, 255) | ivec2(255, 12) | ivec2(11, 45) | ivec2(0, 8) | ivec2(2, 9) | ivec2(8, 3) ];
12019e5c31af7Sopenharmony_ci		}
12020e5c31af7Sopenharmony_ci
12021e5c31af7Sopenharmony_ci		both ""
12022e5c31af7Sopenharmony_ci			#version 300 es
12023e5c31af7Sopenharmony_ci			precision mediump float;
12024e5c31af7Sopenharmony_ci			precision mediump int;
12025e5c31af7Sopenharmony_ci
12026e5c31af7Sopenharmony_ci			${DECLARATIONS}
12027e5c31af7Sopenharmony_ci
12028e5c31af7Sopenharmony_ci			void main()
12029e5c31af7Sopenharmony_ci			{
12030e5c31af7Sopenharmony_ci				${SETUP}
12031e5c31af7Sopenharmony_ci				out0 = ivec2(in0, in1);
12032e5c31af7Sopenharmony_ci				${OUTPUT}
12033e5c31af7Sopenharmony_ci			}
12034e5c31af7Sopenharmony_ci		""
12035e5c31af7Sopenharmony_ci	end
12036e5c31af7Sopenharmony_ci
12037e5c31af7Sopenharmony_ci	case int_uint_to_bvec2
12038e5c31af7Sopenharmony_ci		version 300 es
12039e5c31af7Sopenharmony_ci		values
12040e5c31af7Sopenharmony_ci		{
12041e5c31af7Sopenharmony_ci			input int in0 = [ -66 | 1 | -192 | -12 | 5 | 255 | 11 | 0 | 2 | 8 ];
12042e5c31af7Sopenharmony_ci			input uint in1 = [ 193 | 0 | 2 | 10 | 255 | 12 | 45 | 8 | 9 | 3 ];
12043e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(true, true) ];
12044e5c31af7Sopenharmony_ci		}
12045e5c31af7Sopenharmony_ci
12046e5c31af7Sopenharmony_ci		both ""
12047e5c31af7Sopenharmony_ci			#version 300 es
12048e5c31af7Sopenharmony_ci			precision mediump float;
12049e5c31af7Sopenharmony_ci			precision mediump int;
12050e5c31af7Sopenharmony_ci
12051e5c31af7Sopenharmony_ci			${DECLARATIONS}
12052e5c31af7Sopenharmony_ci
12053e5c31af7Sopenharmony_ci			void main()
12054e5c31af7Sopenharmony_ci			{
12055e5c31af7Sopenharmony_ci				${SETUP}
12056e5c31af7Sopenharmony_ci				out0 = bvec2(in0, in1);
12057e5c31af7Sopenharmony_ci				${OUTPUT}
12058e5c31af7Sopenharmony_ci			}
12059e5c31af7Sopenharmony_ci		""
12060e5c31af7Sopenharmony_ci	end
12061e5c31af7Sopenharmony_ci
12062e5c31af7Sopenharmony_ci	case uint_float_to_vec2
12063e5c31af7Sopenharmony_ci		version 300 es
12064e5c31af7Sopenharmony_ci		values
12065e5c31af7Sopenharmony_ci		{
12066e5c31af7Sopenharmony_ci			input uint in0 = [ 12 | 0 | 8 | 193 | 3 | 10 | 9 | 2 | 45 | 255 ];
12067e5c31af7Sopenharmony_ci			input float in1 = [ -20.125 | 0.0 | 3.5 | -8.25 | 0.0 | 1.0 | 2.0 | 36.8125 | -0.5 | 1.0 ];
12068e5c31af7Sopenharmony_ci			output vec2 out0 = [ vec2(12.0, -20.125) | vec2(0.0, 0.0) | vec2(8.0, 3.5) | vec2(193.0, -8.25) | vec2(3.0, 0.0) | vec2(10.0, 1.0) | vec2(9.0, 2.0) | vec2(2.0, 36.8125) | vec2(45.0, -0.5) | vec2(255.0, 1.0) ];
12069e5c31af7Sopenharmony_ci		}
12070e5c31af7Sopenharmony_ci
12071e5c31af7Sopenharmony_ci		both ""
12072e5c31af7Sopenharmony_ci			#version 300 es
12073e5c31af7Sopenharmony_ci			precision mediump float;
12074e5c31af7Sopenharmony_ci			precision mediump int;
12075e5c31af7Sopenharmony_ci
12076e5c31af7Sopenharmony_ci			${DECLARATIONS}
12077e5c31af7Sopenharmony_ci
12078e5c31af7Sopenharmony_ci			void main()
12079e5c31af7Sopenharmony_ci			{
12080e5c31af7Sopenharmony_ci				${SETUP}
12081e5c31af7Sopenharmony_ci				out0 = vec2(in0, in1);
12082e5c31af7Sopenharmony_ci				${OUTPUT}
12083e5c31af7Sopenharmony_ci			}
12084e5c31af7Sopenharmony_ci		""
12085e5c31af7Sopenharmony_ci	end
12086e5c31af7Sopenharmony_ci
12087e5c31af7Sopenharmony_ci	case uint_float_to_ivec2
12088e5c31af7Sopenharmony_ci		version 300 es
12089e5c31af7Sopenharmony_ci		values
12090e5c31af7Sopenharmony_ci		{
12091e5c31af7Sopenharmony_ci			input uint in0 = [ 12 | 0 | 8 | 193 | 3 | 10 | 9 | 2 | 45 | 255 ];
12092e5c31af7Sopenharmony_ci			input float in1 = [ -20.125 | 0.0 | 3.5 | -8.25 | 0.0 | 1.0 | 2.0 | 36.8125 | -0.5 | 1.0 ];
12093e5c31af7Sopenharmony_ci			output ivec2 out0 = [ ivec2(12, -20) | ivec2(0, 0) | ivec2(8, 3) | ivec2(193, -8) | ivec2(3, 0) | ivec2(10, 1) | ivec2(9, 2) | ivec2(2, 36) | ivec2(45, 0) | ivec2(255, 1) ];
12094e5c31af7Sopenharmony_ci		}
12095e5c31af7Sopenharmony_ci
12096e5c31af7Sopenharmony_ci		both ""
12097e5c31af7Sopenharmony_ci			#version 300 es
12098e5c31af7Sopenharmony_ci			precision mediump float;
12099e5c31af7Sopenharmony_ci			precision mediump int;
12100e5c31af7Sopenharmony_ci
12101e5c31af7Sopenharmony_ci			${DECLARATIONS}
12102e5c31af7Sopenharmony_ci
12103e5c31af7Sopenharmony_ci			void main()
12104e5c31af7Sopenharmony_ci			{
12105e5c31af7Sopenharmony_ci				${SETUP}
12106e5c31af7Sopenharmony_ci				out0 = ivec2(in0, in1);
12107e5c31af7Sopenharmony_ci				${OUTPUT}
12108e5c31af7Sopenharmony_ci			}
12109e5c31af7Sopenharmony_ci		""
12110e5c31af7Sopenharmony_ci	end
12111e5c31af7Sopenharmony_ci
12112e5c31af7Sopenharmony_ci	case uint_float_to_bvec2
12113e5c31af7Sopenharmony_ci		version 300 es
12114e5c31af7Sopenharmony_ci		values
12115e5c31af7Sopenharmony_ci		{
12116e5c31af7Sopenharmony_ci			input uint in0 = [ 12 | 0 | 8 | 193 | 3 | 10 | 9 | 2 | 45 | 255 ];
12117e5c31af7Sopenharmony_ci			input float in1 = [ -20.125 | 0.0 | 3.5 | -8.25 | 0.0 | 1.0 | 2.0 | 36.8125 | -0.5 | 1.0 ];
12118e5c31af7Sopenharmony_ci			output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ];
12119e5c31af7Sopenharmony_ci		}
12120e5c31af7Sopenharmony_ci
12121e5c31af7Sopenharmony_ci		both ""
12122e5c31af7Sopenharmony_ci			#version 300 es
12123e5c31af7Sopenharmony_ci			precision mediump float;
12124e5c31af7Sopenharmony_ci			precision mediump int;
12125e5c31af7Sopenharmony_ci
12126e5c31af7Sopenharmony_ci			${DECLARATIONS}
12127e5c31af7Sopenharmony_ci
12128e5c31af7Sopenharmony_ci			void main()
12129e5c31af7Sopenharmony_ci			{
12130e5c31af7Sopenharmony_ci				${SETUP}
12131e5c31af7Sopenharmony_ci				out0 = bvec2(in0, in1);
12132e5c31af7Sopenharmony_ci				${OUTPUT}
12133e5c31af7Sopenharmony_ci			}
12134e5c31af7Sopenharmony_ci		""
12135e5c31af7Sopenharmony_ci	end
12136e5c31af7Sopenharmony_ci
12137e5c31af7Sopenharmony_ci	case float_float_to_uvec2
12138e5c31af7Sopenharmony_ci		version 300 es
12139e5c31af7Sopenharmony_ci		values
12140e5c31af7Sopenharmony_ci		{
12141e5c31af7Sopenharmony_ci			input float in0 = [ 8.25 | 36.8125 | 1.0 | 0.5 | 20.125 | 0.0 | 2.0 | 3.5 ];
12142e5c31af7Sopenharmony_ci			input float in1 = [ 0.5 | 36.8125 | 0.0 | 2.0 | 8.25 | 20.125 | 1.0 | 3.5 ];
12143e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(8, 0) | uvec2(36, 36) | uvec2(1, 0) | uvec2(0, 2) | uvec2(20, 8) | uvec2(0, 20) | uvec2(2, 1) | uvec2(3, 3) ];
12144e5c31af7Sopenharmony_ci		}
12145e5c31af7Sopenharmony_ci
12146e5c31af7Sopenharmony_ci		both ""
12147e5c31af7Sopenharmony_ci			#version 300 es
12148e5c31af7Sopenharmony_ci			precision mediump float;
12149e5c31af7Sopenharmony_ci			precision mediump int;
12150e5c31af7Sopenharmony_ci
12151e5c31af7Sopenharmony_ci			${DECLARATIONS}
12152e5c31af7Sopenharmony_ci
12153e5c31af7Sopenharmony_ci			void main()
12154e5c31af7Sopenharmony_ci			{
12155e5c31af7Sopenharmony_ci				${SETUP}
12156e5c31af7Sopenharmony_ci				out0 = uvec2(in0, in1);
12157e5c31af7Sopenharmony_ci				${OUTPUT}
12158e5c31af7Sopenharmony_ci			}
12159e5c31af7Sopenharmony_ci		""
12160e5c31af7Sopenharmony_ci	end
12161e5c31af7Sopenharmony_ci
12162e5c31af7Sopenharmony_ci	case int_int_to_uvec2
12163e5c31af7Sopenharmony_ci		version 300 es
12164e5c31af7Sopenharmony_ci		values
12165e5c31af7Sopenharmony_ci		{
12166e5c31af7Sopenharmony_ci			input int in0 = [ 0 | 12 | 8 | 11 | 255 | 66 | 192 | 2 | 5 | 1 ];
12167e5c31af7Sopenharmony_ci			input int in1 = [ 11 | 12 | 2 | 5 | 66 | 192 | 255 | 0 | 1 | 8 ];
12168e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(0, 11) | uvec2(12, 12) | uvec2(8, 2) | uvec2(11, 5) | uvec2(255, 66) | uvec2(66, 192) | uvec2(192, 255) | uvec2(2, 0) | uvec2(5, 1) | uvec2(1, 8) ];
12169e5c31af7Sopenharmony_ci		}
12170e5c31af7Sopenharmony_ci
12171e5c31af7Sopenharmony_ci		both ""
12172e5c31af7Sopenharmony_ci			#version 300 es
12173e5c31af7Sopenharmony_ci			precision mediump float;
12174e5c31af7Sopenharmony_ci			precision mediump int;
12175e5c31af7Sopenharmony_ci
12176e5c31af7Sopenharmony_ci			${DECLARATIONS}
12177e5c31af7Sopenharmony_ci
12178e5c31af7Sopenharmony_ci			void main()
12179e5c31af7Sopenharmony_ci			{
12180e5c31af7Sopenharmony_ci				${SETUP}
12181e5c31af7Sopenharmony_ci				out0 = uvec2(in0, in1);
12182e5c31af7Sopenharmony_ci				${OUTPUT}
12183e5c31af7Sopenharmony_ci			}
12184e5c31af7Sopenharmony_ci		""
12185e5c31af7Sopenharmony_ci	end
12186e5c31af7Sopenharmony_ci
12187e5c31af7Sopenharmony_ci	case uint_uint_to_uvec2
12188e5c31af7Sopenharmony_ci		version 300 es
12189e5c31af7Sopenharmony_ci		values
12190e5c31af7Sopenharmony_ci		{
12191e5c31af7Sopenharmony_ci			input uint in0 = [ 3 | 9 | 10 | 193 | 8 | 0 | 255 | 45 | 2 | 12 ];
12192e5c31af7Sopenharmony_ci			input uint in1 = [ 0 | 2 | 12 | 3 | 10 | 9 | 45 | 193 | 255 | 8 ];
12193e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(3, 0) | uvec2(9, 2) | uvec2(10, 12) | uvec2(193, 3) | uvec2(8, 10) | uvec2(0, 9) | uvec2(255, 45) | uvec2(45, 193) | uvec2(2, 255) | uvec2(12, 8) ];
12194e5c31af7Sopenharmony_ci		}
12195e5c31af7Sopenharmony_ci
12196e5c31af7Sopenharmony_ci		both ""
12197e5c31af7Sopenharmony_ci			#version 300 es
12198e5c31af7Sopenharmony_ci			precision mediump float;
12199e5c31af7Sopenharmony_ci			precision mediump int;
12200e5c31af7Sopenharmony_ci
12201e5c31af7Sopenharmony_ci			${DECLARATIONS}
12202e5c31af7Sopenharmony_ci
12203e5c31af7Sopenharmony_ci			void main()
12204e5c31af7Sopenharmony_ci			{
12205e5c31af7Sopenharmony_ci				${SETUP}
12206e5c31af7Sopenharmony_ci				out0 = uvec2(in0, in1);
12207e5c31af7Sopenharmony_ci				${OUTPUT}
12208e5c31af7Sopenharmony_ci			}
12209e5c31af7Sopenharmony_ci		""
12210e5c31af7Sopenharmony_ci	end
12211e5c31af7Sopenharmony_ci
12212e5c31af7Sopenharmony_ci	case bool_bool_to_uvec2
12213e5c31af7Sopenharmony_ci		version 300 es
12214e5c31af7Sopenharmony_ci		values
12215e5c31af7Sopenharmony_ci		{
12216e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
12217e5c31af7Sopenharmony_ci			input bool in1 = [ true | false ];
12218e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(1, 1) | uvec2(0, 0) ];
12219e5c31af7Sopenharmony_ci		}
12220e5c31af7Sopenharmony_ci
12221e5c31af7Sopenharmony_ci		both ""
12222e5c31af7Sopenharmony_ci			#version 300 es
12223e5c31af7Sopenharmony_ci			precision mediump float;
12224e5c31af7Sopenharmony_ci			precision mediump int;
12225e5c31af7Sopenharmony_ci
12226e5c31af7Sopenharmony_ci			${DECLARATIONS}
12227e5c31af7Sopenharmony_ci
12228e5c31af7Sopenharmony_ci			void main()
12229e5c31af7Sopenharmony_ci			{
12230e5c31af7Sopenharmony_ci				${SETUP}
12231e5c31af7Sopenharmony_ci				out0 = uvec2(in0, in1);
12232e5c31af7Sopenharmony_ci				${OUTPUT}
12233e5c31af7Sopenharmony_ci			}
12234e5c31af7Sopenharmony_ci		""
12235e5c31af7Sopenharmony_ci	end
12236e5c31af7Sopenharmony_ci
12237e5c31af7Sopenharmony_ci	case float_int_to_uvec2
12238e5c31af7Sopenharmony_ci		version 300 es
12239e5c31af7Sopenharmony_ci		values
12240e5c31af7Sopenharmony_ci		{
12241e5c31af7Sopenharmony_ci			input float in0 = [ 8.25 | 1.0 | 0.5 | 3.5 | 2.0 | 0.0 | 36.8125 | 1.0 | 0.0 | 20.125 ];
12242e5c31af7Sopenharmony_ci			input int in1 = [ 0 | 255 | 12 | 5 | 192 | 2 | 66 | 11 | 1 | 8 ];
12243e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(8, 0) | uvec2(1, 255) | uvec2(0, 12) | uvec2(3, 5) | uvec2(2, 192) | uvec2(0, 2) | uvec2(36, 66) | uvec2(1, 11) | uvec2(0, 1) | uvec2(20, 8) ];
12244e5c31af7Sopenharmony_ci		}
12245e5c31af7Sopenharmony_ci
12246e5c31af7Sopenharmony_ci		both ""
12247e5c31af7Sopenharmony_ci			#version 300 es
12248e5c31af7Sopenharmony_ci			precision mediump float;
12249e5c31af7Sopenharmony_ci			precision mediump int;
12250e5c31af7Sopenharmony_ci
12251e5c31af7Sopenharmony_ci			${DECLARATIONS}
12252e5c31af7Sopenharmony_ci
12253e5c31af7Sopenharmony_ci			void main()
12254e5c31af7Sopenharmony_ci			{
12255e5c31af7Sopenharmony_ci				${SETUP}
12256e5c31af7Sopenharmony_ci				out0 = uvec2(in0, in1);
12257e5c31af7Sopenharmony_ci				${OUTPUT}
12258e5c31af7Sopenharmony_ci			}
12259e5c31af7Sopenharmony_ci		""
12260e5c31af7Sopenharmony_ci	end
12261e5c31af7Sopenharmony_ci
12262e5c31af7Sopenharmony_ci	case float_bool_to_uvec2
12263e5c31af7Sopenharmony_ci		version 300 es
12264e5c31af7Sopenharmony_ci		values
12265e5c31af7Sopenharmony_ci		{
12266e5c31af7Sopenharmony_ci			input float in0 = [ 3.5 | 1.0 | 8.25 | 0.5 | 2.0 | 36.8125 | 0.0 | 20.125 ];
12267e5c31af7Sopenharmony_ci			input bool in1 = [ true | false | true | false | true | false | false | true ];
12268e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(3, 1) | uvec2(1, 0) | uvec2(8, 1) | uvec2(0, 0) | uvec2(2, 1) | uvec2(36, 0) | uvec2(0, 0) | uvec2(20, 1) ];
12269e5c31af7Sopenharmony_ci		}
12270e5c31af7Sopenharmony_ci
12271e5c31af7Sopenharmony_ci		both ""
12272e5c31af7Sopenharmony_ci			#version 300 es
12273e5c31af7Sopenharmony_ci			precision mediump float;
12274e5c31af7Sopenharmony_ci			precision mediump int;
12275e5c31af7Sopenharmony_ci
12276e5c31af7Sopenharmony_ci			${DECLARATIONS}
12277e5c31af7Sopenharmony_ci
12278e5c31af7Sopenharmony_ci			void main()
12279e5c31af7Sopenharmony_ci			{
12280e5c31af7Sopenharmony_ci				${SETUP}
12281e5c31af7Sopenharmony_ci				out0 = uvec2(in0, in1);
12282e5c31af7Sopenharmony_ci				${OUTPUT}
12283e5c31af7Sopenharmony_ci			}
12284e5c31af7Sopenharmony_ci		""
12285e5c31af7Sopenharmony_ci	end
12286e5c31af7Sopenharmony_ci
12287e5c31af7Sopenharmony_ci	case int_bool_to_uvec2
12288e5c31af7Sopenharmony_ci		version 300 es
12289e5c31af7Sopenharmony_ci		values
12290e5c31af7Sopenharmony_ci		{
12291e5c31af7Sopenharmony_ci			input int in0 = [ 12 | 11 | 0 | 5 | 8 | 255 | 2 | 1 | 66 | 192 ];
12292e5c31af7Sopenharmony_ci			input bool in1 = [ true | true | false | false | false | true | false | false | true | true ];
12293e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(12, 1) | uvec2(11, 1) | uvec2(0, 0) | uvec2(5, 0) | uvec2(8, 0) | uvec2(255, 1) | uvec2(2, 0) | uvec2(1, 0) | uvec2(66, 1) | uvec2(192, 1) ];
12294e5c31af7Sopenharmony_ci		}
12295e5c31af7Sopenharmony_ci
12296e5c31af7Sopenharmony_ci		both ""
12297e5c31af7Sopenharmony_ci			#version 300 es
12298e5c31af7Sopenharmony_ci			precision mediump float;
12299e5c31af7Sopenharmony_ci			precision mediump int;
12300e5c31af7Sopenharmony_ci
12301e5c31af7Sopenharmony_ci			${DECLARATIONS}
12302e5c31af7Sopenharmony_ci
12303e5c31af7Sopenharmony_ci			void main()
12304e5c31af7Sopenharmony_ci			{
12305e5c31af7Sopenharmony_ci				${SETUP}
12306e5c31af7Sopenharmony_ci				out0 = uvec2(in0, in1);
12307e5c31af7Sopenharmony_ci				${OUTPUT}
12308e5c31af7Sopenharmony_ci			}
12309e5c31af7Sopenharmony_ci		""
12310e5c31af7Sopenharmony_ci	end
12311e5c31af7Sopenharmony_ci
12312e5c31af7Sopenharmony_ci	case int_uint_to_uvec2
12313e5c31af7Sopenharmony_ci		version 300 es
12314e5c31af7Sopenharmony_ci		values
12315e5c31af7Sopenharmony_ci		{
12316e5c31af7Sopenharmony_ci			input int in0 = [ 8 | 5 | 1 | 0 | 11 | 12 | 192 | 66 | 255 | 2 ];
12317e5c31af7Sopenharmony_ci			input uint in1 = [ 8 | 10 | 45 | 255 | 9 | 193 | 2 | 3 | 0 | 12 ];
12318e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(8, 8) | uvec2(5, 10) | uvec2(1, 45) | uvec2(0, 255) | uvec2(11, 9) | uvec2(12, 193) | uvec2(192, 2) | uvec2(66, 3) | uvec2(255, 0) | uvec2(2, 12) ];
12319e5c31af7Sopenharmony_ci		}
12320e5c31af7Sopenharmony_ci
12321e5c31af7Sopenharmony_ci		both ""
12322e5c31af7Sopenharmony_ci			#version 300 es
12323e5c31af7Sopenharmony_ci			precision mediump float;
12324e5c31af7Sopenharmony_ci			precision mediump int;
12325e5c31af7Sopenharmony_ci
12326e5c31af7Sopenharmony_ci			${DECLARATIONS}
12327e5c31af7Sopenharmony_ci
12328e5c31af7Sopenharmony_ci			void main()
12329e5c31af7Sopenharmony_ci			{
12330e5c31af7Sopenharmony_ci				${SETUP}
12331e5c31af7Sopenharmony_ci				out0 = uvec2(in0, in1);
12332e5c31af7Sopenharmony_ci				${OUTPUT}
12333e5c31af7Sopenharmony_ci			}
12334e5c31af7Sopenharmony_ci		""
12335e5c31af7Sopenharmony_ci	end
12336e5c31af7Sopenharmony_ci
12337e5c31af7Sopenharmony_ci	case uint_float_to_uvec2
12338e5c31af7Sopenharmony_ci		version 300 es
12339e5c31af7Sopenharmony_ci		values
12340e5c31af7Sopenharmony_ci		{
12341e5c31af7Sopenharmony_ci			input uint in0 = [ 9 | 45 | 8 | 3 | 10 | 2 | 193 | 12 | 255 | 0 ];
12342e5c31af7Sopenharmony_ci			input float in1 = [ 3.5 | 20.125 | 2.0 | 0.0 | 1.0 | 36.8125 | 8.25 | 1.0 | 0.0 | 0.5 ];
12343e5c31af7Sopenharmony_ci			output uvec2 out0 = [ uvec2(9, 3) | uvec2(45, 20) | uvec2(8, 2) | uvec2(3, 0) | uvec2(10, 1) | uvec2(2, 36) | uvec2(193, 8) | uvec2(12, 1) | uvec2(255, 0) | uvec2(0, 0) ];
12344e5c31af7Sopenharmony_ci		}
12345e5c31af7Sopenharmony_ci
12346e5c31af7Sopenharmony_ci		both ""
12347e5c31af7Sopenharmony_ci			#version 300 es
12348e5c31af7Sopenharmony_ci			precision mediump float;
12349e5c31af7Sopenharmony_ci			precision mediump int;
12350e5c31af7Sopenharmony_ci
12351e5c31af7Sopenharmony_ci			${DECLARATIONS}
12352e5c31af7Sopenharmony_ci
12353e5c31af7Sopenharmony_ci			void main()
12354e5c31af7Sopenharmony_ci			{
12355e5c31af7Sopenharmony_ci				${SETUP}
12356e5c31af7Sopenharmony_ci				out0 = uvec2(in0, in1);
12357e5c31af7Sopenharmony_ci				${OUTPUT}
12358e5c31af7Sopenharmony_ci			}
12359e5c31af7Sopenharmony_ci		""
12360e5c31af7Sopenharmony_ci	end
12361e5c31af7Sopenharmony_ci
12362e5c31af7Sopenharmony_ci
12363e5c31af7Sopenharmony_ciend # vector_combine
12364e5c31af7Sopenharmony_cigroup matrix_combine "Matrix Combine Constructors"
12365e5c31af7Sopenharmony_ci
12366e5c31af7Sopenharmony_ci	case vec2_vec2_to_mat2
12367e5c31af7Sopenharmony_ci		version 300 es
12368e5c31af7Sopenharmony_ci		values
12369e5c31af7Sopenharmony_ci		{
12370e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(1.0, 1.25) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) | vec2(0.0, 0.5) ];
12371e5c31af7Sopenharmony_ci			input vec2 in1 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) ];
12372e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 1.25, 0.0, 0.5) | mat2(-32.0, 64.0, 1.0, 1.25) | mat2(-0.5, -2.25, -0.75, -0.0322580645161) | mat2(-0.75, -0.0322580645161, -32.0, 64.0) | mat2(0.0, 0.5, -0.5, -2.25) ];
12373e5c31af7Sopenharmony_ci		}
12374e5c31af7Sopenharmony_ci
12375e5c31af7Sopenharmony_ci		both ""
12376e5c31af7Sopenharmony_ci			#version 300 es
12377e5c31af7Sopenharmony_ci			precision mediump float;
12378e5c31af7Sopenharmony_ci			precision mediump int;
12379e5c31af7Sopenharmony_ci
12380e5c31af7Sopenharmony_ci			${DECLARATIONS}
12381e5c31af7Sopenharmony_ci
12382e5c31af7Sopenharmony_ci			void main()
12383e5c31af7Sopenharmony_ci			{
12384e5c31af7Sopenharmony_ci				${SETUP}
12385e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1);
12386e5c31af7Sopenharmony_ci				${OUTPUT}
12387e5c31af7Sopenharmony_ci			}
12388e5c31af7Sopenharmony_ci		""
12389e5c31af7Sopenharmony_ci	end
12390e5c31af7Sopenharmony_ci
12391e5c31af7Sopenharmony_ci	case bvec2_bvec2_to_mat2
12392e5c31af7Sopenharmony_ci		version 300 es
12393e5c31af7Sopenharmony_ci		values
12394e5c31af7Sopenharmony_ci		{
12395e5c31af7Sopenharmony_ci			input bvec2 in0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(true, false) | bvec2(false, false) | bvec2(false, false) ];
12396e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, true) ];
12397e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(0.0, 1.0, 0.0, 0.0) | mat2(1.0, 1.0, 1.0, 0.0) | mat2(1.0, 0.0, 0.0, 0.0) | mat2(0.0, 0.0, 1.0, 1.0) | mat2(0.0, 0.0, 0.0, 1.0) ];
12398e5c31af7Sopenharmony_ci		}
12399e5c31af7Sopenharmony_ci
12400e5c31af7Sopenharmony_ci		both ""
12401e5c31af7Sopenharmony_ci			#version 300 es
12402e5c31af7Sopenharmony_ci			precision mediump float;
12403e5c31af7Sopenharmony_ci			precision mediump int;
12404e5c31af7Sopenharmony_ci
12405e5c31af7Sopenharmony_ci			${DECLARATIONS}
12406e5c31af7Sopenharmony_ci
12407e5c31af7Sopenharmony_ci			void main()
12408e5c31af7Sopenharmony_ci			{
12409e5c31af7Sopenharmony_ci				${SETUP}
12410e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1);
12411e5c31af7Sopenharmony_ci				${OUTPUT}
12412e5c31af7Sopenharmony_ci			}
12413e5c31af7Sopenharmony_ci		""
12414e5c31af7Sopenharmony_ci	end
12415e5c31af7Sopenharmony_ci
12416e5c31af7Sopenharmony_ci	case float_float_float_float_to_mat2
12417e5c31af7Sopenharmony_ci		version 300 es
12418e5c31af7Sopenharmony_ci		values
12419e5c31af7Sopenharmony_ci		{
12420e5c31af7Sopenharmony_ci			input float in0 = [ -8.25 | 3.5 | 36.8125 | 2.0 | -20.125 | 1.0 | -0.5 | 0.0 ];
12421e5c31af7Sopenharmony_ci			input float in1 = [ 3.5 | -20.125 | 1.0 | 0.0 | -8.25 | 2.0 | 36.8125 | -0.5 ];
12422e5c31af7Sopenharmony_ci			input float in2 = [ 36.8125 | 3.5 | 0.0 | -20.125 | -0.5 | -8.25 | 1.0 | 2.0 ];
12423e5c31af7Sopenharmony_ci			input float in3 = [ -0.5 | 0.0 | -8.25 | -20.125 | 2.0 | 3.5 | 1.0 | 36.8125 ];
12424e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(-8.25, 3.5, 36.8125, -0.5) | mat2(3.5, -20.125, 3.5, 0.0) | mat2(36.8125, 1.0, 0.0, -8.25) | mat2(2.0, 0.0, -20.125, -20.125) | mat2(-20.125, -8.25, -0.5, 2.0) | mat2(1.0, 2.0, -8.25, 3.5) | mat2(-0.5, 36.8125, 1.0, 1.0) | mat2(0.0, -0.5, 2.0, 36.8125) ];
12425e5c31af7Sopenharmony_ci		}
12426e5c31af7Sopenharmony_ci
12427e5c31af7Sopenharmony_ci		both ""
12428e5c31af7Sopenharmony_ci			#version 300 es
12429e5c31af7Sopenharmony_ci			precision mediump float;
12430e5c31af7Sopenharmony_ci			precision mediump int;
12431e5c31af7Sopenharmony_ci
12432e5c31af7Sopenharmony_ci			${DECLARATIONS}
12433e5c31af7Sopenharmony_ci
12434e5c31af7Sopenharmony_ci			void main()
12435e5c31af7Sopenharmony_ci			{
12436e5c31af7Sopenharmony_ci				${SETUP}
12437e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1, in2, in3);
12438e5c31af7Sopenharmony_ci				${OUTPUT}
12439e5c31af7Sopenharmony_ci			}
12440e5c31af7Sopenharmony_ci		""
12441e5c31af7Sopenharmony_ci	end
12442e5c31af7Sopenharmony_ci
12443e5c31af7Sopenharmony_ci	case int_int_int_int_to_mat2
12444e5c31af7Sopenharmony_ci		version 300 es
12445e5c31af7Sopenharmony_ci		values
12446e5c31af7Sopenharmony_ci		{
12447e5c31af7Sopenharmony_ci			input int in0 = [ 2 | 1 | -192 | 11 | -66 | 255 | 0 | 8 | -12 | 5 ];
12448e5c31af7Sopenharmony_ci			input int in1 = [ 11 | 255 | 5 | -66 | 8 | 2 | 0 | -12 | 1 | -192 ];
12449e5c31af7Sopenharmony_ci			input int in2 = [ 11 | 1 | -12 | 255 | 5 | 0 | 8 | -192 | 2 | -66 ];
12450e5c31af7Sopenharmony_ci			input int in3 = [ 2 | 1 | 0 | 8 | 255 | -66 | -192 | 11 | 5 | -12 ];
12451e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(2.0, 11.0, 11.0, 2.0) | mat2(1.0, 255.0, 1.0, 1.0) | mat2(-192.0, 5.0, -12.0, 0.0) | mat2(11.0, -66.0, 255.0, 8.0) | mat2(-66.0, 8.0, 5.0, 255.0) | mat2(255.0, 2.0, 0.0, -66.0) | mat2(0.0, 0.0, 8.0, -192.0) | mat2(8.0, -12.0, -192.0, 11.0) | mat2(-12.0, 1.0, 2.0, 5.0) | mat2(5.0, -192.0, -66.0, -12.0) ];
12452e5c31af7Sopenharmony_ci		}
12453e5c31af7Sopenharmony_ci
12454e5c31af7Sopenharmony_ci		both ""
12455e5c31af7Sopenharmony_ci			#version 300 es
12456e5c31af7Sopenharmony_ci			precision mediump float;
12457e5c31af7Sopenharmony_ci			precision mediump int;
12458e5c31af7Sopenharmony_ci
12459e5c31af7Sopenharmony_ci			${DECLARATIONS}
12460e5c31af7Sopenharmony_ci
12461e5c31af7Sopenharmony_ci			void main()
12462e5c31af7Sopenharmony_ci			{
12463e5c31af7Sopenharmony_ci				${SETUP}
12464e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1, in2, in3);
12465e5c31af7Sopenharmony_ci				${OUTPUT}
12466e5c31af7Sopenharmony_ci			}
12467e5c31af7Sopenharmony_ci		""
12468e5c31af7Sopenharmony_ci	end
12469e5c31af7Sopenharmony_ci
12470e5c31af7Sopenharmony_ci	case uint_uint_uint_uint_to_mat2
12471e5c31af7Sopenharmony_ci		version 300 es
12472e5c31af7Sopenharmony_ci		values
12473e5c31af7Sopenharmony_ci		{
12474e5c31af7Sopenharmony_ci			input uint in0 = [ 193 | 9 | 12 | 45 | 10 | 2 | 8 | 3 | 255 | 0 ];
12475e5c31af7Sopenharmony_ci			input uint in1 = [ 0 | 255 | 12 | 193 | 3 | 2 | 45 | 9 | 8 | 10 ];
12476e5c31af7Sopenharmony_ci			input uint in2 = [ 3 | 9 | 10 | 2 | 12 | 193 | 255 | 0 | 8 | 45 ];
12477e5c31af7Sopenharmony_ci			input uint in3 = [ 45 | 12 | 9 | 3 | 2 | 255 | 10 | 8 | 193 | 0 ];
12478e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(193.0, 0.0, 3.0, 45.0) | mat2(9.0, 255.0, 9.0, 12.0) | mat2(12.0, 12.0, 10.0, 9.0) | mat2(45.0, 193.0, 2.0, 3.0) | mat2(10.0, 3.0, 12.0, 2.0) | mat2(2.0, 2.0, 193.0, 255.0) | mat2(8.0, 45.0, 255.0, 10.0) | mat2(3.0, 9.0, 0.0, 8.0) | mat2(255.0, 8.0, 8.0, 193.0) | mat2(0.0, 10.0, 45.0, 0.0) ];
12479e5c31af7Sopenharmony_ci		}
12480e5c31af7Sopenharmony_ci
12481e5c31af7Sopenharmony_ci		both ""
12482e5c31af7Sopenharmony_ci			#version 300 es
12483e5c31af7Sopenharmony_ci			precision mediump float;
12484e5c31af7Sopenharmony_ci			precision mediump int;
12485e5c31af7Sopenharmony_ci
12486e5c31af7Sopenharmony_ci			${DECLARATIONS}
12487e5c31af7Sopenharmony_ci
12488e5c31af7Sopenharmony_ci			void main()
12489e5c31af7Sopenharmony_ci			{
12490e5c31af7Sopenharmony_ci				${SETUP}
12491e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1, in2, in3);
12492e5c31af7Sopenharmony_ci				${OUTPUT}
12493e5c31af7Sopenharmony_ci			}
12494e5c31af7Sopenharmony_ci		""
12495e5c31af7Sopenharmony_ci	end
12496e5c31af7Sopenharmony_ci
12497e5c31af7Sopenharmony_ci	case bool_bool_bool_bool_to_mat2
12498e5c31af7Sopenharmony_ci		version 300 es
12499e5c31af7Sopenharmony_ci		values
12500e5c31af7Sopenharmony_ci		{
12501e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
12502e5c31af7Sopenharmony_ci			input bool in1 = [ true | false ];
12503e5c31af7Sopenharmony_ci			input bool in2 = [ true | false ];
12504e5c31af7Sopenharmony_ci			input bool in3 = [ false | true ];
12505e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 1.0, 1.0, 0.0) | mat2(0.0, 0.0, 0.0, 1.0) ];
12506e5c31af7Sopenharmony_ci		}
12507e5c31af7Sopenharmony_ci
12508e5c31af7Sopenharmony_ci		both ""
12509e5c31af7Sopenharmony_ci			#version 300 es
12510e5c31af7Sopenharmony_ci			precision mediump float;
12511e5c31af7Sopenharmony_ci			precision mediump int;
12512e5c31af7Sopenharmony_ci
12513e5c31af7Sopenharmony_ci			${DECLARATIONS}
12514e5c31af7Sopenharmony_ci
12515e5c31af7Sopenharmony_ci			void main()
12516e5c31af7Sopenharmony_ci			{
12517e5c31af7Sopenharmony_ci				${SETUP}
12518e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1, in2, in3);
12519e5c31af7Sopenharmony_ci				${OUTPUT}
12520e5c31af7Sopenharmony_ci			}
12521e5c31af7Sopenharmony_ci		""
12522e5c31af7Sopenharmony_ci	end
12523e5c31af7Sopenharmony_ci
12524e5c31af7Sopenharmony_ci	case bool_float_int_bool_to_mat2
12525e5c31af7Sopenharmony_ci		version 300 es
12526e5c31af7Sopenharmony_ci		values
12527e5c31af7Sopenharmony_ci		{
12528e5c31af7Sopenharmony_ci			input bool in0 = [ false | true | false | true | true | false | true | true | false | false ];
12529e5c31af7Sopenharmony_ci			input float in1 = [ 2.0 | -0.5 | 0.0 | 1.0 | 1.0 | 36.8125 | 3.5 | 0.0 | -8.25 | -20.125 ];
12530e5c31af7Sopenharmony_ci			input int in2 = [ 0 | -12 | 8 | -192 | 1 | -66 | 5 | 11 | 2 | 255 ];
12531e5c31af7Sopenharmony_ci			input bool in3 = [ true | false | true | false | true | false | false | true | true | false ];
12532e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(0.0, 2.0, 0.0, 1.0) | mat2(1.0, -0.5, -12.0, 0.0) | mat2(0.0, 0.0, 8.0, 1.0) | mat2(1.0, 1.0, -192.0, 0.0) | mat2(1.0, 1.0, 1.0, 1.0) | mat2(0.0, 36.8125, -66.0, 0.0) | mat2(1.0, 3.5, 5.0, 0.0) | mat2(1.0, 0.0, 11.0, 1.0) | mat2(0.0, -8.25, 2.0, 1.0) | mat2(0.0, -20.125, 255.0, 0.0) ];
12533e5c31af7Sopenharmony_ci		}
12534e5c31af7Sopenharmony_ci
12535e5c31af7Sopenharmony_ci		both ""
12536e5c31af7Sopenharmony_ci			#version 300 es
12537e5c31af7Sopenharmony_ci			precision mediump float;
12538e5c31af7Sopenharmony_ci			precision mediump int;
12539e5c31af7Sopenharmony_ci
12540e5c31af7Sopenharmony_ci			${DECLARATIONS}
12541e5c31af7Sopenharmony_ci
12542e5c31af7Sopenharmony_ci			void main()
12543e5c31af7Sopenharmony_ci			{
12544e5c31af7Sopenharmony_ci				${SETUP}
12545e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1, in2, in3);
12546e5c31af7Sopenharmony_ci				${OUTPUT}
12547e5c31af7Sopenharmony_ci			}
12548e5c31af7Sopenharmony_ci		""
12549e5c31af7Sopenharmony_ci	end
12550e5c31af7Sopenharmony_ci
12551e5c31af7Sopenharmony_ci	case vec2_ivec2_to_mat2
12552e5c31af7Sopenharmony_ci		version 300 es
12553e5c31af7Sopenharmony_ci		values
12554e5c31af7Sopenharmony_ci		{
12555e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(1.0, 1.25) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) | vec2(0.0, 0.5) ];
12556e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) ];
12557e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 1.25, 0.0, -2.0) | mat2(-32.0, 64.0, 0.0, 0.0) | mat2(-0.5, -2.25, 0.0, 0.0) | mat2(-0.75, -0.0322580645161, -32.0, 64.0) | mat2(0.0, 0.5, 1.0, 1.0) ];
12558e5c31af7Sopenharmony_ci		}
12559e5c31af7Sopenharmony_ci
12560e5c31af7Sopenharmony_ci		both ""
12561e5c31af7Sopenharmony_ci			#version 300 es
12562e5c31af7Sopenharmony_ci			precision mediump float;
12563e5c31af7Sopenharmony_ci			precision mediump int;
12564e5c31af7Sopenharmony_ci
12565e5c31af7Sopenharmony_ci			${DECLARATIONS}
12566e5c31af7Sopenharmony_ci
12567e5c31af7Sopenharmony_ci			void main()
12568e5c31af7Sopenharmony_ci			{
12569e5c31af7Sopenharmony_ci				${SETUP}
12570e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1);
12571e5c31af7Sopenharmony_ci				${OUTPUT}
12572e5c31af7Sopenharmony_ci			}
12573e5c31af7Sopenharmony_ci		""
12574e5c31af7Sopenharmony_ci	end
12575e5c31af7Sopenharmony_ci
12576e5c31af7Sopenharmony_ci	case vec2_bvec2_to_mat2
12577e5c31af7Sopenharmony_ci		version 300 es
12578e5c31af7Sopenharmony_ci		values
12579e5c31af7Sopenharmony_ci		{
12580e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(0.0, 0.5) ];
12581e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) ];
12582e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(-0.5, -2.25, 0.0, 0.0) | mat2(-32.0, 64.0, 1.0, 0.0) | mat2(1.0, 1.25, 0.0, 0.0) | mat2(-0.75, -0.0322580645161, 0.0, 1.0) | mat2(0.0, 0.5, 1.0, 1.0) ];
12583e5c31af7Sopenharmony_ci		}
12584e5c31af7Sopenharmony_ci
12585e5c31af7Sopenharmony_ci		both ""
12586e5c31af7Sopenharmony_ci			#version 300 es
12587e5c31af7Sopenharmony_ci			precision mediump float;
12588e5c31af7Sopenharmony_ci			precision mediump int;
12589e5c31af7Sopenharmony_ci
12590e5c31af7Sopenharmony_ci			${DECLARATIONS}
12591e5c31af7Sopenharmony_ci
12592e5c31af7Sopenharmony_ci			void main()
12593e5c31af7Sopenharmony_ci			{
12594e5c31af7Sopenharmony_ci				${SETUP}
12595e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1);
12596e5c31af7Sopenharmony_ci				${OUTPUT}
12597e5c31af7Sopenharmony_ci			}
12598e5c31af7Sopenharmony_ci		""
12599e5c31af7Sopenharmony_ci	end
12600e5c31af7Sopenharmony_ci
12601e5c31af7Sopenharmony_ci	case bvec3_float_to_mat2
12602e5c31af7Sopenharmony_ci		version 300 es
12603e5c31af7Sopenharmony_ci		values
12604e5c31af7Sopenharmony_ci		{
12605e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(true, false, false) | bvec3(false, true, false) | bvec3(false, false, false) | bvec3(false, false, false) ];
12606e5c31af7Sopenharmony_ci			input float in1 = [ 36.8125 | -8.25 | 1.0 | -0.5 | 2.0 | -20.125 | 0.0 | 3.5 ];
12607e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 36.8125) | mat2(0.0, 1.0, 0.0, -8.25) | mat2(0.0, 0.0, 0.0, 1.0) | mat2(1.0, 1.0, 1.0, -0.5) | mat2(1.0, 0.0, 0.0, 2.0) | mat2(0.0, 1.0, 0.0, -20.125) | mat2(0.0, 0.0, 0.0, 0.0) | mat2(0.0, 0.0, 0.0, 3.5) ];
12608e5c31af7Sopenharmony_ci		}
12609e5c31af7Sopenharmony_ci
12610e5c31af7Sopenharmony_ci		both ""
12611e5c31af7Sopenharmony_ci			#version 300 es
12612e5c31af7Sopenharmony_ci			precision mediump float;
12613e5c31af7Sopenharmony_ci			precision mediump int;
12614e5c31af7Sopenharmony_ci
12615e5c31af7Sopenharmony_ci			${DECLARATIONS}
12616e5c31af7Sopenharmony_ci
12617e5c31af7Sopenharmony_ci			void main()
12618e5c31af7Sopenharmony_ci			{
12619e5c31af7Sopenharmony_ci				${SETUP}
12620e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1);
12621e5c31af7Sopenharmony_ci				${OUTPUT}
12622e5c31af7Sopenharmony_ci			}
12623e5c31af7Sopenharmony_ci		""
12624e5c31af7Sopenharmony_ci	end
12625e5c31af7Sopenharmony_ci
12626e5c31af7Sopenharmony_ci	case vec3_float_to_mat2
12627e5c31af7Sopenharmony_ci		version 300 es
12628e5c31af7Sopenharmony_ci		values
12629e5c31af7Sopenharmony_ci		{
12630e5c31af7Sopenharmony_ci			input vec3 in0 = [ vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-0.5, -2.25, -4.875) | vec3(1.0, 1.25, 1.125) | vec3(0.0, 0.5, 0.75) | vec3(-32.0, 64.0, -51.0) | vec3(0.0, 0.5, 0.75) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
12631e5c31af7Sopenharmony_ci			input float in1 = [ -0.5 | -20.125 | 0.0 | 36.8125 | 3.5 | -8.25 | 2.0 | 1.0 ];
12632e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 1.25, 1.125, -0.5) | mat2(-0.5, -2.25, -4.875, -20.125) | mat2(-0.5, -2.25, -4.875, 0.0) | mat2(1.0, 1.25, 1.125, 36.8125) | mat2(0.0, 0.5, 0.75, 3.5) | mat2(-32.0, 64.0, -51.0, -8.25) | mat2(0.0, 0.5, 0.75, 2.0) | mat2(-0.75, -0.0322580645161, 0.0526315789474, 1.0) ];
12633e5c31af7Sopenharmony_ci		}
12634e5c31af7Sopenharmony_ci
12635e5c31af7Sopenharmony_ci		both ""
12636e5c31af7Sopenharmony_ci			#version 300 es
12637e5c31af7Sopenharmony_ci			precision mediump float;
12638e5c31af7Sopenharmony_ci			precision mediump int;
12639e5c31af7Sopenharmony_ci
12640e5c31af7Sopenharmony_ci			${DECLARATIONS}
12641e5c31af7Sopenharmony_ci
12642e5c31af7Sopenharmony_ci			void main()
12643e5c31af7Sopenharmony_ci			{
12644e5c31af7Sopenharmony_ci				${SETUP}
12645e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1);
12646e5c31af7Sopenharmony_ci				${OUTPUT}
12647e5c31af7Sopenharmony_ci			}
12648e5c31af7Sopenharmony_ci		""
12649e5c31af7Sopenharmony_ci	end
12650e5c31af7Sopenharmony_ci
12651e5c31af7Sopenharmony_ci	case int_ivec2_int_to_mat2
12652e5c31af7Sopenharmony_ci		version 300 es
12653e5c31af7Sopenharmony_ci		values
12654e5c31af7Sopenharmony_ci		{
12655e5c31af7Sopenharmony_ci			input int in0 = [ 8 | -192 | 2 | 0 | -66 | 255 | 5 | 1 | -12 | 11 ];
12656e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, -2) | ivec2(1, 1) | ivec2(1, 1) ];
12657e5c31af7Sopenharmony_ci			input int in2 = [ 2 | 1 | -12 | 0 | 11 | 8 | 255 | -192 | 5 | -66 ];
12658e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(8.0, 0.0, -2.0, 2.0) | mat2(-192.0, 0.0, 0.0, 1.0) | mat2(2.0, -32.0, 64.0, -12.0) | mat2(0.0, 0.0, 0.0, 0.0) | mat2(-66.0, 0.0, 0.0, 11.0) | mat2(255.0, -32.0, 64.0, 8.0) | mat2(5.0, 0.0, 0.0, 255.0) | mat2(1.0, 0.0, -2.0, -192.0) | mat2(-12.0, 1.0, 1.0, 5.0) | mat2(11.0, 1.0, 1.0, -66.0) ];
12659e5c31af7Sopenharmony_ci		}
12660e5c31af7Sopenharmony_ci
12661e5c31af7Sopenharmony_ci		both ""
12662e5c31af7Sopenharmony_ci			#version 300 es
12663e5c31af7Sopenharmony_ci			precision mediump float;
12664e5c31af7Sopenharmony_ci			precision mediump int;
12665e5c31af7Sopenharmony_ci
12666e5c31af7Sopenharmony_ci			${DECLARATIONS}
12667e5c31af7Sopenharmony_ci
12668e5c31af7Sopenharmony_ci			void main()
12669e5c31af7Sopenharmony_ci			{
12670e5c31af7Sopenharmony_ci				${SETUP}
12671e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1, in2);
12672e5c31af7Sopenharmony_ci				${OUTPUT}
12673e5c31af7Sopenharmony_ci			}
12674e5c31af7Sopenharmony_ci		""
12675e5c31af7Sopenharmony_ci	end
12676e5c31af7Sopenharmony_ci
12677e5c31af7Sopenharmony_ci	case bool_float_ivec2_to_mat2
12678e5c31af7Sopenharmony_ci		version 300 es
12679e5c31af7Sopenharmony_ci		values
12680e5c31af7Sopenharmony_ci		{
12681e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | true | false | false | true | false | false ];
12682e5c31af7Sopenharmony_ci			input float in1 = [ 1.0 | -0.5 | -20.125 | 36.8125 | 2.0 | 0.0 | -8.25 | 3.5 ];
12683e5c31af7Sopenharmony_ci			input ivec2 in2 = [ ivec2(0, 0) | ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, -2) ];
12684e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 1.0, 0.0, 0.0) | mat2(1.0, -0.5, 0.0, 0.0) | mat2(1.0, -20.125, 1.0, 1.0) | mat2(0.0, 36.8125, 0.0, 0.0) | mat2(0.0, 2.0, 1.0, 1.0) | mat2(1.0, 0.0, 0.0, -2.0) | mat2(0.0, -8.25, -32.0, 64.0) | mat2(0.0, 3.5, 0.0, -2.0) ];
12685e5c31af7Sopenharmony_ci		}
12686e5c31af7Sopenharmony_ci
12687e5c31af7Sopenharmony_ci		both ""
12688e5c31af7Sopenharmony_ci			#version 300 es
12689e5c31af7Sopenharmony_ci			precision mediump float;
12690e5c31af7Sopenharmony_ci			precision mediump int;
12691e5c31af7Sopenharmony_ci
12692e5c31af7Sopenharmony_ci			${DECLARATIONS}
12693e5c31af7Sopenharmony_ci
12694e5c31af7Sopenharmony_ci			void main()
12695e5c31af7Sopenharmony_ci			{
12696e5c31af7Sopenharmony_ci				${SETUP}
12697e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1, in2);
12698e5c31af7Sopenharmony_ci				${OUTPUT}
12699e5c31af7Sopenharmony_ci			}
12700e5c31af7Sopenharmony_ci		""
12701e5c31af7Sopenharmony_ci	end
12702e5c31af7Sopenharmony_ci
12703e5c31af7Sopenharmony_ci	case float_uvec3_to_mat2
12704e5c31af7Sopenharmony_ci		version 300 es
12705e5c31af7Sopenharmony_ci		values
12706e5c31af7Sopenharmony_ci		{
12707e5c31af7Sopenharmony_ci			input float in0 = [ 36.8125 | 2.0 | -0.5 | 0.0 | -20.125 | 1.0 | 3.5 | -8.25 ];
12708e5c31af7Sopenharmony_ci			input uvec3 in1 = [ uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(0, 2, 4) | uvec3(0, 0, 0) | uvec3(32, 64, 51) | uvec3(0, 0, 0) | uvec3(0, 0, 0) | uvec3(1, 1, 1) ];
12709e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(36.8125, 1.0, 1.0, 1.0) | mat2(2.0, 0.0, 2.0, 4.0) | mat2(-0.5, 0.0, 2.0, 4.0) | mat2(0.0, 0.0, 0.0, 0.0) | mat2(-20.125, 32.0, 64.0, 51.0) | mat2(1.0, 0.0, 0.0, 0.0) | mat2(3.5, 0.0, 0.0, 0.0) | mat2(-8.25, 1.0, 1.0, 1.0) ];
12710e5c31af7Sopenharmony_ci		}
12711e5c31af7Sopenharmony_ci
12712e5c31af7Sopenharmony_ci		both ""
12713e5c31af7Sopenharmony_ci			#version 300 es
12714e5c31af7Sopenharmony_ci			precision mediump float;
12715e5c31af7Sopenharmony_ci			precision mediump int;
12716e5c31af7Sopenharmony_ci
12717e5c31af7Sopenharmony_ci			${DECLARATIONS}
12718e5c31af7Sopenharmony_ci
12719e5c31af7Sopenharmony_ci			void main()
12720e5c31af7Sopenharmony_ci			{
12721e5c31af7Sopenharmony_ci				${SETUP}
12722e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1);
12723e5c31af7Sopenharmony_ci				${OUTPUT}
12724e5c31af7Sopenharmony_ci			}
12725e5c31af7Sopenharmony_ci		""
12726e5c31af7Sopenharmony_ci	end
12727e5c31af7Sopenharmony_ci
12728e5c31af7Sopenharmony_ci	case int_uvec2_bool_to_mat2
12729e5c31af7Sopenharmony_ci		version 300 es
12730e5c31af7Sopenharmony_ci		values
12731e5c31af7Sopenharmony_ci		{
12732e5c31af7Sopenharmony_ci			input int in0 = [ 1 | -66 | 5 | -192 | 11 | 0 | 8 | 2 | -12 | 255 ];
12733e5c31af7Sopenharmony_ci			input uvec2 in1 = [ uvec2(0, 2) | uvec2(32, 64) | uvec2(1, 1) | uvec2(0, 0) | uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(0, 0) | uvec2(0, 0) | uvec2(32, 64) ];
12734e5c31af7Sopenharmony_ci			input bool in2 = [ true | false | true | false | false | false | true | true | true | false ];
12735e5c31af7Sopenharmony_ci			output mat2 out0 = [ mat2(1.0, 0.0, 2.0, 1.0) | mat2(-66.0, 32.0, 64.0, 0.0) | mat2(5.0, 1.0, 1.0, 1.0) | mat2(-192.0, 0.0, 0.0, 0.0) | mat2(11.0, 0.0, 0.0, 0.0) | mat2(0.0, 1.0, 1.0, 0.0) | mat2(8.0, 0.0, 2.0, 1.0) | mat2(2.0, 0.0, 0.0, 1.0) | mat2(-12.0, 0.0, 0.0, 1.0) | mat2(255.0, 32.0, 64.0, 0.0) ];
12736e5c31af7Sopenharmony_ci		}
12737e5c31af7Sopenharmony_ci
12738e5c31af7Sopenharmony_ci		both ""
12739e5c31af7Sopenharmony_ci			#version 300 es
12740e5c31af7Sopenharmony_ci			precision mediump float;
12741e5c31af7Sopenharmony_ci			precision mediump int;
12742e5c31af7Sopenharmony_ci
12743e5c31af7Sopenharmony_ci			${DECLARATIONS}
12744e5c31af7Sopenharmony_ci
12745e5c31af7Sopenharmony_ci			void main()
12746e5c31af7Sopenharmony_ci			{
12747e5c31af7Sopenharmony_ci				${SETUP}
12748e5c31af7Sopenharmony_ci				out0 = mat2(in0, in1, in2);
12749e5c31af7Sopenharmony_ci				${OUTPUT}
12750e5c31af7Sopenharmony_ci			}
12751e5c31af7Sopenharmony_ci		""
12752e5c31af7Sopenharmony_ci	end
12753e5c31af7Sopenharmony_ci
12754e5c31af7Sopenharmony_ci	case vec3_vec3_to_mat2x3
12755e5c31af7Sopenharmony_ci		version 300 es
12756e5c31af7Sopenharmony_ci		values
12757e5c31af7Sopenharmony_ci		{
12758e5c31af7Sopenharmony_ci			input vec3 in0 = [ vec3(1.0, 1.25, 1.125) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(0.0, 0.5, 0.75) ];
12759e5c31af7Sopenharmony_ci			input vec3 in1 = [ vec3(-32.0, 64.0, -51.0) | vec3(-0.5, -2.25, -4.875) | vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
12760e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(1.0, 1.25, 1.125, -32.0, 64.0, -51.0) | mat2x3(-0.75, -0.0322580645161, 0.0526315789474, -0.5, -2.25, -4.875) | mat2x3(-0.5, -2.25, -4.875, 0.0, 0.5, 0.75) | mat2x3(-32.0, 64.0, -51.0, 1.0, 1.25, 1.125) | mat2x3(0.0, 0.5, 0.75, -0.75, -0.0322580645161, 0.0526315789474) ];
12761e5c31af7Sopenharmony_ci		}
12762e5c31af7Sopenharmony_ci
12763e5c31af7Sopenharmony_ci		both ""
12764e5c31af7Sopenharmony_ci			#version 300 es
12765e5c31af7Sopenharmony_ci			precision mediump float;
12766e5c31af7Sopenharmony_ci			precision mediump int;
12767e5c31af7Sopenharmony_ci
12768e5c31af7Sopenharmony_ci			${DECLARATIONS}
12769e5c31af7Sopenharmony_ci
12770e5c31af7Sopenharmony_ci			void main()
12771e5c31af7Sopenharmony_ci			{
12772e5c31af7Sopenharmony_ci				${SETUP}
12773e5c31af7Sopenharmony_ci				out0 = mat2x3(in0, in1);
12774e5c31af7Sopenharmony_ci				${OUTPUT}
12775e5c31af7Sopenharmony_ci			}
12776e5c31af7Sopenharmony_ci		""
12777e5c31af7Sopenharmony_ci	end
12778e5c31af7Sopenharmony_ci
12779e5c31af7Sopenharmony_ci	case bvec3_bvec3_to_mat2x3
12780e5c31af7Sopenharmony_ci		version 300 es
12781e5c31af7Sopenharmony_ci		values
12782e5c31af7Sopenharmony_ci		{
12783e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, true, false) | bvec3(true, false, false) ];
12784e5c31af7Sopenharmony_ci			input bvec3 in1 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) ];
12785e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat2x3(0.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat2x3(1.0, 1.0, 1.0, 1.0, 0.0, 0.0) | mat2x3(0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) ];
12786e5c31af7Sopenharmony_ci		}
12787e5c31af7Sopenharmony_ci
12788e5c31af7Sopenharmony_ci		both ""
12789e5c31af7Sopenharmony_ci			#version 300 es
12790e5c31af7Sopenharmony_ci			precision mediump float;
12791e5c31af7Sopenharmony_ci			precision mediump int;
12792e5c31af7Sopenharmony_ci
12793e5c31af7Sopenharmony_ci			${DECLARATIONS}
12794e5c31af7Sopenharmony_ci
12795e5c31af7Sopenharmony_ci			void main()
12796e5c31af7Sopenharmony_ci			{
12797e5c31af7Sopenharmony_ci				${SETUP}
12798e5c31af7Sopenharmony_ci				out0 = mat2x3(in0, in1);
12799e5c31af7Sopenharmony_ci				${OUTPUT}
12800e5c31af7Sopenharmony_ci			}
12801e5c31af7Sopenharmony_ci		""
12802e5c31af7Sopenharmony_ci	end
12803e5c31af7Sopenharmony_ci
12804e5c31af7Sopenharmony_ci	case float_float_float_float_float_float_to_mat2x3
12805e5c31af7Sopenharmony_ci		version 300 es
12806e5c31af7Sopenharmony_ci		values
12807e5c31af7Sopenharmony_ci		{
12808e5c31af7Sopenharmony_ci			input float in0 = [ 1.0 | -8.25 | -20.125 | 36.8125 | -0.5 | 2.0 | 3.5 | 0.0 ];
12809e5c31af7Sopenharmony_ci			input float in1 = [ -0.5 | -20.125 | 36.8125 | -8.25 | 2.0 | 1.0 | 3.5 | 0.0 ];
12810e5c31af7Sopenharmony_ci			input float in2 = [ 3.5 | 1.0 | 36.8125 | -20.125 | -8.25 | -0.5 | 2.0 | 0.0 ];
12811e5c31af7Sopenharmony_ci			input float in3 = [ 1.0 | -8.25 | 0.0 | -20.125 | 2.0 | 3.5 | -0.5 | 36.8125 ];
12812e5c31af7Sopenharmony_ci			input float in4 = [ 1.0 | 0.0 | 3.5 | 2.0 | -8.25 | -20.125 | -0.5 | 36.8125 ];
12813e5c31af7Sopenharmony_ci			input float in5 = [ 2.0 | -20.125 | -8.25 | -0.5 | 3.5 | 1.0 | 36.8125 | 0.0 ];
12814e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(1.0, -0.5, 3.5, 1.0, 1.0, 2.0) | mat2x3(-8.25, -20.125, 1.0, -8.25, 0.0, -20.125) | mat2x3(-20.125, 36.8125, 36.8125, 0.0, 3.5, -8.25) | mat2x3(36.8125, -8.25, -20.125, -20.125, 2.0, -0.5) | mat2x3(-0.5, 2.0, -8.25, 2.0, -8.25, 3.5) | mat2x3(2.0, 1.0, -0.5, 3.5, -20.125, 1.0) | mat2x3(3.5, 3.5, 2.0, -0.5, -0.5, 36.8125) | mat2x3(0.0, 0.0, 0.0, 36.8125, 36.8125, 0.0) ];
12815e5c31af7Sopenharmony_ci		}
12816e5c31af7Sopenharmony_ci
12817e5c31af7Sopenharmony_ci		both ""
12818e5c31af7Sopenharmony_ci			#version 300 es
12819e5c31af7Sopenharmony_ci			precision mediump float;
12820e5c31af7Sopenharmony_ci			precision mediump int;
12821e5c31af7Sopenharmony_ci
12822e5c31af7Sopenharmony_ci			${DECLARATIONS}
12823e5c31af7Sopenharmony_ci
12824e5c31af7Sopenharmony_ci			void main()
12825e5c31af7Sopenharmony_ci			{
12826e5c31af7Sopenharmony_ci				${SETUP}
12827e5c31af7Sopenharmony_ci				out0 = mat2x3(in0, in1, in2, in3, in4, in5);
12828e5c31af7Sopenharmony_ci				${OUTPUT}
12829e5c31af7Sopenharmony_ci			}
12830e5c31af7Sopenharmony_ci		""
12831e5c31af7Sopenharmony_ci	end
12832e5c31af7Sopenharmony_ci
12833e5c31af7Sopenharmony_ci	case int_int_int_int_int_int_to_mat2x3
12834e5c31af7Sopenharmony_ci		version 300 es
12835e5c31af7Sopenharmony_ci		values
12836e5c31af7Sopenharmony_ci		{
12837e5c31af7Sopenharmony_ci			input int in0 = [ 2 | 8 | -192 | 0 | 5 | -12 | 1 | 255 | -66 | 11 ];
12838e5c31af7Sopenharmony_ci			input int in1 = [ 1 | -192 | 8 | 0 | -12 | 2 | 11 | 255 | -66 | 5 ];
12839e5c31af7Sopenharmony_ci			input int in2 = [ -192 | 2 | -66 | 8 | 11 | 255 | 0 | 5 | -12 | 1 ];
12840e5c31af7Sopenharmony_ci			input int in3 = [ 2 | 11 | 255 | 0 | -66 | -12 | 5 | -192 | 8 | 1 ];
12841e5c31af7Sopenharmony_ci			input int in4 = [ 8 | 0 | -12 | -192 | 2 | -66 | 1 | 255 | 5 | 11 ];
12842e5c31af7Sopenharmony_ci			input int in5 = [ 0 | 11 | 5 | 8 | -12 | 255 | -192 | 2 | 1 | -66 ];
12843e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(2.0, 1.0, -192.0, 2.0, 8.0, 0.0) | mat2x3(8.0, -192.0, 2.0, 11.0, 0.0, 11.0) | mat2x3(-192.0, 8.0, -66.0, 255.0, -12.0, 5.0) | mat2x3(0.0, 0.0, 8.0, 0.0, -192.0, 8.0) | mat2x3(5.0, -12.0, 11.0, -66.0, 2.0, -12.0) | mat2x3(-12.0, 2.0, 255.0, -12.0, -66.0, 255.0) | mat2x3(1.0, 11.0, 0.0, 5.0, 1.0, -192.0) | mat2x3(255.0, 255.0, 5.0, -192.0, 255.0, 2.0) | mat2x3(-66.0, -66.0, -12.0, 8.0, 5.0, 1.0) | mat2x3(11.0, 5.0, 1.0, 1.0, 11.0, -66.0) ];
12844e5c31af7Sopenharmony_ci		}
12845e5c31af7Sopenharmony_ci
12846e5c31af7Sopenharmony_ci		both ""
12847e5c31af7Sopenharmony_ci			#version 300 es
12848e5c31af7Sopenharmony_ci			precision mediump float;
12849e5c31af7Sopenharmony_ci			precision mediump int;
12850e5c31af7Sopenharmony_ci
12851e5c31af7Sopenharmony_ci			${DECLARATIONS}
12852e5c31af7Sopenharmony_ci
12853e5c31af7Sopenharmony_ci			void main()
12854e5c31af7Sopenharmony_ci			{
12855e5c31af7Sopenharmony_ci				${SETUP}
12856e5c31af7Sopenharmony_ci				out0 = mat2x3(in0, in1, in2, in3, in4, in5);
12857e5c31af7Sopenharmony_ci				${OUTPUT}
12858e5c31af7Sopenharmony_ci			}
12859e5c31af7Sopenharmony_ci		""
12860e5c31af7Sopenharmony_ci	end
12861e5c31af7Sopenharmony_ci
12862e5c31af7Sopenharmony_ci	case bool_bool_bool_bool_bool_bool_to_mat2x3
12863e5c31af7Sopenharmony_ci		version 300 es
12864e5c31af7Sopenharmony_ci		values
12865e5c31af7Sopenharmony_ci		{
12866e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
12867e5c31af7Sopenharmony_ci			input bool in1 = [ false | true ];
12868e5c31af7Sopenharmony_ci			input bool in2 = [ false | true ];
12869e5c31af7Sopenharmony_ci			input bool in3 = [ true | false ];
12870e5c31af7Sopenharmony_ci			input bool in4 = [ true | false ];
12871e5c31af7Sopenharmony_ci			input bool in5 = [ true | false ];
12872e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat2x3(0.0, 1.0, 1.0, 0.0, 0.0, 0.0) ];
12873e5c31af7Sopenharmony_ci		}
12874e5c31af7Sopenharmony_ci
12875e5c31af7Sopenharmony_ci		both ""
12876e5c31af7Sopenharmony_ci			#version 300 es
12877e5c31af7Sopenharmony_ci			precision mediump float;
12878e5c31af7Sopenharmony_ci			precision mediump int;
12879e5c31af7Sopenharmony_ci
12880e5c31af7Sopenharmony_ci			${DECLARATIONS}
12881e5c31af7Sopenharmony_ci
12882e5c31af7Sopenharmony_ci			void main()
12883e5c31af7Sopenharmony_ci			{
12884e5c31af7Sopenharmony_ci				${SETUP}
12885e5c31af7Sopenharmony_ci				out0 = mat2x3(in0, in1, in2, in3, in4, in5);
12886e5c31af7Sopenharmony_ci				${OUTPUT}
12887e5c31af7Sopenharmony_ci			}
12888e5c31af7Sopenharmony_ci		""
12889e5c31af7Sopenharmony_ci	end
12890e5c31af7Sopenharmony_ci
12891e5c31af7Sopenharmony_ci	case bool_float_int_bool_float_int_to_mat2x3
12892e5c31af7Sopenharmony_ci		version 300 es
12893e5c31af7Sopenharmony_ci		values
12894e5c31af7Sopenharmony_ci		{
12895e5c31af7Sopenharmony_ci			input bool in0 = [ false | true | false | true | false | true | false | true | true | false ];
12896e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | -8.25 | 2.0 | -20.125 | 3.5 | 0.0 | -0.5 | 36.8125 | 1.0 | 1.0 ];
12897e5c31af7Sopenharmony_ci			input int in2 = [ -66 | -12 | 2 | 8 | 255 | 11 | -192 | 1 | 5 | 0 ];
12898e5c31af7Sopenharmony_ci			input bool in3 = [ true | false | true | false | false | true | true | false | true | false ];
12899e5c31af7Sopenharmony_ci			input float in4 = [ 1.0 | 0.0 | -8.25 | 1.0 | 3.5 | -20.125 | -0.5 | 0.0 | 2.0 | 36.8125 ];
12900e5c31af7Sopenharmony_ci			input int in5 = [ 255 | -192 | 1 | 2 | -12 | -66 | 8 | 0 | 11 | 5 ];
12901e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(0.0, 0.0, -66.0, 1.0, 1.0, 255.0) | mat2x3(1.0, -8.25, -12.0, 0.0, 0.0, -192.0) | mat2x3(0.0, 2.0, 2.0, 1.0, -8.25, 1.0) | mat2x3(1.0, -20.125, 8.0, 0.0, 1.0, 2.0) | mat2x3(0.0, 3.5, 255.0, 0.0, 3.5, -12.0) | mat2x3(1.0, 0.0, 11.0, 1.0, -20.125, -66.0) | mat2x3(0.0, -0.5, -192.0, 1.0, -0.5, 8.0) | mat2x3(1.0, 36.8125, 1.0, 0.0, 0.0, 0.0) | mat2x3(1.0, 1.0, 5.0, 1.0, 2.0, 11.0) | mat2x3(0.0, 1.0, 0.0, 0.0, 36.8125, 5.0) ];
12902e5c31af7Sopenharmony_ci		}
12903e5c31af7Sopenharmony_ci
12904e5c31af7Sopenharmony_ci		both ""
12905e5c31af7Sopenharmony_ci			#version 300 es
12906e5c31af7Sopenharmony_ci			precision mediump float;
12907e5c31af7Sopenharmony_ci			precision mediump int;
12908e5c31af7Sopenharmony_ci
12909e5c31af7Sopenharmony_ci			${DECLARATIONS}
12910e5c31af7Sopenharmony_ci
12911e5c31af7Sopenharmony_ci			void main()
12912e5c31af7Sopenharmony_ci			{
12913e5c31af7Sopenharmony_ci				${SETUP}
12914e5c31af7Sopenharmony_ci				out0 = mat2x3(in0, in1, in2, in3, in4, in5);
12915e5c31af7Sopenharmony_ci				${OUTPUT}
12916e5c31af7Sopenharmony_ci			}
12917e5c31af7Sopenharmony_ci		""
12918e5c31af7Sopenharmony_ci	end
12919e5c31af7Sopenharmony_ci
12920e5c31af7Sopenharmony_ci	case vec3_ivec3_to_mat2x3
12921e5c31af7Sopenharmony_ci		version 300 es
12922e5c31af7Sopenharmony_ci		values
12923e5c31af7Sopenharmony_ci		{
12924e5c31af7Sopenharmony_ci			input vec3 in0 = [ vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(0.0, 0.5, 0.75) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
12925e5c31af7Sopenharmony_ci			input ivec3 in1 = [ ivec3(1, 1, 1) | ivec3(-32, 64, -51) | ivec3(0, -2, -4) | ivec3(0, 0, 0) | ivec3(0, 0, 0) ];
12926e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(1.0, 1.25, 1.125, 1.0, 1.0, 1.0) | mat2x3(-0.5, -2.25, -4.875, -32.0, 64.0, -51.0) | mat2x3(-32.0, 64.0, -51.0, 0.0, -2.0, -4.0) | mat2x3(0.0, 0.5, 0.75, 0.0, 0.0, 0.0) | mat2x3(-0.75, -0.0322580645161, 0.0526315789474, 0.0, 0.0, 0.0) ];
12927e5c31af7Sopenharmony_ci		}
12928e5c31af7Sopenharmony_ci
12929e5c31af7Sopenharmony_ci		both ""
12930e5c31af7Sopenharmony_ci			#version 300 es
12931e5c31af7Sopenharmony_ci			precision mediump float;
12932e5c31af7Sopenharmony_ci			precision mediump int;
12933e5c31af7Sopenharmony_ci
12934e5c31af7Sopenharmony_ci			${DECLARATIONS}
12935e5c31af7Sopenharmony_ci
12936e5c31af7Sopenharmony_ci			void main()
12937e5c31af7Sopenharmony_ci			{
12938e5c31af7Sopenharmony_ci				${SETUP}
12939e5c31af7Sopenharmony_ci				out0 = mat2x3(in0, in1);
12940e5c31af7Sopenharmony_ci				${OUTPUT}
12941e5c31af7Sopenharmony_ci			}
12942e5c31af7Sopenharmony_ci		""
12943e5c31af7Sopenharmony_ci	end
12944e5c31af7Sopenharmony_ci
12945e5c31af7Sopenharmony_ci	case vec2_bvec4_to_mat2x3
12946e5c31af7Sopenharmony_ci		version 300 es
12947e5c31af7Sopenharmony_ci		values
12948e5c31af7Sopenharmony_ci		{
12949e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-32.0, 64.0) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) ];
12950e5c31af7Sopenharmony_ci			input bvec4 in1 = [ bvec4(true, false, false, true) | bvec4(false, true, false, false) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
12951e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(-32.0, 64.0, 1.0, 0.0, 0.0, 1.0) | mat2x3(0.0, 0.5, 0.0, 1.0, 0.0, 0.0) | mat2x3(-0.5, -2.25, 0.0, 0.0, 0.0, 1.0) | mat2x3(1.0, 1.25, 1.0, 1.0, 1.0, 1.0) | mat2x3(-0.75, -0.0322580645161, 0.0, 0.0, 0.0, 0.0) ];
12952e5c31af7Sopenharmony_ci		}
12953e5c31af7Sopenharmony_ci
12954e5c31af7Sopenharmony_ci		both ""
12955e5c31af7Sopenharmony_ci			#version 300 es
12956e5c31af7Sopenharmony_ci			precision mediump float;
12957e5c31af7Sopenharmony_ci			precision mediump int;
12958e5c31af7Sopenharmony_ci
12959e5c31af7Sopenharmony_ci			${DECLARATIONS}
12960e5c31af7Sopenharmony_ci
12961e5c31af7Sopenharmony_ci			void main()
12962e5c31af7Sopenharmony_ci			{
12963e5c31af7Sopenharmony_ci				${SETUP}
12964e5c31af7Sopenharmony_ci				out0 = mat2x3(in0, in1);
12965e5c31af7Sopenharmony_ci				${OUTPUT}
12966e5c31af7Sopenharmony_ci			}
12967e5c31af7Sopenharmony_ci		""
12968e5c31af7Sopenharmony_ci	end
12969e5c31af7Sopenharmony_ci
12970e5c31af7Sopenharmony_ci	case bvec3_float_ivec2_to_mat2x3
12971e5c31af7Sopenharmony_ci		version 300 es
12972e5c31af7Sopenharmony_ci		values
12973e5c31af7Sopenharmony_ci		{
12974e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, false, false) | bvec3(false, true, false) ];
12975e5c31af7Sopenharmony_ci			input float in1 = [ 1.0 | -8.25 | 36.8125 | 2.0 | 3.5 | -0.5 | -20.125 | 0.0 ];
12976e5c31af7Sopenharmony_ci			input ivec2 in2 = [ ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) ];
12977e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(0.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat2x3(0.0, 0.0, 0.0, -8.25, 0.0, 0.0) | mat2x3(1.0, 1.0, 1.0, 36.8125, -32.0, 64.0) | mat2x3(1.0, 0.0, 0.0, 2.0, 0.0, -2.0) | mat2x3(0.0, 0.0, 0.0, 3.5, 1.0, 1.0) | mat2x3(0.0, 1.0, 0.0, -0.5, 0.0, -2.0) | mat2x3(1.0, 0.0, 0.0, -20.125, 0.0, 0.0) | mat2x3(0.0, 1.0, 0.0, 0.0, 0.0, 0.0) ];
12978e5c31af7Sopenharmony_ci		}
12979e5c31af7Sopenharmony_ci
12980e5c31af7Sopenharmony_ci		both ""
12981e5c31af7Sopenharmony_ci			#version 300 es
12982e5c31af7Sopenharmony_ci			precision mediump float;
12983e5c31af7Sopenharmony_ci			precision mediump int;
12984e5c31af7Sopenharmony_ci
12985e5c31af7Sopenharmony_ci			${DECLARATIONS}
12986e5c31af7Sopenharmony_ci
12987e5c31af7Sopenharmony_ci			void main()
12988e5c31af7Sopenharmony_ci			{
12989e5c31af7Sopenharmony_ci				${SETUP}
12990e5c31af7Sopenharmony_ci				out0 = mat2x3(in0, in1, in2);
12991e5c31af7Sopenharmony_ci				${OUTPUT}
12992e5c31af7Sopenharmony_ci			}
12993e5c31af7Sopenharmony_ci		""
12994e5c31af7Sopenharmony_ci	end
12995e5c31af7Sopenharmony_ci
12996e5c31af7Sopenharmony_ci	case vec3_float_bvec2_to_mat2x3
12997e5c31af7Sopenharmony_ci		version 300 es
12998e5c31af7Sopenharmony_ci		values
12999e5c31af7Sopenharmony_ci		{
13000e5c31af7Sopenharmony_ci			input vec3 in0 = [ 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(-0.75, -0.0322580645161, 0.0526315789474) | vec3(-32.0, 64.0, -51.0) | vec3(1.0, 1.25, 1.125) ];
13001e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | 36.8125 | 3.5 | -0.5 | -8.25 | 2.0 | 1.0 | -20.125 ];
13002e5c31af7Sopenharmony_ci			input bvec2 in2 = [ bvec2(false, false) | bvec2(false, true) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, false) ];
13003e5c31af7Sopenharmony_ci			output mat2x3 out0 = [ mat2x3(0.0, 0.5, 0.75, 0.0, 0.0, 0.0) | mat2x3(-0.5, -2.25, -4.875, 36.8125, 0.0, 1.0) | mat2x3(0.0, 0.5, 0.75, 3.5, 1.0, 0.0) | mat2x3(1.0, 1.25, 1.125, -0.5, 0.0, 1.0) | mat2x3(-0.5, -2.25, -4.875, -8.25, 0.0, 0.0) | mat2x3(-0.75, -0.0322580645161, 0.0526315789474, 2.0, 1.0, 0.0) | mat2x3(-32.0, 64.0, -51.0, 1.0, 1.0, 1.0) | mat2x3(1.0, 1.25, 1.125, -20.125, 0.0, 0.0) ];
13004e5c31af7Sopenharmony_ci		}
13005e5c31af7Sopenharmony_ci
13006e5c31af7Sopenharmony_ci		both ""
13007e5c31af7Sopenharmony_ci			#version 300 es
13008e5c31af7Sopenharmony_ci			precision mediump float;
13009e5c31af7Sopenharmony_ci			precision mediump int;
13010e5c31af7Sopenharmony_ci
13011e5c31af7Sopenharmony_ci			${DECLARATIONS}
13012e5c31af7Sopenharmony_ci
13013e5c31af7Sopenharmony_ci			void main()
13014e5c31af7Sopenharmony_ci			{
13015e5c31af7Sopenharmony_ci				${SETUP}
13016e5c31af7Sopenharmony_ci				out0 = mat2x3(in0, in1, in2);
13017e5c31af7Sopenharmony_ci				${OUTPUT}
13018e5c31af7Sopenharmony_ci			}
13019e5c31af7Sopenharmony_ci		""
13020e5c31af7Sopenharmony_ci	end
13021e5c31af7Sopenharmony_ci
13022e5c31af7Sopenharmony_ci	case vec3_vec3_vec2_to_mat2x4
13023e5c31af7Sopenharmony_ci		version 300 es
13024e5c31af7Sopenharmony_ci		values
13025e5c31af7Sopenharmony_ci		{
13026e5c31af7Sopenharmony_ci			input vec3 in0 = [ vec3(-0.5, -2.25, -4.875) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-32.0, 64.0, -51.0) ];
13027e5c31af7Sopenharmony_ci			input vec3 in1 = [ vec3(0.0, 0.5, 0.75) | vec3(-0.5, -2.25, -4.875) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(-32.0, 64.0, -51.0) | vec3(1.0, 1.25, 1.125) ];
13028e5c31af7Sopenharmony_ci			input vec2 in2 = [ vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) ];
13029e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(-0.5, -2.25, -4.875, 0.0, 0.5, 0.75, -0.75, -0.0322580645161) | mat2x4(-0.75, -0.0322580645161, 0.0526315789474, -0.5, -2.25, -4.875, -32.0, 64.0) | mat2x4(0.0, 0.5, 0.75, -0.75, -0.0322580645161, 0.0526315789474, 1.0, 1.25) | mat2x4(1.0, 1.25, 1.125, -32.0, 64.0, -51.0, 0.0, 0.5) | mat2x4(-32.0, 64.0, -51.0, 1.0, 1.25, 1.125, -0.5, -2.25) ];
13030e5c31af7Sopenharmony_ci		}
13031e5c31af7Sopenharmony_ci
13032e5c31af7Sopenharmony_ci		both ""
13033e5c31af7Sopenharmony_ci			#version 300 es
13034e5c31af7Sopenharmony_ci			precision mediump float;
13035e5c31af7Sopenharmony_ci			precision mediump int;
13036e5c31af7Sopenharmony_ci
13037e5c31af7Sopenharmony_ci			${DECLARATIONS}
13038e5c31af7Sopenharmony_ci
13039e5c31af7Sopenharmony_ci			void main()
13040e5c31af7Sopenharmony_ci			{
13041e5c31af7Sopenharmony_ci				${SETUP}
13042e5c31af7Sopenharmony_ci				out0 = mat2x4(in0, in1, in2);
13043e5c31af7Sopenharmony_ci				${OUTPUT}
13044e5c31af7Sopenharmony_ci			}
13045e5c31af7Sopenharmony_ci		""
13046e5c31af7Sopenharmony_ci	end
13047e5c31af7Sopenharmony_ci
13048e5c31af7Sopenharmony_ci	case ivec3_ivec3_ivec2_to_mat2x4
13049e5c31af7Sopenharmony_ci		version 300 es
13050e5c31af7Sopenharmony_ci		values
13051e5c31af7Sopenharmony_ci		{
13052e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, -2, -4) | ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, 64, -51) ];
13053e5c31af7Sopenharmony_ci			input ivec3 in1 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
13054e5c31af7Sopenharmony_ci			input ivec2 in2 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, 64) ];
13055e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(0.0, -2.0, -4.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat2x4(0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, -2.0) | mat2x4(1.0, 1.0, 1.0, 0.0, -2.0, -4.0, 1.0, 1.0) | mat2x4(0.0, 0.0, 0.0, -32.0, 64.0, -51.0, 0.0, 0.0) | mat2x4(-32.0, 64.0, -51.0, 0.0, 0.0, 0.0, -32.0, 64.0) ];
13056e5c31af7Sopenharmony_ci		}
13057e5c31af7Sopenharmony_ci
13058e5c31af7Sopenharmony_ci		both ""
13059e5c31af7Sopenharmony_ci			#version 300 es
13060e5c31af7Sopenharmony_ci			precision mediump float;
13061e5c31af7Sopenharmony_ci			precision mediump int;
13062e5c31af7Sopenharmony_ci
13063e5c31af7Sopenharmony_ci			${DECLARATIONS}
13064e5c31af7Sopenharmony_ci
13065e5c31af7Sopenharmony_ci			void main()
13066e5c31af7Sopenharmony_ci			{
13067e5c31af7Sopenharmony_ci				${SETUP}
13068e5c31af7Sopenharmony_ci				out0 = mat2x4(in0, in1, in2);
13069e5c31af7Sopenharmony_ci				${OUTPUT}
13070e5c31af7Sopenharmony_ci			}
13071e5c31af7Sopenharmony_ci		""
13072e5c31af7Sopenharmony_ci	end
13073e5c31af7Sopenharmony_ci
13074e5c31af7Sopenharmony_ci	case vec2_ivec2_float_float_int_bool_to_mat2x4
13075e5c31af7Sopenharmony_ci		version 300 es
13076e5c31af7Sopenharmony_ci		values
13077e5c31af7Sopenharmony_ci		{
13078e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(-32.0, 64.0) | 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) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) ];
13079e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, 0) | ivec2(1, 1) ];
13080e5c31af7Sopenharmony_ci			input float in2 = [ -8.25 | -0.5 | 3.5 | 36.8125 | 0.0 | 0.0 | 2.0 | -20.125 | 1.0 | 1.0 ];
13081e5c31af7Sopenharmony_ci			input float in3 = [ 1.0 | 2.0 | -0.5 | 3.5 | 36.8125 | -8.25 | 1.0 | 0.0 | 0.0 | -20.125 ];
13082e5c31af7Sopenharmony_ci			input int in4 = [ 255 | 8 | 11 | -12 | -192 | 0 | 2 | 1 | -66 | 5 ];
13083e5c31af7Sopenharmony_ci			input bool in5 = [ true | false | false | true | false | true | true | false | true | false ];
13084e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(0.0, 0.5, 1.0, 1.0, -8.25, 1.0, 255.0, 1.0) | mat2x4(-32.0, 64.0, 0.0, -2.0, -0.5, 2.0, 8.0, 0.0) | mat2x4(-0.5, -2.25, -32.0, 64.0, 3.5, -0.5, 11.0, 0.0) | mat2x4(0.0, 0.5, 0.0, -2.0, 36.8125, 3.5, -12.0, 1.0) | mat2x4(-32.0, 64.0, 0.0, 0.0, 0.0, 36.8125, -192.0, 0.0) | mat2x4(1.0, 1.25, 0.0, 0.0, 0.0, -8.25, 0.0, 1.0) | mat2x4(-0.75, -0.0322580645161, -32.0, 64.0, 2.0, 1.0, 2.0, 1.0) | mat2x4(1.0, 1.25, 0.0, 0.0, -20.125, 0.0, 1.0, 0.0) | mat2x4(-0.5, -2.25, 0.0, 0.0, 1.0, 0.0, -66.0, 1.0) | mat2x4(-0.75, -0.0322580645161, 1.0, 1.0, 1.0, -20.125, 5.0, 0.0) ];
13085e5c31af7Sopenharmony_ci		}
13086e5c31af7Sopenharmony_ci
13087e5c31af7Sopenharmony_ci		both ""
13088e5c31af7Sopenharmony_ci			#version 300 es
13089e5c31af7Sopenharmony_ci			precision mediump float;
13090e5c31af7Sopenharmony_ci			precision mediump int;
13091e5c31af7Sopenharmony_ci
13092e5c31af7Sopenharmony_ci			${DECLARATIONS}
13093e5c31af7Sopenharmony_ci
13094e5c31af7Sopenharmony_ci			void main()
13095e5c31af7Sopenharmony_ci			{
13096e5c31af7Sopenharmony_ci				${SETUP}
13097e5c31af7Sopenharmony_ci				out0 = mat2x4(in0, in1, in2, in3, in4, in5);
13098e5c31af7Sopenharmony_ci				${OUTPUT}
13099e5c31af7Sopenharmony_ci			}
13100e5c31af7Sopenharmony_ci		""
13101e5c31af7Sopenharmony_ci	end
13102e5c31af7Sopenharmony_ci
13103e5c31af7Sopenharmony_ci	case bool_float_int_vec2_bool_bvec2_to_mat2x4
13104e5c31af7Sopenharmony_ci		version 300 es
13105e5c31af7Sopenharmony_ci		values
13106e5c31af7Sopenharmony_ci		{
13107e5c31af7Sopenharmony_ci			input bool in0 = [ false | true | false | true | true | true | false | false | false | true ];
13108e5c31af7Sopenharmony_ci			input float in1 = [ 0.0 | -0.5 | -20.125 | -8.25 | 0.0 | 2.0 | 3.5 | 1.0 | 1.0 | 36.8125 ];
13109e5c31af7Sopenharmony_ci			input int in2 = [ 2 | 1 | 255 | 8 | -66 | 0 | -12 | 5 | -192 | 11 ];
13110e5c31af7Sopenharmony_ci			input vec2 in3 = [ 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) | vec2(1.0, 1.25) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) ];
13111e5c31af7Sopenharmony_ci			input bool in4 = [ true | false | false | true | false | false | true | true | true | false ];
13112e5c31af7Sopenharmony_ci			input bvec2 in5 = [ bvec2(true, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) | bvec2(false, true) | bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, false) ];
13113e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(0.0, 0.0, 2.0, -32.0, 64.0, 1.0, 1.0, 0.0) | mat2x4(1.0, -0.5, 1.0, -0.5, -2.25, 0.0, 1.0, 1.0) | mat2x4(0.0, -20.125, 255.0, 1.0, 1.25, 0.0, 0.0, 1.0) | mat2x4(1.0, -8.25, 8.0, -0.75, -0.0322580645161, 1.0, 1.0, 1.0) | mat2x4(1.0, 0.0, -66.0, 0.0, 0.5, 0.0, 0.0, 0.0) | mat2x4(1.0, 2.0, 0.0, 1.0, 1.25, 0.0, 0.0, 1.0) | mat2x4(0.0, 3.5, -12.0, -32.0, 64.0, 1.0, 0.0, 0.0) | mat2x4(0.0, 1.0, 5.0, -0.5, -2.25, 1.0, 0.0, 0.0) | mat2x4(0.0, 1.0, -192.0, 0.0, 0.5, 1.0, 0.0, 0.0) | mat2x4(1.0, 36.8125, 11.0, -0.75, -0.0322580645161, 0.0, 1.0, 0.0) ];
13114e5c31af7Sopenharmony_ci		}
13115e5c31af7Sopenharmony_ci
13116e5c31af7Sopenharmony_ci		both ""
13117e5c31af7Sopenharmony_ci			#version 300 es
13118e5c31af7Sopenharmony_ci			precision mediump float;
13119e5c31af7Sopenharmony_ci			precision mediump int;
13120e5c31af7Sopenharmony_ci
13121e5c31af7Sopenharmony_ci			${DECLARATIONS}
13122e5c31af7Sopenharmony_ci
13123e5c31af7Sopenharmony_ci			void main()
13124e5c31af7Sopenharmony_ci			{
13125e5c31af7Sopenharmony_ci				${SETUP}
13126e5c31af7Sopenharmony_ci				out0 = mat2x4(in0, in1, in2, in3, in4, in5);
13127e5c31af7Sopenharmony_ci				${OUTPUT}
13128e5c31af7Sopenharmony_ci			}
13129e5c31af7Sopenharmony_ci		""
13130e5c31af7Sopenharmony_ci	end
13131e5c31af7Sopenharmony_ci
13132e5c31af7Sopenharmony_ci	case bool_bvec2_int_vec4_to_mat2x4
13133e5c31af7Sopenharmony_ci		version 300 es
13134e5c31af7Sopenharmony_ci		values
13135e5c31af7Sopenharmony_ci		{
13136e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | true | false | false | false | false | false | true | true ];
13137e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(true, true) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(false, true) | bvec2(false, false) ];
13138e5c31af7Sopenharmony_ci			input int in2 = [ 8 | 1 | 5 | -66 | -192 | 11 | 255 | 0 | -12 | 2 ];
13139e5c31af7Sopenharmony_ci			input vec4 in3 = [ 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.5, -2.25, -4.875, 9.0) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) ];
13140e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(1.0, 1.0, 1.0, 8.0, 0.0, 0.5, 0.75, 0.825) | mat2x4(1.0, 0.0, 0.0, 1.0, 0.0, 0.5, 0.75, 0.825) | mat2x4(1.0, 1.0, 0.0, 5.0, -32.0, 64.0, -51.0, 24.0) | mat2x4(0.0, 0.0, 0.0, -66.0, 1.0, 1.25, 1.125, 1.75) | mat2x4(0.0, 1.0, 1.0, -192.0, -0.5, -2.25, -4.875, 9.0) | mat2x4(0.0, 1.0, 0.0, 11.0, 1.0, 1.25, 1.125, 1.75) | mat2x4(0.0, 0.0, 1.0, 255.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25) | mat2x4(0.0, 0.0, 0.0, 0.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25) | mat2x4(1.0, 0.0, 1.0, -12.0, -0.5, -2.25, -4.875, 9.0) | mat2x4(1.0, 0.0, 0.0, 2.0, -32.0, 64.0, -51.0, 24.0) ];
13141e5c31af7Sopenharmony_ci		}
13142e5c31af7Sopenharmony_ci
13143e5c31af7Sopenharmony_ci		both ""
13144e5c31af7Sopenharmony_ci			#version 300 es
13145e5c31af7Sopenharmony_ci			precision mediump float;
13146e5c31af7Sopenharmony_ci			precision mediump int;
13147e5c31af7Sopenharmony_ci
13148e5c31af7Sopenharmony_ci			${DECLARATIONS}
13149e5c31af7Sopenharmony_ci
13150e5c31af7Sopenharmony_ci			void main()
13151e5c31af7Sopenharmony_ci			{
13152e5c31af7Sopenharmony_ci				${SETUP}
13153e5c31af7Sopenharmony_ci				out0 = mat2x4(in0, in1, in2, in3);
13154e5c31af7Sopenharmony_ci				${OUTPUT}
13155e5c31af7Sopenharmony_ci			}
13156e5c31af7Sopenharmony_ci		""
13157e5c31af7Sopenharmony_ci	end
13158e5c31af7Sopenharmony_ci
13159e5c31af7Sopenharmony_ci	case float_bvec4_ivec2_bool_to_mat2x4
13160e5c31af7Sopenharmony_ci		version 300 es
13161e5c31af7Sopenharmony_ci		values
13162e5c31af7Sopenharmony_ci		{
13163e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 3.5 | 2.0 | -8.25 | -20.125 | 36.8125 | 1.0 | -0.5 ];
13164e5c31af7Sopenharmony_ci			input bvec4 in1 = [ bvec4(true, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(false, true, false, false) | bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, false, false, false) ];
13165e5c31af7Sopenharmony_ci			input ivec2 in2 = [ ivec2(0, -2) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(1, 1) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) ];
13166e5c31af7Sopenharmony_ci			input bool in3 = [ true | true | false | true | false | false | false | true ];
13167e5c31af7Sopenharmony_ci			output mat2x4 out0 = [ mat2x4(0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -2.0, 1.0) | mat2x4(3.5, 1.0, 1.0, 1.0, 1.0, -32.0, 64.0, 1.0) | mat2x4(2.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0) | mat2x4(-8.25, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat2x4(-20.125, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat2x4(36.8125, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat2x4(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat2x4(-0.5, 0.0, 0.0, 0.0, 0.0, 0.0, -2.0, 1.0) ];
13168e5c31af7Sopenharmony_ci		}
13169e5c31af7Sopenharmony_ci
13170e5c31af7Sopenharmony_ci		both ""
13171e5c31af7Sopenharmony_ci			#version 300 es
13172e5c31af7Sopenharmony_ci			precision mediump float;
13173e5c31af7Sopenharmony_ci			precision mediump int;
13174e5c31af7Sopenharmony_ci
13175e5c31af7Sopenharmony_ci			${DECLARATIONS}
13176e5c31af7Sopenharmony_ci
13177e5c31af7Sopenharmony_ci			void main()
13178e5c31af7Sopenharmony_ci			{
13179e5c31af7Sopenharmony_ci				${SETUP}
13180e5c31af7Sopenharmony_ci				out0 = mat2x4(in0, in1, in2, in3);
13181e5c31af7Sopenharmony_ci				${OUTPUT}
13182e5c31af7Sopenharmony_ci			}
13183e5c31af7Sopenharmony_ci		""
13184e5c31af7Sopenharmony_ci	end
13185e5c31af7Sopenharmony_ci
13186e5c31af7Sopenharmony_ci	case vec3_vec3_to_mat3x2
13187e5c31af7Sopenharmony_ci		version 300 es
13188e5c31af7Sopenharmony_ci		values
13189e5c31af7Sopenharmony_ci		{
13190e5c31af7Sopenharmony_ci			input vec3 in0 = [ 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(1.0, 1.25, 1.125) ];
13191e5c31af7Sopenharmony_ci			input vec3 in1 = [ 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) ];
13192e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(-0.75, -0.0322580645161, 0.0526315789474, 1.0, 1.25, 1.125) | mat3x2(-0.5, -2.25, -4.875, -0.75, -0.0322580645161, 0.0526315789474) | mat3x2(0.0, 0.5, 0.75, -32.0, 64.0, -51.0) | mat3x2(-32.0, 64.0, -51.0, -0.5, -2.25, -4.875) | mat3x2(1.0, 1.25, 1.125, 0.0, 0.5, 0.75) ];
13193e5c31af7Sopenharmony_ci		}
13194e5c31af7Sopenharmony_ci
13195e5c31af7Sopenharmony_ci		both ""
13196e5c31af7Sopenharmony_ci			#version 300 es
13197e5c31af7Sopenharmony_ci			precision mediump float;
13198e5c31af7Sopenharmony_ci			precision mediump int;
13199e5c31af7Sopenharmony_ci
13200e5c31af7Sopenharmony_ci			${DECLARATIONS}
13201e5c31af7Sopenharmony_ci
13202e5c31af7Sopenharmony_ci			void main()
13203e5c31af7Sopenharmony_ci			{
13204e5c31af7Sopenharmony_ci				${SETUP}
13205e5c31af7Sopenharmony_ci				out0 = mat3x2(in0, in1);
13206e5c31af7Sopenharmony_ci				${OUTPUT}
13207e5c31af7Sopenharmony_ci			}
13208e5c31af7Sopenharmony_ci		""
13209e5c31af7Sopenharmony_ci	end
13210e5c31af7Sopenharmony_ci
13211e5c31af7Sopenharmony_ci	case bvec3_bvec3_to_mat3x2
13212e5c31af7Sopenharmony_ci		version 300 es
13213e5c31af7Sopenharmony_ci		values
13214e5c31af7Sopenharmony_ci		{
13215e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
13216e5c31af7Sopenharmony_ci			input bvec3 in1 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, true, false) | bvec3(true, false, false) ];
13217e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x2(0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat3x2(0.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat3x2(1.0, 1.0, 1.0, 0.0, 1.0, 0.0) | mat3x2(0.0, 0.0, 0.0, 1.0, 0.0, 0.0) ];
13218e5c31af7Sopenharmony_ci		}
13219e5c31af7Sopenharmony_ci
13220e5c31af7Sopenharmony_ci		both ""
13221e5c31af7Sopenharmony_ci			#version 300 es
13222e5c31af7Sopenharmony_ci			precision mediump float;
13223e5c31af7Sopenharmony_ci			precision mediump int;
13224e5c31af7Sopenharmony_ci
13225e5c31af7Sopenharmony_ci			${DECLARATIONS}
13226e5c31af7Sopenharmony_ci
13227e5c31af7Sopenharmony_ci			void main()
13228e5c31af7Sopenharmony_ci			{
13229e5c31af7Sopenharmony_ci				${SETUP}
13230e5c31af7Sopenharmony_ci				out0 = mat3x2(in0, in1);
13231e5c31af7Sopenharmony_ci				${OUTPUT}
13232e5c31af7Sopenharmony_ci			}
13233e5c31af7Sopenharmony_ci		""
13234e5c31af7Sopenharmony_ci	end
13235e5c31af7Sopenharmony_ci
13236e5c31af7Sopenharmony_ci	case float_float_float_float_float_float_to_mat3x2
13237e5c31af7Sopenharmony_ci		version 300 es
13238e5c31af7Sopenharmony_ci		values
13239e5c31af7Sopenharmony_ci		{
13240e5c31af7Sopenharmony_ci			input float in0 = [ -8.25 | 36.8125 | -20.125 | -0.5 | 3.5 | 1.0 | 2.0 | 0.0 ];
13241e5c31af7Sopenharmony_ci			input float in1 = [ 2.0 | 3.5 | -20.125 | 36.8125 | 1.0 | 0.0 | -8.25 | -0.5 ];
13242e5c31af7Sopenharmony_ci			input float in2 = [ -0.5 | 2.0 | 1.0 | 0.0 | -8.25 | 36.8125 | -20.125 | 3.5 ];
13243e5c31af7Sopenharmony_ci			input float in3 = [ 36.8125 | 0.0 | 1.0 | -0.5 | 2.0 | 3.5 | -20.125 | -8.25 ];
13244e5c31af7Sopenharmony_ci			input float in4 = [ 36.8125 | 2.0 | 0.0 | -0.5 | 3.5 | -20.125 | -8.25 | 1.0 ];
13245e5c31af7Sopenharmony_ci			input float in5 = [ 0.0 | 36.8125 | -20.125 | -0.5 | 3.5 | 2.0 | 1.0 | -8.25 ];
13246e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(-8.25, 2.0, -0.5, 36.8125, 36.8125, 0.0) | mat3x2(36.8125, 3.5, 2.0, 0.0, 2.0, 36.8125) | mat3x2(-20.125, -20.125, 1.0, 1.0, 0.0, -20.125) | mat3x2(-0.5, 36.8125, 0.0, -0.5, -0.5, -0.5) | mat3x2(3.5, 1.0, -8.25, 2.0, 3.5, 3.5) | mat3x2(1.0, 0.0, 36.8125, 3.5, -20.125, 2.0) | mat3x2(2.0, -8.25, -20.125, -20.125, -8.25, 1.0) | mat3x2(0.0, -0.5, 3.5, -8.25, 1.0, -8.25) ];
13247e5c31af7Sopenharmony_ci		}
13248e5c31af7Sopenharmony_ci
13249e5c31af7Sopenharmony_ci		both ""
13250e5c31af7Sopenharmony_ci			#version 300 es
13251e5c31af7Sopenharmony_ci			precision mediump float;
13252e5c31af7Sopenharmony_ci			precision mediump int;
13253e5c31af7Sopenharmony_ci
13254e5c31af7Sopenharmony_ci			${DECLARATIONS}
13255e5c31af7Sopenharmony_ci
13256e5c31af7Sopenharmony_ci			void main()
13257e5c31af7Sopenharmony_ci			{
13258e5c31af7Sopenharmony_ci				${SETUP}
13259e5c31af7Sopenharmony_ci				out0 = mat3x2(in0, in1, in2, in3, in4, in5);
13260e5c31af7Sopenharmony_ci				${OUTPUT}
13261e5c31af7Sopenharmony_ci			}
13262e5c31af7Sopenharmony_ci		""
13263e5c31af7Sopenharmony_ci	end
13264e5c31af7Sopenharmony_ci
13265e5c31af7Sopenharmony_ci	case int_int_int_int_int_int_to_mat3x2
13266e5c31af7Sopenharmony_ci		version 300 es
13267e5c31af7Sopenharmony_ci		values
13268e5c31af7Sopenharmony_ci		{
13269e5c31af7Sopenharmony_ci			input int in0 = [ 8 | -192 | 2 | 11 | 255 | -66 | 5 | -12 | 1 | 0 ];
13270e5c31af7Sopenharmony_ci			input int in1 = [ 1 | 2 | -12 | 5 | 0 | 255 | 8 | 11 | -192 | -66 ];
13271e5c31af7Sopenharmony_ci			input int in2 = [ -12 | 11 | 2 | 1 | 8 | -66 | -192 | 5 | 255 | 0 ];
13272e5c31af7Sopenharmony_ci			input int in3 = [ -192 | 0 | -12 | 11 | 1 | -66 | 8 | 255 | 2 | 5 ];
13273e5c31af7Sopenharmony_ci			input int in4 = [ -12 | 5 | 0 | -66 | 255 | 8 | -192 | 11 | 2 | 1 ];
13274e5c31af7Sopenharmony_ci			input int in5 = [ -66 | -12 | 8 | 2 | 255 | 0 | -192 | 11 | 1 | 5 ];
13275e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(8.0, 1.0, -12.0, -192.0, -12.0, -66.0) | mat3x2(-192.0, 2.0, 11.0, 0.0, 5.0, -12.0) | mat3x2(2.0, -12.0, 2.0, -12.0, 0.0, 8.0) | mat3x2(11.0, 5.0, 1.0, 11.0, -66.0, 2.0) | mat3x2(255.0, 0.0, 8.0, 1.0, 255.0, 255.0) | mat3x2(-66.0, 255.0, -66.0, -66.0, 8.0, 0.0) | mat3x2(5.0, 8.0, -192.0, 8.0, -192.0, -192.0) | mat3x2(-12.0, 11.0, 5.0, 255.0, 11.0, 11.0) | mat3x2(1.0, -192.0, 255.0, 2.0, 2.0, 1.0) | mat3x2(0.0, -66.0, 0.0, 5.0, 1.0, 5.0) ];
13276e5c31af7Sopenharmony_ci		}
13277e5c31af7Sopenharmony_ci
13278e5c31af7Sopenharmony_ci		both ""
13279e5c31af7Sopenharmony_ci			#version 300 es
13280e5c31af7Sopenharmony_ci			precision mediump float;
13281e5c31af7Sopenharmony_ci			precision mediump int;
13282e5c31af7Sopenharmony_ci
13283e5c31af7Sopenharmony_ci			${DECLARATIONS}
13284e5c31af7Sopenharmony_ci
13285e5c31af7Sopenharmony_ci			void main()
13286e5c31af7Sopenharmony_ci			{
13287e5c31af7Sopenharmony_ci				${SETUP}
13288e5c31af7Sopenharmony_ci				out0 = mat3x2(in0, in1, in2, in3, in4, in5);
13289e5c31af7Sopenharmony_ci				${OUTPUT}
13290e5c31af7Sopenharmony_ci			}
13291e5c31af7Sopenharmony_ci		""
13292e5c31af7Sopenharmony_ci	end
13293e5c31af7Sopenharmony_ci
13294e5c31af7Sopenharmony_ci	case bool_bool_bool_bool_bool_bool_to_mat3x2
13295e5c31af7Sopenharmony_ci		version 300 es
13296e5c31af7Sopenharmony_ci		values
13297e5c31af7Sopenharmony_ci		{
13298e5c31af7Sopenharmony_ci			input bool in0 = [ true | false ];
13299e5c31af7Sopenharmony_ci			input bool in1 = [ false | true ];
13300e5c31af7Sopenharmony_ci			input bool in2 = [ false | true ];
13301e5c31af7Sopenharmony_ci			input bool in3 = [ false | true ];
13302e5c31af7Sopenharmony_ci			input bool in4 = [ false | true ];
13303e5c31af7Sopenharmony_ci			input bool in5 = [ false | true ];
13304e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x2(0.0, 1.0, 1.0, 1.0, 1.0, 1.0) ];
13305e5c31af7Sopenharmony_ci		}
13306e5c31af7Sopenharmony_ci
13307e5c31af7Sopenharmony_ci		both ""
13308e5c31af7Sopenharmony_ci			#version 300 es
13309e5c31af7Sopenharmony_ci			precision mediump float;
13310e5c31af7Sopenharmony_ci			precision mediump int;
13311e5c31af7Sopenharmony_ci
13312e5c31af7Sopenharmony_ci			${DECLARATIONS}
13313e5c31af7Sopenharmony_ci
13314e5c31af7Sopenharmony_ci			void main()
13315e5c31af7Sopenharmony_ci			{
13316e5c31af7Sopenharmony_ci				${SETUP}
13317e5c31af7Sopenharmony_ci				out0 = mat3x2(in0, in1, in2, in3, in4, in5);
13318e5c31af7Sopenharmony_ci				${OUTPUT}
13319e5c31af7Sopenharmony_ci			}
13320e5c31af7Sopenharmony_ci		""
13321e5c31af7Sopenharmony_ci	end
13322e5c31af7Sopenharmony_ci
13323e5c31af7Sopenharmony_ci	case bool_float_int_bool_float_int_to_mat3x2
13324e5c31af7Sopenharmony_ci		version 300 es
13325e5c31af7Sopenharmony_ci		values
13326e5c31af7Sopenharmony_ci		{
13327e5c31af7Sopenharmony_ci			input bool in0 = [ true | false | true | true | false | true | false | true | false | false ];
13328e5c31af7Sopenharmony_ci			input float in1 = [ -20.125 | 0.0 | 3.5 | 0.0 | 1.0 | -8.25 | 1.0 | 2.0 | 36.8125 | -0.5 ];
13329e5c31af7Sopenharmony_ci			input int in2 = [ 255 | -66 | 8 | -192 | 5 | 11 | 1 | 2 | 0 | -12 ];
13330e5c31af7Sopenharmony_ci			input bool in3 = [ true | false | false | true | false | true | true | false | false | true ];
13331e5c31af7Sopenharmony_ci			input float in4 = [ 0.0 | -20.125 | 1.0 | -8.25 | 0.0 | -0.5 | 2.0 | 3.5 | 1.0 | 36.8125 ];
13332e5c31af7Sopenharmony_ci			input int in5 = [ -192 | 8 | 2 | 255 | -66 | -12 | 11 | 0 | 5 | 1 ];
13333e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(1.0, -20.125, 255.0, 1.0, 0.0, -192.0) | mat3x2(0.0, 0.0, -66.0, 0.0, -20.125, 8.0) | mat3x2(1.0, 3.5, 8.0, 0.0, 1.0, 2.0) | mat3x2(1.0, 0.0, -192.0, 1.0, -8.25, 255.0) | mat3x2(0.0, 1.0, 5.0, 0.0, 0.0, -66.0) | mat3x2(1.0, -8.25, 11.0, 1.0, -0.5, -12.0) | mat3x2(0.0, 1.0, 1.0, 1.0, 2.0, 11.0) | mat3x2(1.0, 2.0, 2.0, 0.0, 3.5, 0.0) | mat3x2(0.0, 36.8125, 0.0, 0.0, 1.0, 5.0) | mat3x2(0.0, -0.5, -12.0, 1.0, 36.8125, 1.0) ];
13334e5c31af7Sopenharmony_ci		}
13335e5c31af7Sopenharmony_ci
13336e5c31af7Sopenharmony_ci		both ""
13337e5c31af7Sopenharmony_ci			#version 300 es
13338e5c31af7Sopenharmony_ci			precision mediump float;
13339e5c31af7Sopenharmony_ci			precision mediump int;
13340e5c31af7Sopenharmony_ci
13341e5c31af7Sopenharmony_ci			${DECLARATIONS}
13342e5c31af7Sopenharmony_ci
13343e5c31af7Sopenharmony_ci			void main()
13344e5c31af7Sopenharmony_ci			{
13345e5c31af7Sopenharmony_ci				${SETUP}
13346e5c31af7Sopenharmony_ci				out0 = mat3x2(in0, in1, in2, in3, in4, in5);
13347e5c31af7Sopenharmony_ci				${OUTPUT}
13348e5c31af7Sopenharmony_ci			}
13349e5c31af7Sopenharmony_ci		""
13350e5c31af7Sopenharmony_ci	end
13351e5c31af7Sopenharmony_ci
13352e5c31af7Sopenharmony_ci	case vec3_ivec3_to_mat3x2
13353e5c31af7Sopenharmony_ci		version 300 es
13354e5c31af7Sopenharmony_ci		values
13355e5c31af7Sopenharmony_ci		{
13356e5c31af7Sopenharmony_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(-32.0, 64.0, -51.0) | vec3(-0.5, -2.25, -4.875) ];
13357e5c31af7Sopenharmony_ci			input ivec3 in1 = [ ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
13358e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(0.0, 0.5, 0.75, 1.0, 1.0, 1.0) | mat3x2(1.0, 1.25, 1.125, 0.0, 0.0, 0.0) | mat3x2(-0.75, -0.0322580645161, 0.0526315789474, 0.0, -2.0, -4.0) | mat3x2(-32.0, 64.0, -51.0, -32.0, 64.0, -51.0) | mat3x2(-0.5, -2.25, -4.875, 0.0, 0.0, 0.0) ];
13359e5c31af7Sopenharmony_ci		}
13360e5c31af7Sopenharmony_ci
13361e5c31af7Sopenharmony_ci		both ""
13362e5c31af7Sopenharmony_ci			#version 300 es
13363e5c31af7Sopenharmony_ci			precision mediump float;
13364e5c31af7Sopenharmony_ci			precision mediump int;
13365e5c31af7Sopenharmony_ci
13366e5c31af7Sopenharmony_ci			${DECLARATIONS}
13367e5c31af7Sopenharmony_ci
13368e5c31af7Sopenharmony_ci			void main()
13369e5c31af7Sopenharmony_ci			{
13370e5c31af7Sopenharmony_ci				${SETUP}
13371e5c31af7Sopenharmony_ci				out0 = mat3x2(in0, in1);
13372e5c31af7Sopenharmony_ci				${OUTPUT}
13373e5c31af7Sopenharmony_ci			}
13374e5c31af7Sopenharmony_ci		""
13375e5c31af7Sopenharmony_ci	end
13376e5c31af7Sopenharmony_ci
13377e5c31af7Sopenharmony_ci	case vec2_bvec4_to_mat3x2
13378e5c31af7Sopenharmony_ci		version 300 es
13379e5c31af7Sopenharmony_ci		values
13380e5c31af7Sopenharmony_ci		{
13381e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) ];
13382e5c31af7Sopenharmony_ci			input bvec4 in1 = [ 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) ];
13383e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(0.0, 0.5, 1.0, 1.0, 1.0, 1.0) | mat3x2(-0.75, -0.0322580645161, 0.0, 0.0, 0.0, 1.0) | mat3x2(-32.0, 64.0, 0.0, 0.0, 0.0, 0.0) | mat3x2(-0.5, -2.25, 1.0, 0.0, 0.0, 1.0) | mat3x2(1.0, 1.25, 0.0, 1.0, 0.0, 0.0) ];
13384e5c31af7Sopenharmony_ci		}
13385e5c31af7Sopenharmony_ci
13386e5c31af7Sopenharmony_ci		both ""
13387e5c31af7Sopenharmony_ci			#version 300 es
13388e5c31af7Sopenharmony_ci			precision mediump float;
13389e5c31af7Sopenharmony_ci			precision mediump int;
13390e5c31af7Sopenharmony_ci
13391e5c31af7Sopenharmony_ci			${DECLARATIONS}
13392e5c31af7Sopenharmony_ci
13393e5c31af7Sopenharmony_ci			void main()
13394e5c31af7Sopenharmony_ci			{
13395e5c31af7Sopenharmony_ci				${SETUP}
13396e5c31af7Sopenharmony_ci				out0 = mat3x2(in0, in1);
13397e5c31af7Sopenharmony_ci				${OUTPUT}
13398e5c31af7Sopenharmony_ci			}
13399e5c31af7Sopenharmony_ci		""
13400e5c31af7Sopenharmony_ci	end
13401e5c31af7Sopenharmony_ci
13402e5c31af7Sopenharmony_ci	case bvec3_float_ivec2_to_mat3x2
13403e5c31af7Sopenharmony_ci		version 300 es
13404e5c31af7Sopenharmony_ci		values
13405e5c31af7Sopenharmony_ci		{
13406e5c31af7Sopenharmony_ci			input bvec3 in0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, false, false) | bvec3(false, true, false) | bvec3(true, false, false) ];
13407e5c31af7Sopenharmony_ci			input float in1 = [ -8.25 | 1.0 | 2.0 | -0.5 | -20.125 | 0.0 | 36.8125 | 3.5 ];
13408e5c31af7Sopenharmony_ci			input ivec2 in2 = [ ivec2(1, 1) | ivec2(1, 1) | ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) | ivec2(-32, 64) ];
13409e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(0.0, 0.0, 0.0, -8.25, 1.0, 1.0) | mat3x2(1.0, 1.0, 1.0, 1.0, 1.0, 1.0) | mat3x2(0.0, 0.0, 0.0, 2.0, 0.0, 0.0) | mat3x2(0.0, 0.0, 0.0, -0.5, 0.0, -2.0) | mat3x2(0.0, 1.0, 0.0, -20.125, 0.0, 0.0) | mat3x2(1.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x2(0.0, 1.0, 0.0, 36.8125, 0.0, -2.0) | mat3x2(1.0, 0.0, 0.0, 3.5, -32.0, 64.0) ];
13410e5c31af7Sopenharmony_ci		}
13411e5c31af7Sopenharmony_ci
13412e5c31af7Sopenharmony_ci		both ""
13413e5c31af7Sopenharmony_ci			#version 300 es
13414e5c31af7Sopenharmony_ci			precision mediump float;
13415e5c31af7Sopenharmony_ci			precision mediump int;
13416e5c31af7Sopenharmony_ci
13417e5c31af7Sopenharmony_ci			${DECLARATIONS}
13418e5c31af7Sopenharmony_ci
13419e5c31af7Sopenharmony_ci			void main()
13420e5c31af7Sopenharmony_ci			{
13421e5c31af7Sopenharmony_ci				${SETUP}
13422e5c31af7Sopenharmony_ci				out0 = mat3x2(in0, in1, in2);
13423e5c31af7Sopenharmony_ci				${OUTPUT}
13424e5c31af7Sopenharmony_ci			}
13425e5c31af7Sopenharmony_ci		""
13426e5c31af7Sopenharmony_ci	end
13427e5c31af7Sopenharmony_ci
13428e5c31af7Sopenharmony_ci	case vec3_float_bvec2_to_mat3x2
13429e5c31af7Sopenharmony_ci		version 300 es
13430e5c31af7Sopenharmony_ci		values
13431e5c31af7Sopenharmony_ci		{
13432e5c31af7Sopenharmony_ci			input vec3 in0 = [ vec3(1.0, 1.25, 1.125) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(0.0, 0.5, 0.75) | vec3(0.0, 0.5, 0.75) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
13433e5c31af7Sopenharmony_ci			input float in1 = [ -8.25 | 36.8125 | -0.5 | 3.5 | 2.0 | -20.125 | 0.0 | 1.0 ];
13434e5c31af7Sopenharmony_ci			input bvec2 in2 = [ bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) | bvec2(false, true) | bvec2(false, true) | bvec2(true, false) | bvec2(false, false) ];
13435e5c31af7Sopenharmony_ci			output mat3x2 out0 = [ mat3x2(1.0, 1.25, 1.125, -8.25, 1.0, 0.0) | mat3x2(1.0, 1.25, 1.125, 36.8125, 0.0, 0.0) | mat3x2(-0.5, -2.25, -4.875, -0.5, 1.0, 1.0) | mat3x2(-0.5, -2.25, -4.875, 3.5, 0.0, 0.0) | mat3x2(-32.0, 64.0, -51.0, 2.0, 0.0, 1.0) | mat3x2(0.0, 0.5, 0.75, -20.125, 0.0, 1.0) | mat3x2(0.0, 0.5, 0.75, 0.0, 1.0, 0.0) | mat3x2(-0.75, -0.0322580645161, 0.0526315789474, 1.0, 0.0, 0.0) ];
13436e5c31af7Sopenharmony_ci		}
13437e5c31af7Sopenharmony_ci
13438e5c31af7Sopenharmony_ci		both ""
13439e5c31af7Sopenharmony_ci			#version 300 es
13440e5c31af7Sopenharmony_ci			precision mediump float;
13441e5c31af7Sopenharmony_ci			precision mediump int;
13442e5c31af7Sopenharmony_ci
13443e5c31af7Sopenharmony_ci			${DECLARATIONS}
13444e5c31af7Sopenharmony_ci
13445e5c31af7Sopenharmony_ci			void main()
13446e5c31af7Sopenharmony_ci			{
13447e5c31af7Sopenharmony_ci				${SETUP}
13448e5c31af7Sopenharmony_ci				out0 = mat3x2(in0, in1, in2);
13449e5c31af7Sopenharmony_ci				${OUTPUT}
13450e5c31af7Sopenharmony_ci			}
13451e5c31af7Sopenharmony_ci		""
13452e5c31af7Sopenharmony_ci	end
13453e5c31af7Sopenharmony_ci
13454e5c31af7Sopenharmony_ci	case vec3_vec3_vec3_to_mat3
13455e5c31af7Sopenharmony_ci		version 300 es
13456e5c31af7Sopenharmony_ci		values
13457e5c31af7Sopenharmony_ci		{
13458e5c31af7Sopenharmony_ci			input vec3 in0 = [ vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(0.0, 0.5, 0.75) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
13459e5c31af7Sopenharmony_ci			input vec3 in1 = [ vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(1.0, 1.25, 1.125) | vec3(-32.0, 64.0, -51.0) | vec3(-0.5, -2.25, -4.875) | vec3(0.0, 0.5, 0.75) ];
13460e5c31af7Sopenharmony_ci			input vec3 in2 = [ vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(-32.0, 64.0, -51.0) | vec3(-0.5, -2.25, -4.875) | vec3(1.0, 1.25, 1.125) | vec3(0.0, 0.5, 0.75) ];
13461e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(1.0, 1.25, 1.125, -0.75, -0.0322580645161, 0.0526315789474, -0.75, -0.0322580645161, 0.0526315789474) | mat3(-0.5, -2.25, -4.875, 1.0, 1.25, 1.125, -32.0, 64.0, -51.0) | mat3(-32.0, 64.0, -51.0, -32.0, 64.0, -51.0, -0.5, -2.25, -4.875) | mat3(0.0, 0.5, 0.75, -0.5, -2.25, -4.875, 1.0, 1.25, 1.125) | mat3(-0.75, -0.0322580645161, 0.0526315789474, 0.0, 0.5, 0.75, 0.0, 0.5, 0.75) ];
13462e5c31af7Sopenharmony_ci		}
13463e5c31af7Sopenharmony_ci
13464e5c31af7Sopenharmony_ci		both ""
13465e5c31af7Sopenharmony_ci			#version 300 es
13466e5c31af7Sopenharmony_ci			precision mediump float;
13467e5c31af7Sopenharmony_ci			precision mediump int;
13468e5c31af7Sopenharmony_ci
13469e5c31af7Sopenharmony_ci			${DECLARATIONS}
13470e5c31af7Sopenharmony_ci
13471e5c31af7Sopenharmony_ci			void main()
13472e5c31af7Sopenharmony_ci			{
13473e5c31af7Sopenharmony_ci				${SETUP}
13474e5c31af7Sopenharmony_ci				out0 = mat3(in0, in1, in2);
13475e5c31af7Sopenharmony_ci				${OUTPUT}
13476e5c31af7Sopenharmony_ci			}
13477e5c31af7Sopenharmony_ci		""
13478e5c31af7Sopenharmony_ci	end
13479e5c31af7Sopenharmony_ci
13480e5c31af7Sopenharmony_ci	case ivec3_ivec3_ivec3_to_mat3
13481e5c31af7Sopenharmony_ci		version 300 es
13482e5c31af7Sopenharmony_ci		values
13483e5c31af7Sopenharmony_ci		{
13484e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(0, 0, 0) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
13485e5c31af7Sopenharmony_ci			input ivec3 in1 = [ ivec3(0, 0, 0) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) | ivec3(1, 1, 1) ];
13486e5c31af7Sopenharmony_ci			input ivec3 in2 = [ ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, 64, -51) | ivec3(0, -2, -4) | ivec3(0, 0, 0) ];
13487e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat3(0.0, -2.0, -4.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(-32.0, 64.0, -51.0, 0.0, 0.0, 0.0, 0.0, -2.0, -4.0) | mat3(0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0) ];
13488e5c31af7Sopenharmony_ci		}
13489e5c31af7Sopenharmony_ci
13490e5c31af7Sopenharmony_ci		both ""
13491e5c31af7Sopenharmony_ci			#version 300 es
13492e5c31af7Sopenharmony_ci			precision mediump float;
13493e5c31af7Sopenharmony_ci			precision mediump int;
13494e5c31af7Sopenharmony_ci
13495e5c31af7Sopenharmony_ci			${DECLARATIONS}
13496e5c31af7Sopenharmony_ci
13497e5c31af7Sopenharmony_ci			void main()
13498e5c31af7Sopenharmony_ci			{
13499e5c31af7Sopenharmony_ci				${SETUP}
13500e5c31af7Sopenharmony_ci				out0 = mat3(in0, in1, in2);
13501e5c31af7Sopenharmony_ci				${OUTPUT}
13502e5c31af7Sopenharmony_ci			}
13503e5c31af7Sopenharmony_ci		""
13504e5c31af7Sopenharmony_ci	end
13505e5c31af7Sopenharmony_ci
13506e5c31af7Sopenharmony_ci	case vec2_ivec2_float_float_int_bool_bool_to_mat3
13507e5c31af7Sopenharmony_ci		version 300 es
13508e5c31af7Sopenharmony_ci		values
13509e5c31af7Sopenharmony_ci		{
13510e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) ];
13511e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(1, 1) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(-32, 64) ];
13512e5c31af7Sopenharmony_ci			input float in2 = [ -0.5 | 3.5 | 0.0 | -20.125 | 1.0 | -8.25 | 0.0 | 1.0 | 2.0 | 36.8125 ];
13513e5c31af7Sopenharmony_ci			input float in3 = [ 3.5 | 0.0 | -20.125 | 36.8125 | 2.0 | -8.25 | -0.5 | 1.0 | 0.0 | 1.0 ];
13514e5c31af7Sopenharmony_ci			input int in4 = [ 0 | 11 | 5 | -192 | 8 | -66 | 1 | 2 | 255 | -12 ];
13515e5c31af7Sopenharmony_ci			input bool in5 = [ true | true | true | false | true | false | false | false | true | false ];
13516e5c31af7Sopenharmony_ci			input bool in6 = [ false | false | true | false | false | false | true | true | true | true ];
13517e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(1.0, 1.25, 0.0, 0.0, -0.5, 3.5, 0.0, 1.0, 0.0) | mat3(-0.5, -2.25, 0.0, -2.0, 3.5, 0.0, 11.0, 1.0, 0.0) | mat3(0.0, 0.5, 1.0, 1.0, 0.0, -20.125, 5.0, 1.0, 1.0) | mat3(-0.75, -0.0322580645161, 0.0, -2.0, -20.125, 36.8125, -192.0, 0.0, 0.0) | mat3(-32.0, 64.0, 0.0, 0.0, 1.0, 2.0, 8.0, 1.0, 0.0) | mat3(-0.75, -0.0322580645161, 0.0, 0.0, -8.25, -8.25, -66.0, 0.0, 0.0) | mat3(-0.5, -2.25, 1.0, 1.0, 0.0, -0.5, 1.0, 0.0, 1.0) | mat3(1.0, 1.25, -32.0, 64.0, 1.0, 1.0, 2.0, 0.0, 1.0) | mat3(0.0, 0.5, 0.0, 0.0, 2.0, 0.0, 255.0, 1.0, 1.0) | mat3(-32.0, 64.0, -32.0, 64.0, 36.8125, 1.0, -12.0, 0.0, 1.0) ];
13518e5c31af7Sopenharmony_ci		}
13519e5c31af7Sopenharmony_ci
13520e5c31af7Sopenharmony_ci		both ""
13521e5c31af7Sopenharmony_ci			#version 300 es
13522e5c31af7Sopenharmony_ci			precision mediump float;
13523e5c31af7Sopenharmony_ci			precision mediump int;
13524e5c31af7Sopenharmony_ci
13525e5c31af7Sopenharmony_ci			${DECLARATIONS}
13526e5c31af7Sopenharmony_ci
13527e5c31af7Sopenharmony_ci			void main()
13528e5c31af7Sopenharmony_ci			{
13529e5c31af7Sopenharmony_ci				${SETUP}
13530e5c31af7Sopenharmony_ci				out0 = mat3(in0, in1, in2, in3, in4, in5, in6);
13531e5c31af7Sopenharmony_ci				${OUTPUT}
13532e5c31af7Sopenharmony_ci			}
13533e5c31af7Sopenharmony_ci		""
13534e5c31af7Sopenharmony_ci	end
13535e5c31af7Sopenharmony_ci
13536e5c31af7Sopenharmony_ci	case bool_float_int_vec2_bool_bvec2_float_to_mat3
13537e5c31af7Sopenharmony_ci		version 300 es
13538e5c31af7Sopenharmony_ci		values
13539e5c31af7Sopenharmony_ci		{
13540e5c31af7Sopenharmony_ci			input bool in0 = [ false | true | true | true | true | true | false | false | false | false ];
13541e5c31af7Sopenharmony_ci			input float in1 = [ -8.25 | 1.0 | -0.5 | 36.8125 | 0.0 | 3.5 | -20.125 | 1.0 | 0.0 | 2.0 ];
13542e5c31af7Sopenharmony_ci			input int in2 = [ 8 | -66 | 5 | 1 | 0 | 2 | -12 | -192 | 11 | 255 ];
13543e5c31af7Sopenharmony_ci			input vec2 in3 = [ vec2(0.0, 0.5) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) ];
13544e5c31af7Sopenharmony_ci			input bool in4 = [ true | false | true | false | false | true | true | false | true | false ];
13545e5c31af7Sopenharmony_ci			input bvec2 in5 = [ bvec2(false, true) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) ];
13546e5c31af7Sopenharmony_ci			input float in6 = [ -0.5 | 1.0 | 1.0 | 0.0 | 36.8125 | 2.0 | 0.0 | 3.5 | -20.125 | -8.25 ];
13547e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(0.0, -8.25, 8.0, 0.0, 0.5, 1.0, 0.0, 1.0, -0.5) | mat3(1.0, 1.0, -66.0, -32.0, 64.0, 0.0, 0.0, 0.0, 1.0) | mat3(1.0, -0.5, 5.0, 1.0, 1.25, 1.0, 1.0, 0.0, 1.0) | mat3(1.0, 36.8125, 1.0, -32.0, 64.0, 0.0, 0.0, 0.0, 0.0) | mat3(1.0, 0.0, 0.0, -0.5, -2.25, 0.0, 1.0, 1.0, 36.8125) | mat3(1.0, 3.5, 2.0, -0.75, -0.0322580645161, 1.0, 0.0, 0.0, 2.0) | mat3(0.0, -20.125, -12.0, -0.5, -2.25, 1.0, 1.0, 0.0, 0.0) | mat3(0.0, 1.0, -192.0, 0.0, 0.5, 0.0, 0.0, 0.0, 3.5) | mat3(0.0, 0.0, 11.0, 1.0, 1.25, 1.0, 0.0, 1.0, -20.125) | mat3(0.0, 2.0, 255.0, -0.75, -0.0322580645161, 0.0, 1.0, 1.0, -8.25) ];
13548e5c31af7Sopenharmony_ci		}
13549e5c31af7Sopenharmony_ci
13550e5c31af7Sopenharmony_ci		both ""
13551e5c31af7Sopenharmony_ci			#version 300 es
13552e5c31af7Sopenharmony_ci			precision mediump float;
13553e5c31af7Sopenharmony_ci			precision mediump int;
13554e5c31af7Sopenharmony_ci
13555e5c31af7Sopenharmony_ci			${DECLARATIONS}
13556e5c31af7Sopenharmony_ci
13557e5c31af7Sopenharmony_ci			void main()
13558e5c31af7Sopenharmony_ci			{
13559e5c31af7Sopenharmony_ci				${SETUP}
13560e5c31af7Sopenharmony_ci				out0 = mat3(in0, in1, in2, in3, in4, in5, in6);
13561e5c31af7Sopenharmony_ci				${OUTPUT}
13562e5c31af7Sopenharmony_ci			}
13563e5c31af7Sopenharmony_ci		""
13564e5c31af7Sopenharmony_ci	end
13565e5c31af7Sopenharmony_ci
13566e5c31af7Sopenharmony_ci	case bool_bvec2_int_vec4_bool_to_mat3
13567e5c31af7Sopenharmony_ci		version 300 es
13568e5c31af7Sopenharmony_ci		values
13569e5c31af7Sopenharmony_ci		{
13570e5c31af7Sopenharmony_ci			input bool in0 = [ true | false | true | true | false | false | true | false | false | true ];
13571e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(false, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) | bvec2(true, true) | bvec2(false, false) | bvec2(false, true) | bvec2(true, false) | bvec2(true, false) | bvec2(false, false) ];
13572e5c31af7Sopenharmony_ci			input int in2 = [ -192 | 2 | 0 | 5 | 1 | -66 | 11 | -12 | 8 | 255 ];
13573e5c31af7Sopenharmony_ci			input vec4 in3 = [ vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | 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.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(-0.5, -2.25, -4.875, 9.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
13574e5c31af7Sopenharmony_ci			input bool in4 = [ false | true | false | true | false | false | false | true | true | true ];
13575e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(1.0, 0.0, 0.0, -192.0, -32.0, 64.0, -51.0, 24.0, 0.0) | mat3(0.0, 0.0, 1.0, 2.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 1.0) | mat3(1.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.75, 0.825, 0.0) | mat3(1.0, 1.0, 1.0, 5.0, -32.0, 64.0, -51.0, 24.0, 1.0) | mat3(0.0, 1.0, 1.0, 1.0, 1.0, 1.25, 1.125, 1.75, 0.0) | mat3(0.0, 0.0, 0.0, -66.0, 0.0, 0.5, 0.75, 0.825, 0.0) | mat3(1.0, 0.0, 1.0, 11.0, 1.0, 1.25, 1.125, 1.75, 0.0) | mat3(0.0, 1.0, 0.0, -12.0, -0.5, -2.25, -4.875, 9.0, 1.0) | mat3(0.0, 1.0, 0.0, 8.0, -0.5, -2.25, -4.875, 9.0, 1.0) | mat3(1.0, 0.0, 0.0, 255.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 1.0) ];
13576e5c31af7Sopenharmony_ci		}
13577e5c31af7Sopenharmony_ci
13578e5c31af7Sopenharmony_ci		both ""
13579e5c31af7Sopenharmony_ci			#version 300 es
13580e5c31af7Sopenharmony_ci			precision mediump float;
13581e5c31af7Sopenharmony_ci			precision mediump int;
13582e5c31af7Sopenharmony_ci
13583e5c31af7Sopenharmony_ci			${DECLARATIONS}
13584e5c31af7Sopenharmony_ci
13585e5c31af7Sopenharmony_ci			void main()
13586e5c31af7Sopenharmony_ci			{
13587e5c31af7Sopenharmony_ci				${SETUP}
13588e5c31af7Sopenharmony_ci				out0 = mat3(in0, in1, in2, in3, in4);
13589e5c31af7Sopenharmony_ci				${OUTPUT}
13590e5c31af7Sopenharmony_ci			}
13591e5c31af7Sopenharmony_ci		""
13592e5c31af7Sopenharmony_ci	end
13593e5c31af7Sopenharmony_ci
13594e5c31af7Sopenharmony_ci	case float_bvec4_ivec2_bool_bool_to_mat3
13595e5c31af7Sopenharmony_ci		version 300 es
13596e5c31af7Sopenharmony_ci		values
13597e5c31af7Sopenharmony_ci		{
13598e5c31af7Sopenharmony_ci			input float in0 = [ -8.25 | 2.0 | 36.8125 | 3.5 | 1.0 | -0.5 | -20.125 | 0.0 ];
13599e5c31af7Sopenharmony_ci			input bvec4 in1 = [ bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, false, false, true) | bvec4(false, false, false, true) ];
13600e5c31af7Sopenharmony_ci			input ivec2 in2 = [ ivec2(1, 1) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) | ivec2(1, 1) ];
13601e5c31af7Sopenharmony_ci			input bool in3 = [ false | true | false | true | true | false | true | false ];
13602e5c31af7Sopenharmony_ci			input bool in4 = [ true | false | false | false | true | true | false | true ];
13603e5c31af7Sopenharmony_ci			output mat3 out0 = [ mat3(-8.25, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0) | mat3(2.0, 0.0, 1.0, 0.0, 0.0, 0.0, -2.0, 1.0, 0.0) | mat3(36.8125, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat3(3.5, 1.0, 1.0, 1.0, 1.0, -32.0, 64.0, 1.0, 0.0) | mat3(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0) | mat3(-0.5, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat3(-20.125, 1.0, 0.0, 0.0, 1.0, 0.0, -2.0, 1.0, 0.0) | mat3(0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0) ];
13604e5c31af7Sopenharmony_ci		}
13605e5c31af7Sopenharmony_ci
13606e5c31af7Sopenharmony_ci		both ""
13607e5c31af7Sopenharmony_ci			#version 300 es
13608e5c31af7Sopenharmony_ci			precision mediump float;
13609e5c31af7Sopenharmony_ci			precision mediump int;
13610e5c31af7Sopenharmony_ci
13611e5c31af7Sopenharmony_ci			${DECLARATIONS}
13612e5c31af7Sopenharmony_ci
13613e5c31af7Sopenharmony_ci			void main()
13614e5c31af7Sopenharmony_ci			{
13615e5c31af7Sopenharmony_ci				${SETUP}
13616e5c31af7Sopenharmony_ci				out0 = mat3(in0, in1, in2, in3, in4);
13617e5c31af7Sopenharmony_ci				${OUTPUT}
13618e5c31af7Sopenharmony_ci			}
13619e5c31af7Sopenharmony_ci		""
13620e5c31af7Sopenharmony_ci	end
13621e5c31af7Sopenharmony_ci
13622e5c31af7Sopenharmony_ci	case vec4_vec4_vec4_to_mat3x4
13623e5c31af7Sopenharmony_ci		version 300 es
13624e5c31af7Sopenharmony_ci		values
13625e5c31af7Sopenharmony_ci		{
13626e5c31af7Sopenharmony_ci			input vec4 in0 = [ vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(0.0, 0.5, 0.75, 0.825) ];
13627e5c31af7Sopenharmony_ci			input vec4 in1 = [ 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) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(1.0, 1.25, 1.125, 1.75) ];
13628e5c31af7Sopenharmony_ci			input vec4 in2 = [ 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) | vec4(0.0, 0.5, 0.75, 0.825) ];
13629e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(-0.75, -0.0322580645161, 0.0526315789474, 0.25, -0.75, -0.0322580645161, 0.0526315789474, 0.25, -32.0, 64.0, -51.0, 24.0) | mat3x4(1.0, 1.25, 1.125, 1.75, -0.5, -2.25, -4.875, 9.0, 1.0, 1.25, 1.125, 1.75) | mat3x4(-32.0, 64.0, -51.0, 24.0, 0.0, 0.5, 0.75, 0.825, -0.75, -0.0322580645161, 0.0526315789474, 0.25) | mat3x4(-0.5, -2.25, -4.875, 9.0, -32.0, 64.0, -51.0, 24.0, -0.5, -2.25, -4.875, 9.0) | mat3x4(0.0, 0.5, 0.75, 0.825, 1.0, 1.25, 1.125, 1.75, 0.0, 0.5, 0.75, 0.825) ];
13630e5c31af7Sopenharmony_ci		}
13631e5c31af7Sopenharmony_ci
13632e5c31af7Sopenharmony_ci		both ""
13633e5c31af7Sopenharmony_ci			#version 300 es
13634e5c31af7Sopenharmony_ci			precision mediump float;
13635e5c31af7Sopenharmony_ci			precision mediump int;
13636e5c31af7Sopenharmony_ci
13637e5c31af7Sopenharmony_ci			${DECLARATIONS}
13638e5c31af7Sopenharmony_ci
13639e5c31af7Sopenharmony_ci			void main()
13640e5c31af7Sopenharmony_ci			{
13641e5c31af7Sopenharmony_ci				${SETUP}
13642e5c31af7Sopenharmony_ci				out0 = mat3x4(in0, in1, in2);
13643e5c31af7Sopenharmony_ci				${OUTPUT}
13644e5c31af7Sopenharmony_ci			}
13645e5c31af7Sopenharmony_ci		""
13646e5c31af7Sopenharmony_ci	end
13647e5c31af7Sopenharmony_ci
13648e5c31af7Sopenharmony_ci	case ivec4_ivec4_ivec4_to_mat3x4
13649e5c31af7Sopenharmony_ci		version 300 es
13650e5c31af7Sopenharmony_ci		values
13651e5c31af7Sopenharmony_ci		{
13652e5c31af7Sopenharmony_ci			input ivec4 in0 = [ ivec4(0, -2, -4, 9) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) ];
13653e5c31af7Sopenharmony_ci			input ivec4 in1 = [ ivec4(0, -2, -4, 9) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) ];
13654e5c31af7Sopenharmony_ci			input ivec4 in2 = [ ivec4(0, -2, -4, 9) | ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) ];
13655e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(0.0, -2.0, -4.0, 9.0, 0.0, -2.0, -4.0, 9.0, 0.0, -2.0, -4.0, 9.0) | mat3x4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x4(-32.0, 64.0, -51.0, 24.0, -32.0, 64.0, -51.0, 24.0, 1.0, 1.0, 1.0, 1.0) | mat3x4(0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat3x4(1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0) ];
13656e5c31af7Sopenharmony_ci		}
13657e5c31af7Sopenharmony_ci
13658e5c31af7Sopenharmony_ci		both ""
13659e5c31af7Sopenharmony_ci			#version 300 es
13660e5c31af7Sopenharmony_ci			precision mediump float;
13661e5c31af7Sopenharmony_ci			precision mediump int;
13662e5c31af7Sopenharmony_ci
13663e5c31af7Sopenharmony_ci			${DECLARATIONS}
13664e5c31af7Sopenharmony_ci
13665e5c31af7Sopenharmony_ci			void main()
13666e5c31af7Sopenharmony_ci			{
13667e5c31af7Sopenharmony_ci				${SETUP}
13668e5c31af7Sopenharmony_ci				out0 = mat3x4(in0, in1, in2);
13669e5c31af7Sopenharmony_ci				${OUTPUT}
13670e5c31af7Sopenharmony_ci			}
13671e5c31af7Sopenharmony_ci		""
13672e5c31af7Sopenharmony_ci	end
13673e5c31af7Sopenharmony_ci
13674e5c31af7Sopenharmony_ci	case vec2_ivec2_float_float_float_int_int_bool_bool_bool_to_mat3x4
13675e5c31af7Sopenharmony_ci		version 300 es
13676e5c31af7Sopenharmony_ci		values
13677e5c31af7Sopenharmony_ci		{
13678e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) | vec2(-0.5, -2.25) ];
13679e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(1, 1) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(0, -2) ];
13680e5c31af7Sopenharmony_ci			input float in2 = [ 1.0 | -8.25 | 2.0 | 3.5 | -20.125 | 36.8125 | 0.0 | 1.0 | -0.5 | 0.0 ];
13681e5c31af7Sopenharmony_ci			input float in3 = [ -0.5 | 36.8125 | 1.0 | 1.0 | 0.0 | 3.5 | 2.0 | 0.0 | -8.25 | -20.125 ];
13682e5c31af7Sopenharmony_ci			input float in4 = [ -8.25 | 1.0 | 1.0 | 0.0 | 2.0 | 36.8125 | 0.0 | -20.125 | 3.5 | -0.5 ];
13683e5c31af7Sopenharmony_ci			input int in5 = [ 11 | 2 | 8 | 5 | 0 | -192 | 1 | -12 | 255 | -66 ];
13684e5c31af7Sopenharmony_ci			input int in6 = [ -12 | 5 | 8 | 1 | 0 | 255 | 11 | -192 | -66 | 2 ];
13685e5c31af7Sopenharmony_ci			input bool in7 = [ true | true | true | false | false | false | true | false | true | false ];
13686e5c31af7Sopenharmony_ci			input bool in8 = [ true | true | true | false | true | false | true | false | false | false ];
13687e5c31af7Sopenharmony_ci			input bool in9 = [ true | false | true | false | true | true | false | false | false | true ];
13688e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(1.0, 1.25, 0.0, 0.0, 1.0, -0.5, -8.25, 11.0, -12.0, 1.0, 1.0, 1.0) | mat3x4(0.0, 0.5, 0.0, 0.0, -8.25, 36.8125, 1.0, 2.0, 5.0, 1.0, 1.0, 0.0) | mat3x4(0.0, 0.5, -32.0, 64.0, 2.0, 1.0, 1.0, 8.0, 8.0, 1.0, 1.0, 1.0) | mat3x4(-32.0, 64.0, 1.0, 1.0, 3.5, 1.0, 0.0, 5.0, 1.0, 0.0, 0.0, 0.0) | mat3x4(-32.0, 64.0, 1.0, 1.0, -20.125, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 1.0) | mat3x4(-0.75, -0.0322580645161, -32.0, 64.0, 36.8125, 3.5, 36.8125, -192.0, 255.0, 0.0, 0.0, 1.0) | mat3x4(1.0, 1.25, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 11.0, 1.0, 1.0, 0.0) | mat3x4(-0.75, -0.0322580645161, 0.0, -2.0, 1.0, 0.0, -20.125, -12.0, -192.0, 0.0, 0.0, 0.0) | mat3x4(-0.5, -2.25, 0.0, 0.0, -0.5, -8.25, 3.5, 255.0, -66.0, 1.0, 0.0, 0.0) | mat3x4(-0.5, -2.25, 0.0, -2.0, 0.0, -20.125, -0.5, -66.0, 2.0, 0.0, 0.0, 1.0) ];
13689e5c31af7Sopenharmony_ci		}
13690e5c31af7Sopenharmony_ci
13691e5c31af7Sopenharmony_ci		both ""
13692e5c31af7Sopenharmony_ci			#version 300 es
13693e5c31af7Sopenharmony_ci			precision mediump float;
13694e5c31af7Sopenharmony_ci			precision mediump int;
13695e5c31af7Sopenharmony_ci
13696e5c31af7Sopenharmony_ci			${DECLARATIONS}
13697e5c31af7Sopenharmony_ci
13698e5c31af7Sopenharmony_ci			void main()
13699e5c31af7Sopenharmony_ci			{
13700e5c31af7Sopenharmony_ci				${SETUP}
13701e5c31af7Sopenharmony_ci				out0 = mat3x4(in0, in1, in2, in3, in4, in5, in6, in7, in8, in9);
13702e5c31af7Sopenharmony_ci				${OUTPUT}
13703e5c31af7Sopenharmony_ci			}
13704e5c31af7Sopenharmony_ci		""
13705e5c31af7Sopenharmony_ci	end
13706e5c31af7Sopenharmony_ci
13707e5c31af7Sopenharmony_ci	case bool_float_int_vec3_bool_bvec3_float_bool_to_mat3x4
13708e5c31af7Sopenharmony_ci		version 300 es
13709e5c31af7Sopenharmony_ci		values
13710e5c31af7Sopenharmony_ci		{
13711e5c31af7Sopenharmony_ci			input bool in0 = [ false | false | true | true | true | true | false | false | false | true ];
13712e5c31af7Sopenharmony_ci			input float in1 = [ 36.8125 | -8.25 | 1.0 | 0.0 | 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -20.125 ];
13713e5c31af7Sopenharmony_ci			input int in2 = [ -66 | -192 | 255 | 8 | 0 | -12 | 5 | 2 | 11 | 1 ];
13714e5c31af7Sopenharmony_ci			input vec3 in3 = [ vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(-32.0, 64.0, -51.0) | vec3(0.0, 0.5, 0.75) | 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) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-0.5, -2.25, -4.875) ];
13715e5c31af7Sopenharmony_ci			input bool in4 = [ false | true | true | true | false | false | true | true | false | false ];
13716e5c31af7Sopenharmony_ci			input bvec3 in5 = [ bvec3(true, false, false) | bvec3(true, false, false) | bvec3(false, true, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, false) ];
13717e5c31af7Sopenharmony_ci			input float in6 = [ -8.25 | 1.0 | -0.5 | 36.8125 | 0.0 | 2.0 | -20.125 | 1.0 | 0.0 | 3.5 ];
13718e5c31af7Sopenharmony_ci			input bool in7 = [ true | false | false | true | true | false | true | false | false | true ];
13719e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(0.0, 36.8125, -66.0, -0.75, -0.0322580645161, 0.0526315789474, 0.0, 1.0, 0.0, 0.0, -8.25, 1.0) | mat3x4(0.0, -8.25, -192.0, -32.0, 64.0, -51.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(1.0, 1.0, 255.0, 0.0, 0.5, 0.75, 1.0, 0.0, 1.0, 0.0, -0.5, 0.0) | mat3x4(1.0, 0.0, 8.0, -0.75, -0.0322580645161, 0.0526315789474, 1.0, 0.0, 0.0, 0.0, 36.8125, 1.0) | mat3x4(1.0, 0.0, 0.0, 0.0, 0.5, 0.75, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0) | mat3x4(1.0, 1.0, -12.0, -32.0, 64.0, -51.0, 0.0, 1.0, 1.0, 1.0, 2.0, 0.0) | mat3x4(0.0, 2.0, 5.0, 1.0, 1.25, 1.125, 1.0, 1.0, 1.0, 1.0, -20.125, 1.0) | mat3x4(0.0, 3.5, 2.0, 1.0, 1.25, 1.125, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(0.0, -0.5, 11.0, -0.5, -2.25, -4.875, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x4(1.0, -20.125, 1.0, -0.5, -2.25, -4.875, 0.0, 0.0, 0.0, 0.0, 3.5, 1.0) ];
13720e5c31af7Sopenharmony_ci		}
13721e5c31af7Sopenharmony_ci
13722e5c31af7Sopenharmony_ci		both ""
13723e5c31af7Sopenharmony_ci			#version 300 es
13724e5c31af7Sopenharmony_ci			precision mediump float;
13725e5c31af7Sopenharmony_ci			precision mediump int;
13726e5c31af7Sopenharmony_ci
13727e5c31af7Sopenharmony_ci			${DECLARATIONS}
13728e5c31af7Sopenharmony_ci
13729e5c31af7Sopenharmony_ci			void main()
13730e5c31af7Sopenharmony_ci			{
13731e5c31af7Sopenharmony_ci				${SETUP}
13732e5c31af7Sopenharmony_ci				out0 = mat3x4(in0, in1, in2, in3, in4, in5, in6, in7);
13733e5c31af7Sopenharmony_ci				${OUTPUT}
13734e5c31af7Sopenharmony_ci			}
13735e5c31af7Sopenharmony_ci		""
13736e5c31af7Sopenharmony_ci	end
13737e5c31af7Sopenharmony_ci
13738e5c31af7Sopenharmony_ci	case bool_bvec4_int_vec4_bool_float_to_mat3x4
13739e5c31af7Sopenharmony_ci		version 300 es
13740e5c31af7Sopenharmony_ci		values
13741e5c31af7Sopenharmony_ci		{
13742e5c31af7Sopenharmony_ci			input bool in0 = [ false | true | true | true | false | false | false | true | false | true ];
13743e5c31af7Sopenharmony_ci			input bvec4 in1 = [ bvec4(false, false, false, false) | bvec4(true, false, false, true) | bvec4(false, true, false, false) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, false, false, true) ];
13744e5c31af7Sopenharmony_ci			input int in2 = [ 255 | 2 | -192 | -12 | 11 | 1 | 0 | -66 | 8 | 5 ];
13745e5c31af7Sopenharmony_ci			input vec4 in3 = [ vec4(-0.5, -2.25, -4.875, 9.0) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(0.0, 0.5, 0.75, 0.825) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-32.0, 64.0, -51.0, 24.0) | 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(-0.5, -2.25, -4.875, 9.0) ];
13746e5c31af7Sopenharmony_ci			input bool in4 = [ true | true | true | false | false | false | true | true | false | false ];
13747e5c31af7Sopenharmony_ci			input float in5 = [ 36.8125 | 2.0 | -8.25 | 0.0 | 1.0 | 1.0 | -0.5 | 3.5 | 0.0 | -20.125 ];
13748e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(0.0, 0.0, 0.0, 0.0, 0.0, 255.0, -0.5, -2.25, -4.875, 9.0, 1.0, 36.8125) | mat3x4(1.0, 1.0, 0.0, 0.0, 1.0, 2.0, 1.0, 1.25, 1.125, 1.75, 1.0, 2.0) | mat3x4(1.0, 0.0, 1.0, 0.0, 0.0, -192.0, 1.0, 1.25, 1.125, 1.75, 1.0, -8.25) | mat3x4(1.0, 0.0, 0.0, 0.0, 1.0, -12.0, 0.0, 0.5, 0.75, 0.825, 0.0, 0.0) | mat3x4(0.0, 1.0, 1.0, 1.0, 1.0, 11.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 0.0, 1.0) | mat3x4(0.0, 0.0, 0.0, 0.0, 1.0, 1.0, -32.0, 64.0, -51.0, 24.0, 0.0, 1.0) | mat3x4(0.0, 1.0, 1.0, 1.0, 1.0, 0.0, -32.0, 64.0, -51.0, 24.0, 1.0, -0.5) | mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, -66.0, 0.0, 0.5, 0.75, 0.825, 1.0, 3.5) | mat3x4(0.0, 0.0, 1.0, 0.0, 0.0, 8.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 0.0, 0.0) | mat3x4(1.0, 1.0, 0.0, 0.0, 1.0, 5.0, -0.5, -2.25, -4.875, 9.0, 0.0, -20.125) ];
13749e5c31af7Sopenharmony_ci		}
13750e5c31af7Sopenharmony_ci
13751e5c31af7Sopenharmony_ci		both ""
13752e5c31af7Sopenharmony_ci			#version 300 es
13753e5c31af7Sopenharmony_ci			precision mediump float;
13754e5c31af7Sopenharmony_ci			precision mediump int;
13755e5c31af7Sopenharmony_ci
13756e5c31af7Sopenharmony_ci			${DECLARATIONS}
13757e5c31af7Sopenharmony_ci
13758e5c31af7Sopenharmony_ci			void main()
13759e5c31af7Sopenharmony_ci			{
13760e5c31af7Sopenharmony_ci				${SETUP}
13761e5c31af7Sopenharmony_ci				out0 = mat3x4(in0, in1, in2, in3, in4, in5);
13762e5c31af7Sopenharmony_ci				${OUTPUT}
13763e5c31af7Sopenharmony_ci			}
13764e5c31af7Sopenharmony_ci		""
13765e5c31af7Sopenharmony_ci	end
13766e5c31af7Sopenharmony_ci
13767e5c31af7Sopenharmony_ci	case float_bvec4_ivec4_bool_bool_int_to_mat3x4
13768e5c31af7Sopenharmony_ci		version 300 es
13769e5c31af7Sopenharmony_ci		values
13770e5c31af7Sopenharmony_ci		{
13771e5c31af7Sopenharmony_ci			input float in0 = [ 36.8125 | 1.0 | 0.0 | 3.5 | -8.25 | -20.125 | 2.0 | 0.0 | 1.0 | -0.5 ];
13772e5c31af7Sopenharmony_ci			input bvec4 in1 = [ bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(true, false, false, true) | bvec4(true, false, false, true) | bvec4(false, true, false, false) | bvec4(false, false, false, true) | bvec4(false, false, false, false) ];
13773e5c31af7Sopenharmony_ci			input ivec4 in2 = [ ivec4(0, 0, 0, 0) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, -2, -4, 9) | ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) ];
13774e5c31af7Sopenharmony_ci			input bool in3 = [ true | false | true | true | false | true | true | false | false | false ];
13775e5c31af7Sopenharmony_ci			input bool in4 = [ true | false | false | true | true | false | false | false | true | true ];
13776e5c31af7Sopenharmony_ci			input int in5 = [ 1 | 5 | -12 | 8 | -192 | 2 | -66 | 255 | 11 | 0 ];
13777e5c31af7Sopenharmony_ci			output mat3x4 out0 = [ mat3x4(36.8125, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.0, -4.0, 9.0, 0.0, 0.0, 5.0) | mat3x4(0.0, 0.0, 1.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0, 1.0, 0.0, -12.0) | mat3x4(3.5, 0.0, 0.0, 0.0, 1.0, 0.0, -2.0, -4.0, 9.0, 1.0, 1.0, 8.0) | mat3x4(-8.25, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, -192.0) | mat3x4(-20.125, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 2.0) | mat3x4(2.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -66.0) | mat3x4(0.0, 0.0, 1.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0, 0.0, 0.0, 255.0) | mat3x4(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 11.0) | mat3x4(-0.5, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0) ];
13778e5c31af7Sopenharmony_ci		}
13779e5c31af7Sopenharmony_ci
13780e5c31af7Sopenharmony_ci		both ""
13781e5c31af7Sopenharmony_ci			#version 300 es
13782e5c31af7Sopenharmony_ci			precision mediump float;
13783e5c31af7Sopenharmony_ci			precision mediump int;
13784e5c31af7Sopenharmony_ci
13785e5c31af7Sopenharmony_ci			${DECLARATIONS}
13786e5c31af7Sopenharmony_ci
13787e5c31af7Sopenharmony_ci			void main()
13788e5c31af7Sopenharmony_ci			{
13789e5c31af7Sopenharmony_ci				${SETUP}
13790e5c31af7Sopenharmony_ci				out0 = mat3x4(in0, in1, in2, in3, in4, in5);
13791e5c31af7Sopenharmony_ci				${OUTPUT}
13792e5c31af7Sopenharmony_ci			}
13793e5c31af7Sopenharmony_ci		""
13794e5c31af7Sopenharmony_ci	end
13795e5c31af7Sopenharmony_ci
13796e5c31af7Sopenharmony_ci	case vec3_vec3_vec2_to_mat4x2
13797e5c31af7Sopenharmony_ci		version 300 es
13798e5c31af7Sopenharmony_ci		values
13799e5c31af7Sopenharmony_ci		{
13800e5c31af7Sopenharmony_ci			input vec3 in0 = [ vec3(1.0, 1.25, 1.125) | vec3(-32.0, 64.0, -51.0) | vec3(0.0, 0.5, 0.75) | vec3(-0.5, -2.25, -4.875) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
13801e5c31af7Sopenharmony_ci			input vec3 in1 = [ vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(-0.5, -2.25, -4.875) | vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) ];
13802e5c31af7Sopenharmony_ci			input vec2 in2 = [ vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(0.0, 0.5) ];
13803e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(1.0, 1.25, 1.125, -32.0, 64.0, -51.0, 1.0, 1.25) | mat4x2(-32.0, 64.0, -51.0, -0.75, -0.0322580645161, 0.0526315789474, -0.5, -2.25) | mat4x2(0.0, 0.5, 0.75, -0.5, -2.25, -4.875, -0.75, -0.0322580645161) | mat4x2(-0.5, -2.25, -4.875, 0.0, 0.5, 0.75, -32.0, 64.0) | mat4x2(-0.75, -0.0322580645161, 0.0526315789474, 1.0, 1.25, 1.125, 0.0, 0.5) ];
13804e5c31af7Sopenharmony_ci		}
13805e5c31af7Sopenharmony_ci
13806e5c31af7Sopenharmony_ci		both ""
13807e5c31af7Sopenharmony_ci			#version 300 es
13808e5c31af7Sopenharmony_ci			precision mediump float;
13809e5c31af7Sopenharmony_ci			precision mediump int;
13810e5c31af7Sopenharmony_ci
13811e5c31af7Sopenharmony_ci			${DECLARATIONS}
13812e5c31af7Sopenharmony_ci
13813e5c31af7Sopenharmony_ci			void main()
13814e5c31af7Sopenharmony_ci			{
13815e5c31af7Sopenharmony_ci				${SETUP}
13816e5c31af7Sopenharmony_ci				out0 = mat4x2(in0, in1, in2);
13817e5c31af7Sopenharmony_ci				${OUTPUT}
13818e5c31af7Sopenharmony_ci			}
13819e5c31af7Sopenharmony_ci		""
13820e5c31af7Sopenharmony_ci	end
13821e5c31af7Sopenharmony_ci
13822e5c31af7Sopenharmony_ci	case ivec3_ivec3_ivec2_to_mat4x2
13823e5c31af7Sopenharmony_ci		version 300 es
13824e5c31af7Sopenharmony_ci		values
13825e5c31af7Sopenharmony_ci		{
13826e5c31af7Sopenharmony_ci			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(0, 0, 0) | ivec3(-32, 64, -51) ];
13827e5c31af7Sopenharmony_ci			input ivec3 in1 = [ ivec3(0, -2, -4) | ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, 64, -51) ];
13828e5c31af7Sopenharmony_ci			input ivec2 in2 = [ ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) ];
13829e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(0.0, 0.0, 0.0, 0.0, -2.0, -4.0, -32.0, 64.0) | mat4x2(1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(0.0, -2.0, -4.0, 1.0, 1.0, 1.0, 0.0, 0.0) | mat4x2(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0) | mat4x2(-32.0, 64.0, -51.0, -32.0, 64.0, -51.0, 0.0, -2.0) ];
13830e5c31af7Sopenharmony_ci		}
13831e5c31af7Sopenharmony_ci
13832e5c31af7Sopenharmony_ci		both ""
13833e5c31af7Sopenharmony_ci			#version 300 es
13834e5c31af7Sopenharmony_ci			precision mediump float;
13835e5c31af7Sopenharmony_ci			precision mediump int;
13836e5c31af7Sopenharmony_ci
13837e5c31af7Sopenharmony_ci			${DECLARATIONS}
13838e5c31af7Sopenharmony_ci
13839e5c31af7Sopenharmony_ci			void main()
13840e5c31af7Sopenharmony_ci			{
13841e5c31af7Sopenharmony_ci				${SETUP}
13842e5c31af7Sopenharmony_ci				out0 = mat4x2(in0, in1, in2);
13843e5c31af7Sopenharmony_ci				${OUTPUT}
13844e5c31af7Sopenharmony_ci			}
13845e5c31af7Sopenharmony_ci		""
13846e5c31af7Sopenharmony_ci	end
13847e5c31af7Sopenharmony_ci
13848e5c31af7Sopenharmony_ci	case vec2_ivec2_float_float_int_bool_to_mat4x2
13849e5c31af7Sopenharmony_ci		version 300 es
13850e5c31af7Sopenharmony_ci		values
13851e5c31af7Sopenharmony_ci		{
13852e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) ];
13853e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) ];
13854e5c31af7Sopenharmony_ci			input float in2 = [ 3.5 | -8.25 | 2.0 | 36.8125 | -0.5 | 1.0 | 1.0 | 0.0 | -20.125 | 0.0 ];
13855e5c31af7Sopenharmony_ci			input float in3 = [ 0.0 | 36.8125 | 3.5 | 1.0 | -0.5 | -8.25 | 2.0 | 0.0 | -20.125 | 1.0 ];
13856e5c31af7Sopenharmony_ci			input int in4 = [ -12 | -66 | 11 | 5 | 8 | 255 | -192 | 2 | 1 | 0 ];
13857e5c31af7Sopenharmony_ci			input bool in5 = [ true | true | false | true | false | true | false | true | false | false ];
13858e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(-0.5, -2.25, 0.0, -2.0, 3.5, 0.0, -12.0, 1.0) | mat4x2(0.0, 0.5, 0.0, 0.0, -8.25, 36.8125, -66.0, 1.0) | mat4x2(1.0, 1.25, -32.0, 64.0, 2.0, 3.5, 11.0, 0.0) | mat4x2(0.0, 0.5, 1.0, 1.0, 36.8125, 1.0, 5.0, 1.0) | mat4x2(-32.0, 64.0, 1.0, 1.0, -0.5, -0.5, 8.0, 0.0) | mat4x2(-0.75, -0.0322580645161, 0.0, 0.0, 1.0, -8.25, 255.0, 1.0) | mat4x2(-0.75, -0.0322580645161, -32.0, 64.0, 1.0, 2.0, -192.0, 0.0) | mat4x2(-32.0, 64.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.0) | mat4x2(-0.5, -2.25, 0.0, 0.0, -20.125, -20.125, 1.0, 0.0) | mat4x2(1.0, 1.25, 0.0, -2.0, 0.0, 1.0, 0.0, 0.0) ];
13859e5c31af7Sopenharmony_ci		}
13860e5c31af7Sopenharmony_ci
13861e5c31af7Sopenharmony_ci		both ""
13862e5c31af7Sopenharmony_ci			#version 300 es
13863e5c31af7Sopenharmony_ci			precision mediump float;
13864e5c31af7Sopenharmony_ci			precision mediump int;
13865e5c31af7Sopenharmony_ci
13866e5c31af7Sopenharmony_ci			${DECLARATIONS}
13867e5c31af7Sopenharmony_ci
13868e5c31af7Sopenharmony_ci			void main()
13869e5c31af7Sopenharmony_ci			{
13870e5c31af7Sopenharmony_ci				${SETUP}
13871e5c31af7Sopenharmony_ci				out0 = mat4x2(in0, in1, in2, in3, in4, in5);
13872e5c31af7Sopenharmony_ci				${OUTPUT}
13873e5c31af7Sopenharmony_ci			}
13874e5c31af7Sopenharmony_ci		""
13875e5c31af7Sopenharmony_ci	end
13876e5c31af7Sopenharmony_ci
13877e5c31af7Sopenharmony_ci	case bool_float_int_vec2_bool_bvec2_to_mat4x2
13878e5c31af7Sopenharmony_ci		version 300 es
13879e5c31af7Sopenharmony_ci		values
13880e5c31af7Sopenharmony_ci		{
13881e5c31af7Sopenharmony_ci			input bool in0 = [ false | false | true | true | true | false | false | true | false | true ];
13882e5c31af7Sopenharmony_ci			input float in1 = [ 36.8125 | -8.25 | 3.5 | 1.0 | 2.0 | -0.5 | 0.0 | 1.0 | -20.125 | 0.0 ];
13883e5c31af7Sopenharmony_ci			input int in2 = [ -66 | 1 | -192 | 2 | 11 | 0 | 255 | 8 | 5 | -12 ];
13884e5c31af7Sopenharmony_ci			input vec2 in3 = [ vec2(-0.75, -0.0322580645161) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) ];
13885e5c31af7Sopenharmony_ci			input bool in4 = [ true | false | false | false | false | true | true | true | false | true ];
13886e5c31af7Sopenharmony_ci			input bvec2 in5 = [ bvec2(false, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) | bvec2(true, false) ];
13887e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(0.0, 36.8125, -66.0, -0.75, -0.0322580645161, 1.0, 0.0, 0.0) | mat4x2(0.0, -8.25, 1.0, -0.75, -0.0322580645161, 0.0, 0.0, 1.0) | mat4x2(1.0, 3.5, -192.0, -32.0, 64.0, 0.0, 0.0, 0.0) | mat4x2(1.0, 1.0, 2.0, 0.0, 0.5, 0.0, 1.0, 1.0) | mat4x2(1.0, 2.0, 11.0, 1.0, 1.25, 0.0, 1.0, 0.0) | mat4x2(0.0, -0.5, 0.0, 1.0, 1.25, 1.0, 0.0, 1.0) | mat4x2(0.0, 0.0, 255.0, -0.5, -2.25, 1.0, 0.0, 0.0) | mat4x2(1.0, 1.0, 8.0, -32.0, 64.0, 1.0, 1.0, 1.0) | mat4x2(0.0, -20.125, 5.0, 0.0, 0.5, 0.0, 0.0, 0.0) | mat4x2(1.0, 0.0, -12.0, -0.5, -2.25, 1.0, 1.0, 0.0) ];
13888e5c31af7Sopenharmony_ci		}
13889e5c31af7Sopenharmony_ci
13890e5c31af7Sopenharmony_ci		both ""
13891e5c31af7Sopenharmony_ci			#version 300 es
13892e5c31af7Sopenharmony_ci			precision mediump float;
13893e5c31af7Sopenharmony_ci			precision mediump int;
13894e5c31af7Sopenharmony_ci
13895e5c31af7Sopenharmony_ci			${DECLARATIONS}
13896e5c31af7Sopenharmony_ci
13897e5c31af7Sopenharmony_ci			void main()
13898e5c31af7Sopenharmony_ci			{
13899e5c31af7Sopenharmony_ci				${SETUP}
13900e5c31af7Sopenharmony_ci				out0 = mat4x2(in0, in1, in2, in3, in4, in5);
13901e5c31af7Sopenharmony_ci				${OUTPUT}
13902e5c31af7Sopenharmony_ci			}
13903e5c31af7Sopenharmony_ci		""
13904e5c31af7Sopenharmony_ci	end
13905e5c31af7Sopenharmony_ci
13906e5c31af7Sopenharmony_ci	case bool_bvec2_int_vec4_to_mat4x2
13907e5c31af7Sopenharmony_ci		version 300 es
13908e5c31af7Sopenharmony_ci		values
13909e5c31af7Sopenharmony_ci		{
13910e5c31af7Sopenharmony_ci			input bool in0 = [ false | false | true | false | true | false | true | true | true | false ];
13911e5c31af7Sopenharmony_ci			input bvec2 in1 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(true, true) ];
13912e5c31af7Sopenharmony_ci			input int in2 = [ -12 | 8 | 2 | 255 | 5 | -192 | 0 | 11 | 1 | -66 ];
13913e5c31af7Sopenharmony_ci			input vec4 in3 = [ 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.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-0.5, -2.25, -4.875, 9.0) | 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.0, 0.5, 0.75, 0.825) ];
13914e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(0.0, 1.0, 0.0, -12.0, 1.0, 1.25, 1.125, 1.75) | mat4x2(0.0, 0.0, 0.0, 8.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25) | mat4x2(1.0, 0.0, 0.0, 2.0, -32.0, 64.0, -51.0, 24.0) | mat4x2(0.0, 0.0, 0.0, 255.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25) | mat4x2(1.0, 1.0, 0.0, 5.0, -0.5, -2.25, -4.875, 9.0) | mat4x2(0.0, 0.0, 1.0, -192.0, -0.5, -2.25, -4.875, 9.0) | mat4x2(1.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.75, 0.825) | mat4x2(1.0, 0.0, 1.0, 11.0, -32.0, 64.0, -51.0, 24.0) | mat4x2(1.0, 1.0, 1.0, 1.0, 1.0, 1.25, 1.125, 1.75) | mat4x2(0.0, 1.0, 1.0, -66.0, 0.0, 0.5, 0.75, 0.825) ];
13915e5c31af7Sopenharmony_ci		}
13916e5c31af7Sopenharmony_ci
13917e5c31af7Sopenharmony_ci		both ""
13918e5c31af7Sopenharmony_ci			#version 300 es
13919e5c31af7Sopenharmony_ci			precision mediump float;
13920e5c31af7Sopenharmony_ci			precision mediump int;
13921e5c31af7Sopenharmony_ci
13922e5c31af7Sopenharmony_ci			${DECLARATIONS}
13923e5c31af7Sopenharmony_ci
13924e5c31af7Sopenharmony_ci			void main()
13925e5c31af7Sopenharmony_ci			{
13926e5c31af7Sopenharmony_ci				${SETUP}
13927e5c31af7Sopenharmony_ci				out0 = mat4x2(in0, in1, in2, in3);
13928e5c31af7Sopenharmony_ci				${OUTPUT}
13929e5c31af7Sopenharmony_ci			}
13930e5c31af7Sopenharmony_ci		""
13931e5c31af7Sopenharmony_ci	end
13932e5c31af7Sopenharmony_ci
13933e5c31af7Sopenharmony_ci	case float_bvec4_ivec2_bool_to_mat4x2
13934e5c31af7Sopenharmony_ci		version 300 es
13935e5c31af7Sopenharmony_ci		values
13936e5c31af7Sopenharmony_ci		{
13937e5c31af7Sopenharmony_ci			input float in0 = [ 1.0 | -8.25 | -20.125 | 3.5 | -0.5 | 2.0 | 36.8125 | 0.0 ];
13938e5c31af7Sopenharmony_ci			input bvec4 in1 = [ bvec4(false, false, false, true) | bvec4(true, false, false, true) | bvec4(true, true, true, true) | bvec4(false, true, false, false) | bvec4(false, false, false, false) | bvec4(true, false, false, true) | bvec4(false, true, false, false) | bvec4(false, false, false, true) ];
13939e5c31af7Sopenharmony_ci			input ivec2 in2 = [ ivec2(-32, 64) | ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, 0) ];
13940e5c31af7Sopenharmony_ci			input bool in3 = [ true | true | false | true | true | false | false | false ];
13941e5c31af7Sopenharmony_ci			output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 0.0, 1.0, -32.0, 64.0, 1.0) | mat4x2(-8.25, 1.0, 0.0, 0.0, 1.0, 0.0, -2.0, 1.0) | mat4x2(-20.125, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0) | mat4x2(3.5, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4x2(-0.5, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat4x2(2.0, 1.0, 0.0, 0.0, 1.0, 0.0, -2.0, 0.0) | mat4x2(36.8125, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0) | mat4x2(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) ];
13942e5c31af7Sopenharmony_ci		}
13943e5c31af7Sopenharmony_ci
13944e5c31af7Sopenharmony_ci		both ""
13945e5c31af7Sopenharmony_ci			#version 300 es
13946e5c31af7Sopenharmony_ci			precision mediump float;
13947e5c31af7Sopenharmony_ci			precision mediump int;
13948e5c31af7Sopenharmony_ci
13949e5c31af7Sopenharmony_ci			${DECLARATIONS}
13950e5c31af7Sopenharmony_ci
13951e5c31af7Sopenharmony_ci			void main()
13952e5c31af7Sopenharmony_ci			{
13953e5c31af7Sopenharmony_ci				${SETUP}
13954e5c31af7Sopenharmony_ci				out0 = mat4x2(in0, in1, in2, in3);
13955e5c31af7Sopenharmony_ci				${OUTPUT}
13956e5c31af7Sopenharmony_ci			}
13957e5c31af7Sopenharmony_ci		""
13958e5c31af7Sopenharmony_ci	end
13959e5c31af7Sopenharmony_ci
13960e5c31af7Sopenharmony_ci	case vec4_vec4_vec4_to_mat4x3
13961e5c31af7Sopenharmony_ci		version 300 es
13962e5c31af7Sopenharmony_ci		values
13963e5c31af7Sopenharmony_ci		{
13964e5c31af7Sopenharmony_ci			input vec4 in0 = [ 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) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-32.0, 64.0, -51.0, 24.0) ];
13965e5c31af7Sopenharmony_ci			input vec4 in1 = [ vec4(0.0, 0.5, 0.75, 0.825) | 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) ];
13966e5c31af7Sopenharmony_ci			input vec4 in2 = [ vec4(-32.0, 64.0, -51.0, 24.0) | 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.75, -0.0322580645161, 0.0526315789474, 0.25) ];
13967e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(-0.5, -2.25, -4.875, 9.0, 0.0, 0.5, 0.75, 0.825, -32.0, 64.0, -51.0, 24.0) | mat4x3(1.0, 1.25, 1.125, 1.75, -0.5, -2.25, -4.875, 9.0, 1.0, 1.25, 1.125, 1.75) | mat4x3(0.0, 0.5, 0.75, 0.825, -32.0, 64.0, -51.0, 24.0, -0.5, -2.25, -4.875, 9.0) | mat4x3(-0.75, -0.0322580645161, 0.0526315789474, 0.25, 1.0, 1.25, 1.125, 1.75, 0.0, 0.5, 0.75, 0.825) | mat4x3(-32.0, 64.0, -51.0, 24.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, -0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
13968e5c31af7Sopenharmony_ci		}
13969e5c31af7Sopenharmony_ci
13970e5c31af7Sopenharmony_ci		both ""
13971e5c31af7Sopenharmony_ci			#version 300 es
13972e5c31af7Sopenharmony_ci			precision mediump float;
13973e5c31af7Sopenharmony_ci			precision mediump int;
13974e5c31af7Sopenharmony_ci
13975e5c31af7Sopenharmony_ci			${DECLARATIONS}
13976e5c31af7Sopenharmony_ci
13977e5c31af7Sopenharmony_ci			void main()
13978e5c31af7Sopenharmony_ci			{
13979e5c31af7Sopenharmony_ci				${SETUP}
13980e5c31af7Sopenharmony_ci				out0 = mat4x3(in0, in1, in2);
13981e5c31af7Sopenharmony_ci				${OUTPUT}
13982e5c31af7Sopenharmony_ci			}
13983e5c31af7Sopenharmony_ci		""
13984e5c31af7Sopenharmony_ci	end
13985e5c31af7Sopenharmony_ci
13986e5c31af7Sopenharmony_ci	case ivec4_ivec4_ivec4_to_mat4x3
13987e5c31af7Sopenharmony_ci		version 300 es
13988e5c31af7Sopenharmony_ci		values
13989e5c31af7Sopenharmony_ci		{
13990e5c31af7Sopenharmony_ci			input ivec4 in0 = [ ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
13991e5c31af7Sopenharmony_ci			input ivec4 in1 = [ ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) | ivec4(0, -2, -4, 9) | ivec4(1, 1, 1, 1) ];
13992e5c31af7Sopenharmony_ci			input ivec4 in2 = [ ivec4(-32, 64, -51, 24) | ivec4(0, -2, -4, 9) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(0, 0, 0, 0) ];
13993e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0) | mat4x3(0.0, 0.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0, 0.0, -2.0, -4.0, 9.0) | mat4x3(0.0, -2.0, -4.0, 9.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0) | mat4x3(-32.0, 64.0, -51.0, 24.0, 0.0, -2.0, -4.0, 9.0, 0.0, 0.0, 0.0, 0.0) | mat4x3(0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0) ];
13994e5c31af7Sopenharmony_ci		}
13995e5c31af7Sopenharmony_ci
13996e5c31af7Sopenharmony_ci		both ""
13997e5c31af7Sopenharmony_ci			#version 300 es
13998e5c31af7Sopenharmony_ci			precision mediump float;
13999e5c31af7Sopenharmony_ci			precision mediump int;
14000e5c31af7Sopenharmony_ci
14001e5c31af7Sopenharmony_ci			${DECLARATIONS}
14002e5c31af7Sopenharmony_ci
14003e5c31af7Sopenharmony_ci			void main()
14004e5c31af7Sopenharmony_ci			{
14005e5c31af7Sopenharmony_ci				${SETUP}
14006e5c31af7Sopenharmony_ci				out0 = mat4x3(in0, in1, in2);
14007e5c31af7Sopenharmony_ci				${OUTPUT}
14008e5c31af7Sopenharmony_ci			}
14009e5c31af7Sopenharmony_ci		""
14010e5c31af7Sopenharmony_ci	end
14011e5c31af7Sopenharmony_ci
14012e5c31af7Sopenharmony_ci	case vec2_ivec2_float_float_float_int_int_bool_bool_bool_to_mat4x3
14013e5c31af7Sopenharmony_ci		version 300 es
14014e5c31af7Sopenharmony_ci		values
14015e5c31af7Sopenharmony_ci		{
14016e5c31af7Sopenharmony_ci			input vec2 in0 = [ vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
14017e5c31af7Sopenharmony_ci			input ivec2 in1 = [ ivec2(0, -2) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) ];
14018e5c31af7Sopenharmony_ci			input float in2 = [ -20.125 | 3.5 | 2.0 | -0.5 | -8.25 | 0.0 | 1.0 | 0.0 | 1.0 | 36.8125 ];
14019e5c31af7Sopenharmony_ci			input float in3 = [ 0.0 | -8.25 | 36.8125 | 1.0 | 0.0 | -20.125 | 3.5 | 2.0 | -0.5 | 1.0 ];
14020e5c31af7Sopenharmony_ci			input float in4 = [ 0.0 | 1.0 | 3.5 | -20.125 | 0.0 | 36.8125 | 1.0 | -8.25 | 2.0 | -0.5 ];
14021e5c31af7Sopenharmony_ci			input int in5 = [ 2 | 8 | 1 | -192 | 0 | -12 | 11 | 255 | 5 | -66 ];
14022e5c31af7Sopenharmony_ci			input int in6 = [ 2 | -12 | 5 | 8 | 11 | 255 | 0 | -66 | 1 | -192 ];
14023e5c31af7Sopenharmony_ci			input bool in7 = [ true | true | false | true | false | false | false | true | false | true ];
14024e5c31af7Sopenharmony_ci			input bool in8 = [ true | false | false | true | true | false | true | true | false | false ];
14025e5c31af7Sopenharmony_ci			input bool in9 = [ false | true | false | false | false | false | true | true | true | true ];
14026e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(-0.5, -2.25, 0.0, -2.0, -20.125, 0.0, 0.0, 2.0, 2.0, 1.0, 1.0, 0.0) | mat4x3(0.0, 0.5, -32.0, 64.0, 3.5, -8.25, 1.0, 8.0, -12.0, 1.0, 0.0, 1.0) | mat4x3(0.0, 0.5, 1.0, 1.0, 2.0, 36.8125, 3.5, 1.0, 5.0, 0.0, 0.0, 0.0) | mat4x3(1.0, 1.25, -32.0, 64.0, -0.5, 1.0, -20.125, -192.0, 8.0, 1.0, 1.0, 0.0) | mat4x3(-0.75, -0.0322580645161, 0.0, 0.0, -8.25, 0.0, 0.0, 0.0, 11.0, 0.0, 1.0, 0.0) | mat4x3(-0.5, -2.25, 0.0, 0.0, 0.0, -20.125, 36.8125, -12.0, 255.0, 0.0, 0.0, 0.0) | mat4x3(-32.0, 64.0, 0.0, 0.0, 1.0, 3.5, 1.0, 11.0, 0.0, 0.0, 1.0, 1.0) | mat4x3(1.0, 1.25, 0.0, -2.0, 0.0, 2.0, -8.25, 255.0, -66.0, 1.0, 1.0, 1.0) | mat4x3(-32.0, 64.0, 0.0, 0.0, 1.0, -0.5, 2.0, 5.0, 1.0, 0.0, 0.0, 1.0) | mat4x3(-0.75, -0.0322580645161, 1.0, 1.0, 36.8125, 1.0, -0.5, -66.0, -192.0, 1.0, 0.0, 1.0) ];
14027e5c31af7Sopenharmony_ci		}
14028e5c31af7Sopenharmony_ci
14029e5c31af7Sopenharmony_ci		both ""
14030e5c31af7Sopenharmony_ci			#version 300 es
14031e5c31af7Sopenharmony_ci			precision mediump float;
14032e5c31af7Sopenharmony_ci			precision mediump int;
14033e5c31af7Sopenharmony_ci
14034e5c31af7Sopenharmony_ci			${DECLARATIONS}
14035e5c31af7Sopenharmony_ci
14036e5c31af7Sopenharmony_ci			void main()
14037e5c31af7Sopenharmony_ci			{
14038e5c31af7Sopenharmony_ci				${SETUP}
14039e5c31af7Sopenharmony_ci				out0 = mat4x3(in0, in1, in2, in3, in4, in5, in6, in7, in8, in9);
14040e5c31af7Sopenharmony_ci				${OUTPUT}
14041e5c31af7Sopenharmony_ci			}
14042e5c31af7Sopenharmony_ci		""
14043e5c31af7Sopenharmony_ci	end
14044e5c31af7Sopenharmony_ci
14045e5c31af7Sopenharmony_ci	case bool_float_int_vec3_bool_bvec3_float_bool_to_mat4x3
14046e5c31af7Sopenharmony_ci		version 300 es
14047e5c31af7Sopenharmony_ci		values
14048e5c31af7Sopenharmony_ci		{
14049e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | false | false | true | true | true | false | false | false ];
14050e5c31af7Sopenharmony_ci			input float in1 = [ -8.25 | 2.0 | 1.0 | -0.5 | 0.0 | 0.0 | 36.8125 | -20.125 | 3.5 | 1.0 ];
14051e5c31af7Sopenharmony_ci			input int in2 = [ 255 | 2 | 11 | 1 | 8 | -192 | 0 | -66 | -12 | 5 ];
14052e5c31af7Sopenharmony_ci			input vec3 in3 = [ vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(0.0, 0.5, 0.75) | 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) | vec3(-32.0, 64.0, -51.0) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
14053e5c31af7Sopenharmony_ci			input bool in4 = [ true | true | false | false | true | false | false | false | true | true ];
14054e5c31af7Sopenharmony_ci			input bvec3 in5 = [ bvec3(false, false, false) | bvec3(false, true, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, false, false) | bvec3(true, false, false) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) ];
14055e5c31af7Sopenharmony_ci			input float in6 = [ 1.0 | 0.0 | -0.5 | 36.8125 | 1.0 | -20.125 | 2.0 | 0.0 | -8.25 | 3.5 ];
14056e5c31af7Sopenharmony_ci			input bool in7 = [ true | true | false | false | false | false | true | true | false | true ];
14057e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(1.0, -8.25, 255.0, -0.75, -0.0322580645161, 0.0526315789474, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0) | mat4x3(1.0, 2.0, 2.0, 0.0, 0.5, 0.75, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0) | mat4x3(0.0, 1.0, 11.0, 0.0, 0.5, 0.75, 0.0, 0.0, 0.0, 0.0, -0.5, 0.0) | mat4x3(0.0, -0.5, 1.0, -32.0, 64.0, -51.0, 0.0, 0.0, 1.0, 0.0, 36.8125, 0.0) | mat4x3(1.0, 0.0, 8.0, -0.5, -2.25, -4.875, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0) | mat4x3(1.0, 0.0, -192.0, 1.0, 1.25, 1.125, 0.0, 1.0, 0.0, 0.0, -20.125, 0.0) | mat4x3(1.0, 36.8125, 0.0, -32.0, 64.0, -51.0, 0.0, 1.0, 1.0, 1.0, 2.0, 1.0) | mat4x3(0.0, -20.125, -66.0, 1.0, 1.25, 1.125, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0) | mat4x3(0.0, 3.5, -12.0, -0.5, -2.25, -4.875, 1.0, 0.0, 0.0, 0.0, -8.25, 0.0) | mat4x3(0.0, 1.0, 5.0, -0.75, -0.0322580645161, 0.0526315789474, 1.0, 0.0, 0.0, 0.0, 3.5, 1.0) ];
14058e5c31af7Sopenharmony_ci		}
14059e5c31af7Sopenharmony_ci
14060e5c31af7Sopenharmony_ci		both ""
14061e5c31af7Sopenharmony_ci			#version 300 es
14062e5c31af7Sopenharmony_ci			precision mediump float;
14063e5c31af7Sopenharmony_ci			precision mediump int;
14064e5c31af7Sopenharmony_ci
14065e5c31af7Sopenharmony_ci			${DECLARATIONS}
14066e5c31af7Sopenharmony_ci
14067e5c31af7Sopenharmony_ci			void main()
14068e5c31af7Sopenharmony_ci			{
14069e5c31af7Sopenharmony_ci				${SETUP}
14070e5c31af7Sopenharmony_ci				out0 = mat4x3(in0, in1, in2, in3, in4, in5, in6, in7);
14071e5c31af7Sopenharmony_ci				${OUTPUT}
14072e5c31af7Sopenharmony_ci			}
14073e5c31af7Sopenharmony_ci		""
14074e5c31af7Sopenharmony_ci	end
14075e5c31af7Sopenharmony_ci
14076e5c31af7Sopenharmony_ci	case bool_bvec4_int_vec4_bool_float_to_mat4x3
14077e5c31af7Sopenharmony_ci		version 300 es
14078e5c31af7Sopenharmony_ci		values
14079e5c31af7Sopenharmony_ci		{
14080e5c31af7Sopenharmony_ci			input bool in0 = [ true | true | true | false | true | false | false | true | false | false ];
14081e5c31af7Sopenharmony_ci			input bvec4 in1 = [ bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, false, false, true) | bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, false, false, false) | bvec4(false, false, false, true) ];
14082e5c31af7Sopenharmony_ci			input int in2 = [ 5 | 11 | 0 | -192 | -66 | 255 | 1 | -12 | 8 | 2 ];
14083e5c31af7Sopenharmony_ci			input vec4 in3 = [ vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | 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) | vec4(0.0, 0.5, 0.75, 0.825) ];
14084e5c31af7Sopenharmony_ci			input bool in4 = [ false | true | true | false | true | false | true | true | false | false ];
14085e5c31af7Sopenharmony_ci			input float in5 = [ -20.125 | 0.0 | 1.0 | -0.5 | 3.5 | -8.25 | 0.0 | 1.0 | 2.0 | 36.8125 ];
14086e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 0.0, 5.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 0.0, -20.125) | mat4x3(1.0, 0.0, 1.0, 0.0, 0.0, 11.0, -32.0, 64.0, -51.0, 24.0, 1.0, 0.0) | mat4x3(1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.25, 1.125, 1.75, 1.0, 1.0) | mat4x3(0.0, 1.0, 1.0, 1.0, 1.0, -192.0, -0.5, -2.25, -4.875, 9.0, 0.0, -0.5) | mat4x3(1.0, 1.0, 1.0, 1.0, 1.0, -66.0, 1.0, 1.25, 1.125, 1.75, 1.0, 3.5) | mat4x3(0.0, 1.0, 0.0, 0.0, 1.0, 255.0, -32.0, 64.0, -51.0, 24.0, 0.0, -8.25) | mat4x3(0.0, 1.0, 0.0, 0.0, 1.0, 1.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 1.0, 0.0) | mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, -12.0, -0.5, -2.25, -4.875, 9.0, 1.0, 1.0) | mat4x3(0.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.5, 0.75, 0.825, 0.0, 2.0) | mat4x3(0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.5, 0.75, 0.825, 0.0, 36.8125) ];
14087e5c31af7Sopenharmony_ci		}
14088e5c31af7Sopenharmony_ci
14089e5c31af7Sopenharmony_ci		both ""
14090e5c31af7Sopenharmony_ci			#version 300 es
14091e5c31af7Sopenharmony_ci			precision mediump float;
14092e5c31af7Sopenharmony_ci			precision mediump int;
14093e5c31af7Sopenharmony_ci
14094e5c31af7Sopenharmony_ci			${DECLARATIONS}
14095e5c31af7Sopenharmony_ci
14096e5c31af7Sopenharmony_ci			void main()
14097e5c31af7Sopenharmony_ci			{
14098e5c31af7Sopenharmony_ci				${SETUP}
14099e5c31af7Sopenharmony_ci				out0 = mat4x3(in0, in1, in2, in3, in4, in5);
14100e5c31af7Sopenharmony_ci				${OUTPUT}
14101e5c31af7Sopenharmony_ci			}
14102e5c31af7Sopenharmony_ci		""
14103e5c31af7Sopenharmony_ci	end
14104e5c31af7Sopenharmony_ci
14105e5c31af7Sopenharmony_ci	case float_bvec4_ivec4_bool_bool_int_to_mat4x3
14106e5c31af7Sopenharmony_ci		version 300 es
14107e5c31af7Sopenharmony_ci		values
14108e5c31af7Sopenharmony_ci		{
14109e5c31af7Sopenharmony_ci			input float in0 = [ 36.8125 | -0.5 | 3.5 | 2.0 | 1.0 | -20.125 | 0.0 | 0.0 | -8.25 | 1.0 ];
14110e5c31af7Sopenharmony_ci			input bvec4 in1 = [ bvec4(false, false, false, false) | bvec4(false, false, false, true) | bvec4(true, false, false, true) | bvec4(false, true, false, false) | bvec4(false, false, false, false) | bvec4(true, false, false, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, true, false, false) | bvec4(false, false, false, true) ];
14111e5c31af7Sopenharmony_ci			input ivec4 in2 = [ ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) | ivec4(0, 0, 0, 0) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(0, -2, -4, 9) ];
14112e5c31af7Sopenharmony_ci			input bool in3 = [ false | true | false | true | false | false | false | true | true | true ];
14113e5c31af7Sopenharmony_ci			input bool in4 = [ false | true | false | true | false | true | false | false | true | true ];
14114e5c31af7Sopenharmony_ci			input int in5 = [ 2 | 1 | 8 | 11 | 255 | 5 | 0 | -66 | -192 | -12 ];
14115e5c31af7Sopenharmony_ci			output mat4x3 out0 = [ mat4x3(36.8125, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 2.0) | mat4x3(-0.5, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat4x3(3.5, 1.0, 0.0, 0.0, 1.0, -32.0, 64.0, -51.0, 24.0, 0.0, 0.0, 8.0) | mat4x3(2.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 11.0) | mat4x3(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 255.0) | mat4x3(-20.125, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 5.0) | mat4x3(0.0, 1.0, 1.0, 1.0, 1.0, -32.0, 64.0, -51.0, 24.0, 0.0, 0.0, 0.0) | mat4x3(0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, -66.0) | mat4x3(-8.25, 0.0, 1.0, 0.0, 0.0, 0.0, -2.0, -4.0, 9.0, 1.0, 1.0, -192.0) | mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, -2.0, -4.0, 9.0, 1.0, 1.0, -12.0) ];
14116e5c31af7Sopenharmony_ci		}
14117e5c31af7Sopenharmony_ci
14118e5c31af7Sopenharmony_ci		both ""
14119e5c31af7Sopenharmony_ci			#version 300 es
14120e5c31af7Sopenharmony_ci			precision mediump float;
14121e5c31af7Sopenharmony_ci			precision mediump int;
14122e5c31af7Sopenharmony_ci
14123e5c31af7Sopenharmony_ci			${DECLARATIONS}
14124e5c31af7Sopenharmony_ci
14125e5c31af7Sopenharmony_ci			void main()
14126e5c31af7Sopenharmony_ci			{
14127e5c31af7Sopenharmony_ci				${SETUP}
14128e5c31af7Sopenharmony_ci				out0 = mat4x3(in0, in1, in2, in3, in4, in5);
14129e5c31af7Sopenharmony_ci				${OUTPUT}
14130e5c31af7Sopenharmony_ci			}
14131e5c31af7Sopenharmony_ci		""
14132e5c31af7Sopenharmony_ci	end
14133e5c31af7Sopenharmony_ci
14134e5c31af7Sopenharmony_ci	case vec4_vec4_vec4_vec4_to_mat4
14135e5c31af7Sopenharmony_ci		version 300 es
14136e5c31af7Sopenharmony_ci		values
14137e5c31af7Sopenharmony_ci		{
14138e5c31af7Sopenharmony_ci			input vec4 in0 = [ vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-32.0, 64.0, -51.0, 24.0) | 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) ];
14139e5c31af7Sopenharmony_ci			input vec4 in1 = [ vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-32.0, 64.0, -51.0, 24.0) | 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) ];
14140e5c31af7Sopenharmony_ci			input vec4 in2 = [ 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) ];
14141e5c31af7Sopenharmony_ci			input vec4 in3 = [ vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(0.0, 0.5, 0.75, 0.825) | vec4(-0.5, -2.25, -4.875, 9.0) ];
14142e5c31af7Sopenharmony_ci			output mat4 out0 = [ mat4(-0.75, -0.0322580645161, 0.0526315789474, 0.25, -0.75, -0.0322580645161, 0.0526315789474, 0.25, -32.0, 64.0, -51.0, 24.0, -32.0, 64.0, -51.0, 24.0) | mat4(-32.0, 64.0, -51.0, 24.0, -32.0, 64.0, -51.0, 24.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, -0.75, -0.0322580645161, 0.0526315789474, 0.25) | mat4(-0.5, -2.25, -4.875, 9.0, -0.5, -2.25, -4.875, 9.0, -0.5, -2.25, -4.875, 9.0, 1.0, 1.25, 1.125, 1.75) | mat4(1.0, 1.25, 1.125, 1.75, 1.0, 1.25, 1.125, 1.75, 1.0, 1.25, 1.125, 1.75, 0.0, 0.5, 0.75, 0.825) | mat4(0.0, 0.5, 0.75, 0.825, 0.0, 0.5, 0.75, 0.825, 0.0, 0.5, 0.75, 0.825, -0.5, -2.25, -4.875, 9.0) ];
14143e5c31af7Sopenharmony_ci		}
14144e5c31af7Sopenharmony_ci
14145e5c31af7Sopenharmony_ci		both ""
14146e5c31af7Sopenharmony_ci			#version 300 es
14147e5c31af7Sopenharmony_ci			precision mediump float;
14148e5c31af7Sopenharmony_ci			precision mediump int;
14149e5c31af7Sopenharmony_ci
14150e5c31af7Sopenharmony_ci			${DECLARATIONS}
14151e5c31af7Sopenharmony_ci
14152e5c31af7Sopenharmony_ci			void main()
14153e5c31af7Sopenharmony_ci			{
14154e5c31af7Sopenharmony_ci				${SETUP}
14155e5c31af7Sopenharmony_ci				out0 = mat4(in0, in1, in2, in3);
14156e5c31af7Sopenharmony_ci				${OUTPUT}
14157e5c31af7Sopenharmony_ci			}
14158e5c31af7Sopenharmony_ci		""
14159e5c31af7Sopenharmony_ci	end
14160e5c31af7Sopenharmony_ci
14161e5c31af7Sopenharmony_ci	case ivec4_ivec4_ivec4_ivec4_to_mat4
14162e5c31af7Sopenharmony_ci		version 300 es
14163e5c31af7Sopenharmony_ci		values
14164e5c31af7Sopenharmony_ci		{
14165e5c31af7Sopenharmony_ci			input ivec4 in0 = [ ivec4(-32, 64, -51, 24) | ivec4(0, -2, -4, 9) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(0, 0, 0, 0) ];
14166e5c31af7Sopenharmony_ci			input ivec4 in1 = [ ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
14167e5c31af7Sopenharmony_ci			input ivec4 in2 = [ ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) | ivec4(0, -2, -4, 9) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) ];
14168e5c31af7Sopenharmony_ci			input ivec4 in3 = [ ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(0, 0, 0, 0) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) ];
14169e5c31af7Sopenharmony_ci			output mat4 out0 = [ mat4(-32.0, 64.0, -51.0, 24.0, 1.0, 1.0, 1.0, 1.0, -32.0, 64.0, -51.0, 24.0, 1.0, 1.0, 1.0, 1.0) | mat4(0.0, -2.0, -4.0, 9.0, 0.0, -2.0, -4.0, 9.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.0, -4.0, 9.0) | mat4(1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.0, -4.0, 9.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, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.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, -32.0, 64.0, -51.0, 24.0) ];
14170e5c31af7Sopenharmony_ci		}
14171e5c31af7Sopenharmony_ci
14172e5c31af7Sopenharmony_ci		both ""
14173e5c31af7Sopenharmony_ci			#version 300 es
14174e5c31af7Sopenharmony_ci			precision mediump float;
14175e5c31af7Sopenharmony_ci			precision mediump int;
14176e5c31af7Sopenharmony_ci
14177e5c31af7Sopenharmony_ci			${DECLARATIONS}
14178e5c31af7Sopenharmony_ci
14179e5c31af7Sopenharmony_ci			void main()
14180e5c31af7Sopenharmony_ci			{
14181e5c31af7Sopenharmony_ci				${SETUP}
14182e5c31af7Sopenharmony_ci				out0 = mat4(in0, in1, in2, in3);
14183e5c31af7Sopenharmony_ci				${OUTPUT}
14184e5c31af7Sopenharmony_ci			}
14185e5c31af7Sopenharmony_ci		""
14186e5c31af7Sopenharmony_ci	end
14187e5c31af7Sopenharmony_ci
14188e5c31af7Sopenharmony_ci	case bvec4_bvec4_bvec4_bvec4_to_mat4
14189e5c31af7Sopenharmony_ci		version 300 es
14190e5c31af7Sopenharmony_ci		values
14191e5c31af7Sopenharmony_ci		{
14192e5c31af7Sopenharmony_ci			input bvec4 in0 = [ bvec4(false, false, false, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(true, false, false, true) ];
14193e5c31af7Sopenharmony_ci			input bvec4 in1 = [ bvec4(false, true, false, false) | bvec4(false, false, false, true) | bvec4(true, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
14194e5c31af7Sopenharmony_ci			input bvec4 in2 = [ bvec4(false, true, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, true) | bvec4(true, false, false, true) ];
14195e5c31af7Sopenharmony_ci			input bvec4 in3 = [ bvec4(true, true, true, true) | bvec4(false, false, false, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, false, false, true) ];
14196e5c31af7Sopenharmony_ci			output mat4 out0 = [ mat4(0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0) | mat4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4(1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0) | mat4(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0) ];
14197e5c31af7Sopenharmony_ci		}
14198e5c31af7Sopenharmony_ci
14199e5c31af7Sopenharmony_ci		both ""
14200e5c31af7Sopenharmony_ci			#version 300 es
14201e5c31af7Sopenharmony_ci			precision mediump float;
14202e5c31af7Sopenharmony_ci			precision mediump int;
14203e5c31af7Sopenharmony_ci
14204e5c31af7Sopenharmony_ci			${DECLARATIONS}
14205e5c31af7Sopenharmony_ci
14206e5c31af7Sopenharmony_ci			void main()
14207e5c31af7Sopenharmony_ci			{
14208e5c31af7Sopenharmony_ci				${SETUP}
14209e5c31af7Sopenharmony_ci				out0 = mat4(in0, in1, in2, in3);
14210e5c31af7Sopenharmony_ci				${OUTPUT}
14211e5c31af7Sopenharmony_ci			}
14212e5c31af7Sopenharmony_ci		""
14213e5c31af7Sopenharmony_ci	end
14214e5c31af7Sopenharmony_ci
14215e5c31af7Sopenharmony_ci	case float_ivec3_bvec3_vec4_ivec2_float_vec2_to_mat4
14216e5c31af7Sopenharmony_ci		version 300 es
14217e5c31af7Sopenharmony_ci		values
14218e5c31af7Sopenharmony_ci		{
14219e5c31af7Sopenharmony_ci			input float in0 = [ 2.0 | 1.0 | 3.5 | 0.0 | -20.125 | 36.8125 | -0.5 | -8.25 ];
14220e5c31af7Sopenharmony_ci			input ivec3 in1 = [ ivec3(0, 0, 0) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(0, 0, 0) | ivec3(0, -2, -4) ];
14221e5c31af7Sopenharmony_ci			input bvec3 in2 = [ bvec3(true, false, false) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(false, false, false) | bvec3(false, true, false) ];
14222e5c31af7Sopenharmony_ci			input vec4 in3 = [ 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) | vec4(-0.5, -2.25, -4.875, 9.0) | 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) ];
14223e5c31af7Sopenharmony_ci			input ivec2 in4 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, -2) ];
14224e5c31af7Sopenharmony_ci			input float in5 = [ 2.0 | 3.5 | 36.8125 | -8.25 | 0.0 | -20.125 | 1.0 | -0.5 ];
14225e5c31af7Sopenharmony_ci			input vec2 in6 = [ vec2(0.0, 0.5) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) | vec2(1.0, 1.25) ];
14226e5c31af7Sopenharmony_ci			output mat4 out0 = [ mat4(2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, -0.5, -2.25, -4.875, 9.0, 0.0, 0.0, 2.0, 0.0, 0.5) | mat4(1.0, -32.0, 64.0, -51.0, 1.0, 1.0, 1.0, 1.0, 1.25, 1.125, 1.75, 1.0, 1.0, 3.5, -0.5, -2.25) | mat4(3.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.75, 0.825, 0.0, -2.0, 36.8125, -32.0, 64.0) | mat4(0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, -0.5, -2.25, -4.875, 9.0, 0.0, 0.0, -8.25, 0.0, 0.5) | mat4(-20.125, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.25, 1.125, 1.75, 1.0, 1.0, 0.0, -0.75, -0.0322580645161) | mat4(36.8125, 0.0, -2.0, -4.0, 0.0, 1.0, 0.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, -32.0, 64.0, -20.125, -0.5, -2.25) | mat4(-0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0, 0.0, 0.0, 1.0, 1.0, 1.25) | mat4(-8.25, 0.0, -2.0, -4.0, 0.0, 1.0, 0.0, 0.0, 0.5, 0.75, 0.825, 0.0, -2.0, -0.5, 1.0, 1.25) ];
14227e5c31af7Sopenharmony_ci		}
14228e5c31af7Sopenharmony_ci
14229e5c31af7Sopenharmony_ci		both ""
14230e5c31af7Sopenharmony_ci			#version 300 es
14231e5c31af7Sopenharmony_ci			precision mediump float;
14232e5c31af7Sopenharmony_ci			precision mediump int;
14233e5c31af7Sopenharmony_ci
14234e5c31af7Sopenharmony_ci			${DECLARATIONS}
14235e5c31af7Sopenharmony_ci
14236e5c31af7Sopenharmony_ci			void main()
14237e5c31af7Sopenharmony_ci			{
14238e5c31af7Sopenharmony_ci				${SETUP}
14239e5c31af7Sopenharmony_ci				out0 = mat4(in0, in1, in2, in3, in4, in5, in6);
14240e5c31af7Sopenharmony_ci				${OUTPUT}
14241e5c31af7Sopenharmony_ci			}
14242e5c31af7Sopenharmony_ci		""
14243e5c31af7Sopenharmony_ci	end
14244e5c31af7Sopenharmony_ci
14245e5c31af7Sopenharmony_ci
14246e5c31af7Sopenharmony_ciend # matrix_combine
14247