aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/scenegraph/qsgrenderloop.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/scenegraph/qsgrenderloop.cpp')
-rw-r--r--src/quick/scenegraph/qsgrenderloop.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/quick/scenegraph/qsgrenderloop.cpp b/src/quick/scenegraph/qsgrenderloop.cpp
index 9d1217edf9..0c1850f91f 100644
--- a/src/quick/scenegraph/qsgrenderloop.cpp
+++ b/src/quick/scenegraph/qsgrenderloop.cpp
@@ -517,6 +517,11 @@ void QSGGuiThreadRenderLoop::renderWindow(QQuickWindow *window)
// QQuickWindowPrivate, do it now
cd->rhi = rhi;
+ // Unlike the threaded render loop, we use the same rhi for all windows
+ // and so createRhi() is called only once. Certain initialization may
+ // need to be done on a per window basis still, so make sure it is done.
+ rhiSupport->prepareWindowForRhi(window);
+
QRhiSwapChain::Flags flags = QRhiSwapChain::UsedAsTransferSource; // may be used in a grab
// QQ is always premul alpha. Decide based on alphaBufferSize in