[Mesa-dev] [PATCH] radeonsi: implement TC-compatible HTILE

Edmondo Tommasina edmondo.tommasina at gmail.com
Wed Oct 12 20:17:39 UTC 2016


Hi Marek

This and the patch before are
Tested-by: Edmondo Tommasina <edmondo.tommasina at gmail.com>

Tested with:
* The Witcher 2
* Two Worlds
* The Talos Principle

No regressions. Performance seems similar. I'm quite CPU limited
(Phenom II X3 720) so I don't expect a measurable performance
increase.

OpenGL renderer string: Gallium 0.4 on AMD POLARIS10 (DRM 3.3.0 /
4.8.0-rc6, LLVM 3.9.0)
OpenGL core profile version string: 4.3 (Core Profile) Mesa
12.1.0-devel (git-8c51490)

Thanks
edmondo


On Wed, Oct 12, 2016 at 3:54 PM, Marek Olšák <maraeo at gmail.com> wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> so that decompress blits aren't needed and depth texturing needs less
> memory bandwidth.
>
> Z16 and Z24 are promoted to Z32_FLOAT by the driver, because TC-compatible
> HTILE only supports Z32_FLOAT. This doubles memory footprint for Z16.
> The format promotion is not visible to state trackers.
>
> This is part of TC-compatible renderbuffer compression, which has 3 parts:
> DCC, HTILE, FMASK. Only TC-compatible FMASK compression is missing now.
>
> I don't see a measurable increase in performance though.
>
> (I tested Talos Principle and DiRT: Showdown, the latter is improved by
>  0.5%, which is almost noise, and it originally used layered Z16,
>  so at least we know that Z16 promoted to Z32F isn't slower now)
> ---
>  src/gallium/drivers/radeon/r600_pipe_common.h  |  3 ++
>  src/gallium/drivers/radeon/r600_texture.c      | 67 ++++++++++++++++++++++----
>  src/gallium/drivers/radeon/radeon_winsys.h     |  4 ++
>  src/gallium/drivers/radeonsi/si_blit.c         | 11 ++++-
>  src/gallium/drivers/radeonsi/si_descriptors.c  |  7 ++-
>  src/gallium/drivers/radeonsi/si_shader.c       | 18 ++++++-
>  src/gallium/drivers/radeonsi/si_state.c        | 39 +++++++++++++--
>  src/gallium/drivers/radeonsi/si_state_draw.c   |  3 +-
>  src/gallium/winsys/amdgpu/drm/amdgpu_surface.c | 57 ++++++++++++++++++++--
>  9 files changed, 185 insertions(+), 24 deletions(-)


More information about the mesa-dev mailing list