Re: [PATCH 2/3] drm/format-helper: Add drm_fb_xrgb8888_to_xrgb2101010_dstclip()

From: Pekka Paalanen
Date: Mon Nov 22 2021 - 05:39:59 EST


On Mon, 22 Nov 2021 19:05:16 +0900
Hector Martin <marcan@xxxxxxxxx> wrote:

> On 22/11/2021 18.52, Pekka Paalanen wrote:
> > On Wed, 17 Nov 2021 23:58:28 +0900
> > Hector Martin <marcan@xxxxxxxxx> wrote:
> >
> >> Add XRGB8888 emulation support for devices that can only do XRGB2101010.
> >>
> >> This is chiefly useful for simpledrm on Apple devices where the
> >> bootloader-provided framebuffer is 10-bit, which already works fine with
> >> simplefb. This is required to make simpledrm support this too.
> >>
> >> Signed-off-by: Hector Martin <marcan@xxxxxxxxx>
> >> ---
> >> drivers/gpu/drm/drm_format_helper.c | 64 +++++++++++++++++++++++++++++
> >> include/drm/drm_format_helper.h | 4 ++
> >> 2 files changed, 68 insertions(+)
> >
> > Hi Hector,
> >
> > I'm curious, since the bootloader seems to always set up a 10-bit mode,
> > is there a reason for it that you can guess? Is the monitor in WCG or
> > even HDR mode?
>
> My guess is that Apple prefer to use 10-bit framebuffers for seamless
> handover with their graphics stack, which presumably uses 10-bit
> framebuffers these days. It seems to be unconditional; I've never seen
> anything but 10 bits across all Apple devices, both with the internal
> panels on laptops and with bog standard external displays on the Mac
> Mini via HDMI. HDR is not necessary, even very dumb capture cards and
> old screens get a 10-bit framebufer in memory.

That makes perfect sense, thanks!

Switching between sRGB and WCG or HDR mode is not a modeset, it's just
HDMI/DP/whatever metadata/infoframe.

> The only time I see an 8-bit framebuffer is with *no* monitor connected
> on the Mini, in which case you get an 8-bit 640x1136 dummy framebuffer
> (that's the iPhone 5 screen resolution... :-) )
>

Thanks,
pq

Attachment: pgpj9ASPVoNrO.pgp
Description: OpenPGP digital signature