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