Mesa (main): ir3/postsched: Support multi-mov instructions
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Jun 29 08:25:32 UTC 2021
Module: Mesa
Branch: main
Commit: 3896de621e3fdb69e0e20921f6972f06c13e40fe
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3896de621e3fdb69e0e20921f6972f06c13e40fe
Author: Connor Abbott <cwabbott0 at gmail.com>
Date: Thu Apr 22 19:11:05 2021 +0200
ir3/postsched: Support multi-mov instructions
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11565>
---
src/freedreno/ir3/ir3_postsched.c | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/src/freedreno/ir3/ir3_postsched.c b/src/freedreno/ir3/ir3_postsched.c
index a764acb7ebb..50c223b35cb 100644
--- a/src/freedreno/ir3/ir3_postsched.c
+++ b/src/freedreno/ir3/ir3_postsched.c
@@ -460,22 +460,22 @@ calculate_deps(struct ir3_postsched_deps_state *state,
}
}
- if (dest_regs(node->instr) == 0)
- return;
-
/* And then after we update the state for what this instruction
* wrote:
*/
- struct ir3_register *reg = node->instr->dsts[0];
- if (reg->flags & IR3_REG_RELATIV) {
- /* mark the entire array as written: */
- for (unsigned i = 0; i < reg->size; i++) {
- add_reg_dep(state, node, reg, reg->array.base + i, -1);
- }
- } else {
- assert(reg->wrmask >= 1);
- u_foreach_bit (b, reg->wrmask) {
- add_reg_dep(state, node, reg, reg->num + b, -1);
+ foreach_dst (reg, node->instr) {
+ if (reg->wrmask == 0)
+ continue;
+ if (reg->flags & IR3_REG_RELATIV) {
+ /* mark the entire array as written: */
+ for (unsigned i = 0; i < reg->size; i++) {
+ add_reg_dep(state, node, reg, reg->array.base + i, -1);
+ }
+ } else {
+ assert(reg->wrmask >= 1);
+ u_foreach_bit (b, reg->wrmask) {
+ add_reg_dep(state, node, reg, reg->num + b, -1);
+ }
}
}
}
More information about the mesa-commit
mailing list