From f315774727aad2b639fed2d471ee1cdb4e657d68 Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Wed, 22 Mar 2023 15:24:28 +0100 Subject: [PATCH] radeonsi: don't use si_decompress_dcc if the blitter is running MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Otherwise this will cause a blitter recursion which will crash at some point. Reviewed-by: Marek Olšák Part-of: --- src/gallium/drivers/radeonsi/si_blit.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_blit.c b/src/gallium/drivers/radeonsi/si_blit.c index 0450de767e6..4d5adbbcef7 100644 --- a/src/gallium/drivers/radeonsi/si_blit.c +++ b/src/gallium/drivers/radeonsi/si_blit.c @@ -1325,8 +1325,10 @@ void si_decompress_dcc(struct si_context *sctx, struct si_texture *tex) /* If graphics is disabled, we can't decompress DCC, but it shouldn't * be compressed either. The caller should simply discard it. + * If blitter is running, we can't decompress DCC either because it + * will cause a blitter recursion. */ - if (!tex->surface.meta_offset || !sctx->has_graphics) + if (!tex->surface.meta_offset || !sctx->has_graphics || sctx->blitter_running) return; si_blit_decompress_color(sctx, tex, 0, tex->buffer.b.b.last_level, 0,