|
ngscopeclient v0.2
|
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 | |
| QueueWrapper & | operator= (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. | |
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
|
inline |
Get the name of this queue.
(locks a mutex so can't be const even though it doesn't change anything)