diff --git a/.pick_status.json b/.pick_status.json index 76c10532e27..d548e1245bf 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -8644,7 +8644,7 @@ "description": "radeonsi: Flush L2 for render condition when CP can't use L2", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/drivers/radeonsi/si_query.c b/src/gallium/drivers/radeonsi/si_query.c index 78bc8daa31a..b6bff6d10ba 100644 --- a/src/gallium/drivers/radeonsi/si_query.c +++ b/src/gallium/drivers/radeonsi/si_query.c @@ -1696,7 +1696,7 @@ static void si_render_condition(struct pipe_context *ctx, struct pipe_query *que /* Settings this in the render cond atom is too late, * so set it here. */ - if (sctx->gfx_level <= GFX8) { + if (sctx->gfx_level <= GFX8 || sctx->screen->info.cp_sdma_ge_use_system_memory_scope) { sctx->barrier_flags |= SI_BARRIER_WB_L2 | SI_BARRIER_PFP_SYNC_ME; si_mark_atom_dirty(sctx, &sctx->atoms.s.barrier); }