[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1760492.77853pnPW8@avalon>
Date: Thu, 20 Sep 2018 14:17:05 +0300
From: Laurent Pinchart <laurent.pinchart@...asonboard.com>
To: Kieran Bingham <kieran.bingham+renesas@...asonboard.com>
Cc: linux-renesas-soc@...r.kernel.org, dri-devel@...ts.freedesktop.org,
Alexandru-Cosmin Gheorghe <Alexandru-Cosmin.Gheorghe@....com>,
Gustavo Padovan <gustavo@...ovan.org>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Sean Paul <sean@...rly.run>, David Airlie <airlied@...ux.ie>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/2] drm/atomic: Initialise planes with opaque alpha values
Hi Kieran,
Thank you for the patch.
On Wednesday, 19 September 2018 18:56:58 EEST Kieran Bingham wrote:
> Planes without an alpha property, using __drm_atomic_helper_plane_reset
> will have their plane state alpha initialised as zero, which represents
> a transparent alpha.
>
> If this value is then used for the plane, it may not be visible by
> default, and thus doesn't represent a good initialisation state.
>
> Update the default state->alpha value to DRM_BLEND_ALPHA_OPAQUE
> unconditionally when the plane is reset.
>
> Signed-off-by: Kieran Bingham <kieran.bingham+renesas@...asonboard.com>
I believe the decision to use plane->alpha_property->values[1] instead of
hardcoding DRM_BLEND_ALPHA_OPAQUE comes from earlier versions of the alpha
patch series that supported driver-specific ranges for the alpha value. The
current implementation uses DRM_BLEND_ALPHA_OPAQUE unconditionally, and no
driver modifies the maximum value behind the scene, so
Reviewed-by: Laurent Pinchart <laurent.pinchart@...asonboard.com>
> ---
> drivers/gpu/drm/drm_atomic_helper.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_atomic_helper.c
> b/drivers/gpu/drm/drm_atomic_helper.c index 3cf1aa132778..e49b22381048
> 100644
> --- a/drivers/gpu/drm/drm_atomic_helper.c
> +++ b/drivers/gpu/drm/drm_atomic_helper.c
> @@ -3569,9 +3569,7 @@ void __drm_atomic_helper_plane_reset(struct drm_plane
> *plane, state->plane = plane;
> state->rotation = DRM_MODE_ROTATE_0;
>
> - /* Reset the alpha value to fully opaque if it matters */
> - if (plane->alpha_property)
> - state->alpha = plane->alpha_property->values[1];
> + state->alpha = DRM_BLEND_ALPHA_OPAQUE;
> state->pixel_blend_mode = DRM_MODE_BLEND_PREMULTI;
>
> plane->state = state;
--
Regards,
Laurent Pinchart
Powered by blists - more mailing lists