From e201b751fc31126e2663de4a59237de0726b470a Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Tue, 23 Aug 2022 15:30:23 +0200 Subject: [PATCH] r600/sfn: Don't schedule GDS instructions early Atomic GDS instructions like inc, dec, or read will increase the register pressure, therefore we shouldn't prioritize scheduling them. Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6975 Fixes: 79ca456b4837b3bc21cf9ef3c03c505c4b4909f6 r600/sfn: rewrite NIR backend Signed-off-by: Gert Wollny Reviewed-by: Filip Gawin Part-of: (cherry picked from commit 79eabb81304c0886b723371adfad07ccd7469db5) --- .pick_status.json | 2 +- src/gallium/drivers/r600/sfn/sfn_scheduler.cpp | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index f523c7ee3cd..1a713f4fb2d 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -10309,7 +10309,7 @@ "description": "r600/sfn: Don't schedule GDS instructions early", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "79ca456b4837b3bc21cf9ef3c03c505c4b4909f6" }, diff --git a/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp b/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp index a8c0d3665b4..ea742f953cc 100644 --- a/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp @@ -333,8 +333,6 @@ void BlockSheduler::schedule_block(Block& in_block, Shader::ShaderBlocks& out_bl current_shed = sched_mem_ring; else if (rat_instr_ready.size() > 3) current_shed = sched_rat; - else if (gds_ready.size() > 3) - current_shed = sched_gds; else if (tex_ready.size() > 3) current_shed = sched_tex; }