[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