ngscopeclient v0.2
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
QueueWrapper Class Reference

Mutexed wrapper around a Vulkan queue. More...

#include <QueueWrapper.h>

Public Member Functions

 QueueWrapper (std::shared_ptr< vk::raii::Device > device, size_t family, size_t index)
 
void AddName (std::string name)
 Append a name to the queue, used for debugging.
 
void RemoveName (std::string name)
 Remove a name to the queue, used for debugging.
 
const std::string GetName ()
 Get the name of this queue.
 
std::recursive_mutex & GetMutex ()
 Get the mutex for the queue.
 
std::unique_ptr< vk::raii::Queue > & GetQueue ()
 
std::shared_ptr< vk::raii::Device > & GetDevice ()
 
 QueueWrapper (QueueWrapper const &)=delete
 
QueueWrapperoperator= (QueueWrapper const &)=delete
 

Public Attributes

const size_t m_family
 Family of the queue.
 
const size_t m_index
 Index of this queue within the queue family.
 

Protected Member Functions

void UpdateName ()
 Update the debug name after an entry has been added or removed.
 

Protected Attributes

friend QueueLock
 
std::recursive_mutex m_mutex
 The mutex controlling access to the queue.
 
std::string m_name
 Debug name of the queue.
 
std::set< std::string > m_names
 Set of names.
 
std::shared_ptr< vk::raii::Device > m_device
 The Vulkan device this queue submits to.
 
std::unique_ptr< vk::raii::Queue > m_queue
 The underlying Vulkan handle.
 

Detailed Description

Mutexed wrapper around a Vulkan queue.

There must be one and only one QueueWrapper for a given physical VkQueue but many QueueHandle's can point to it

Member Function Documentation

◆ GetName()

const std::string QueueWrapper::GetName ( )
inline

Get the name of this queue.

(locks a mutex so can't be const even though it doesn't change anything)


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