To wait for one or more fences to enter the signaled state on the host, call:
// Provided by VK_VERSION_1_0 VkResult vkWaitForFences( VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout);
deviceis the logical device that owns the fences.
fenceCountis the number of fences to wait on.
pFencesis a pointer to an array of
waitAllis the condition that must be satisfied to successfully unblock the wait. If
VK_TRUE, then the condition is that all fences in
pFencesare signaled. Otherwise, the condition is that at least one fence in
timeoutis the timeout period in units of nanoseconds.
timeoutis adjusted to the closest value allowed by the implementation-dependent timeout accuracy, which may be substantially longer than one nanosecond, and may be longer than the requested period.
If the condition is satisfied when
vkWaitForFences is called, then
vkWaitForFences returns immediately.
If the condition is not satisfied at the time
vkWaitForFences will block and wait until the condition
is satisfied or the
timeout has expired, whichever is sooner.
timeout is zero, then
vkWaitForFences does not wait, but
simply returns the current state of the fences.
VK_TIMEOUT will be returned in this case if the condition is not
satisfied, even though no actual wait was performed.
If the condition is satisfied before the
timeout has expired,
VK_TIMEOUT after the
timeout has expired.
If device loss occurs (see Lost Device) before
the timeout has expired,
vkWaitForFences must return in finite time
While we guarantee that
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.