From 3150b963c0106f163ea5aec03a34a23c5220dda3 Mon Sep 17 00:00:00 2001 From: NissimHadar Date: Thu, 22 Feb 2018 16:29:58 -0800 Subject: [PATCH] Implemented call to abortTask(). --- .../render-utils/src/RenderShadowTask.cpp | 23 +++++-------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/libraries/render-utils/src/RenderShadowTask.cpp b/libraries/render-utils/src/RenderShadowTask.cpp index be84482c63..ce4bf01dcf 100644 --- a/libraries/render-utils/src/RenderShadowTask.cpp +++ b/libraries/render-utils/src/RenderShadowTask.cpp @@ -120,11 +120,6 @@ void RenderShadowMap::run(const render::RenderContextPointer& renderContext, con auto lightStage = renderContext->_scene->getStage(); assert(lightStage); - // Exit if current keylight does not cast shadows - if (!lightStage->getCurrentKeyLight() || !lightStage->getCurrentKeyLight()->getCastShadows()) { - return; - } - auto shadow = lightStage->getCurrentKeyShadow(); if (!shadow || _cascadeIndex >= shadow->getCascadeCount()) { return; @@ -305,8 +300,14 @@ void RenderShadowSetup::setSlopeBias(int cascadeIndex, float value) { } void RenderShadowSetup::run(const render::RenderContextPointer& renderContext, Outputs& output) { + // Abort all jobs if not casting shadows auto lightStage = renderContext->_scene->getStage(); assert(lightStage); + if (!lightStage->getCurrentKeyLight() || !lightStage->getCurrentKeyLight()->getCastShadows()) { + renderContext->taskFlow.abortTask(); + return; + } + // Cache old render args RenderArgs* args = renderContext->args; @@ -387,18 +388,6 @@ void RenderShadowCascadeSetup::run(const render::RenderContextPointer& renderCon auto lightStage = renderContext->_scene->getStage(); assert(lightStage); - // Exit if current keylight does not cast shadows - if (!lightStage->getCurrentKeyLight()) { - return; - } - - bool castShadows = lightStage->getCurrentKeyLight()->getCastShadows(); - if (!castShadows) { - output.edit0() = ItemFilter::Builder::nothing(); - output.edit1() = ViewFrustumPointer(); - return; - } - // Cache old render args RenderArgs* args = renderContext->args;