1# Verifies that a clip distance output in VS does not mess things up for GS
2# in the presence of user varyings. In this case, no clip planes are enabled,
3# and GS doesn't output any clip distances either.
4
5[require]
6GLSL >= 1.50
7
8[vertex shader]
9#version 150
10
11in vec4 piglit_vertex;
12out vec4 color;
13
14void main() {
15  gl_ClipDistance[0] = 1.0;
16  gl_Position = piglit_vertex;
17  color = vec4(0, 1, 0, 1);
18}
19
20[geometry shader]
21#version 150
22
23layout (triangles) in;
24layout (triangle_strip, max_vertices = 3) out;
25
26in vec4 color[];
27out vec4 c;
28
29void main() {
30  int i;
31  for (i = 0; i < 3; i++) {
32    gl_Position = gl_in[i].gl_Position;
33    c = color[i];
34    EmitVertex();
35  }
36}
37
38[fragment shader]
39#version 150
40
41in vec4 c;
42out vec4 color;
43
44void main() {
45  color = c;
46}
47
48[test]
49clear color 0.2 0.2 0.2 0.2
50clear
51
52draw rect -1 -1 2 2
53probe all rgba 0 1 0 1
54