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

Alex Deucher alexdeucher at gmail.com
Thu Apr 15 15:37:08 UTC 2021


Applied.  Thanks!

Alex

On Sun, Apr 11, 2021 at 6:21 PM Bas Nieuwenhuizen
<bas at basnieuwenhuizen.nl> wrote:
>
> 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;
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list