[PATCH v4 9/9] drm: vkms: Add support to the RGB565 format
Pekka Paalanen
ppaalanen at gmail.com
Fri Feb 25 09:43:45 UTC 2022
On Thu, 24 Feb 2022 22:03:42 -0300
Igor Torrente <igormtorrente at gmail.com> wrote:
> Hi Pekka,
>
> On Thu, Feb 10, 2022 at 6:50 AM Pekka Paalanen <ppaalanen at gmail.com> wrote:
>
> > On Fri, 21 Jan 2022 18:38:31 -0300
> > Igor Torrente <igormtorrente at gmail.com> wrote:
> >
> > > Adds this common format to vkms.
> > >
> > > This commit also adds new helper macros to deal with fixed-point
> > > arithmetic.
> > >
> > > It was done to improve the precision of the conversion to ARGB16161616
> > > since the "conversion ratio" is not an integer.
> > >
> > > Signed-off-by: Igor Torrente <igormtorrente at gmail.com>
> > > ---
> > > V3: Adapt the handlers to the new format introduced in patch 7 V3.
> > > ---
> > > drivers/gpu/drm/vkms/vkms_formats.c | 74 +++++++++++++++++++++++++++
> > > drivers/gpu/drm/vkms/vkms_formats.h | 6 +++
> > > drivers/gpu/drm/vkms/vkms_plane.c | 6 ++-
> > > drivers/gpu/drm/vkms/vkms_writeback.c | 3 +-
> > > 4 files changed, 86 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/vkms/vkms_formats.c
> > b/drivers/gpu/drm/vkms/vkms_formats.c
> > > index 661da39d1276..dc612882dd8c 100644
> > > --- a/drivers/gpu/drm/vkms/vkms_formats.c
> > > +++ b/drivers/gpu/drm/vkms/vkms_formats.c
> > > @@ -11,6 +11,8 @@ format_transform_func get_fmt_transform_function(u32
> > format)
> > > return &get_ARGB16161616;
> > > else if (format == DRM_FORMAT_XRGB16161616)
> > > return &XRGB16161616_to_ARGB16161616;
> > > + else if (format == DRM_FORMAT_RGB565)
> > > + return &RGB565_to_ARGB16161616;
> > > else
> > > return &XRGB8888_to_ARGB16161616;
> > > }
> > > @@ -23,6 +25,8 @@ format_transform_func
> > get_wb_fmt_transform_function(u32 format)
> > > return &convert_to_ARGB16161616;
> > > else if (format == DRM_FORMAT_XRGB16161616)
> > > return &convert_to_XRGB16161616;
> > > + else if (format == DRM_FORMAT_RGB565)
> > > + return &convert_to_RGB565;
> > > else
> > > return &convert_to_XRGB8888;
> > > }
> > > @@ -33,6 +37,26 @@ static int pixel_offset(struct vkms_frame_info
> > *frame_info, int x, int y)
> > > + (x * frame_info->cpp);
> > > }
> > >
> > > +/*
> > > + * FP stands for _Fixed Point_ and **not** _Float Point_
> >
> > Is it common in the kernel that FP always means fixed-point?
> >
>
> I cannot say for sure, but I don't think so. I put it for people like me
> that goes automatically to Floating-Point because never worked with
> fixed-point before.
Indeed, so do not use "FP" at all as an abbreviation, please. Use a
name or abbreviation that does not need a comment to prevent easy
misunderstandings.
Thanks,
pq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20220225/6bf4afe3/attachment-0001.sig>
More information about the dri-devel
mailing list