radeonsi: don't sync CS and PS before rendering if there are no FBO attachments

because CB/DB don't read/write anything in that case

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31291>
This commit is contained in:
Marek Olšák
2024-08-25 18:16:19 -04:00
committed by Marge Bot
parent 58c72e9648
commit a9eb83a15f
+4 -2
View File
@@ -727,8 +727,10 @@ static void si_set_sampler_depth_decompress_mask(struct si_context *sctx, struct
void si_fb_barrier_before_rendering(struct si_context *sctx)
{
/* Wait for all shaders because all image loads must finish before CB/DB can write there. */
sctx->barrier_flags |= SI_BARRIER_SYNC_CS | SI_BARRIER_SYNC_PS;
si_mark_atom_dirty(sctx, &sctx->atoms.s.barrier);
if (sctx->framebuffer.state.nr_cbufs || sctx->framebuffer.state.zsbuf) {
sctx->barrier_flags |= SI_BARRIER_SYNC_CS | SI_BARRIER_SYNC_PS;
si_mark_atom_dirty(sctx, &sctx->atoms.s.barrier);
}
}
void si_fb_barrier_after_rendering(struct si_context *sctx, unsigned flags)