13c827367444ee418f129b2c238299f49d3264554Jarkko Poyrygroup invalid_declarations "Invalid declarations"
23c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	case attribute_in_vertex_main
33c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		expect compile_fail
43c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		vertex ""
53c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			void main()
63c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			{
73c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				attribute mediump float val;
83c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				gl_Position = vec4(1.0);
93c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			}
103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		""
113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		fragment ""
123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			void main()
133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			{
143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				gl_FragColor = vec4(1.0);
153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			}
163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		""
173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	end
183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	case attribute_in_fragment
203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		expect compile_fail
213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		vertex ""
223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			void main()
233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			{
243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				gl_Position = vec4(1.0);
253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			}
263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		""
273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		fragment ""
283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			attribute mediump float val;
293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			void main()
303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			{
313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				gl_FragColor = vec4(1.0);
323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			}
333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		""
343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	end
353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	case uniform_in_vertex_main
373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		expect compile_fail
383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		vertex ""
393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			void main()
403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			{
413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				uniform mediump float val;
423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				gl_Position = vec4(1.0);
433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			}
443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		""
453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		fragment ""
463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			void main()
473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			{
483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				gl_FragColor = vec4(1.0);
493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			}
503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		""
513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	end
523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	case uniform_in_fragment_main
543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		expect compile_fail
553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		vertex ""
563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			void main()
573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			{
583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				gl_Position = vec4(1.0);
593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			}
603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		""
613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		fragment ""
623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			void main()
633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			{
643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				uniform mediump float val;
653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				gl_FragColor = vec4(1.0);
663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			}
673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		""
683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	end
693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	case varying_in_vertex_main
713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		expect compile_fail
723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		vertex ""
733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			void main()
743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			{
753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				varying mediump float val;
763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				gl_Position = vec4(1.0);
773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			}
783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		""
793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		fragment ""
803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			varying mediump float val;
813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			void main()
823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			{
833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				gl_FragColor = vec4(1.0);
843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			}
853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		""
863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	end
873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	case varying_in_fragment_main
893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		expect compile_fail
903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		vertex ""
913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			varying mediump float val;
923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			void main()
933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			{
943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				gl_Position = vec4(1.0);
953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			}
963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		""
973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		fragment ""
983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			void main()
993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			{
1003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				varying mediump float val;
1013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				gl_FragColor = vec4(1.0);
1023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			}
1033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		""
1043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	end
1053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	case invariant_attribute
1073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		expect compile_fail
1083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		vertex ""
1093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			invariant attribute mediump float val;
1103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			void main()
1113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			{
1123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				gl_Position = vec4(1.0);
1133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			}
1143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		""
1153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		fragment ""
1163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			void main()
1173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			{
1183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				gl_FragColor = vec4(1.0);
1193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			}
1203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		""
1213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	end
1223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	case invariant_uniform
1243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		expect compile_fail
1253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		vertex ""
1263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			invariant uniform mediump float val;
1273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			void main()
1283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			{
1293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				gl_Position = vec4(1.0);
1303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			}
1313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		""
1323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		fragment ""
1333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			void main()
1343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			{
1353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				gl_FragColor = vec4(1.0);
1363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			}
1373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		""
1383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	end
1393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1403c827367444ee418f129b2c238299f49d3264554Jarkko Poyryend # invalid_declarations
141