summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/render/backend/uniform_p.h2
-rw-r--r--tests/auto/render/uniform/tst_uniform.cpp9
2 files changed, 10 insertions, 1 deletions
diff --git a/src/render/backend/uniform_p.h b/src/render/backend/uniform_p.h
index e31aaa609..7f273566e 100644
--- a/src/render/backend/uniform_p.h
+++ b/src/render/backend/uniform_p.h
@@ -181,7 +181,7 @@ public:
// For nodes which will later be replaced by a Texture or Buffer
UniformValue(Qt3DCore::QNodeId id)
- : UniformValue()
+ : m_data(sizeof(Qt3DCore::QNodeId) / sizeof(float))
{
m_valueType = NodeId;
memcpy(m_data.data(), &id, sizeof(Qt3DCore::QNodeId));
diff --git a/tests/auto/render/uniform/tst_uniform.cpp b/tests/auto/render/uniform/tst_uniform.cpp
index 213646369..c0e33f49b 100644
--- a/tests/auto/render/uniform/tst_uniform.cpp
+++ b/tests/auto/render/uniform/tst_uniform.cpp
@@ -143,6 +143,15 @@ private Q_SLOTS:
}
}
}
+ {
+ // GIVEN
+ const Qt3DCore::QNodeId nodeId = Qt3DCore::QNodeId::createId();
+ UniformValue v(nodeId);
+
+ // THEN
+ QCOMPARE(v.byteSize(), sizeof(Qt3DCore::QNodeId));
+ QCOMPARE(v.constData<Qt3DCore::QNodeId>()[0], nodeId);
+ }
}
void checkFromVariant()