drm: atomic: Avoid device busy when flipping after creating a new window

Task-number: QTBUG-122663
Change-Id: I168930428e8d09a9a042401460d678e20f3b82d5
Pick-to: 6.7 6.6 6.5
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
bb10
Laszlo Agocs 2024-03-01 15:53:48 +01:00
parent 82e8f9e457
commit 0a3b5042a5
1 changed files with 6 additions and 2 deletions

View File

@ -176,10 +176,14 @@ gbm_surface *QEglFSKmsGbmScreen::createSurface(EGLConfig eglConfig)
void QEglFSKmsGbmScreen::resetSurface()
{
m_flipPending = false;
m_flipPending = false; // not necessarily true but enough to keep bo_next
m_gbm_bo_current = nullptr;
m_gbm_bo_next = nullptr;
m_gbm_surface = nullptr;
// Leave m_gbm_bo_next untouched. waitForFlip() should
// still do its work, when called. Otherwise we end up
// in device-is-busy errors if there is a new QWindow
// created afterwards. (QTBUG-122663)
}
void QEglFSKmsGbmScreen::initCloning(QPlatformScreen *screenThisScreenClones,