Mesa fails to link GLSL programs with unused output blocks declared in a shader object other than the main one.
This bugs affects multiple application in Wine when GL core profiles are enabled.
Thanks for reporting this. I saw your piglit test yesterday. It's a bug yes.
Patch merged to master:
commit 4a8444d5bc865119218eca8674e5614535f4829e (HEAD -> new_master, origin/master, origin/HEAD)
Author: vadym.shovkoplias <firstname.lastname@example.org>
Date: Thu Aug 23 13:12:16 2018 +0300
glsl/linker: Allow unused in blocks which are not declated on previous stage
>From Section 4.3.4 (Inputs) of the GLSL 1.50 spec:
"Only the input variables that are actually read need to be written
by the previous stage; it is allowed to have superfluous
declarations of input variables."
Update comment in ir.h since the usage of "used" field
has been extended.
Signed-off-by: Vadym Shovkoplias <email@example.com>
Reviewed-by: Alejandro Piñeiro <firstname.lastname@example.org>
Reviewed-by: Timothy Arceri <email@example.com>