mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 11:20:20 +01:00
r600g: only do necessary cache flushes in cp_dma_copy_buffer
The main impact is that {upload, draw, upload, draw, ..} doesn't flush
framebuffer caches before every upload.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Tested-by: Grazvydas Ignotas <notasas@gmail.com>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
This commit is contained in:
parent
9e62012c30
commit
eff94af794
1 changed files with 1 additions and 14 deletions
|
|
@ -447,15 +447,7 @@ void r600_cp_dma_copy_buffer(struct r600_context *rctx,
|
|||
src_offset += r600_resource(src)->gpu_address;
|
||||
|
||||
/* Flush the caches where the resources are bound. */
|
||||
rctx->b.flags |= R600_CONTEXT_INV_CONST_CACHE |
|
||||
R600_CONTEXT_INV_VERTEX_CACHE |
|
||||
R600_CONTEXT_INV_TEX_CACHE |
|
||||
R600_CONTEXT_FLUSH_AND_INV |
|
||||
R600_CONTEXT_FLUSH_AND_INV_CB |
|
||||
R600_CONTEXT_FLUSH_AND_INV_DB |
|
||||
R600_CONTEXT_FLUSH_AND_INV_CB_META |
|
||||
R600_CONTEXT_FLUSH_AND_INV_DB_META |
|
||||
R600_CONTEXT_STREAMOUT_FLUSH |
|
||||
rctx->b.flags |= r600_get_flush_flags(R600_COHERENCY_SHADER) |
|
||||
R600_CONTEXT_WAIT_3D_IDLE;
|
||||
|
||||
/* There are differences between R700 and EG in CP DMA,
|
||||
|
|
@ -513,11 +505,6 @@ void r600_cp_dma_copy_buffer(struct r600_context *rctx,
|
|||
* should precede it.
|
||||
*/
|
||||
r600_emit_pfp_sync_me(rctx);
|
||||
|
||||
/* Invalidate the read caches. */
|
||||
rctx->b.flags |= R600_CONTEXT_INV_CONST_CACHE |
|
||||
R600_CONTEXT_INV_VERTEX_CACHE |
|
||||
R600_CONTEXT_INV_TEX_CACHE;
|
||||
}
|
||||
|
||||
void r600_dma_copy_buffer(struct r600_context *rctx,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue