glsl/linker: Don't include interface name for built-in blocks

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.

v2: Use is_gl_identifier.  Suggested by Tim.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
Cc: mesa-stable@lists.freedesktop.org
This commit is contained in:
Ian Romanick
2016-05-17 13:30:46 -07:00
parent 2ef4b5bc93
commit 79bbff9def

View File

@@ -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 &&
!is_gl_identifier(var->name))
? ralloc_asprintf(shProg, "%s.%s", var->get_interface_type()->name,
name)
: name;