aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickwindow.h
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2020-04-29 17:11:31 +0200
committerLaszlo Agocs <laszlo.agocs@qt.io>2020-04-30 18:56:19 +0200
commitdb7bfdc06bf68d5e4a78f293033024a60fb92464 (patch)
treeb55374fea993ca0c1b8a0e3fefe1e63c41a230b4 /src/quick/items/qquickwindow.h
parent93e0e671e9eeef679024fe3e2e4534f2f10533cb (diff)
Add beforeFrameBegin() and afterFrameEnd() to QQuickWindow
New additions to the QQuickWindow signal family. Out of the three stages of the (modern) frame generation process, only two are covered by the existing beforeRendering, beforeRenderPassRecording - afterRenderPassRecording, afterRendering pairs. With the new ones, the rendering of a simple Qt Quick scene looks like the following: emit beforeFrameBegin QRhi::beginFrame() emit beforeRendering ... (additional render passes targeting textures when layers or View3D are involved) QRhi::beginPass() emit beforeRenderPassRecording ... emit afterRenderPassRecording QRhi::endPass() emit afterRendering QRhi::endFrame() emit afterFrameEnd This fits very well the revised QQuickRenderControl API, which has explicit beginFrame-endFrame points as well. So now we can make both QQuickRenderControl and the render loops to emit these signals at the appropriate points. Task-number: QTBUG-83883 Change-Id: Ib385b29393f3b39b0700432d14ea3976cf337fa0 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'src/quick/items/qquickwindow.h')
-rw-r--r--src/quick/items/qquickwindow.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/quick/items/qquickwindow.h b/src/quick/items/qquickwindow.h
index a2278a8df0..deb57376ab 100644
--- a/src/quick/items/qquickwindow.h
+++ b/src/quick/items/qquickwindow.h
@@ -236,6 +236,9 @@ Q_SIGNALS:
Q_REVISION(6, 0) void paletteChanged();
Q_REVISION(6, 0) void paletteCreated();
+ Q_REVISION(6, 0) void beforeFrameBegin();
+ Q_REVISION(6, 0) void afterFrameEnd();
+
public Q_SLOTS:
void update();
void releaseResources();