From 9f39531743663f9534a861c7ad7f849c4ca11cf5 Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Tue, 7 Mar 2023 14:30:06 +0100 Subject: [PATCH] r600/sfn: Can't use an indirect array access as source to AR load Signed-off-by: Gert Wollny Part-of: --- src/gallium/drivers/r600/sfn/sfn_instr_alu.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/gallium/drivers/r600/sfn/sfn_instr_alu.cpp b/src/gallium/drivers/r600/sfn/sfn_instr_alu.cpp index 6d6dd934969..75d48a7e642 100644 --- a/src/gallium/drivers/r600/sfn/sfn_instr_alu.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_instr_alu.cpp @@ -509,6 +509,13 @@ bool AluInstr::can_replace_source(PRegister old_src, PVirtualValue new_src) addr_reg->has_flag(Register::addr_or_idx)) return false; } + if (m_dest->has_flag(Register::addr_or_idx)) { + if (new_src->pin() == pin_array) { + auto s = static_cast(new_src)->addr(); + if (!s->as_inline_const() || !s->as_literal()) + return false; + } + } } return true; }