[Piglit] [PATCH] glsl-1.50: do not link interface-blocks-containing-unsized-arrays.geom

Iago Toral Quiroga itoral at igalia.com
Fri Nov 4 12:33:14 UTC 2016

Linking means that we will validate in/out blocks between consumer and
producer stages. In this case it should fail because for geometry shaders
piglit will include a dummy vertex shader that does not have a matching
output block.

This has not been a problem until now because the linker was not detecting
this situation properly and did not produce the expected link error. I am
sending a patch to Mesa to fix this and once that lands this will start
to fail without this patch.
 .../compiler/interface-blocks-containing-unsized-arrays.geom       | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/tests/spec/glsl-1.50/compiler/interface-blocks-containing-unsized-arrays.geom b/tests/spec/glsl-1.50/compiler/interface-blocks-containing-unsized-arrays.geom
index 169122d..a11f291 100644
--- a/tests/spec/glsl-1.50/compiler/interface-blocks-containing-unsized-arrays.geom
+++ b/tests/spec/glsl-1.50/compiler/interface-blocks-containing-unsized-arrays.geom
@@ -1,12 +1,17 @@
 // [config]
 // expect_result: pass
 // glsl_version: 1.50
-// check_link: true
+// check_link: false
 // [end config]
 // Test that an interface block may contain members which are unsized
 // arrays.  Both GLSL 1.10 and GLSL 1.20 style array declarations are
 // tested.
+// We cannot check linking because with geometry shaders, piglit adds
+// a dummy vertex shader and in this case, for linking to work, we need
+// that dummy vertex shader to include a matching output block, which
+// it doesn't.
 #version 150
 layout(triangles) in;

More information about the Piglit mailing list