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 <samuel.pitoi...@gmail.com> --- 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 3299ab722a..a1a788e9e8 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.13.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev