From 2c703ee8ad8a396e2daffa6fd005009d9ea987d6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sun, 16 Mar 2014 19:59:50 +0100 Subject: [PATCH] r600g: don't flush the gfx IB explicitly before doing DMA MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit It's flushed by calling r600_context_bo_reloc. Reviewed-by: Michel Dänzer --- src/gallium/drivers/r600/evergreen_hw_context.c | 2 -- src/gallium/drivers/r600/evergreen_state.c | 3 --- src/gallium/drivers/r600/r600_hw_context.c | 3 --- src/gallium/drivers/r600/r600_state.c | 3 --- 4 files changed, 11 deletions(-) diff --git a/src/gallium/drivers/r600/evergreen_hw_context.c b/src/gallium/drivers/r600/evergreen_hw_context.c index a433876..e43eacc 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 b929f17..fb34506 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 75723be..eb5500e 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 6c8222b..4aa3798 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 */ -- 2.7.4