summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2019-10-15 16:42:19 +0200
committerPaul Lemire <paul.lemire@kdab.com>2019-10-17 12:04:16 +0200
commitaee3dbc8b8f90b76d18ccc833b36dfb787c0bdc5 (patch)
tree2d481f39500573f55ddf82c98f0a9d12ccd59230 /tests
parentb71e3b7b5c29a3528e421bd680d126679e348221 (diff)
Buffer: mark as dirty even if empty on firstTime
We otherwise assert in the case we create an empty buffer that is empty but referenced by Attributes. This is still a valid case as buffer data can be set later on. Change-Id: Ida198f5815f6cbb488b6b27436c4238146c3ae39 Reviewed-by: Mike Krus <mike.krus@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/render/buffer/tst_buffer.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/tests/auto/render/buffer/tst_buffer.cpp b/tests/auto/render/buffer/tst_buffer.cpp
index 1487d3728..48215bea5 100644
--- a/tests/auto/render/buffer/tst_buffer.cpp
+++ b/tests/auto/render/buffer/tst_buffer.cpp
@@ -113,26 +113,40 @@ private Q_SLOTS:
// GIVEN
Qt3DRender::QBuffer frontendBuffer;
- frontendBuffer.setUsage(Qt3DRender::QBuffer::DynamicCopy);
- frontendBuffer.setData(QByteArrayLiteral("C7KR4"));
- frontendBuffer.setDataGenerator(Qt3DRender::QBufferDataGeneratorPtr(new TestFunctor(73)));
// WHEN
backendBuffer.setManager(&bufferManager);
backendBuffer.setRenderer(&renderer);
simulateInitializationSync(&frontendBuffer, &backendBuffer);
- frontendBuffer.updateData(2, QByteArrayLiteral("LS5"));
+ // THEN
+ QCOMPARE(backendBuffer.isDirty(), true);
+ QCOMPARE(backendBuffer.usage(), Qt3DRender::QBuffer::StaticDraw);
+ QVERIFY(backendBuffer.data().isEmpty());
+ QVERIFY(backendBuffer.dataGenerator().isNull());
+ QVERIFY(backendBuffer.pendingBufferUpdates().empty());
+
+ // WHEN
+ frontendBuffer.setUsage(Qt3DRender::QBuffer::DynamicCopy);
+ frontendBuffer.setData(QByteArrayLiteral("C7KR4"));
+ frontendBuffer.setDataGenerator(Qt3DRender::QBufferDataGeneratorPtr(new TestFunctor(73)));
backendBuffer.syncFromFrontEnd(&frontendBuffer, false);
// THEN
QCOMPARE(backendBuffer.usage(), Qt3DRender::QBuffer::DynamicCopy);
QCOMPARE(backendBuffer.isDirty(), true);
- QCOMPARE(backendBuffer.data(), QByteArrayLiteral("C7LS5"));
+ QCOMPARE(backendBuffer.data(), QByteArrayLiteral("C7KR4"));
QVERIFY(!backendBuffer.dataGenerator().isNull());
QVERIFY(!backendBuffer.pendingBufferUpdates().empty());
// WHEN
+ frontendBuffer.updateData(2, QByteArrayLiteral("LS5"));
+ backendBuffer.syncFromFrontEnd(&frontendBuffer, false);
+
+ // THEN
+ QCOMPARE(backendBuffer.isDirty(), true);
+ QCOMPARE(backendBuffer.data(), QByteArrayLiteral("C7LS5"));
+ // WHEN
backendBuffer.cleanup();
// THEN