summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/render/commons/testrenderer.h10
-rw-r--r--tests/auto/render/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp3
-rw-r--r--tests/auto/render/geometryrenderer/tst_geometryrenderer.cpp3
-rw-r--r--tests/auto/render/render.pro3
-rw-r--r--tests/auto/render/renderbarrierjob/renderbarrierjob.pro9
-rw-r--r--tests/auto/render/renderbarrierjob/tst_renderbarrierjob.cpp118
-rw-r--r--tests/auto/render/renderer/tst_renderer.cpp159
-rw-r--r--tests/auto/render/renderviewbuilder/tst_renderviewbuilder.cpp21
8 files changed, 71 insertions, 255 deletions
diff --git a/tests/auto/render/commons/testrenderer.h b/tests/auto/render/commons/testrenderer.h
index 9624f129a..b3f602dc2 100644
--- a/tests/auto/render/commons/testrenderer.h
+++ b/tests/auto/render/commons/testrenderer.h
@@ -52,7 +52,7 @@ public:
void shutdown() override {}
void releaseGraphicsResources() override {}
void render() override {}
- void doRender() override {}
+ void doRender(bool scene3dBlocking = false) override { Q_UNUSED(scene3dBlocking); }
void cleanGraphicsResources() override {}
bool isRunning() const override { return true; }
bool shouldRender() override { return true; }
@@ -60,7 +60,7 @@ public:
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 syncSkeletonLoadingJob() override { return Qt3DCore::QAspectJobPtr(); }
+ Qt3DCore::QAspectJobPtr syncTextureLoadingJob() override { return Qt3DCore::QAspectJobPtr(); }
Qt3DCore::QAspectJobPtr expandBoundingVolumeJob() override { return Qt3DCore::QAspectJobPtr(); }
void setSceneRoot(Qt3DCore::QBackendNodeFactory *factory, Qt3DRender::Render::Entity *root) override { Q_UNUSED(factory); Q_UNUSED(root); }
Qt3DRender::Render::Entity *sceneRoot() const override { return nullptr; }
@@ -81,12 +81,6 @@ public:
void setOffscreenSurfaceHelper(Qt3DRender::Render::OffscreenSurfaceHelper *helper) override;
QSurfaceFormat format() override;
- void lockSurfaceAndRender() override {}
- bool releaseRendererAndRequestPromiseToRender() override { return true; }
- bool waitForRenderJobs() override { return true; }
- bool tryWaitForRenderJobs(int timeout) override { Q_UNUSED(timeout); return true; }
- void abortRenderJobs() override {}
-
protected:
Qt3DRender::Render::AbstractRenderer::BackendNodeDirtySet m_changes;
Qt3DRender::Render::NodeManagers *m_managers;
diff --git a/tests/auto/render/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp b/tests/auto/render/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp
index 803d57fa9..4d4a08a34 100644
--- a/tests/auto/render/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp
+++ b/tests/auto/render/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp
@@ -93,8 +93,7 @@ public:
{
renderer()->setOpenGLContext(&m_glContext);
d_func()->m_renderer->initialize();
- renderer()->graphicsContext()->makeCurrent(m_window.data());
- renderer()->graphicsContext()->beginDrawing();
+ renderer()->graphicsContext()->beginDrawing(m_window.data());
}
Render::Renderer *renderer() const
diff --git a/tests/auto/render/geometryrenderer/tst_geometryrenderer.cpp b/tests/auto/render/geometryrenderer/tst_geometryrenderer.cpp
index e61fdf6e5..d07ec9914 100644
--- a/tests/auto/render/geometryrenderer/tst_geometryrenderer.cpp
+++ b/tests/auto/render/geometryrenderer/tst_geometryrenderer.cpp
@@ -30,7 +30,6 @@
#include <qbackendnodetester.h>
#include <Qt3DRender/private/geometryrenderer_p.h>
#include <Qt3DRender/private/geometryrenderermanager_p.h>
-#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/qgeometry.h>
#include <Qt3DRender/qgeometryfactory.h>
#include <Qt3DCore/qpropertyupdatedchange.h>
@@ -187,8 +186,6 @@ private Q_SLOTS:
// GIVEN
Qt3DRender::Render::GeometryRenderer renderGeometryRenderer;
TestRenderer renderer;
- Qt3DRender::Render::NodeManagers nodeManagers;
-
renderGeometryRenderer.setRenderer(&renderer);
QVERIFY(!renderGeometryRenderer.isDirty());
diff --git a/tests/auto/render/render.pro b/tests/auto/render/render.pro
index 4045b577a..6cb9aefcf 100644
--- a/tests/auto/render/render.pro
+++ b/tests/auto/render/render.pro
@@ -110,8 +110,7 @@ qtConfig(private_tests) {
raycaster \
qscreenraycaster \
raycastingjob \
- qcamera \
- renderbarrierjob
+ qcamera
QT_FOR_CONFIG = 3dcore-private
# TO DO: These could be restored to be executed in all cases
diff --git a/tests/auto/render/renderbarrierjob/renderbarrierjob.pro b/tests/auto/render/renderbarrierjob/renderbarrierjob.pro
deleted file mode 100644
index 5a988144f..000000000
--- a/tests/auto/render/renderbarrierjob/renderbarrierjob.pro
+++ /dev/null
@@ -1,9 +0,0 @@
-TEMPLATE = app
-
-TARGET = tst_renderbarrierjob
-
-QT += 3dcore 3dcore-private 3drender 3drender-private testlib
-
-CONFIG += testcase
-
-SOURCES += tst_renderbarrierjob.cpp
diff --git a/tests/auto/render/renderbarrierjob/tst_renderbarrierjob.cpp b/tests/auto/render/renderbarrierjob/tst_renderbarrierjob.cpp
deleted file mode 100644
index e3b49edd4..000000000
--- a/tests/auto/render/renderbarrierjob/tst_renderbarrierjob.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-#include <QMutex>
-#include <QWaitCondition>
-#include <QThread>
-#include <Qt3DRender/private/renderbarrierjob_p.h>
-#include <Qt3DRender/private/job_common_p.h>
-
-class TestRenderThread : public QThread
-{
-public:
- TestRenderThread(Qt3DRender::Render::RenderBarrierJobPtr barrier)
- : m_barrier(barrier)
- {}
-
- void run() override
- {
- m_started.store(1);
- m_writeSemaphore.release();
- m_readSemaphore.acquire();
-
- m_barrier->allowToProceed();
- m_released.store(1);
- m_writeSemaphore.release();
- m_readSemaphore.acquire();
-
- m_barrier->waitForDependencies();
- m_completed.store(1);
- }
-
- Qt3DRender::Render::RenderBarrierJobPtr m_barrier;
- QSemaphore m_writeSemaphore;
- QSemaphore m_readSemaphore;
-
- QAtomicInt m_started;
- QAtomicInt m_released;
- QAtomicInt m_completed;
-};
-
-class tst_RenderBarrierJob : public QObject
-{
- Q_OBJECT
-public :
- tst_RenderBarrierJob() {}
- ~tst_RenderBarrierJob() {}
-
-private Q_SLOTS:
- void shouldControlRenderThread()
- {
- // GIVEN a barrier (of any type)
- auto barrier = Qt3DRender::Render::RenderBarrierJobPtr::create(Qt3DRender::Render::JobTypes::BeginDrawingBarrier);
- TestRenderThread testThread(barrier);
-
- // THEN
- QVERIFY(testThread.m_started.load() == 0);
- QVERIFY(testThread.m_released.load() == 0);
- QVERIFY(testThread.m_completed.load() == 0);
-
- // WHEN
- testThread.start();
- testThread.m_writeSemaphore.acquire();
-
- // THEN thread should have started
- QVERIFY(testThread.m_started.load() == 1);
- QVERIFY(testThread.m_released.load() == 0);
- QVERIFY(testThread.m_completed.load() == 0);
- testThread.m_readSemaphore.release();
-
- // WHEN
- testThread.m_writeSemaphore.acquire();
-
- // THEN job should be released
- QVERIFY(testThread.m_started.load() == 1);
- QVERIFY(testThread.m_released.load() == 1);
- QVERIFY(testThread.m_completed.load() == 0);
- testThread.m_readSemaphore.release();
-
- // WHEN job runs and we wait for thread
- barrier->run();
- testThread.wait();
-
- // THEN thread should be finished
- QVERIFY(testThread.m_started.load() == 1);
- QVERIFY(testThread.m_released.load() == 1);
- QVERIFY(testThread.m_completed.load() == 1);
- }
-};
-
-QTEST_MAIN(tst_RenderBarrierJob)
-
-#include "tst_renderbarrierjob.moc"
diff --git a/tests/auto/render/renderer/tst_renderer.cpp b/tests/auto/render/renderer/tst_renderer.cpp
index b941a2ac4..27708c1b9 100644
--- a/tests/auto/render/renderer/tst_renderer.cpp
+++ b/tests/auto/render/renderer/tst_renderer.cpp
@@ -34,9 +34,6 @@
#include <Qt3DRender/private/viewportnode_p.h>
#include <Qt3DRender/private/renderview_p.h>
#include <Qt3DRender/private/renderviewbuilder_p.h>
-#include <Qt3DRender/private/offscreensurfacehelper_p.h>
-#include <Qt3DRender/private/loadtexturedatajob_p.h>
-#include <Qt3DRender/private/renderbarrierjob_p.h>
class tst_Renderer : public QObject
{
@@ -66,62 +63,46 @@ private Q_SLOTS:
// NOTE: FilterCompatibleTechniqueJob and ShaderGathererJob cannot run because the context
// is not initialized in this test
- const int renderBarrierJobCount = 5;
- // Barriers: readRenderQueueSize
- // beginDrawing
- // updateGLResources
- // prepareCommandSubmission
- // endDrawing
-
- const int renderViewJobCount = 13 + 1 * Qt3DRender::Render::RenderViewBuilder::optimalJobCount();
+ const int singleRenderViewJobCount = 11 + 1 * Qt3DRender::Render::RenderViewBuilder::optimalJobCount();
// RenderViewBuilder renderViewJob,
// renderableEntityFilterJob,
// lightGatherJob,
// computableEntityFilterJob,
// syncRenderViewInitializationJob,
- // filterEntityByLayerJob,
- // syncFilterEntityByLayerJob,
// syncFrustumCullingJob,
// filterProximityJob,
// setClearDrawBufferIndexJob,
// frustumCullingJob,
// syncRenderCommandBuldingJob,
// syncRenderViewCommandBuilderJob
- // n * RenderViewCommandBuildJobs
-
- const int flagIndependentRendererJobCount = 6;
- // Flag independent: updateLevelOfDetailJob
- // cleanupJob
- // sendRenderCaptureJob
- // sendBufferCaptureJob
- // VAOGatherer
- // updateSkinningPaletteJob
-
- const int flagIndependetRenderViewJobCount = renderViewJobCount - 2;
- // Cached: filterEntityByLayerJob,
- // syncFilterEntityByLayerJob,
+ // n * (RenderViewCommandBuildJobs)
-
- // WHEN (nothing dirty, no buffers)
+ // WHEN (nothing dirty, no buffers, no layers to be rebuilt, no materials to be rebuilt)
QVector<Qt3DCore::QAspectJobPtr> jobs = renderer.renderBinJobs();
- // THEN
+ // THEN (level
QCOMPARE(jobs.size(),
- flagIndependetRenderViewJobCount +
- renderBarrierJobCount +
- flagIndependentRendererJobCount);
+ 1 + // updateLevelOfDetailJob
+ 1 + // cleanupJob
+ 1 + // sendRenderCaptureJob
+ 1 + // sendBufferCaptureJob
+ 1 + // VAOGatherer
+ 1 + // updateSkinningPaletteJob
+ singleRenderViewJobCount); // Only valid for the first call to renderBinJobs(), since subsequent calls won't have the renderqueue reset
+
// WHEN
renderer.markDirty(Qt3DRender::Render::AbstractRenderer::EntityEnabledDirty, nullptr);
jobs = renderer.renderBinJobs();
- // THEN
+ // THEN (level
QCOMPARE(jobs.size(),
- flagIndependetRenderViewJobCount +
- renderBarrierJobCount +
- flagIndependentRendererJobCount +
- 1 + // filterEntityByLayerJob
- 1 + // syncFilterEntityByLayerJob
+ 1 + // updateLevelOfDetailJob
+ 1 + // cleanupJob
+ 1 + // sendRenderCaptureJob
+ 1 + // sendBufferCaptureJob
+ 1 + // VAOGatherer
+ 1 + // updateSkinningPaletteJob
1); // EntityEnabledDirty
renderer.clearDirtyBits(Qt3DRender::Render::AbstractRenderer::AllDirty);
@@ -130,14 +111,17 @@ private Q_SLOTS:
renderer.markDirty(Qt3DRender::Render::AbstractRenderer::TransformDirty, nullptr);
jobs = renderer.renderBinJobs();
- // THEN
+ // THEN (level
QCOMPARE(jobs.size(),
- flagIndependetRenderViewJobCount +
- renderBarrierJobCount +
- flagIndependentRendererJobCount +
+ 1 + // updateLevelOfDetailJob
+ 1 + // cleanupJob
+ 1 + // sendRenderCaptureJob
+ 1 + // sendBufferCaptureJob
+ 1 + // VAOGatherer
1 + // WorldTransformJob
1 + // UpdateWorldBoundingVolume
1 + // UpdateShaderDataTransform
+ 1 + // updateSkinningPaletteJob
1); // ExpandBoundingVolumeJob
renderer.clearDirtyBits(Qt3DRender::Render::AbstractRenderer::AllDirty);
@@ -146,13 +130,16 @@ private Q_SLOTS:
renderer.markDirty(Qt3DRender::Render::AbstractRenderer::GeometryDirty, nullptr);
jobs = renderer.renderBinJobs();
- // THEN
+ // THEN (level
QCOMPARE(jobs.size(),
- flagIndependetRenderViewJobCount +
- renderBarrierJobCount +
- flagIndependentRendererJobCount +
+ 1 + // updateLevelOfDetailJob
+ 1 + // cleanupJob
+ 1 + // sendRenderCaptureJob
+ 1 + // sendBufferCaptureJob
+ 1 + // VAOGatherer
1 + // CalculateBoundingVolumeJob
1 + // UpdateMeshTriangleListJob
+ 1 + // updateSkinningPaletteJob
1); // ExpandBoundingVolumeJob
renderer.clearDirtyBits(Qt3DRender::Render::AbstractRenderer::AllDirty);
@@ -161,11 +148,14 @@ private Q_SLOTS:
renderer.markDirty(Qt3DRender::Render::AbstractRenderer::BuffersDirty, nullptr);
jobs = renderer.renderBinJobs();
- // THEN
+ // THEN (level
QCOMPARE(jobs.size(),
- flagIndependetRenderViewJobCount +
- renderBarrierJobCount +
- flagIndependentRendererJobCount +
+ 1 + // updateLevelOfDetailJob
+ 1 + // cleanupJob
+ 1 + // sendRenderCaptureJob
+ 1 + // sendBufferCaptureJob
+ 1 + // VAOGatherer
+ 1 + // updateSkinningPaletteJob
1); // BufferGathererJob
renderer.clearDirtyBits(Qt3DRender::Render::AbstractRenderer::AllDirty);
@@ -174,26 +164,16 @@ private Q_SLOTS:
renderer.markDirty(Qt3DRender::Render::AbstractRenderer::TexturesDirty, nullptr);
jobs = renderer.renderBinJobs();
- // THEN
+ // THEN (level
QCOMPARE(jobs.size(),
- flagIndependetRenderViewJobCount +
- renderBarrierJobCount +
- flagIndependentRendererJobCount +
- 1 + // LoadTextureDataJob
- 1); // TexturesGathererJob
-
- renderer.clearDirtyBits(Qt3DRender::Render::AbstractRenderer::AllDirty);
-
- // WHEN
- renderer.markDirty(Qt3DRender::Render::AbstractRenderer::SkeletonDataDirty, nullptr);
- jobs = renderer.renderBinJobs();
-
- // THEN
- QCOMPARE(jobs.size(),
- flagIndependetRenderViewJobCount +
- renderBarrierJobCount +
- flagIndependentRendererJobCount +
- 1); // SyncSkeletonLoadingJob
+ 1 + // updateLevelOfDetailJob
+ 1 + // cleanupJob
+ 1 + // sendRenderCaptureJob
+ 1 + // sendBufferCaptureJob
+ 1 + // VAOGatherer
+ 1 + // TexturesGathererJob
+ 1 + // updateSkinningPaletteJob
+ 1); // SyncTexturesGathererJob
renderer.clearDirtyBits(Qt3DRender::Render::AbstractRenderer::AllDirty);
@@ -201,47 +181,30 @@ private Q_SLOTS:
renderer.markDirty(Qt3DRender::Render::AbstractRenderer::AllDirty, nullptr);
jobs = renderer.renderBinJobs();
- // THEN
+ // THEN (Renderer is not initialized so FilterCompatibleTechniqueJob
+ // and ShaderGathererJob are not added here)
QCOMPARE(jobs.size(),
- renderViewJobCount +
- renderBarrierJobCount +
- flagIndependentRendererJobCount +
- 1 + // UpdateTreeEnablee
+ 1 + // EntityEnabledDirty
1 + // WorldTransformJob
1 + // UpdateWorldBoundingVolume
1 + // UpdateShaderDataTransform
+ 1 + // ExpandBoundingVolumeJob
1 + // CalculateBoundingVolumeJob
1 + // UpdateMeshTriangleListJob
- 1 + // ExpandBoundingVolumeJob
+ 1 + // updateSkinningPaletteJob
+ 1 + // updateLevelOfDetailJob
+ 1 + // cleanupJob
+ 1 + // sendRenderCaptureJob
+ 1 + // sendBufferCaptureJob
+ 1 + // VAOGatherer
1 + // BufferGathererJob
- 1 + // LoadTextureDataJob
1 + // TexturesGathererJob
- 1 + // SyncSkeletonLoadingJob
- 1 + // FilterCompatibleTechniqueJob
- 1 + // ShaderGathererJob
- Qt3DRender::Render::RenderViewBuilder::optimalJobCount() + // MaterialGathererJobs
- 1); // syncMaterialGathererJob
+ 1 // SyncTextureLoadingJob
+ );
renderer.clearDirtyBits(Qt3DRender::Render::AbstractRenderer::AllDirty);
- }
-
- void checkRenderBarrierJobDependencies()
- {
- // GIVEN
- Qt3DRender::Render::Renderer renderer(Qt3DRender::QRenderAspect::Synchronous);
-
- // THEN
- // internal dependencies
- QVERIFY(renderer.beginDrawingBarrierJob()->dependencies().contains(renderer.readRenderQueueSizeBarrierJob()));
- QVERIFY(renderer.updateGLResourcesBarrierJob()->dependencies().contains(renderer.beginDrawingBarrierJob()));
- QVERIFY(renderer.prepareCommandSubmissionBarrierJob()->dependencies().contains(renderer.updateGLResourcesBarrierJob()));
- QVERIFY(renderer.endDrawingBarrierJob()->dependencies().contains(renderer.prepareCommandSubmissionBarrierJob()));
- QVERIFY(renderer.filterCompatibleTechniqueJob()->dependencies().contains(renderer.beginDrawingBarrierJob()));
- QVERIFY(renderer.loadTextureJob()->dependencies().contains(renderer.updateGLResourcesBarrierJob()));
- QVERIFY(renderer.prepareCommandSubmissionBarrierJob()->dependencies().contains(renderer.loadTextureJob()));
- QVERIFY(renderer.updateGLResourcesBarrierJob()->dependencies().contains(renderer.filterCompatibleTechniqueJob()));
}
};
diff --git a/tests/auto/render/renderviewbuilder/tst_renderviewbuilder.cpp b/tests/auto/render/renderviewbuilder/tst_renderviewbuilder.cpp
index 1bdf20170..be1f1fb5d 100644
--- a/tests/auto/render/renderviewbuilder/tst_renderviewbuilder.cpp
+++ b/tests/auto/render/renderviewbuilder/tst_renderviewbuilder.cpp
@@ -49,7 +49,6 @@
#include <Qt3DRender/private/qrenderaspect_p.h>
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/managers_p.h>
-#include <Qt3DRender/private/renderbarrierjob_p.h>
QT_BEGIN_NAMESPACE
@@ -307,25 +306,21 @@ private Q_SLOTS:
QVERIFY(renderViewBuilder.frustumCullingJob()->dependencies().contains(renderViewBuilder.syncFrustumCullingJob()));
QVERIFY(renderViewBuilder.frustumCullingJob()->dependencies().contains(testAspect.renderer()->expandBoundingVolumeJob()));
- QCOMPARE(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().size(), renderViewBuilder.materialGathererJobs().size() + 7);
+ QCOMPARE(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().size(), renderViewBuilder.materialGathererJobs().size() + 6);
QVERIFY(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().contains(renderViewBuilder.syncRenderViewInitializationJob()));
QVERIFY(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().contains(renderViewBuilder.renderableEntityFilterJob()));
QVERIFY(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().contains(renderViewBuilder.computableEntityFilterJob()));
QVERIFY(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().contains(renderViewBuilder.filterProximityJob()));
QVERIFY(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().contains(renderViewBuilder.lightGathererJob()));
QVERIFY(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().contains(renderViewBuilder.frustumCullingJob()));
- QVERIFY(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().contains(testAspect.renderer()->updateGLResourcesBarrierJob()));
for (const auto materialGatherer : renderViewBuilder.materialGathererJobs()) {
QVERIFY(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().contains(materialGatherer));
}
// Step 5
for (const auto renderViewBuilderJob : renderViewBuilder.renderViewBuilderJobs()) {
- QCOMPARE(renderViewBuilderJob->dependencies().size(), 4);
- QVERIFY(renderViewBuilderJob->dependencies().contains(renderViewBuilder.syncRenderCommandBuildingJob()));
- QVERIFY(renderViewBuilderJob->dependencies().contains(testAspect.renderer()->updateSkinningPaletteJob()));
- QVERIFY(renderViewBuilderJob->dependencies().contains(testAspect.renderer()->updateWorldBoundingVolumeJob()));
- QVERIFY(renderViewBuilderJob->dependencies().contains(testAspect.renderer()->updateShaderDataTransformJob()));
+ QCOMPARE(renderViewBuilderJob->dependencies().size(), 1);
+ QCOMPARE(renderViewBuilderJob->dependencies().first().data(), renderViewBuilder.syncRenderCommandBuildingJob().data());
}
// Step 6
@@ -383,7 +378,7 @@ private Q_SLOTS:
QVERIFY(renderViewBuilder.frustumCullingJob()->dependencies().contains(renderViewBuilder.syncFrustumCullingJob()));
QVERIFY(renderViewBuilder.frustumCullingJob()->dependencies().contains(testAspect.renderer()->expandBoundingVolumeJob()));
- QCOMPARE(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().size(), renderViewBuilder.materialGathererJobs().size() + 8);
+ QCOMPARE(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().size(), renderViewBuilder.materialGathererJobs().size() + 7);
QVERIFY(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().contains(renderViewBuilder.syncRenderViewInitializationJob()));
QVERIFY(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().contains(renderViewBuilder.renderableEntityFilterJob()));
QVERIFY(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().contains(renderViewBuilder.computableEntityFilterJob()));
@@ -391,18 +386,14 @@ private Q_SLOTS:
QVERIFY(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().contains(renderViewBuilder.lightGathererJob()));
QVERIFY(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().contains(renderViewBuilder.frustumCullingJob()));
QVERIFY(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().contains(renderViewBuilder.filterProximityJob()));
- QVERIFY(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().contains(testAspect.renderer()->updateGLResourcesBarrierJob()));
for (const auto materialGatherer : renderViewBuilder.materialGathererJobs()) {
QVERIFY(renderViewBuilder.syncRenderCommandBuildingJob()->dependencies().contains(materialGatherer));
}
// Step 5
for (const auto renderViewBuilderJob : renderViewBuilder.renderViewBuilderJobs()) {
- QCOMPARE(renderViewBuilderJob->dependencies().size(), 4);
- QVERIFY(renderViewBuilderJob->dependencies().contains(renderViewBuilder.syncRenderCommandBuildingJob()));
- QVERIFY(renderViewBuilderJob->dependencies().contains(testAspect.renderer()->updateSkinningPaletteJob()));
- QVERIFY(renderViewBuilderJob->dependencies().contains(testAspect.renderer()->updateWorldBoundingVolumeJob()));
- QVERIFY(renderViewBuilderJob->dependencies().contains(testAspect.renderer()->updateShaderDataTransformJob()));
+ QCOMPARE(renderViewBuilderJob->dependencies().size(), 1);
+ QCOMPARE(renderViewBuilderJob->dependencies().first().data(), renderViewBuilder.syncRenderCommandBuildingJob().data());
}
// Step 6