From 233b4271dc58c1e9ee5b5c3ba3815397c6994c19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Wed, 20 Jul 2022 00:34:57 -0400 Subject: [PATCH] radeonsi: call pipe->blit instead of util_blitter_blit after MSAA resolving This fixes a problem where the destination has a DCC-incompatible view format and triggers a DCC decompression using a custom u_blitter path, which is disallowed inside u_blitter due to it being a u_blitter recursion that always crashes. This is also better because we'll get the best codepath (u_blitter or compute) instead of just u_blitter, Reviewed-by: Pierre-Eric Pelloux-Prayer Part-of: --- src/gallium/drivers/radeonsi/si_blit.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_blit.c b/src/gallium/drivers/radeonsi/si_blit.c index 495502d0fc7..26511dc3fa5 100644 --- a/src/gallium/drivers/radeonsi/si_blit.c +++ b/src/gallium/drivers/radeonsi/si_blit.c @@ -1205,9 +1205,7 @@ resolve_to_temp: blit.src.resource = tmp; blit.src.box.z = 0; - si_blitter_begin(sctx, SI_BLIT | (info->render_condition_enable ? 0 : SI_DISABLE_RENDER_COND)); - util_blitter_blit(sctx->blitter, &blit); - si_blitter_end(sctx); + ctx->blit(ctx, &blit); pipe_resource_reference(&tmp, NULL); return true;