[PATCH RFC v6 03/10] drm: Add solid fill pixel source

Pekka Paalanen ppaalanen at gmail.com
Tue Aug 29 08:11:33 UTC 2023


On Mon, 28 Aug 2023 17:05:09 -0700
Jessica Zhang <quic_jesszhan at quicinc.com> wrote:

> Add "SOLID_FILL" as a valid pixel source. If the pixel_source property is
> set to "SOLID_FILL", it will display data from the drm_plane "solid_fill"
> blob property.
> 
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
> Signed-off-by: Jessica Zhang <quic_jesszhan at quicinc.com>
> ---
>  drivers/gpu/drm/drm_blend.c | 10 +++++++++-
>  include/drm/drm_plane.h     |  1 +
>  2 files changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/drm_blend.c b/drivers/gpu/drm/drm_blend.c
> index 273021cc21c8..1016a206ca0c 100644
> --- a/drivers/gpu/drm/drm_blend.c
> +++ b/drivers/gpu/drm/drm_blend.c
> @@ -200,6 +200,9 @@
>   *	"FB":
>   *		Framebuffer source set by the "FB_ID" property.
>   *
> + *	"SOLID_FILL":
> + *		Solid fill color source set by the "solid_fill" property.
> + *
>   * solid_fill:
>   *	solid_fill is set up with drm_plane_create_solid_fill_property(). It
>   *	contains pixel data that drivers can use to fill a plane.
> @@ -638,6 +641,7 @@ EXPORT_SYMBOL(drm_plane_create_blend_mode_property);
>  static const struct drm_prop_enum_list drm_pixel_source_enum_list[] = {
>  	{ DRM_PLANE_PIXEL_SOURCE_NONE, "NONE" },
>  	{ DRM_PLANE_PIXEL_SOURCE_FB, "FB" },
> +	{ DRM_PLANE_PIXEL_SOURCE_SOLID_FILL, "SOLID_FILL" },
>  };
>  
>  /**
> @@ -662,6 +666,9 @@ static const struct drm_prop_enum_list drm_pixel_source_enum_list[] = {
>   * "FB":
>   *	Framebuffer pixel source
>   *
> + * "SOLID_FILL":
> + * 	Solid fill color pixel source
> + *
>   * Returns:
>   * Zero on success, negative errno on failure.
>   */
> @@ -671,7 +678,8 @@ int drm_plane_create_pixel_source_property(struct drm_plane *plane,
>  	struct drm_device *dev = plane->dev;
>  	struct drm_property *prop;
>  	static const unsigned int valid_source_mask = BIT(DRM_PLANE_PIXEL_SOURCE_FB) |
> -						      BIT(DRM_PLANE_PIXEL_SOURCE_NONE);
> +						      BIT(DRM_PLANE_PIXEL_SOURCE_NONE) |
> +						      BIT(DRM_PLANE_PIXEL_SOURCE_SOLID_FILL);
>  	int i;
>  
>  	/* FB is supported by default */
> diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
> index a38e18bfb43e..49995c4be2ab 100644
> --- a/include/drm/drm_plane.h
> +++ b/include/drm/drm_plane.h
> @@ -43,6 +43,7 @@ enum drm_scaling_filter {
>  enum drm_plane_pixel_source {
>  	DRM_PLANE_PIXEL_SOURCE_NONE,
>  	DRM_PLANE_PIXEL_SOURCE_FB,
> +	DRM_PLANE_PIXEL_SOURCE_SOLID_FILL,
>  	DRM_PLANE_PIXEL_SOURCE_MAX
>  };
>  
> 

This UAPI:
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.com>


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/20230829/3af8e3fd/attachment.sig>


More information about the dri-devel mailing list