broadcom/compiler: check signal writes to magic regs when updating scoreboard
authorIago Toral Quiroga <itoral@igalia.com>
Fri, 16 Sep 2022 09:42:50 +0000 (11:42 +0200)
committerMarge Bot <emma+marge@anholt.net>
Tue, 20 Sep 2022 06:56:28 +0000 (06:56 +0000)
We have only been checking magic writes from ADD and MUL ports, but signals
can potentially write to magic registers too.

Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18667>

src/broadcom/compiler/qpu_schedule.c

index 74bd1cd..4b9a01f 100644 (file)
@@ -1326,6 +1326,12 @@ update_scoreboard_for_chosen(struct choose_scoreboard *scoreboard,
                 }
         }
 
+        if (v3d_qpu_sig_writes_address(devinfo, &inst->sig) && inst->sig_magic) {
+                update_scoreboard_for_magic_waddr(scoreboard,
+                                                  inst->sig_addr,
+                                                  devinfo);
+        }
+
         if (inst->sig.ldvary)
                 scoreboard->last_ldvary_tick = scoreboard->tick;
 }