Mesa (master): pan/midgard: Lower texr/texw mixed registers
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Jul 30 17:02:26 UTC 2019
Module: Mesa
Branch: master
Commit: 2d2abb08d0eaeb7bf25655bdff4ea8dccee9a504
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d2abb08d0eaeb7bf25655bdff4ea8dccee9a504
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Tue Jul 30 08:09:51 2019 -0700
pan/midgard: Lower texr/texw mixed registers
Conceptually, r28-r29 (as used for reading) and r28-r29 (as used for
writing) aren't registers at all, merely push/pull arrangements. So you
can't feed a texture result back into itself without explicitly moving
in the middle.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
---
src/panfrost/midgard/midgard_ra.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/panfrost/midgard/midgard_ra.c b/src/panfrost/midgard/midgard_ra.c
index 60dadae945a..48a8c94bdd7 100644
--- a/src/panfrost/midgard/midgard_ra.c
+++ b/src/panfrost/midgard/midgard_ra.c
@@ -467,8 +467,8 @@ mir_lower_special_reads(compiler_context *ctx)
bool collision =
(is_alur && (is_ldst || is_texr)) ||
(is_ldst && (is_alur || is_texr || is_texw)) ||
- (is_texr && (is_alur || is_ldst)) ||
- (is_texw && (is_aluw || is_ldst));
+ (is_texr && (is_alur || is_ldst || is_texw)) ||
+ (is_texw && (is_aluw || is_ldst || is_texr));
if (!collision)
continue;
More information about the mesa-commit
mailing list