1 # pass a dmat4x3 through vs->tcs->tes->fs.
4 GL_ARB_tessellation_shader
8 #extension GL_ARB_gpu_shader_fp64: require
16 vs_var0 = dmat4x3(1.0LF, 2.0LF, 3.0LF, 4.0LF, 5.0LF, 6.0LF, 7.0LF, 8.0LF, 9.0LF, 10.0LF, 11.0LF, 12.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;
26 out dmat4x3 tcs_var0[];
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];
36 [tessellation evaluation shader]
37 #extension GL_ARB_tessellation_shader: require
38 #extension GL_ARB_gpu_shader_fp64: require
41 in dmat4x3 tcs_var0[];
42 flat out dmat4x3 tes_var0;
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];
55 #extension GL_ARB_gpu_shader_fp64: require
56 flat in dmat4x3 tes_var0;
60 if (tes_var0 == dmat4x3(1.0LF, 2.0LF, 3.0LF, 4.0LF, 5.0LF, 6.0LF, 7.0LF, 8.0LF, 9.0LF, 10.0LF, 11.0LF, 12.0LF))
61 gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
63 gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
76 clear color 0.1 0.1 0.1 0.1
78 patch parameter vertices 3
79 draw arrays GL_PATCHES 0 6
80 probe all rgba 0.0 1.0 0.0 1.0