Never mind, this has some garbage in it. I'll send out an update in a bit.
Am 21.07.26 um 10:20 schrieb Thomas Zimmermann:
Calling drm_atomic_helper_check_plane_damage() in plane_atomic_check() before copying the damage information guarantees that ignore_damage_clips from struct drm_plane_state has the correct value. Although i915 does not directly modify or use the flag, DRM's damage iterator will soon rely on it. Git commit 35ed38d58257 ("drm: Allow drivers to indicate the damage helpers to ignore damage clips") introduced ignore_damage_clips to selectively ignore damage clipping for certain framebuffer changes. The mode-setting pipeline can disabled damage clippings for an atomic commit by setting ignore_damage_clips in struct drm_plane_state. The atomic commit will then do a full display update. Future directions: there's currently a multitude of options that affect damage clipping; with different places seeing different state. In order to unify this, drm_atomic_helper_check_plane_state() will soon evaluate all options in a single place and set ignore_damage_clips accordingly. All later stages of the mode-setting pipeline will only look at this field. v2: - move _check_plane_damage() before reading damage first time (Sashiko) - expand commit description Signed-off-by: Thomas Zimmermann <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> --- Taken with updates from the series at https://lore.kernel.org/dri-devel/[email protected]/ --- drivers/gpu/drm/i915/display/intel_plane.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/gpu/drm/i915/display/intel_plane.c b/drivers/gpu/drm/i915/display/intel_plane.c index a440f92ff00c..7d312c88a1db 100644 --- a/drivers/gpu/drm/i915/display/intel_plane.c +++ b/drivers/gpu/drm/i915/display/intel_plane.c @@ -873,6 +873,14 @@ static int plane_atomic_check(struct intel_atomic_state *state, old_primary_crtc_plane_state = old_plane_state; }+ /*+ * Prepare plane-damage state before using it; do this on all + * display versions to keep the underlying DRM plane state in + * good shape. + */ + drm_atomic_helper_check_plane_damage(&new_plane_state->base, + &new_uapi_plane_state->uapi); + intel_plane_copy_uapi_plane_damage(new_plane_state, old_primary_crtc_plane_state, new_primary_crtc_plane_state); base-commit: fcaba3bc017906059b910ece3f83185e93010581
-- -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com GF: Jochen Jaser, Andrew McDonald, (HRB 36809, AG Nürnberg)
