From d69c1ca1a057872e4eebee46489943c6bbd213dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Mon, 23 Sep 2024 18:05:36 +0200 Subject: [PATCH] Revert "radeonsi: remove CB sync after FMASK and DCC decompression" This reverts commit 3527d9f81d61fe9a54b4b29f75213314d56b3aef. It broke piglit glx@glx-visuals-depth/glx@glx-visuals-stencil on Navi 14. Part-of: --- src/gallium/drivers/radeonsi/si_blit.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/drivers/radeonsi/si_blit.c b/src/gallium/drivers/radeonsi/si_blit.c index ac91d873ad9..656db4b6f93 100644 --- a/src/gallium/drivers/radeonsi/si_blit.c +++ b/src/gallium/drivers/radeonsi/si_blit.c @@ -515,6 +515,12 @@ static void si_blit_decompress_color(struct si_context *sctx, struct si_texture util_blitter_custom_color(sctx->blitter, cbsurf, custom_blend); si_blitter_end(sctx); + if (custom_blend == sctx->custom_blend_fmask_decompress || + custom_blend == sctx->custom_blend_dcc_decompress) { + sctx->barrier_flags |= SI_BARRIER_SYNC_AND_INV_CB; + si_mark_atom_dirty(sctx, &sctx->atoms.s.barrier); + } + /* When running FMASK decompression with DCC, we need to run the "eliminate fast clear" pass * separately because FMASK decompression doesn't eliminate DCC fast clear. This makes * render->texture transitions more expensive. It can be disabled by