diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-02-14 17:39:12 +0100 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-02-14 22:44:26 +0100 |
commit | ae6c052ed9f7e3baed13e1e88e759a3a11d2c928 (patch) | |
tree | e9b6fe1189c7e7877bae4bc2cb21f3380e2f78c1 /src/video_core/renderer_vulkan/vk_resource_manager.h | |
parent | vk_resource_manager: Add VKFencedPool interface (diff) | |
download | yuzu-ae6c052ed9f7e3baed13e1e88e759a3a11d2c928.tar yuzu-ae6c052ed9f7e3baed13e1e88e759a3a11d2c928.tar.gz yuzu-ae6c052ed9f7e3baed13e1e88e759a3a11d2c928.tar.bz2 yuzu-ae6c052ed9f7e3baed13e1e88e759a3a11d2c928.tar.lz yuzu-ae6c052ed9f7e3baed13e1e88e759a3a11d2c928.tar.xz yuzu-ae6c052ed9f7e3baed13e1e88e759a3a11d2c928.tar.zst yuzu-ae6c052ed9f7e3baed13e1e88e759a3a11d2c928.zip |
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_resource_manager.h')
-rw-r--r-- | src/video_core/renderer_vulkan/vk_resource_manager.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/video_core/renderer_vulkan/vk_resource_manager.h b/src/video_core/renderer_vulkan/vk_resource_manager.h index 1fd68bb4c..5018dfa44 100644 --- a/src/video_core/renderer_vulkan/vk_resource_manager.h +++ b/src/video_core/renderer_vulkan/vk_resource_manager.h @@ -15,6 +15,8 @@ class VKDevice; class VKFence; class VKResourceManager; +class CommandBufferPool; + /// Interface for a Vulkan resource class VKResource { public: @@ -162,13 +164,17 @@ public: /// Commits a fence. It has to be sent to a queue and released. VKFence& CommitFence(); + /// Commits an unused command buffer and protects it with a fence. + vk::CommandBuffer CommitCommandBuffer(VKFence& fence); + private: /// Allocates new fences. void GrowFences(std::size_t new_fences_count); const VKDevice& device; ///< Device handler. std::size_t fences_iterator = 0; ///< Index where a free fence is likely to be found. - std::vector<std::unique_ptr<VKFence>> fences; ///< Pool of fences. + std::vector<std::unique_ptr<VKFence>> fences; ///< Pool of fences. + std::unique_ptr<CommandBufferPool> command_buffer_pool; ///< Pool of command buffers. }; } // namespace Vulkan |