generate OpLine before OpFunction
[platform/upstream/glslang.git] / Test / 420.tesc
1 #version 420 core\r
2 \r
3 #extension GL_ARB_separate_shader_objects : enable\r
4 \r
5 layout(vertices = 4) out;\r
6 \r
7 out gl_PerVertex {\r
8     vec4 gl_Position;\r
9 } gl_out[3];                 // ERROR, wrong size\r
10 \r
11 out int a[gl_out.length()];\r
12 out int outb[5];             // ERROR, wrong size\r
13 out int outc[];\r
14 \r
15 void main()\r
16 {\r
17     vec4 p = gl_in[1].gl_Position;\r
18     float ps = gl_in[1].gl_PointSize;\r
19     float cd = gl_in[1].gl_ClipDistance[2];\r
20 \r
21     int pvi = gl_PatchVerticesIn;\r
22     int pid = gl_PrimitiveID;\r
23     int iid = gl_InvocationID;\r
24 \r
25     gl_out[gl_InvocationID].gl_Position = p;\r
26     gl_out[gl_InvocationID].gl_PointSize = ps;        // ERROR\r
27 }\r
28 \r
29 out float outf;  // ERROR, no array\r
30 \r
31 layout (location = 0) in dmat2x4 vs_tcs_first[];\r
32 layout (location = 12) in dmat2x4 vs_tcs_last[];\r
33 \r
34 void foo()\r
35 {\r
36  if ((dmat2x4(dvec4(-0.625, -0.5, -0.375lf, -0.25), dvec4(-0.375, -0.25, -0.125, 0)) != vs_tcs_first[0]) ||\r
37         (dmat2x4(dvec4(0.375, 0.5, 0.625, 0.75), dvec4(0.625, 0.75, 0.875, -0.625)) != vs_tcs_last[0]))\r
38     {\r
39         ;\r
40     }\r
41 }\r
42 \r
43 layout(vertices = 0) out;  // ERROR, can't be 0\r