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

Reply via email to