[PATCH 2/2] drm/amd/display: Enable fp16 also on DCE-11.0 - DCE-12.

Mario Kleiner mario.kleiner.de at gmail.com
Wed May 20 19:57:57 UTC 2020


On Wed, May 20, 2020 at 9:07 PM Kazlauskas, Nicholas <
nicholas.kazlauskas at amd.com> wrote:

> On 2020-05-20 2:44 p.m., Mario Kleiner wrote:
> > On Wed, May 20, 2020 at 8:25 PM Alex Deucher <alexdeucher at gmail.com
> > <mailto:alexdeucher at gmail.com>> wrote:
> >
> >     On Wed, May 20, 2020 at 12:39 PM Harry Wentland <hwentlan at amd.com
> >     <mailto:hwentlan at amd.com>> wrote:
> >      >
> >      > On 2020-05-15 1:19 a.m., Mario Kleiner wrote:
> >      > > Testing on a Polaris11 gpu with DCE-11.2 suggests that it
> >      > > seems to work fine there, so optimistically enable it for
> >      > > DCE-11 and later.
> >      > >
> >      > > Signed-off-by: Mario Kleiner <mario.kleiner.de at gmail.com
> >     <mailto:mario.kleiner.de at gmail.com>>
> >      > > ---
> >      > >  drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c | 2 +-
> >      > >  drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c | 2 +-
> >      > >  drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c | 2 +-
> >      > >  3 files changed, 3 insertions(+), 3 deletions(-)
> >      > >
> >      > > diff --git
> >     a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> >     b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> >      > > index 9597fc79d7fa..a043ddae5149 100644
> >      > > --- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> >      > > +++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> >      > > @@ -410,7 +410,7 @@ static const struct dc_plane_cap plane_cap
> = {
> >      > >               .pixel_format_support = {
> >      > >                               .argb8888 = true,
> >      > >                               .nv12 = false,
> >      > > -                             .fp16 = false
> >      > > +                             .fp16 = true
> >      >
> >      > Carrizo (DCE 11.0) has a HW bug where FP16 scaling doesn't work. I
> >      > recommend we leave it off here.
> >
> >     I'll drop this hunk for upstream.
> >
> >     Alex
> >
> >
> > Ok, no fixup patch needed from myself, thanks Alex. Does the scaling bug
> > refer to scaling the planes (those max_downscale_factor /
> > max_upscale_factor definitions seem to be unused) or the fp16 values
> itself?
> >
> > What about DCE 8 and DCE 10 hw capabilities wrt. fp16? Should i send
> > fp16 enable patches for those as well?
> >
> > -mario
>
> Yeah, the upscale and downscale factors were intended to block FP16
> accepted and reject the commit but I guess nobody ever added those to
> atomic check.
>
> I reviewed the patch with the idea in mind that we already blocked this
> on a DC level. We can re-enable it in the caps after this is in I think.
>
> Off the top of my head I don't remember what DCE8/DCE10 supports, but
> I'm also not sure if they even support sending the SDP message for those
> to really be usable.
>

While HDR is the typical user for fp16, even on SDR displays, without any
HDR signalling, fp16 should give an additional bit of precision ~ 11 bpc
effective in standard 0.0 - 1.0 unorm range on a 12 bit pipeline with a 12
bpc panel or even on a 10 bpc panel with dithering. Useful for
neuroscience/medical research applications or the color precision obsessed
people. I take every bit i can get ;)

-mario



> Regards,
> Nicholas Kazlauskas
>
> >
> >      >
> >      > Harry
> >      >
> >      > >               },
> >      > >
> >      > >               .max_upscale_factor = {
> >      > > diff --git
> >     a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> >     b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> >      > > index 4a7796de2ff5..51b3fe502670 100644
> >      > > --- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> >      > > +++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> >      > > @@ -411,7 +411,7 @@ static const struct dc_plane_cap plane_cap
> = {
> >      > >       .pixel_format_support = {
> >      > >                       .argb8888 = true,
> >      > >                       .nv12 = false,
> >      > > -                     .fp16 = false
> >      > > +                     .fp16 = true
> >      > >       },
> >      > >
> >      > >       .max_upscale_factor = {
> >      > > diff --git
> >     a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> >     b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> >      > > index 9a9764cbd78d..8f362e8c1787 100644
> >      > > --- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> >      > > +++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> >      > > @@ -516,7 +516,7 @@ static const struct dc_plane_cap plane_cap
> = {
> >      > >       .pixel_format_support = {
> >      > >                       .argb8888 = true,
> >      > >                       .nv12 = false,
> >      > > -                     .fp16 = false
> >      > > +                     .fp16 = true
> >      > >       },
> >      > >
> >      > >       .max_upscale_factor = {
> >      > >
> >      > _______________________________________________
> >      > dri-devel mailing list
> >      > dri-devel at lists.freedesktop.org
> >     <mailto:dri-devel at lists.freedesktop.org>
> >      > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> >     <https://lists.freedesktop.org/mailman/listinfo/dri-devel>
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20200520/a724f1ec/attachment.htm>


More information about the dri-devel mailing list