diff options
-rw-r--r-- | src/glsl/lower_const_arrays_to_uniforms.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/glsl/lower_const_arrays_to_uniforms.cpp b/src/glsl/lower_const_arrays_to_uniforms.cpp index b3c0ee29fba..700e9039f74 100644 --- a/src/glsl/lower_const_arrays_to_uniforms.cpp +++ b/src/glsl/lower_const_arrays_to_uniforms.cpp @@ -49,6 +49,7 @@ public: { instructions = insts; progress = false; + index = 0; } bool run() @@ -62,6 +63,7 @@ public: private: exec_list *instructions; bool progress; + unsigned index; }; void @@ -76,8 +78,10 @@ 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++); + ir_variable *uni = - new(mem_ctx) ir_variable(con->type, "constarray", ir_var_uniform); + new(mem_ctx) ir_variable(con->type, uniform_name, ir_var_uniform); uni->constant_initializer = con; uni->constant_value = con; uni->data.has_initializer = true; |