[Mesa-dev] [Mesa-stable] [PATCH v2] glsl: fix names in lower_constant_arrays_to_uniforms

Tapani Pälli tapani.palli at intel.com
Mon Mar 23 00:23:02 PDT 2015



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 <chrisf at ijw.co.nz>
>
> On Mon, Mar 23, 2015 at 8:12 PM, Tapani Pälli <tapani.palli at 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.palli at intel.com>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89590
>> Cc: 10.5 10.4 <mesa-stable at 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-stable at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-stable


More information about the mesa-dev mailing list