[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1425ed35a21bcd9633524d4fc747b71a17068363.camel@collabora.com>
Date: Mon, 26 Jan 2026 15:23:35 -0300
From: Nícolas "F. R. A. Prado" <nfraprado@...labora.com>
To: Cristian Ciocaltea <cristian.ciocaltea@...labora.com>, Maarten Lankhorst
<maarten.lankhorst@...ux.intel.com>, Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>, David Airlie <airlied@...il.com>,
Simona Vetter <simona@...ll.ch>, Sandy Huang <hjc@...k-chips.com>, Heiko
Stübner <heiko@...ech.de>, Andy Yan
<andy.yan@...k-chips.com>, Louis Chauvet <louis.chauvet@...tlin.com>,
Haneen Mohammed <hamohammed.sa@...il.com>, Melissa Wen
<melissa.srw@...il.com>
Cc: Robert Mader <robert.mader@...labora.com>, kernel@...labora.com,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-rockchip@...ts.infradead.org,
Matt Roper <matthew.d.roper@...el.com>
Subject: Re: [PATCH v4 2/4] drm: Add CRTC background color property
On Fri, 2025-12-19 at 23:46 +0200, Cristian Ciocaltea wrote:
> Some display controllers can be hardware programmed to show non-black
> colors for pixels that are either not covered by any plane or are
> exposed through transparent regions of higher planes. This feature
> can
> help reduce memory bandwidth usage, e.g. in compositors managing a UI
> with a solid background color while using smaller planes to render
> the
> remaining content.
>
> To support this capability, introduce the BACKGROUND_COLOR standard
> DRM
> mode property, which can be attached to a CRTC through the
> drm_crtc_attach_background_color_property() helper function.
>
> Additionally, define a 64-bit ARGB format value to be built with the
> help of a couple of dedicated DRM_ARGB64_PREP*() helpers. Individual
> color components can be extracted with desired precision using the
> corresponding DRM_ARGB64_GET*() macros.
>
> Co-developed-by: Matt Roper <matthew.d.roper@...el.com>
> Signed-off-by: Matt Roper <matthew.d.roper@...el.com>
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@...labora.com>
> ---
> drivers/gpu/drm/drm_atomic_state_helper.c | 1 +
> drivers/gpu/drm/drm_atomic_uapi.c | 4 ++
> drivers/gpu/drm/drm_blend.c | 39 ++++++++++++++++--
> drivers/gpu/drm/drm_mode_config.c | 6 +++
> include/drm/drm_blend.h | 4 +-
> include/drm/drm_crtc.h | 12 ++++++
> include/drm/drm_mode_config.h | 5 +++
> include/uapi/drm/drm_mode.h | 67
> +++++++++++++++++++++++++++++++
> 8 files changed, 133 insertions(+), 5 deletions(-)
You should also add a dump for this property in
drm_atomic_crtc_print_state().
>
> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> index 66278ffeebd6..d99a74258d3d 100644
> --- a/include/drm/drm_crtc.h
> +++ b/include/drm/drm_crtc.h
> @@ -274,6 +274,18 @@ struct drm_crtc_state {
> */
> struct drm_property_blob *gamma_lut;
>
> + /**
> + * @background_color:
> + *
> + * RGB value representing the pipe's background color. The
> background
> + * color (aka "canvas color") of a pipe is the color that
> will be used
> + * for pixels not covered by a plane, or covered by
> transparent pixels
> + * of a plane. The value here should be built using
> DRM_ARGB64_PREP*()
> + * helpers, while the individual color components can be
> extracted with
> + * desired precision via the DRM_ARGB64_GET*() macros.
> + */
> + u64 background_color;
> +
/s/pipe/CRTC/ . pipe is an intel term but this is a generic CRTC
property.
Other than that,
Reviewed-by: Nícolas F. R. A. Prado <nfraprado@...labora.com>
--
Thanks,
Nícolas
Powered by blists - more mailing lists