From: Marek Olšák Date: Sun, 16 Mar 2014 18:59:50 +0000 (+0100) Subject: r600g: don't flush the gfx IB explicitly before doing DMA X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2c703ee8ad8a396e2daffa6fd005009d9ea987d6;p=mesa.git r600g: don't flush the gfx IB explicitly before doing DMA It's flushed by calling r600_context_bo_reloc. Reviewed-by: Michel Dänzer --- diff --git a/src/gallium/drivers/r600/evergreen_hw_context.c b/src/gallium/drivers/r600/evergreen_hw_context.c index a4338764eed..e43eacc9a0a 100644 --- a/src/gallium/drivers/r600/evergreen_hw_context.c +++ b/src/gallium/drivers/r600/evergreen_hw_context.c @@ -46,8 +46,6 @@ void evergreen_dma_copy(struct r600_context *rctx, util_range_add(&rdst->valid_buffer_range, dst_offset, dst_offset + size); - /* make sure that the dma ring is only one active */ - rctx->b.rings.gfx.flush(rctx, RADEON_FLUSH_ASYNC); dst_offset += r600_resource_va(&rctx->screen->b.b, dst); src_offset += r600_resource_va(&rctx->screen->b.b, src); diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c index b929f178351..fb3450674f1 100644 --- a/src/gallium/drivers/r600/evergreen_state.c +++ b/src/gallium/drivers/r600/evergreen_state.c @@ -3221,9 +3221,6 @@ static void evergreen_dma_copy_tile(struct r600_context *rctx, unsigned sub_cmd, bank_h, bank_w, mt_aspect, nbanks, tile_split, non_disp_tiling = 0; uint64_t base, addr; - /* make sure that the dma ring is only one active */ - rctx->b.rings.gfx.flush(rctx, RADEON_FLUSH_ASYNC); - dst_mode = rdst->surface.level[dst_level].mode; src_mode = rsrc->surface.level[src_level].mode; /* downcast linear aligned to linear to simplify test */ diff --git a/src/gallium/drivers/r600/r600_hw_context.c b/src/gallium/drivers/r600/r600_hw_context.c index 75723be598f..eb5500e29e5 100644 --- a/src/gallium/drivers/r600/r600_hw_context.c +++ b/src/gallium/drivers/r600/r600_hw_context.c @@ -458,9 +458,6 @@ void r600_dma_copy(struct r600_context *rctx, util_range_add(&rdst->valid_buffer_range, dst_offset, dst_offset + size); - /* make sure that the dma ring is only one active */ - rctx->b.rings.gfx.flush(rctx, RADEON_FLUSH_ASYNC); - size >>= 2; shift = 2; ncopy = (size / 0xffff) + !!(size % 0xffff); diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c index 6c8222b90af..4aa379826fd 100644 --- a/src/gallium/drivers/r600/r600_state.c +++ b/src/gallium/drivers/r600/r600_state.c @@ -2793,9 +2793,6 @@ static boolean r600_dma_copy_tile(struct r600_context *rctx, unsigned ncopy, height, cheight, detile, i, x, y, z, src_mode, dst_mode; uint64_t base, addr; - /* make sure that the dma ring is only one active */ - rctx->b.rings.gfx.flush(rctx, RADEON_FLUSH_ASYNC); - dst_mode = rdst->surface.level[dst_level].mode; src_mode = rsrc->surface.level[src_level].mode; /* downcast linear aligned to linear to simplify test */