r600g: don't flush the gfx IB explicitly before doing DMA
authorMarek Olšák <marek.olsak@amd.com>
Sun, 16 Mar 2014 18:59:50 +0000 (19:59 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 20 Mar 2014 17:41:18 +0000 (18:41 +0100)
It's flushed by calling r600_context_bo_reloc.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
src/gallium/drivers/r600/evergreen_hw_context.c
src/gallium/drivers/r600/evergreen_state.c
src/gallium/drivers/r600/r600_hw_context.c
src/gallium/drivers/r600/r600_state.c

index a4338764eede40cf97a9c4d5ce27698c428aa824..e43eacc9a0ae29e9a07f52d84ec01de53502e372 100644 (file)
@@ -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);
 
index b929f178351bff50af9325a55b16fae07cbc785c..fb3450674f11273af7b2c54ca4c3c78962d29bc4 100644 (file)
@@ -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 */
index 75723be598f05e49f4c0f4fa6a0471fb57014cc8..eb5500e29e57ceb64a8353a48ba0ede2c7b38180 100644 (file)
@@ -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);
index 6c8222b90af1deaf2c0dc90183cbf4868726f314..4aa379826fd5440c6ba585b4c0a3ba473984a11c 100644 (file)
@@ -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 */