ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_tessellation_shader / execution / dvec2-vs-tcs-tes.shader_test
blob90eb9f905495cf06705c13e501a8997ff22b80e7
1 # simple dvec2 through vs->tcs->tes->fs.
2 [require]
3 GLSL >= 1.50
4 GL_ARB_tessellation_shader
5 GL_ARB_gpu_shader_fp64
7 [vertex shader]
8 #extension GL_ARB_gpu_shader_fp64: require
9 in vec4 vertex;
11 out dvec2 vs_var0;
13 void main()
15         gl_Position = vertex;
16         vs_var0 = dvec2(1.0LF, 2.0LF);
20 [tessellation control shader]
21 #extension GL_ARB_tessellation_shader: require
22 #extension GL_ARB_gpu_shader_fp64: require
23 layout(vertices = 3) out;
25 in dvec2 vs_var0[];
26 out dvec2 tcs_var0[];
28 void main() {
29         gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;
30         gl_TessLevelOuter = float[4](1.0, 1.0, 1.0, 0.0);
31         gl_TessLevelInner = float[2](0.0, 0.0);
32         tcs_var0[gl_InvocationID] = vs_var0[gl_InvocationID] + dvec2(2.0LF, 3.0LF);
36 [tessellation evaluation shader]
37 #extension GL_ARB_tessellation_shader: require
38 #extension GL_ARB_gpu_shader_fp64: require
39 layout(triangles) in;
41 in dvec2 tcs_var0[];
42 flat out dvec2 tes_var0;
44 void main() {
45         dvec2 temp;
46         gl_Position = gl_in[0].gl_Position * gl_TessCoord[0]
47                     + gl_in[1].gl_Position * gl_TessCoord[1]
48                     + gl_in[2].gl_Position * gl_TessCoord[2];
50         tes_var0 = tcs_var0[0] + dvec2(3.0LF, 4.0LF);
54 [fragment shader]
55 #extension GL_ARB_gpu_shader_fp64: require
56 flat in dvec2 tes_var0;
58 void main()
60         if (tes_var0 == dvec2(6.0LF, 9.0LF))
61                 gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
62         else
63                 gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
66 [vertex data]
67 vertex/float/2
68 -1.0 -1.0
69  1.0 -1.0
70 -1.0  1.0
71 -1.0  1.0
72  1.0 -1.0
73  1.0  1.0
75 [test]
76 clear color 0.1 0.1 0.1 0.1
77 clear
78 patch parameter vertices 3
79 draw arrays GL_PATCHES 0 6
80 probe all rgba 0.0 1.0 0.0 1.0