This code is a slightly modified version of evergreen_dma_blit (and evergreen_dma_copy as well as evergreen_dma_copy_tile). It would be nice to share some of the code in the long term.
I have reused some "cik"-prefixed functions that also return the right
value for SI. I am not sure if they should be renamed.
v2: Marek> removed gfx.flush in si_dma_copy_tile
7125473 radeonsi: Implement DMA blit
src/gallium/drivers/radeonsi/Makefile.sources | 1 +
src/gallium/drivers/radeonsi/si_dma.c | 349 +++++++++++++++++++++++++
src/gallium/drivers/radeonsi/si_pipe.h | 9 +
src/gallium/drivers/radeonsi/si_state.c | 25 +-
src/gallium/drivers/radeonsi/si_state.h | 7 +
src/gallium/drivers/radeonsi/sid.h | 20 ++
6 files changed, 391 insertions(+), 20 deletions(-)
Upstream: cgit.freedesktop.org