ngscopeclient 0.1-dev+51fbda87c
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
QueueHandle Class Reference

Wrapper around a Vulkan Queue, protected by mutex for thread safety. More...

#include <QueueManager.h>

Public Member Functions

 QueueHandle (std::shared_ptr< vk::raii::Device > device, size_t family, size_t index, std::string name)
 
void AddName (std::string name)
 Append a name to the queue, used for debugging.
 
void Submit (vk::raii::CommandBuffer const &cmdBuf)
 Submit the given command buffer on the queue.
 
void SubmitAndBlock (vk::raii::CommandBuffer const &cmdBuf)
 Submit the given command buffer on the queue and wait until completion.
 
const std::string & GetName () const
 
 QueueHandle (QueueHandle const &)=delete
 
QueueHandleoperator= (QueueHandle const &)=delete
 

Public Attributes

const size_t m_family
 
const size_t m_index
 

Protected Member Functions

void _waitFence ()
 

Protected Attributes

friend QueueLock
 
std::recursive_mutex m_mutex
 
std::string m_name
 
std::shared_ptr< vk::raii::Device > m_device
 
std::unique_ptr< vk::raii::Queue > m_queue
 
std::unique_ptr< vk::raii::Fence > m_fence
 

Detailed Description

Wrapper around a Vulkan Queue, protected by mutex for thread safety.

Member Function Documentation

◆ _waitFence()

void QueueHandle::_waitFence ( )
protected

Waits for previous submit's fence, if any, then resets the fence for reuse. Must obtain the lock before calling!


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