To do this we make sure to only append the array subscript to structs. --- src/mesa/program/sampler.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/src/mesa/program/sampler.cpp b/src/mesa/program/sampler.cpp index ea3024d..34eee6d 100644 --- a/src/mesa/program/sampler.cpp +++ b/src/mesa/program/sampler.cpp @@ -38,14 +38,12 @@ class get_sampler_name : public ir_hierarchical_visitor { public: - get_sampler_name(ir_dereference *last, - struct gl_shader_program *shader_program) + get_sampler_name(struct gl_shader_program *shader_program) { this->mem_ctx = ralloc_context(NULL); this->shader_program = shader_program; this->name = NULL; this->offset = 0; - this->last = last; } ~get_sampler_name() @@ -86,7 +84,7 @@ public: "and is unlikely to be supported for 1.10 in Mesa.\n"); i = 0; } - if (ir != last) { + if (ir->type->without_array()->is_record()) { this->name = ralloc_asprintf(mem_ctx, "%s[%d]", name, i); } else { offset = i; @@ -98,7 +96,6 @@ public: const char *name; void *mem_ctx; int offset; - ir_dereference *last; }; @@ -107,7 +104,7 @@ _mesa_get_sampler_uniform_value(class ir_dereference *sampler, struct gl_shader_program *shader_program, const struct gl_program *prog) { - get_sampler_name getname(sampler, shader_program); + get_sampler_name getname(shader_program); GLuint shader = _mesa_program_enum_to_shader_stage(prog->Target); -- 2.1.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev