[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