[Piglit] [PATCH 3/3] arb_program_interface_query: Fix TCS input expectations
Ian Romanick
idr at freedesktop.org
Wed May 25 22:36:16 UTC 2016
From: Ian Romanick <ian.d.romanick at intel.com>
Section 7.1 (Built-In Language Variables) of the GLSL 4.00 spec says:
In the tessellation control language, built-in variables are
intrinsically declared as:
in gl_PerVertex {
vec4 gl_Position;
float gl_PointSize;
float gl_ClipDistance[];
} gl_in[gl_MaxPatchVertices];
in int gl_PatchVerticesIn;
in int gl_PrimitiveID;
in int gl_InvocationID;
Since gl_PointSize, gl_ClipDistance[], gl_PatchVerticesIn, and
gl_PrimitiveID are not used, they are eliminated.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Cc: Martin Peres <martin.peres at linux.intel.com>
Cc: Dave Airlie <airlied at redhat.com>
---
.../arb_program_interface_query/resource-query.c | 23 +++++++---------------
1 file changed, 7 insertions(+), 16 deletions(-)
diff --git a/tests/spec/arb_program_interface_query/resource-query.c b/tests/spec/arb_program_interface_query/resource-query.c
index d16c092..c4d190c 100755
--- a/tests/spec/arb_program_interface_query/resource-query.c
+++ b/tests/spec/arb_program_interface_query/resource-query.c
@@ -211,25 +211,16 @@ static const char *st_r_in_vs[] = {"vs_input0", "vs_input1", NULL};
static const char *st_r_in_gs[] = {"gs_input[0]", "gl_PerVertex.gl_Position", NULL};
static const char *st_r_in_fs[] = {"fs_input1", NULL};
static const char *st_r_in_tes[] = {"tes_input[0]", "gl_PerVertex.gl_Position", NULL};
-static const char *st_r_in_tcs[] = {"tcs_input[0]", "gl_PerVertex.gl_Position", NULL};
+static const char *st_r_in_tcs[] = {"tcs_input[0]",
+ "gl_InvocationID",
+ "gl_PerVertex.gl_Position",
+ NULL};
static const char *st_r_out_vs[] = {"gl_Position", NULL};
static const char *st_r_out_gs[] = {"gs_output0", "gl_Position", NULL};
static const char *st_r_out_fs[] = {"fs_output0", "fs_output1", NULL};
static const char *st_r_out_tes[] = {"tes_output[0]", "gl_Position", NULL};
static const char *st_r_out_tcs[] = {"tcs_output[0]", "tcs_patch",
"gl_PerVertex.gl_Position",
- "gl_PerVertex.gl_BackColor",
- "gl_PerVertex.gl_BackSecondaryColor",
- "gl_PerVertex.gl_ClipDistance[0]",
- "gl_PerVertex.gl_CullDistance[0]",
- "gl_PerVertex.gl_FogFragCoord",
- "gl_PerVertex.gl_FrontColor",
- "gl_PerVertex.gl_FrontSecondaryColor",
- "gl_PerVertex.gl_Layer",
- "gl_PerVertex.gl_PointSize",
- "gl_PerVertex.gl_TexCoord[0]",
- "gl_PerVertex.gl_ViewportIndex",
- "gl_PerVertex.gl_ViewportMask[0]",
NULL};
static const char *st_r_buffer[] = {"vs_buf_var", "gs_buf_var", "fs_buf_var",
NULL};
@@ -375,8 +366,8 @@ static const struct subtest_t subtests[] = {
ST( 2, 25, -1, -1, NULL, NULL, NULL, gs_std, fs_std, NULL, GL_PROGRAM_INPUT, "(gs,fs)", st_r_in_gs),
ST( 2, 10, -1, -1, vs_std, NULL, NULL, gs_std, fs_std, NULL, GL_PROGRAM_INPUT, "(vs,gs,fs)", st_r_in_vs),
ST( 2, 25, -1, -1, NULL, NULL, tes_sub, NULL, NULL, NULL, GL_PROGRAM_INPUT, "(tes)", st_r_in_tes),
- ST( 2, 25, -1, -1, NULL, tcs_sub, NULL, NULL, NULL, NULL, GL_PROGRAM_INPUT, "(tcs)", st_r_in_tcs),
- ST( 2, 25, -1, -1, NULL, tcs_sub, tes_sub, NULL, NULL, NULL, GL_PROGRAM_INPUT, "(tcs,tes)", st_r_in_tcs),
+ ST( 3, 25, -1, -1, NULL, tcs_sub, NULL, NULL, NULL, NULL, GL_PROGRAM_INPUT, "(tcs)", st_r_in_tcs),
+ ST( 3, 25, -1, -1, NULL, tcs_sub, tes_sub, NULL, NULL, NULL, GL_PROGRAM_INPUT, "(tcs,tes)", st_r_in_tcs),
ST( 2, 10, -1, -1, vs_std, tcs_sub, tes_sub, NULL, NULL, NULL, GL_PROGRAM_INPUT, "(vs,tcs,tes)", st_r_in_vs),
ST( 0, 0, -1, -1, NULL, NULL, NULL, NULL, NULL, cs_sub, GL_PROGRAM_INPUT, "(cs)", NULL),
ST( 1, 12, -1, -1, vs_std, NULL, NULL, NULL, NULL, NULL, GL_PROGRAM_OUTPUT, "(vs)", st_r_out_vs),
@@ -387,7 +378,7 @@ static const struct subtest_t subtests[] = {
ST( 2, 11, -1, -1, NULL, NULL, NULL, gs_std, fs_std, NULL, GL_PROGRAM_OUTPUT, "(gs,fs)", st_r_out_fs),
ST( 2, 11, -1, -1, vs_std, NULL, NULL, gs_std, fs_std, NULL, GL_PROGRAM_OUTPUT, "(vs,gs,fs)", st_r_out_fs),
ST( 2, 14, -1, -1, NULL, NULL, tes_sub, NULL, NULL, NULL, GL_PROGRAM_OUTPUT, "(tes)", st_r_out_tes),
- ST(15, 36, -1, -1, NULL, tcs_sub, NULL, NULL, NULL, NULL, GL_PROGRAM_OUTPUT, "(tcs)", st_r_out_tcs),
+ ST( 3, 25, -1, -1, NULL, tcs_sub, NULL, NULL, NULL, NULL, GL_PROGRAM_OUTPUT, "(tcs)", st_r_out_tcs),
ST( 2, 14, -1, -1, NULL, tcs_sub, tes_sub, NULL, NULL, NULL, GL_PROGRAM_OUTPUT, "(tcs,tes)", st_r_out_tes),
ST( 2, 12, -1, -1, NULL, tcs_sub, tes_sub, gs_std, NULL, NULL, GL_PROGRAM_OUTPUT, "(tcs,tes,gs)", st_r_out_gs),
ST( 0, 0, -1, -1, NULL, NULL, NULL, NULL, NULL, cs_sub, GL_PROGRAM_OUTPUT, "(cs)", st_r_cs_sub),
--
2.5.5
More information about the Piglit
mailing list