summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2018-06-08 16:37:33 +0200
committerJani Heikkinen <jani.heikkinen@qt.io>2018-06-12 18:44:48 +0000
commit0c587292a3b5dd62a194a48f099a3ceb7a90a1d9 (patch)
treeb061736d283702b2f056b65aa7dc0d1f0ed9eaa1
parente141501d9ff6dcd661de83be2ec8d0171890e210 (diff)
Fix UniformValue data size for textures
Task-number: QTBUG-68759 Change-Id: I26d4db00bf58ce6061a797e415371abaee1b1202 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-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()