From 316d3a3f95144ed987d6fca6ba43a3b0b8bf5354 Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Wed, 2 Jul 2025 11:54:20 +0200 Subject: [PATCH] r600/sfn: reuse readport for already loaded registers Signed-off-by: Gert Wollny Part-of: --- .../drivers/r600/sfn/sfn_alu_readport_validation.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/gallium/drivers/r600/sfn/sfn_alu_readport_validation.cpp b/src/gallium/drivers/r600/sfn/sfn_alu_readport_validation.cpp index 6dbf7526f62..91d348971ae 100644 --- a/src/gallium/drivers/r600/sfn/sfn_alu_readport_validation.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_alu_readport_validation.cpp @@ -163,6 +163,13 @@ AluReadportReservation::AluReadportReservation() bool AluReadportReservation::reserve_gpr(int sel, int chan, int cycle) { + for (int c = 0; c < 3; ++c) { + if (m_hw_gpr[c][chan] == sel) { + if (cycle == c) + return true; + } + } + if (m_hw_gpr[cycle][chan] == -1) { m_hw_gpr[cycle][chan] = sel; } else if (m_hw_gpr[cycle][chan] != sel) {