From 910f9f8c26b5d9db1dfa0437030d10951486ee3c Mon Sep 17 00:00:00 2001 From: assiduous Date: Fri, 31 Jul 2020 20:51:27 -0700 Subject: Added pRenderPass and SubpassIndex members to GraphicsPipelineDesc struct --- .../GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'Graphics/GraphicsEngineVulkan') diff --git a/Graphics/GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp b/Graphics/GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp index 4355b453..92e0dee6 100644 --- a/Graphics/GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp +++ b/Graphics/GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp @@ -290,12 +290,15 @@ PipelineStateVkImpl::PipelineStateVkImpl(IReferenceCounters* pRefCoun auto& GraphicsPipeline = m_Desc.GraphicsPipeline; auto& RPCache = pDeviceVk->GetImplicitRenderPassCache(); - RenderPassCache::RenderPassCacheKey Key{ - GraphicsPipeline.NumRenderTargets, - GraphicsPipeline.SmplDesc.Count, - GraphicsPipeline.RTVFormats, - GraphicsPipeline.DSVFormat}; - m_pRenderPass = RPCache.GetRenderPass(Key); + if (m_pRenderPass == nullptr) + { + RenderPassCache::RenderPassCacheKey Key{ + GraphicsPipeline.NumRenderTargets, + GraphicsPipeline.SmplDesc.Count, + GraphicsPipeline.RTVFormats, + GraphicsPipeline.DSVFormat}; + m_pRenderPass = RPCache.GetRenderPass(Key); + } VkGraphicsPipelineCreateInfo PipelineCI = {}; @@ -436,7 +439,7 @@ PipelineStateVkImpl::PipelineStateVkImpl(IReferenceCounters* pRefCoun PipelineCI.renderPass = GetRenderPass()->GetVkRenderPass(); - PipelineCI.subpass = 0; + PipelineCI.subpass = m_Desc.GraphicsPipeline.SubpassIndex; PipelineCI.basePipelineHandle = VK_NULL_HANDLE; // a pipeline to derive from PipelineCI.basePipelineIndex = 0; // an index into the pCreateInfos parameter to use as a pipeline to derive from -- cgit v1.2.3