From 9b872e794fa632e41be74808d8ab50e3fc4aa447 Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Mon, 28 Jun 2021 14:52:07 +0200 Subject: [PATCH] radeonsi/gfx7: always sync pfp/me MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Workaround for https://gitlab.freedesktop.org/mesa/mesa/-/issues/4764 Fixes: c5326164 ("radeonsi: add SI_CONTEXT_PFP_SYNC_ME to skip syncing PFP for image operations") Reviewed-by: Marek Olšák Part-of: (cherry picked from commit 822f37773687a4753a2dff8eba1173d57eb0ce18) --- .pick_status.json | 2 +- src/gallium/drivers/radeonsi/si_gfx_cs.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 05e54094921..d38a853573e 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -139,7 +139,7 @@ "description": "radeonsi/gfx7: always sync pfp/me", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "c53261645deca271522367e4af40393ff152eaee" }, diff --git a/src/gallium/drivers/radeonsi/si_gfx_cs.c b/src/gallium/drivers/radeonsi/si_gfx_cs.c index 24c830ab7dc..a3065d48f27 100644 --- a/src/gallium/drivers/radeonsi/si_gfx_cs.c +++ b/src/gallium/drivers/radeonsi/si_gfx_cs.c @@ -576,7 +576,9 @@ void si_emit_surface_sync(struct si_context *sctx, struct radeon_cmdbuf *cs, uns assert(sctx->chip_class <= GFX9); - cp_coher_cntl |= 1u << 31; /* don't sync PFP, i.e. execute the sync in ME */ + /* This seems problematic with GFX7 (see #4764) */ + if (sctx->chip_class != GFX7) + cp_coher_cntl |= 1u << 31; /* don't sync PFP, i.e. execute the sync in ME */ radeon_begin(cs);