From: Samuel Pitoiset Date: Wed, 19 Apr 2017 13:37:49 +0000 (+0200) Subject: mesa: keep track of the current variable in add_uniform_to_shader X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=156bcbaca69046a97393297a0d8394eba38736b7;p=mesa.git mesa: keep track of the current variable in add_uniform_to_shader Bindless samplers are considered PROGRAM_UNIFORM but add_uniform_to_shader::visit_field() is based on glsl_type. Because only ir_variable knows if the uniform variable is bindless via ir_variable::bindless, store it instead of adding a new parameter to visit_field(). Signed-off-by: Samuel Pitoiset Reviewed-by: Nicolai Hähnle --- diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp index 4c30bea2f23..825f03d590e 100644 --- a/src/mesa/program/ir_to_mesa.cpp +++ b/src/mesa/program/ir_to_mesa.cpp @@ -2420,6 +2420,7 @@ public: void process(ir_variable *var) { this->idx = -1; + this->var = var; this->program_resource_visitor::process(var); var->data.param_index = this->idx; } @@ -2433,6 +2434,7 @@ private: struct gl_shader_program *shader_program; struct gl_program_parameter_list *params; int idx; + ir_variable *var; gl_shader_stage shader_type; };