From f0160443a28fb1624d7084ddf1196c62bfa4acc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Fri, 12 Apr 2024 17:51:52 -0400 Subject: [PATCH] radeonsi: don't flush CB in si_launch_grid_internal_images if not needed Reviewed-by: Pierre-Eric Pelloux-Prayer Part-of: --- src/gallium/drivers/radeonsi/si_compute_blit.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_compute_blit.c b/src/gallium/drivers/radeonsi/si_compute_blit.c index 9f5d8ea4081..d35add38563 100644 --- a/src/gallium/drivers/radeonsi/si_compute_blit.c +++ b/src/gallium/drivers/radeonsi/si_compute_blit.c @@ -604,9 +604,11 @@ static void si_launch_grid_internal_images(struct si_context *sctx, } /* This must be done before the compute shader. */ - for (unsigned i = 0; i < num_images; i++) { - si_make_CB_shader_coherent(sctx, images[i].resource->nr_samples, true, - ((struct si_texture*)images[i].resource)->surface.u.gfx9.color.dcc.pipe_aligned); + if (flags & SI_OP_SYNC_PS_BEFORE) { + for (unsigned i = 0; i < num_images; i++) { + si_make_CB_shader_coherent(sctx, images[i].resource->nr_samples, true, + ((struct si_texture*)images[i].resource)->surface.u.gfx9.color.dcc.pipe_aligned); + } } si_launch_grid_internal(sctx, info, shader, flags | SI_OP_CS_IMAGE);