ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_tessellation_shader / execution / vs-tes-tessinner-tessouter-inputs-quads-dlist.shader_test
blobb8323cbd71111c4b12df97a56418fdec6202a882
1 [require]
2 GL COMPAT >= 3.2
3 GLSL >= 1.50
4 GL_ARB_tessellation_shader
7 [vertex shader]
8 in vec4 vertex;
10 void main()
12         gl_Position = vertex;
16 [tessellation evaluation shader]
17 #extension GL_ARB_tessellation_shader: require
18 layout(quads) in;
20 out vec4 color;
22 void main() {
23         gl_Position = vec4(gl_TessCoord.xy * 2 - 1, 0, 1);
24         color = gl_TessLevelOuter[0] == 2.0 &&
25                 gl_TessLevelOuter[1] == 4.0 &&
26                 gl_TessLevelOuter[2] == 7.0 &&
27                 gl_TessLevelOuter[3] == 6.0 &&
28                 gl_TessLevelInner[0] == 5.0 &&
29                 gl_TessLevelInner[1] == 3.0 ?
30                         vec4(0.0, 1.0, 0.0, 1.0) : vec4(1.0, 0.0, 0.0, 1.0);
34 [fragment shader]
35 in vec4 color;
37 void main()
39         gl_FragColor = color;
42 [vertex data]
43 vertex/float/2
44 -1.0 -1.0
45  1.0 -1.0
46 -1.0  1.0
47 -1.0  1.0
48  1.0 -1.0
49  1.0  1.0
51 [test]
52 clear color 0.1 0.1 0.1 0.1
53 clear
55 newlist GL_COMPILE
56 patch parameter vertices 4
57 patch parameter default level outer 2 4 7 6
58 patch parameter default level inner 5 3
59 draw arrays GL_PATCHES 0 6
60 endlist
62 # make sure we haven't drawn anything yet
63 probe all rgba 0.1 0.1 0.1 0.1
65 # Set wrong patch param to make sure the call list is respected
66 patch parameter default level outer 1 3 5 2
67 patch parameter default level inner 6 4
69 calllist
70 probe all rgba 0.0 1.0 0.0 1.0
71 deletelist
73 clear color 0.1 0.1 0.1 0.1
74 clear
76 newlist GL_COMPILE_AND_EXECUTE
77 patch parameter vertices 4
78 patch parameter default level outer 2 4 7 6
79 patch parameter default level inner 5 3
80 draw arrays GL_PATCHES 0 6
81 endlist
83 probe all rgba 0.0 1.0 0.0 1.0
84 deletelist