xref: /aosp_15_r20/external/deqp/data/gles2/shaders/invalid_implicit_conversions.test (revision 35238bce31c2a825756842865a792f8cf7f89930)
1# WARNING: This file is auto-generated. Do NOT modify it manually, but rather
2# modify the generating script file. Otherwise changes will be lost!
3
4group invalid_implicit_conversions "Invalid Implicit Conversions"
5
6    case add_float_int_float
7        expect compile_fail
8
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
2311end # invalid_implicit_conversions
2312