diff --git a/filament/src/PostProcessManager.cpp b/filament/src/PostProcessManager.cpp index 716420f907..63c9ffe4f9 100644 --- a/filament/src/PostProcessManager.cpp +++ b/filament/src/PostProcessManager.cpp @@ -407,7 +407,6 @@ FrameGraphResource PostProcessManager::ssao(FrameGraph& fg, RenderPass& pass, pInstance->setParameter("power", data.options.power); pInstance->setParameter("maxLevel", uint32_t(levelCount - 1)); pInstance->commit(driver); - pInstance->use(driver); PipelineState pipeline; pipeline.program = mSSAO.getProgram(); @@ -415,6 +414,7 @@ FrameGraphResource PostProcessManager::ssao(FrameGraph& fg, RenderPass& pass, pipeline.rasterState.depthFunc = RasterState::DepthFunc::G; driver.beginRenderPass(ssao.target, ssao.params); + pInstance->use(driver); driver.draw(pipeline, fullScreenRenderPrimitive); driver.endRenderPass(); }); @@ -508,13 +508,13 @@ FrameGraphResource PostProcessManager::mipmapPass(FrameGraph& fg, pInstance->setParameter("depth", in, params); pInstance->setParameter("level", uint32_t(level)); pInstance->commit(driver); - pInstance->use(driver); PipelineState pipeline; pipeline.program = mMipmapDepth.getProgram(); pipeline.rasterState = mMipmapDepth.getMaterial()->getRasterState(); driver.beginRenderPass(out.target, out.params); + pInstance->use(driver); driver.draw(pipeline, fullScreenRenderPrimitive); driver.endRenderPass(); }); @@ -568,7 +568,6 @@ FrameGraphResource PostProcessManager::blurPass(FrameGraph& fg, FrameGraphResour pInstance->setParameter("resolution", float4{ desc.width, desc.height, 1.0f / desc.width, 1.0f / desc.height }); pInstance->commit(driver); - pInstance->use(driver); PipelineState pipeline; pipeline.program = mBlur.getProgram(); @@ -576,6 +575,7 @@ FrameGraphResource PostProcessManager::blurPass(FrameGraph& fg, FrameGraphResour pipeline.rasterState.depthFunc = RasterState::DepthFunc::G; driver.beginRenderPass(blurred.target, blurred.params); + pInstance->use(driver); driver.draw(pipeline, fullScreenRenderPrimitive); driver.endRenderPass(); });