Mesa (staging/21.1): radeonsi/gfx7: always sync pfp/me
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jun 30 08:10:55 UTC 2021
Module: Mesa
Branch: staging/21.1
Commit: fe04c10291271aede93bfbc8ec38cd7fd075fe9d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fe04c10291271aede93bfbc8ec38cd7fd075fe9d
Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Date: Mon Jun 28 14:52:07 2021 +0200
radeonsi/gfx7: always sync pfp/me
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 <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11625>
(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 feaee38b087..3f3f17e6c3a 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);
More information about the mesa-commit
mailing list