aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/scenegraph/qsgcontext.cpp
diff options
context:
space:
mode:
authorJiDe Zhang <zhangjide@uniontech.com>2021-05-28 16:12:55 +0800
committerLaszlo Agocs <laszlo.agocs@qt.io>2022-04-19 17:39:07 +0200
commit43f705c3c01a7b78b94ea1db655c715ab2a54939 (patch)
treebde830a04a8e265072d088383f74ecc5c8919c07 /src/quick/scenegraph/qsgcontext.cpp
parent514e292d3ded029791779c422f45dcf5cbe57a1d (diff)
Support to custom the render target on the software renderer
Add QQuickRenderTarget::fromPaintDevice, aollow to get a QQuickRendererTarget from the QPaintDevice object. [ChangeLog][QtQuick] Added QQuickRenderTarget::fromPaintDevice, Allowed to set the render target of QQuickWindow on the software renderer. Task-number: QTBUG-94075 Change-Id: I4946c25d2a6315cd8f9c12a7ac7ac4cf71d95361 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/quick/scenegraph/qsgcontext.cpp')
-rw-r--r--src/quick/scenegraph/qsgcontext.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/quick/scenegraph/qsgcontext.cpp b/src/quick/scenegraph/qsgcontext.cpp
index a5e0e5e035..7a1027b806 100644
--- a/src/quick/scenegraph/qsgcontext.cpp
+++ b/src/quick/scenegraph/qsgcontext.cpp
@@ -39,6 +39,7 @@
#include <QtQuick/private/qsgcontext_p.h>
#include <QtQuick/private/qsgtexture_p.h>
+#include <QtQuick/private/qsgrenderer_p.h>
#include <QtQuick/private/qquickpixmapcache_p.h>
#include <QtQuick/private/qsgadaptationlayer_p.h>
@@ -370,12 +371,12 @@ void QSGRenderContext::prepareSync(qreal devicePixelRatio,
Q_UNUSED(config);
}
-void QSGRenderContext::beginNextFrame(QSGRenderer *renderer,
+void QSGRenderContext::beginNextFrame(QSGRenderer *renderer, const QSGRenderTarget &renderTarget,
RenderPassCallback mainPassRecordingStart,
RenderPassCallback mainPassRecordingEnd,
void *callbackUserData)
{
- Q_UNUSED(renderer);
+ renderer->setRenderTarget(renderTarget);
Q_UNUSED(mainPassRecordingStart);
Q_UNUSED(mainPassRecordingEnd);
Q_UNUSED(callbackUserData);
@@ -386,15 +387,13 @@ void QSGRenderContext::endNextFrame(QSGRenderer *renderer)
Q_UNUSED(renderer);
}
-void QSGRenderContext::beginNextRhiFrame(QSGRenderer *renderer,
- QRhiRenderTarget *rt, QRhiRenderPassDescriptor *rp, QRhiCommandBuffer *cb,
+void QSGRenderContext::beginNextRhiFrame(QSGRenderer *renderer, const QSGRenderTarget &renderTarget,
+ QRhiCommandBuffer *cb,
RenderPassCallback mainPassRecordingStart,
RenderPassCallback mainPassRecordingEnd,
void *callbackUserData)
{
- Q_UNUSED(renderer);
- Q_UNUSED(rt);
- Q_UNUSED(rp);
+ renderer->setRenderTarget(renderTarget);
Q_UNUSED(cb);
Q_UNUSED(mainPassRecordingStart);
Q_UNUSED(mainPassRecordingEnd);