resolve merge conflicts of 76a147bf to deqp-dev
[platform/upstream/VK-GL-CTS.git] / data / gles3 / shaders / invalid_implicit_conversions.test
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
4 group 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
7687 end # invalid_implicit_conversions