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 <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864>
This commit is contained in:
Marek Olšák 2022-07-20 00:34:57 -04:00 committed by Marge Bot
parent 922f54a0c8
commit 233b4271dc

View file

@ -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;