From: "Nícolas F. R. A. Prado" <nfraprado@collabora.com>
To: "Cristian Ciocaltea" <cristian.ciocaltea@collabora.com>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Sandy Huang" <hjc@rock-chips.com>,
"Heiko Stübner" <heiko@sntech.de>,
"Andy Yan" <andy.yan@rock-chips.com>,
"Louis Chauvet" <louis.chauvet@bootlin.com>,
"Haneen Mohammed" <hamohammed.sa@gmail.com>,
"Melissa Wen" <melissa.srw@gmail.com>
Cc: Robert Mader <robert.mader@collabora.com>,
kernel@collabora.com, dri-devel@lists.freedesktop.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org,
Matt Roper <matthew.d.roper@intel.com>
Subject: Re: [PATCH v4 2/4] drm: Add CRTC background color property
Date: Mon, 26 Jan 2026 15:23:35 -0300 [thread overview]
Message-ID: <1425ed35a21bcd9633524d4fc747b71a17068363.camel@collabora.com> (raw)
In-Reply-To: <20251219-rk3588-bgcolor-v4-2-2ff1127ea757@collabora.com>
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@intel.com>
> Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.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@collabora.com>
--
Thanks,
Nícolas
next prev parent reply other threads:[~2026-01-26 18:24 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-19 21:46 [PATCH v4 0/4] Introduce BACKGROUND_COLOR DRM CRTC property Cristian Ciocaltea
2025-12-19 21:46 ` [PATCH v4 1/4] uapi: Provide DIV_ROUND_CLOSEST() Cristian Ciocaltea
2026-01-26 18:33 ` Nícolas F. R. A. Prado
2025-12-19 21:46 ` [PATCH v4 2/4] drm: Add CRTC background color property Cristian Ciocaltea
2026-01-26 18:23 ` Nícolas F. R. A. Prado [this message]
2026-01-27 9:01 ` Cristian Ciocaltea
2025-12-19 21:47 ` [PATCH v4 3/4] drm/vkms: Support setting custom background color Cristian Ciocaltea
2026-01-26 18:25 ` Nícolas F. R. A. Prado
2025-12-19 21:47 ` [PATCH v4 4/4] drm/rockchip: vop2: " Cristian Ciocaltea
2026-01-10 4:00 ` Andy Yan
2026-01-10 9:58 ` [PATCH " Cristian Ciocaltea
2026-01-16 15:22 ` Cristian Ciocaltea
2026-02-13 7:07 ` Andy Yan
2026-02-13 11:04 ` Cristian Ciocaltea
2026-01-26 18:30 ` Nícolas F. R. A. Prado
2026-01-26 18:52 ` Cristian Ciocaltea
2026-01-07 19:42 ` [PATCH v4 0/4] Introduce BACKGROUND_COLOR DRM CRTC property Diederik de Haas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1425ed35a21bcd9633524d4fc747b71a17068363.camel@collabora.com \
--to=nfraprado@collabora.com \
--cc=airlied@gmail.com \
--cc=andy.yan@rock-chips.com \
--cc=cristian.ciocaltea@collabora.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=hamohammed.sa@gmail.com \
--cc=heiko@sntech.de \
--cc=hjc@rock-chips.com \
--cc=kernel@collabora.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=louis.chauvet@bootlin.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=matthew.d.roper@intel.com \
--cc=melissa.srw@gmail.com \
--cc=mripard@kernel.org \
--cc=robert.mader@collabora.com \
--cc=simona@ffwll.ch \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox