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

Iago Toral itoral at igalia.com
Wed Nov 9 11:41:46 UTC 2016


If nobody has comments about this, I'd like to push it tomorrow
together with the corresponding patch in Mesa.

Iago

On Fri, 2016-11-04 at 13:33 +0100, Iago Toral Quiroga wrote:
> 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