summaryrefslogtreecommitdiffstats
path: root/tests/auto/render
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/render')
-rw-r--r--tests/auto/render/commons/testrenderer.h2
-rw-r--r--tests/auto/render/qabstractlight/tst_qabstractlight.cpp112
-rw-r--r--tests/auto/render/qabstracttexture/tst_qabstracttexture.cpp156
-rw-r--r--tests/auto/render/qabstracttextureimage/tst_qabstracttextureimage.cpp39
-rw-r--r--tests/auto/render/qattribute/tst_qattribute.cpp107
-rw-r--r--tests/auto/render/qblitframebuffer/tst_qblitframebuffer.cpp158
-rw-r--r--tests/auto/render/qbuffer/tst_qbuffer.cpp32
-rw-r--r--tests/auto/render/qcameralens/tst_qcameralens.cpp131
-rw-r--r--tests/auto/render/qcameraselector/tst_qcameraselector.cpp36
-rw-r--r--tests/auto/render/qclearbuffers/tst_qclearbuffers.cpp28
-rw-r--r--tests/auto/render/qcomputecommand/tst_qcomputecommand.cpp107
-rw-r--r--tests/auto/render/qdispatchcompute/tst_qdispatchcompute.cpp33
-rw-r--r--tests/auto/render/qfilterkey/tst_qfilterkey.cpp22
-rw-r--r--tests/auto/render/qframegraphnode/tst_qframegraphnode.cpp25
-rw-r--r--tests/auto/render/qgeometryrenderer/tst_qgeometryrenderer.cpp112
-rw-r--r--tests/auto/render/qlevelofdetail/tst_qlevelofdetail.cpp18
-rw-r--r--tests/auto/render/qmaterial/tst_qmaterial.cpp90
-rw-r--r--tests/auto/render/qmemorybarrier/tst_qmemorybarrier.cpp11
-rw-r--r--tests/auto/render/qobjectpicker/tst_qobjectpicker.cpp52
-rw-r--r--tests/auto/render/qparameter/tst_qparameter.cpp33
-rw-r--r--tests/auto/render/qproximityfilter/tst_qproximityfilter.cpp22
-rw-r--r--tests/auto/render/qraycaster/tst_qraycaster.cpp10
-rw-r--r--tests/auto/render/qrenderpass/tst_qrenderpass.cpp11
-rw-r--r--tests/auto/render/qrendersettings/tst_qrendersettings.cpp66
-rw-r--r--tests/auto/render/qrenderstate/tst_qrenderstate.cpp18
-rw-r--r--tests/auto/render/qrendersurfaceselector/tst_qrendersurfaceselector.cpp33
-rw-r--r--tests/auto/render/qrendertargetoutput/tst_qrendertargetoutput.cpp55
-rw-r--r--tests/auto/render/qrendertargetselector/tst_qrendertargetselector.cpp26
-rw-r--r--tests/auto/render/qscene2d/tst_qscene2d.cpp36
-rw-r--r--tests/auto/render/qsceneloader/tst_qsceneloader.cpp42
-rw-r--r--tests/auto/render/qscreenraycaster/tst_qscreenraycaster.cpp10
-rw-r--r--tests/auto/render/qshaderimage/tst_qshaderimage.cpp66
-rw-r--r--tests/auto/render/qshaderprogram/tst_qshaderprogram.cpp66
-rw-r--r--tests/auto/render/qshaderprogrambuilder/tst_qshaderprogrambuilder.cpp88
-rw-r--r--tests/auto/render/qsharedgltexture/tst_qsharedgltexture.cpp11
-rw-r--r--tests/auto/render/qsortpolicy/tst_qsortpolicy.cpp10
-rw-r--r--tests/auto/render/qviewport/tst_qviewport.cpp48
-rw-r--r--tests/auto/render/qwaitfence/tst_qwaitfence.cpp44
-rw-r--r--tests/auto/render/renderviewutils/tst_renderviewutils.cpp18
-rw-r--r--tests/auto/render/texture/tst_texture.cpp55
40 files changed, 799 insertions, 1240 deletions
diff --git a/tests/auto/render/commons/testrenderer.h b/tests/auto/render/commons/testrenderer.h
index cc8ec502f..dbe69ace5 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(bool swapBuffers) override {}
+ void doRender(bool swapBuffers) override { Q_UNUSED(swapBuffers); }
void cleanGraphicsResources() override {}
bool isRunning() const override { return true; }
bool shouldRender() override { return true; }
diff --git a/tests/auto/render/qabstractlight/tst_qabstractlight.cpp b/tests/auto/render/qabstractlight/tst_qabstractlight.cpp
index bc67148d2..011ad1036 100644
--- a/tests/auto/render/qabstractlight/tst_qabstractlight.cpp
+++ b/tests/auto/render/qabstractlight/tst_qabstractlight.cpp
@@ -149,26 +149,13 @@ private Q_SLOTS:
light->setColor(Qt::red);
light->setIntensity(0.8f); // change from the default of 0.5f
- QCoreApplication::processEvents();
-
- QCOMPARE(arbiter.events.size(), 2 * 2); // Due to contained shader data
- for (int i = 0; i < 2; i++)
- arbiter.events.removeAt(i);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events[0].staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "color");
- QCOMPARE(change->subjectId(), light->id());
- QCOMPARE(change->value().value<QColor>(), QColor(Qt::red));
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- change = arbiter.events[1].staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "intensity");
- QCOMPARE(change->subjectId(), light->id());
- QCOMPARE(change->value().value<float>(), 0.8f);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- arbiter.events.clear();
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 2);
+ QVERIFY(arbiter.dirtyNodes[0]->metaObject()->inherits(&Qt3DRender::QShaderData::staticMetaObject));
+ QCOMPARE(arbiter.dirtyNodes[1], light.data());
- light->setColor(Qt::red);
- QCoreApplication::processEvents();
+ arbiter.dirtyNodes.clear();
QCOMPARE(arbiter.events.size(), 0);
@@ -186,33 +173,13 @@ private Q_SLOTS:
pointLight->setConstantAttenuation(0.5f);
pointLight->setLinearAttenuation(0.0f); // No actual event triggered as 0.0f is default
pointLight->setQuadraticAttenuation(1.0f);
- QCoreApplication::processEvents();
-
- QCOMPARE(arbiter.events.size(), 4 * 2); // Due to contained shader data
- for (int i = 0; i < 4; i++)
- arbiter.events.removeAt(i);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events[0].staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "color");
- QCOMPARE(change->subjectId(), pointLight->id());
- QCOMPARE(change->value().value<QColor>(), QColor(Qt::green));
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- change = arbiter.events[1].staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "intensity");
- QCOMPARE(change->subjectId(), pointLight->id());
- QCOMPARE(change->value().value<float>(), 0.8f);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- change = arbiter.events[2].staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "constantAttenuation");
- QCOMPARE(change->subjectId(), pointLight->id());
- QCOMPARE(change->value().value<float>(), 0.5f);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- change = arbiter.events[3].staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "quadraticAttenuation");
- QCOMPARE(change->subjectId(), pointLight->id());
- QCOMPARE(change->value().value<float>(), 1.0f);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- arbiter.events.clear();
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 2);
+ QVERIFY(arbiter.dirtyNodes[0]->metaObject()->inherits(&Qt3DRender::QShaderData::staticMetaObject));
+ QCOMPARE(arbiter.dirtyNodes[1], pointLight.data());
+
+ arbiter.dirtyNodes.clear();
}
void checkDirectionalLightPropertyUpdates()
@@ -224,28 +191,12 @@ private Q_SLOTS:
dirLight->setColor(Qt::blue);
dirLight->setIntensity(0.8f);
dirLight->setWorldDirection(QVector3D(0.5f, 0.0f, -1.0f));
- QCoreApplication::processEvents();
-
- QCOMPARE(arbiter.events.size(), 3 * 2); // Due to contained shader data
- for (int i = 0; i < 3; i++)
- arbiter.events.removeAt(i);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events[0].staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "color");
- QCOMPARE(change->subjectId(), dirLight->id());
- QCOMPARE(change->value().value<QColor>(), QColor(Qt::blue));
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- change = arbiter.events[1].staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "intensity");
- QCOMPARE(change->subjectId(), dirLight->id());
- QCOMPARE(change->value().value<float>(), 0.8f);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- change = arbiter.events[2].staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "worldDirection");
- QCOMPARE(change->subjectId(), dirLight->id());
- QCOMPARE(change->value().value<QVector3D>(), QVector3D(0.5f, 0.0f, -1.0f));
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- arbiter.events.clear();
+ QCOMPARE(arbiter.dirtyNodes.size(), 2);
+ QVERIFY(arbiter.dirtyNodes[0]->metaObject()->inherits(&Qt3DRender::QShaderData::staticMetaObject));
+ QCOMPARE(arbiter.dirtyNodes[1], dirLight.data());
+
+ arbiter.dirtyNodes.clear();
}
void checkSpotLightPropertyUpdates()
@@ -258,33 +209,12 @@ private Q_SLOTS:
spotLight->setIntensity(0.8f);
spotLight->setLocalDirection(QVector3D(0.5f, 0.0f, -1.0f));
spotLight->setCutOffAngle(0.75f);
- QCoreApplication::processEvents();
-
- QCOMPARE(arbiter.events.size(), 4 * 2); // Due to contained shader data
- for (int i = 0; i < 4; i++)
- arbiter.events.removeAt(i);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events[0].staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "color");
- QCOMPARE(change->subjectId(), spotLight->id());
- QCOMPARE(change->value().value<QColor>(), QColor(Qt::lightGray));
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- change = arbiter.events[1].staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "intensity");
- QCOMPARE(change->subjectId(), spotLight->id());
- QCOMPARE(change->value().value<float>(), 0.8f);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- change = arbiter.events[2].staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "localDirection");
- QCOMPARE(change->subjectId(), spotLight->id());
- QCOMPARE(change->value().value<QVector3D>(), QVector3D(0.5f, 0.0f, -1.0f).normalized());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- change = arbiter.events[3].staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "cutOffAngle");
- QCOMPARE(change->subjectId(), spotLight->id());
- QCOMPARE(change->value().value<float>(), 0.75f);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- arbiter.events.clear();
+ QCOMPARE(arbiter.dirtyNodes.size(), 2);
+ QVERIFY(arbiter.dirtyNodes[0]->metaObject()->inherits(&Qt3DRender::QShaderData::staticMetaObject));
+ QCOMPARE(arbiter.dirtyNodes[1], spotLight.data());
+
+ arbiter.dirtyNodes.clear();
}
};
diff --git a/tests/auto/render/qabstracttexture/tst_qabstracttexture.cpp b/tests/auto/render/qabstracttexture/tst_qabstracttexture.cpp
index b6ae9dee8..04364e2d9 100644
--- a/tests/auto/render/qabstracttexture/tst_qabstracttexture.cpp
+++ b/tests/auto/render/qabstracttexture/tst_qabstracttexture.cpp
@@ -464,25 +464,22 @@ private Q_SLOTS:
{
// WHEN
abstractTexture.setFormat(Qt3DRender::QAbstractTexture::RG8_UNorm);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "format");
- QCOMPARE(change->value().value<Qt3DRender::QAbstractTexture::TextureFormat>(), abstractTexture.format());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &abstractTexture);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
abstractTexture.setFormat(Qt3DRender::QAbstractTexture::RG8_UNorm);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -497,25 +494,22 @@ private Q_SLOTS:
{
// WHEN
abstractTexture.setGenerateMipMaps(true);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "generateMipMaps");
- QCOMPARE(change->value().value<bool>(), abstractTexture.generateMipMaps());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &abstractTexture);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
abstractTexture.setGenerateMipMaps(true);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -530,25 +524,22 @@ private Q_SLOTS:
{
// WHEN
abstractTexture.setWidth(1024);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "width");
- QCOMPARE(change->value().value<int>(), abstractTexture.width());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &abstractTexture);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
abstractTexture.setWidth(1024);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -563,25 +554,22 @@ private Q_SLOTS:
{
// WHEN
abstractTexture.setHeight(256);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "height");
- QCOMPARE(change->value().value<int>(), abstractTexture.height());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &abstractTexture);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
abstractTexture.setHeight(256);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -596,25 +584,22 @@ private Q_SLOTS:
{
// WHEN
abstractTexture.setDepth(512);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "depth");
- QCOMPARE(change->value().value<int>(), abstractTexture.depth());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &abstractTexture);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
abstractTexture.setDepth(512);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -629,25 +614,22 @@ private Q_SLOTS:
{
// WHEN
abstractTexture.setMagnificationFilter(Qt3DRender::QAbstractTexture::NearestMipMapLinear);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "magnificationFilter");
- QCOMPARE(change->value().value<Qt3DRender::QAbstractTexture::Filter>(), abstractTexture.magnificationFilter());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &abstractTexture);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
abstractTexture.setMagnificationFilter(Qt3DRender::QAbstractTexture::NearestMipMapLinear);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -662,25 +644,22 @@ private Q_SLOTS:
{
// WHEN
abstractTexture.setMinificationFilter(Qt3DRender::QAbstractTexture::NearestMipMapLinear);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "minificationFilter");
- QCOMPARE(change->value().value<Qt3DRender::QAbstractTexture::Filter>(), abstractTexture.minificationFilter());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &abstractTexture);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
abstractTexture.setMinificationFilter(Qt3DRender::QAbstractTexture::NearestMipMapLinear);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -695,25 +674,22 @@ private Q_SLOTS:
{
// WHEN
abstractTexture.setMaximumAnisotropy(327.0f);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "maximumAnisotropy");
- QCOMPARE(change->value().value<float>(), abstractTexture.maximumAnisotropy());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &abstractTexture);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
abstractTexture.setMaximumAnisotropy(327.0f);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -728,25 +704,22 @@ private Q_SLOTS:
{
// WHEN
abstractTexture.setComparisonFunction(Qt3DRender::QAbstractTexture::CompareAlways);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "comparisonFunction");
- QCOMPARE(change->value().value<Qt3DRender::QAbstractTexture::ComparisonFunction>(), abstractTexture.comparisonFunction());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &abstractTexture);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
abstractTexture.setComparisonFunction(Qt3DRender::QAbstractTexture::CompareAlways);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -761,25 +734,22 @@ private Q_SLOTS:
{
// WHEN
abstractTexture.setComparisonMode(Qt3DRender::QAbstractTexture::CompareRefToTexture);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "comparisonMode");
- QCOMPARE(change->value().value<Qt3DRender::QAbstractTexture::ComparisonMode>(), abstractTexture.comparisonMode());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &abstractTexture);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
abstractTexture.setComparisonMode(Qt3DRender::QAbstractTexture::CompareRefToTexture);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -794,25 +764,22 @@ private Q_SLOTS:
{
// WHEN
abstractTexture.setLayers(64);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "layers");
- QCOMPARE(change->value().value<int>(), abstractTexture.layers());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &abstractTexture);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
abstractTexture.setLayers(64);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -827,25 +794,22 @@ private Q_SLOTS:
{
// WHEN
abstractTexture.setSamples(16);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "samples");
- QCOMPARE(change->value().value<int>(), abstractTexture.samples());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &abstractTexture);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
abstractTexture.setSamples(16);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
diff --git a/tests/auto/render/qabstracttextureimage/tst_qabstracttextureimage.cpp b/tests/auto/render/qabstracttextureimage/tst_qabstracttextureimage.cpp
index 05029450a..a5e31b949 100644
--- a/tests/auto/render/qabstracttextureimage/tst_qabstracttextureimage.cpp
+++ b/tests/auto/render/qabstracttextureimage/tst_qabstracttextureimage.cpp
@@ -200,25 +200,20 @@ private Q_SLOTS:
{
// WHEN
abstractTextureImage.setMipLevel(9);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "mipLevel");
- QCOMPARE(change->value().value<int>(), abstractTextureImage.mipLevel());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &abstractTextureImage);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
abstractTextureImage.setMipLevel(9);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -233,25 +228,22 @@ private Q_SLOTS:
{
// WHEN
abstractTextureImage.setLayer(12);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "layer");
- QCOMPARE(change->value().value<int>(), abstractTextureImage.layer());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &abstractTextureImage);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
abstractTextureImage.setLayer(12);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -266,25 +258,22 @@ private Q_SLOTS:
{
// WHEN
abstractTextureImage.setFace(Qt3DRender::QAbstractTexture::CubeMapPositiveY);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "face");
- QCOMPARE(change->value().value<Qt3DRender::QAbstractTexture::CubeMapFace>(), abstractTextureImage.face());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &abstractTextureImage);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
abstractTextureImage.setFace(Qt3DRender::QAbstractTexture::CubeMapPositiveY);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
diff --git a/tests/auto/render/qattribute/tst_qattribute.cpp b/tests/auto/render/qattribute/tst_qattribute.cpp
index 23532c435..588ce40db 100644
--- a/tests/auto/render/qattribute/tst_qattribute.cpp
+++ b/tests/auto/render/qattribute/tst_qattribute.cpp
@@ -85,7 +85,7 @@ private Q_SLOTS:
QTest::newRow("defaultConstructed") << defaultConstructed;
Qt3DRender::QAttribute *customVertex = new Qt3DRender::QAttribute();
- Qt3DRender::QBuffer *buffer = new Qt3DRender::QBuffer(Qt3DRender::QBuffer::VertexBuffer);
+ Qt3DRender::QBuffer *buffer = new Qt3DRender::QBuffer();
customVertex->setBuffer(buffer);
customVertex->setAttributeType(Qt3DRender::QAttribute::VertexAttribute);
customVertex->setCount(454);
@@ -98,7 +98,7 @@ private Q_SLOTS:
QTest::newRow("vertex") << customVertex;
Qt3DRender::QAttribute *customIndex = new Qt3DRender::QAttribute();
- Qt3DRender::QBuffer *indexBuffer = new Qt3DRender::QBuffer(Qt3DRender::QBuffer::IndexBuffer);
+ Qt3DRender::QBuffer *indexBuffer = new Qt3DRender::QBuffer();
customIndex->setBuffer(indexBuffer);
customIndex->setAttributeType(Qt3DRender::QAttribute::IndexAttribute);
customIndex->setCount(383);
@@ -111,7 +111,7 @@ private Q_SLOTS:
QTest::newRow("index") << customIndex;
Qt3DRender::QAttribute *customIndirect = new Qt3DRender::QAttribute();
- Qt3DRender::QBuffer *indirectBuffer = new Qt3DRender::QBuffer(Qt3DRender::QBuffer::DrawIndirectBuffer);
+ Qt3DRender::QBuffer *indirectBuffer = new Qt3DRender::QBuffer();
customIndirect->setBuffer(indirectBuffer);
customIndirect->setAttributeType(Qt3DRender::QAttribute::DrawIndirectAttribute);
customIndirect->setCount(1);
@@ -160,134 +160,95 @@ private Q_SLOTS:
// WHEN
attribute->setVertexBaseType(Qt3DRender::QAttribute::Double);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "vertexBaseType");
- QCOMPARE(change->value().value<int>(), static_cast<int>(Qt3DRender::QAttribute::Double));
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), attribute.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
attribute->setVertexSize(4);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "vertexSize");
- QCOMPARE(change->value().value<uint>(), 4U);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), attribute.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
attribute->setName(QStringLiteral("Duntov"));
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "name");
- QCOMPARE(change->value().value<QString>(), QStringLiteral("Duntov"));
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), attribute.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
attribute->setCount(883);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "count");
- QCOMPARE(change->value().value<uint>(), 883U);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), attribute.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
attribute->setByteStride(1340);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "byteStride");
- QCOMPARE(change->value().value<uint>(), 1340U);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), attribute.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
attribute->setByteOffset(1584);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "byteOffset");
- QCOMPARE(change->value().value<uint>(), 1584U);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), attribute.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
attribute->setDivisor(1450);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "divisor");
- QCOMPARE(change->value().value<uint>(), 1450U);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), attribute.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
attribute->setAttributeType(Qt3DRender::QAttribute::IndexAttribute);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "attributeType");
- QCOMPARE(change->value().value<int>(), static_cast<int>(Qt3DRender::QAttribute::IndexAttribute));
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), attribute.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
Qt3DRender::QBuffer buf;
attribute->setBuffer(&buf);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "buffer");
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), buf.id());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), attribute.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
Qt3DRender::QBuffer buf2;
attribute->setBuffer(&buf2);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "buffer");
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), buf2.id());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), attribute.data());
+ arbiter.dirtyNodes.clear();
}
void checkBufferBookkeeping()
@@ -309,7 +270,7 @@ private Q_SLOTS:
{
// WHEN
Qt3DRender::QAttribute someOtherAttribute;
- QScopedPointer<Qt3DRender::QBuffer> buf(new Qt3DRender::QBuffer(Qt3DRender::QBuffer::VertexBuffer, &someOtherAttribute));
+ QScopedPointer<Qt3DRender::QBuffer> buf(new Qt3DRender::QBuffer(&someOtherAttribute));
attribute->setBuffer(buf.data());
// THEN
diff --git a/tests/auto/render/qblitframebuffer/tst_qblitframebuffer.cpp b/tests/auto/render/qblitframebuffer/tst_qblitframebuffer.cpp
index f6c7e1a8a..a53650945 100644
--- a/tests/auto/render/qblitframebuffer/tst_qblitframebuffer.cpp
+++ b/tests/auto/render/qblitframebuffer/tst_qblitframebuffer.cpp
@@ -119,217 +119,169 @@ private Q_SLOTS:
// sourceRenderTarget
// WHEN
blitFramebuffer->setSource(sourceRenderTarget);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "source");
- QCOMPARE(change->subjectId(), blitFramebuffer->id());
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), sourceRenderTarget->id());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), blitFramebuffer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
blitFramebuffer->setSource(sourceRenderTarget);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
// WHEN
blitFramebuffer->setSource(nullptr);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "source");
- QCOMPARE(change->subjectId(), blitFramebuffer->id());
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), Qt3DCore::QNodeId());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), blitFramebuffer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// destinationRenderTarget
// WHEN
blitFramebuffer->setDestination(destinationRenderTarget);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "destination");
- QCOMPARE(change->subjectId(), blitFramebuffer->id());
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), destinationRenderTarget->id());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), blitFramebuffer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
blitFramebuffer->setDestination(destinationRenderTarget);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
// WHEN
blitFramebuffer->setDestination(nullptr);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "destination");
- QCOMPARE(change->subjectId(), blitFramebuffer->id());
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), Qt3DCore::QNodeId());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), blitFramebuffer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// sourceRect
// WHEN
blitFramebuffer->setSourceRect(QRect(0,0,1,1));
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "sourceRect");
- QCOMPARE(change->subjectId(), blitFramebuffer->id());
- QCOMPARE(change->value().value<QRect>(), QRect(0,0,1,1)) ;
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), blitFramebuffer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
blitFramebuffer->setSourceRect(QRect(0,0,1,1));
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
// WHEN
blitFramebuffer->setSourceRect(QRect());
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "sourceRect");
- QCOMPARE(change->subjectId(), blitFramebuffer->id());
- QCOMPARE(change->value().value<QRect>(), QRect());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), blitFramebuffer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// destinationRect
blitFramebuffer->setDestinationRect(QRect(0,0,1,1));
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "destinationRect");
- QCOMPARE(change->subjectId(), blitFramebuffer->id());
- QCOMPARE(change->value().value<QRect>(), QRect(0,0,1,1)) ;
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), blitFramebuffer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
blitFramebuffer->setDestinationRect(QRect(0,0,1,1));
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
// WHEN
blitFramebuffer->setDestinationRect(QRect());
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "destinationRect");
- QCOMPARE(change->subjectId(), blitFramebuffer->id());
- QCOMPARE(change->value().value<QRect>(), QRect());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), blitFramebuffer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// sourceAttachmentPoint
// WHEN
blitFramebuffer->setSourceAttachmentPoint(Qt3DRender::QRenderTargetOutput::Color1);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "sourceAttachmentPoint");
- QCOMPARE(change->subjectId(), blitFramebuffer->id());
- QCOMPARE(change->value().value<Qt3DRender::QRenderTargetOutput::AttachmentPoint>(), Qt3DRender::QRenderTargetOutput::Color1);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), blitFramebuffer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
blitFramebuffer->setSourceAttachmentPoint(Qt3DRender::QRenderTargetOutput::Color1);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
// WHEN
blitFramebuffer->setSourceAttachmentPoint(Qt3DRender::QRenderTargetOutput::Color0);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "sourceAttachmentPoint");
- QCOMPARE(change->subjectId(), blitFramebuffer->id());
- QCOMPARE(change->value().value<Qt3DRender::QRenderTargetOutput::AttachmentPoint>(), Qt3DRender::QRenderTargetOutput::Color0);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), blitFramebuffer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// destinationAttachmentPoint
// WHEN
blitFramebuffer->setDestinationAttachmentPoint(Qt3DRender::QRenderTargetOutput::Color1);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "destinationAttachmentPoint");
- QCOMPARE(change->subjectId(), blitFramebuffer->id());
- QCOMPARE(change->value().value<Qt3DRender::QRenderTargetOutput::AttachmentPoint>(), Qt3DRender::QRenderTargetOutput::Color1);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), blitFramebuffer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
blitFramebuffer->setDestinationAttachmentPoint(Qt3DRender::QRenderTargetOutput::Color1);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
// WHEN
blitFramebuffer->setDestinationAttachmentPoint(Qt3DRender::QRenderTargetOutput::Color0);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "destinationAttachmentPoint");
- QCOMPARE(change->subjectId(), blitFramebuffer->id());
- QCOMPARE(change->value().value<Qt3DRender::QRenderTargetOutput::AttachmentPoint>(), Qt3DRender::QRenderTargetOutput::Color0);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
-
- arbiter.events.clear();
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), blitFramebuffer.data());
+
+ arbiter.dirtyNodes.clear();
}
void checkSourceDestReset()
diff --git a/tests/auto/render/qbuffer/tst_qbuffer.cpp b/tests/auto/render/qbuffer/tst_qbuffer.cpp
index 21bedf744..8a9a25408 100644
--- a/tests/auto/render/qbuffer/tst_qbuffer.cpp
+++ b/tests/auto/render/qbuffer/tst_qbuffer.cpp
@@ -130,27 +130,23 @@ private Q_SLOTS:
// WHEN
buffer->setUsage(Qt3DRender::QBuffer::DynamicCopy);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "usage");
- QCOMPARE(change->value().value<int>(), static_cast<int>(Qt3DRender::QBuffer::DynamicCopy));
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), buffer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
buffer->setData(QByteArrayLiteral("Z28"));
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "data");
- QCOMPARE(change->value().value<QByteArray>(), QByteArrayLiteral("Z28"));
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), buffer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
Qt3DRender::QBufferDataGeneratorPtr functor(new TestFunctor(355));
@@ -159,7 +155,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
+ auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
QCOMPARE(change->propertyName(), "dataGenerator");
QCOMPARE(change->value().value<Qt3DRender::QBufferDataGeneratorPtr>(), functor);
@@ -167,15 +163,13 @@ private Q_SLOTS:
// WHEN
buffer->setSyncData(true);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "syncData");
- QCOMPARE(change->value().toBool(), true);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), buffer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
buffer->updateData(1, QByteArrayLiteral("L1"));
diff --git a/tests/auto/render/qcameralens/tst_qcameralens.cpp b/tests/auto/render/qcameralens/tst_qcameralens.cpp
index adff66dc5..c4f684d5f 100644
--- a/tests/auto/render/qcameralens/tst_qcameralens.cpp
+++ b/tests/auto/render/qcameralens/tst_qcameralens.cpp
@@ -423,12 +423,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "projectionMatrix");
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &cameraLens);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -438,6 +437,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -452,24 +452,22 @@ private Q_SLOTS:
{
// WHEN
cameraLens.setNearPlane(5.0f);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "projectionMatrix");
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &cameraLens);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
cameraLens.setNearPlane(5.0f);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -484,24 +482,22 @@ private Q_SLOTS:
{
// WHEN
cameraLens.setFarPlane(5.0f);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "projectionMatrix");
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &cameraLens);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
cameraLens.setFarPlane(5.0f);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -516,24 +512,22 @@ private Q_SLOTS:
{
// WHEN
cameraLens.setFieldOfView(5.0f);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "projectionMatrix");
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &cameraLens);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
cameraLens.setFieldOfView(5.0f);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -548,24 +542,22 @@ private Q_SLOTS:
{
// WHEN
cameraLens.setAspectRatio(9.0f);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "projectionMatrix");
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &cameraLens);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
cameraLens.setAspectRatio(9.0f);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -580,24 +572,22 @@ private Q_SLOTS:
{
// WHEN
cameraLens.setLeft(0.0f);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "projectionMatrix");
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &cameraLens);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
cameraLens.setLeft(0.0f);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -612,24 +602,22 @@ private Q_SLOTS:
{
// WHEN
cameraLens.setRight(24.0f);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "projectionMatrix");
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &cameraLens);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
cameraLens.setRight(24.0f);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -644,24 +632,22 @@ private Q_SLOTS:
{
// WHEN
cameraLens.setBottom(-12.0f);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "projectionMatrix");
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &cameraLens);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
cameraLens.setBottom(-12.0f);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -676,24 +662,22 @@ private Q_SLOTS:
{
// WHEN
cameraLens.setTop(12.0f);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "projectionMatrix");
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &cameraLens);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
cameraLens.setTop(12.0f);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -708,24 +692,22 @@ private Q_SLOTS:
{
// WHEN
cameraLens.setExposure(2.0f);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "exposure");
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &cameraLens);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
cameraLens.setExposure(2.0f);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -743,25 +725,22 @@ private Q_SLOTS:
{
// WHEN
cameraLens.setProjectionMatrix(m);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "projectionMatrix");
- QCOMPARE(change->value().value<QMatrix4x4>(), m);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &cameraLens);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
cameraLens.setProjectionMatrix(m);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.events.size(), 0);
}
}
diff --git a/tests/auto/render/qcameraselector/tst_qcameraselector.cpp b/tests/auto/render/qcameraselector/tst_qcameraselector.cpp
index c11dde57f..650e531c2 100644
--- a/tests/auto/render/qcameraselector/tst_qcameraselector.cpp
+++ b/tests/auto/render/qcameraselector/tst_qcameraselector.cpp
@@ -92,49 +92,41 @@ private Q_SLOTS:
// WHEN
Qt3DCore::QEntity *camera = new Qt3DCore::QEntity();
cameraSelector->setCamera(camera);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "camera");
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), camera->id());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), cameraSelector.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
cameraSelector->setCamera(camera);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
// WHEN
Qt3DCore::QEntity *camera2 = new Qt3DCore::QEntity();
cameraSelector->setCamera(camera2);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "camera");
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), camera2->id());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- arbiter.events.clear();
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), cameraSelector.data());
+
+ arbiter.dirtyNodes.clear();
// WHEN
cameraSelector->setCamera(nullptr);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "camera");
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), Qt3DCore::QNodeId());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), cameraSelector.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
void checkCameraBookkeeping()
diff --git a/tests/auto/render/qclearbuffers/tst_qclearbuffers.cpp b/tests/auto/render/qclearbuffers/tst_qclearbuffers.cpp
index ce1493e10..d2407229d 100644
--- a/tests/auto/render/qclearbuffers/tst_qclearbuffers.cpp
+++ b/tests/auto/render/qclearbuffers/tst_qclearbuffers.cpp
@@ -104,38 +104,30 @@ private Q_SLOTS:
// WHEN
clearBuffer->setBuffers(Qt3DRender::QClearBuffers::AllBuffers);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "buffers");
- QCOMPARE(change->subjectId(), clearBuffer->id());
- QCOMPARE(change->value().value<Qt3DRender::QClearBuffers::BufferType>(), Qt3DRender::QClearBuffers::AllBuffers);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), clearBuffer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
clearBuffer->setBuffers(Qt3DRender::QClearBuffers::AllBuffers);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
// WHEN
clearBuffer->setBuffers(Qt3DRender::QClearBuffers::ColorDepthBuffer);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "buffers");
- QCOMPARE(change->subjectId(), clearBuffer->id());
- QCOMPARE(change->value().value<Qt3DRender::QClearBuffers::BufferType>(), Qt3DRender::QClearBuffers::ColorDepthBuffer);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
-
- arbiter.events.clear();
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), clearBuffer.data());
+
+ arbiter.dirtyNodes.clear();
}
};
diff --git a/tests/auto/render/qcomputecommand/tst_qcomputecommand.cpp b/tests/auto/render/qcomputecommand/tst_qcomputecommand.cpp
index cc07120a2..b46cc4ea0 100644
--- a/tests/auto/render/qcomputecommand/tst_qcomputecommand.cpp
+++ b/tests/auto/render/qcomputecommand/tst_qcomputecommand.cpp
@@ -214,13 +214,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "workGroupX");
- QCOMPARE(change->value().value<int>(), computeCommand.workGroupX());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &computeCommand);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -229,7 +227,7 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -244,25 +242,22 @@ private Q_SLOTS:
{
// WHEN
computeCommand.setWorkGroupY(512);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "workGroupY");
- QCOMPARE(change->value().value<int>(), computeCommand.workGroupY());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &computeCommand);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
// WHEN
computeCommand.setWorkGroupY(512);
- QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -280,13 +275,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "workGroupZ");
- QCOMPARE(change->value().value<int>(), computeCommand.workGroupZ());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &computeCommand);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -296,6 +289,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -313,13 +307,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "runType");
- QCOMPARE(change->value().value<int>(), int(computeCommand.runType()));
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &computeCommand);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -329,6 +321,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -349,22 +342,20 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 2);
+ QCOMPARE(arbiter.events.size(), 1);
{
auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
QCOMPARE(change->propertyName(), "frameCount");
QCOMPARE(change->value().value<int>(), 1);
QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
}
- {
- auto change = arbiter.events.last().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "enabled");
- QCOMPARE(change->value().value<bool>(), true);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- }
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &computeCommand);
+ QCOMPARE(computeCommand.isEnabled(), true);
computeCommand.setEnabled(false);
QCoreApplication::processEvents();
+ arbiter.dirtyNodes.clear();
arbiter.events.clear();
}
@@ -374,24 +365,21 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 2);
+ QCOMPARE(arbiter.events.size(), 1);
{
auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
QCOMPARE(change->propertyName(), "frameCount");
QCOMPARE(change->value().value<int>(), 2);
QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
}
- {
- auto change = arbiter.events.last().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "enabled");
- QCOMPARE(change->value().value<bool>(), true);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- }
-
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &computeCommand);
+ QCOMPARE(computeCommand.isEnabled(), true);
computeCommand.setEnabled(false);
QCoreApplication::processEvents();
arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -400,41 +388,22 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 5);
+ QCOMPARE(arbiter.events.size(), 1);
{
auto change = arbiter.events.at(0).staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "workGroupX");
- QCOMPARE(change->value().value<int>(), 10);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- }
- {
- auto change = arbiter.events.at(1).staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "workGroupY");
- QCOMPARE(change->value().value<int>(), 11);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- }
- {
- auto change = arbiter.events.at(2).staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "workGroupZ");
- QCOMPARE(change->value().value<int>(), 12);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- }
- {
- auto change = arbiter.events.at(3).staticCast<Qt3DCore::QPropertyUpdatedChange>();
QCOMPARE(change->propertyName(), "frameCount");
QCOMPARE(change->value().value<int>(), 1);
QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
}
- {
- auto change = arbiter.events.last().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "enabled");
- QCOMPARE(change->value().value<bool>(), true);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- }
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &computeCommand);
+ QCOMPARE(computeCommand.isEnabled(), true);
+ QCOMPARE(computeCommand.workGroupX(), 10);
+ QCOMPARE(computeCommand.workGroupY(), 11);
+ QCOMPARE(computeCommand.workGroupZ(), 12);
computeCommand.setEnabled(false);
- QCoreApplication::processEvents();
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
}
diff --git a/tests/auto/render/qdispatchcompute/tst_qdispatchcompute.cpp b/tests/auto/render/qdispatchcompute/tst_qdispatchcompute.cpp
index 6fa55f370..7d1a36f11 100644
--- a/tests/auto/render/qdispatchcompute/tst_qdispatchcompute.cpp
+++ b/tests/auto/render/qdispatchcompute/tst_qdispatchcompute.cpp
@@ -189,13 +189,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "workGroupX");
- QCOMPARE(change->value().value<int>(), dispatchCompute.workGroupX());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &dispatchCompute);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -205,6 +203,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -222,13 +221,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "workGroupY");
- QCOMPARE(change->value().value<int>(), dispatchCompute.workGroupY());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &dispatchCompute);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -238,6 +235,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -255,13 +253,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "workGroupZ");
- QCOMPARE(change->value().value<int>(), dispatchCompute.workGroupZ());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &dispatchCompute);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -271,6 +267,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
diff --git a/tests/auto/render/qfilterkey/tst_qfilterkey.cpp b/tests/auto/render/qfilterkey/tst_qfilterkey.cpp
index 8c8381323..33691690e 100644
--- a/tests/auto/render/qfilterkey/tst_qfilterkey.cpp
+++ b/tests/auto/render/qfilterkey/tst_qfilterkey.cpp
@@ -166,13 +166,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "value");
- QCOMPARE(change->value().value<QVariant>(), filterKey.value());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &filterKey);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -182,6 +180,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -199,13 +198,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "name");
- QCOMPARE(change->value().value<QString>(), filterKey.name());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &filterKey);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -215,6 +212,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
diff --git a/tests/auto/render/qframegraphnode/tst_qframegraphnode.cpp b/tests/auto/render/qframegraphnode/tst_qframegraphnode.cpp
index 1e19d8609..24febdac4 100644
--- a/tests/auto/render/qframegraphnode/tst_qframegraphnode.cpp
+++ b/tests/auto/render/qframegraphnode/tst_qframegraphnode.cpp
@@ -181,14 +181,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "enabled");
- QCOMPARE(change->subjectId(), frameGraphNode->id());
- QCOMPARE(change->value().toBool(), false);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), frameGraphNode.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
frameGraphNode->setEnabled(false);
@@ -196,20 +193,18 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
// WHEN
frameGraphNode->setEnabled(true);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "enabled");
- QCOMPARE(change->subjectId(), frameGraphNode->id());
- QCOMPARE(change->value().toBool(), true);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
-
- arbiter.events.clear();
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), frameGraphNode.data());
+
+ arbiter.dirtyNodes.clear();
}
void checkParentFrameNodeRetrieval()
diff --git a/tests/auto/render/qgeometryrenderer/tst_qgeometryrenderer.cpp b/tests/auto/render/qgeometryrenderer/tst_qgeometryrenderer.cpp
index 221d0f880..15cf98de0 100644
--- a/tests/auto/render/qgeometryrenderer/tst_qgeometryrenderer.cpp
+++ b/tests/auto/render/qgeometryrenderer/tst_qgeometryrenderer.cpp
@@ -162,117 +162,99 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "instanceCount");
- QCOMPARE(change->value().value<int>(), 256);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
geometryRenderer->setVertexCount(1340);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "vertexCount");
- QCOMPARE(change->value().value<int>(), 1340);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
geometryRenderer->setIndexOffset(883);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "indexOffset");
- QCOMPARE(change->value().value<int>(), 883);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
geometryRenderer->setFirstInstance(1200);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "firstInstance");
- QCOMPARE(change->value().value<int>(), 1200);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
geometryRenderer->setIndexBufferByteOffset(91);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "indexBufferByteOffset");
- QCOMPARE(change->value().value<int>(), 91);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
geometryRenderer->setRestartIndexValue(65535);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "restartIndexValue");
- QCOMPARE(change->value().value<int>(), 65535);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
geometryRenderer->setVerticesPerPatch(2);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "verticesPerPatch");
- QCOMPARE(change->value().toInt(), 2);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
geometryRenderer->setPrimitiveRestartEnabled(true);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "primitiveRestartEnabled");
- QCOMPARE(change->value().value<bool>(), true);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
geometryRenderer->setPrimitiveType(Qt3DRender::QGeometryRenderer::Patches);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "primitiveType");
- QCOMPARE(change->value().value<int>(), static_cast<int>(Qt3DRender::QGeometryRenderer::Patches));
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
Qt3DRender::QGeometryFactoryPtr factory(new TestFactory(555));
@@ -281,7 +263,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
+ auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
QCOMPARE(change->propertyName(), "geometryFactory");
QCOMPARE(change->value().value<Qt3DRender::QGeometryFactoryPtr>(), factory);
QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
@@ -294,13 +276,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr nodeAddedChange = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(nodeAddedChange->propertyName(), "geometry");
- QCOMPARE(nodeAddedChange->value().value<Qt3DCore::QNodeId>(), geom.id());
- QCOMPARE(nodeAddedChange->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
Qt3DRender::QGeometry geom2;
@@ -308,13 +288,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr nodeRemovedChange = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(nodeRemovedChange->propertyName(), "geometry");
- QCOMPARE(nodeRemovedChange->value().value<Qt3DCore::QNodeId>(), geom2.id());
- QCOMPARE(nodeRemovedChange->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
void checkGeometryBookkeeping()
diff --git a/tests/auto/render/qlevelofdetail/tst_qlevelofdetail.cpp b/tests/auto/render/qlevelofdetail/tst_qlevelofdetail.cpp
index ba357c8c9..7d4e5d45d 100644
--- a/tests/auto/render/qlevelofdetail/tst_qlevelofdetail.cpp
+++ b/tests/auto/render/qlevelofdetail/tst_qlevelofdetail.cpp
@@ -93,12 +93,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "thresholdType");
- QCOMPARE(change->value().value<int>(), static_cast<int>(Qt3DRender::QLevelOfDetail::ProjectedScreenPixelSizeThreshold));
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), lod.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -108,12 +107,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "thresholds");
- QCOMPARE(change->value().value<decltype(thresholds)>(), thresholds);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), lod.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
}
};
diff --git a/tests/auto/render/qmaterial/tst_qmaterial.cpp b/tests/auto/render/qmaterial/tst_qmaterial.cpp
index dc6fe7789..5b24c6127 100644
--- a/tests/auto/render/qmaterial/tst_qmaterial.cpp
+++ b/tests/auto/render/qmaterial/tst_qmaterial.cpp
@@ -253,37 +253,26 @@ private Q_SLOTS:
// WHEN
Qt3DRender::QEffect effect;
material->setEffect(&effect);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "effect");
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), effect.id());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), material.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// GIVEN
TestArbiter arbiter2;
QScopedPointer<TestMaterial> material2(new TestMaterial());
arbiter2.setArbiterOnNode(material2.data());
- QCoreApplication::processEvents();
- // Clear events trigger by child generation of TestMnterial
- arbiter2.events.clear();
-
// WHEN
material2->setEffect(&effect);
- QCoreApplication::processEvents();
// THEN
- qDebug() << Q_FUNC_INFO << arbiter2.events.size();
- QCOMPARE(arbiter2.events.size(), 1);
- change = arbiter2.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "effect");
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), effect.id());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter2.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter2.dirtyNodes.front(), material2.data());
+
+ arbiter2.dirtyNodes.clear();
}
void checkDynamicParametersAddedUpdates()
@@ -364,93 +353,64 @@ private Q_SLOTS:
TestMaterial *material = new TestMaterial();
arbiter.setArbiterOnNode(material);
- QCoreApplication::processEvents();
- // Clear events trigger by child generation of TestMnterial
- arbiter.events.clear();
-
// WHEN
const QByteArray vertexCode = QByteArrayLiteral("new vertex shader code");
material->m_shaderProgram->setVertexShaderCode(vertexCode);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "vertexShaderCode");
- QCOMPARE(change->value().value<QByteArray>(), vertexCode);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), material->m_shaderProgram);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
const QByteArray fragmentCode = QByteArrayLiteral("new fragment shader code");
material->m_shaderProgram->setFragmentShaderCode(fragmentCode);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "fragmentShaderCode");
- QCOMPARE(change->value().value<QByteArray>(), fragmentCode);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
-
- arbiter.events.clear();
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), material->m_shaderProgram);
+ arbiter.dirtyNodes.clear();
// WHEN
const QByteArray geometryCode = QByteArrayLiteral("new geometry shader code");
material->m_shaderProgram->setGeometryShaderCode(geometryCode);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "geometryShaderCode");
- QCOMPARE(change->value().value<QByteArray>(), geometryCode);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), material->m_shaderProgram);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
const QByteArray computeCode = QByteArrayLiteral("new compute shader code");
material->m_shaderProgram->setComputeShaderCode(computeCode);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "computeShaderCode");
- QCOMPARE(change->value().value<QByteArray>(), computeCode);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), material->m_shaderProgram);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
const QByteArray tesselControlCode = QByteArrayLiteral("new tessellation control shader code");
material->m_shaderProgram->setTessellationControlShaderCode(tesselControlCode);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "tessellationControlShaderCode");
- QCOMPARE(change->value().value<QByteArray>(), tesselControlCode);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), material->m_shaderProgram);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
const QByteArray tesselEvalCode = QByteArrayLiteral("new tessellation eval shader code");
material->m_shaderProgram->setTessellationEvaluationShaderCode(tesselEvalCode);
- QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "tessellationEvaluationShaderCode");
- QCOMPARE(change->value().value<QByteArray>(), tesselEvalCode);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), material->m_shaderProgram);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
void checkEffectBookkeeping()
diff --git a/tests/auto/render/qmemorybarrier/tst_qmemorybarrier.cpp b/tests/auto/render/qmemorybarrier/tst_qmemorybarrier.cpp
index 25ee10cad..3be43f677 100644
--- a/tests/auto/render/qmemorybarrier/tst_qmemorybarrier.cpp
+++ b/tests/auto/render/qmemorybarrier/tst_qmemorybarrier.cpp
@@ -148,13 +148,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "waitOperations");
- QCOMPARE(change->value().value<Qt3DRender::QMemoryBarrier::Operations>(), memoryBarrier.waitOperations());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &memoryBarrier);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -164,6 +162,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
diff --git a/tests/auto/render/qobjectpicker/tst_qobjectpicker.cpp b/tests/auto/render/qobjectpicker/tst_qobjectpicker.cpp
index 2f351331a..53c0ec939 100644
--- a/tests/auto/render/qobjectpicker/tst_qobjectpicker.cpp
+++ b/tests/auto/render/qobjectpicker/tst_qobjectpicker.cpp
@@ -156,14 +156,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- QCOMPARE(picker.priority(), 883);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "priority");
- QCOMPARE(change->value().value<int>(), picker.priority());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
-
- arbiter.events.clear();
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &picker);
+
+ arbiter.dirtyNodes.clear();
}
{
@@ -173,6 +170,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
{
@@ -182,14 +180,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- QCOMPARE(picker.isDragEnabled(), true);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "dragEnabled");
- QCOMPARE(change->value().value<bool>(), picker.isDragEnabled());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
-
- arbiter.events.clear();
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &picker);
+
+ arbiter.dirtyNodes.clear();
}
{
@@ -199,6 +194,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
{
@@ -208,14 +204,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- QCOMPARE(picker.isHoverEnabled(), true);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "hoverEnabled");
- QCOMPARE(change->value().value<bool>(), picker.isHoverEnabled());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
-
- arbiter.events.clear();
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &picker);
+
+ arbiter.dirtyNodes.clear();
}
{
@@ -225,6 +218,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
}
@@ -272,13 +266,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.last().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "hoverEnabled");
- QCOMPARE(change->value().toBool(), true);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), objectPicker.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
void checkBackendUpdates_data()
diff --git a/tests/auto/render/qparameter/tst_qparameter.cpp b/tests/auto/render/qparameter/tst_qparameter.cpp
index d5957db27..77f9daae8 100644
--- a/tests/auto/render/qparameter/tst_qparameter.cpp
+++ b/tests/auto/render/qparameter/tst_qparameter.cpp
@@ -166,13 +166,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "name");
- QCOMPARE(change->value().value<QString>(), parameter.name());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &parameter);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -182,6 +180,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -199,13 +198,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "value");
- QCOMPARE(change->value().value<QVariant>(), parameter.value());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &parameter);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -215,6 +212,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
// WHEN -> QNode -> QNodeId
@@ -227,13 +225,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "value");
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(),testEntity.id());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &parameter);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -243,6 +239,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
diff --git a/tests/auto/render/qproximityfilter/tst_qproximityfilter.cpp b/tests/auto/render/qproximityfilter/tst_qproximityfilter.cpp
index 890d6ee3e..aa6be3143 100644
--- a/tests/auto/render/qproximityfilter/tst_qproximityfilter.cpp
+++ b/tests/auto/render/qproximityfilter/tst_qproximityfilter.cpp
@@ -176,13 +176,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "entity");
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), proximityFilter.entity()->id());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &proximityFilter);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -192,6 +190,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -209,13 +208,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "distanceThreshold");
- QCOMPARE(change->value().value<float>(), proximityFilter.distanceThreshold());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &proximityFilter);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -225,6 +222,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
diff --git a/tests/auto/render/qraycaster/tst_qraycaster.cpp b/tests/auto/render/qraycaster/tst_qraycaster.cpp
index 43b317f00..c7f819a34 100644
--- a/tests/auto/render/qraycaster/tst_qraycaster.cpp
+++ b/tests/auto/render/qraycaster/tst_qraycaster.cpp
@@ -111,13 +111,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.last().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "origin");
- QCOMPARE(change->value().value<QVector3D>(), QVector3D(1., 1., 1.));
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), rayCaster.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
auto layer = new Qt3DRender::QLayer(rayCaster.data());
diff --git a/tests/auto/render/qrenderpass/tst_qrenderpass.cpp b/tests/auto/render/qrenderpass/tst_qrenderpass.cpp
index bcc8e9313..38b66de94 100644
--- a/tests/auto/render/qrenderpass/tst_qrenderpass.cpp
+++ b/tests/auto/render/qrenderpass/tst_qrenderpass.cpp
@@ -305,13 +305,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "shaderProgram");
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), renderPass.shaderProgram()->id());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &renderPass);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -321,6 +319,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
diff --git a/tests/auto/render/qrendersettings/tst_qrendersettings.cpp b/tests/auto/render/qrendersettings/tst_qrendersettings.cpp
index 6f182cbeb..224996579 100644
--- a/tests/auto/render/qrendersettings/tst_qrendersettings.cpp
+++ b/tests/auto/render/qrendersettings/tst_qrendersettings.cpp
@@ -253,13 +253,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "renderPolicy");
- QCOMPARE(change->value().value<Qt3DRender::QRenderSettings::RenderPolicy>(), renderSettings.renderPolicy());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &renderSettings);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -269,6 +267,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -287,13 +286,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "activeFrameGraph");
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), viewport.id());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &renderSettings);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -303,6 +300,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -322,13 +320,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "pickMethod");
- QCOMPARE(change->value().value<Qt3DRender::QPickingSettings::PickMethod>(), pickingSettings->pickMethod());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &renderSettings);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -338,6 +334,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -357,13 +354,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "pickResultMode");
- QCOMPARE(change->value().value<Qt3DRender::QPickingSettings::PickResultMode>(), pickingSettings->pickResultMode());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &renderSettings);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -373,6 +368,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -392,13 +388,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "faceOrientationPickingMode");
- QCOMPARE(change->value().value<Qt3DRender::QPickingSettings::FaceOrientationPickingMode>(), pickingSettings->faceOrientationPickingMode());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &renderSettings);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -408,6 +402,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -427,13 +422,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "pickWorldSpaceTolerance");
- QCOMPARE(change->value().toFloat(), pickingSettings->worldSpaceTolerance());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &renderSettings);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -443,6 +436,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
diff --git a/tests/auto/render/qrenderstate/tst_qrenderstate.cpp b/tests/auto/render/qrenderstate/tst_qrenderstate.cpp
index 596aa9553..63319b42c 100644
--- a/tests/auto/render/qrenderstate/tst_qrenderstate.cpp
+++ b/tests/auto/render/qrenderstate/tst_qrenderstate.cpp
@@ -200,18 +200,18 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<QPropertyUpdatedChange>();
- QVERIFY(change->propertyName() == propertyName);
- QCOMPARE(change->subjectId(), frontend1->id());
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), frontend1);
- // WHEN
- backend1->sceneChangeEvent(change.staticCast<QSceneChange>());
+ // TODOSYNC update when syncFromFrontendNode is implemented
+// // WHEN
+// backend1->sceneChangeEvent(change.staticCast<QSceneChange>());
- // THEN
- QVERIFY(backend1->impl() == backend2->impl());
+// // THEN
+// QVERIFY(backend1->impl() == backend2->impl());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
void checkStencilUpdates_data()
diff --git a/tests/auto/render/qrendersurfaceselector/tst_qrendersurfaceselector.cpp b/tests/auto/render/qrendersurfaceselector/tst_qrendersurfaceselector.cpp
index 982a58b2b..1004921d8 100644
--- a/tests/auto/render/qrendersurfaceselector/tst_qrendersurfaceselector.cpp
+++ b/tests/auto/render/qrendersurfaceselector/tst_qrendersurfaceselector.cpp
@@ -261,13 +261,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "surface");
- QCOMPARE(change->value().value<QObject *>(), renderSurfaceSelector.surface());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &renderSurfaceSelector);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -277,6 +275,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
// Prevents crashes with temporary window being destroyed
@@ -296,13 +295,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "externalRenderTargetSize");
- QCOMPARE(change->value().value<QSize>(), renderSurfaceSelector.externalRenderTargetSize());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &renderSurfaceSelector);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -312,6 +309,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -329,13 +327,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "surfacePixelRatio");
- QCOMPARE(change->value().value<float>(), renderSurfaceSelector.surfacePixelRatio());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &renderSurfaceSelector);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -345,6 +341,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
diff --git a/tests/auto/render/qrendertargetoutput/tst_qrendertargetoutput.cpp b/tests/auto/render/qrendertargetoutput/tst_qrendertargetoutput.cpp
index c847095dc..d501bc4e5 100644
--- a/tests/auto/render/qrendertargetoutput/tst_qrendertargetoutput.cpp
+++ b/tests/auto/render/qrendertargetoutput/tst_qrendertargetoutput.cpp
@@ -247,13 +247,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "attachmentPoint");
- QCOMPARE(change->value().value<Qt3DRender::QRenderTargetOutput::AttachmentPoint>(), renderTargetOutput.attachmentPoint());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &renderTargetOutput);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -263,6 +261,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -281,13 +280,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "texture");
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), renderTargetOutput.texture()->id());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &renderTargetOutput);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -297,6 +294,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -314,13 +312,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "mipLevel");
- QCOMPARE(change->value().value<int>(), renderTargetOutput.mipLevel());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &renderTargetOutput);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -330,6 +326,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -347,13 +344,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "layer");
- QCOMPARE(change->value().value<int>(), renderTargetOutput.layer());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &renderTargetOutput);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -363,6 +358,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -380,13 +376,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "face");
- QCOMPARE(change->value().value<Qt3DRender::QAbstractTexture::CubeMapFace>(), renderTargetOutput.face());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &renderTargetOutput);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -396,6 +390,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
diff --git a/tests/auto/render/qrendertargetselector/tst_qrendertargetselector.cpp b/tests/auto/render/qrendertargetselector/tst_qrendertargetselector.cpp
index 6b53ab733..f525f1254 100644
--- a/tests/auto/render/qrendertargetselector/tst_qrendertargetselector.cpp
+++ b/tests/auto/render/qrendertargetselector/tst_qrendertargetselector.cpp
@@ -117,14 +117,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "target");
- QCOMPARE(change->subjectId(), renderTargetSelector->id());
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), target->id());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), renderTargetSelector.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
renderTargetSelector->setTarget(target);
@@ -132,20 +129,18 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
// WHEN
renderTargetSelector->setTarget(nullptr);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "target");
- QCOMPARE(change->subjectId(), renderTargetSelector->id());
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), Qt3DCore::QNodeId());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), renderTargetSelector.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
QVector<Qt3DRender::QRenderTargetOutput::AttachmentPoint> outputs;
@@ -155,7 +150,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
+ auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
QCOMPARE(change->propertyName(), "outputs");
QCOMPARE(change->subjectId(), renderTargetSelector->id());
QCOMPARE(change->value().value<QVector<Qt3DRender::QRenderTargetOutput::AttachmentPoint> >(), outputs);
@@ -182,7 +177,6 @@ private Q_SLOTS:
QCOMPARE(change->value().value<QVector<Qt3DRender::QRenderTargetOutput::AttachmentPoint> >(), QVector<Qt3DRender::QRenderTargetOutput::AttachmentPoint>());
QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
-
arbiter.events.clear();
}
diff --git a/tests/auto/render/qscene2d/tst_qscene2d.cpp b/tests/auto/render/qscene2d/tst_qscene2d.cpp
index 846207456..5ea2dd110 100644
--- a/tests/auto/render/qscene2d/tst_qscene2d.cpp
+++ b/tests/auto/render/qscene2d/tst_qscene2d.cpp
@@ -222,13 +222,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "output");
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), scene2d.output()->id());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &scene2d);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -238,6 +236,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -255,14 +254,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "renderPolicy");
- QCOMPARE(change->value().value<Qt3DRender::Quick::QScene2D::RenderPolicy>(),
- scene2d.renderPolicy());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
-
- arbiter.events.clear();
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &scene2d);
+
+ arbiter.dirtyNodes.clear();
}
{
@@ -272,6 +268,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -289,13 +286,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "mouseEnabled");
- QCOMPARE(change->value().toBool(), scene2d.isMouseEnabled());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &scene2d);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -305,6 +300,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
diff --git a/tests/auto/render/qsceneloader/tst_qsceneloader.cpp b/tests/auto/render/qsceneloader/tst_qsceneloader.cpp
index d5d3feec8..381960c42 100644
--- a/tests/auto/render/qsceneloader/tst_qsceneloader.cpp
+++ b/tests/auto/render/qsceneloader/tst_qsceneloader.cpp
@@ -130,34 +130,34 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "source");
- QCOMPARE(change->value().value<QUrl>(), sourceUrl);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), sceneLoader.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
- void checkStatusPropertyUpdate()
- {
- // GIVEN
- qRegisterMetaType<Qt3DRender::QSceneLoader::Status>("Status");
- TestArbiter arbiter;
- QScopedPointer<Qt3DRender::QSceneLoader> sceneLoader(new Qt3DRender::QSceneLoader());
- arbiter.setArbiterOnNode(sceneLoader.data());
- QSignalSpy spy(sceneLoader.data(), SIGNAL(statusChanged(Status)));
+ // DEPRECATED
+// void checkStatusPropertyUpdate()
+// {
+// // GIVEN
+// qRegisterMetaType<Qt3DRender::QSceneLoader::Status>("Status");
+// TestArbiter arbiter;
+// QScopedPointer<Qt3DRender::QSceneLoader> sceneLoader(new Qt3DRender::QSceneLoader());
+// arbiter.setArbiterOnNode(sceneLoader.data());
+// QSignalSpy spy(sceneLoader.data(), SIGNAL(statusChanged(Status)));
- // WHEN
- const Qt3DRender::QSceneLoader::Status newStatus = Qt3DRender::QSceneLoader::Ready;
- sceneLoader->setStatus(newStatus);
+// // WHEN
+// const Qt3DRender::QSceneLoader::Status newStatus = Qt3DRender::QSceneLoader::Ready;
+// sceneLoader->setStatus(newStatus);
- // THEN
- QVERIFY(arbiter.events.empty());
- QCOMPARE(spy.count(), 1);
+// // THEN
+// QVERIFY(arbiter.events.empty());
+// QCOMPARE(spy.count(), 1);
- spy.clear();
- }
+// spy.clear();
+// }
void checkPropertyChanges()
{
diff --git a/tests/auto/render/qscreenraycaster/tst_qscreenraycaster.cpp b/tests/auto/render/qscreenraycaster/tst_qscreenraycaster.cpp
index fd67da175..60f386dd9 100644
--- a/tests/auto/render/qscreenraycaster/tst_qscreenraycaster.cpp
+++ b/tests/auto/render/qscreenraycaster/tst_qscreenraycaster.cpp
@@ -105,13 +105,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.last().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "position");
- QCOMPARE(change->value().value<QPoint>(), QPoint(200, 200));
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), rayCaster.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
void checkBackendUpdates_data()
diff --git a/tests/auto/render/qshaderimage/tst_qshaderimage.cpp b/tests/auto/render/qshaderimage/tst_qshaderimage.cpp
index 0a12e806f..67c9ca39b 100644
--- a/tests/auto/render/qshaderimage/tst_qshaderimage.cpp
+++ b/tests/auto/render/qshaderimage/tst_qshaderimage.cpp
@@ -279,13 +279,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "texture");
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), shaderImage.texture()->id());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &shaderImage);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -295,6 +293,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -312,13 +311,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "layered");
- QCOMPARE(change->value().value<bool>(), shaderImage.layered());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &shaderImage);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -328,6 +325,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -345,13 +343,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "mipLevel");
- QCOMPARE(change->value().value<int>(), shaderImage.mipLevel());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &shaderImage);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -361,6 +357,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -378,13 +375,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "layer");
- QCOMPARE(change->value().value<int>(), shaderImage.layer());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &shaderImage);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -394,6 +389,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -411,13 +407,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "access");
- QCOMPARE(change->value().value<Qt3DRender::QShaderImage::Access>(), shaderImage.access());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &shaderImage);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -427,6 +421,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -444,13 +439,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "format");
- QCOMPARE(change->value().value<Qt3DRender::QShaderImage::ImageFormat>(), shaderImage.format());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &shaderImage);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -460,6 +453,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
diff --git a/tests/auto/render/qshaderprogram/tst_qshaderprogram.cpp b/tests/auto/render/qshaderprogram/tst_qshaderprogram.cpp
index 3fcc49067..7865a5f65 100644
--- a/tests/auto/render/qshaderprogram/tst_qshaderprogram.cpp
+++ b/tests/auto/render/qshaderprogram/tst_qshaderprogram.cpp
@@ -261,13 +261,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "vertexShaderCode");
- QCOMPARE(change->value().value<QByteArray>(), shaderProgram.vertexShaderCode());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &shaderProgram);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -277,6 +275,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -294,13 +293,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "tessellationControlShaderCode");
- QCOMPARE(change->value().value<QByteArray>(), shaderProgram.tessellationControlShaderCode());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &shaderProgram);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -310,6 +307,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -327,13 +325,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "tessellationEvaluationShaderCode");
- QCOMPARE(change->value().value<QByteArray>(), shaderProgram.tessellationEvaluationShaderCode());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &shaderProgram);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -343,6 +339,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -360,13 +357,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "geometryShaderCode");
- QCOMPARE(change->value().value<QByteArray>(), shaderProgram.geometryShaderCode());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &shaderProgram);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -376,6 +371,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -393,13 +389,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "fragmentShaderCode");
- QCOMPARE(change->value().value<QByteArray>(), shaderProgram.fragmentShaderCode());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &shaderProgram);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -409,6 +403,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -426,13 +421,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "computeShaderCode");
- QCOMPARE(change->value().value<QByteArray>(), shaderProgram.computeShaderCode());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &shaderProgram);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -442,6 +435,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
diff --git a/tests/auto/render/qshaderprogrambuilder/tst_qshaderprogrambuilder.cpp b/tests/auto/render/qshaderprogrambuilder/tst_qshaderprogrambuilder.cpp
index 021a3d6c1..881c24728 100644
--- a/tests/auto/render/qshaderprogrambuilder/tst_qshaderprogrambuilder.cpp
+++ b/tests/auto/render/qshaderprogrambuilder/tst_qshaderprogrambuilder.cpp
@@ -351,13 +351,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "shaderProgram");
- QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), builder.shaderProgram()->id());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &builder);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -367,6 +365,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -384,13 +383,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "enabledLayers");
- QCOMPARE(change->value().toStringList(), layers);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &builder);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -400,6 +397,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -416,13 +414,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "vertexShaderGraph");
- QCOMPARE(change->value().value<QUrl>(), builder.vertexShaderGraph());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &builder);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -432,6 +428,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -449,13 +446,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "tessellationControlShaderGraph");
- QCOMPARE(change->value().value<QUrl>(), builder.tessellationControlShaderGraph());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &builder);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -465,6 +460,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -482,13 +478,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "tessellationEvaluationShaderGraph");
- QCOMPARE(change->value().value<QUrl>(), builder.tessellationEvaluationShaderGraph());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &builder);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -498,6 +492,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -515,13 +510,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "geometryShaderGraph");
- QCOMPARE(change->value().value<QUrl>(), builder.geometryShaderGraph());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &builder);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -531,6 +524,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -548,13 +542,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "fragmentShaderGraph");
- QCOMPARE(change->value().value<QUrl>(), builder.fragmentShaderGraph());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &builder);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -564,6 +556,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -581,13 +574,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "computeShaderGraph");
- QCOMPARE(change->value().value<QUrl>(), builder.computeShaderGraph());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &builder);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -597,6 +588,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
diff --git a/tests/auto/render/qsharedgltexture/tst_qsharedgltexture.cpp b/tests/auto/render/qsharedgltexture/tst_qsharedgltexture.cpp
index 1a1db60e4..8402f86bd 100644
--- a/tests/auto/render/qsharedgltexture/tst_qsharedgltexture.cpp
+++ b/tests/auto/render/qsharedgltexture/tst_qsharedgltexture.cpp
@@ -144,13 +144,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- const auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "textureId");
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- QCOMPARE(change->value().toInt(), 1584);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &glTexture);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -160,6 +158,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
diff --git a/tests/auto/render/qsortpolicy/tst_qsortpolicy.cpp b/tests/auto/render/qsortpolicy/tst_qsortpolicy.cpp
index 477acc058..66c625cfc 100644
--- a/tests/auto/render/qsortpolicy/tst_qsortpolicy.cpp
+++ b/tests/auto/render/qsortpolicy/tst_qsortpolicy.cpp
@@ -117,13 +117,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "sortTypes");
- QCOMPARE(change->value().value<QVector<int>>(), sortTypesInt);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), sortPolicy.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
};
diff --git a/tests/auto/render/qviewport/tst_qviewport.cpp b/tests/auto/render/qviewport/tst_qviewport.cpp
index 93a2735f2..ab3dda08f 100644
--- a/tests/auto/render/qviewport/tst_qviewport.cpp
+++ b/tests/auto/render/qviewport/tst_qviewport.cpp
@@ -97,37 +97,32 @@ private Q_SLOTS:
{
// WHEN
- viewport->setNormalizedRect(QRectF(0.5f, 0.5f, 1.0f, 1.0f));
+ viewport->setNormalizedRect(QRectF(0.5, 0.5, 1.0, 1.0));
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "normalizedRect");
- QCOMPARE(change->subjectId(), viewport->id());
- QCOMPARE(change->value().value<QRectF>(), QRectF(0.5f, 0.5f, 1.0f, 1.0f));
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), viewport.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
- viewport->setNormalizedRect(QRectF(0.5f, 0.5f, 1.0f, 1.0f));
+ viewport->setNormalizedRect(QRectF(0.5, 0.5, 1.0, 1.0));
QCoreApplication::processEvents();
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
// WHEN
- viewport->setNormalizedRect(QRectF(0.0f, 0.0f, 1.0f, 1.0f));
+ viewport->setNormalizedRect(QRectF(0.0, 0.0, 1.0, 1.0));
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "normalizedRect");
- QCOMPARE(change->subjectId(), viewport->id());
- QCOMPARE(change->value().value<QRectF>(), QRectF(0.0f, 0.0f, 1.0f, 1.0f));
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), viewport.data());
}
arbiter.events.clear();
@@ -138,14 +133,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "gamma");
- QCOMPARE(change->subjectId(), viewport->id());
- QCOMPARE(change->value().toFloat(), 1.8f);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), viewport.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
viewport->setGamma(1.8f);
@@ -153,18 +145,16 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
// WHEN
viewport->setGamma(2.0f);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "gamma");
- QCOMPARE(change->subjectId(), viewport->id());
- QCOMPARE(change->value().toFloat(), 2.0f);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), viewport.data());
}
}
};
diff --git a/tests/auto/render/qwaitfence/tst_qwaitfence.cpp b/tests/auto/render/qwaitfence/tst_qwaitfence.cpp
index ab3ae9b4d..db0618074 100644
--- a/tests/auto/render/qwaitfence/tst_qwaitfence.cpp
+++ b/tests/auto/render/qwaitfence/tst_qwaitfence.cpp
@@ -228,13 +228,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "handleType");
- QCOMPARE(change->value().value<Qt3DRender::QWaitFence::HandleType>(), waitFence.handleType());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &waitFence);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -244,6 +242,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -260,13 +259,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "handle");
- QCOMPARE(change->value().value<QVariant>(), waitFence.handle());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &waitFence);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -276,6 +273,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
@@ -292,13 +290,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "waitOnCPU");
- QCOMPARE(change->value().value<bool>(), waitFence.waitOnCPU());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &waitFence);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -308,6 +304,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.events.size(), 0);
}
}
@@ -324,13 +321,11 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "timeout");
- QCOMPARE(change->value().value<quint64>(), waitFence.timeout());
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &waitFence);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
}
{
@@ -340,6 +335,7 @@ private Q_SLOTS:
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
}
}
};
diff --git a/tests/auto/render/renderviewutils/tst_renderviewutils.cpp b/tests/auto/render/renderviewutils/tst_renderviewutils.cpp
index 931778c6e..cf0c25d10 100644
--- a/tests/auto/render/renderviewutils/tst_renderviewutils.cpp
+++ b/tests/auto/render/renderviewutils/tst_renderviewutils.cpp
@@ -768,24 +768,20 @@ void tst_RenderViewUtils::shouldNotifyDynamicPropertyChanges()
shaderData->setProperty("scalar", 883.0f);
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- auto change = arbiter.events.first().dynamicCast<Qt3DCore::QDynamicPropertyUpdatedChange>();
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- QCOMPARE(change->propertyName(), QByteArrayLiteral("scalar"));
- QCOMPARE(change->value().toFloat(), 883.0f);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), shaderData.data());
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
QScopedPointer<Qt3DRender::QAbstractTexture> texture(new Qt3DRender::QTexture2D);
shaderData->setProperty("texture", QVariant::fromValue(texture.data()));
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().dynamicCast<Qt3DCore::QDynamicPropertyUpdatedChange>();
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
- QCOMPARE(change->propertyName(), QByteArrayLiteral("texture"));
- QCOMPARE(change->value(), QVariant::fromValue(texture->id()));
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), shaderData.data());
}
QTEST_MAIN(tst_RenderViewUtils)
diff --git a/tests/auto/render/texture/tst_texture.cpp b/tests/auto/render/texture/tst_texture.cpp
index d827e900e..1d69c54be 100644
--- a/tests/auto/render/texture/tst_texture.cpp
+++ b/tests/auto/render/texture/tst_texture.cpp
@@ -114,13 +114,11 @@ void tst_RenderTexture::checkFrontendPropertyNotifications()
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "width");
- QCOMPARE(change->value().value<int>(), 512);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &texture);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
texture.setWidth(512);
@@ -128,19 +126,18 @@ void tst_RenderTexture::checkFrontendPropertyNotifications()
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
// WHEN
texture.setHeight(256);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "height");
- QCOMPARE(change->value().value<int>(), 256);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &texture);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
texture.setHeight(256);
@@ -148,19 +145,18 @@ void tst_RenderTexture::checkFrontendPropertyNotifications()
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
// WHEN
texture.setDepth(128);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "depth");
- QCOMPARE(change->value().value<int>(), 128);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &texture);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
texture.setDepth(128);
@@ -168,19 +164,18 @@ void tst_RenderTexture::checkFrontendPropertyNotifications()
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.events.size(), 0);
// WHEN
texture.setLayers(16);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "layers");
- QCOMPARE(change->value().value<int>(), 16);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &texture);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
texture.setLayers(16);
@@ -188,19 +183,18 @@ void tst_RenderTexture::checkFrontendPropertyNotifications()
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
// WHEN
texture.setSamples(32);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 1);
- change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "samples");
- QCOMPARE(change->value().value<int>(), 32);
- QCOMPARE(change->type(), Qt3DCore::PropertyUpdated);
+ QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 1);
+ QCOMPARE(arbiter.dirtyNodes.front(), &texture);
- arbiter.events.clear();
+ arbiter.dirtyNodes.clear();
// WHEN
texture.setSamples(32);
@@ -208,6 +202,7 @@ void tst_RenderTexture::checkFrontendPropertyNotifications()
// THEN
QCOMPARE(arbiter.events.size(), 0);
+ QCOMPARE(arbiter.dirtyNodes.size(), 0);
// WHEN
Qt3DRender::QTextureImage img;