Do not bind materials outside of a render pass. (affects GL)

This commit is contained in:
prideout
2019-07-31 15:15:18 -07:00
committed by Philip Rideout
parent 8798d367c5
commit b16dc443ff

View File

@@ -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();
});