Merge "Add triangle edge guardband for Tex2D lookup diff" am: da231f19ab
[platform/upstream/VK-GL-CTS.git] / data / gles2 / 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
9                 both ""
10                         precision mediump float;
11                         precision mediump int;
12
13                         ${DECLARATIONS}
14
15                         void main()
16                         {
17                                 float c;
18                                 float a;
19                                 int b;
20                                 float c = a + b;
21                         }
22                 ""
23         end
24         case add_float_int_int
25                 expect compile_fail
26
27                 both ""
28                         precision mediump float;
29                         precision mediump int;
30
31                         ${DECLARATIONS}
32
33                         void main()
34                         {
35                                 int c;
36                                 float a;
37                                 int b;
38                                 int c = a + b;
39                         }
40                 ""
41         end
42         case add_float_ivec2_float
43                 expect compile_fail
44
45                 both ""
46                         precision mediump float;
47                         precision mediump int;
48
49                         ${DECLARATIONS}
50
51                         void main()
52                         {
53                                 float c;
54                                 float a;
55                                 ivec2 b;
56                                 float c = a + b;
57                         }
58                 ""
59         end
60         case add_float_ivec2_ivec2
61                 expect compile_fail
62
63                 both ""
64                         precision mediump float;
65                         precision mediump int;
66
67                         ${DECLARATIONS}
68
69                         void main()
70                         {
71                                 ivec2 c;
72                                 float a;
73                                 ivec2 b;
74                                 ivec2 c = a + b;
75                         }
76                 ""
77         end
78         case add_float_ivec3_float
79                 expect compile_fail
80
81                 both ""
82                         precision mediump float;
83                         precision mediump int;
84
85                         ${DECLARATIONS}
86
87                         void main()
88                         {
89                                 float c;
90                                 float a;
91                                 ivec3 b;
92                                 float c = a + b;
93                         }
94                 ""
95         end
96         case add_float_ivec3_ivec3
97                 expect compile_fail
98
99                 both ""
100                         precision mediump float;
101                         precision mediump int;
102
103                         ${DECLARATIONS}
104
105                         void main()
106                         {
107                                 ivec3 c;
108                                 float a;
109                                 ivec3 b;
110                                 ivec3 c = a + b;
111                         }
112                 ""
113         end
114         case add_float_ivec4_float
115                 expect compile_fail
116
117                 both ""
118                         precision mediump float;
119                         precision mediump int;
120
121                         ${DECLARATIONS}
122
123                         void main()
124                         {
125                                 float c;
126                                 float a;
127                                 ivec4 b;
128                                 float c = a + b;
129                         }
130                 ""
131         end
132         case add_float_ivec4_ivec4
133                 expect compile_fail
134
135                 both ""
136                         precision mediump float;
137                         precision mediump int;
138
139                         ${DECLARATIONS}
140
141                         void main()
142                         {
143                                 ivec4 c;
144                                 float a;
145                                 ivec4 b;
146                                 ivec4 c = a + b;
147                         }
148                 ""
149         end
150         case add_vec2_int_vec2
151                 expect compile_fail
152
153                 both ""
154                         precision mediump float;
155                         precision mediump int;
156
157                         ${DECLARATIONS}
158
159                         void main()
160                         {
161                                 vec2 c;
162                                 vec2 a;
163                                 int b;
164                                 vec2 c = a + b;
165                         }
166                 ""
167         end
168         case add_vec2_int_int
169                 expect compile_fail
170
171                 both ""
172                         precision mediump float;
173                         precision mediump int;
174
175                         ${DECLARATIONS}
176
177                         void main()
178                         {
179                                 int c;
180                                 vec2 a;
181                                 int b;
182                                 int c = a + b;
183                         }
184                 ""
185         end
186         case add_vec2_ivec2_vec2
187                 expect compile_fail
188
189                 both ""
190                         precision mediump float;
191                         precision mediump int;
192
193                         ${DECLARATIONS}
194
195                         void main()
196                         {
197                                 vec2 c;
198                                 vec2 a;
199                                 ivec2 b;
200                                 vec2 c = a + b;
201                         }
202                 ""
203         end
204         case add_vec2_ivec2_ivec2
205                 expect compile_fail
206
207                 both ""
208                         precision mediump float;
209                         precision mediump int;
210
211                         ${DECLARATIONS}
212
213                         void main()
214                         {
215                                 ivec2 c;
216                                 vec2 a;
217                                 ivec2 b;
218                                 ivec2 c = a + b;
219                         }
220                 ""
221         end
222         case add_vec2_ivec3_vec2
223                 expect compile_fail
224
225                 both ""
226                         precision mediump float;
227                         precision mediump int;
228
229                         ${DECLARATIONS}
230
231                         void main()
232                         {
233                                 vec2 c;
234                                 vec2 a;
235                                 ivec3 b;
236                                 vec2 c = a + b;
237                         }
238                 ""
239         end
240         case add_vec2_ivec3_ivec3
241                 expect compile_fail
242
243                 both ""
244                         precision mediump float;
245                         precision mediump int;
246
247                         ${DECLARATIONS}
248
249                         void main()
250                         {
251                                 ivec3 c;
252                                 vec2 a;
253                                 ivec3 b;
254                                 ivec3 c = a + b;
255                         }
256                 ""
257         end
258         case add_vec2_ivec4_vec2
259                 expect compile_fail
260
261                 both ""
262                         precision mediump float;
263                         precision mediump int;
264
265                         ${DECLARATIONS}
266
267                         void main()
268                         {
269                                 vec2 c;
270                                 vec2 a;
271                                 ivec4 b;
272                                 vec2 c = a + b;
273                         }
274                 ""
275         end
276         case add_vec2_ivec4_ivec4
277                 expect compile_fail
278
279                 both ""
280                         precision mediump float;
281                         precision mediump int;
282
283                         ${DECLARATIONS}
284
285                         void main()
286                         {
287                                 ivec4 c;
288                                 vec2 a;
289                                 ivec4 b;
290                                 ivec4 c = a + b;
291                         }
292                 ""
293         end
294         case add_vec3_int_vec3
295                 expect compile_fail
296
297                 both ""
298                         precision mediump float;
299                         precision mediump int;
300
301                         ${DECLARATIONS}
302
303                         void main()
304                         {
305                                 vec3 c;
306                                 vec3 a;
307                                 int b;
308                                 vec3 c = a + b;
309                         }
310                 ""
311         end
312         case add_vec3_int_int
313                 expect compile_fail
314
315                 both ""
316                         precision mediump float;
317                         precision mediump int;
318
319                         ${DECLARATIONS}
320
321                         void main()
322                         {
323                                 int c;
324                                 vec3 a;
325                                 int b;
326                                 int c = a + b;
327                         }
328                 ""
329         end
330         case add_vec3_ivec2_vec3
331                 expect compile_fail
332
333                 both ""
334                         precision mediump float;
335                         precision mediump int;
336
337                         ${DECLARATIONS}
338
339                         void main()
340                         {
341                                 vec3 c;
342                                 vec3 a;
343                                 ivec2 b;
344                                 vec3 c = a + b;
345                         }
346                 ""
347         end
348         case add_vec3_ivec2_ivec2
349                 expect compile_fail
350
351                 both ""
352                         precision mediump float;
353                         precision mediump int;
354
355                         ${DECLARATIONS}
356
357                         void main()
358                         {
359                                 ivec2 c;
360                                 vec3 a;
361                                 ivec2 b;
362                                 ivec2 c = a + b;
363                         }
364                 ""
365         end
366         case add_vec3_ivec3_vec3
367                 expect compile_fail
368
369                 both ""
370                         precision mediump float;
371                         precision mediump int;
372
373                         ${DECLARATIONS}
374
375                         void main()
376                         {
377                                 vec3 c;
378                                 vec3 a;
379                                 ivec3 b;
380                                 vec3 c = a + b;
381                         }
382                 ""
383         end
384         case add_vec3_ivec3_ivec3
385                 expect compile_fail
386
387                 both ""
388                         precision mediump float;
389                         precision mediump int;
390
391                         ${DECLARATIONS}
392
393                         void main()
394                         {
395                                 ivec3 c;
396                                 vec3 a;
397                                 ivec3 b;
398                                 ivec3 c = a + b;
399                         }
400                 ""
401         end
402         case add_vec3_ivec4_vec3
403                 expect compile_fail
404
405                 both ""
406                         precision mediump float;
407                         precision mediump int;
408
409                         ${DECLARATIONS}
410
411                         void main()
412                         {
413                                 vec3 c;
414                                 vec3 a;
415                                 ivec4 b;
416                                 vec3 c = a + b;
417                         }
418                 ""
419         end
420         case add_vec3_ivec4_ivec4
421                 expect compile_fail
422
423                 both ""
424                         precision mediump float;
425                         precision mediump int;
426
427                         ${DECLARATIONS}
428
429                         void main()
430                         {
431                                 ivec4 c;
432                                 vec3 a;
433                                 ivec4 b;
434                                 ivec4 c = a + b;
435                         }
436                 ""
437         end
438         case add_vec4_int_vec4
439                 expect compile_fail
440
441                 both ""
442                         precision mediump float;
443                         precision mediump int;
444
445                         ${DECLARATIONS}
446
447                         void main()
448                         {
449                                 vec4 c;
450                                 vec4 a;
451                                 int b;
452                                 vec4 c = a + b;
453                         }
454                 ""
455         end
456         case add_vec4_int_int
457                 expect compile_fail
458
459                 both ""
460                         precision mediump float;
461                         precision mediump int;
462
463                         ${DECLARATIONS}
464
465                         void main()
466                         {
467                                 int c;
468                                 vec4 a;
469                                 int b;
470                                 int c = a + b;
471                         }
472                 ""
473         end
474         case add_vec4_ivec2_vec4
475                 expect compile_fail
476
477                 both ""
478                         precision mediump float;
479                         precision mediump int;
480
481                         ${DECLARATIONS}
482
483                         void main()
484                         {
485                                 vec4 c;
486                                 vec4 a;
487                                 ivec2 b;
488                                 vec4 c = a + b;
489                         }
490                 ""
491         end
492         case add_vec4_ivec2_ivec2
493                 expect compile_fail
494
495                 both ""
496                         precision mediump float;
497                         precision mediump int;
498
499                         ${DECLARATIONS}
500
501                         void main()
502                         {
503                                 ivec2 c;
504                                 vec4 a;
505                                 ivec2 b;
506                                 ivec2 c = a + b;
507                         }
508                 ""
509         end
510         case add_vec4_ivec3_vec4
511                 expect compile_fail
512
513                 both ""
514                         precision mediump float;
515                         precision mediump int;
516
517                         ${DECLARATIONS}
518
519                         void main()
520                         {
521                                 vec4 c;
522                                 vec4 a;
523                                 ivec3 b;
524                                 vec4 c = a + b;
525                         }
526                 ""
527         end
528         case add_vec4_ivec3_ivec3
529                 expect compile_fail
530
531                 both ""
532                         precision mediump float;
533                         precision mediump int;
534
535                         ${DECLARATIONS}
536
537                         void main()
538                         {
539                                 ivec3 c;
540                                 vec4 a;
541                                 ivec3 b;
542                                 ivec3 c = a + b;
543                         }
544                 ""
545         end
546         case add_vec4_ivec4_vec4
547                 expect compile_fail
548
549                 both ""
550                         precision mediump float;
551                         precision mediump int;
552
553                         ${DECLARATIONS}
554
555                         void main()
556                         {
557                                 vec4 c;
558                                 vec4 a;
559                                 ivec4 b;
560                                 vec4 c = a + b;
561                         }
562                 ""
563         end
564         case add_vec4_ivec4_ivec4
565                 expect compile_fail
566
567                 both ""
568                         precision mediump float;
569                         precision mediump int;
570
571                         ${DECLARATIONS}
572
573                         void main()
574                         {
575                                 ivec4 c;
576                                 vec4 a;
577                                 ivec4 b;
578                                 ivec4 c = a + b;
579                         }
580                 ""
581         end
582         case mul_float_int_float
583                 expect compile_fail
584
585                 both ""
586                         precision mediump float;
587                         precision mediump int;
588
589                         ${DECLARATIONS}
590
591                         void main()
592                         {
593                                 float c;
594                                 float a;
595                                 int b;
596                                 float c = a * b;
597                         }
598                 ""
599         end
600         case mul_float_int_int
601                 expect compile_fail
602
603                 both ""
604                         precision mediump float;
605                         precision mediump int;
606
607                         ${DECLARATIONS}
608
609                         void main()
610                         {
611                                 int c;
612                                 float a;
613                                 int b;
614                                 int c = a * b;
615                         }
616                 ""
617         end
618         case mul_float_ivec2_float
619                 expect compile_fail
620
621                 both ""
622                         precision mediump float;
623                         precision mediump int;
624
625                         ${DECLARATIONS}
626
627                         void main()
628                         {
629                                 float c;
630                                 float a;
631                                 ivec2 b;
632                                 float c = a * b;
633                         }
634                 ""
635         end
636         case mul_float_ivec2_ivec2
637                 expect compile_fail
638
639                 both ""
640                         precision mediump float;
641                         precision mediump int;
642
643                         ${DECLARATIONS}
644
645                         void main()
646                         {
647                                 ivec2 c;
648                                 float a;
649                                 ivec2 b;
650                                 ivec2 c = a * b;
651                         }
652                 ""
653         end
654         case mul_float_ivec3_float
655                 expect compile_fail
656
657                 both ""
658                         precision mediump float;
659                         precision mediump int;
660
661                         ${DECLARATIONS}
662
663                         void main()
664                         {
665                                 float c;
666                                 float a;
667                                 ivec3 b;
668                                 float c = a * b;
669                         }
670                 ""
671         end
672         case mul_float_ivec3_ivec3
673                 expect compile_fail
674
675                 both ""
676                         precision mediump float;
677                         precision mediump int;
678
679                         ${DECLARATIONS}
680
681                         void main()
682                         {
683                                 ivec3 c;
684                                 float a;
685                                 ivec3 b;
686                                 ivec3 c = a * b;
687                         }
688                 ""
689         end
690         case mul_float_ivec4_float
691                 expect compile_fail
692
693                 both ""
694                         precision mediump float;
695                         precision mediump int;
696
697                         ${DECLARATIONS}
698
699                         void main()
700                         {
701                                 float c;
702                                 float a;
703                                 ivec4 b;
704                                 float c = a * b;
705                         }
706                 ""
707         end
708         case mul_float_ivec4_ivec4
709                 expect compile_fail
710
711                 both ""
712                         precision mediump float;
713                         precision mediump int;
714
715                         ${DECLARATIONS}
716
717                         void main()
718                         {
719                                 ivec4 c;
720                                 float a;
721                                 ivec4 b;
722                                 ivec4 c = a * b;
723                         }
724                 ""
725         end
726         case mul_vec2_int_vec2
727                 expect compile_fail
728
729                 both ""
730                         precision mediump float;
731                         precision mediump int;
732
733                         ${DECLARATIONS}
734
735                         void main()
736                         {
737                                 vec2 c;
738                                 vec2 a;
739                                 int b;
740                                 vec2 c = a * b;
741                         }
742                 ""
743         end
744         case mul_vec2_int_int
745                 expect compile_fail
746
747                 both ""
748                         precision mediump float;
749                         precision mediump int;
750
751                         ${DECLARATIONS}
752
753                         void main()
754                         {
755                                 int c;
756                                 vec2 a;
757                                 int b;
758                                 int c = a * b;
759                         }
760                 ""
761         end
762         case mul_vec2_ivec2_vec2
763                 expect compile_fail
764
765                 both ""
766                         precision mediump float;
767                         precision mediump int;
768
769                         ${DECLARATIONS}
770
771                         void main()
772                         {
773                                 vec2 c;
774                                 vec2 a;
775                                 ivec2 b;
776                                 vec2 c = a * b;
777                         }
778                 ""
779         end
780         case mul_vec2_ivec2_ivec2
781                 expect compile_fail
782
783                 both ""
784                         precision mediump float;
785                         precision mediump int;
786
787                         ${DECLARATIONS}
788
789                         void main()
790                         {
791                                 ivec2 c;
792                                 vec2 a;
793                                 ivec2 b;
794                                 ivec2 c = a * b;
795                         }
796                 ""
797         end
798         case mul_vec2_ivec3_vec2
799                 expect compile_fail
800
801                 both ""
802                         precision mediump float;
803                         precision mediump int;
804
805                         ${DECLARATIONS}
806
807                         void main()
808                         {
809                                 vec2 c;
810                                 vec2 a;
811                                 ivec3 b;
812                                 vec2 c = a * b;
813                         }
814                 ""
815         end
816         case mul_vec2_ivec3_ivec3
817                 expect compile_fail
818
819                 both ""
820                         precision mediump float;
821                         precision mediump int;
822
823                         ${DECLARATIONS}
824
825                         void main()
826                         {
827                                 ivec3 c;
828                                 vec2 a;
829                                 ivec3 b;
830                                 ivec3 c = a * b;
831                         }
832                 ""
833         end
834         case mul_vec2_ivec4_vec2
835                 expect compile_fail
836
837                 both ""
838                         precision mediump float;
839                         precision mediump int;
840
841                         ${DECLARATIONS}
842
843                         void main()
844                         {
845                                 vec2 c;
846                                 vec2 a;
847                                 ivec4 b;
848                                 vec2 c = a * b;
849                         }
850                 ""
851         end
852         case mul_vec2_ivec4_ivec4
853                 expect compile_fail
854
855                 both ""
856                         precision mediump float;
857                         precision mediump int;
858
859                         ${DECLARATIONS}
860
861                         void main()
862                         {
863                                 ivec4 c;
864                                 vec2 a;
865                                 ivec4 b;
866                                 ivec4 c = a * b;
867                         }
868                 ""
869         end
870         case mul_vec3_int_vec3
871                 expect compile_fail
872
873                 both ""
874                         precision mediump float;
875                         precision mediump int;
876
877                         ${DECLARATIONS}
878
879                         void main()
880                         {
881                                 vec3 c;
882                                 vec3 a;
883                                 int b;
884                                 vec3 c = a * b;
885                         }
886                 ""
887         end
888         case mul_vec3_int_int
889                 expect compile_fail
890
891                 both ""
892                         precision mediump float;
893                         precision mediump int;
894
895                         ${DECLARATIONS}
896
897                         void main()
898                         {
899                                 int c;
900                                 vec3 a;
901                                 int b;
902                                 int c = a * b;
903                         }
904                 ""
905         end
906         case mul_vec3_ivec2_vec3
907                 expect compile_fail
908
909                 both ""
910                         precision mediump float;
911                         precision mediump int;
912
913                         ${DECLARATIONS}
914
915                         void main()
916                         {
917                                 vec3 c;
918                                 vec3 a;
919                                 ivec2 b;
920                                 vec3 c = a * b;
921                         }
922                 ""
923         end
924         case mul_vec3_ivec2_ivec2
925                 expect compile_fail
926
927                 both ""
928                         precision mediump float;
929                         precision mediump int;
930
931                         ${DECLARATIONS}
932
933                         void main()
934                         {
935                                 ivec2 c;
936                                 vec3 a;
937                                 ivec2 b;
938                                 ivec2 c = a * b;
939                         }
940                 ""
941         end
942         case mul_vec3_ivec3_vec3
943                 expect compile_fail
944
945                 both ""
946                         precision mediump float;
947                         precision mediump int;
948
949                         ${DECLARATIONS}
950
951                         void main()
952                         {
953                                 vec3 c;
954                                 vec3 a;
955                                 ivec3 b;
956                                 vec3 c = a * b;
957                         }
958                 ""
959         end
960         case mul_vec3_ivec3_ivec3
961                 expect compile_fail
962
963                 both ""
964                         precision mediump float;
965                         precision mediump int;
966
967                         ${DECLARATIONS}
968
969                         void main()
970                         {
971                                 ivec3 c;
972                                 vec3 a;
973                                 ivec3 b;
974                                 ivec3 c = a * b;
975                         }
976                 ""
977         end
978         case mul_vec3_ivec4_vec3
979                 expect compile_fail
980
981                 both ""
982                         precision mediump float;
983                         precision mediump int;
984
985                         ${DECLARATIONS}
986
987                         void main()
988                         {
989                                 vec3 c;
990                                 vec3 a;
991                                 ivec4 b;
992                                 vec3 c = a * b;
993                         }
994                 ""
995         end
996         case mul_vec3_ivec4_ivec4
997                 expect compile_fail
998
999                 both ""
1000                         precision mediump float;
1001                         precision mediump int;
1002
1003                         ${DECLARATIONS}
1004
1005                         void main()
1006                         {
1007                                 ivec4 c;
1008                                 vec3 a;
1009                                 ivec4 b;
1010                                 ivec4 c = a * b;
1011                         }
1012                 ""
1013         end
1014         case mul_vec4_int_vec4
1015                 expect compile_fail
1016
1017                 both ""
1018                         precision mediump float;
1019                         precision mediump int;
1020
1021                         ${DECLARATIONS}
1022
1023                         void main()
1024                         {
1025                                 vec4 c;
1026                                 vec4 a;
1027                                 int b;
1028                                 vec4 c = a * b;
1029                         }
1030                 ""
1031         end
1032         case mul_vec4_int_int
1033                 expect compile_fail
1034
1035                 both ""
1036                         precision mediump float;
1037                         precision mediump int;
1038
1039                         ${DECLARATIONS}
1040
1041                         void main()
1042                         {
1043                                 int c;
1044                                 vec4 a;
1045                                 int b;
1046                                 int c = a * b;
1047                         }
1048                 ""
1049         end
1050         case mul_vec4_ivec2_vec4
1051                 expect compile_fail
1052
1053                 both ""
1054                         precision mediump float;
1055                         precision mediump int;
1056
1057                         ${DECLARATIONS}
1058
1059                         void main()
1060                         {
1061                                 vec4 c;
1062                                 vec4 a;
1063                                 ivec2 b;
1064                                 vec4 c = a * b;
1065                         }
1066                 ""
1067         end
1068         case mul_vec4_ivec2_ivec2
1069                 expect compile_fail
1070
1071                 both ""
1072                         precision mediump float;
1073                         precision mediump int;
1074
1075                         ${DECLARATIONS}
1076
1077                         void main()
1078                         {
1079                                 ivec2 c;
1080                                 vec4 a;
1081                                 ivec2 b;
1082                                 ivec2 c = a * b;
1083                         }
1084                 ""
1085         end
1086         case mul_vec4_ivec3_vec4
1087                 expect compile_fail
1088
1089                 both ""
1090                         precision mediump float;
1091                         precision mediump int;
1092
1093                         ${DECLARATIONS}
1094
1095                         void main()
1096                         {
1097                                 vec4 c;
1098                                 vec4 a;
1099                                 ivec3 b;
1100                                 vec4 c = a * b;
1101                         }
1102                 ""
1103         end
1104         case mul_vec4_ivec3_ivec3
1105                 expect compile_fail
1106
1107                 both ""
1108                         precision mediump float;
1109                         precision mediump int;
1110
1111                         ${DECLARATIONS}
1112
1113                         void main()
1114                         {
1115                                 ivec3 c;
1116                                 vec4 a;
1117                                 ivec3 b;
1118                                 ivec3 c = a * b;
1119                         }
1120                 ""
1121         end
1122         case mul_vec4_ivec4_vec4
1123                 expect compile_fail
1124
1125                 both ""
1126                         precision mediump float;
1127                         precision mediump int;
1128
1129                         ${DECLARATIONS}
1130
1131                         void main()
1132                         {
1133                                 vec4 c;
1134                                 vec4 a;
1135                                 ivec4 b;
1136                                 vec4 c = a * b;
1137                         }
1138                 ""
1139         end
1140         case mul_vec4_ivec4_ivec4
1141                 expect compile_fail
1142
1143                 both ""
1144                         precision mediump float;
1145                         precision mediump int;
1146
1147                         ${DECLARATIONS}
1148
1149                         void main()
1150                         {
1151                                 ivec4 c;
1152                                 vec4 a;
1153                                 ivec4 b;
1154                                 ivec4 c = a * b;
1155                         }
1156                 ""
1157         end
1158         case sub_float_int_float
1159                 expect compile_fail
1160
1161                 both ""
1162                         precision mediump float;
1163                         precision mediump int;
1164
1165                         ${DECLARATIONS}
1166
1167                         void main()
1168                         {
1169                                 float c;
1170                                 float a;
1171                                 int b;
1172                                 float c = a - b;
1173                         }
1174                 ""
1175         end
1176         case sub_float_int_int
1177                 expect compile_fail
1178
1179                 both ""
1180                         precision mediump float;
1181                         precision mediump int;
1182
1183                         ${DECLARATIONS}
1184
1185                         void main()
1186                         {
1187                                 int c;
1188                                 float a;
1189                                 int b;
1190                                 int c = a - b;
1191                         }
1192                 ""
1193         end
1194         case sub_float_ivec2_float
1195                 expect compile_fail
1196
1197                 both ""
1198                         precision mediump float;
1199                         precision mediump int;
1200
1201                         ${DECLARATIONS}
1202
1203                         void main()
1204                         {
1205                                 float c;
1206                                 float a;
1207                                 ivec2 b;
1208                                 float c = a - b;
1209                         }
1210                 ""
1211         end
1212         case sub_float_ivec2_ivec2
1213                 expect compile_fail
1214
1215                 both ""
1216                         precision mediump float;
1217                         precision mediump int;
1218
1219                         ${DECLARATIONS}
1220
1221                         void main()
1222                         {
1223                                 ivec2 c;
1224                                 float a;
1225                                 ivec2 b;
1226                                 ivec2 c = a - b;
1227                         }
1228                 ""
1229         end
1230         case sub_float_ivec3_float
1231                 expect compile_fail
1232
1233                 both ""
1234                         precision mediump float;
1235                         precision mediump int;
1236
1237                         ${DECLARATIONS}
1238
1239                         void main()
1240                         {
1241                                 float c;
1242                                 float a;
1243                                 ivec3 b;
1244                                 float c = a - b;
1245                         }
1246                 ""
1247         end
1248         case sub_float_ivec3_ivec3
1249                 expect compile_fail
1250
1251                 both ""
1252                         precision mediump float;
1253                         precision mediump int;
1254
1255                         ${DECLARATIONS}
1256
1257                         void main()
1258                         {
1259                                 ivec3 c;
1260                                 float a;
1261                                 ivec3 b;
1262                                 ivec3 c = a - b;
1263                         }
1264                 ""
1265         end
1266         case sub_float_ivec4_float
1267                 expect compile_fail
1268
1269                 both ""
1270                         precision mediump float;
1271                         precision mediump int;
1272
1273                         ${DECLARATIONS}
1274
1275                         void main()
1276                         {
1277                                 float c;
1278                                 float a;
1279                                 ivec4 b;
1280                                 float c = a - b;
1281                         }
1282                 ""
1283         end
1284         case sub_float_ivec4_ivec4
1285                 expect compile_fail
1286
1287                 both ""
1288                         precision mediump float;
1289                         precision mediump int;
1290
1291                         ${DECLARATIONS}
1292
1293                         void main()
1294                         {
1295                                 ivec4 c;
1296                                 float a;
1297                                 ivec4 b;
1298                                 ivec4 c = a - b;
1299                         }
1300                 ""
1301         end
1302         case sub_vec2_int_vec2
1303                 expect compile_fail
1304
1305                 both ""
1306                         precision mediump float;
1307                         precision mediump int;
1308
1309                         ${DECLARATIONS}
1310
1311                         void main()
1312                         {
1313                                 vec2 c;
1314                                 vec2 a;
1315                                 int b;
1316                                 vec2 c = a - b;
1317                         }
1318                 ""
1319         end
1320         case sub_vec2_int_int
1321                 expect compile_fail
1322
1323                 both ""
1324                         precision mediump float;
1325                         precision mediump int;
1326
1327                         ${DECLARATIONS}
1328
1329                         void main()
1330                         {
1331                                 int c;
1332                                 vec2 a;
1333                                 int b;
1334                                 int c = a - b;
1335                         }
1336                 ""
1337         end
1338         case sub_vec2_ivec2_vec2
1339                 expect compile_fail
1340
1341                 both ""
1342                         precision mediump float;
1343                         precision mediump int;
1344
1345                         ${DECLARATIONS}
1346
1347                         void main()
1348                         {
1349                                 vec2 c;
1350                                 vec2 a;
1351                                 ivec2 b;
1352                                 vec2 c = a - b;
1353                         }
1354                 ""
1355         end
1356         case sub_vec2_ivec2_ivec2
1357                 expect compile_fail
1358
1359                 both ""
1360                         precision mediump float;
1361                         precision mediump int;
1362
1363                         ${DECLARATIONS}
1364
1365                         void main()
1366                         {
1367                                 ivec2 c;
1368                                 vec2 a;
1369                                 ivec2 b;
1370                                 ivec2 c = a - b;
1371                         }
1372                 ""
1373         end
1374         case sub_vec2_ivec3_vec2
1375                 expect compile_fail
1376
1377                 both ""
1378                         precision mediump float;
1379                         precision mediump int;
1380
1381                         ${DECLARATIONS}
1382
1383                         void main()
1384                         {
1385                                 vec2 c;
1386                                 vec2 a;
1387                                 ivec3 b;
1388                                 vec2 c = a - b;
1389                         }
1390                 ""
1391         end
1392         case sub_vec2_ivec3_ivec3
1393                 expect compile_fail
1394
1395                 both ""
1396                         precision mediump float;
1397                         precision mediump int;
1398
1399                         ${DECLARATIONS}
1400
1401                         void main()
1402                         {
1403                                 ivec3 c;
1404                                 vec2 a;
1405                                 ivec3 b;
1406                                 ivec3 c = a - b;
1407                         }
1408                 ""
1409         end
1410         case sub_vec2_ivec4_vec2
1411                 expect compile_fail
1412
1413                 both ""
1414                         precision mediump float;
1415                         precision mediump int;
1416
1417                         ${DECLARATIONS}
1418
1419                         void main()
1420                         {
1421                                 vec2 c;
1422                                 vec2 a;
1423                                 ivec4 b;
1424                                 vec2 c = a - b;
1425                         }
1426                 ""
1427         end
1428         case sub_vec2_ivec4_ivec4
1429                 expect compile_fail
1430
1431                 both ""
1432                         precision mediump float;
1433                         precision mediump int;
1434
1435                         ${DECLARATIONS}
1436
1437                         void main()
1438                         {
1439                                 ivec4 c;
1440                                 vec2 a;
1441                                 ivec4 b;
1442                                 ivec4 c = a - b;
1443                         }
1444                 ""
1445         end
1446         case sub_vec3_int_vec3
1447                 expect compile_fail
1448
1449                 both ""
1450                         precision mediump float;
1451                         precision mediump int;
1452
1453                         ${DECLARATIONS}
1454
1455                         void main()
1456                         {
1457                                 vec3 c;
1458                                 vec3 a;
1459                                 int b;
1460                                 vec3 c = a - b;
1461                         }
1462                 ""
1463         end
1464         case sub_vec3_int_int
1465                 expect compile_fail
1466
1467                 both ""
1468                         precision mediump float;
1469                         precision mediump int;
1470
1471                         ${DECLARATIONS}
1472
1473                         void main()
1474                         {
1475                                 int c;
1476                                 vec3 a;
1477                                 int b;
1478                                 int c = a - b;
1479                         }
1480                 ""
1481         end
1482         case sub_vec3_ivec2_vec3
1483                 expect compile_fail
1484
1485                 both ""
1486                         precision mediump float;
1487                         precision mediump int;
1488
1489                         ${DECLARATIONS}
1490
1491                         void main()
1492                         {
1493                                 vec3 c;
1494                                 vec3 a;
1495                                 ivec2 b;
1496                                 vec3 c = a - b;
1497                         }
1498                 ""
1499         end
1500         case sub_vec3_ivec2_ivec2
1501                 expect compile_fail
1502
1503                 both ""
1504                         precision mediump float;
1505                         precision mediump int;
1506
1507                         ${DECLARATIONS}
1508
1509                         void main()
1510                         {
1511                                 ivec2 c;
1512                                 vec3 a;
1513                                 ivec2 b;
1514                                 ivec2 c = a - b;
1515                         }
1516                 ""
1517         end
1518         case sub_vec3_ivec3_vec3
1519                 expect compile_fail
1520
1521                 both ""
1522                         precision mediump float;
1523                         precision mediump int;
1524
1525                         ${DECLARATIONS}
1526
1527                         void main()
1528                         {
1529                                 vec3 c;
1530                                 vec3 a;
1531                                 ivec3 b;
1532                                 vec3 c = a - b;
1533                         }
1534                 ""
1535         end
1536         case sub_vec3_ivec3_ivec3
1537                 expect compile_fail
1538
1539                 both ""
1540                         precision mediump float;
1541                         precision mediump int;
1542
1543                         ${DECLARATIONS}
1544
1545                         void main()
1546                         {
1547                                 ivec3 c;
1548                                 vec3 a;
1549                                 ivec3 b;
1550                                 ivec3 c = a - b;
1551                         }
1552                 ""
1553         end
1554         case sub_vec3_ivec4_vec3
1555                 expect compile_fail
1556
1557                 both ""
1558                         precision mediump float;
1559                         precision mediump int;
1560
1561                         ${DECLARATIONS}
1562
1563                         void main()
1564                         {
1565                                 vec3 c;
1566                                 vec3 a;
1567                                 ivec4 b;
1568                                 vec3 c = a - b;
1569                         }
1570                 ""
1571         end
1572         case sub_vec3_ivec4_ivec4
1573                 expect compile_fail
1574
1575                 both ""
1576                         precision mediump float;
1577                         precision mediump int;
1578
1579                         ${DECLARATIONS}
1580
1581                         void main()
1582                         {
1583                                 ivec4 c;
1584                                 vec3 a;
1585                                 ivec4 b;
1586                                 ivec4 c = a - b;
1587                         }
1588                 ""
1589         end
1590         case sub_vec4_int_vec4
1591                 expect compile_fail
1592
1593                 both ""
1594                         precision mediump float;
1595                         precision mediump int;
1596
1597                         ${DECLARATIONS}
1598
1599                         void main()
1600                         {
1601                                 vec4 c;
1602                                 vec4 a;
1603                                 int b;
1604                                 vec4 c = a - b;
1605                         }
1606                 ""
1607         end
1608         case sub_vec4_int_int
1609                 expect compile_fail
1610
1611                 both ""
1612                         precision mediump float;
1613                         precision mediump int;
1614
1615                         ${DECLARATIONS}
1616
1617                         void main()
1618                         {
1619                                 int c;
1620                                 vec4 a;
1621                                 int b;
1622                                 int c = a - b;
1623                         }
1624                 ""
1625         end
1626         case sub_vec4_ivec2_vec4
1627                 expect compile_fail
1628
1629                 both ""
1630                         precision mediump float;
1631                         precision mediump int;
1632
1633                         ${DECLARATIONS}
1634
1635                         void main()
1636                         {
1637                                 vec4 c;
1638                                 vec4 a;
1639                                 ivec2 b;
1640                                 vec4 c = a - b;
1641                         }
1642                 ""
1643         end
1644         case sub_vec4_ivec2_ivec2
1645                 expect compile_fail
1646
1647                 both ""
1648                         precision mediump float;
1649                         precision mediump int;
1650
1651                         ${DECLARATIONS}
1652
1653                         void main()
1654                         {
1655                                 ivec2 c;
1656                                 vec4 a;
1657                                 ivec2 b;
1658                                 ivec2 c = a - b;
1659                         }
1660                 ""
1661         end
1662         case sub_vec4_ivec3_vec4
1663                 expect compile_fail
1664
1665                 both ""
1666                         precision mediump float;
1667                         precision mediump int;
1668
1669                         ${DECLARATIONS}
1670
1671                         void main()
1672                         {
1673                                 vec4 c;
1674                                 vec4 a;
1675                                 ivec3 b;
1676                                 vec4 c = a - b;
1677                         }
1678                 ""
1679         end
1680         case sub_vec4_ivec3_ivec3
1681                 expect compile_fail
1682
1683                 both ""
1684                         precision mediump float;
1685                         precision mediump int;
1686
1687                         ${DECLARATIONS}
1688
1689                         void main()
1690                         {
1691                                 ivec3 c;
1692                                 vec4 a;
1693                                 ivec3 b;
1694                                 ivec3 c = a - b;
1695                         }
1696                 ""
1697         end
1698         case sub_vec4_ivec4_vec4
1699                 expect compile_fail
1700
1701                 both ""
1702                         precision mediump float;
1703                         precision mediump int;
1704
1705                         ${DECLARATIONS}
1706
1707                         void main()
1708                         {
1709                                 vec4 c;
1710                                 vec4 a;
1711                                 ivec4 b;
1712                                 vec4 c = a - b;
1713                         }
1714                 ""
1715         end
1716         case sub_vec4_ivec4_ivec4
1717                 expect compile_fail
1718
1719                 both ""
1720                         precision mediump float;
1721                         precision mediump int;
1722
1723                         ${DECLARATIONS}
1724
1725                         void main()
1726                         {
1727                                 ivec4 c;
1728                                 vec4 a;
1729                                 ivec4 b;
1730                                 ivec4 c = a - b;
1731                         }
1732                 ""
1733         end
1734         case div_float_int_float
1735                 expect compile_fail
1736
1737                 both ""
1738                         precision mediump float;
1739                         precision mediump int;
1740
1741                         ${DECLARATIONS}
1742
1743                         void main()
1744                         {
1745                                 float c;
1746                                 float a;
1747                                 int b;
1748                                 float c = a / b;
1749                         }
1750                 ""
1751         end
1752         case div_float_int_int
1753                 expect compile_fail
1754
1755                 both ""
1756                         precision mediump float;
1757                         precision mediump int;
1758
1759                         ${DECLARATIONS}
1760
1761                         void main()
1762                         {
1763                                 int c;
1764                                 float a;
1765                                 int b;
1766                                 int c = a / b;
1767                         }
1768                 ""
1769         end
1770         case div_float_ivec2_float
1771                 expect compile_fail
1772
1773                 both ""
1774                         precision mediump float;
1775                         precision mediump int;
1776
1777                         ${DECLARATIONS}
1778
1779                         void main()
1780                         {
1781                                 float c;
1782                                 float a;
1783                                 ivec2 b;
1784                                 float c = a / b;
1785                         }
1786                 ""
1787         end
1788         case div_float_ivec2_ivec2
1789                 expect compile_fail
1790
1791                 both ""
1792                         precision mediump float;
1793                         precision mediump int;
1794
1795                         ${DECLARATIONS}
1796
1797                         void main()
1798                         {
1799                                 ivec2 c;
1800                                 float a;
1801                                 ivec2 b;
1802                                 ivec2 c = a / b;
1803                         }
1804                 ""
1805         end
1806         case div_float_ivec3_float
1807                 expect compile_fail
1808
1809                 both ""
1810                         precision mediump float;
1811                         precision mediump int;
1812
1813                         ${DECLARATIONS}
1814
1815                         void main()
1816                         {
1817                                 float c;
1818                                 float a;
1819                                 ivec3 b;
1820                                 float c = a / b;
1821                         }
1822                 ""
1823         end
1824         case div_float_ivec3_ivec3
1825                 expect compile_fail
1826
1827                 both ""
1828                         precision mediump float;
1829                         precision mediump int;
1830
1831                         ${DECLARATIONS}
1832
1833                         void main()
1834                         {
1835                                 ivec3 c;
1836                                 float a;
1837                                 ivec3 b;
1838                                 ivec3 c = a / b;
1839                         }
1840                 ""
1841         end
1842         case div_float_ivec4_float
1843                 expect compile_fail
1844
1845                 both ""
1846                         precision mediump float;
1847                         precision mediump int;
1848
1849                         ${DECLARATIONS}
1850
1851                         void main()
1852                         {
1853                                 float c;
1854                                 float a;
1855                                 ivec4 b;
1856                                 float c = a / b;
1857                         }
1858                 ""
1859         end
1860         case div_float_ivec4_ivec4
1861                 expect compile_fail
1862
1863                 both ""
1864                         precision mediump float;
1865                         precision mediump int;
1866
1867                         ${DECLARATIONS}
1868
1869                         void main()
1870                         {
1871                                 ivec4 c;
1872                                 float a;
1873                                 ivec4 b;
1874                                 ivec4 c = a / b;
1875                         }
1876                 ""
1877         end
1878         case div_vec2_int_vec2
1879                 expect compile_fail
1880
1881                 both ""
1882                         precision mediump float;
1883                         precision mediump int;
1884
1885                         ${DECLARATIONS}
1886
1887                         void main()
1888                         {
1889                                 vec2 c;
1890                                 vec2 a;
1891                                 int b;
1892                                 vec2 c = a / b;
1893                         }
1894                 ""
1895         end
1896         case div_vec2_int_int
1897                 expect compile_fail
1898
1899                 both ""
1900                         precision mediump float;
1901                         precision mediump int;
1902
1903                         ${DECLARATIONS}
1904
1905                         void main()
1906                         {
1907                                 int c;
1908                                 vec2 a;
1909                                 int b;
1910                                 int c = a / b;
1911                         }
1912                 ""
1913         end
1914         case div_vec2_ivec2_vec2
1915                 expect compile_fail
1916
1917                 both ""
1918                         precision mediump float;
1919                         precision mediump int;
1920
1921                         ${DECLARATIONS}
1922
1923                         void main()
1924                         {
1925                                 vec2 c;
1926                                 vec2 a;
1927                                 ivec2 b;
1928                                 vec2 c = a / b;
1929                         }
1930                 ""
1931         end
1932         case div_vec2_ivec2_ivec2
1933                 expect compile_fail
1934
1935                 both ""
1936                         precision mediump float;
1937                         precision mediump int;
1938
1939                         ${DECLARATIONS}
1940
1941                         void main()
1942                         {
1943                                 ivec2 c;
1944                                 vec2 a;
1945                                 ivec2 b;
1946                                 ivec2 c = a / b;
1947                         }
1948                 ""
1949         end
1950         case div_vec2_ivec3_vec2
1951                 expect compile_fail
1952
1953                 both ""
1954                         precision mediump float;
1955                         precision mediump int;
1956
1957                         ${DECLARATIONS}
1958
1959                         void main()
1960                         {
1961                                 vec2 c;
1962                                 vec2 a;
1963                                 ivec3 b;
1964                                 vec2 c = a / b;
1965                         }
1966                 ""
1967         end
1968         case div_vec2_ivec3_ivec3
1969                 expect compile_fail
1970
1971                 both ""
1972                         precision mediump float;
1973                         precision mediump int;
1974
1975                         ${DECLARATIONS}
1976
1977                         void main()
1978                         {
1979                                 ivec3 c;
1980                                 vec2 a;
1981                                 ivec3 b;
1982                                 ivec3 c = a / b;
1983                         }
1984                 ""
1985         end
1986         case div_vec2_ivec4_vec2
1987                 expect compile_fail
1988
1989                 both ""
1990                         precision mediump float;
1991                         precision mediump int;
1992
1993                         ${DECLARATIONS}
1994
1995                         void main()
1996                         {
1997                                 vec2 c;
1998                                 vec2 a;
1999                                 ivec4 b;
2000                                 vec2 c = a / b;
2001                         }
2002                 ""
2003         end
2004         case div_vec2_ivec4_ivec4
2005                 expect compile_fail
2006
2007                 both ""
2008                         precision mediump float;
2009                         precision mediump int;
2010
2011                         ${DECLARATIONS}
2012
2013                         void main()
2014                         {
2015                                 ivec4 c;
2016                                 vec2 a;
2017                                 ivec4 b;
2018                                 ivec4 c = a / b;
2019                         }
2020                 ""
2021         end
2022         case div_vec3_int_vec3
2023                 expect compile_fail
2024
2025                 both ""
2026                         precision mediump float;
2027                         precision mediump int;
2028
2029                         ${DECLARATIONS}
2030
2031                         void main()
2032                         {
2033                                 vec3 c;
2034                                 vec3 a;
2035                                 int b;
2036                                 vec3 c = a / b;
2037                         }
2038                 ""
2039         end
2040         case div_vec3_int_int
2041                 expect compile_fail
2042
2043                 both ""
2044                         precision mediump float;
2045                         precision mediump int;
2046
2047                         ${DECLARATIONS}
2048
2049                         void main()
2050                         {
2051                                 int c;
2052                                 vec3 a;
2053                                 int b;
2054                                 int c = a / b;
2055                         }
2056                 ""
2057         end
2058         case div_vec3_ivec2_vec3
2059                 expect compile_fail
2060
2061                 both ""
2062                         precision mediump float;
2063                         precision mediump int;
2064
2065                         ${DECLARATIONS}
2066
2067                         void main()
2068                         {
2069                                 vec3 c;
2070                                 vec3 a;
2071                                 ivec2 b;
2072                                 vec3 c = a / b;
2073                         }
2074                 ""
2075         end
2076         case div_vec3_ivec2_ivec2
2077                 expect compile_fail
2078
2079                 both ""
2080                         precision mediump float;
2081                         precision mediump int;
2082
2083                         ${DECLARATIONS}
2084
2085                         void main()
2086                         {
2087                                 ivec2 c;
2088                                 vec3 a;
2089                                 ivec2 b;
2090                                 ivec2 c = a / b;
2091                         }
2092                 ""
2093         end
2094         case div_vec3_ivec3_vec3
2095                 expect compile_fail
2096
2097                 both ""
2098                         precision mediump float;
2099                         precision mediump int;
2100
2101                         ${DECLARATIONS}
2102
2103                         void main()
2104                         {
2105                                 vec3 c;
2106                                 vec3 a;
2107                                 ivec3 b;
2108                                 vec3 c = a / b;
2109                         }
2110                 ""
2111         end
2112         case div_vec3_ivec3_ivec3
2113                 expect compile_fail
2114
2115                 both ""
2116                         precision mediump float;
2117                         precision mediump int;
2118
2119                         ${DECLARATIONS}
2120
2121                         void main()
2122                         {
2123                                 ivec3 c;
2124                                 vec3 a;
2125                                 ivec3 b;
2126                                 ivec3 c = a / b;
2127                         }
2128                 ""
2129         end
2130         case div_vec3_ivec4_vec3
2131                 expect compile_fail
2132
2133                 both ""
2134                         precision mediump float;
2135                         precision mediump int;
2136
2137                         ${DECLARATIONS}
2138
2139                         void main()
2140                         {
2141                                 vec3 c;
2142                                 vec3 a;
2143                                 ivec4 b;
2144                                 vec3 c = a / b;
2145                         }
2146                 ""
2147         end
2148         case div_vec3_ivec4_ivec4
2149                 expect compile_fail
2150
2151                 both ""
2152                         precision mediump float;
2153                         precision mediump int;
2154
2155                         ${DECLARATIONS}
2156
2157                         void main()
2158                         {
2159                                 ivec4 c;
2160                                 vec3 a;
2161                                 ivec4 b;
2162                                 ivec4 c = a / b;
2163                         }
2164                 ""
2165         end
2166         case div_vec4_int_vec4
2167                 expect compile_fail
2168
2169                 both ""
2170                         precision mediump float;
2171                         precision mediump int;
2172
2173                         ${DECLARATIONS}
2174
2175                         void main()
2176                         {
2177                                 vec4 c;
2178                                 vec4 a;
2179                                 int b;
2180                                 vec4 c = a / b;
2181                         }
2182                 ""
2183         end
2184         case div_vec4_int_int
2185                 expect compile_fail
2186
2187                 both ""
2188                         precision mediump float;
2189                         precision mediump int;
2190
2191                         ${DECLARATIONS}
2192
2193                         void main()
2194                         {
2195                                 int c;
2196                                 vec4 a;
2197                                 int b;
2198                                 int c = a / b;
2199                         }
2200                 ""
2201         end
2202         case div_vec4_ivec2_vec4
2203                 expect compile_fail
2204
2205                 both ""
2206                         precision mediump float;
2207                         precision mediump int;
2208
2209                         ${DECLARATIONS}
2210
2211                         void main()
2212                         {
2213                                 vec4 c;
2214                                 vec4 a;
2215                                 ivec2 b;
2216                                 vec4 c = a / b;
2217                         }
2218                 ""
2219         end
2220         case div_vec4_ivec2_ivec2
2221                 expect compile_fail
2222
2223                 both ""
2224                         precision mediump float;
2225                         precision mediump int;
2226
2227                         ${DECLARATIONS}
2228
2229                         void main()
2230                         {
2231                                 ivec2 c;
2232                                 vec4 a;
2233                                 ivec2 b;
2234                                 ivec2 c = a / b;
2235                         }
2236                 ""
2237         end
2238         case div_vec4_ivec3_vec4
2239                 expect compile_fail
2240
2241                 both ""
2242                         precision mediump float;
2243                         precision mediump int;
2244
2245                         ${DECLARATIONS}
2246
2247                         void main()
2248                         {
2249                                 vec4 c;
2250                                 vec4 a;
2251                                 ivec3 b;
2252                                 vec4 c = a / b;
2253                         }
2254                 ""
2255         end
2256         case div_vec4_ivec3_ivec3
2257                 expect compile_fail
2258
2259                 both ""
2260                         precision mediump float;
2261                         precision mediump int;
2262
2263                         ${DECLARATIONS}
2264
2265                         void main()
2266                         {
2267                                 ivec3 c;
2268                                 vec4 a;
2269                                 ivec3 b;
2270                                 ivec3 c = a / b;
2271                         }
2272                 ""
2273         end
2274         case div_vec4_ivec4_vec4
2275                 expect compile_fail
2276
2277                 both ""
2278                         precision mediump float;
2279                         precision mediump int;
2280
2281                         ${DECLARATIONS}
2282
2283                         void main()
2284                         {
2285                                 vec4 c;
2286                                 vec4 a;
2287                                 ivec4 b;
2288                                 vec4 c = a / b;
2289                         }
2290                 ""
2291         end
2292         case div_vec4_ivec4_ivec4
2293                 expect compile_fail
2294
2295                 both ""
2296                         precision mediump float;
2297                         precision mediump int;
2298
2299                         ${DECLARATIONS}
2300
2301                         void main()
2302                         {
2303                                 ivec4 c;
2304                                 vec4 a;
2305                                 ivec4 b;
2306                                 ivec4 c = a / b;
2307                         }
2308                 ""
2309         end
2310
2311 end # invalid_implicit_conversions