diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_command_pool.cpp | 5 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_command_pool.h | 9 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/video_core/renderer_vulkan/vk_command_pool.cpp b/src/video_core/renderer_vulkan/vk_command_pool.cpp index f1abd4b1a..6339f4fe0 100644 --- a/src/video_core/renderer_vulkan/vk_command_pool.cpp +++ b/src/video_core/renderer_vulkan/vk_command_pool.cpp | |||
| @@ -12,6 +12,11 @@ namespace Vulkan { | |||
| 12 | 12 | ||
| 13 | constexpr size_t COMMAND_BUFFER_POOL_SIZE = 0x1000; | 13 | constexpr size_t COMMAND_BUFFER_POOL_SIZE = 0x1000; |
| 14 | 14 | ||
| 15 | struct CommandPool::Pool { | ||
| 16 | vk::CommandPool handle; | ||
| 17 | vk::CommandBuffers cmdbufs; | ||
| 18 | }; | ||
| 19 | |||
| 15 | CommandPool::CommandPool(MasterSemaphore& master_semaphore, const VKDevice& device) | 20 | CommandPool::CommandPool(MasterSemaphore& master_semaphore, const VKDevice& device) |
| 16 | : ResourcePool(master_semaphore, COMMAND_BUFFER_POOL_SIZE), device{device} {} | 21 | : ResourcePool(master_semaphore, COMMAND_BUFFER_POOL_SIZE), device{device} {} |
| 17 | 22 | ||
diff --git a/src/video_core/renderer_vulkan/vk_command_pool.h b/src/video_core/renderer_vulkan/vk_command_pool.h index 3aee239b9..b9cb3fb5d 100644 --- a/src/video_core/renderer_vulkan/vk_command_pool.h +++ b/src/video_core/renderer_vulkan/vk_command_pool.h | |||
| @@ -2,6 +2,8 @@ | |||
| 2 | // Licensed under GPLv2 or any later version | 2 | // Licensed under GPLv2 or any later version |
| 3 | // Refer to the license.txt file included. | 3 | // Refer to the license.txt file included. |
| 4 | 4 | ||
| 5 | #pragma once | ||
| 6 | |||
| 5 | #include <cstddef> | 7 | #include <cstddef> |
| 6 | #include <vector> | 8 | #include <vector> |
| 7 | 9 | ||
| @@ -16,17 +18,14 @@ class VKDevice; | |||
| 16 | class CommandPool final : public ResourcePool { | 18 | class CommandPool final : public ResourcePool { |
| 17 | public: | 19 | public: |
| 18 | explicit CommandPool(MasterSemaphore& master_semaphore, const VKDevice& device); | 20 | explicit CommandPool(MasterSemaphore& master_semaphore, const VKDevice& device); |
| 19 | virtual ~CommandPool(); | 21 | ~CommandPool() override; |
| 20 | 22 | ||
| 21 | void Allocate(size_t begin, size_t end) override; | 23 | void Allocate(size_t begin, size_t end) override; |
| 22 | 24 | ||
| 23 | VkCommandBuffer Commit(); | 25 | VkCommandBuffer Commit(); |
| 24 | 26 | ||
| 25 | private: | 27 | private: |
| 26 | struct Pool { | 28 | struct Pool; |
| 27 | vk::CommandPool handle; | ||
| 28 | vk::CommandBuffers cmdbufs; | ||
| 29 | }; | ||
| 30 | 29 | ||
| 31 | const VKDevice& device; | 30 | const VKDevice& device; |
| 32 | std::vector<Pool> pools; | 31 | std::vector<Pool> pools; |