diff options
Diffstat (limited to 'src/render/frontend/qrenderaspect.cpp')
-rw-r--r-- | src/render/frontend/qrenderaspect.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/render/frontend/qrenderaspect.cpp b/src/render/frontend/qrenderaspect.cpp index 4e8967e6e..bbf1013d9 100644 --- a/src/render/frontend/qrenderaspect.cpp +++ b/src/render/frontend/qrenderaspect.cpp @@ -322,7 +322,9 @@ QRenderAspectPrivate::QRenderAspectPrivate(QRenderAspect::RenderType type) m_expandBoundingVolumeJob->addDependency(m_updateWorldBoundingVolumeJob); m_updateLevelOfDetailJob->addDependency(m_expandBoundingVolumeJob); m_pickBoundingVolumeJob->addDependency(m_expandBoundingVolumeJob); + m_pickBoundingVolumeJob->addDependency(m_updateEntityLayersJob); m_rayCastingJob->addDependency(m_expandBoundingVolumeJob); + m_rayCastingJob->addDependency(m_updateEntityLayersJob); } /*! \internal */ @@ -717,17 +719,20 @@ QVector<Qt3DCore::QAspectJobPtr> QRenderAspect::jobsToExecute(qint64 time) if (entitiesEnabledDirty) jobs.push_back(d->m_updateTreeEnabledJob); - if (dirtyBitsForFrame & AbstractRenderer::TransformDirty) { + if (entitiesEnabledDirty || + dirtyBitsForFrame & AbstractRenderer::TransformDirty) { jobs.push_back(d->m_worldTransformJob); jobs.push_back(d->m_updateWorldBoundingVolumeJob); } - if (dirtyBitsForFrame & AbstractRenderer::GeometryDirty || + if (entitiesEnabledDirty || + dirtyBitsForFrame & AbstractRenderer::GeometryDirty || dirtyBitsForFrame & AbstractRenderer::BuffersDirty) { jobs.push_back(d->m_calculateBoundingVolumeJob); } - if (dirtyBitsForFrame & AbstractRenderer::GeometryDirty || + if (entitiesEnabledDirty || + dirtyBitsForFrame & AbstractRenderer::GeometryDirty || dirtyBitsForFrame & AbstractRenderer::TransformDirty) { jobs.push_back(d->m_expandBoundingVolumeJob); } |