added subpass_count parameter at DeviceRenderPassManage::AcqurireRenderPass

This commit is contained in:
hyzboy 2021-11-22 15:31:30 +08:00
parent 3f08a21da4
commit b1808e580d
3 changed files with 8 additions and 6 deletions

@ -1 +1 @@
Subproject commit 97c907b8bff43cdecafbf1678868aaaab9930925
Subproject commit dbc1852e400fda52b358d72e5e7d4464f0e01ae0

View File

@ -31,7 +31,7 @@ private:
const List<VkSubpassDependency> &dependency,
const RenderbufferInfo *);
RenderPass * AcquireRenderPass( const RenderbufferInfo *);
RenderPass * AcquireRenderPass( const RenderbufferInfo *,const uint subpass_count=2);
};//class DeviceRenderPassManage
VK_NAMESPACE_END
#endif//HGL_VULKAN_DEVICE_RENDERPASS_MANAGE_INCLUDE

View File

@ -236,12 +236,14 @@ namespace
// delete hash;
// }
void HashRenderPass(RenderPassHASHCode *code,const RenderbufferInfo *rbi)
void HashRenderPass(RenderPassHASHCode *code,const RenderbufferInfo *rbi,const uint8 subpass_count)
{
util::Hash *hash=util::CreateSHA1LEHash();
hash->Init();
hash->Write<uint8>(subpass_count);
for(const VkFormat &fmt:rbi->GetColorFormatList())
hash->Write(fmt);
@ -276,12 +278,12 @@ RenderPass *DeviceRenderPassManage::CreateRenderPass( const List<VkAttachmentD
return(new RenderPass(device,pipeline_cache,render_pass,rbi->GetColorFormatList(),depth_format));
}
RenderPass *DeviceRenderPassManage::AcquireRenderPass(const RenderbufferInfo *rbi)
RenderPass *DeviceRenderPassManage::AcquireRenderPass(const RenderbufferInfo *rbi,const uint subpass_count)
{
RenderPassHASHCode hash;
RenderPass *rp=nullptr;
HashRenderPass(&hash,rbi);
HashRenderPass(&hash,rbi,subpass_count);
if(RenderPassList.Get(hash,rp))
return rp;
@ -307,7 +309,7 @@ RenderPass *DeviceRenderPassManage::AcquireRenderPass(const RenderbufferInfo *rb
subpass_desc_list.Add(SubpassDescription(color_ref_list.GetData(),color_ref_list.GetCount()));
}
CreateSubpassDependency(subpass_dependency_list,2);
CreateSubpassDependency(subpass_dependency_list,subpass_count);
rp=CreateRenderPass(atta_desc_list,subpass_desc_list,subpass_dependency_list,rbi);