1 # simple double array through vs->tcs->tes->fs.
4 GL_ARB_tessellation_shader
8 #extension GL_ARB_gpu_shader_fp64: require
24 [tessellation control shader]
25 #extension GL_ARB_tessellation_shader: require
26 #extension GL_ARB_gpu_shader_fp64: require
27 layout(vertices = 3) out;
38 gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;
39 gl_TessLevelOuter = float[4](1.0, 1.0, 1.0, 0.0);
40 gl_TessLevelInner = float[2](0.0, 0.0);
41 outp[gl_InvocationID].tcs_var0[0] = inp[gl_InvocationID].vs_var0[0] + 2.0LF;
42 outp[gl_InvocationID].tcs_var0[1] = inp[gl_InvocationID].vs_var0[1] + 3.0LF;
46 [tessellation evaluation shader]
47 #extension GL_ARB_tessellation_shader: require
48 #extension GL_ARB_gpu_shader_fp64: require
56 flat double tes_var0[2];
61 gl_Position = gl_in[0].gl_Position * gl_TessCoord[0]
62 + gl_in[1].gl_Position * gl_TessCoord[1]
63 + gl_in[2].gl_Position * gl_TessCoord[2];
65 tes_var0[0] = inp[0].tcs_var0[0] + 3.0LF;
66 tes_var0[1] = inp[0].tcs_var0[1] + 4.0LF;
71 #extension GL_ARB_gpu_shader_fp64: require
73 flat double tes_var0[2];
78 if (tes_var0[0] == 6.0LF && tes_var0[1] == 9.0LF)
79 gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
81 gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
94 clear color 0.1 0.1 0.1 0.1
96 patch parameter vertices 3
97 draw arrays GL_PATCHES 0 6
98 probe all rgba 0.0 1.0 0.0 1.0