1#ifndef NNGN_GRAPHICS_VULKAN_CMD_POOL_H
2#define NNGN_GRAPHICS_VULKAN_CMD_POOL_H
25 VkDevice
dev, std::uint32_t queue_family,
26 VkCommandPoolCreateFlagBits flags = {});
39 std::vector<VkCommandBuffer>
m_buffers = {};
43 this->dev = std::exchange(rhs.dev, {});
44 this->h = std::exchange(rhs.h, {});
45 this->m_buffers = std::exchange(rhs.m_buffers, {});
Definition: cmd_pool.h:14
bool alloc(std::size_t n)
Allocates n command buffers, which are appended to buffers.
VkCommandPool h
Definition: cmd_pool.h:38
std::span< const VkCommandBuffer > buffers() const
Definition: cmd_pool.h:23
void free(std::size_t n, VkCommandBuffer *p)
VkDevice dev
Definition: cmd_pool.h:37
VkCommandPool id() const
Definition: cmd_pool.h:22
bool alloc(std::size_t n, VkCommandBuffer *p)
CommandPool(CommandPool &&rhs) noexcept
Definition: cmd_pool.h:20
CommandPool(const CommandPool &rhs)=delete
CommandPool & operator=(const CommandPool &rhs)=delete
CommandPool & operator=(CommandPool &&rhs) noexcept
bool realloc(std::size_t n)
Resets the pool and allocates n command buffers.
void free()
Deallocates and frees all commands allocated from the pool.
std::vector< VkCommandBuffer > m_buffers
Definition: cmd_pool.h:39
bool init(VkDevice dev, std::uint32_t queue_family, VkCommandPoolCreateFlagBits flags={})
n
Definition: dump_lights.lua:5
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER VkCommandPool
Definition: types.h:77
VkCommandBuffer
Definition: types.h:71