backends/native: Let updates require ALLOW_MODESET

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2879>
This commit is contained in:
Sebastian Wick 2023-03-02 01:59:41 +01:00 committed by Marge Bot
parent 76e69f2375
commit 5984aa8137
3 changed files with 11 additions and 1 deletions

View File

@ -967,7 +967,7 @@ meta_kms_impl_device_atomic_process_update (MetaKmsImplDevice *impl_device,
&error)) &error))
goto err; goto err;
if (meta_kms_update_get_mode_sets (update)) if (meta_kms_update_get_needs_modeset (update))
commit_flags |= DRM_MODE_ATOMIC_ALLOW_MODESET; commit_flags |= DRM_MODE_ATOMIC_ALLOW_MODESET;
else else
commit_flags |= DRM_MODE_ATOMIC_NONBLOCK; commit_flags |= DRM_MODE_ATOMIC_NONBLOCK;

View File

@ -193,6 +193,8 @@ void meta_kms_custom_page_flip_free (MetaKmsCustomPageFlip *custom_page_flip);
void meta_kms_update_realize (MetaKmsUpdate *update, void meta_kms_update_realize (MetaKmsUpdate *update,
MetaKmsImplDevice *impl_device); MetaKmsImplDevice *impl_device);
gboolean meta_kms_update_get_needs_modeset (MetaKmsUpdate *update);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MetaKmsPlaneFeedback, G_DEFINE_AUTOPTR_CLEANUP_FUNC (MetaKmsPlaneFeedback,
meta_kms_plane_feedback_free) meta_kms_plane_feedback_free)

View File

@ -46,6 +46,8 @@ struct _MetaKmsUpdate
GList *page_flip_listeners; GList *page_flip_listeners;
GList *result_listeners; GList *result_listeners;
gboolean needs_modeset;
MetaKmsImplDevice *impl_device; MetaKmsImplDevice *impl_device;
}; };
@ -953,6 +955,12 @@ meta_kms_update_merge_from (MetaKmsUpdate *update,
merge_result_listeners_from (update, other_update); merge_result_listeners_from (update, other_update);
} }
gboolean
meta_kms_update_get_needs_modeset (MetaKmsUpdate *update)
{
return update->needs_modeset || update->mode_sets;
}
MetaKmsUpdate * MetaKmsUpdate *
meta_kms_update_new (MetaKmsDevice *device) meta_kms_update_new (MetaKmsDevice *device)
{ {