Lugdunum  0.1.0
Public Member Functions | Private Attributes | List of all members
lug::Graphics::Vulkan::API::Queue Class Reference

#include <Queue.hpp>

Collaboration diagram for lug::Graphics::Vulkan::API::Queue:
[legend]

Public Member Functions

 Queue (VkQueue queue=VK_NULL_HANDLE, const QueueFamily *queueFamily=nullptr)
 
 Queue (const Queue &)=delete
 
 Queue (Queue &&queue)
 
Queueoperator= (const Queue &)=delete
 
Queueoperator= (Queue &&queue)
 
 ~Queue ()=default
 
 operator VkQueue () const
 
bool submit (const CommandBuffer &commandBuffer, const std::vector< VkSemaphore > &signalSemaphores={}, const std::vector< VkSemaphore > &waitSemaphores={}, const std::vector< VkPipelineStageFlags > &waitDstStageMasks={}, VkFence fence=VK_NULL_HANDLE) const
 
bool waitIdle () const
 
const QueueFamilygetQueueFamily () const
 

Private Attributes

VkQueue _queue {VK_NULL_HANDLE}
 
const QueueFamily_queueFamily {nullptr}
 
std::mutex _mutex
 

Detailed Description

Definition at line 16 of file Queue.hpp.

Constructor & Destructor Documentation

◆ Queue() [1/3]

lug::Graphics::Vulkan::API::Queue::Queue ( VkQueue  queue = VK_NULL_HANDLE,
const QueueFamily queueFamily = nullptr 
)
explicit

Definition at line 12 of file Queue.cpp.

◆ Queue() [2/3]

lug::Graphics::Vulkan::API::Queue::Queue ( const Queue )
delete

◆ Queue() [3/3]

lug::Graphics::Vulkan::API::Queue::Queue ( Queue &&  queue)

Definition at line 14 of file Queue.cpp.

◆ ~Queue()

lug::Graphics::Vulkan::API::Queue::~Queue ( )
default

Member Function Documentation

◆ operator=() [1/2]

Queue& lug::Graphics::Vulkan::API::Queue::operator= ( const Queue )
delete

◆ operator=() [2/2]

Queue & lug::Graphics::Vulkan::API::Queue::operator= ( Queue &&  queue)

Definition at line 22 of file Queue.cpp.

◆ operator VkQueue()

lug::Graphics::Vulkan::API::Queue::operator VkQueue ( ) const
inlineexplicit

Definition at line 28 of file Queue.hpp.

◆ submit()

bool lug::Graphics::Vulkan::API::Queue::submit ( const CommandBuffer commandBuffer,
const std::vector< VkSemaphore > &  signalSemaphores = {},
const std::vector< VkSemaphore > &  waitSemaphores = {},
const std::vector< VkPipelineStageFlags > &  waitDstStageMasks = {},
VkFence  fence = VK_NULL_HANDLE 
) const

Definition at line 32 of file Queue.cpp.

◆ waitIdle()

bool lug::Graphics::Vulkan::API::Queue::waitIdle ( ) const

Definition at line 70 of file Queue.cpp.

◆ getQueueFamily()

const QueueFamily * lug::Graphics::Vulkan::API::Queue::getQueueFamily ( ) const

Definition at line 86 of file Queue.cpp.

Member Data Documentation

◆ _queue

VkQueue lug::Graphics::Vulkan::API::Queue::_queue {VK_NULL_HANDLE}
private

Definition at line 44 of file Queue.hpp.

◆ _queueFamily

const QueueFamily* lug::Graphics::Vulkan::API::Queue::_queueFamily {nullptr}
private

Definition at line 46 of file Queue.hpp.

◆ _mutex

std::mutex lug::Graphics::Vulkan::API::Queue::_mutex
mutableprivate

Definition at line 47 of file Queue.hpp.


The documentation for this class was generated from the following files: