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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 20, 2020 at 9:07 PM Kazlauskas, Nicholas <nicholas.kazlauskas@xxxxxxx> wrote:
On 2020-05-20 2:44 p.m., Mario Kleiner wrote:
> On Wed, May 20, 2020 at 8:25 PM Alex Deucher <alexdeucher@xxxxxxxxx
> <mailto:alexdeucher@xxxxxxxxx>> wrote:
>
>     On Wed, May 20, 2020 at 12:39 PM Harry Wentland <hwentlan@xxxxxxx
>     <mailto:hwentlan@xxxxxxx>> 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@xxxxxxxxx
>     <mailto:mario.kleiner.de@xxxxxxxxx>>
>      > > ---
>      > >  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@xxxxxxxxxxxxxxxxxxxxx
>     <mailto:dri-devel@xxxxxxxxxxxxxxxxxxxxx>
>      > https://lists.freedesktop.org/mailman/listinfo/dri-devel
>     <https://lists.freedesktop.org/mailman/listinfo/dri-devel>
>

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux