Module: Mesa
Branch: master
Commit: 2c050b49b3d776f054f1265d5523cabb61f22fc3
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c050b49b3d776f054f1265d5523cabb61f22fc3

Author: Daniel Schürmann <[email protected]>
Date:   Thu Sep 19 18:48:01 2019 +0200

aco: only emit waitcnt on loop continues if we there was some load or export

Reviewed-by: Rhys Perry <[email protected]>

---

 src/amd/compiler/aco_insert_waitcnt.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/amd/compiler/aco_insert_waitcnt.cpp 
b/src/amd/compiler/aco_insert_waitcnt.cpp
index d19fdadadea..9bd9f06e6c2 100644
--- a/src/amd/compiler/aco_insert_waitcnt.cpp
+++ b/src/amd/compiler/aco_insert_waitcnt.cpp
@@ -648,7 +648,7 @@ void handle_block(Program *program, Block& block, wait_ctx& 
ctx)
    /* check if this block is at the end of a loop */
    for (unsigned succ_idx : block.linear_succs) {
       /* eliminate any remaining counters */
-      if (succ_idx <= block.index && (ctx.vm_cnt || ctx.exp_cnt || 
ctx.lgkm_cnt || ctx.vs_cnt)) {
+      if (succ_idx <= block.index && (ctx.vm_cnt || ctx.exp_cnt || 
ctx.lgkm_cnt || ctx.vs_cnt) && !ctx.gpr_map.empty()) {
          // TODO: we could do better if we only wait if the regs between the 
block and other predecessors differ
 
          aco_ptr<Instruction> branch = std::move(new_instructions.back());

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to