summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2016-02-25 15:09:03 +0100
committerPaul Lemire <paul.lemire@kdab.com>2016-02-26 09:45:12 +0000
commit7e2f9d42eebe13182918d832577c4f5ed96ab87b (patch)
treecee2c929e6a1fe365d3a290067fe0ab935069162 /tests
parent473fb46f44d4225675c5d903501a7cb9ee6b8258 (diff)
Remove ParameterMapping
* Bindings are now entirely deduced from shader introspection * Modified the BackendNodeDirtyFlags to remove the class at this prevents the operator~() to be called * Make the Renderer loop check for the ComputeDirty flag and don't unset it if set Note: uses a hack to reset m_changeSet in performCompute as right know we are sometimes missing the markDirty(ComputeDirty) set by the ComputeJob nodes. Will be sorted out later. Change-Id: Ic4fa71ecf01b625e885a58a66278387bf5b36339 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/render/commons/testrenderer.cpp9
-rw-r--r--tests/auto/render/commons/testrenderer.h7
-rw-r--r--tests/auto/render/qmaterial/tst_qmaterial.cpp18
-rw-r--r--tests/auto/render/renderpass/tst_renderpass.cpp43
4 files changed, 11 insertions, 66 deletions
diff --git a/tests/auto/render/commons/testrenderer.cpp b/tests/auto/render/commons/testrenderer.cpp
index 39cf936ac..db038dbc4 100644
--- a/tests/auto/render/commons/testrenderer.cpp
+++ b/tests/auto/render/commons/testrenderer.cpp
@@ -39,17 +39,22 @@ TestRenderer::~TestRenderer()
{
}
-void TestRenderer::markDirty(Qt3DRender::Render::BackendNodeDirtySet changes, Qt3DRender::Render::BackendNode *node)
+void TestRenderer::markDirty(Qt3DRender::Render::AbstractRenderer::BackendNodeDirtySet changes, Qt3DRender::Render::BackendNode *node)
{
Q_UNUSED(node);
m_changes |= changes;
}
-Qt3DRender::Render::BackendNodeDirtySet TestRenderer::dirtyBits()
+Qt3DRender::Render::AbstractRenderer::BackendNodeDirtySet TestRenderer::dirtyBits()
{
return m_changes;
}
+void TestRenderer::clearDirtyBits(Qt3DRender::Render::AbstractRenderer::BackendNodeDirtySet changes)
+{
+ m_changes &= changes;
+}
+
void TestRenderer::resetDirty()
{
m_changes = 0;
diff --git a/tests/auto/render/commons/testrenderer.h b/tests/auto/render/commons/testrenderer.h
index d237b6051..1194e6c38 100644
--- a/tests/auto/render/commons/testrenderer.h
+++ b/tests/auto/render/commons/testrenderer.h
@@ -67,13 +67,14 @@ public:
void setSettings(Qt3DRender::Render::RendererSettings *settings) Q_DECL_OVERRIDE { Q_UNUSED(settings); }
Qt3DRender::Render::RendererSettings *settings() const Q_DECL_OVERRIDE { return Q_NULLPTR; }
- void markDirty(Qt3DRender::Render::BackendNodeDirtySet changes, Qt3DRender::Render::BackendNode *node) Q_DECL_OVERRIDE;
- Qt3DRender::Render::BackendNodeDirtySet dirtyBits() Q_DECL_OVERRIDE;
+ void markDirty(Qt3DRender::Render::AbstractRenderer::BackendNodeDirtySet changes, Qt3DRender::Render::BackendNode *node) Q_DECL_OVERRIDE;
+ Qt3DRender::Render::AbstractRenderer::BackendNodeDirtySet dirtyBits() Q_DECL_OVERRIDE;
+ void clearDirtyBits(Qt3DRender::Render::AbstractRenderer::BackendNodeDirtySet changes) Q_DECL_OVERRIDE;
void resetDirty();
protected:
- Qt3DRender::Render::BackendNodeDirtySet m_changes;
+ Qt3DRender::Render::AbstractRenderer::BackendNodeDirtySet m_changes;
};
QT_END_NAMESPACE
diff --git a/tests/auto/render/qmaterial/tst_qmaterial.cpp b/tests/auto/render/qmaterial/tst_qmaterial.cpp
index 3b6171030..7b52a798c 100644
--- a/tests/auto/render/qmaterial/tst_qmaterial.cpp
+++ b/tests/auto/render/qmaterial/tst_qmaterial.cpp
@@ -36,7 +36,6 @@
#include <Qt3DRender/QTechnique>
#include <Qt3DRender/QRenderPass>
#include <Qt3DRender/QPhongMaterial>
-#include <Qt3DRender/QParameterMapping>
#include <Qt3DRender/QDiffuseMapMaterial>
#include <Qt3DRender/QPerVertexColorMaterial>
#include <Qt3DRender/QNormalDiffuseMapMaterial>
@@ -131,7 +130,6 @@ private:
compareParameters(original->parameters(), clone->parameters());
compareRenderStates(original->renderStates(), clone->renderStates());
compareAnnotations(original->annotations(), clone->annotations());
- compareBindings(original->bindings(), clone->bindings());
compareShaderPrograms(original->shaderProgram(), clone->shaderProgram());
}
@@ -162,22 +160,6 @@ private:
}
}
- void compareBindings(const QList<Qt3DRender::QParameterMapping *> &original, const QList<Qt3DRender::QParameterMapping *> &clone)
- {
- const int bindingsCount = original.size();
- QCOMPARE(bindingsCount, clone.size());
-
- for (int i = 0; i < bindingsCount; ++i) {
- const Qt3DRender::QParameterMapping *origMapping = original.at(i);
- const Qt3DRender::QParameterMapping *cloneMapping = clone.at(i);
-
- QCOMPARE(origMapping->id(), cloneMapping->id());
- QCOMPARE(origMapping->bindingType(), cloneMapping->bindingType());
- QCOMPARE(origMapping->parameterName(), cloneMapping->parameterName());
- QCOMPARE(origMapping->shaderVariableName(), cloneMapping->shaderVariableName());
- }
- }
-
void compareRenderStates(const QList<Qt3DRender::QRenderState *> &original, const QList<Qt3DRender::QRenderState *> &clone)
{
const int renderStatesCount = original.size();
diff --git a/tests/auto/render/renderpass/tst_renderpass.cpp b/tests/auto/render/renderpass/tst_renderpass.cpp
index 603cfb2a2..390946042 100644
--- a/tests/auto/render/renderpass/tst_renderpass.cpp
+++ b/tests/auto/render/renderpass/tst_renderpass.cpp
@@ -32,7 +32,6 @@
#include <Qt3DCore/QScenePropertyChange>
#include <Qt3DRender/QAnnotation>
-#include <Qt3DRender/QParameterMapping>
#include <Qt3DRender/QRenderPass>
#include <Qt3DRender/QShaderProgram>
#include <Qt3DRender/QParameter>
@@ -84,7 +83,6 @@ private slots:
// THEN
QVERIFY(backend.shaderProgram().isNull());
QVERIFY(backend.annotations().isEmpty());
- QVERIFY(backend.bindings().isEmpty());
QVERIFY(backend.renderStates(m_renderStateManager).isEmpty());
QVERIFY(backend.parameters().isEmpty());
}
@@ -97,8 +95,6 @@ private slots:
frontend.addAnnotation(new QAnnotation(&frontend));
- frontend.addBinding(new QParameterMapping(&frontend));
-
frontend.addParameter(new QParameter(&frontend));
QRenderState *frontendState = new QBlendState();
@@ -119,12 +115,6 @@ private slots:
QCOMPARE(backend.annotations().size(), 1);
QCOMPARE(backend.annotations().first(), frontend.annotations().first()->id());
- QCOMPARE(backend.bindings().size(), 1);
- QCOMPARE(backend.bindings().first().id(), frontend.bindings().first()->id());
- QCOMPARE(backend.bindings().first().bindingType(), frontend.bindings().first()->bindingType());
- QCOMPARE(backend.bindings().first().parameterName(), frontend.bindings().first()->parameterName());
- QCOMPARE(backend.bindings().first().shaderVariableName(), frontend.bindings().first()->shaderVariableName());
-
QCOMPARE(backend.parameters().size(), 1);
QCOMPARE(backend.parameters().first(), frontend.parameters().first()->id());
@@ -191,39 +181,6 @@ private slots:
QVERIFY(backend.annotations().isEmpty());
}
- void shouldHandleBindingsPropertyChangeEvents()
- {
- // GIVEN
- QScopedPointer<QParameterMapping> binding(new QParameterMapping);
-
- RenderPass backend;
- TestRenderer renderer;
- backend.setRenderer(&renderer);
-
- // WHEN
- QScenePropertyChangePtr addChange(new QScenePropertyChange(NodeAdded, QSceneChange::Node, binding->id()));
- addChange->setValue(QVariant::fromValue(binding.data()));
- addChange->setPropertyName("binding");
- backend.sceneChangeEvent(addChange);
-
- // THEN
- QCOMPARE(backend.bindings().size(), 1);
- QCOMPARE(backend.bindings().first().id(), binding->id());
- QCOMPARE(backend.bindings().first().bindingType(), binding->bindingType());
- QCOMPARE(backend.bindings().first().parameterName(), binding->parameterName());
- QCOMPARE(backend.bindings().first().shaderVariableName(), binding->shaderVariableName());
- QVERIFY(renderer.dirtyBits() != 0);
-
- // WHEN
- QScenePropertyChangePtr removeChange(new QScenePropertyChange(NodeRemoved, QSceneChange::Node, binding->id()));
- removeChange->setValue(QVariant::fromValue(binding->id()));
- removeChange->setPropertyName("binding");
- backend.sceneChangeEvent(removeChange);
-
- // THEN
- QVERIFY(backend.bindings().isEmpty());
- }
-
void shouldHandleParametersPropertyChangeEvents()
{
// GIVEN