ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_tessellation_shader / execution / vs-tcs-tes-tessinner-tessouter-inputs-tris.shader_test
blob3a75b362cd75da111ea4729d57f8760136333a1e
1 [require]
2 GLSL >= 1.50
3 GL_ARB_tessellation_shader
6 [vertex shader]
7 in vec4 vertex;
9 void main()
11         gl_Position = vertex;
15 [tessellation control shader]
16 #extension GL_ARB_tessellation_shader: require
17 layout(vertices = 3) out;
19 void main() {
20         gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;
21         gl_TessLevelOuter = float[4](3.0, 2.0, 4.0, 5.0);
22         gl_TessLevelInner = float[2](6.0, 7.0);
26 [tessellation evaluation shader]
27 #extension GL_ARB_tessellation_shader: require
28 layout(triangles) in;
30 out vec4 color;
32 void main() {
33         gl_Position = gl_in[0].gl_Position * gl_TessCoord[0]
34                     + gl_in[1].gl_Position * gl_TessCoord[1]
35                     + gl_in[2].gl_Position * gl_TessCoord[2];
36         color = gl_TessLevelOuter[0] == 3.0 &&
37                 gl_TessLevelOuter[1] == 2.0 &&
38                 gl_TessLevelOuter[2] == 4.0 &&
39                 gl_TessLevelInner[0] == 6.0 ?
40                         vec4(0.0, 1.0, 0.0, 1.0) : vec4(1.0, 0.0, 0.0, 1.0);
44 [fragment shader]
45 in vec4 color;
47 void main()
49         gl_FragColor = color;
52 [vertex data]
53 vertex/float/2
54 -1.0 -1.0
55  1.0 -1.0
56 -1.0  1.0
57 -1.0  1.0
58  1.0 -1.0
59  1.0  1.0
61 [test]
62 clear color 0.1 0.1 0.1 0.1
63 clear
64 patch parameter vertices 3
65 draw arrays GL_PATCHES 0 6
66 probe all rgba 0.0 1.0 0.0 1.0