From: Marek Olšák Date: Tue, 17 Jan 2017 19:10:15 +0000 (+0100) Subject: radeonsi: skip an unnecessary mutex lock for L2 prefetches X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4bde7d3d3c90e3930e56b83f8e517d6ce6ea26d4;p=mesa.git radeonsi: skip an unnecessary mutex lock for L2 prefetches the mutex lock is inside util_range_add. 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 06e4899a887..582e5995164 100644 --- a/src/gallium/drivers/radeonsi/si_cp_dma.c +++ b/src/gallium/drivers/radeonsi/si_cp_dma.c @@ -315,11 +315,13 @@ void si_copy_buffer(struct si_context *sctx, if (!size) return; - /* Mark the buffer range of destination as valid (initialized), - * so that transfer_map knows it should wait for the GPU when mapping - * that range. */ - util_range_add(&r600_resource(dst)->valid_buffer_range, dst_offset, - dst_offset + size); + if (dst != src || dst_offset != src_offset) { + /* Mark the buffer range of destination as valid (initialized), + * so that transfer_map knows it should wait for the GPU when mapping + * that range. */ + util_range_add(&r600_resource(dst)->valid_buffer_range, dst_offset, + dst_offset + size); + } dst_offset += r600_resource(dst)->gpu_address; src_offset += r600_resource(src)->gpu_address;