summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2016-12-25 18:34:16 +0100
committerMarek Olšák <[email protected]>2017-01-06 21:05:48 +0100
commitaac07bb79c66202f19d2d28ca6daca71a459d748 (patch)
tree20e2090ad373a88f49a0d557086a101549a3072b /src/gallium/drivers/radeonsi
parent3b98a5dc4749646122f227730ccb37304507ee85 (diff)
radeonsi: don't count fast clears and prefetches into CP DMA stats
Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi')
-rw-r--r--src/gallium/drivers/radeonsi/si_cp_dma.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_cp_dma.c b/src/gallium/drivers/radeonsi/si_cp_dma.c
index 596e32c957c..1996e669740 100644
--- a/src/gallium/drivers/radeonsi/si_cp_dma.c
+++ b/src/gallium/drivers/radeonsi/si_cp_dma.c
@@ -234,7 +234,9 @@ static void si_clear_buffer(struct pipe_context *ctx, struct pipe_resource *dst,
if (tc_l2_flag)
rdst->TC_L2_dirty = true;
- sctx->b.num_cp_dma_calls++;
+ /* If it's not a framebuffer fast clear... */
+ if (coher == R600_COHERENCY_SHADER)
+ sctx->b.num_cp_dma_calls++;
}
/**
@@ -360,7 +362,9 @@ void si_copy_buffer(struct si_context *sctx,
if (tc_l2_flag)
r600_resource(dst)->TC_L2_dirty = true;
- sctx->b.num_cp_dma_calls++;
+ /* If it's not a prefetch... */
+ if (dst_offset != src_offset)
+ sctx->b.num_cp_dma_calls++;
}
void si_init_cp_dma_functions(struct si_context *sctx)