radeonsi: Add auxiliary plane support

Graphics / Mesa 3D Graphics Library / Mesa - Bas Nieuwenhuizen [basnieuwenhuizen.nl] - 13 November 2020 03:27 UTC

This adds support for multiple DRM planes for a single format plane and uses that to enable DCC support with modifiers.

With the implicit flush patches we can also enable displayable DCC both with and without DCC as the X server and compositors know not to do frontbuffer rendering onto images with multiple DRM planes.

For now we require that the extra planes are essentially fixed though. We require that the offset/stride are the same as ac_surface computes and that all planes are in the same buffer. This is mainly for simplicity and could be somewhat more relaxed in the future given a strong usecase.

3fa3bc19a28 radeonsi: Add auxiliary plane support.
src/gallium/drivers/radeonsi/si_texture.c | 144 ++++++++++++++++++++++++++----
1 file changed, 129 insertions(+), 15 deletions(-)

Upstream: cgit.freedesktop.org

  • Share