From 0ef5ddfd47a617bcbee64cfcc79becf5e7ddb09c Mon Sep 17 00:00:00 2001 From: Chaojiang Luo Date: Fri, 3 Jul 2020 12:04:28 +0800 Subject: [PATCH] [drm] Do not blank crtc in atomic mode In atomic setting mode, when external display tears down, it will blank crtc with dump buffer by legacy api, then re-plug the external display, the blank can not be removed. We think the blank is not needed in atomic mode setting. Signed-off-by: Chaojiang Luo --- plugins/platforms/drm/drm_object_crtc.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/platforms/drm/drm_object_crtc.cpp b/plugins/platforms/drm/drm_object_crtc.cpp index 34ae31349f..89f923c36f 100644 --- a/plugins/platforms/drm/drm_object_crtc.cpp +++ b/plugins/platforms/drm/drm_object_crtc.cpp @@ -91,6 +91,11 @@ bool DrmCrtc::blank() if (!m_output) { return false; } + + if (m_backend->atomicModeSetting()) { + return false; + } + if (!m_blackBuffer) { DrmDumbBuffer *blackBuffer = m_backend->createBuffer(m_output->pixelSize()); if (!blackBuffer->map()) {