Messages in this thread | | | From | CK Hu (胡俊光) <> | Subject | Re: [PATCH v2 06/11] drm/mediatek: Support alpha blending in display driver | Date | Mon, 18 Sep 2023 09:25:27 +0000 |
| |
Hi, Hsiao-chien:
On Mon, 2023-09-18 at 16:42 +0800, Hsiao Chien Sung wrote: > Support alpha blending by adding correct blend mode and > alpha property in plane initialization. > > Reviewed-by: AngeloGioacchino Del Regno < > angelogioacchino.delregno@collabora.com> > Signed-off-by: Hsiao Chien Sung <shawn.sung@mediatek.com> > --- > drivers/gpu/drm/mediatek/mtk_drm_plane.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_plane.c > b/drivers/gpu/drm/mediatek/mtk_drm_plane.c > index db2f70ae060d..f87cf56fb846 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_plane.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_plane.c > @@ -301,6 +301,9 @@ int mtk_plane_init(struct drm_device *dev, struct > drm_plane *plane, > size_t num_formats) > { > int err; > + u32 blend_mode = BIT(DRM_MODE_BLEND_PIXEL_NONE) | > + BIT(DRM_MODE_BLEND_PREMULTI) | > + BIT(DRM_MODE_BLEND_COVERAGE); > > if (!formats || !num_formats) { > DRM_ERROR("no formats for plane\n"); > @@ -323,6 +326,14 @@ int mtk_plane_init(struct drm_device *dev, > struct drm_plane *plane, > DRM_INFO("Create rotation property failed\n"); > } > > + err = drm_plane_create_alpha_property(plane); > + if (err) > + DRM_ERROR("failed to create property: alpha\n"); > + > + err = drm_plane_create_blend_mode_property(plane, blend_mode); > + if (err) > + DRM_ERROR("failed to create property: blend_mode\n");
Do not always enable alpha function. Enable it depend on hardware capability.
Regards, CK
> + > drm_plane_helper_add(plane, &mtk_plane_helper_funcs); > > return 0;
| |