Mesa (master): glsl/linker: Don' t include interface name for built-in blocks

Ian Romanick idr at kemper.freedesktop.org
Wed May 18 17:54:10 UTC 2016


Module: Mesa
Branch: master
Commit: 79bbff9defd98167bf14336a44985088e2fd3f37
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=79bbff9defd98167bf14336a44985088e2fd3f37

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Tue May 17 13:30:46 2016 -0700

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 at intel.com>
Reviewed-by: Timothy Arceri <timothy.arceri at collabora.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..6246944 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 &&
+                                   !is_gl_identifier(var->name))
          ? ralloc_asprintf(shProg, "%s.%s", var->get_interface_type()->name,
                            name)
          : name;




More information about the mesa-commit mailing list