Module: Mesa Branch: staging/22.2 Commit: 20960625393def6674dd4693677c95b09f38eaf5 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=20960625393def6674dd4693677c95b09f38eaf5
Author: Gert Wollny <[email protected]> Date: Tue Aug 23 15:30:23 2022 +0200 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 <[email protected]> Reviewed-by: Filip Gawin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18212> (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 dbc9d0b131d..1cdea0d15d3 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2902,7 +2902,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; }
