[Mesa-dev] [PATCH 7/8] glsl/linker: Don't include interface name for built-in blocks

Timothy Arceri timothy.arceri at collabora.com
Tue May 17 23:35:51 UTC 2016


On Tue, 2016-05-17 at 15:11 -0700, Ian Romanick wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
> 
> Commit 11096ec introduced a regression in some piglit tests (e.g.,
> arb_program_interface_query-resource-query).  I did not notice this
> regression because other (unrelated) problems caused failed
> assertions
> in those same tests on my system... so they crashed before getting to
> the new failure.
> 
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> Cc: mesa-stable at lists.freedesktop.org
> ---
>  src/compiler/glsl/linker.cpp | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/src/compiler/glsl/linker.cpp
> b/src/compiler/glsl/linker.cpp
> index 7f54433..34b4a81 100644
> --- a/src/compiler/glsl/linker.cpp
> +++ b/src/compiler/glsl/linker.cpp
> @@ -3664,7 +3664,8 @@ add_shader_variable(struct gl_shader_program
> *shProg, unsigned stage_mask,
>         *    the name of the interface block (not the instance name)
> and
>         *    "Member" is the name of the variable."
>         */
> -      const char *prefixed_name = var->data.from_named_ifc_block
> +      const char *prefixed_name = (var->data.from_named_ifc_block &&
> +                                   strncmp(var->name, "gl_", 3) !=
> 0)

You could use !is_gl_identifier(var->name) which looks slightly nicer.

>           ? ralloc_asprintf(shProg, "%s.%s", var-
> >get_interface_type()->name,
>                             name)
>           : name;


More information about the mesa-dev mailing list