25 explicit CommandBuffer(
const RenderDevice& render_device,
bool begin =
true, VkQueueFlagBits queueType = VK_QUEUE_GRAPHICS_BIT,
26 VkCommandBufferLevel bufferLevel = VK_COMMAND_BUFFER_LEVEL_PRIMARY);
34 void Reset(VkCommandBufferResetFlags flags = 0);
40 void Begin(VkCommandBufferUsageFlags usage = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT);
58 void Submit(
const VkSemaphore& waitSemaphore = VK_NULL_HANDLE,
const VkSemaphore& signalSemaphore = VK_NULL_HANDLE,
59 VkFence fence = VK_NULL_HANDLE);
61 operator const VkCommandBuffer&()
const
63 return command_buffer_;
66 const VkCommandBuffer& GetCommandBuffer()
const
68 return command_buffer_;
70 bool IsRunning()
const
76 VkQueue GetQueue()
const;
79 std::shared_ptr<CommandPool> command_pool_;
82 VkQueueFlagBits queue_type_;
83 VkCommandBuffer command_buffer_ = VK_NULL_HANDLE;
84 bool running_ =
false;
Class that represents a command buffer.
Definition command_buffer.h:17
void Reset(VkCommandBufferResetFlags flags=0)
Definition command_buffer.cc:35
void End()
Definition command_buffer.cc:59
void Begin(VkCommandBufferUsageFlags usage=VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT)
Definition command_buffer.cc:45
CommandBuffer(const RenderDevice &render_device, bool begin=true, VkQueueFlagBits queueType=VK_QUEUE_GRAPHICS_BIT, VkCommandBufferLevel bufferLevel=VK_COMMAND_BUFFER_LEVEL_PRIMARY)
Definition command_buffer.cc:11
void SubmitIdle()
Definition command_buffer.cc:70
void Submit(const VkSemaphore &waitSemaphore=VK_NULL_HANDLE, const VkSemaphore &signalSemaphore=VK_NULL_HANDLE, VkFence fence=VK_NULL_HANDLE)
Definition command_buffer.cc:99
Definition logical_device.h:13
Definition render_device.h:15