From e1d1a59eb04f8b17582571275073a6cfa10e9e32 Mon Sep 17 00:00:00 2001 From: Svenn-Arne Dragly Date: Sat, 3 Feb 2018 14:32:38 +0100 Subject: Move calculateBoundingVolumeJob dependency on updateTreeEnabledJob Move it to renderBinJobs because we clear all dependencies of calculateBoundingVolumeJob at the start of this function. Change-Id: Idebe10349181d95813e47e85b2e6f4f2ae39e615 Reviewed-by: Paul Lemire --- src/render/backend/renderer.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/render/backend/renderer.cpp b/src/render/backend/renderer.cpp index 0b975a3d3..095818328 100644 --- a/src/render/backend/renderer.cpp +++ b/src/render/backend/renderer.cpp @@ -215,12 +215,12 @@ Renderer::Renderer(QRenderAspect::RenderType type) // Create jobs to update transforms and bounding volumes // We can only update bounding volumes once all world transforms are known - m_calculateBoundingVolumeJob->addDependency(m_updateTreeEnabledJob); m_updateWorldBoundingVolumeJob->addDependency(m_worldTransformJob); m_updateWorldBoundingVolumeJob->addDependency(m_calculateBoundingVolumeJob); m_expandBoundingVolumeJob->addDependency(m_updateWorldBoundingVolumeJob); m_updateShaderDataTransformJob->addDependency(m_worldTransformJob); m_pickBoundingVolumeJob->addDependency(m_expandBoundingVolumeJob); + // m_calculateBoundingVolumeJob's dependency on m_updateTreeEnabledJob is set in renderBinJobs // Ensures all skeletons are loaded before we try to update them m_updateSkinningPaletteJob->addDependency(m_syncSkeletonLoadingJob); @@ -1584,8 +1584,12 @@ QVector Renderer::renderBinJobs() m_dirtyBits = 0; const bool entitiesEnabledDirty = dirtyBitsForFrame & AbstractRenderer::EntityEnabledDirty; - if (entitiesEnabledDirty) + if (entitiesEnabledDirty) { renderBinJobs.push_back(m_updateTreeEnabledJob); + // This dependency is added here because we clear all dependencies + // at the start of this function. + m_calculateBoundingVolumeJob->addDependency(m_updateTreeEnabledJob); + } if (dirtyBitsForFrame & AbstractRenderer::TransformDirty) { renderBinJobs.push_back(m_worldTransformJob); -- cgit v1.2.3