15 #include <vsg/vk/CommandBuffer.h>
16 #include <vsg/vk/Semaphore.h>
25 explicit Fence(
Device* device, VkFenceCreateFlags flags = 0);
27 operator VkFence()
const {
return _vkFence; }
28 VkFence vk()
const {
return _vkFence; }
30 VkResult wait(uint64_t timeout)
const;
32 VkResult reset()
const;
34 VkResult status()
const {
return vkGetFenceStatus(*_device, _vkFence); }
36 bool hasDependencies()
const {
return (_dependentSemaphores.size() + _dependentCommandBuffers.size()) > 0; }
38 void resetFenceAndDependencies();
40 Semaphores& dependentSemaphores() {
return _dependentSemaphores; }
41 CommandBuffers& dependentCommandBuffers() {
return _dependentCommandBuffers; }
43 Device* getDevice() {
return _device; }
44 const Device* getDevice()
const {
return _device; }
50 Semaphores _dependentSemaphores;
51 CommandBuffers _dependentCommandBuffers;
Device encapsulates VkDevice, a logical handle to the PhysicalDevice with capabilities specified duri...
Definition: Device.h:37