amd/display: allow non-linear multi-planar formats

Bas Nieuwenhuizen bas at basnieuwenhuizen.nl
Sun Apr 11 22:20:41 UTC 2021


Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

On Fri, Apr 9, 2021 at 3:19 PM Simon Ser <contact at emersion.fr> wrote:

> Hi,
>
> Can you have a look at this patch?
>
> Thanks,
>
> Simon
>
> On Friday, March 26th, 2021 at 5:59 PM, Simon Ser <contact at emersion.fr>
> wrote:
>
> > Accept non-linear buffers which use a multi-planar format, as long
> > as they don't use DCC.
> >
> > Tested on GFX9 with NV12.
> >
> > Signed-off-by: Simon Ser <contact at emersion.fr>
> > Cc: Alex Deucher <alexander.deucher at amd.com>
> > Cc: Harry Wentland <hwentlan at amd.com>
> > Cc: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>
> > Cc: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
> > ---
> >  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 11 ++++-------
> >  1 file changed, 4 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> > index 36ee52104007..66e3ecf123d1 100644
> > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> > @@ -4216,13 +4216,6 @@ static bool dm_plane_format_mod_supported(struct
> drm_plane *plane,
> >       if (modifier == DRM_FORMAT_MOD_LINEAR)
> >               return true;
> >
> > -     /*
> > -      * The arbitrary tiling support for multiplane formats has not
> been hooked
> > -      * up.
> > -      */
> > -     if (info->num_planes > 1)
> > -             return false;
> > -
> >       /*
> >        * For D swizzle the canonical modifier depends on the bpp, so
> check
> >        * it here.
> > @@ -4241,6 +4234,10 @@ static bool dm_plane_format_mod_supported(struct
> drm_plane *plane,
> >               /* Per radeonsi comments 16/64 bpp are more complicated. */
> >               if (info->cpp[0] != 4)
> >                       return false;
> > +             /* We support multi-planar formats, but not when combined
> with
> > +              * additional DCC metadata planes. */
> > +             if (info->num_planes > 1)
> > +                     return false;
> >       }
> >
> >       return true;
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20210412/6deef14d/attachment.htm>


More information about the amd-gfx mailing list