#pragma once #include #include #include VK_NAMESPACE_BEGIN using RenderPassHASHCode=util::HashCodeSHA1LE; class RenderPassManager:public GraphModule { VkPipelineCache pipeline_cache; util::Hash *hash; Map RenderPassList; private: friend class GPUDevice; //RenderPassManager(VkDevice,VkPipelineCache); GRAPH_MODULE_CONSTRUCT(RenderPassManager) ~RenderPassManager(); bool Init() override; private: RenderPass * CreateRenderPass( const List &desc_list, const List &subpass, const List &dependency, const RenderbufferInfo *); RenderPass * AcquireRenderPass( const RenderbufferInfo *,const uint subpass_count=2); };//class RenderPassManager VK_NAMESPACE_END