drm/atomic: Allow userspace to use damage clips with async flips
authorAndré Almeida <andrealmeid@igalia.com>
Tue, 2 Jul 2024 21:22:15 +0000 (18:22 -0300)
committerSimon Ser <contact@emersion.fr>
Wed, 31 Jul 2024 18:49:54 +0000 (20:49 +0200)
Allow userspace to use damage clips with atomic async flips. Damage
clips are useful for partial plane updates, which can be helpful for
clients that want to do flips asynchronously.

Fixes: 0e26cc72c71c ("drm: Refuse to async flip with atomic prop changes")
Signed-off-by: André Almeida <andrealmeid@igalia.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Signed-off-by: Simon Ser <contact@emersion.fr>
Link: https://patchwork.freedesktop.org/patch/msgid/20240702212215.109696-2-andrealmeid@igalia.com
drivers/gpu/drm/drm_atomic_uapi.c

index 2e1d939..7609c79 100644 (file)
@@ -1072,7 +1072,8 @@ int drm_atomic_set_property(struct drm_atomic_state *state,
 
                if (async_flip &&
                    prop != config->prop_fb_id &&
-                   prop != config->prop_in_fence_fd) {
+                   prop != config->prop_in_fence_fd &&
+                   prop != config->prop_fb_damage_clips) {
                        ret = drm_atomic_plane_get_property(plane, plane_state,
                                                            prop, &old_val);
                        ret = drm_atomic_check_prop_changes(ret, old_val, prop_value, prop);