Thread (17 messages) 17 messages, 4 authors, 2026-02-13

Re: [PATCH v4 2/4] drm: Add CRTC background color property

From: Cristian Ciocaltea <hidden>
Date: 2026-01-27 09:01:08
Also in: dri-devel, linux-rockchip, lkml

On 1/26/26 8:23 PM, Nícolas F. R. A. Prado wrote:
On Fri, 2025-12-19 at 23:46 +0200, Cristian Ciocaltea wrote:
quoted
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 <redacted>
Signed-off-by: Matt Roper <redacted>
Signed-off-by: Cristian Ciocaltea <redacted>
---
 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().
This and all your other comments have been addressed in v5 [1].

$ grep background_color -B13 /sys/kernel/debug/dri/display-subsystem/state
crtc[82]: video_port0
	enable=1
	active=1
	self_refresh_active=0
	planes_changed=1
	mode_changed=0
	active_changed=0
	connectors_changed=0
	color_mgmt_changed=0
	plane_mask=1
	connector_mask=1
	encoder_mask=1
	mode: "3840x2160": 60 594000 3840 4016 4104 4400 2160 2168 2178 2250 0x48 0x9
	background_color=ffff000000000000

Thanks,
Cristian

[1] https://lore.kernel.org/all/20260127-rk3588-bgcolor-v5-0-b25aa8613211@collabora.com/ (local)

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help