diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2018-03-02 10:27:07 +0100 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2018-03-16 11:21:02 +0000 |
commit | c1b495f70c3b4f0c23d44dfcd99aed5882312100 (patch) | |
tree | ced8484d36d999395f520f2d7262d832afc73c99 /tests | |
parent | 02dff327fae71d6efdda091f8ae0a4483e72e849 (diff) |
Split GraphicsContext in two
- GraphicsContext is now a stateless wrapper around GL calls
- SubmissionContext is a GraphicsContext + caches and states used to render a
frame
Change-Id: I147b56dfd4c403911faadc0e9821fff9a892f71c
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/render/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp | 6 | ||||
-rw-r--r-- | tests/auto/render/renderer/tst_renderer.cpp | 9 |
2 files changed, 11 insertions, 4 deletions
diff --git a/tests/auto/render/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp b/tests/auto/render/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp index 4d4a08a34..626f7811e 100644 --- a/tests/auto/render/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp +++ b/tests/auto/render/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp @@ -37,7 +37,7 @@ #include <Qt3DRender/private/filtercompatibletechniquejob_p.h> #include <Qt3DRender/private/nodemanagers_p.h> #include <Qt3DRender/private/renderer_p.h> -#include <Qt3DRender/private/graphicscontext_p.h> +#include <Qt3DRender/private/submissioncontext_p.h> #include <Qt3DRender/private/qrenderaspect_p.h> #include <Qt3DRender/private/techniquemanager_p.h> @@ -93,7 +93,7 @@ public: { renderer()->setOpenGLContext(&m_glContext); d_func()->m_renderer->initialize(); - renderer()->graphicsContext()->beginDrawing(m_window.data()); + renderer()->submissionContext()->beginDrawing(m_window.data()); } Render::Renderer *renderer() const @@ -209,7 +209,7 @@ private Q_SLOTS: // THEN QCOMPARE(testAspect.renderer()->isRunning(), true); - QCOMPARE(testAspect.renderer()->graphicsContext()->isInitialized(), true); + QCOMPARE(testAspect.renderer()->submissionContext()->isInitialized(), true); const QVector<Qt3DRender::Render::HTechnique> handles = testAspect.nodeManagers()->techniqueManager()->activeHandles(); QCOMPARE(handles.size(), 3); diff --git a/tests/auto/render/renderer/tst_renderer.cpp b/tests/auto/render/renderer/tst_renderer.cpp index 27708c1b9..9a435da28 100644 --- a/tests/auto/render/renderer/tst_renderer.cpp +++ b/tests/auto/render/renderer/tst_renderer.cpp @@ -34,6 +34,7 @@ #include <Qt3DRender/private/viewportnode_p.h> #include <Qt3DRender/private/renderview_p.h> #include <Qt3DRender/private/renderviewbuilder_p.h> +#include <Qt3DRender/private/offscreensurfacehelper_p.h> class tst_Renderer : public QObject { @@ -48,6 +49,7 @@ private Q_SLOTS: // GIVEN Qt3DRender::Render::NodeManagers nodeManagers; Qt3DRender::Render::Renderer renderer(Qt3DRender::QRenderAspect::Synchronous); + Qt3DRender::Render::OffscreenSurfaceHelper offscreenHelper(&renderer); Qt3DRender::Render::RenderSettings settings; // owned by FG manager Qt3DRender::Render::ViewportNode *fgRoot = new Qt3DRender::Render::ViewportNode(); @@ -58,8 +60,12 @@ private Q_SLOTS: renderer.setNodeManagers(&nodeManagers); renderer.setSettings(&settings); + renderer.setOffscreenSurfaceHelper(&offscreenHelper); renderer.initialize(); + // Ensure invoke calls are performed + QCoreApplication::processEvents(); + // NOTE: FilterCompatibleTechniqueJob and ShaderGathererJob cannot run because the context // is not initialized in this test @@ -204,7 +210,8 @@ private Q_SLOTS: renderer.clearDirtyBits(Qt3DRender::Render::AbstractRenderer::AllDirty); - + // Properly shutdown command thread + renderer.shutdown(); } }; |