File vk_command_buffer.hpp
File List > atlas > drivers > vulkan-cpp > vk_command_buffer.hpp
Go to the documentation of this file
#pragma once
#include <cstdint>
#include <vulkan/vulkan.h>
#include <drivers/vulkan-cpp/vk_types.hpp>
namespace atlas::vk {
class vk_command_buffer {
public:
vk_command_buffer() = default;
vk_command_buffer(const command_buffer_settings& p_settings);
void begin(const VkCommandBufferUsageFlags& p_usage_flags);
void end();
[[nodiscard]] bool is_valid() const {
return (m_command_buffer_handler != nullptr);
}
void destroy();
operator VkCommandBuffer() const {
if (m_begin_end_count != 2) {
}
return m_command_buffer_handler;
}
operator VkCommandBuffer() { return m_command_buffer_handler; }
private:
VkDevice m_driver = nullptr;
VkCommandBuffer m_command_buffer_handler = nullptr;
VkCommandPool m_command_pool = nullptr;
uint32_t m_begin_end_count = 0;
};
};