The only part of an ir_texture which can be an array is the offsets array in textureGatherOffsets() calls. We don't want to lower those, because they're required to remain constants.
Fixes textureGatherOffsets with Gallium drivers such as llvmpipe, which commit ef78df8d3b0cf540e5f08c8c2f6caa338b64a6c7 regressed. Cc: Michel Dänzer <mic...@daenzer.net> Cc: Ilia Mirkin <imir...@alum.mit.edu> Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> --- src/compiler/glsl/lower_const_arrays_to_uniforms.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/compiler/glsl/lower_const_arrays_to_uniforms.cpp b/src/compiler/glsl/lower_const_arrays_to_uniforms.cpp index 9948150..665a9ad 100644 --- a/src/compiler/glsl/lower_const_arrays_to_uniforms.cpp +++ b/src/compiler/glsl/lower_const_arrays_to_uniforms.cpp @@ -57,6 +57,7 @@ public: return progress; } + ir_visitor_status visit_enter(ir_texture *); void handle_rvalue(ir_rvalue **rvalue); private: @@ -64,6 +65,12 @@ private: bool progress; }; +ir_visitor_status +lower_const_array_visitor::visit_enter(ir_texture *) +{ + return visit_continue_with_parent; +} + void lower_const_array_visitor::handle_rvalue(ir_rvalue **rvalue) { -- 2.9.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev