15 #include <vsg/vk/Device.h> 
   23         explicit Semaphore(
Device* device, VkPipelineStageFlags pipelineStageFlags = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, 
void* pNextCreateInfo = 
nullptr);
 
   25         operator VkSemaphore()
 const { 
return _semaphore; }
 
   26         VkSemaphore vk()
 const { 
return _semaphore; }
 
   28         VkPipelineStageFlags& pipelineStageFlags() { 
return _pipelineStageFlags; }
 
   29         const VkPipelineStageFlags& pipelineStageFlags()
 const { 
return _pipelineStageFlags; }
 
   31         std::atomic_uint& numDependentSubmissions() { 
return _numDependentSubmissions; }
 
   33         const VkSemaphore* data()
 const { 
return &_semaphore; }
 
   35         Device* getDevice() { 
return _device; }
 
   36         const Device* getDevice()
 const { 
return _device; }
 
   41         VkSemaphore _semaphore;
 
   42         VkPipelineStageFlags _pipelineStageFlags = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
 
   43         std::atomic_uint _numDependentSubmissions{0};
 
   48     using Semaphores = std::vector<ref_ptr<Semaphore>>;
 
Device encapsulate vkDeivce, a logical handle to the PhysicalDevice with capabilities specified durin...
Definition: Device.h:37
Semaphore encapsulates VkSemaphore that is used to synchronize completion of vulkan commands with sta...
Definition: Semaphore.h:21