diff options
author | Mike Krus <mike.krus@kdab.com> | 2020-03-27 16:15:47 +0000 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2020-03-27 16:28:06 +0000 |
commit | 62d11afb41e0c3b8a21b4a307cebdfc406ecdf98 (patch) | |
tree | 535445f3a12bd9ddb1b48c830e29ab7601a33335 /src/render/frontend | |
parent | eaf4b353fb317a96d01b65fce90ca2e57af4b829 (diff) |
Fix job dependencies
Got dropped in previous refactoring
Change-Id: I4fdffd329f79b2a650c4780b693a665f81a9770b
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/frontend')
-rw-r--r-- | src/render/frontend/qrenderaspect.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/render/frontend/qrenderaspect.cpp b/src/render/frontend/qrenderaspect.cpp index f9aa4ba96..19727f42b 100644 --- a/src/render/frontend/qrenderaspect.cpp +++ b/src/render/frontend/qrenderaspect.cpp @@ -320,6 +320,8 @@ QRenderAspectPrivate::QRenderAspectPrivate(QRenderAspect::RenderType type) m_updateWorldBoundingVolumeJob->addDependency(m_calculateBoundingVolumeJob); m_expandBoundingVolumeJob->addDependency(m_updateWorldBoundingVolumeJob); m_updateLevelOfDetailJob->addDependency(m_expandBoundingVolumeJob); + m_pickBoundingVolumeJob->addDependency(m_expandBoundingVolumeJob); + m_rayCastingJob->addDependency(m_expandBoundingVolumeJob); } /*! \internal */ @@ -684,6 +686,9 @@ QVector<Qt3DCore::QAspectJobPtr> QRenderAspect::jobsToExecute(qint64 time) const QVector<QAspectJobPtr> geometryJobs = d->createGeometryRendererJobs(); jobs.append(geometryJobs); + const QVector<QAspectJobPtr> preRenderingJobs = d->createPreRendererJobs(); + jobs.append(preRenderingJobs); + // Don't spawn any rendering jobs, if the renderer decides to skip this frame // Note: this only affects rendering jobs (jobs that load buffers, // perform picking,... must still be run) @@ -740,9 +745,6 @@ QVector<Qt3DCore::QAspectJobPtr> QRenderAspect::jobsToExecute(qint64 time) if (layersDirty) jobs.push_back(d->m_updateEntityLayersJob); - const QVector<QAspectJobPtr> preRenderingJobs = d->createPreRendererJobs(); - jobs.append(preRenderingJobs); - const QVector<QAspectJobPtr> renderBinJobs = d->m_renderer->renderBinJobs(); jobs.append(renderBinJobs); } @@ -881,7 +883,7 @@ QVector<QAspectJobPtr> QRenderAspectPrivate::createPreRendererJobs() const const auto frameMouseEvents = m_pickEventFilter->pendingMouseEvents(); const auto frameKeyEvents = m_pickEventFilter->pendingKeyEvents(); - m_renderer->setPendingEvents(frameMouseEvents, m_pickEventFilter->pendingKeyEvents()); + m_renderer->setPendingEvents(frameMouseEvents, frameKeyEvents); auto jobs = m_renderer->preRenderingJobs(); |