Re: [PATCH v2 7/9] drm/vkms: Add range and encoding properties to pixel_read function

Louis Chauvet
2024-02-27T15:02:19Z

(same as for PATCHv2 6/9, I took the patch from Arthur with no
modifications)

Le 26/02/24 - 14:23, Pekka Paalanen a écrit :
> On Fri, 23 Feb 2024 12:37:27 +0100
> Louis Chauvet <louis.chauvet@bootlin.com> wrote:
>
> > From: Arthur Grillo <arthurgrillo@riseup.net>
> >
> > Create range and encoding properties. This should be noop, as none of
> > the conversion functions need those properties.
>
> None of the conversion function needs this? How can one say so?
> The previous patch is making use of them already, AFAICT?

It's my fault, I mixed the commits (in Arthur's series, "Add range..." was
before "Add YUV support"), but for me it makes no sens to have the color
property without the support in the driver.

Maybe it's better just to merge "Add range..." with "Add YUV support"?

> How is this a noop? Is it not exposing new UAPI from VKMS?

It's not a no-op from userspace, but from the driver side, yes.

Kind regards,
Louis Chauvet

> Thanks,
> pq
>
> >
> > Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
> > [Louis Chauvet: retained only relevant parts]
> > Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
> > ---
> > drivers/gpu/drm/vkms/vkms_plane.c | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/vkms/vkms_plane.c b/drivers/gpu/drm/vkms/vkms_plane.c
> > index 427ca67c60ce..95dfde297377 100644
> > --- a/drivers/gpu/drm/vkms/vkms_plane.c
> > +++ b/drivers/gpu/drm/vkms/vkms_plane.c
> > @@ -228,5 +228,14 @@ struct vkms_plane *vkms_plane_init(struct vkms_device *vkmsdev,
> > drm_plane_create_rotation_property(&plane->base, DRM_MODE_ROTATE_0,
> > DRM_MODE_ROTATE_MASK | DRM_MODE_REFLECT_MASK);
> >
> > + drm_plane_create_color_properties(&plane->base,
> > + BIT(DRM_COLOR_YCBCR_BT601) |
> > + BIT(DRM_COLOR_YCBCR_BT709) |
> > + BIT(DRM_COLOR_YCBCR_BT2020),
> > + BIT(DRM_COLOR_YCBCR_LIMITED_RANGE) |
> > + BIT(DRM_COLOR_YCBCR_FULL_RANGE),
> > + DRM_COLOR_YCBCR_BT601,
> > + DRM_COLOR_YCBCR_FULL_RANGE);
> > +
> > return plane;
> > }
> >
>

--
Louis Chauvet, Bootlin
Embedded Linux and Kernel engineering