ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_tessellation_shader / execution / dvec3-vs-tcs-tes.shader_test
blob98110c9aa4cfe5f3b006682e79c969a1c0b2070b
1 # simple dvec3 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 dvec3 vs_var0;
13 void main()
15         gl_Position = vertex;
16         vs_var0 = dvec3(1.0LF, 2.0LF, 3.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 dvec3 vs_var0[];
26 out dvec3 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] + dvec3(2.0LF, 3.0LF, 4.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 dvec3 tcs_var0[];
42 flat out dvec3 tes_var0;
44 void main() {
45         gl_Position = gl_in[0].gl_Position * gl_TessCoord[0]
46                     + gl_in[1].gl_Position * gl_TessCoord[1]
47                     + gl_in[2].gl_Position * gl_TessCoord[2];
49         tes_var0 = tcs_var0[0] + dvec3(3.0LF, 4.0LF, 5.0LF);
53 [fragment shader]
54 #extension GL_ARB_gpu_shader_fp64: require
55 flat in dvec3 tes_var0;
57 void main()
59         if (tes_var0 == dvec3(6.0LF, 9.0LF, 12.0LF))
60                 gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
61         else
62                 gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
65 [vertex data]
66 vertex/float/2
67 -1.0 -1.0
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
74 [test]
75 clear color 0.1 0.1 0.1 0.1
76 clear
77 patch parameter vertices 3
78 draw arrays GL_PATCHES 0 6
79 probe all rgba 0.0 1.0 0.0 1.0