diff options
author | Mike Krus <mike.krus@kdab.com> | 2020-03-04 12:59:48 +0000 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2020-03-06 08:25:31 +0000 |
commit | 0d5a9ebc01a584ab4364e825a3d8a5dabd2ffd8b (patch) | |
tree | 14c9cf2ec23296160f1cb30ddcd5586e5fca159f /tests/auto/render/commons | |
parent | 76b39dd90f613f340066cc5a4ceed65ff778bdd4 (diff) |
Move common job handling out of Renderer
Should be done in aspect as it's independent of the backend.
Moved some tests to separate test using an empty renderer as
other backends are likely to have different jobs.
Change-Id: I2bec0939045acea7b91ecb1622ba18bf9f5db3c6
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'tests/auto/render/commons')
-rw-r--r-- | tests/auto/render/commons/commons.pri | 2 | ||||
-rw-r--r-- | tests/auto/render/commons/testaspect.cpp | 5 | ||||
-rw-r--r-- | tests/auto/render/commons/testaspect.h | 1 | ||||
-rw-r--r-- | tests/auto/render/commons/testrenderer.cpp | 4 | ||||
-rw-r--r-- | tests/auto/render/commons/testrenderer.h | 20 |
5 files changed, 19 insertions, 13 deletions
diff --git a/tests/auto/render/commons/commons.pri b/tests/auto/render/commons/commons.pri index 6f4382a0b..1c6645f8d 100644 --- a/tests/auto/render/commons/commons.pri +++ b/tests/auto/render/commons/commons.pri @@ -6,7 +6,7 @@ HEADERS += \ useCommonTestAspect { SOURCES += $$PWD/testaspect.cpp - SOURCES += $$PWD/testaspect.h + HEADERS += $$PWD/testaspect.h } INCLUDEPATH += $$PWD diff --git a/tests/auto/render/commons/testaspect.cpp b/tests/auto/render/commons/testaspect.cpp index 87ffc56d7..086d79bb6 100644 --- a/tests/auto/render/commons/testaspect.cpp +++ b/tests/auto/render/commons/testaspect.cpp @@ -95,6 +95,11 @@ Render::NodeManagers *TestAspect::nodeManagers() const return d_func()->m_renderer->nodeManagers(); } +void TestAspect::onEngineStartup() +{ + QRenderAspect::onEngineStartup(); +} + void TestAspect::onRegistered() { QRenderAspect::onRegistered(); diff --git a/tests/auto/render/commons/testaspect.h b/tests/auto/render/commons/testaspect.h index a0da98721..dfbe78fbd 100644 --- a/tests/auto/render/commons/testaspect.h +++ b/tests/auto/render/commons/testaspect.h @@ -56,6 +56,7 @@ public: Qt3DRender::Render::NodeManagers *nodeManagers() const; + void onEngineStartup(); void onRegistered(); void onUnregistered(); diff --git a/tests/auto/render/commons/testrenderer.cpp b/tests/auto/render/commons/testrenderer.cpp index 5a36fecf2..45713e9b9 100644 --- a/tests/auto/render/commons/testrenderer.cpp +++ b/tests/auto/render/commons/testrenderer.cpp @@ -38,7 +38,7 @@ TestRenderer::~TestRenderer() void TestRenderer::markDirty(Qt3DRender::Render::AbstractRenderer::BackendNodeDirtySet changes, Qt3DRender::Render::BackendNode *node) { - Q_UNUSED(node); + Q_UNUSED(node) m_changes |= changes; } @@ -50,7 +50,7 @@ Qt3DRender::Render::AbstractRenderer::BackendNodeDirtySet TestRenderer::dirtyBit #if defined(QT_BUILD_INTERNAL) void TestRenderer::clearDirtyBits(Qt3DRender::Render::AbstractRenderer::BackendNodeDirtySet changes) { - m_changes &= changes; + m_changes &= ~changes; } #endif diff --git a/tests/auto/render/commons/testrenderer.h b/tests/auto/render/commons/testrenderer.h index 7b3e0a387..8d5d87a98 100644 --- a/tests/auto/render/commons/testrenderer.h +++ b/tests/auto/render/commons/testrenderer.h @@ -43,15 +43,17 @@ public: void dumpInfo() const override {} API api() const override { return AbstractRenderer::OpenGL; } qint64 time() const override { return 0; } - void setTime(qint64 time) override { Q_UNUSED(time); } + void setTime(qint64 time) override { Q_UNUSED(time) } + void setAspect(Qt3DRender::QRenderAspect *aspect) override { m_aspect = aspect; } void setNodeManagers(Qt3DRender::Render::NodeManagers *m) override { m_managers = m; m_resourceAccessor.reset(new Qt3DRender::Render::ResourceAccessor(this, m_managers)); } - void setServices(Qt3DCore::QServiceLocator *services) override { Q_UNUSED(services); } - void setSurfaceExposed(bool exposed) override { Q_UNUSED(exposed); } + void setServices(Qt3DCore::QServiceLocator *services) override { Q_UNUSED(services) } + void setSurfaceExposed(bool exposed) override { Q_UNUSED(exposed) } void setJobsInLastFrame(int jobsInLastFrame) override { Q_UNUSED(jobsInLastFrame) } + Qt3DRender::QRenderAspect *aspect() const override { return m_aspect; } Qt3DRender::Render::NodeManagers *nodeManagers() const override { return m_managers; } Qt3DCore::QServiceLocator *services() const override { return nullptr; } void initialize() override {} @@ -66,17 +68,13 @@ public: void jobsDone(Qt3DCore::QAspectManager *manager) override { Q_UNUSED(manager) } QVector<Qt3DCore::QAspectJobPtr> preRenderingJobs() override { return QVector<Qt3DCore::QAspectJobPtr>(); } QVector<Qt3DCore::QAspectJobPtr> renderBinJobs() override { return QVector<Qt3DCore::QAspectJobPtr>(); } - Qt3DCore::QAspectJobPtr pickBoundingVolumeJob() override { return Qt3DCore::QAspectJobPtr(); } - Qt3DCore::QAspectJobPtr rayCastingJob() override { return Qt3DCore::QAspectJobPtr(); } - Qt3DCore::QAspectJobPtr syncLoadingJobs() override { return Qt3DCore::QAspectJobPtr(); } - Qt3DCore::QAspectJobPtr expandBoundingVolumeJob() override { return Qt3DCore::QAspectJobPtr(); } void setSceneRoot(Qt3DRender::Render::Entity *root) override { Q_UNUSED(root) } Qt3DRender::Render::Entity *sceneRoot() const override { return nullptr; } Qt3DRender::Render::FrameGraphNode *frameGraphRoot() const override { return nullptr; } Qt3DCore::QAbstractFrameAdvanceService *frameAdvanceService() const override { return nullptr; } - void registerEventFilter(Qt3DCore::QEventFilterService *service) override { Q_UNUSED(service) } - void setSettings(Qt3DRender::Render::RenderSettings *settings) override { Q_UNUSED(settings) } - Qt3DRender::Render::RenderSettings *settings() const override { return nullptr; } + void setSettings(Qt3DRender::Render::RenderSettings *settings) override { m_settings = settings; } + Qt3DRender::Render::RenderSettings *settings() const override { return m_settings; } + void setPendingEvents(const QList<QPair<QObject *, QMouseEvent> > &, const QList<QKeyEvent> &) override { } void markDirty(Qt3DRender::Render::AbstractRenderer::BackendNodeDirtySet changes, Qt3DRender::Render::BackendNode *node) override; Qt3DRender::Render::AbstractRenderer::BackendNodeDirtySet dirtyBits() override; @@ -99,8 +97,10 @@ public: protected: Qt3DRender::Render::AbstractRenderer::BackendNodeDirtySet m_changes; + Qt3DRender::QRenderAspect *m_aspect = nullptr; Qt3DRender::Render::NodeManagers *m_managers = nullptr; QSharedPointer<Qt3DRender::Render::ResourceAccessor> m_resourceAccessor; + Qt3DRender::Render::RenderSettings *m_settings = nullptr; }; QT_END_NAMESPACE |