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: ddb167e81a
  r600/sfn: Handle indirect array load/store dependencies better

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28840>
(cherry picked from commit a61b658d5f)
This commit is contained in:
Gert Wollny 2024-04-14 20:32:10 +02:00 committed by Eric Engestrom
parent 767a40dfa6
commit 9bcd937968
2 changed files with 2 additions and 1 deletions

View file

@ -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

View file

@ -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);
}