xref: /aosp_15_r20/external/deqp/data/gles3/shaders/declarations.test (revision 35238bce31c2a825756842865a792f8cf7f89930)
1*35238bceSAndroid Build Coastguard Workergroup invalid_declarations "Invalid declarations"
2*35238bceSAndroid Build Coastguard Worker    case in_in_vertex_main
3*35238bceSAndroid Build Coastguard Worker        version 300 es
4*35238bceSAndroid Build Coastguard Worker        expect compile_fail
5*35238bceSAndroid Build Coastguard Worker        vertex ""
6*35238bceSAndroid Build Coastguard Worker            #version 300 es
7*35238bceSAndroid Build Coastguard Worker            ${VERTEX_DECLARATIONS}
8*35238bceSAndroid Build Coastguard Worker            void main()
9*35238bceSAndroid Build Coastguard Worker            {
10*35238bceSAndroid Build Coastguard Worker                in mediump float val;
11*35238bceSAndroid Build Coastguard Worker                gl_Position = vec4(1.0);
12*35238bceSAndroid Build Coastguard Worker            }
13*35238bceSAndroid Build Coastguard Worker        ""
14*35238bceSAndroid Build Coastguard Worker        fragment ""
15*35238bceSAndroid Build Coastguard Worker            #version 300 es
16*35238bceSAndroid Build Coastguard Worker            ${FRAGMENT_DECLARATIONS}
17*35238bceSAndroid Build Coastguard Worker            void main()
18*35238bceSAndroid Build Coastguard Worker            {
19*35238bceSAndroid Build Coastguard Worker                ${FRAG_COLOR} = vec4(1.0);
20*35238bceSAndroid Build Coastguard Worker            }
21*35238bceSAndroid Build Coastguard Worker        ""
22*35238bceSAndroid Build Coastguard Worker    end
23*35238bceSAndroid Build Coastguard Worker
24*35238bceSAndroid Build Coastguard Worker    case out_in_vertex_main
25*35238bceSAndroid Build Coastguard Worker        version 300 es
26*35238bceSAndroid Build Coastguard Worker        expect compile_fail
27*35238bceSAndroid Build Coastguard Worker        vertex ""
28*35238bceSAndroid Build Coastguard Worker            #version 300 es
29*35238bceSAndroid Build Coastguard Worker            ${VERTEX_DECLARATIONS}
30*35238bceSAndroid Build Coastguard Worker            void main()
31*35238bceSAndroid Build Coastguard Worker            {
32*35238bceSAndroid Build Coastguard Worker                out mediump float val;
33*35238bceSAndroid Build Coastguard Worker                gl_Position = vec4(1.0);
34*35238bceSAndroid Build Coastguard Worker            }
35*35238bceSAndroid Build Coastguard Worker        ""
36*35238bceSAndroid Build Coastguard Worker        fragment ""
37*35238bceSAndroid Build Coastguard Worker            #version 300 es
38*35238bceSAndroid Build Coastguard Worker            in mediump float val;
39*35238bceSAndroid Build Coastguard Worker            ${FRAGMENT_DECLARATIONS}
40*35238bceSAndroid Build Coastguard Worker            void main()
41*35238bceSAndroid Build Coastguard Worker            {
42*35238bceSAndroid Build Coastguard Worker                ${FRAG_COLOR} = vec4(1.0);
43*35238bceSAndroid Build Coastguard Worker            }
44*35238bceSAndroid Build Coastguard Worker        ""
45*35238bceSAndroid Build Coastguard Worker    end
46*35238bceSAndroid Build Coastguard Worker
47*35238bceSAndroid Build Coastguard Worker    case in_in_fragment_main
48*35238bceSAndroid Build Coastguard Worker        version 300 es
49*35238bceSAndroid Build Coastguard Worker        expect compile_fail
50*35238bceSAndroid Build Coastguard Worker        vertex ""
51*35238bceSAndroid Build Coastguard Worker            #version 300 es
52*35238bceSAndroid Build Coastguard Worker            out mediump float val;
53*35238bceSAndroid Build Coastguard Worker            ${VERTEX_DECLARATIONS}
54*35238bceSAndroid Build Coastguard Worker            void main()
55*35238bceSAndroid Build Coastguard Worker            {
56*35238bceSAndroid Build Coastguard Worker                gl_Position = vec4(1.0);
57*35238bceSAndroid Build Coastguard Worker            }
58*35238bceSAndroid Build Coastguard Worker        ""
59*35238bceSAndroid Build Coastguard Worker        fragment ""
60*35238bceSAndroid Build Coastguard Worker            #version 300 es
61*35238bceSAndroid Build Coastguard Worker            ${FRAGMENT_DECLARATIONS}
62*35238bceSAndroid Build Coastguard Worker            void main()
63*35238bceSAndroid Build Coastguard Worker            {
64*35238bceSAndroid Build Coastguard Worker                in mediump float val;
65*35238bceSAndroid Build Coastguard Worker                ${FRAG_COLOR} = vec4(1.0);
66*35238bceSAndroid Build Coastguard Worker            }
67*35238bceSAndroid Build Coastguard Worker        ""
68*35238bceSAndroid Build Coastguard Worker    end
69*35238bceSAndroid Build Coastguard Worker
70*35238bceSAndroid Build Coastguard Worker    case out_in_fragment_main
71*35238bceSAndroid Build Coastguard Worker        version 300 es
72*35238bceSAndroid Build Coastguard Worker        expect compile_fail
73*35238bceSAndroid Build Coastguard Worker        vertex ""
74*35238bceSAndroid Build Coastguard Worker            #version 300 es
75*35238bceSAndroid Build Coastguard Worker            ${VERTEX_DECLARATIONS}
76*35238bceSAndroid Build Coastguard Worker            void main()
77*35238bceSAndroid Build Coastguard Worker            {
78*35238bceSAndroid Build Coastguard Worker                gl_Position = vec4(1.0);
79*35238bceSAndroid Build Coastguard Worker            }
80*35238bceSAndroid Build Coastguard Worker        ""
81*35238bceSAndroid Build Coastguard Worker        fragment ""
82*35238bceSAndroid Build Coastguard Worker            #version 300 es
83*35238bceSAndroid Build Coastguard Worker            ${FRAGMENT_DECLARATIONS}
84*35238bceSAndroid Build Coastguard Worker            void main()
85*35238bceSAndroid Build Coastguard Worker            {
86*35238bceSAndroid Build Coastguard Worker                out mediump float val;
87*35238bceSAndroid Build Coastguard Worker                ${FRAG_COLOR} = vec4(1.0);
88*35238bceSAndroid Build Coastguard Worker            }
89*35238bceSAndroid Build Coastguard Worker        ""
90*35238bceSAndroid Build Coastguard Worker    end
91*35238bceSAndroid Build Coastguard Worker
92*35238bceSAndroid Build Coastguard Worker    case uniform_in_vertex_main
93*35238bceSAndroid Build Coastguard Worker        version 300 es
94*35238bceSAndroid Build Coastguard Worker        expect compile_fail
95*35238bceSAndroid Build Coastguard Worker        vertex ""
96*35238bceSAndroid Build Coastguard Worker            #version 300 es
97*35238bceSAndroid Build Coastguard Worker            ${VERTEX_DECLARATIONS}
98*35238bceSAndroid Build Coastguard Worker            void main()
99*35238bceSAndroid Build Coastguard Worker            {
100*35238bceSAndroid Build Coastguard Worker                uniform mediump float val;
101*35238bceSAndroid Build Coastguard Worker                gl_Position = vec4(1.0);
102*35238bceSAndroid Build Coastguard Worker            }
103*35238bceSAndroid Build Coastguard Worker        ""
104*35238bceSAndroid Build Coastguard Worker        fragment ""
105*35238bceSAndroid Build Coastguard Worker            #version 300 es
106*35238bceSAndroid Build Coastguard Worker            ${FRAGMENT_DECLARATIONS}
107*35238bceSAndroid Build Coastguard Worker            void main()
108*35238bceSAndroid Build Coastguard Worker            {
109*35238bceSAndroid Build Coastguard Worker                ${FRAG_COLOR} = vec4(1.0);
110*35238bceSAndroid Build Coastguard Worker            }
111*35238bceSAndroid Build Coastguard Worker        ""
112*35238bceSAndroid Build Coastguard Worker    end
113*35238bceSAndroid Build Coastguard Worker
114*35238bceSAndroid Build Coastguard Worker    case uniform_in_fragment_main
115*35238bceSAndroid Build Coastguard Worker        version 300 es
116*35238bceSAndroid Build Coastguard Worker        expect compile_fail
117*35238bceSAndroid Build Coastguard Worker        vertex ""
118*35238bceSAndroid Build Coastguard Worker            #version 300 es
119*35238bceSAndroid Build Coastguard Worker            ${VERTEX_DECLARATIONS}
120*35238bceSAndroid Build Coastguard Worker            void main()
121*35238bceSAndroid Build Coastguard Worker            {
122*35238bceSAndroid Build Coastguard Worker                gl_Position = vec4(1.0);
123*35238bceSAndroid Build Coastguard Worker            }
124*35238bceSAndroid Build Coastguard Worker        ""
125*35238bceSAndroid Build Coastguard Worker        fragment ""
126*35238bceSAndroid Build Coastguard Worker            #version 300 es
127*35238bceSAndroid Build Coastguard Worker            ${FRAGMENT_DECLARATIONS}
128*35238bceSAndroid Build Coastguard Worker            void main()
129*35238bceSAndroid Build Coastguard Worker            {
130*35238bceSAndroid Build Coastguard Worker                uniform mediump float val;
131*35238bceSAndroid Build Coastguard Worker                ${FRAG_COLOR} = vec4(1.0);
132*35238bceSAndroid Build Coastguard Worker            }
133*35238bceSAndroid Build Coastguard Worker        ""
134*35238bceSAndroid Build Coastguard Worker    end
135*35238bceSAndroid Build Coastguard Worker
136*35238bceSAndroid Build Coastguard Worker    case uniform_block_in_main
137*35238bceSAndroid Build Coastguard Worker        version 300 es
138*35238bceSAndroid Build Coastguard Worker        expect compile_fail
139*35238bceSAndroid Build Coastguard Worker        both ""
140*35238bceSAndroid Build Coastguard Worker            #version 300 es
141*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
142*35238bceSAndroid Build Coastguard Worker            void main()
143*35238bceSAndroid Build Coastguard Worker            {
144*35238bceSAndroid Build Coastguard Worker                uniform Block { mediump float val; };
145*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
146*35238bceSAndroid Build Coastguard Worker            }
147*35238bceSAndroid Build Coastguard Worker        ""
148*35238bceSAndroid Build Coastguard Worker    end
149*35238bceSAndroid Build Coastguard Worker
150*35238bceSAndroid Build Coastguard Worker    case invariant_attribute
151*35238bceSAndroid Build Coastguard Worker        version 300 es
152*35238bceSAndroid Build Coastguard Worker        expect compile_fail
153*35238bceSAndroid Build Coastguard Worker        vertex ""
154*35238bceSAndroid Build Coastguard Worker            #version 300 es
155*35238bceSAndroid Build Coastguard Worker            invariant in mediump float val;
156*35238bceSAndroid Build Coastguard Worker            ${VERTEX_DECLARATIONS}
157*35238bceSAndroid Build Coastguard Worker            void main()
158*35238bceSAndroid Build Coastguard Worker            {
159*35238bceSAndroid Build Coastguard Worker                gl_Position = vec4(1.0);
160*35238bceSAndroid Build Coastguard Worker            }
161*35238bceSAndroid Build Coastguard Worker        ""
162*35238bceSAndroid Build Coastguard Worker        fragment ""
163*35238bceSAndroid Build Coastguard Worker            #version 300 es
164*35238bceSAndroid Build Coastguard Worker            ${FRAGMENT_DECLARATIONS}
165*35238bceSAndroid Build Coastguard Worker            void main()
166*35238bceSAndroid Build Coastguard Worker            {
167*35238bceSAndroid Build Coastguard Worker                ${FRAG_COLOR} = vec4(1.0);
168*35238bceSAndroid Build Coastguard Worker            }
169*35238bceSAndroid Build Coastguard Worker        ""
170*35238bceSAndroid Build Coastguard Worker    end
171*35238bceSAndroid Build Coastguard Worker
172*35238bceSAndroid Build Coastguard Worker    case invariant_uniform
173*35238bceSAndroid Build Coastguard Worker        version 300 es
174*35238bceSAndroid Build Coastguard Worker        expect compile_fail
175*35238bceSAndroid Build Coastguard Worker        vertex ""
176*35238bceSAndroid Build Coastguard Worker            #version 300 es
177*35238bceSAndroid Build Coastguard Worker            invariant uniform mediump float val;
178*35238bceSAndroid Build Coastguard Worker            ${VERTEX_DECLARATIONS}
179*35238bceSAndroid Build Coastguard Worker            void main()
180*35238bceSAndroid Build Coastguard Worker            {
181*35238bceSAndroid Build Coastguard Worker                gl_Position = vec4(1.0);
182*35238bceSAndroid Build Coastguard Worker            }
183*35238bceSAndroid Build Coastguard Worker        ""
184*35238bceSAndroid Build Coastguard Worker        fragment ""
185*35238bceSAndroid Build Coastguard Worker            #version 300 es
186*35238bceSAndroid Build Coastguard Worker            ${FRAGMENT_DECLARATIONS}
187*35238bceSAndroid Build Coastguard Worker            void main()
188*35238bceSAndroid Build Coastguard Worker            {
189*35238bceSAndroid Build Coastguard Worker                ${FRAG_COLOR} = vec4(1.0);
190*35238bceSAndroid Build Coastguard Worker            }
191*35238bceSAndroid Build Coastguard Worker        ""
192*35238bceSAndroid Build Coastguard Worker    end
193*35238bceSAndroid Build Coastguard Worker
194*35238bceSAndroid Build Coastguard Worker    case invariant_uniform_block_1
195*35238bceSAndroid Build Coastguard Worker        version 300 es
196*35238bceSAndroid Build Coastguard Worker        expect compile_fail
197*35238bceSAndroid Build Coastguard Worker        both ""
198*35238bceSAndroid Build Coastguard Worker            #version 300 es
199*35238bceSAndroid Build Coastguard Worker            invariant uniform Block { mediump float val; };
200*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
201*35238bceSAndroid Build Coastguard Worker            void main()
202*35238bceSAndroid Build Coastguard Worker            {
203*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
204*35238bceSAndroid Build Coastguard Worker            }
205*35238bceSAndroid Build Coastguard Worker        ""
206*35238bceSAndroid Build Coastguard Worker    end
207*35238bceSAndroid Build Coastguard Worker
208*35238bceSAndroid Build Coastguard Worker    case invariant_uniform_block_2
209*35238bceSAndroid Build Coastguard Worker        version 300 es
210*35238bceSAndroid Build Coastguard Worker        expect compile_fail
211*35238bceSAndroid Build Coastguard Worker        both ""
212*35238bceSAndroid Build Coastguard Worker            #version 300 es
213*35238bceSAndroid Build Coastguard Worker            uniform Block { invariant mediump float val; };
214*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
215*35238bceSAndroid Build Coastguard Worker            void main()
216*35238bceSAndroid Build Coastguard Worker            {
217*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
218*35238bceSAndroid Build Coastguard Worker            }
219*35238bceSAndroid Build Coastguard Worker        ""
220*35238bceSAndroid Build Coastguard Worker    end
221*35238bceSAndroid Build Coastguard Worker
222*35238bceSAndroid Build Coastguard Worker    case uniform_block_layout_qualifier
223*35238bceSAndroid Build Coastguard Worker        version 300 es
224*35238bceSAndroid Build Coastguard Worker        expect compile_fail
225*35238bceSAndroid Build Coastguard Worker        both ""
226*35238bceSAndroid Build Coastguard Worker            #version 300 es
227*35238bceSAndroid Build Coastguard Worker            layout(foobar) uniform Block
228*35238bceSAndroid Build Coastguard Worker            {
229*35238bceSAndroid Build Coastguard Worker                mediump float val;
230*35238bceSAndroid Build Coastguard Worker            };
231*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
232*35238bceSAndroid Build Coastguard Worker            void main()
233*35238bceSAndroid Build Coastguard Worker            {
234*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
235*35238bceSAndroid Build Coastguard Worker            }
236*35238bceSAndroid Build Coastguard Worker        ""
237*35238bceSAndroid Build Coastguard Worker    end
238*35238bceSAndroid Build Coastguard Worker
239*35238bceSAndroid Build Coastguard Worker    case uniform_block_member_layout_qualifier
240*35238bceSAndroid Build Coastguard Worker        version 300 es
241*35238bceSAndroid Build Coastguard Worker        expect compile_fail
242*35238bceSAndroid Build Coastguard Worker        both ""
243*35238bceSAndroid Build Coastguard Worker            #version 300 es
244*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
245*35238bceSAndroid Build Coastguard Worker            uniform Block
246*35238bceSAndroid Build Coastguard Worker            {
247*35238bceSAndroid Build Coastguard Worker                layout(foobar) uniform mediump float val;
248*35238bceSAndroid Build Coastguard Worker            };
249*35238bceSAndroid Build Coastguard Worker            void main()
250*35238bceSAndroid Build Coastguard Worker            {
251*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
252*35238bceSAndroid Build Coastguard Worker            }
253*35238bceSAndroid Build Coastguard Worker        ""
254*35238bceSAndroid Build Coastguard Worker    end
255*35238bceSAndroid Build Coastguard Worker
256*35238bceSAndroid Build Coastguard Worker    case uniform_block_nested_struct_definition
257*35238bceSAndroid Build Coastguard Worker        version 300 es
258*35238bceSAndroid Build Coastguard Worker        expect compile_fail
259*35238bceSAndroid Build Coastguard Worker        both ""
260*35238bceSAndroid Build Coastguard Worker            #version 300 es
261*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
262*35238bceSAndroid Build Coastguard Worker            uniform Block
263*35238bceSAndroid Build Coastguard Worker            {
264*35238bceSAndroid Build Coastguard Worker                struct S
265*35238bceSAndroid Build Coastguard Worker                {
266*35238bceSAndroid Build Coastguard Worker                    mediump float v;
267*35238bceSAndroid Build Coastguard Worker                    struct T
268*35238bceSAndroid Build Coastguard Worker                    {
269*35238bceSAndroid Build Coastguard Worker                        highp int i;
270*35238bceSAndroid Build Coastguard Worker                    } t;
271*35238bceSAndroid Build Coastguard Worker                } s;
272*35238bceSAndroid Build Coastguard Worker            };
273*35238bceSAndroid Build Coastguard Worker            void main()
274*35238bceSAndroid Build Coastguard Worker            {
275*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
276*35238bceSAndroid Build Coastguard Worker            }
277*35238bceSAndroid Build Coastguard Worker        ""
278*35238bceSAndroid Build Coastguard Worker    end
279*35238bceSAndroid Build Coastguard Worker
280*35238bceSAndroid Build Coastguard Worker    case nested_uniform_block
281*35238bceSAndroid Build Coastguard Worker        version 300 es
282*35238bceSAndroid Build Coastguard Worker        expect compile_fail
283*35238bceSAndroid Build Coastguard Worker        both ""
284*35238bceSAndroid Build Coastguard Worker            #version 300 es
285*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
286*35238bceSAndroid Build Coastguard Worker            uniform Block
287*35238bceSAndroid Build Coastguard Worker            {
288*35238bceSAndroid Build Coastguard Worker                uniform Block2
289*35238bceSAndroid Build Coastguard Worker                {
290*35238bceSAndroid Build Coastguard Worker                    mediump float v;
291*35238bceSAndroid Build Coastguard Worker                } block2;
292*35238bceSAndroid Build Coastguard Worker            } block;
293*35238bceSAndroid Build Coastguard Worker            void main()
294*35238bceSAndroid Build Coastguard Worker            {
295*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
296*35238bceSAndroid Build Coastguard Worker            }
297*35238bceSAndroid Build Coastguard Worker        ""
298*35238bceSAndroid Build Coastguard Worker    end
299*35238bceSAndroid Build Coastguard Worker
300*35238bceSAndroid Build Coastguard Worker    case uniform_block_sampler_2d
301*35238bceSAndroid Build Coastguard Worker        version 300 es
302*35238bceSAndroid Build Coastguard Worker        expect compile_fail
303*35238bceSAndroid Build Coastguard Worker        both ""
304*35238bceSAndroid Build Coastguard Worker            #version 300 es
305*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
306*35238bceSAndroid Build Coastguard Worker            uniform Block
307*35238bceSAndroid Build Coastguard Worker            {
308*35238bceSAndroid Build Coastguard Worker                uniform sampler2D s;
309*35238bceSAndroid Build Coastguard Worker            };
310*35238bceSAndroid Build Coastguard Worker            void main()
311*35238bceSAndroid Build Coastguard Worker            {
312*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
313*35238bceSAndroid Build Coastguard Worker            }
314*35238bceSAndroid Build Coastguard Worker        ""
315*35238bceSAndroid Build Coastguard Worker    end
316*35238bceSAndroid Build Coastguard Worker
317*35238bceSAndroid Build Coastguard Worker    case uniform_block_sampler_cube
318*35238bceSAndroid Build Coastguard Worker        version 300 es
319*35238bceSAndroid Build Coastguard Worker        expect compile_fail
320*35238bceSAndroid Build Coastguard Worker        both ""
321*35238bceSAndroid Build Coastguard Worker            #version 300 es
322*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
323*35238bceSAndroid Build Coastguard Worker            uniform Block
324*35238bceSAndroid Build Coastguard Worker            {
325*35238bceSAndroid Build Coastguard Worker                uniform samplerCube s;
326*35238bceSAndroid Build Coastguard Worker            };
327*35238bceSAndroid Build Coastguard Worker            void main()
328*35238bceSAndroid Build Coastguard Worker            {
329*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
330*35238bceSAndroid Build Coastguard Worker            }
331*35238bceSAndroid Build Coastguard Worker        ""
332*35238bceSAndroid Build Coastguard Worker    end
333*35238bceSAndroid Build Coastguard Worker
334*35238bceSAndroid Build Coastguard Worker    case uniform_block_missing_member_semicolon
335*35238bceSAndroid Build Coastguard Worker        version 300 es
336*35238bceSAndroid Build Coastguard Worker        expect compile_fail
337*35238bceSAndroid Build Coastguard Worker        both ""
338*35238bceSAndroid Build Coastguard Worker            #version 300 es
339*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
340*35238bceSAndroid Build Coastguard Worker            uniform Block
341*35238bceSAndroid Build Coastguard Worker            {
342*35238bceSAndroid Build Coastguard Worker                mediump float var
343*35238bceSAndroid Build Coastguard Worker            };
344*35238bceSAndroid Build Coastguard Worker            void main()
345*35238bceSAndroid Build Coastguard Worker            {
346*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
347*35238bceSAndroid Build Coastguard Worker            }
348*35238bceSAndroid Build Coastguard Worker        ""
349*35238bceSAndroid Build Coastguard Worker    end
350*35238bceSAndroid Build Coastguard Worker
351*35238bceSAndroid Build Coastguard Worker    case uniform_block_missing_end_semicolon
352*35238bceSAndroid Build Coastguard Worker        version 300 es
353*35238bceSAndroid Build Coastguard Worker        expect compile_fail
354*35238bceSAndroid Build Coastguard Worker        both ""
355*35238bceSAndroid Build Coastguard Worker            #version 300 es
356*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
357*35238bceSAndroid Build Coastguard Worker            uniform Block
358*35238bceSAndroid Build Coastguard Worker            {
359*35238bceSAndroid Build Coastguard Worker                mediump float var;
360*35238bceSAndroid Build Coastguard Worker            }
361*35238bceSAndroid Build Coastguard Worker            void main()
362*35238bceSAndroid Build Coastguard Worker            {
363*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
364*35238bceSAndroid Build Coastguard Worker            }
365*35238bceSAndroid Build Coastguard Worker        ""
366*35238bceSAndroid Build Coastguard Worker    end
367*35238bceSAndroid Build Coastguard Worker
368*35238bceSAndroid Build Coastguard Worker    case uniform_block_duplicate_member_name_1
369*35238bceSAndroid Build Coastguard Worker        version 300 es
370*35238bceSAndroid Build Coastguard Worker        expect compile_fail
371*35238bceSAndroid Build Coastguard Worker        both ""
372*35238bceSAndroid Build Coastguard Worker            #version 300 es
373*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
374*35238bceSAndroid Build Coastguard Worker            uniform Block
375*35238bceSAndroid Build Coastguard Worker            {
376*35238bceSAndroid Build Coastguard Worker                mediump float var;
377*35238bceSAndroid Build Coastguard Worker                mediump float var;
378*35238bceSAndroid Build Coastguard Worker            };
379*35238bceSAndroid Build Coastguard Worker            void main()
380*35238bceSAndroid Build Coastguard Worker            {
381*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
382*35238bceSAndroid Build Coastguard Worker            }
383*35238bceSAndroid Build Coastguard Worker        ""
384*35238bceSAndroid Build Coastguard Worker    end
385*35238bceSAndroid Build Coastguard Worker
386*35238bceSAndroid Build Coastguard Worker    case uniform_block_duplicate_member_name_2
387*35238bceSAndroid Build Coastguard Worker        version 300 es
388*35238bceSAndroid Build Coastguard Worker        expect compile_fail
389*35238bceSAndroid Build Coastguard Worker        both ""
390*35238bceSAndroid Build Coastguard Worker            #version 300 es
391*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
392*35238bceSAndroid Build Coastguard Worker            uniform Block
393*35238bceSAndroid Build Coastguard Worker            {
394*35238bceSAndroid Build Coastguard Worker                mediump float var;
395*35238bceSAndroid Build Coastguard Worker            };
396*35238bceSAndroid Build Coastguard Worker            uniform Block2
397*35238bceSAndroid Build Coastguard Worker            {
398*35238bceSAndroid Build Coastguard Worker                mediump float var;
399*35238bceSAndroid Build Coastguard Worker            };
400*35238bceSAndroid Build Coastguard Worker            void main()
401*35238bceSAndroid Build Coastguard Worker            {
402*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
403*35238bceSAndroid Build Coastguard Worker            }
404*35238bceSAndroid Build Coastguard Worker        ""
405*35238bceSAndroid Build Coastguard Worker    end
406*35238bceSAndroid Build Coastguard Worker
407*35238bceSAndroid Build Coastguard Worker    case uniform_block_duplicate_member_name_3
408*35238bceSAndroid Build Coastguard Worker        version 300 es
409*35238bceSAndroid Build Coastguard Worker        expect compile_fail
410*35238bceSAndroid Build Coastguard Worker        both ""
411*35238bceSAndroid Build Coastguard Worker            #version 300 es
412*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
413*35238bceSAndroid Build Coastguard Worker            uniform mediump float var;
414*35238bceSAndroid Build Coastguard Worker            uniform Block
415*35238bceSAndroid Build Coastguard Worker            {
416*35238bceSAndroid Build Coastguard Worker                mediump float var;
417*35238bceSAndroid Build Coastguard Worker            };
418*35238bceSAndroid Build Coastguard Worker            void main()
419*35238bceSAndroid Build Coastguard Worker            {
420*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
421*35238bceSAndroid Build Coastguard Worker            }
422*35238bceSAndroid Build Coastguard Worker        ""
423*35238bceSAndroid Build Coastguard Worker    end
424*35238bceSAndroid Build Coastguard Worker
425*35238bceSAndroid Build Coastguard Worker    case uniform_block_duplicate_block_name
426*35238bceSAndroid Build Coastguard Worker        version 300 es
427*35238bceSAndroid Build Coastguard Worker        expect compile_fail
428*35238bceSAndroid Build Coastguard Worker        both ""
429*35238bceSAndroid Build Coastguard Worker            #version 300 es
430*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
431*35238bceSAndroid Build Coastguard Worker            uniform Block
432*35238bceSAndroid Build Coastguard Worker            {
433*35238bceSAndroid Build Coastguard Worker                mediump float var;
434*35238bceSAndroid Build Coastguard Worker            };
435*35238bceSAndroid Build Coastguard Worker            uniform Block
436*35238bceSAndroid Build Coastguard Worker            {
437*35238bceSAndroid Build Coastguard Worker                mediump float var2;
438*35238bceSAndroid Build Coastguard Worker            };
439*35238bceSAndroid Build Coastguard Worker            void main()
440*35238bceSAndroid Build Coastguard Worker            {
441*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
442*35238bceSAndroid Build Coastguard Worker            }
443*35238bceSAndroid Build Coastguard Worker        ""
444*35238bceSAndroid Build Coastguard Worker    end
445*35238bceSAndroid Build Coastguard Worker
446*35238bceSAndroid Build Coastguard Worker    case uniform_block_duplicate_instance_name_1
447*35238bceSAndroid Build Coastguard Worker        version 300 es
448*35238bceSAndroid Build Coastguard Worker        expect compile_fail
449*35238bceSAndroid Build Coastguard Worker        both ""
450*35238bceSAndroid Build Coastguard Worker            #version 300 es
451*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
452*35238bceSAndroid Build Coastguard Worker            uniform Block
453*35238bceSAndroid Build Coastguard Worker            {
454*35238bceSAndroid Build Coastguard Worker                mediump float var;
455*35238bceSAndroid Build Coastguard Worker            } block;
456*35238bceSAndroid Build Coastguard Worker            uniform Block2
457*35238bceSAndroid Build Coastguard Worker            {
458*35238bceSAndroid Build Coastguard Worker                mediump float var2;
459*35238bceSAndroid Build Coastguard Worker            } block;
460*35238bceSAndroid Build Coastguard Worker            void main()
461*35238bceSAndroid Build Coastguard Worker            {
462*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
463*35238bceSAndroid Build Coastguard Worker            }
464*35238bceSAndroid Build Coastguard Worker        ""
465*35238bceSAndroid Build Coastguard Worker    end
466*35238bceSAndroid Build Coastguard Worker
467*35238bceSAndroid Build Coastguard Worker    case uniform_block_duplicate_instance_name_2
468*35238bceSAndroid Build Coastguard Worker        version 300 es
469*35238bceSAndroid Build Coastguard Worker        expect compile_fail
470*35238bceSAndroid Build Coastguard Worker        both ""
471*35238bceSAndroid Build Coastguard Worker            #version 300 es
472*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
473*35238bceSAndroid Build Coastguard Worker            uniform mediump float block;
474*35238bceSAndroid Build Coastguard Worker            uniform Block
475*35238bceSAndroid Build Coastguard Worker            {
476*35238bceSAndroid Build Coastguard Worker                mediump float var;
477*35238bceSAndroid Build Coastguard Worker            } block;
478*35238bceSAndroid Build Coastguard Worker            void main()
479*35238bceSAndroid Build Coastguard Worker            {
480*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
481*35238bceSAndroid Build Coastguard Worker            }
482*35238bceSAndroid Build Coastguard Worker        ""
483*35238bceSAndroid Build Coastguard Worker    end
484*35238bceSAndroid Build Coastguard Worker
485*35238bceSAndroid Build Coastguard Worker    case uniform_block_duplicate_instance_name_3
486*35238bceSAndroid Build Coastguard Worker        version 300 es
487*35238bceSAndroid Build Coastguard Worker        expect compile_fail
488*35238bceSAndroid Build Coastguard Worker        both ""
489*35238bceSAndroid Build Coastguard Worker            #version 300 es
490*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
491*35238bceSAndroid Build Coastguard Worker            uniform Block
492*35238bceSAndroid Build Coastguard Worker            {
493*35238bceSAndroid Build Coastguard Worker                mediump float block;
494*35238bceSAndroid Build Coastguard Worker            };
495*35238bceSAndroid Build Coastguard Worker            uniform Block2
496*35238bceSAndroid Build Coastguard Worker            {
497*35238bceSAndroid Build Coastguard Worker                mediump float var2;
498*35238bceSAndroid Build Coastguard Worker            } block;
499*35238bceSAndroid Build Coastguard Worker            void main()
500*35238bceSAndroid Build Coastguard Worker            {
501*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
502*35238bceSAndroid Build Coastguard Worker            }
503*35238bceSAndroid Build Coastguard Worker        ""
504*35238bceSAndroid Build Coastguard Worker    end
505*35238bceSAndroid Build Coastguard Worker
506*35238bceSAndroid Build Coastguard Worker    case uniform_block_array_without_instance_name_1
507*35238bceSAndroid Build Coastguard Worker        version 300 es
508*35238bceSAndroid Build Coastguard Worker        expect compile_fail
509*35238bceSAndroid Build Coastguard Worker        both ""
510*35238bceSAndroid Build Coastguard Worker            #version 300 es
511*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
512*35238bceSAndroid Build Coastguard Worker            uniform Block[2]
513*35238bceSAndroid Build Coastguard Worker            {
514*35238bceSAndroid Build Coastguard Worker                mediump float var;
515*35238bceSAndroid Build Coastguard Worker            };
516*35238bceSAndroid Build Coastguard Worker            void main()
517*35238bceSAndroid Build Coastguard Worker            {
518*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
519*35238bceSAndroid Build Coastguard Worker            }
520*35238bceSAndroid Build Coastguard Worker        ""
521*35238bceSAndroid Build Coastguard Worker    end
522*35238bceSAndroid Build Coastguard Worker
523*35238bceSAndroid Build Coastguard Worker    case uniform_block_array_without_instance_name_2
524*35238bceSAndroid Build Coastguard Worker        version 300 es
525*35238bceSAndroid Build Coastguard Worker        expect compile_fail
526*35238bceSAndroid Build Coastguard Worker        both ""
527*35238bceSAndroid Build Coastguard Worker            #version 300 es
528*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
529*35238bceSAndroid Build Coastguard Worker            uniform Block
530*35238bceSAndroid Build Coastguard Worker            {
531*35238bceSAndroid Build Coastguard Worker                mediump float var;
532*35238bceSAndroid Build Coastguard Worker            } [2];
533*35238bceSAndroid Build Coastguard Worker            void main()
534*35238bceSAndroid Build Coastguard Worker            {
535*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
536*35238bceSAndroid Build Coastguard Worker            }
537*35238bceSAndroid Build Coastguard Worker        ""
538*35238bceSAndroid Build Coastguard Worker    end
539*35238bceSAndroid Build Coastguard Worker
540*35238bceSAndroid Build Coastguard Worker    case uniform_block_in
541*35238bceSAndroid Build Coastguard Worker        version 300 es
542*35238bceSAndroid Build Coastguard Worker        expect compile_fail
543*35238bceSAndroid Build Coastguard Worker        both ""
544*35238bceSAndroid Build Coastguard Worker            #version 300 es
545*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
546*35238bceSAndroid Build Coastguard Worker            uniform Block
547*35238bceSAndroid Build Coastguard Worker            {
548*35238bceSAndroid Build Coastguard Worker                in mediump float var;
549*35238bceSAndroid Build Coastguard Worker            };
550*35238bceSAndroid Build Coastguard Worker            void main()
551*35238bceSAndroid Build Coastguard Worker            {
552*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
553*35238bceSAndroid Build Coastguard Worker            }
554*35238bceSAndroid Build Coastguard Worker        ""
555*35238bceSAndroid Build Coastguard Worker    end
556*35238bceSAndroid Build Coastguard Worker
557*35238bceSAndroid Build Coastguard Worker    case uniform_block_out
558*35238bceSAndroid Build Coastguard Worker        version 300 es
559*35238bceSAndroid Build Coastguard Worker        expect compile_fail
560*35238bceSAndroid Build Coastguard Worker        both ""
561*35238bceSAndroid Build Coastguard Worker            #version 300 es
562*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
563*35238bceSAndroid Build Coastguard Worker            uniform Block
564*35238bceSAndroid Build Coastguard Worker            {
565*35238bceSAndroid Build Coastguard Worker                out mediump float var;
566*35238bceSAndroid Build Coastguard Worker            };
567*35238bceSAndroid Build Coastguard Worker            void main()
568*35238bceSAndroid Build Coastguard Worker            {
569*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
570*35238bceSAndroid Build Coastguard Worker            }
571*35238bceSAndroid Build Coastguard Worker        ""
572*35238bceSAndroid Build Coastguard Worker    end
573*35238bceSAndroid Build Coastguard Worker
574*35238bceSAndroid Build Coastguard Worker    case uniform_block_const
575*35238bceSAndroid Build Coastguard Worker        version 300 es
576*35238bceSAndroid Build Coastguard Worker        expect compile_fail
577*35238bceSAndroid Build Coastguard Worker        both ""
578*35238bceSAndroid Build Coastguard Worker            #version 300 es
579*35238bceSAndroid Build Coastguard Worker            ${DECLARATIONS}
580*35238bceSAndroid Build Coastguard Worker            uniform Block
581*35238bceSAndroid Build Coastguard Worker            {
582*35238bceSAndroid Build Coastguard Worker                const mediump float var;
583*35238bceSAndroid Build Coastguard Worker            };
584*35238bceSAndroid Build Coastguard Worker            void main()
585*35238bceSAndroid Build Coastguard Worker            {
586*35238bceSAndroid Build Coastguard Worker                ${OUTPUT}
587*35238bceSAndroid Build Coastguard Worker            }
588*35238bceSAndroid Build Coastguard Worker        ""
589*35238bceSAndroid Build Coastguard Worker    end
590*35238bceSAndroid Build Coastguard Worker
591*35238bceSAndroid Build Coastguard Workerend # invalid_declarations
592