summaryrefslogtreecommitdiffstats
path: root/tests/auto/render/renderviewbuilder
diff options
context:
space:
mode:
authorSvenn-Arne Dragly <svenn-arne.dragly@qt.io>2017-09-20 12:45:01 +0200
committerSvenn-Arne Dragly <svenn-arne.dragly@qt.io>2017-12-06 11:10:34 +0000
commitf660c657092811e77aa0ffb8145d6b060464292c (patch)
treec0667169c797f00de61321f7337a9175e5d41096 /tests/auto/render/renderviewbuilder
parentdc16f08f2c34a949de8508359f64582a5843754f (diff)
Cache material parameter gatherer results
Change-Id: I0660f876d7d967d552f7982c3e33e7c971c9abb4 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'tests/auto/render/renderviewbuilder')
-rw-r--r--tests/auto/render/renderviewbuilder/tst_renderviewbuilder.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/tests/auto/render/renderviewbuilder/tst_renderviewbuilder.cpp b/tests/auto/render/renderviewbuilder/tst_renderviewbuilder.cpp
index 23861f3a9..b0f8c1a6d 100644
--- a/tests/auto/render/renderviewbuilder/tst_renderviewbuilder.cpp
+++ b/tests/auto/render/renderviewbuilder/tst_renderviewbuilder.cpp
@@ -187,6 +187,7 @@ private Q_SLOTS:
QCOMPARE(renderViewBuilder.renderViewIndex(), 0);
QCOMPARE(renderViewBuilder.renderer(), testAspect.renderer());
QCOMPARE(renderViewBuilder.layerCacheNeedsToBeRebuilt(), false);
+ QCOMPARE(renderViewBuilder.materialGathererCacheNeedsToBeRebuilt(), false);
QVERIFY(!renderViewBuilder.renderViewJob().isNull());
QVERIFY(!renderViewBuilder.lightGathererJob().isNull());
QVERIFY(!renderViewBuilder.renderableEntityFilterJob().isNull());
@@ -215,8 +216,8 @@ private Q_SLOTS:
QVERIFY(renderViewBuilder.syncFilterEntityByLayerJob().isNull());
QCOMPARE(renderViewBuilder.renderViewBuilderJobs().size(), Qt3DRender::Render::RenderViewBuilder::optimalJobCount());
- QCOMPARE(renderViewBuilder.materialGathererJobs().size(), Qt3DRender::Render::RenderViewBuilder::optimalJobCount());
- QCOMPARE(renderViewBuilder.buildJobHierachy().size(), 11 + 2 * Qt3DRender::Render::RenderViewBuilder::optimalJobCount());
+ QCOMPARE(renderViewBuilder.materialGathererJobs().size(), 0);
+ QCOMPARE(renderViewBuilder.buildJobHierachy().size(), 11 + 1 * Qt3DRender::Render::RenderViewBuilder::optimalJobCount());
}
{
@@ -231,7 +232,22 @@ private Q_SLOTS:
QVERIFY(!renderViewBuilder.syncFilterEntityByLayerJob().isNull());
// mark jobs dirty and recheck
- QCOMPARE(renderViewBuilder.buildJobHierachy().size(), 13 + 2 * Qt3DRender::Render::RenderViewBuilder::optimalJobCount());
+ QCOMPARE(renderViewBuilder.buildJobHierachy().size(), 13 + 1 * Qt3DRender::Render::RenderViewBuilder::optimalJobCount());
+ }
+
+ {
+ // WHEN
+ Qt3DRender::Render::RenderViewBuilder renderViewBuilder(leafNode, 0, testAspect.renderer());
+ renderViewBuilder.setMaterialGathererCacheNeedsToBeRebuilt(true);
+ renderViewBuilder.prepareJobs();
+
+ // THEN
+ QCOMPARE(renderViewBuilder.materialGathererCacheNeedsToBeRebuilt(), true);
+ QCOMPARE(renderViewBuilder.materialGathererJobs().size(), Qt3DRender::Render::RenderViewBuilder::optimalJobCount());
+ QVERIFY(!renderViewBuilder.syncMaterialGathererJob().isNull());
+
+ // mark jobs dirty and recheck
+ QCOMPARE(renderViewBuilder.buildJobHierachy().size(), 12 + 2 * Qt3DRender::Render::RenderViewBuilder::optimalJobCount());
}
}