- fix model chasecam crash

This commit is contained in:
Magnus Norddahl 2019-05-12 23:05:31 +02:00
parent 29c6782aa1
commit f2e37d506e
2 changed files with 6 additions and 3 deletions

View file

@ -248,6 +248,11 @@ void VkRenderState::ApplyRenderPass(int dt)
if (changingRenderPass)
{
passKey.ClearTargets = mClearTargets;
// Only clear depth+stencil if the render target actually has that
if (!mRenderTarget.DepthStencil)
passKey.ClearTargets &= ~(CT_Depth | CT_Stencil);
BeginRenderPass(passKey, mCommandBuffer);
mRenderPassKey = passKey;
mClearTargets = 0;

View file

@ -766,7 +766,7 @@ inline GraphicsPipelineBuilder::GraphicsPipelineBuilder()
pipelineInfo.pViewportState = &viewportState;
pipelineInfo.pRasterizationState = &rasterizer;
pipelineInfo.pMultisampleState = &multisampling;
pipelineInfo.pDepthStencilState = nullptr;
pipelineInfo.pDepthStencilState = &depthStencil;
pipelineInfo.pColorBlendState = &colorBlending;
pipelineInfo.pDynamicState = &dynamicState;
pipelineInfo.subpass = 0;
@ -896,8 +896,6 @@ inline void GraphicsPipelineBuilder::setDepthStencilEnable(bool test, bool write
depthStencil.depthTestEnable = test ? VK_TRUE : VK_FALSE;
depthStencil.depthWriteEnable = write ? VK_TRUE : VK_FALSE;
depthStencil.stencilTestEnable = stencil ? VK_TRUE : VK_FALSE;
pipelineInfo.pDepthStencilState = (test || write || stencil) ? &depthStencil : nullptr;
}
inline void GraphicsPipelineBuilder::setStencil(VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp, uint32_t compareMask, uint32_t writeMask, uint32_t reference)