Module: Mesa
Branch: main
Commit: d0caa50dcdac152bba7192e4c2397959cf607d83
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0caa50dcdac152bba7192e4c2397959cf607d83

Author: Rhys Perry <[email protected]>
Date:   Wed Apr 26 15:02:22 2023 +0100

aco: don't move exec writes around exec writes

Not sure if this is possible, but we should avoid it anyway.

No fossil-db changes.

Signed-off-by: Rhys Perry <[email protected]>
Reviewed-by: Timur Kristóf <[email protected]>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22714>

---

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

diff --git a/src/amd/compiler/aco_scheduler.cpp 
b/src/amd/compiler/aco_scheduler.cpp
index 690773a863e..69225ee2c6c 100644
--- a/src/amd/compiler/aco_scheduler.cpp
+++ b/src/amd/compiler/aco_scheduler.cpp
@@ -560,7 +560,7 @@ perform_hazard_query(hazard_query* query, Instruction* 
instr, bool upwards)
    if (!upwards && instr->opcode == aco_opcode::p_exit_early_if)
       return hazard_fail_unreorderable;
 
-   if (query->uses_exec) {
+   if (query->uses_exec || query->writes_exec) {
       for (const Definition& def : instr->definitions) {
          if (def.isFixed() && def.physReg() == exec)
             return hazard_fail_exec;

Reply via email to