From 3a5cb1c44188a0bec998589cd31ba5b2274be745 Mon Sep 17 00:00:00 2001 From: Xaver Hugl Date: Thu, 25 Nov 2021 15:41:47 +0100 Subject: [PATCH] backends/drm: only set pageflipPending when wanted It shouldn't be set when the pipeline wants to be disabled. Whenever that happens it will wait forever for the pageflip that doesn't come --- src/backends/drm/drm_pipeline.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/backends/drm/drm_pipeline.cpp b/src/backends/drm/drm_pipeline.cpp index 003fd0bf2b..170e8e63ea 100644 --- a/src/backends/drm/drm_pipeline.cpp +++ b/src/backends/drm/drm_pipeline.cpp @@ -183,7 +183,9 @@ bool DrmPipeline::commitPipelines(const QVector &pipelines, Commit } } if (mode != CommitMode::Test) { - pipeline->m_pageflipPending = true; + if (pipeline->activePending()) { + pipeline->m_pageflipPending = true; + } pipeline->m_connector->commit(); if (pipeline->pending.crtc) { pipeline->pending.crtc->primaryPlane()->setNext(pipeline->m_primaryBuffer);