From: Marek Olšák Date: Tue, 28 Mar 2017 17:06:31 +0000 (+0200) Subject: radeonsi/gfx9: don't compare src_va w/ dst_va for CP_DMA_CLEAR X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ea595214756cdc366c4c5a27316efa00556ac4ff;p=mesa.git radeonsi/gfx9: don't compare src_va w/ dst_va for CP_DMA_CLEAR src_va contains the clear value in this case. Reviewed-by: Nicolai Hähnle --- diff --git a/src/gallium/drivers/radeonsi/si_cp_dma.c b/src/gallium/drivers/radeonsi/si_cp_dma.c index 1381d8cfc94..74e0b2d46df 100644 --- a/src/gallium/drivers/radeonsi/si_cp_dma.c +++ b/src/gallium/drivers/radeonsi/si_cp_dma.c @@ -84,7 +84,8 @@ static void si_emit_cp_dma(struct si_context *sctx, uint64_t dst_va, command |= S_414_RAW_WAIT(1); /* Src and dst flags. */ - if (sctx->b.chip_class >= GFX9 && src_va == dst_va) + if (sctx->b.chip_class >= GFX9 && !(flags & CP_DMA_CLEAR) && + src_va == dst_va) header |= S_411_DSL_SEL(V_411_NOWHERE); /* prefetch only */ else if (flags & CP_DMA_USE_L2) header |= S_411_DSL_SEL(V_411_DST_ADDR_TC_L2);