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