From 156bcbaca69046a97393297a0d8394eba38736b7 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 19 Apr 2017 15:37:49 +0200 Subject: [PATCH] mesa: keep track of the current variable in add_uniform_to_shader MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- src/mesa/program/ir_to_mesa.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp index 4c30bea..825f03d 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; }; -- 2.7.4