To wait for one or more fences to enter the signaled state on the host, call:
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 up to
nanoseconds for the condition to become satisfied.
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 specified timeout period expires before the condition is satisfied,
If the condition is satisfied before
timeout nanoseconds 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.
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.