#pragma once #include #include #include VK_NAMESPACE_BEGIN using RenderPassHASHCode=util::HashCode<128/8>; inline util::Hash *CreateRenderPassHash() { return util::CreateHash(util::HASH::xxH3_128); } GRAPH_MODULE_CLASS(RenderPassManager) { VkPipelineCache pipeline_cache; util::Hash *hash; Map RenderPassList; private: RenderPassManager(GPUDevice *); ~RenderPassManager(); friend class GraphModuleManager; private: RenderPass * CreateRenderPass( const List &desc_list, const List &subpass, const List &dependency, const RenderbufferInfo *); public: RenderPass * AcquireRenderPass( const RenderbufferInfo *,const uint subpass_count=2); };//class RenderPassManager VK_NAMESPACE_END