zengine/engine/modules/render/vulkan/include/vkn/wrapper/commandpool.h

23 lines
578 B
C
Raw Normal View History

2024-08-23 22:13:05 +08:00
#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();
2024-12-12 22:20:56 +08:00
void PopList(vector<VkCommandBuffer>& list, int size);
2024-08-23 22:13:05 +08:00
void Push(CommandBuffer& cmd);
};
}