<div dir="ltr"><div dir="ltr">On Wed, May 20, 2020 at 9:07 PM Kazlauskas, Nicholas <<a href="mailto:nicholas.kazlauskas@amd.com">nicholas.kazlauskas@amd.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 2020-05-20 2:44 p.m., Mario Kleiner wrote:<br>
> On Wed, May 20, 2020 at 8:25 PM Alex Deucher <<a href="mailto:alexdeucher@gmail.com" target="_blank">alexdeucher@gmail.com</a> <br>
> <mailto:<a href="mailto:alexdeucher@gmail.com" target="_blank">alexdeucher@gmail.com</a>>> wrote:<br>
> <br>
> On Wed, May 20, 2020 at 12:39 PM Harry Wentland <<a href="mailto:hwentlan@amd.com" target="_blank">hwentlan@amd.com</a><br>
> <mailto:<a href="mailto:hwentlan@amd.com" target="_blank">hwentlan@amd.com</a>>> wrote:<br>
> ><br>
> > On 2020-05-15 1:19 a.m., Mario Kleiner wrote:<br>
> > > Testing on a Polaris11 gpu with DCE-11.2 suggests that it<br>
> > > seems to work fine there, so optimistically enable it for<br>
> > > DCE-11 and later.<br>
> > ><br>
> > > Signed-off-by: Mario Kleiner <<a href="mailto:mario.kleiner.de@gmail.com" target="_blank">mario.kleiner.de@gmail.com</a><br>
> <mailto:<a href="mailto:mario.kleiner.de@gmail.com" target="_blank">mario.kleiner.de@gmail.com</a>>><br>
> > > ---<br>
> > > drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c | 2 +-<br>
> > > drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c | 2 +-<br>
> > > drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c | 2 +-<br>
> > > 3 files changed, 3 insertions(+), 3 deletions(-)<br>
> > ><br>
> > > diff --git<br>
> a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c<br>
> b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c<br>
> > > index 9597fc79d7fa..a043ddae5149 100644<br>
> > > --- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c<br>
> > > +++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c<br>
> > > @@ -410,7 +410,7 @@ static const struct dc_plane_cap plane_cap = {<br>
> > > .pixel_format_support = {<br>
> > > .argb8888 = true,<br>
> > > .nv12 = false,<br>
> > > - .fp16 = false<br>
> > > + .fp16 = true<br>
> ><br>
> > Carrizo (DCE 11.0) has a HW bug where FP16 scaling doesn't work. I<br>
> > recommend we leave it off here.<br>
> <br>
> I'll drop this hunk for upstream.<br>
> <br>
> Alex<br>
> <br>
> <br>
> Ok, no fixup patch needed from myself, thanks Alex. Does the scaling bug <br>
> refer to scaling the planes (those max_downscale_factor / <br>
> max_upscale_factor definitions seem to be unused) or the fp16 values itself?<br>
> <br>
> What about DCE 8 and DCE 10 hw capabilities wrt. fp16? Should i send <br>
> fp16 enable patches for those as well?<br>
> <br>
> -mario<br>
<br>
Yeah, the upscale and downscale factors were intended to block FP16 <br>
accepted and reject the commit but I guess nobody ever added those to <br>
atomic check.<br>
<br>
I reviewed the patch with the idea in mind that we already blocked this <br>
on a DC level. We can re-enable it in the caps after this is in I think.<br>
<br>
Off the top of my head I don't remember what DCE8/DCE10 supports, but <br>
I'm also not sure if they even support sending the SDP message for those <br>
to really be usable.<br></blockquote><div><br></div><div>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 ;) <br></div><div><br></div><div>-mario<br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Regards,<br>
Nicholas Kazlauskas<br>
<br>
> <br>
> ><br>
> > Harry<br>
> ><br>
> > > },<br>
> > ><br>
> > > .max_upscale_factor = {<br>
> > > diff --git<br>
> a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c<br>
> b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c<br>
> > > index 4a7796de2ff5..51b3fe502670 100644<br>
> > > --- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c<br>
> > > +++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c<br>
> > > @@ -411,7 +411,7 @@ static const struct dc_plane_cap plane_cap = {<br>
> > > .pixel_format_support = {<br>
> > > .argb8888 = true,<br>
> > > .nv12 = false,<br>
> > > - .fp16 = false<br>
> > > + .fp16 = true<br>
> > > },<br>
> > ><br>
> > > .max_upscale_factor = {<br>
> > > diff --git<br>
> a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c<br>
> b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c<br>
> > > index 9a9764cbd78d..8f362e8c1787 100644<br>
> > > --- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c<br>
> > > +++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c<br>
> > > @@ -516,7 +516,7 @@ static const struct dc_plane_cap plane_cap = {<br>
> > > .pixel_format_support = {<br>
> > > .argb8888 = true,<br>
> > > .nv12 = false,<br>
> > > - .fp16 = false<br>
> > > + .fp16 = true<br>
> > > },<br>
> > ><br>
> > > .max_upscale_factor = {<br>
> > ><br>
> > _______________________________________________<br>
> > dri-devel mailing list<br>
> > <a href="mailto:dri-devel@lists.freedesktop.org" target="_blank">dri-devel@lists.freedesktop.org</a><br>
> <mailto:<a href="mailto:dri-devel@lists.freedesktop.org" target="_blank">dri-devel@lists.freedesktop.org</a>><br>
> > <a href="https://lists.freedesktop.org/mailman/listinfo/dri-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/dri-devel</a><br>
> <<a href="https://lists.freedesktop.org/mailman/listinfo/dri-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/dri-devel</a>><br>
> <br>
<br>
</blockquote></div></div>