|
|
@ -2,6 +2,8 @@ |
|
|
// Licensed under GPLv2 or any later version |
|
|
// Licensed under GPLv2 or any later version |
|
|
// Refer to the license.txt file included. |
|
|
// Refer to the license.txt file included. |
|
|
|
|
|
|
|
|
|
|
|
#pragma once |
|
|
|
|
|
|
|
|
#include <cstddef> |
|
|
#include <cstddef> |
|
|
#include <vector> |
|
|
#include <vector> |
|
|
|
|
|
|
|
|
@ -16,17 +18,14 @@ class VKDevice; |
|
|
class CommandPool final : public ResourcePool { |
|
|
class CommandPool final : public ResourcePool { |
|
|
public: |
|
|
public: |
|
|
explicit CommandPool(MasterSemaphore& master_semaphore, const VKDevice& device); |
|
|
explicit CommandPool(MasterSemaphore& master_semaphore, const VKDevice& device); |
|
|
virtual ~CommandPool(); |
|
|
|
|
|
|
|
|
~CommandPool() override; |
|
|
|
|
|
|
|
|
void Allocate(size_t begin, size_t end) override; |
|
|
void Allocate(size_t begin, size_t end) override; |
|
|
|
|
|
|
|
|
VkCommandBuffer Commit(); |
|
|
VkCommandBuffer Commit(); |
|
|
|
|
|
|
|
|
private: |
|
|
private: |
|
|
struct Pool { |
|
|
|
|
|
vk::CommandPool handle; |
|
|
|
|
|
vk::CommandBuffers cmdbufs; |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
struct Pool; |
|
|
|
|
|
|
|
|
const VKDevice& device; |
|
|
const VKDevice& device; |
|
|
std::vector<Pool> pools; |
|
|
std::vector<Pool> pools; |
|
|
|