#ifndef HGL_VULKAN_DEVICE_RENDERPASS_MANAGE_INCLUDE #define HGL_VULKAN_DEVICE_RENDERPASS_MANAGE_INCLUDE #include #include #include VK_NAMESPACE_BEGIN using RenderPassHASHCode=util::HashCodeSHA1LE; 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 #endif//HGL_VULKAN_DEVICE_RENDERPASS_MANAGE_INCLUDE