diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2019-10-11 11:05:12 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2019-10-22 16:13:37 +0200 |
commit | 6303910dc48a87b84112f31c1dd328b930f7e957 (patch) | |
tree | 3c1a962c1bf5448b0627f841d493f936908c9cd8 /tests | |
parent | 4d0f8bcdea22f70dbf693545d56e1399b3ca0250 (diff) |
ComputeCommand/SubtreeEnabler use direct sync job to update frontend
Change-Id: I773955df33f0b4dcdaa0953633761ff82f3d0da4
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/render/computecommand/tst_computecommand.cpp | 27 | ||||
-rw-r--r-- | tests/auto/render/renderer/tst_renderer.cpp | 8 |
2 files changed, 26 insertions, 9 deletions
diff --git a/tests/auto/render/computecommand/tst_computecommand.cpp b/tests/auto/render/computecommand/tst_computecommand.cpp index 990c0cd98..4120153e7 100644 --- a/tests/auto/render/computecommand/tst_computecommand.cpp +++ b/tests/auto/render/computecommand/tst_computecommand.cpp @@ -54,6 +54,7 @@ private Q_SLOTS: QCOMPARE(backendComputeCommand.x(), 1); QCOMPARE(backendComputeCommand.y(), 1); QCOMPARE(backendComputeCommand.z(), 1); + QCOMPARE(backendComputeCommand.hasReachedFrameCount(), false); QCOMPARE(backendComputeCommand.runType(), Qt3DRender::QComputeCommand::Continuous); QCOMPARE(backendComputeCommand.frameCount(), 0); } @@ -61,15 +62,27 @@ private Q_SLOTS: void checkCleanupState() { // GIVEN + TestRenderer renderer; Qt3DRender::Render::ComputeCommand backendComputeCommand; + Qt3DRender::QComputeCommand computeCommand; + computeCommand.setWorkGroupX(256); + computeCommand.setWorkGroupY(512); + computeCommand.setWorkGroupZ(128); + computeCommand.setRunType(Qt3DRender::QComputeCommand::Manual); + computeCommand.trigger(1); // WHEN + backendComputeCommand.setRenderer(&renderer); + simulateInitializationSync(&computeCommand, &backendComputeCommand); + backendComputeCommand.setEnabled(true); + backendComputeCommand.hasReachedFrameCount(); backendComputeCommand.cleanup(); // THEN QCOMPARE(backendComputeCommand.isEnabled(), false); + QCOMPARE(backendComputeCommand.hasReachedFrameCount(), false); } void checkInitializeFromPeer() @@ -207,6 +220,7 @@ private Q_SLOTS: // THEN QCOMPARE(backendComputeCommand.frameCount(), 6 - (i + 1)); QCOMPARE(backendComputeCommand.isEnabled(), true); + QCOMPARE(backendComputeCommand.hasReachedFrameCount(), false); QCOMPARE(arbiter.events.size(), 0); } @@ -214,15 +228,10 @@ private Q_SLOTS: backendComputeCommand.updateFrameCount(); // THEN - QCOMPARE(backendComputeCommand.frameCount(), false); - QCOMPARE(backendComputeCommand.isEnabled(), false); - QCOMPARE(arbiter.events.size(), 1); - { - auto change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>(); - QCOMPARE(change->propertyName(), "enabled"); - QCOMPARE(change->value().value<int>(), false); - QCOMPARE(change->type(), Qt3DCore::PropertyUpdated); - } + QCOMPARE(backendComputeCommand.hasReachedFrameCount(), true); + QCOMPARE(backendComputeCommand.frameCount(), 0); + // Backend stays with enabled == true, frontend will be updated + // to be disabled and backend should be disabled on the next sync } }; diff --git a/tests/auto/render/renderer/tst_renderer.cpp b/tests/auto/render/renderer/tst_renderer.cpp index f8125bce4..91cb7906c 100644 --- a/tests/auto/render/renderer/tst_renderer.cpp +++ b/tests/auto/render/renderer/tst_renderer.cpp @@ -192,6 +192,7 @@ private Q_SLOTS: 1 + // SyncLoadingJobs 1 + // updateLevelOfDetailJob 1 + // cleanupJob + 1 + // sendDisablesToFrontend 1 + // VAOGatherer 1 + // BufferGathererJob 1 + // TexturesGathererJob @@ -221,6 +222,7 @@ private Q_SLOTS: 1 + // VAOGatherer 1 + // updateSkinningPaletteJob 1 + // SyncLoadingJobs + 1 + // sendDisablesToFrontend singleRenderViewJobCount + singleRenderViewCommandRebuildJobCount + renderViewBuilderMaterialCacheJobCount + @@ -240,6 +242,7 @@ private Q_SLOTS: 1 + // VAOGatherer 1 + // updateSkinningPaletteJob 1 + // SyncLoadingJobs + 1 + // sendDisablesToFrontend 1 + // EntityEnabledDirty singleRenderViewJobCount + layerCacheJobCount); @@ -261,6 +264,7 @@ private Q_SLOTS: 1 + // UpdateShaderDataTransform 1 + // updateSkinningPaletteJob 1 + // SyncLoadingJobs + 1 + // sendDisablesToFrontend 1 + // ExpandBoundingVolumeJob singleRenderViewJobCount); @@ -278,6 +282,7 @@ private Q_SLOTS: 1 + // VAOGatherer 1 + // updateSkinningPaletteJob 1 + // SyncLoadingJobs + 1 + // sendDisablesToFrontend singleRenderViewJobCount + singleRenderViewCommandRebuildJobCount + renderViewBuilderMaterialCacheJobCount); @@ -301,6 +306,7 @@ private Q_SLOTS: 1 + // ExpandBoundingVolumeJob 1 + // RenderableEntityFilterPtr 1 + // SyncRenderableEntities + 1 + // sendDisablesToFrontend singleRenderViewCommandRebuildJobCount + singleRenderViewJobCount); @@ -321,6 +327,7 @@ private Q_SLOTS: 1 + // CalculateBoundingVolumeJob 1 + // UpdateMeshTriangleListJob 1 + // BufferGathererJob + 1 + // sendDisablesToFrontend singleRenderViewJobCount); renderer.clearDirtyBits(Qt3DRender::Render::AbstractRenderer::AllDirty); @@ -338,6 +345,7 @@ private Q_SLOTS: 1 + // TexturesGathererJob 1 + // updateSkinningPaletteJob 1 + // SyncTexturesGathererJob + 1 + // sendDisablesToFrontend singleRenderViewJobCount); renderer.clearDirtyBits(Qt3DRender::Render::AbstractRenderer::AllDirty); |