renderer/native: Discard page flip retries when rebuilding views

Rebuilding views means we don't care to retry page flip attempts for
previous views, especially since connectors may have been disconnected,
making a page flip retry hit an assert a flipped CRTC has connectors
associated with it.

Fixes: https://gitlab.gnome.org/GNOME/mutter/issues/619

https://gitlab.gnome.org/GNOME/mutter/merge_requests/630
This commit is contained in:
Jonas Ådahl 2019-06-19 21:14:05 +02:00
parent 0756fd4636
commit 70de90ebce

View File

@ -3116,9 +3116,15 @@ meta_renderer_native_create_view (MetaRenderer *renderer,
static void static void
meta_renderer_native_rebuild_views (MetaRenderer *renderer) meta_renderer_native_rebuild_views (MetaRenderer *renderer)
{ {
MetaRendererNative *renderer_native = META_RENDERER_NATIVE (renderer);
MetaBackendNative *backend_native =
META_BACKEND_NATIVE (renderer_native->backend);
MetaKms *kms = meta_backend_native_get_kms (backend_native);
MetaRendererClass *parent_renderer_class = MetaRendererClass *parent_renderer_class =
META_RENDERER_CLASS (meta_renderer_native_parent_class); META_RENDERER_CLASS (meta_renderer_native_parent_class);
meta_kms_discard_pending_page_flips (kms);
parent_renderer_class->rebuild_views (renderer); parent_renderer_class->rebuild_views (renderer);
meta_renderer_native_queue_modes_reset (META_RENDERER_NATIVE (renderer)); meta_renderer_native_queue_modes_reset (META_RENDERER_NATIVE (renderer));