diff options
-rw-r--r-- | .pick_status.json | 2 | ||||
-rw-r--r-- | src/gallium/drivers/radeonsi/si_pipe.c | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/.pick_status.json b/.pick_status.json index 7aff057b75c..44f8389990a 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -22,7 +22,7 @@ "description": "radeonsi: disable SDMA on gfx9", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "9680a7548951296e9657561cb421d8efea66c5db" }, diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c index 97989a275e3..e0420934c27 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.c +++ b/src/gallium/drivers/radeonsi/si_pipe.c @@ -475,6 +475,14 @@ static struct pipe_context *si_create_context(struct pipe_screen *screen, unsign * https://gitlab.freedesktop.org/mesa/mesa/-/issues/1889 */ (sctx->chip_class != GFX8 || sscreen->debug_flags & DBG(FORCE_SDMA)) && + /* SDMA causes corruption on gfx9 APUs: + * https://gitlab.freedesktop.org/mesa/mesa/-/issues/2814 + * + * While we could keep buffer copies and clears enabled, let's disable + * everything, because neither gfx8 nor gfx10 enable SDMA, and it's not + * easy to test. + */ + (sctx->chip_class != GFX9 || sscreen->debug_flags & DBG(FORCE_SDMA)) && /* SDMA timeouts sometimes on gfx10 so disable it for now. See: * https://bugs.freedesktop.org/show_bug.cgi?id=111481 * https://gitlab.freedesktop.org/mesa/mesa/-/issues/1907 |