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@collabora.com>
This commit is contained in:
Alyssa Rosenzweig 2019-07-30 08:09:51 -07:00
parent 2b248af43e
commit 2d2abb08d0

View file

@ -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;