On 03/23/2015 09:16 AM, Chris Forbes wrote:
Looks good to me. I should have considered this cross-stage case when
I fixed the first part of this bug...

Do you have a piglit test which hits this?

Nope, I can piglitize that test case in the bug though.

Reviewed-by: Chris Forbes <chr...@ijw.co.nz>

On Mon, Mar 23, 2015 at 8:12 PM, Tapani Pälli <tapani.pa...@intel.com> wrote:
Patch changes lowering pass to use unique name for each uniform
so that arrays from different stages cannot end up having same
name.

v2: instead of global counter, use pointer to achieve
     unique name (Kenneth Graunke)

Signed-off-by: Tapani Pälli <tapani.pa...@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89590
Cc: 10.5 10.4 <mesa-sta...@lists.freedesktop.org>
---
  configure.ac                                | 2 +-
  src/glsl/lower_const_arrays_to_uniforms.cpp | 4 +---
  2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index 08378f5..19d4c06 100644
--- a/configure.ac
+++ b/configure.ac
@@ -68,7 +68,7 @@ AC_SUBST([OSMESA_VERSION])
  dnl Versions for external dependencies
  LIBDRM_REQUIRED=2.4.38
  LIBDRM_RADEON_REQUIRED=2.4.56
-LIBDRM_INTEL_REQUIRED=2.4.60
+LIBDRM_INTEL_REQUIRED=2.4.59
  LIBDRM_NVVIEUX_REQUIRED=2.4.33
  LIBDRM_NOUVEAU_REQUIRED="2.4.33 libdrm >= 2.4.41"
  LIBDRM_FREEDRENO_REQUIRED=2.4.57
diff --git a/src/glsl/lower_const_arrays_to_uniforms.cpp 
b/src/glsl/lower_const_arrays_to_uniforms.cpp
index 2243f47..44967dc 100644
--- a/src/glsl/lower_const_arrays_to_uniforms.cpp
+++ b/src/glsl/lower_const_arrays_to_uniforms.cpp
@@ -49,7 +49,6 @@ public:
     {
        instructions = insts;
        progress = false;
-      index = 0;
     }

     bool run()
@@ -63,7 +62,6 @@ public:
  private:
     exec_list *instructions;
     bool progress;
-   unsigned index;
  };

  void
@@ -82,7 +80,7 @@ lower_const_array_visitor::handle_rvalue(ir_rvalue **rvalue)

     void *mem_ctx = ralloc_parent(con);

-   char *uniform_name = ralloc_asprintf(mem_ctx, "constarray__%d", index++);
+   char *uniform_name = ralloc_asprintf(mem_ctx, "constarray__%p", dra);

     ir_variable *uni =
        new(mem_ctx) ir_variable(con->type, uniform_name, ir_var_uniform);
--
2.1.0

_______________________________________________
mesa-stable mailing list
mesa-sta...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-stable
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to