C Specification

To provide the synchronization primitive used to delay host CPU work for lower latency rendering, call:

// Provided by VK_NV_low_latency2
VkResult vkLatencySleepNV(
    VkDevice                                    device,
    VkSwapchainKHR                              swapchain,
    const VkLatencySleepInfoNV*                 pSleepInfo);

Parameters

  • device is the device associated with swapchain.

  • swapchain is the swapchain to delay associated CPU work based on VkLatencySubmissionPresentIdNV submissions.

  • pSleepInfo is a pointer to a VkLatencySleepInfoNV structure specifying the parameters of the latency sleep.

Description

vkLatencySleepNV returns immediately. Applications should use vkWaitSemaphores with pSleepInfo->signalSemaphore to delay host CPU work. CPU work refers to application work done before presenting which includes but is not limited to: input sampling, simulation, command buffer recording, command buffer submission, and present submission. It is recommended to call this function before input sampling. When using this function, it should be called exactly once between presents.

Valid Usage (Implicit)
  • VUID-vkLatencySleepNV-device-parameter
    device must be a valid VkDevice handle

  • VUID-vkLatencySleepNV-swapchain-parameter
    swapchain must be a valid VkSwapchainKHR handle

  • VUID-vkLatencySleepNV-pSleepInfo-parameter
    pSleepInfo must be a valid pointer to a valid VkLatencySleepInfoNV structure

  • VUID-vkLatencySleepNV-swapchain-parent
    swapchain must have been created, allocated, or retrieved from device

Return Codes
On success, this command returns
  • VK_SUCCESS

This command does not return any failure codes

See Also

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 2014-2024 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0