From 9bcd93796805fdb55e6e8a7e9424b34d33f3480a Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Sun, 14 Apr 2024 20:32:10 +0200 Subject: [PATCH] r600/sfn: Add array element parent also to array This is probably overdoing debendencies in many cases, but it fixes a bug where scheduling goes wrong. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10984 Fixes: ddb167e81a18c09bd3a4c519e8728e2842d827f1 r600/sfn: Handle indirect array load/store dependencies better Signed-off-by: Gert Wollny Part-of: (cherry picked from commit a61b658d5fa5007113ce2c9dae030a6d00ebfc54) --- .pick_status.json | 2 +- src/gallium/drivers/r600/sfn/sfn_virtualvalues.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 29a705acf9f..bfb6ce9bc3f 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -44,7 +44,7 @@ "description": "r600/sfn: Add array element parent also to array", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "ddb167e81a18c09bd3a4c519e8728e2842d827f1", "notes": null diff --git a/src/gallium/drivers/r600/sfn/sfn_virtualvalues.cpp b/src/gallium/drivers/r600/sfn/sfn_virtualvalues.cpp index 804d1bac2e4..9c70915e217 100644 --- a/src/gallium/drivers/r600/sfn/sfn_virtualvalues.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_virtualvalues.cpp @@ -1076,6 +1076,7 @@ LocalArrayValue::accept(ConstRegisterVisitor& vistor) const void LocalArrayValue::add_parent_to_array(Instr *instr) { + m_array.add_parent(instr); if (m_addr) m_array.add_parent_to_elements(chan(), instr); }