#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); } class DeviceRenderPassManage { VkDevice device; VkPipelineCache pipeline_cache; util::Hash *hash; Map RenderPassList; private: friend class GPUDevice; DeviceRenderPassManage(VkDevice,VkPipelineCache); ~DeviceRenderPassManage(); 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 DeviceRenderPassManage VK_NAMESPACE_END