These patches enable delta color compression (DCC) for Vulcanic Islands GPU's. This should reduce memory bandwidth to increase performance.
In this second version I reworked the fast clear not to use the CMASK for DCC compressed textures, as well as allowing integer formats. With the reworked fast clear and shader based resolves, DCC compressed MSAA textures became slower than non-DCC compressed textures. Therefore I disabled DCC for MSAA textures. Finally, I made the compression tracking supported optional as it is currently not needed. This involves the last 2 patches of this series. Besides the MSAA textures I have not found a significant performance difference compared to the first version. v2: - Rework fast clear not to use CMASK clear. - Rework cache flushes. - Drop MSAA support. - Remove unsupported KEY_CLEAR_ENABLE flag. - Use shader MSAA resolve if the destination is DCC compressed. - Only set ALPHA_IS_ON_MSB when needed. - Rework compression tracking and decompress to be optional. Bas Nieuwenhuizen (7): radeonsi: Allocate buffers for DCC. radeonsi: Disable operations that do not work with DCC. radeonsi: Add a CACHE_FLUSH event radeonsi: Enable DCC. radeonsi: Implement DCC fast clear. radeonsi: Add DCC decompress. radeonsi: Add DCC compression tracking machinery. src/gallium/drivers/radeon/r600_buffer_common.c | 21 ++++++ src/gallium/drivers/radeon/r600_pipe_common.h | 8 ++ src/gallium/drivers/radeon/r600_texture.c | 98 +++++++++++++++++++++++-- src/gallium/drivers/radeon/r600d_common.h | 1 + src/gallium/drivers/radeon/radeon_winsys.h | 5 ++ src/gallium/drivers/radeonsi/cik_sdma.c | 3 +- src/gallium/drivers/radeonsi/si_blit.c | 41 +++++++---- src/gallium/drivers/radeonsi/si_cp_dma.c | 3 +- src/gallium/drivers/radeonsi/si_descriptors.c | 7 +- src/gallium/drivers/radeonsi/si_dma.c | 3 +- src/gallium/drivers/radeonsi/si_pipe.c | 2 + src/gallium/drivers/radeonsi/si_pipe.h | 4 + src/gallium/drivers/radeonsi/si_state.c | 50 +++++++++++-- src/gallium/drivers/radeonsi/si_state_draw.c | 17 +++++ src/gallium/drivers/radeonsi/sid.h | 1 + src/gallium/winsys/amdgpu/drm/amdgpu_surface.c | 47 ++++++++++-- 16 files changed, 275 insertions(+), 36 deletions(-) -- 2.5.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev