Mesa (master): freedreno/ir3: all mem instructions have WAR hazzard

Rob Clark robclark at kemper.freedesktop.org
Sun Dec 3 19:53:37 UTC 2017


Module: Mesa
Branch: master
Commit: 48eef0c18248db948378ecf9a5f9930fa467ae9f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=48eef0c18248db948378ecf9a5f9930fa467ae9f

Author: Rob Clark <robdclark at gmail.com>
Date:   Sun Dec  3 11:48:56 2017 -0500

freedreno/ir3: all mem instructions have WAR hazzard

It isn't just load instructions that have write-after-read hazzard.

Fixes stk gaussian blur compute shaders.

Signed-off-by: Rob Clark <robdclark at gmail.com>

---

 src/gallium/drivers/freedreno/ir3/ir3_legalize.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/freedreno/ir3/ir3_legalize.c b/src/gallium/drivers/freedreno/ir3/ir3_legalize.c
index 3f12b68ada..b4d5db58cc 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_legalize.c
+++ b/src/gallium/drivers/freedreno/ir3/ir3_legalize.c
@@ -211,7 +211,7 @@ legalize_block(struct ir3_legalize_ctx *ctx, struct ir3_block *block)
 		/* both tex/sfu appear to not always immediately consume
 		 * their src register(s):
 		 */
-		if (is_tex(n) || is_sfu(n) || is_load(n)) {
+		if (is_tex(n) || is_sfu(n) || is_mem(n)) {
 			foreach_src(reg, n) {
 				if (reg_gpr(reg))
 					regmask_set(&needs_ss_war, reg);




More information about the mesa-commit mailing list