drm: atomic: Avoid device busy when flipping after creating a new window
Task-number: QTBUG-122663 Change-Id: I168930428e8d09a9a042401460d678e20f3b82d5 Pick-to: 6.6 6.5 Reviewed-by: Andy Nichols <andy.nichols@qt.io> (cherry picked from commit 0a3b5042a566afa4dc5162f469eb0d8be3120933) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
bfb6f4e86c
commit
e3b2386dd7
@ -176,10 +176,14 @@ gbm_surface *QEglFSKmsGbmScreen::createSurface(EGLConfig eglConfig)
|
|||||||
|
|
||||||
void QEglFSKmsGbmScreen::resetSurface()
|
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_current = nullptr;
|
||||||
m_gbm_bo_next = nullptr;
|
|
||||||
m_gbm_surface = 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,
|
void QEglFSKmsGbmScreen::initCloning(QPlatformScreen *screenThisScreenClones,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user