Commit dabeebae authored by Harry Wentland's avatar Harry Wentland Committed by Simon Ser
Browse files

drm/colorop: pass plane_color_pipeline client cap to atomic check



Drivers will need to know whether an atomic check/commit
originated from a client with DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE
so they can ignore deprecated properties, like COLOR_ENCODING
and COLOR_RANGE.

Pass the plane_color_pipeline bit to drm_atomic_state.

Reviewed-by: default avatarSimon Ser <contact@emersion.fr>
Signed-off-by: default avatarAlex Hung <alex.hung@amd.com>
Signed-off-by: default avatarHarry Wentland <harry.wentland@amd.com>
Reviewed-by: default avatarDaniel Stone <daniels@collabora.com>
Reviewed-by: default avatarMelissa Wen <mwen@igalia.com>
Reviewed-by: default avatarSebastian Wick <sebastian.wick@redhat.com>
Signed-off-by: default avatarSimon Ser <contact@emersion.fr>
Link: https://patch.msgid.link/20251115000237.3561250-24-alex.hung@amd.com
parent f03bf05c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1584,6 +1584,7 @@ int drm_mode_atomic_ioctl(struct drm_device *dev,
	drm_modeset_acquire_init(&ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE);
	state->acquire_ctx = &ctx;
	state->allow_modeset = !!(arg->flags & DRM_MODE_ATOMIC_ALLOW_MODESET);
	state->plane_color_pipeline = file_priv->plane_color_pipeline;

retry:
	copied_objs = 0;
+18 −0
Original line number Diff line number Diff line
@@ -537,6 +537,24 @@ struct drm_atomic_state {
	 */
	bool checked : 1;

	/**
	 * @plane_color_pipeline:
	 *
	 * Indicates whether this atomic state originated with a client that
	 * set the DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE.
	 *
	 * Drivers and helper functions should use this to ignore legacy
	 * properties that are incompatible with the drm_plane COLOR_PIPELINE
	 * behavior, such as:
	 *
	 *  - COLOR_RANGE
	 *  - COLOR_ENCODING
	 *
	 * or any other driver-specific properties that might affect pixel
	 * values.
	 */
	bool plane_color_pipeline : 1;

	/**
	 * @colorops:
	 *