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

Marek Olšák maraeo at gmail.com
Mon Oct 12 07:32:56 PDT 2015


Patches 5-7 reviewed as well.

Marek

On Mon, Oct 12, 2015 at 2:46 AM, Marek Olšák <maraeo at gmail.com> wrote:
> 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