23 lines
578 B
C++
23 lines
578 B
C++
#pragma once
|
|
#include "commandbuffer.h"
|
|
namespace vkn {
|
|
class Device;
|
|
class Queue;
|
|
class CommandPool {
|
|
protected:
|
|
VkCommandPool mPtr;
|
|
Device& mDevice;
|
|
pmr::vector<CommandBuffer> mPool;
|
|
public:
|
|
CommandPool(Device& device, VkCommandPoolCreateFlags queueFlags, uint32_t queueIndex);
|
|
~CommandPool();
|
|
VkCommandBuffer AllocateBuffer(VkCommandBufferLevel level);
|
|
void FreeBuffer(VkCommandBuffer& buf);
|
|
VkCommandPool& Ptr() {
|
|
return mPtr;
|
|
};
|
|
CommandBuffer Pop();
|
|
void PopList(vector<VkCommandBuffer>& list, int size);
|
|
void Push(CommandBuffer& cmd);
|
|
};
|
|
} |