radeonsi: implement and use compute-based DCC decompression on gfx9-10

Graphics / Mesa 3D Graphics Library / Mesa - Marek Olšák [amd.com] - 30 April 2020 22:27 EDT

DCC_DECOMPRESS doesn't work. Instead of trying to figure out why, use a compute blit where the load is compressed and the store is uncompressed.

d6acdbd9352 radeonsi: implement and use compute-based DCC decompression on gfx9-10
src/amd/common/ac_surface.c | 3 ++
src/amd/common/ac_surface.h | 4 ++
src/gallium/drivers/radeonsi/si_blit.c | 29 ++++++++++--
src/gallium/drivers/radeonsi/si_compute_blit.c | 60 ++++++++++++++++++++----
src/gallium/drivers/radeonsi/si_pipe.c | 2 +
src/gallium/drivers/radeonsi/si_pipe.h | 5 +-
src/gallium/drivers/radeonsi/si_shaderlib_tgsi.c | 39 +++++++++++++++
7 files changed, 128 insertions(+), 14 deletions(-)

Upstream: cgit.freedesktop.org


  • Share