ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_tessellation_shader / execution / vs-tcs-tes-vertex.shader_test
blob9e5aae6612e011a6a2f3114eba2ae91da690c217
1 [require]
2 GLSL >= 1.50
3 GL_ARB_tessellation_shader
6 [vertex shader]
7 in vec4 vertex;
8 out vec4 color;
10 void main()
12         gl_Position = vertex;
13         color = vec4(0, 1, 0, 1);
17 [tessellation control shader]
18 #extension GL_ARB_tessellation_shader: require
19 layout(vertices = 3) out;
21 in vec4 color[];
22 out vec4 color_tes[];
24 void main() {
25         gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;
26         gl_TessLevelOuter = float[4](1.0, 1.0, 1.0, 0.0);
27         gl_TessLevelInner = float[2](0.0, 0.0);
28         color_tes[gl_InvocationID] = color[gl_InvocationID];
32 [tessellation evaluation shader]
33 #extension GL_ARB_tessellation_shader: require
34 layout(triangles) in;
36 in vec4 color_tes[];
37 out vec4 color_fs;
39 void main() {
40         gl_Position = gl_in[0].gl_Position * gl_TessCoord[0]
41                     + gl_in[1].gl_Position * gl_TessCoord[1]
42                     + gl_in[2].gl_Position * gl_TessCoord[2];
44         color_fs = color_tes[0] * gl_TessCoord[0]
45                    + color_tes[1] * gl_TessCoord[1]
46                    + color_tes[2] * gl_TessCoord[2];
50 [fragment shader]
51 in vec4 color_fs;
53 void main()
55         gl_FragColor = color_fs;
58 [vertex data]
59 vertex/float/2
60 -1.0 -1.0
61  1.0 -1.0
62 -1.0  1.0
63 -1.0  1.0
64  1.0 -1.0
65  1.0  1.0
67 [test]
68 clear color 0.1 0.1 0.1 0.1
69 clear
70 patch parameter vertices 3
71 draw arrays GL_PATCHES 0 6
72 probe all rgba 0.0 1.0 0.0 1.0