Re: [PATCH v2] drm/verisilicon: set blend mode for the cursor plane

From: Icenowy Zheng

Date: Wed Sep 16 2026 - 06:20:45 EST


在 2026-09-10四的 17:49 +0800,Icenowy Zheng写道:
> Blend mode properties are now required to expose pixel formats w/
> alpha.
>
> Experiments show that the fixed blending mode for the cursor seems to
> be
> COVERAGE:
>
> - With a cursor plane filled with R=G=0, B=0xff, A=0x40, the cursor
> is
>   visible on a pure-white background, which means the background is
>   multiplied.
> - With a cursor plane filled with R=G=B=0xff, A=0x40, the cursor
> isn't
>   pure white and non-white patterns can be see through, which means
> the
>   cursor is multiplied.
>
> Add a fixed COVERAGE blend mode property for the cursor plane.
>
> Signed-off-by: Icenowy Zheng <zhengxingda@xxxxxxxxxxx>
> Reviewed-by: Thomas Zimmermann <tzimmermann@xxxxxxx>

Applied onto drm-misc-fixes.

Thanks,
Icenowy

> ---
>  drivers/gpu/drm/verisilicon/vs_cursor_plane.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/verisilicon/vs_cursor_plane.c
> b/drivers/gpu/drm/verisilicon/vs_cursor_plane.c
> index fa4f601dd0c87..da456dced88aa 100644
> --- a/drivers/gpu/drm/verisilicon/vs_cursor_plane.c
> +++ b/drivers/gpu/drm/verisilicon/vs_cursor_plane.c
> @@ -11,6 +11,7 @@
>  
>  #include <drm/drm_atomic.h>
>  #include <drm/drm_atomic_helper.h>
> +#include <drm/drm_blend.h>
>  #include <drm/drm_crtc.h>
>  #include <drm/drm_fourcc.h>
>  #include <drm/drm_framebuffer.h>
> @@ -267,6 +268,7 @@ struct drm_plane *vs_cursor_plane_init(struct
> drm_device *drm_dev,
>   return plane;
>  
>   drm_plane_helper_add(plane, &vs_cursor_plane_helper_funcs);
> + drm_plane_create_blend_mode_property(plane,
> BIT(DRM_MODE_BLEND_COVERAGE));
>  
>   return plane;
>  }