r600g: use WAIT_3D_IDLE before using CP DMA
I broke this with 7948ed1250 for r700 at least.
This commit is contained in:
@@ -123,6 +123,7 @@ void evergreen_cp_dma_clear_buffer(struct r600_context *rctx,
|
||||
|
||||
/* Flush the cache where the resource is bound. */
|
||||
r600_flag_resource_cache_flush(rctx, dst);
|
||||
rctx->flags |= R600_CONTEXT_WAIT_3D_IDLE;
|
||||
|
||||
while (size) {
|
||||
unsigned sync = 0;
|
||||
|
||||
@@ -636,6 +636,7 @@ void r600_cp_dma_copy_buffer(struct r600_context *rctx,
|
||||
/* Flush the caches where the resources are bound. */
|
||||
r600_flag_resource_cache_flush(rctx, src);
|
||||
r600_flag_resource_cache_flush(rctx, dst);
|
||||
rctx->flags |= R600_CONTEXT_WAIT_3D_IDLE;
|
||||
|
||||
/* There are differences between R700 and EG in CP DMA,
|
||||
* but we only use the common bits here. */
|
||||
|
||||
Reference in New Issue
Block a user