File vk_graphics_queue.hpp
File List > atlas > drivers > vulkan-cpp > vk_graphics_queue.hpp
Go to the documentation of this file
#pragma once
#include <drivers/vulkan-cpp/vk_types.hpp>
#include <drivers/vulkan-cpp/vk_driver.hpp>
namespace atlas::vk {
class vk_graphics_queue {
public:
vk_graphics_queue() = default;
vk_graphics_queue(const vk_queue_options& p_queue_options);
void immediate_submit_sync(const VkCommandBuffer& p_command_buffer);
void immediate_submit_async(const VkCommandBuffer& p_command_buffer);
void wait_idle();
void destroy();
operator VkQueue() { return m_graphics_queue_handler; }
operator VkQueue() const { return m_graphics_queue_handler; }
private:
vk_physical_driver m_physical{};
vk_driver m_driver{};
VkQueue m_graphics_queue_handler = nullptr;
VkSemaphore m_render_completed_semaphore = nullptr;
VkSemaphore m_present_completed_semaphore = nullptr;
};
};