Test behaviour of color write enable with colorWriteMask
[platform/upstream/VK-GL-CTS.git] / data / gles3 / shaders / keywords.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 keywords "Usage of keywords as identifiers."
5
6         case const
7                 expect compile_fail
8                 values {}
9                 version 300 es
10
11                 both ""
12                         #version 300 es
13                         precision mediump float;
14                         ${DECLARATIONS}
15
16                         void main()
17                         {
18                                 ${SETUP}
19                                 float const = 1.0;
20                                 ${OUTPUT}
21                         }
22                 ""
23         end
24         case uniform
25                 expect compile_fail
26                 values {}
27                 version 300 es
28
29                 both ""
30                         #version 300 es
31                         precision mediump float;
32                         ${DECLARATIONS}
33
34                         void main()
35                         {
36                                 ${SETUP}
37                                 float uniform = 1.0;
38                                 ${OUTPUT}
39                         }
40                 ""
41         end
42         case layout
43                 expect compile_fail
44                 values {}
45                 version 300 es
46
47                 both ""
48                         #version 300 es
49                         precision mediump float;
50                         ${DECLARATIONS}
51
52                         void main()
53                         {
54                                 ${SETUP}
55                                 float layout = 1.0;
56                                 ${OUTPUT}
57                         }
58                 ""
59         end
60         case centroid
61                 expect compile_fail
62                 values {}
63                 version 300 es
64
65                 both ""
66                         #version 300 es
67                         precision mediump float;
68                         ${DECLARATIONS}
69
70                         void main()
71                         {
72                                 ${SETUP}
73                                 float centroid = 1.0;
74                                 ${OUTPUT}
75                         }
76                 ""
77         end
78         case flat
79                 expect compile_fail
80                 values {}
81                 version 300 es
82
83                 both ""
84                         #version 300 es
85                         precision mediump float;
86                         ${DECLARATIONS}
87
88                         void main()
89                         {
90                                 ${SETUP}
91                                 float flat = 1.0;
92                                 ${OUTPUT}
93                         }
94                 ""
95         end
96         case smooth
97                 expect compile_fail
98                 values {}
99                 version 300 es
100
101                 both ""
102                         #version 300 es
103                         precision mediump float;
104                         ${DECLARATIONS}
105
106                         void main()
107                         {
108                                 ${SETUP}
109                                 float smooth = 1.0;
110                                 ${OUTPUT}
111                         }
112                 ""
113         end
114         case break
115                 expect compile_fail
116                 values {}
117                 version 300 es
118
119                 both ""
120                         #version 300 es
121                         precision mediump float;
122                         ${DECLARATIONS}
123
124                         void main()
125                         {
126                                 ${SETUP}
127                                 float break = 1.0;
128                                 ${OUTPUT}
129                         }
130                 ""
131         end
132         case continue
133                 expect compile_fail
134                 values {}
135                 version 300 es
136
137                 both ""
138                         #version 300 es
139                         precision mediump float;
140                         ${DECLARATIONS}
141
142                         void main()
143                         {
144                                 ${SETUP}
145                                 float continue = 1.0;
146                                 ${OUTPUT}
147                         }
148                 ""
149         end
150         case do
151                 expect compile_fail
152                 values {}
153                 version 300 es
154
155                 both ""
156                         #version 300 es
157                         precision mediump float;
158                         ${DECLARATIONS}
159
160                         void main()
161                         {
162                                 ${SETUP}
163                                 float do = 1.0;
164                                 ${OUTPUT}
165                         }
166                 ""
167         end
168         case for
169                 expect compile_fail
170                 values {}
171                 version 300 es
172
173                 both ""
174                         #version 300 es
175                         precision mediump float;
176                         ${DECLARATIONS}
177
178                         void main()
179                         {
180                                 ${SETUP}
181                                 float for = 1.0;
182                                 ${OUTPUT}
183                         }
184                 ""
185         end
186         case while
187                 expect compile_fail
188                 values {}
189                 version 300 es
190
191                 both ""
192                         #version 300 es
193                         precision mediump float;
194                         ${DECLARATIONS}
195
196                         void main()
197                         {
198                                 ${SETUP}
199                                 float while = 1.0;
200                                 ${OUTPUT}
201                         }
202                 ""
203         end
204         case switch
205                 expect compile_fail
206                 values {}
207                 version 300 es
208
209                 both ""
210                         #version 300 es
211                         precision mediump float;
212                         ${DECLARATIONS}
213
214                         void main()
215                         {
216                                 ${SETUP}
217                                 float switch = 1.0;
218                                 ${OUTPUT}
219                         }
220                 ""
221         end
222         case case
223                 expect compile_fail
224                 values {}
225                 version 300 es
226
227                 both ""
228                         #version 300 es
229                         precision mediump float;
230                         ${DECLARATIONS}
231
232                         void main()
233                         {
234                                 ${SETUP}
235                                 float case = 1.0;
236                                 ${OUTPUT}
237                         }
238                 ""
239         end
240         case default
241                 expect compile_fail
242                 values {}
243                 version 300 es
244
245                 both ""
246                         #version 300 es
247                         precision mediump float;
248                         ${DECLARATIONS}
249
250                         void main()
251                         {
252                                 ${SETUP}
253                                 float default = 1.0;
254                                 ${OUTPUT}
255                         }
256                 ""
257         end
258         case if
259                 expect compile_fail
260                 values {}
261                 version 300 es
262
263                 both ""
264                         #version 300 es
265                         precision mediump float;
266                         ${DECLARATIONS}
267
268                         void main()
269                         {
270                                 ${SETUP}
271                                 float if = 1.0;
272                                 ${OUTPUT}
273                         }
274                 ""
275         end
276         case else
277                 expect compile_fail
278                 values {}
279                 version 300 es
280
281                 both ""
282                         #version 300 es
283                         precision mediump float;
284                         ${DECLARATIONS}
285
286                         void main()
287                         {
288                                 ${SETUP}
289                                 float else = 1.0;
290                                 ${OUTPUT}
291                         }
292                 ""
293         end
294         case in
295                 expect compile_fail
296                 values {}
297                 version 300 es
298
299                 both ""
300                         #version 300 es
301                         precision mediump float;
302                         ${DECLARATIONS}
303
304                         void main()
305                         {
306                                 ${SETUP}
307                                 float in = 1.0;
308                                 ${OUTPUT}
309                         }
310                 ""
311         end
312         case out
313                 expect compile_fail
314                 values {}
315                 version 300 es
316
317                 both ""
318                         #version 300 es
319                         precision mediump float;
320                         ${DECLARATIONS}
321
322                         void main()
323                         {
324                                 ${SETUP}
325                                 float out = 1.0;
326                                 ${OUTPUT}
327                         }
328                 ""
329         end
330         case inout
331                 expect compile_fail
332                 values {}
333                 version 300 es
334
335                 both ""
336                         #version 300 es
337                         precision mediump float;
338                         ${DECLARATIONS}
339
340                         void main()
341                         {
342                                 ${SETUP}
343                                 float inout = 1.0;
344                                 ${OUTPUT}
345                         }
346                 ""
347         end
348         case float
349                 expect compile_fail
350                 values {}
351                 version 300 es
352
353                 both ""
354                         #version 300 es
355                         precision mediump float;
356                         ${DECLARATIONS}
357
358                         void main()
359                         {
360                                 ${SETUP}
361                                 float float = 1.0;
362                                 ${OUTPUT}
363                         }
364                 ""
365         end
366         case int
367                 expect compile_fail
368                 values {}
369                 version 300 es
370
371                 both ""
372                         #version 300 es
373                         precision mediump float;
374                         ${DECLARATIONS}
375
376                         void main()
377                         {
378                                 ${SETUP}
379                                 float int = 1.0;
380                                 ${OUTPUT}
381                         }
382                 ""
383         end
384         case void
385                 expect compile_fail
386                 values {}
387                 version 300 es
388
389                 both ""
390                         #version 300 es
391                         precision mediump float;
392                         ${DECLARATIONS}
393
394                         void main()
395                         {
396                                 ${SETUP}
397                                 float void = 1.0;
398                                 ${OUTPUT}
399                         }
400                 ""
401         end
402         case bool
403                 expect compile_fail
404                 values {}
405                 version 300 es
406
407                 both ""
408                         #version 300 es
409                         precision mediump float;
410                         ${DECLARATIONS}
411
412                         void main()
413                         {
414                                 ${SETUP}
415                                 float bool = 1.0;
416                                 ${OUTPUT}
417                         }
418                 ""
419         end
420         case true
421                 expect compile_fail
422                 values {}
423                 version 300 es
424
425                 both ""
426                         #version 300 es
427                         precision mediump float;
428                         ${DECLARATIONS}
429
430                         void main()
431                         {
432                                 ${SETUP}
433                                 float true = 1.0;
434                                 ${OUTPUT}
435                         }
436                 ""
437         end
438         case false
439                 expect compile_fail
440                 values {}
441                 version 300 es
442
443                 both ""
444                         #version 300 es
445                         precision mediump float;
446                         ${DECLARATIONS}
447
448                         void main()
449                         {
450                                 ${SETUP}
451                                 float false = 1.0;
452                                 ${OUTPUT}
453                         }
454                 ""
455         end
456         case invariant
457                 expect compile_fail
458                 values {}
459                 version 300 es
460
461                 both ""
462                         #version 300 es
463                         precision mediump float;
464                         ${DECLARATIONS}
465
466                         void main()
467                         {
468                                 ${SETUP}
469                                 float invariant = 1.0;
470                                 ${OUTPUT}
471                         }
472                 ""
473         end
474         case discard
475                 expect compile_fail
476                 values {}
477                 version 300 es
478
479                 both ""
480                         #version 300 es
481                         precision mediump float;
482                         ${DECLARATIONS}
483
484                         void main()
485                         {
486                                 ${SETUP}
487                                 float discard = 1.0;
488                                 ${OUTPUT}
489                         }
490                 ""
491         end
492         case return
493                 expect compile_fail
494                 values {}
495                 version 300 es
496
497                 both ""
498                         #version 300 es
499                         precision mediump float;
500                         ${DECLARATIONS}
501
502                         void main()
503                         {
504                                 ${SETUP}
505                                 float return = 1.0;
506                                 ${OUTPUT}
507                         }
508                 ""
509         end
510         case mat2
511                 expect compile_fail
512                 values {}
513                 version 300 es
514
515                 both ""
516                         #version 300 es
517                         precision mediump float;
518                         ${DECLARATIONS}
519
520                         void main()
521                         {
522                                 ${SETUP}
523                                 float mat2 = 1.0;
524                                 ${OUTPUT}
525                         }
526                 ""
527         end
528         case mat3
529                 expect compile_fail
530                 values {}
531                 version 300 es
532
533                 both ""
534                         #version 300 es
535                         precision mediump float;
536                         ${DECLARATIONS}
537
538                         void main()
539                         {
540                                 ${SETUP}
541                                 float mat3 = 1.0;
542                                 ${OUTPUT}
543                         }
544                 ""
545         end
546         case mat4
547                 expect compile_fail
548                 values {}
549                 version 300 es
550
551                 both ""
552                         #version 300 es
553                         precision mediump float;
554                         ${DECLARATIONS}
555
556                         void main()
557                         {
558                                 ${SETUP}
559                                 float mat4 = 1.0;
560                                 ${OUTPUT}
561                         }
562                 ""
563         end
564         case mat2x2
565                 expect compile_fail
566                 values {}
567                 version 300 es
568
569                 both ""
570                         #version 300 es
571                         precision mediump float;
572                         ${DECLARATIONS}
573
574                         void main()
575                         {
576                                 ${SETUP}
577                                 float mat2x2 = 1.0;
578                                 ${OUTPUT}
579                         }
580                 ""
581         end
582         case mat2x3
583                 expect compile_fail
584                 values {}
585                 version 300 es
586
587                 both ""
588                         #version 300 es
589                         precision mediump float;
590                         ${DECLARATIONS}
591
592                         void main()
593                         {
594                                 ${SETUP}
595                                 float mat2x3 = 1.0;
596                                 ${OUTPUT}
597                         }
598                 ""
599         end
600         case mat2x4
601                 expect compile_fail
602                 values {}
603                 version 300 es
604
605                 both ""
606                         #version 300 es
607                         precision mediump float;
608                         ${DECLARATIONS}
609
610                         void main()
611                         {
612                                 ${SETUP}
613                                 float mat2x4 = 1.0;
614                                 ${OUTPUT}
615                         }
616                 ""
617         end
618         case mat3x2
619                 expect compile_fail
620                 values {}
621                 version 300 es
622
623                 both ""
624                         #version 300 es
625                         precision mediump float;
626                         ${DECLARATIONS}
627
628                         void main()
629                         {
630                                 ${SETUP}
631                                 float mat3x2 = 1.0;
632                                 ${OUTPUT}
633                         }
634                 ""
635         end
636         case mat3x3
637                 expect compile_fail
638                 values {}
639                 version 300 es
640
641                 both ""
642                         #version 300 es
643                         precision mediump float;
644                         ${DECLARATIONS}
645
646                         void main()
647                         {
648                                 ${SETUP}
649                                 float mat3x3 = 1.0;
650                                 ${OUTPUT}
651                         }
652                 ""
653         end
654         case mat3x4
655                 expect compile_fail
656                 values {}
657                 version 300 es
658
659                 both ""
660                         #version 300 es
661                         precision mediump float;
662                         ${DECLARATIONS}
663
664                         void main()
665                         {
666                                 ${SETUP}
667                                 float mat3x4 = 1.0;
668                                 ${OUTPUT}
669                         }
670                 ""
671         end
672         case mat4x2
673                 expect compile_fail
674                 values {}
675                 version 300 es
676
677                 both ""
678                         #version 300 es
679                         precision mediump float;
680                         ${DECLARATIONS}
681
682                         void main()
683                         {
684                                 ${SETUP}
685                                 float mat4x2 = 1.0;
686                                 ${OUTPUT}
687                         }
688                 ""
689         end
690         case mat4x3
691                 expect compile_fail
692                 values {}
693                 version 300 es
694
695                 both ""
696                         #version 300 es
697                         precision mediump float;
698                         ${DECLARATIONS}
699
700                         void main()
701                         {
702                                 ${SETUP}
703                                 float mat4x3 = 1.0;
704                                 ${OUTPUT}
705                         }
706                 ""
707         end
708         case mat4x4
709                 expect compile_fail
710                 values {}
711                 version 300 es
712
713                 both ""
714                         #version 300 es
715                         precision mediump float;
716                         ${DECLARATIONS}
717
718                         void main()
719                         {
720                                 ${SETUP}
721                                 float mat4x4 = 1.0;
722                                 ${OUTPUT}
723                         }
724                 ""
725         end
726         case vec2
727                 expect compile_fail
728                 values {}
729                 version 300 es
730
731                 both ""
732                         #version 300 es
733                         precision mediump float;
734                         ${DECLARATIONS}
735
736                         void main()
737                         {
738                                 ${SETUP}
739                                 float vec2 = 1.0;
740                                 ${OUTPUT}
741                         }
742                 ""
743         end
744         case vec3
745                 expect compile_fail
746                 values {}
747                 version 300 es
748
749                 both ""
750                         #version 300 es
751                         precision mediump float;
752                         ${DECLARATIONS}
753
754                         void main()
755                         {
756                                 ${SETUP}
757                                 float vec3 = 1.0;
758                                 ${OUTPUT}
759                         }
760                 ""
761         end
762         case vec4
763                 expect compile_fail
764                 values {}
765                 version 300 es
766
767                 both ""
768                         #version 300 es
769                         precision mediump float;
770                         ${DECLARATIONS}
771
772                         void main()
773                         {
774                                 ${SETUP}
775                                 float vec4 = 1.0;
776                                 ${OUTPUT}
777                         }
778                 ""
779         end
780         case ivec2
781                 expect compile_fail
782                 values {}
783                 version 300 es
784
785                 both ""
786                         #version 300 es
787                         precision mediump float;
788                         ${DECLARATIONS}
789
790                         void main()
791                         {
792                                 ${SETUP}
793                                 float ivec2 = 1.0;
794                                 ${OUTPUT}
795                         }
796                 ""
797         end
798         case ivec3
799                 expect compile_fail
800                 values {}
801                 version 300 es
802
803                 both ""
804                         #version 300 es
805                         precision mediump float;
806                         ${DECLARATIONS}
807
808                         void main()
809                         {
810                                 ${SETUP}
811                                 float ivec3 = 1.0;
812                                 ${OUTPUT}
813                         }
814                 ""
815         end
816         case ivec4
817                 expect compile_fail
818                 values {}
819                 version 300 es
820
821                 both ""
822                         #version 300 es
823                         precision mediump float;
824                         ${DECLARATIONS}
825
826                         void main()
827                         {
828                                 ${SETUP}
829                                 float ivec4 = 1.0;
830                                 ${OUTPUT}
831                         }
832                 ""
833         end
834         case bvec2
835                 expect compile_fail
836                 values {}
837                 version 300 es
838
839                 both ""
840                         #version 300 es
841                         precision mediump float;
842                         ${DECLARATIONS}
843
844                         void main()
845                         {
846                                 ${SETUP}
847                                 float bvec2 = 1.0;
848                                 ${OUTPUT}
849                         }
850                 ""
851         end
852         case bvec3
853                 expect compile_fail
854                 values {}
855                 version 300 es
856
857                 both ""
858                         #version 300 es
859                         precision mediump float;
860                         ${DECLARATIONS}
861
862                         void main()
863                         {
864                                 ${SETUP}
865                                 float bvec3 = 1.0;
866                                 ${OUTPUT}
867                         }
868                 ""
869         end
870         case bvec4
871                 expect compile_fail
872                 values {}
873                 version 300 es
874
875                 both ""
876                         #version 300 es
877                         precision mediump float;
878                         ${DECLARATIONS}
879
880                         void main()
881                         {
882                                 ${SETUP}
883                                 float bvec4 = 1.0;
884                                 ${OUTPUT}
885                         }
886                 ""
887         end
888         case uint
889                 expect compile_fail
890                 values {}
891                 version 300 es
892
893                 both ""
894                         #version 300 es
895                         precision mediump float;
896                         ${DECLARATIONS}
897
898                         void main()
899                         {
900                                 ${SETUP}
901                                 float uint = 1.0;
902                                 ${OUTPUT}
903                         }
904                 ""
905         end
906         case uvec2
907                 expect compile_fail
908                 values {}
909                 version 300 es
910
911                 both ""
912                         #version 300 es
913                         precision mediump float;
914                         ${DECLARATIONS}
915
916                         void main()
917                         {
918                                 ${SETUP}
919                                 float uvec2 = 1.0;
920                                 ${OUTPUT}
921                         }
922                 ""
923         end
924         case uvec3
925                 expect compile_fail
926                 values {}
927                 version 300 es
928
929                 both ""
930                         #version 300 es
931                         precision mediump float;
932                         ${DECLARATIONS}
933
934                         void main()
935                         {
936                                 ${SETUP}
937                                 float uvec3 = 1.0;
938                                 ${OUTPUT}
939                         }
940                 ""
941         end
942         case uvec4
943                 expect compile_fail
944                 values {}
945                 version 300 es
946
947                 both ""
948                         #version 300 es
949                         precision mediump float;
950                         ${DECLARATIONS}
951
952                         void main()
953                         {
954                                 ${SETUP}
955                                 float uvec4 = 1.0;
956                                 ${OUTPUT}
957                         }
958                 ""
959         end
960         case lowp
961                 expect compile_fail
962                 values {}
963                 version 300 es
964
965                 both ""
966                         #version 300 es
967                         precision mediump float;
968                         ${DECLARATIONS}
969
970                         void main()
971                         {
972                                 ${SETUP}
973                                 float lowp = 1.0;
974                                 ${OUTPUT}
975                         }
976                 ""
977         end
978         case mediump
979                 expect compile_fail
980                 values {}
981                 version 300 es
982
983                 both ""
984                         #version 300 es
985                         precision mediump float;
986                         ${DECLARATIONS}
987
988                         void main()
989                         {
990                                 ${SETUP}
991                                 float mediump = 1.0;
992                                 ${OUTPUT}
993                         }
994                 ""
995         end
996         case highp
997                 expect compile_fail
998                 values {}
999                 version 300 es
1000
1001                 both ""
1002                         #version 300 es
1003                         precision mediump float;
1004                         ${DECLARATIONS}
1005
1006                         void main()
1007                         {
1008                                 ${SETUP}
1009                                 float highp = 1.0;
1010                                 ${OUTPUT}
1011                         }
1012                 ""
1013         end
1014         case precision
1015                 expect compile_fail
1016                 values {}
1017                 version 300 es
1018
1019                 both ""
1020                         #version 300 es
1021                         precision mediump float;
1022                         ${DECLARATIONS}
1023
1024                         void main()
1025                         {
1026                                 ${SETUP}
1027                                 float precision = 1.0;
1028                                 ${OUTPUT}
1029                         }
1030                 ""
1031         end
1032         case sampler2D
1033                 expect compile_fail
1034                 values {}
1035                 version 300 es
1036
1037                 both ""
1038                         #version 300 es
1039                         precision mediump float;
1040                         ${DECLARATIONS}
1041
1042                         void main()
1043                         {
1044                                 ${SETUP}
1045                                 float sampler2D = 1.0;
1046                                 ${OUTPUT}
1047                         }
1048                 ""
1049         end
1050         case sampler3D
1051                 expect compile_fail
1052                 values {}
1053                 version 300 es
1054
1055                 both ""
1056                         #version 300 es
1057                         precision mediump float;
1058                         ${DECLARATIONS}
1059
1060                         void main()
1061                         {
1062                                 ${SETUP}
1063                                 float sampler3D = 1.0;
1064                                 ${OUTPUT}
1065                         }
1066                 ""
1067         end
1068         case samplerCube
1069                 expect compile_fail
1070                 values {}
1071                 version 300 es
1072
1073                 both ""
1074                         #version 300 es
1075                         precision mediump float;
1076                         ${DECLARATIONS}
1077
1078                         void main()
1079                         {
1080                                 ${SETUP}
1081                                 float samplerCube = 1.0;
1082                                 ${OUTPUT}
1083                         }
1084                 ""
1085         end
1086         case sampler2DShadow
1087                 expect compile_fail
1088                 values {}
1089                 version 300 es
1090
1091                 both ""
1092                         #version 300 es
1093                         precision mediump float;
1094                         ${DECLARATIONS}
1095
1096                         void main()
1097                         {
1098                                 ${SETUP}
1099                                 float sampler2DShadow = 1.0;
1100                                 ${OUTPUT}
1101                         }
1102                 ""
1103         end
1104         case samplerCubeShadow
1105                 expect compile_fail
1106                 values {}
1107                 version 300 es
1108
1109                 both ""
1110                         #version 300 es
1111                         precision mediump float;
1112                         ${DECLARATIONS}
1113
1114                         void main()
1115                         {
1116                                 ${SETUP}
1117                                 float samplerCubeShadow = 1.0;
1118                                 ${OUTPUT}
1119                         }
1120                 ""
1121         end
1122         case sampler2DArray
1123                 expect compile_fail
1124                 values {}
1125                 version 300 es
1126
1127                 both ""
1128                         #version 300 es
1129                         precision mediump float;
1130                         ${DECLARATIONS}
1131
1132                         void main()
1133                         {
1134                                 ${SETUP}
1135                                 float sampler2DArray = 1.0;
1136                                 ${OUTPUT}
1137                         }
1138                 ""
1139         end
1140         case sampler2DArrayShadow
1141                 expect compile_fail
1142                 values {}
1143                 version 300 es
1144
1145                 both ""
1146                         #version 300 es
1147                         precision mediump float;
1148                         ${DECLARATIONS}
1149
1150                         void main()
1151                         {
1152                                 ${SETUP}
1153                                 float sampler2DArrayShadow = 1.0;
1154                                 ${OUTPUT}
1155                         }
1156                 ""
1157         end
1158         case isampler2D
1159                 expect compile_fail
1160                 values {}
1161                 version 300 es
1162
1163                 both ""
1164                         #version 300 es
1165                         precision mediump float;
1166                         ${DECLARATIONS}
1167
1168                         void main()
1169                         {
1170                                 ${SETUP}
1171                                 float isampler2D = 1.0;
1172                                 ${OUTPUT}
1173                         }
1174                 ""
1175         end
1176         case isampler3D
1177                 expect compile_fail
1178                 values {}
1179                 version 300 es
1180
1181                 both ""
1182                         #version 300 es
1183                         precision mediump float;
1184                         ${DECLARATIONS}
1185
1186                         void main()
1187                         {
1188                                 ${SETUP}
1189                                 float isampler3D = 1.0;
1190                                 ${OUTPUT}
1191                         }
1192                 ""
1193         end
1194         case isamplerCube
1195                 expect compile_fail
1196                 values {}
1197                 version 300 es
1198
1199                 both ""
1200                         #version 300 es
1201                         precision mediump float;
1202                         ${DECLARATIONS}
1203
1204                         void main()
1205                         {
1206                                 ${SETUP}
1207                                 float isamplerCube = 1.0;
1208                                 ${OUTPUT}
1209                         }
1210                 ""
1211         end
1212         case isampler2DArray
1213                 expect compile_fail
1214                 values {}
1215                 version 300 es
1216
1217                 both ""
1218                         #version 300 es
1219                         precision mediump float;
1220                         ${DECLARATIONS}
1221
1222                         void main()
1223                         {
1224                                 ${SETUP}
1225                                 float isampler2DArray = 1.0;
1226                                 ${OUTPUT}
1227                         }
1228                 ""
1229         end
1230         case usampler2D
1231                 expect compile_fail
1232                 values {}
1233                 version 300 es
1234
1235                 both ""
1236                         #version 300 es
1237                         precision mediump float;
1238                         ${DECLARATIONS}
1239
1240                         void main()
1241                         {
1242                                 ${SETUP}
1243                                 float usampler2D = 1.0;
1244                                 ${OUTPUT}
1245                         }
1246                 ""
1247         end
1248         case usampler3D
1249                 expect compile_fail
1250                 values {}
1251                 version 300 es
1252
1253                 both ""
1254                         #version 300 es
1255                         precision mediump float;
1256                         ${DECLARATIONS}
1257
1258                         void main()
1259                         {
1260                                 ${SETUP}
1261                                 float usampler3D = 1.0;
1262                                 ${OUTPUT}
1263                         }
1264                 ""
1265         end
1266         case usamplerCube
1267                 expect compile_fail
1268                 values {}
1269                 version 300 es
1270
1271                 both ""
1272                         #version 300 es
1273                         precision mediump float;
1274                         ${DECLARATIONS}
1275
1276                         void main()
1277                         {
1278                                 ${SETUP}
1279                                 float usamplerCube = 1.0;
1280                                 ${OUTPUT}
1281                         }
1282                 ""
1283         end
1284         case usampler2DArray
1285                 expect compile_fail
1286                 values {}
1287                 version 300 es
1288
1289                 both ""
1290                         #version 300 es
1291                         precision mediump float;
1292                         ${DECLARATIONS}
1293
1294                         void main()
1295                         {
1296                                 ${SETUP}
1297                                 float usampler2DArray = 1.0;
1298                                 ${OUTPUT}
1299                         }
1300                 ""
1301         end
1302         case struct
1303                 expect compile_fail
1304                 values {}
1305                 version 300 es
1306
1307                 both ""
1308                         #version 300 es
1309                         precision mediump float;
1310                         ${DECLARATIONS}
1311
1312                         void main()
1313                         {
1314                                 ${SETUP}
1315                                 float struct = 1.0;
1316                                 ${OUTPUT}
1317                         }
1318                 ""
1319         end
1320
1321 end # keywords
1322 group reserved_keywords "Usage of reserved keywords as identifiers."
1323
1324         case attribute
1325                 expect compile_fail
1326                 values {}
1327                 version 300 es
1328
1329                 both ""
1330                         #version 300 es
1331                         precision mediump float;
1332                         ${DECLARATIONS}
1333
1334                         void main()
1335                         {
1336                                 ${SETUP}
1337                                 float attribute = 1.0;
1338                                 ${OUTPUT}
1339                         }
1340                 ""
1341         end
1342         case varying
1343                 expect compile_fail
1344                 values {}
1345                 version 300 es
1346
1347                 both ""
1348                         #version 300 es
1349                         precision mediump float;
1350                         ${DECLARATIONS}
1351
1352                         void main()
1353                         {
1354                                 ${SETUP}
1355                                 float varying = 1.0;
1356                                 ${OUTPUT}
1357                         }
1358                 ""
1359         end
1360         case coherent
1361                 expect compile_fail
1362                 values {}
1363                 version 300 es
1364
1365                 both ""
1366                         #version 300 es
1367                         precision mediump float;
1368                         ${DECLARATIONS}
1369
1370                         void main()
1371                         {
1372                                 ${SETUP}
1373                                 float coherent = 1.0;
1374                                 ${OUTPUT}
1375                         }
1376                 ""
1377         end
1378         case restrict
1379                 expect compile_fail
1380                 values {}
1381                 version 300 es
1382
1383                 both ""
1384                         #version 300 es
1385                         precision mediump float;
1386                         ${DECLARATIONS}
1387
1388                         void main()
1389                         {
1390                                 ${SETUP}
1391                                 float restrict = 1.0;
1392                                 ${OUTPUT}
1393                         }
1394                 ""
1395         end
1396         case readonly
1397                 expect compile_fail
1398                 values {}
1399                 version 300 es
1400
1401                 both ""
1402                         #version 300 es
1403                         precision mediump float;
1404                         ${DECLARATIONS}
1405
1406                         void main()
1407                         {
1408                                 ${SETUP}
1409                                 float readonly = 1.0;
1410                                 ${OUTPUT}
1411                         }
1412                 ""
1413         end
1414         case writeonly
1415                 expect compile_fail
1416                 values {}
1417                 version 300 es
1418
1419                 both ""
1420                         #version 300 es
1421                         precision mediump float;
1422                         ${DECLARATIONS}
1423
1424                         void main()
1425                         {
1426                                 ${SETUP}
1427                                 float writeonly = 1.0;
1428                                 ${OUTPUT}
1429                         }
1430                 ""
1431         end
1432         case resource
1433                 expect compile_fail
1434                 values {}
1435                 version 300 es
1436
1437                 both ""
1438                         #version 300 es
1439                         precision mediump float;
1440                         ${DECLARATIONS}
1441
1442                         void main()
1443                         {
1444                                 ${SETUP}
1445                                 float resource = 1.0;
1446                                 ${OUTPUT}
1447                         }
1448                 ""
1449         end
1450         case atomic_uint
1451                 expect compile_fail
1452                 values {}
1453                 version 300 es
1454
1455                 both ""
1456                         #version 300 es
1457                         precision mediump float;
1458                         ${DECLARATIONS}
1459
1460                         void main()
1461                         {
1462                                 ${SETUP}
1463                                 float atomic_uint = 1.0;
1464                                 ${OUTPUT}
1465                         }
1466                 ""
1467         end
1468         case noperspective
1469                 expect compile_fail
1470                 values {}
1471                 version 300 es
1472
1473                 both ""
1474                         #version 300 es
1475                         precision mediump float;
1476                         ${DECLARATIONS}
1477
1478                         void main()
1479                         {
1480                                 ${SETUP}
1481                                 float noperspective = 1.0;
1482                                 ${OUTPUT}
1483                         }
1484                 ""
1485         end
1486         case patch
1487                 expect compile_fail
1488                 values {}
1489                 version 300 es
1490
1491                 both ""
1492                         #version 300 es
1493                         precision mediump float;
1494                         ${DECLARATIONS}
1495
1496                         void main()
1497                         {
1498                                 ${SETUP}
1499                                 float patch = 1.0;
1500                                 ${OUTPUT}
1501                         }
1502                 ""
1503         end
1504         case sample
1505                 expect compile_fail
1506                 values {}
1507                 version 300 es
1508
1509                 both ""
1510                         #version 300 es
1511                         precision mediump float;
1512                         ${DECLARATIONS}
1513
1514                         void main()
1515                         {
1516                                 ${SETUP}
1517                                 float sample = 1.0;
1518                                 ${OUTPUT}
1519                         }
1520                 ""
1521         end
1522         case subroutine
1523                 expect compile_fail
1524                 values {}
1525                 version 300 es
1526
1527                 both ""
1528                         #version 300 es
1529                         precision mediump float;
1530                         ${DECLARATIONS}
1531
1532                         void main()
1533                         {
1534                                 ${SETUP}
1535                                 float subroutine = 1.0;
1536                                 ${OUTPUT}
1537                         }
1538                 ""
1539         end
1540         case common
1541                 expect compile_fail
1542                 values {}
1543                 version 300 es
1544
1545                 both ""
1546                         #version 300 es
1547                         precision mediump float;
1548                         ${DECLARATIONS}
1549
1550                         void main()
1551                         {
1552                                 ${SETUP}
1553                                 float common = 1.0;
1554                                 ${OUTPUT}
1555                         }
1556                 ""
1557         end
1558         case partition
1559                 expect compile_fail
1560                 values {}
1561                 version 300 es
1562
1563                 both ""
1564                         #version 300 es
1565                         precision mediump float;
1566                         ${DECLARATIONS}
1567
1568                         void main()
1569                         {
1570                                 ${SETUP}
1571                                 float partition = 1.0;
1572                                 ${OUTPUT}
1573                         }
1574                 ""
1575         end
1576         case active
1577                 expect compile_fail
1578                 values {}
1579                 version 300 es
1580
1581                 both ""
1582                         #version 300 es
1583                         precision mediump float;
1584                         ${DECLARATIONS}
1585
1586                         void main()
1587                         {
1588                                 ${SETUP}
1589                                 float active = 1.0;
1590                                 ${OUTPUT}
1591                         }
1592                 ""
1593         end
1594         case asm
1595                 expect compile_fail
1596                 values {}
1597                 version 300 es
1598
1599                 both ""
1600                         #version 300 es
1601                         precision mediump float;
1602                         ${DECLARATIONS}
1603
1604                         void main()
1605                         {
1606                                 ${SETUP}
1607                                 float asm = 1.0;
1608                                 ${OUTPUT}
1609                         }
1610                 ""
1611         end
1612         case class
1613                 expect compile_fail
1614                 values {}
1615                 version 300 es
1616
1617                 both ""
1618                         #version 300 es
1619                         precision mediump float;
1620                         ${DECLARATIONS}
1621
1622                         void main()
1623                         {
1624                                 ${SETUP}
1625                                 float class = 1.0;
1626                                 ${OUTPUT}
1627                         }
1628                 ""
1629         end
1630         case union
1631                 expect compile_fail
1632                 values {}
1633                 version 300 es
1634
1635                 both ""
1636                         #version 300 es
1637                         precision mediump float;
1638                         ${DECLARATIONS}
1639
1640                         void main()
1641                         {
1642                                 ${SETUP}
1643                                 float union = 1.0;
1644                                 ${OUTPUT}
1645                         }
1646                 ""
1647         end
1648         case enum
1649                 expect compile_fail
1650                 values {}
1651                 version 300 es
1652
1653                 both ""
1654                         #version 300 es
1655                         precision mediump float;
1656                         ${DECLARATIONS}
1657
1658                         void main()
1659                         {
1660                                 ${SETUP}
1661                                 float enum = 1.0;
1662                                 ${OUTPUT}
1663                         }
1664                 ""
1665         end
1666         case typedef
1667                 expect compile_fail
1668                 values {}
1669                 version 300 es
1670
1671                 both ""
1672                         #version 300 es
1673                         precision mediump float;
1674                         ${DECLARATIONS}
1675
1676                         void main()
1677                         {
1678                                 ${SETUP}
1679                                 float typedef = 1.0;
1680                                 ${OUTPUT}
1681                         }
1682                 ""
1683         end
1684         case template
1685                 expect compile_fail
1686                 values {}
1687                 version 300 es
1688
1689                 both ""
1690                         #version 300 es
1691                         precision mediump float;
1692                         ${DECLARATIONS}
1693
1694                         void main()
1695                         {
1696                                 ${SETUP}
1697                                 float template = 1.0;
1698                                 ${OUTPUT}
1699                         }
1700                 ""
1701         end
1702         case this
1703                 expect compile_fail
1704                 values {}
1705                 version 300 es
1706
1707                 both ""
1708                         #version 300 es
1709                         precision mediump float;
1710                         ${DECLARATIONS}
1711
1712                         void main()
1713                         {
1714                                 ${SETUP}
1715                                 float this = 1.0;
1716                                 ${OUTPUT}
1717                         }
1718                 ""
1719         end
1720         case goto
1721                 expect compile_fail
1722                 values {}
1723                 version 300 es
1724
1725                 both ""
1726                         #version 300 es
1727                         precision mediump float;
1728                         ${DECLARATIONS}
1729
1730                         void main()
1731                         {
1732                                 ${SETUP}
1733                                 float goto = 1.0;
1734                                 ${OUTPUT}
1735                         }
1736                 ""
1737         end
1738         case inline
1739                 expect compile_fail
1740                 values {}
1741                 version 300 es
1742
1743                 both ""
1744                         #version 300 es
1745                         precision mediump float;
1746                         ${DECLARATIONS}
1747
1748                         void main()
1749                         {
1750                                 ${SETUP}
1751                                 float inline = 1.0;
1752                                 ${OUTPUT}
1753                         }
1754                 ""
1755         end
1756         case noinline
1757                 expect compile_fail
1758                 values {}
1759                 version 300 es
1760
1761                 both ""
1762                         #version 300 es
1763                         precision mediump float;
1764                         ${DECLARATIONS}
1765
1766                         void main()
1767                         {
1768                                 ${SETUP}
1769                                 float noinline = 1.0;
1770                                 ${OUTPUT}
1771                         }
1772                 ""
1773         end
1774         case volatile
1775                 expect compile_fail
1776                 values {}
1777                 version 300 es
1778
1779                 both ""
1780                         #version 300 es
1781                         precision mediump float;
1782                         ${DECLARATIONS}
1783
1784                         void main()
1785                         {
1786                                 ${SETUP}
1787                                 float volatile = 1.0;
1788                                 ${OUTPUT}
1789                         }
1790                 ""
1791         end
1792         case public
1793                 expect compile_fail
1794                 values {}
1795                 version 300 es
1796
1797                 both ""
1798                         #version 300 es
1799                         precision mediump float;
1800                         ${DECLARATIONS}
1801
1802                         void main()
1803                         {
1804                                 ${SETUP}
1805                                 float public = 1.0;
1806                                 ${OUTPUT}
1807                         }
1808                 ""
1809         end
1810         case static
1811                 expect compile_fail
1812                 values {}
1813                 version 300 es
1814
1815                 both ""
1816                         #version 300 es
1817                         precision mediump float;
1818                         ${DECLARATIONS}
1819
1820                         void main()
1821                         {
1822                                 ${SETUP}
1823                                 float static = 1.0;
1824                                 ${OUTPUT}
1825                         }
1826                 ""
1827         end
1828         case extern
1829                 expect compile_fail
1830                 values {}
1831                 version 300 es
1832
1833                 both ""
1834                         #version 300 es
1835                         precision mediump float;
1836                         ${DECLARATIONS}
1837
1838                         void main()
1839                         {
1840                                 ${SETUP}
1841                                 float extern = 1.0;
1842                                 ${OUTPUT}
1843                         }
1844                 ""
1845         end
1846         case external
1847                 expect compile_fail
1848                 values {}
1849                 version 300 es
1850
1851                 both ""
1852                         #version 300 es
1853                         precision mediump float;
1854                         ${DECLARATIONS}
1855
1856                         void main()
1857                         {
1858                                 ${SETUP}
1859                                 float external = 1.0;
1860                                 ${OUTPUT}
1861                         }
1862                 ""
1863         end
1864         case interface
1865                 expect compile_fail
1866                 values {}
1867                 version 300 es
1868
1869                 both ""
1870                         #version 300 es
1871                         precision mediump float;
1872                         ${DECLARATIONS}
1873
1874                         void main()
1875                         {
1876                                 ${SETUP}
1877                                 float interface = 1.0;
1878                                 ${OUTPUT}
1879                         }
1880                 ""
1881         end
1882         case long
1883                 expect compile_fail
1884                 values {}
1885                 version 300 es
1886
1887                 both ""
1888                         #version 300 es
1889                         precision mediump float;
1890                         ${DECLARATIONS}
1891
1892                         void main()
1893                         {
1894                                 ${SETUP}
1895                                 float long = 1.0;
1896                                 ${OUTPUT}
1897                         }
1898                 ""
1899         end
1900         case short
1901                 expect compile_fail
1902                 values {}
1903                 version 300 es
1904
1905                 both ""
1906                         #version 300 es
1907                         precision mediump float;
1908                         ${DECLARATIONS}
1909
1910                         void main()
1911                         {
1912                                 ${SETUP}
1913                                 float short = 1.0;
1914                                 ${OUTPUT}
1915                         }
1916                 ""
1917         end
1918         case double
1919                 expect compile_fail
1920                 values {}
1921                 version 300 es
1922
1923                 both ""
1924                         #version 300 es
1925                         precision mediump float;
1926                         ${DECLARATIONS}
1927
1928                         void main()
1929                         {
1930                                 ${SETUP}
1931                                 float double = 1.0;
1932                                 ${OUTPUT}
1933                         }
1934                 ""
1935         end
1936         case half
1937                 expect compile_fail
1938                 values {}
1939                 version 300 es
1940
1941                 both ""
1942                         #version 300 es
1943                         precision mediump float;
1944                         ${DECLARATIONS}
1945
1946                         void main()
1947                         {
1948                                 ${SETUP}
1949                                 float half = 1.0;
1950                                 ${OUTPUT}
1951                         }
1952                 ""
1953         end
1954         case fixed
1955                 expect compile_fail
1956                 values {}
1957                 version 300 es
1958
1959                 both ""
1960                         #version 300 es
1961                         precision mediump float;
1962                         ${DECLARATIONS}
1963
1964                         void main()
1965                         {
1966                                 ${SETUP}
1967                                 float fixed = 1.0;
1968                                 ${OUTPUT}
1969                         }
1970                 ""
1971         end
1972         case unsigned
1973                 expect compile_fail
1974                 values {}
1975                 version 300 es
1976
1977                 both ""
1978                         #version 300 es
1979                         precision mediump float;
1980                         ${DECLARATIONS}
1981
1982                         void main()
1983                         {
1984                                 ${SETUP}
1985                                 float unsigned = 1.0;
1986                                 ${OUTPUT}
1987                         }
1988                 ""
1989         end
1990         case superp
1991                 expect compile_fail
1992                 values {}
1993                 version 300 es
1994
1995                 both ""
1996                         #version 300 es
1997                         precision mediump float;
1998                         ${DECLARATIONS}
1999
2000                         void main()
2001                         {
2002                                 ${SETUP}
2003                                 float superp = 1.0;
2004                                 ${OUTPUT}
2005                         }
2006                 ""
2007         end
2008         case input
2009                 expect compile_fail
2010                 values {}
2011                 version 300 es
2012
2013                 both ""
2014                         #version 300 es
2015                         precision mediump float;
2016                         ${DECLARATIONS}
2017
2018                         void main()
2019                         {
2020                                 ${SETUP}
2021                                 float input = 1.0;
2022                                 ${OUTPUT}
2023                         }
2024                 ""
2025         end
2026         case output
2027                 expect compile_fail
2028                 values {}
2029                 version 300 es
2030
2031                 both ""
2032                         #version 300 es
2033                         precision mediump float;
2034                         ${DECLARATIONS}
2035
2036                         void main()
2037                         {
2038                                 ${SETUP}
2039                                 float output = 1.0;
2040                                 ${OUTPUT}
2041                         }
2042                 ""
2043         end
2044         case hvec2
2045                 expect compile_fail
2046                 values {}
2047                 version 300 es
2048
2049                 both ""
2050                         #version 300 es
2051                         precision mediump float;
2052                         ${DECLARATIONS}
2053
2054                         void main()
2055                         {
2056                                 ${SETUP}
2057                                 float hvec2 = 1.0;
2058                                 ${OUTPUT}
2059                         }
2060                 ""
2061         end
2062         case hvec3
2063                 expect compile_fail
2064                 values {}
2065                 version 300 es
2066
2067                 both ""
2068                         #version 300 es
2069                         precision mediump float;
2070                         ${DECLARATIONS}
2071
2072                         void main()
2073                         {
2074                                 ${SETUP}
2075                                 float hvec3 = 1.0;
2076                                 ${OUTPUT}
2077                         }
2078                 ""
2079         end
2080         case hvec4
2081                 expect compile_fail
2082                 values {}
2083                 version 300 es
2084
2085                 both ""
2086                         #version 300 es
2087                         precision mediump float;
2088                         ${DECLARATIONS}
2089
2090                         void main()
2091                         {
2092                                 ${SETUP}
2093                                 float hvec4 = 1.0;
2094                                 ${OUTPUT}
2095                         }
2096                 ""
2097         end
2098         case dvec2
2099                 expect compile_fail
2100                 values {}
2101                 version 300 es
2102
2103                 both ""
2104                         #version 300 es
2105                         precision mediump float;
2106                         ${DECLARATIONS}
2107
2108                         void main()
2109                         {
2110                                 ${SETUP}
2111                                 float dvec2 = 1.0;
2112                                 ${OUTPUT}
2113                         }
2114                 ""
2115         end
2116         case dvec3
2117                 expect compile_fail
2118                 values {}
2119                 version 300 es
2120
2121                 both ""
2122                         #version 300 es
2123                         precision mediump float;
2124                         ${DECLARATIONS}
2125
2126                         void main()
2127                         {
2128                                 ${SETUP}
2129                                 float dvec3 = 1.0;
2130                                 ${OUTPUT}
2131                         }
2132                 ""
2133         end
2134         case dvec4
2135                 expect compile_fail
2136                 values {}
2137                 version 300 es
2138
2139                 both ""
2140                         #version 300 es
2141                         precision mediump float;
2142                         ${DECLARATIONS}
2143
2144                         void main()
2145                         {
2146                                 ${SETUP}
2147                                 float dvec4 = 1.0;
2148                                 ${OUTPUT}
2149                         }
2150                 ""
2151         end
2152         case fvec2
2153                 expect compile_fail
2154                 values {}
2155                 version 300 es
2156
2157                 both ""
2158                         #version 300 es
2159                         precision mediump float;
2160                         ${DECLARATIONS}
2161
2162                         void main()
2163                         {
2164                                 ${SETUP}
2165                                 float fvec2 = 1.0;
2166                                 ${OUTPUT}
2167                         }
2168                 ""
2169         end
2170         case fvec3
2171                 expect compile_fail
2172                 values {}
2173                 version 300 es
2174
2175                 both ""
2176                         #version 300 es
2177                         precision mediump float;
2178                         ${DECLARATIONS}
2179
2180                         void main()
2181                         {
2182                                 ${SETUP}
2183                                 float fvec3 = 1.0;
2184                                 ${OUTPUT}
2185                         }
2186                 ""
2187         end
2188         case fvec4
2189                 expect compile_fail
2190                 values {}
2191                 version 300 es
2192
2193                 both ""
2194                         #version 300 es
2195                         precision mediump float;
2196                         ${DECLARATIONS}
2197
2198                         void main()
2199                         {
2200                                 ${SETUP}
2201                                 float fvec4 = 1.0;
2202                                 ${OUTPUT}
2203                         }
2204                 ""
2205         end
2206         case sampler3DRect
2207                 expect compile_fail
2208                 values {}
2209                 version 300 es
2210
2211                 both ""
2212                         #version 300 es
2213                         precision mediump float;
2214                         ${DECLARATIONS}
2215
2216                         void main()
2217                         {
2218                                 ${SETUP}
2219                                 float sampler3DRect = 1.0;
2220                                 ${OUTPUT}
2221                         }
2222                 ""
2223         end
2224         case filter
2225                 expect compile_fail
2226                 values {}
2227                 version 300 es
2228
2229                 both ""
2230                         #version 300 es
2231                         precision mediump float;
2232                         ${DECLARATIONS}
2233
2234                         void main()
2235                         {
2236                                 ${SETUP}
2237                                 float filter = 1.0;
2238                                 ${OUTPUT}
2239                         }
2240                 ""
2241         end
2242         case image1D
2243                 expect compile_fail
2244                 values {}
2245                 version 300 es
2246
2247                 both ""
2248                         #version 300 es
2249                         precision mediump float;
2250                         ${DECLARATIONS}
2251
2252                         void main()
2253                         {
2254                                 ${SETUP}
2255                                 float image1D = 1.0;
2256                                 ${OUTPUT}
2257                         }
2258                 ""
2259         end
2260         case image2D
2261                 expect compile_fail
2262                 values {}
2263                 version 300 es
2264
2265                 both ""
2266                         #version 300 es
2267                         precision mediump float;
2268                         ${DECLARATIONS}
2269
2270                         void main()
2271                         {
2272                                 ${SETUP}
2273                                 float image2D = 1.0;
2274                                 ${OUTPUT}
2275                         }
2276                 ""
2277         end
2278         case image3D
2279                 expect compile_fail
2280                 values {}
2281                 version 300 es
2282
2283                 both ""
2284                         #version 300 es
2285                         precision mediump float;
2286                         ${DECLARATIONS}
2287
2288                         void main()
2289                         {
2290                                 ${SETUP}
2291                                 float image3D = 1.0;
2292                                 ${OUTPUT}
2293                         }
2294                 ""
2295         end
2296         case imageCube
2297                 expect compile_fail
2298                 values {}
2299                 version 300 es
2300
2301                 both ""
2302                         #version 300 es
2303                         precision mediump float;
2304                         ${DECLARATIONS}
2305
2306                         void main()
2307                         {
2308                                 ${SETUP}
2309                                 float imageCube = 1.0;
2310                                 ${OUTPUT}
2311                         }
2312                 ""
2313         end
2314         case iimage1D
2315                 expect compile_fail
2316                 values {}
2317                 version 300 es
2318
2319                 both ""
2320                         #version 300 es
2321                         precision mediump float;
2322                         ${DECLARATIONS}
2323
2324                         void main()
2325                         {
2326                                 ${SETUP}
2327                                 float iimage1D = 1.0;
2328                                 ${OUTPUT}
2329                         }
2330                 ""
2331         end
2332         case iimage2D
2333                 expect compile_fail
2334                 values {}
2335                 version 300 es
2336
2337                 both ""
2338                         #version 300 es
2339                         precision mediump float;
2340                         ${DECLARATIONS}
2341
2342                         void main()
2343                         {
2344                                 ${SETUP}
2345                                 float iimage2D = 1.0;
2346                                 ${OUTPUT}
2347                         }
2348                 ""
2349         end
2350         case iimage3D
2351                 expect compile_fail
2352                 values {}
2353                 version 300 es
2354
2355                 both ""
2356                         #version 300 es
2357                         precision mediump float;
2358                         ${DECLARATIONS}
2359
2360                         void main()
2361                         {
2362                                 ${SETUP}
2363                                 float iimage3D = 1.0;
2364                                 ${OUTPUT}
2365                         }
2366                 ""
2367         end
2368         case iimageCube
2369                 expect compile_fail
2370                 values {}
2371                 version 300 es
2372
2373                 both ""
2374                         #version 300 es
2375                         precision mediump float;
2376                         ${DECLARATIONS}
2377
2378                         void main()
2379                         {
2380                                 ${SETUP}
2381                                 float iimageCube = 1.0;
2382                                 ${OUTPUT}
2383                         }
2384                 ""
2385         end
2386         case uimage1D
2387                 expect compile_fail
2388                 values {}
2389                 version 300 es
2390
2391                 both ""
2392                         #version 300 es
2393                         precision mediump float;
2394                         ${DECLARATIONS}
2395
2396                         void main()
2397                         {
2398                                 ${SETUP}
2399                                 float uimage1D = 1.0;
2400                                 ${OUTPUT}
2401                         }
2402                 ""
2403         end
2404         case uimage2D
2405                 expect compile_fail
2406                 values {}
2407                 version 300 es
2408
2409                 both ""
2410                         #version 300 es
2411                         precision mediump float;
2412                         ${DECLARATIONS}
2413
2414                         void main()
2415                         {
2416                                 ${SETUP}
2417                                 float uimage2D = 1.0;
2418                                 ${OUTPUT}
2419                         }
2420                 ""
2421         end
2422         case uimage3D
2423                 expect compile_fail
2424                 values {}
2425                 version 300 es
2426
2427                 both ""
2428                         #version 300 es
2429                         precision mediump float;
2430                         ${DECLARATIONS}
2431
2432                         void main()
2433                         {
2434                                 ${SETUP}
2435                                 float uimage3D = 1.0;
2436                                 ${OUTPUT}
2437                         }
2438                 ""
2439         end
2440         case uimageCube
2441                 expect compile_fail
2442                 values {}
2443                 version 300 es
2444
2445                 both ""
2446                         #version 300 es
2447                         precision mediump float;
2448                         ${DECLARATIONS}
2449
2450                         void main()
2451                         {
2452                                 ${SETUP}
2453                                 float uimageCube = 1.0;
2454                                 ${OUTPUT}
2455                         }
2456                 ""
2457         end
2458         case image1DArray
2459                 expect compile_fail
2460                 values {}
2461                 version 300 es
2462
2463                 both ""
2464                         #version 300 es
2465                         precision mediump float;
2466                         ${DECLARATIONS}
2467
2468                         void main()
2469                         {
2470                                 ${SETUP}
2471                                 float image1DArray = 1.0;
2472                                 ${OUTPUT}
2473                         }
2474                 ""
2475         end
2476         case image2DArray
2477                 expect compile_fail
2478                 values {}
2479                 version 300 es
2480
2481                 both ""
2482                         #version 300 es
2483                         precision mediump float;
2484                         ${DECLARATIONS}
2485
2486                         void main()
2487                         {
2488                                 ${SETUP}
2489                                 float image2DArray = 1.0;
2490                                 ${OUTPUT}
2491                         }
2492                 ""
2493         end
2494         case iimage1DArray
2495                 expect compile_fail
2496                 values {}
2497                 version 300 es
2498
2499                 both ""
2500                         #version 300 es
2501                         precision mediump float;
2502                         ${DECLARATIONS}
2503
2504                         void main()
2505                         {
2506                                 ${SETUP}
2507                                 float iimage1DArray = 1.0;
2508                                 ${OUTPUT}
2509                         }
2510                 ""
2511         end
2512         case iimage2DArray
2513                 expect compile_fail
2514                 values {}
2515                 version 300 es
2516
2517                 both ""
2518                         #version 300 es
2519                         precision mediump float;
2520                         ${DECLARATIONS}
2521
2522                         void main()
2523                         {
2524                                 ${SETUP}
2525                                 float iimage2DArray = 1.0;
2526                                 ${OUTPUT}
2527                         }
2528                 ""
2529         end
2530         case uimage1DArray
2531                 expect compile_fail
2532                 values {}
2533                 version 300 es
2534
2535                 both ""
2536                         #version 300 es
2537                         precision mediump float;
2538                         ${DECLARATIONS}
2539
2540                         void main()
2541                         {
2542                                 ${SETUP}
2543                                 float uimage1DArray = 1.0;
2544                                 ${OUTPUT}
2545                         }
2546                 ""
2547         end
2548         case uimage2DArray
2549                 expect compile_fail
2550                 values {}
2551                 version 300 es
2552
2553                 both ""
2554                         #version 300 es
2555                         precision mediump float;
2556                         ${DECLARATIONS}
2557
2558                         void main()
2559                         {
2560                                 ${SETUP}
2561                                 float uimage2DArray = 1.0;
2562                                 ${OUTPUT}
2563                         }
2564                 ""
2565         end
2566         case image1DShadow
2567                 expect compile_fail
2568                 values {}
2569                 version 300 es
2570
2571                 both ""
2572                         #version 300 es
2573                         precision mediump float;
2574                         ${DECLARATIONS}
2575
2576                         void main()
2577                         {
2578                                 ${SETUP}
2579                                 float image1DShadow = 1.0;
2580                                 ${OUTPUT}
2581                         }
2582                 ""
2583         end
2584         case image2DShadow
2585                 expect compile_fail
2586                 values {}
2587                 version 300 es
2588
2589                 both ""
2590                         #version 300 es
2591                         precision mediump float;
2592                         ${DECLARATIONS}
2593
2594                         void main()
2595                         {
2596                                 ${SETUP}
2597                                 float image2DShadow = 1.0;
2598                                 ${OUTPUT}
2599                         }
2600                 ""
2601         end
2602         case image1DArrayShadow
2603                 expect compile_fail
2604                 values {}
2605                 version 300 es
2606
2607                 both ""
2608                         #version 300 es
2609                         precision mediump float;
2610                         ${DECLARATIONS}
2611
2612                         void main()
2613                         {
2614                                 ${SETUP}
2615                                 float image1DArrayShadow = 1.0;
2616                                 ${OUTPUT}
2617                         }
2618                 ""
2619         end
2620         case image2DArrayShadow
2621                 expect compile_fail
2622                 values {}
2623                 version 300 es
2624
2625                 both ""
2626                         #version 300 es
2627                         precision mediump float;
2628                         ${DECLARATIONS}
2629
2630                         void main()
2631                         {
2632                                 ${SETUP}
2633                                 float image2DArrayShadow = 1.0;
2634                                 ${OUTPUT}
2635                         }
2636                 ""
2637         end
2638         case imageBuffer
2639                 expect compile_fail
2640                 values {}
2641                 version 300 es
2642
2643                 both ""
2644                         #version 300 es
2645                         precision mediump float;
2646                         ${DECLARATIONS}
2647
2648                         void main()
2649                         {
2650                                 ${SETUP}
2651                                 float imageBuffer = 1.0;
2652                                 ${OUTPUT}
2653                         }
2654                 ""
2655         end
2656         case iimageBuffer
2657                 expect compile_fail
2658                 values {}
2659                 version 300 es
2660
2661                 both ""
2662                         #version 300 es
2663                         precision mediump float;
2664                         ${DECLARATIONS}
2665
2666                         void main()
2667                         {
2668                                 ${SETUP}
2669                                 float iimageBuffer = 1.0;
2670                                 ${OUTPUT}
2671                         }
2672                 ""
2673         end
2674         case uimageBuffer
2675                 expect compile_fail
2676                 values {}
2677                 version 300 es
2678
2679                 both ""
2680                         #version 300 es
2681                         precision mediump float;
2682                         ${DECLARATIONS}
2683
2684                         void main()
2685                         {
2686                                 ${SETUP}
2687                                 float uimageBuffer = 1.0;
2688                                 ${OUTPUT}
2689                         }
2690                 ""
2691         end
2692         case sampler1D
2693                 expect compile_fail
2694                 values {}
2695                 version 300 es
2696
2697                 both ""
2698                         #version 300 es
2699                         precision mediump float;
2700                         ${DECLARATIONS}
2701
2702                         void main()
2703                         {
2704                                 ${SETUP}
2705                                 float sampler1D = 1.0;
2706                                 ${OUTPUT}
2707                         }
2708                 ""
2709         end
2710         case sampler1DShadow
2711                 expect compile_fail
2712                 values {}
2713                 version 300 es
2714
2715                 both ""
2716                         #version 300 es
2717                         precision mediump float;
2718                         ${DECLARATIONS}
2719
2720                         void main()
2721                         {
2722                                 ${SETUP}
2723                                 float sampler1DShadow = 1.0;
2724                                 ${OUTPUT}
2725                         }
2726                 ""
2727         end
2728         case sampler1DArray
2729                 expect compile_fail
2730                 values {}
2731                 version 300 es
2732
2733                 both ""
2734                         #version 300 es
2735                         precision mediump float;
2736                         ${DECLARATIONS}
2737
2738                         void main()
2739                         {
2740                                 ${SETUP}
2741                                 float sampler1DArray = 1.0;
2742                                 ${OUTPUT}
2743                         }
2744                 ""
2745         end
2746         case sampler1DArrayShadow
2747                 expect compile_fail
2748                 values {}
2749                 version 300 es
2750
2751                 both ""
2752                         #version 300 es
2753                         precision mediump float;
2754                         ${DECLARATIONS}
2755
2756                         void main()
2757                         {
2758                                 ${SETUP}
2759                                 float sampler1DArrayShadow = 1.0;
2760                                 ${OUTPUT}
2761                         }
2762                 ""
2763         end
2764         case isampler1D
2765                 expect compile_fail
2766                 values {}
2767                 version 300 es
2768
2769                 both ""
2770                         #version 300 es
2771                         precision mediump float;
2772                         ${DECLARATIONS}
2773
2774                         void main()
2775                         {
2776                                 ${SETUP}
2777                                 float isampler1D = 1.0;
2778                                 ${OUTPUT}
2779                         }
2780                 ""
2781         end
2782         case isampler1DArray
2783                 expect compile_fail
2784                 values {}
2785                 version 300 es
2786
2787                 both ""
2788                         #version 300 es
2789                         precision mediump float;
2790                         ${DECLARATIONS}
2791
2792                         void main()
2793                         {
2794                                 ${SETUP}
2795                                 float isampler1DArray = 1.0;
2796                                 ${OUTPUT}
2797                         }
2798                 ""
2799         end
2800         case usampler1D
2801                 expect compile_fail
2802                 values {}
2803                 version 300 es
2804
2805                 both ""
2806                         #version 300 es
2807                         precision mediump float;
2808                         ${DECLARATIONS}
2809
2810                         void main()
2811                         {
2812                                 ${SETUP}
2813                                 float usampler1D = 1.0;
2814                                 ${OUTPUT}
2815                         }
2816                 ""
2817         end
2818         case usampler1DArray
2819                 expect compile_fail
2820                 values {}
2821                 version 300 es
2822
2823                 both ""
2824                         #version 300 es
2825                         precision mediump float;
2826                         ${DECLARATIONS}
2827
2828                         void main()
2829                         {
2830                                 ${SETUP}
2831                                 float usampler1DArray = 1.0;
2832                                 ${OUTPUT}
2833                         }
2834                 ""
2835         end
2836         case sampler2DRect
2837                 expect compile_fail
2838                 values {}
2839                 version 300 es
2840
2841                 both ""
2842                         #version 300 es
2843                         precision mediump float;
2844                         ${DECLARATIONS}
2845
2846                         void main()
2847                         {
2848                                 ${SETUP}
2849                                 float sampler2DRect = 1.0;
2850                                 ${OUTPUT}
2851                         }
2852                 ""
2853         end
2854         case sampler2DRectShadow
2855                 expect compile_fail
2856                 values {}
2857                 version 300 es
2858
2859                 both ""
2860                         #version 300 es
2861                         precision mediump float;
2862                         ${DECLARATIONS}
2863
2864                         void main()
2865                         {
2866                                 ${SETUP}
2867                                 float sampler2DRectShadow = 1.0;
2868                                 ${OUTPUT}
2869                         }
2870                 ""
2871         end
2872         case isampler2DRect
2873                 expect compile_fail
2874                 values {}
2875                 version 300 es
2876
2877                 both ""
2878                         #version 300 es
2879                         precision mediump float;
2880                         ${DECLARATIONS}
2881
2882                         void main()
2883                         {
2884                                 ${SETUP}
2885                                 float isampler2DRect = 1.0;
2886                                 ${OUTPUT}
2887                         }
2888                 ""
2889         end
2890         case usampler2DRect
2891                 expect compile_fail
2892                 values {}
2893                 version 300 es
2894
2895                 both ""
2896                         #version 300 es
2897                         precision mediump float;
2898                         ${DECLARATIONS}
2899
2900                         void main()
2901                         {
2902                                 ${SETUP}
2903                                 float usampler2DRect = 1.0;
2904                                 ${OUTPUT}
2905                         }
2906                 ""
2907         end
2908         case samplerBuffer
2909                 expect compile_fail
2910                 values {}
2911                 version 300 es
2912
2913                 both ""
2914                         #version 300 es
2915                         precision mediump float;
2916                         ${DECLARATIONS}
2917
2918                         void main()
2919                         {
2920                                 ${SETUP}
2921                                 float samplerBuffer = 1.0;
2922                                 ${OUTPUT}
2923                         }
2924                 ""
2925         end
2926         case isamplerBuffer
2927                 expect compile_fail
2928                 values {}
2929                 version 300 es
2930
2931                 both ""
2932                         #version 300 es
2933                         precision mediump float;
2934                         ${DECLARATIONS}
2935
2936                         void main()
2937                         {
2938                                 ${SETUP}
2939                                 float isamplerBuffer = 1.0;
2940                                 ${OUTPUT}
2941                         }
2942                 ""
2943         end
2944         case usamplerBuffer
2945                 expect compile_fail
2946                 values {}
2947                 version 300 es
2948
2949                 both ""
2950                         #version 300 es
2951                         precision mediump float;
2952                         ${DECLARATIONS}
2953
2954                         void main()
2955                         {
2956                                 ${SETUP}
2957                                 float usamplerBuffer = 1.0;
2958                                 ${OUTPUT}
2959                         }
2960                 ""
2961         end
2962         case sampler2DMS
2963                 expect compile_fail
2964                 values {}
2965                 version 300 es
2966
2967                 both ""
2968                         #version 300 es
2969                         precision mediump float;
2970                         ${DECLARATIONS}
2971
2972                         void main()
2973                         {
2974                                 ${SETUP}
2975                                 float sampler2DMS = 1.0;
2976                                 ${OUTPUT}
2977                         }
2978                 ""
2979         end
2980         case isampler2DMS
2981                 expect compile_fail
2982                 values {}
2983                 version 300 es
2984
2985                 both ""
2986                         #version 300 es
2987                         precision mediump float;
2988                         ${DECLARATIONS}
2989
2990                         void main()
2991                         {
2992                                 ${SETUP}
2993                                 float isampler2DMS = 1.0;
2994                                 ${OUTPUT}
2995                         }
2996                 ""
2997         end
2998         case usampler2DMS
2999                 expect compile_fail
3000                 values {}
3001                 version 300 es
3002
3003                 both ""
3004                         #version 300 es
3005                         precision mediump float;
3006                         ${DECLARATIONS}
3007
3008                         void main()
3009                         {
3010                                 ${SETUP}
3011                                 float usampler2DMS = 1.0;
3012                                 ${OUTPUT}
3013                         }
3014                 ""
3015         end
3016         case sampler2DMSArray
3017                 expect compile_fail
3018                 values {}
3019                 version 300 es
3020
3021                 both ""
3022                         #version 300 es
3023                         precision mediump float;
3024                         ${DECLARATIONS}
3025
3026                         void main()
3027                         {
3028                                 ${SETUP}
3029                                 float sampler2DMSArray = 1.0;
3030                                 ${OUTPUT}
3031                         }
3032                 ""
3033         end
3034         case isampler2DMSArray
3035                 expect compile_fail
3036                 values {}
3037                 version 300 es
3038
3039                 both ""
3040                         #version 300 es
3041                         precision mediump float;
3042                         ${DECLARATIONS}
3043
3044                         void main()
3045                         {
3046                                 ${SETUP}
3047                                 float isampler2DMSArray = 1.0;
3048                                 ${OUTPUT}
3049                         }
3050                 ""
3051         end
3052         case usampler2DMSArray
3053                 expect compile_fail
3054                 values {}
3055                 version 300 es
3056
3057                 both ""
3058                         #version 300 es
3059                         precision mediump float;
3060                         ${DECLARATIONS}
3061
3062                         void main()
3063                         {
3064                                 ${SETUP}
3065                                 float usampler2DMSArray = 1.0;
3066                                 ${OUTPUT}
3067                         }
3068                 ""
3069         end
3070         case sizeof
3071                 expect compile_fail
3072                 values {}
3073                 version 300 es
3074
3075                 both ""
3076                         #version 300 es
3077                         precision mediump float;
3078                         ${DECLARATIONS}
3079
3080                         void main()
3081                         {
3082                                 ${SETUP}
3083                                 float sizeof = 1.0;
3084                                 ${OUTPUT}
3085                         }
3086                 ""
3087         end
3088         case cast
3089                 expect compile_fail
3090                 values {}
3091                 version 300 es
3092
3093                 both ""
3094                         #version 300 es
3095                         precision mediump float;
3096                         ${DECLARATIONS}
3097
3098                         void main()
3099                         {
3100                                 ${SETUP}
3101                                 float cast = 1.0;
3102                                 ${OUTPUT}
3103                         }
3104                 ""
3105         end
3106         case namespace
3107                 expect compile_fail
3108                 values {}
3109                 version 300 es
3110
3111                 both ""
3112                         #version 300 es
3113                         precision mediump float;
3114                         ${DECLARATIONS}
3115
3116                         void main()
3117                         {
3118                                 ${SETUP}
3119                                 float namespace = 1.0;
3120                                 ${OUTPUT}
3121                         }
3122                 ""
3123         end
3124         case using
3125                 expect compile_fail
3126                 values {}
3127                 version 300 es
3128
3129                 both ""
3130                         #version 300 es
3131                         precision mediump float;
3132                         ${DECLARATIONS}
3133
3134                         void main()
3135                         {
3136                                 ${SETUP}
3137                                 float using = 1.0;
3138                                 ${OUTPUT}
3139                         }
3140                 ""
3141         end
3142
3143 end # reserved_keywords
3144 group invalid_identifiers "Usage of invalid identifiers."
3145
3146         case gl_begin
3147                 expect compile_fail
3148                 values {}
3149                 version 300 es
3150
3151                 both ""
3152                         #version 300 es
3153                         precision mediump float;
3154                         ${DECLARATIONS}
3155
3156                         void main()
3157                         {
3158                                 ${SETUP}
3159                                 float gl_Invalid = 1.0;
3160                                 ${OUTPUT}
3161                         }
3162                 ""
3163         end
3164         case digit
3165                 expect compile_fail
3166                 values {}
3167                 version 300 es
3168
3169                 both ""
3170                         #version 300 es
3171                         precision mediump float;
3172                         ${DECLARATIONS}
3173
3174                         void main()
3175                         {
3176                                 ${SETUP}
3177                                 float 0123 = 1.0;
3178                                 ${OUTPUT}
3179                         }
3180                 ""
3181         end
3182         case digit_begin
3183                 expect compile_fail
3184                 values {}
3185                 version 300 es
3186
3187                 both ""
3188                         #version 300 es
3189                         precision mediump float;
3190                         ${DECLARATIONS}
3191
3192                         void main()
3193                         {
3194                                 ${SETUP}
3195                                 float 0invalid = 1.0;
3196                                 ${OUTPUT}
3197                         }
3198                 ""
3199         end
3200         case max_length
3201                 expect compile_fail
3202                 values {}
3203                 version 300 es
3204
3205                 both ""
3206                         #version 300 es
3207                         precision mediump float;
3208                         ${DECLARATIONS}
3209
3210                         void main()
3211                         {
3212                                 ${SETUP}
3213                                 float abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdX = 1.0;
3214                                 ${OUTPUT}
3215                         }
3216                 ""
3217         end
3218
3219 end # invalid_identifiers