56 const std::lock_guard<std::recursive_mutex>
lock(
m_mutex);
64 const std::lock_guard<std::recursive_mutex>
lock(
m_mutex);
78 std::lock_guard<std::recursive_mutex>
lock(
m_mutex);
88 std::unique_ptr<vk::raii::Queue>& GetQueue()
91 std::shared_ptr<vk::raii::Device>& GetDevice()
Definition AcceleratorBuffer.h:204
Obtains exclusive access to a Vulkan Queue for the duration of its existence, similar to a std::lock_...
Definition QueueManager.h:58
Mutexed wrapper around a Vulkan queue.
Definition QueueWrapper.h:48
const std::string GetName()
Get the name of this queue.
Definition QueueWrapper.h:74
std::recursive_mutex & GetMutex()
Get the mutex for the queue.
Definition QueueWrapper.h:85
std::shared_ptr< vk::raii::Device > m_device
The Vulkan device this queue submits to.
Definition QueueWrapper.h:123
std::string m_name
Debug name of the queue.
Definition QueueWrapper.h:117
void AddName(std::string name)
Append a name to the queue, used for debugging.
Definition QueueWrapper.h:54
void UpdateName()
Update the debug name after an entry has been added or removed.
Definition QueueWrapper.cpp:62
const size_t m_index
Index of this queue within the queue family.
Definition QueueWrapper.h:105
const size_t m_family
Family of the queue.
Definition QueueWrapper.h:102
void RemoveName(std::string name)
Remove a name to the queue, used for debugging.
Definition QueueWrapper.h:62
std::set< std::string > m_names
Set of names.
Definition QueueWrapper.h:120
std::unique_ptr< vk::raii::Queue > m_queue
The underlying Vulkan handle.
Definition QueueWrapper.h:126
std::recursive_mutex m_mutex
The mutex controlling access to the queue.
Definition QueueWrapper.h:114