Class VulkanQueue

Inheritance Relationships

Base Type

Class Documentation

class VulkanQueue : public portal::renderer::Queue

Vulkan command queue for submitting work and presenting images.

Wraps vk::raii::Queue with queue family information and presentation capability. Queues are retrieved from VulkanDevice during device creation.

Public Functions

VulkanQueue(const VulkanDevice &device, size_t family_index, const vk::QueueFamilyProperties &properties, size_t index, bool presentable)

Constructs Vulkan queue.

Parameters:
  • device – Vulkan device

  • family_indexQueue family index

  • propertiesQueue family properties

  • indexQueue index within family

  • presentable – Whether queue supports presentation

void submit(const vk::SubmitInfo2 &info, vk::Fence fence) const

Submits commands to queue.

Parameters:
  • info – Submit info (command buffers, semaphores, etc.)

  • fence – Fence to signal when submission completes

vk::Result present(const vk::PresentInfoKHR &info) const

Presents swapchain image.

Parameters:

info – Present info (swapchain, image index, semaphores)

Returns:

Result (success, suboptimal, out of date, etc.)

virtual size_t get_index() const override

Gets queue index within family.

size_t get_family_index() const

Gets queue family index.

bool is_presentable() const

Checks if queue supports presentation.

vk::QueueFamilyProperties get_properties() const

Gets queue family properties.

vk::Queue get_handle() const

Gets queue handle.