C Specification
To wait for a set of semaphores created with a VkSemaphoreType of
VK_SEMAPHORE_TYPE_TIMELINE to reach particular counter values on the
host, call:
VkResult vkWaitSemaphores(
VkDevice device,
const VkSemaphoreWaitInfo* pWaitInfo,
uint64_t timeout);
or the equivalent command
VkResult vkWaitSemaphoresKHR(
VkDevice device,
const VkSemaphoreWaitInfo* pWaitInfo,
uint64_t timeout);
Parameters
-
deviceis the logical device that owns the semaphore. -
pWaitInfois a pointer to a VkSemaphoreWaitInfo structure containing information about the wait condition. -
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.
Description
If the condition is satisfied when vkWaitSemaphores is called, then
vkWaitSemaphores returns immediately.
If the condition is not satisfied at the time vkWaitSemaphores is
called, then vkWaitSemaphores will block and wait up to timeout
nanoseconds for the condition to become satisfied.
If timeout is zero, then vkWaitSemaphores does not wait, but
simply returns information about the current state of the semaphore.
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,
vkWaitSemaphores returns VK_TIMEOUT.
If the condition is satisfied before timeout nanoseconds has expired,
vkWaitSemaphores returns VK_SUCCESS.
If device loss occurs (see Lost Device) before
the timeout has expired, vkWaitSemaphores must return in finite time
with either VK_SUCCESS or VK_ERROR_DEVICE_LOST.
Document Notes
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
Copyright (c) 2014-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.