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};