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; -- 2.7.4 _______________________________________________ Piglit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/piglit
