[Mesa-dev] [PATCH v2 0/7] Add DCC Support.

Marek Olšák maraeo at gmail.com
Sun Oct 11 17:46:31 PDT 2015


i've reviewed patches 1-4. I'll try to review the rest tomorrow.

Marek

On Sun, Oct 11, 2015 at 5:38 PM, Bas Nieuwenhuizen
<bas at basnieuwenhuizen.nl> wrote:
> 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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list