Enable fp16 display support for DCE8+, next try.
Alex Deucher
alexdeucher at gmail.com
Mon Jan 4 17:16:19 UTC 2021
On Mon, Dec 28, 2020 at 1:51 PM Mario Kleiner
<mario.kleiner.de at gmail.com> wrote:
>
> Hi and happy post-christmas!
>
> I wrote a patch 1/1 that now checks plane scaling factors against
> the pixel-format specific limits in the asic specific dc_plane_cap
> structures during atomic check and other appropriate places.
>
> This should prevent things like asking for scaling on fp16 framebuffers
> if the hw can't do that. Hopefully this will now allow to safely enable
> fp16 scanout also on older asic's like DCE-11.0, DCE-10 and DCE-8.
> Patch 2/2 enables those DCE's now for fp16.
>
> I used some quickly hacked up of IGT test kms_plane_scaling, manually
> hacking the src fb size to make sure the patch correctly accepts or
> rejects atomic commits based on allowable scaling factors for rgbx/a
> 8 bit, 10, and fp16.
>
> This fp16 support has been successfully tested with a Sea Islands /
> DCE-8 laptop. I also confirmed that at least basic HDR signalling
> over HDMI works for that DCE-8 machine with a HDR monitor. For this
> i used the amdvlk driver which exposes fp16 since a while on supported
> hw.
Patches look good to me, but I'd like to get some feedback from the
display folks as well.
>
> There are other bugs in DC wrt. DCE-8 though, which didn't prevent
> my testing, but may be worth looking into. My DCE-8 machine scrambles
> the video output picture somewhat under Vulkan (radv and admvlk) if the
> output signal precision isn't 8 bpc, ie. on 6 bpc (eDP laptop panel)
> and 10 bpc, 12 bpc (HDMI deep color on external HDR monitor).
>
> Another fun thing is getting a black screen if DC is enabled on at least
> Linux 5.10+ (but not if i use the classic kms code in amdgpu-kms). If
> i recompile the driver with a Ubuntu kconfig for Linux 5.9, the 5.10
> kernel works, and the only obvious DC related difference is that DC's
> new SI / DCE-6 asic support is disabled at compile time.
Fixed here:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6bdeff12a96c9a5da95c8d11fefd145eb165e32a
Patch should be in stable for 5.10 as well.
Alex
More information about the dri-devel
mailing list