VK_NV_low_latency2(3)

# VK_NV_low_latency2(3) Manual Page

## Name

VK_NV_low_latency2 - device extension

Loading… please wait.

## Registered Extension Number

506

## Revision

2

## Ratification Status

Not ratified

## Extension and Version Dependencies

Version 1.2
or
VK_KHR_timeline_semaphore

## Contact

- Charles Hansen cshansen

## Other Extension Metadata

Last Modified Date

  2023-09-25

Contributors

  - Charles Hansen, NVIDIA

  - Liam Middlebrook, NVIDIA

  - Lionel Duc, NVIDIA

  - James Jones, NVIDIA

  - Eric Sullivan, NVIDIA

## New Commands

- vkGetLatencyTimingsNV

- vkLatencySleepNV

- vkQueueNotifyOutOfBandNV

- vkSetLatencyMarkerNV

- vkSetLatencySleepModeNV

## New Structures

- VkGetLatencyMarkerInfoNV

- VkLatencySleepInfoNV

- VkLatencySleepModeInfoNV

- VkLatencyTimingsFrameReportNV

- VkOutOfBandQueueTypeInfoNV

- VkSetLatencyMarkerInfoNV

- Extending VkSubmitInfo, VkSubmitInfo2:

  - VkLatencySubmissionPresentIdNV

- Extending VkSurfaceCapabilities2KHR:

  - VkLatencySurfaceCapabilitiesNV

- Extending VkSwapchainCreateInfoKHR:

  - VkSwapchainLatencyCreateInfoNV

## New Enums

- VkLatencyMarkerNV

- VkOutOfBandQueueTypeNV

## New Enum Constants

- `VK_NV_LOW_LATENCY_2_EXTENSION_NAME`

- `VK_NV_LOW_LATENCY_2_SPEC_VERSION`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV`

  - `VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV`

  - `VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV`

  - `VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV`

  - `VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV`

  - `VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV`

  - `VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV`

  - `VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV`

  - `VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV`

## Description

This extension gives applications timing suggestions on when to start the recording of new frames to reduce the latency between input sampling and frame presentation. Applications can accomplish this through the extension by calling vkSetLatencySleepModeNV to allow the driver to pace a given swapchain, then calling vkLatencySleepNV before input sampling to delay the start of the CPU side work. Additional methods and structures are provided to give insight into the latency pipeline of an application through the latency markers. `VK_NV_low_latency` provides legacy support for applications that make use of the NVIDIA Reflex SDK whereas new implementations should use the `VK_NV_low_latency2` extension.

## Issues

1) How does Low Latency 2 work with applications that utilize device groups?

Low Latency 2 does not support device groups.

## Version History

- Revision 2, 2023-11-15 (Charles Hansen)

  - Update vkGetLatencyTimingsNV. This is a breaking API change which brings behavior in line with other array querying commands. More background can be found in https://github.com/KhronosGroup/Vulkan-Docs/issues/2269

- Revision 1, 2023-09-25 (Charles Hansen)

  - Internal revisions

## See Also

VkGetLatencyMarkerInfoNV, VkLatencyMarkerNV, VkLatencySleepInfoNV, VkLatencySleepModeInfoNV, VkLatencySubmissionPresentIdNV, VkLatencySurfaceCapabilitiesNV, VkLatencyTimingsFrameReportNV, VkOutOfBandQueueTypeInfoNV, VkOutOfBandQueueTypeNV, VkSetLatencyMarkerInfoNV, VkSwapchainLatencyCreateInfoNV, vkGetLatencyTimingsNV, vkLatencySleepNV, vkQueueNotifyOutOfBandNV, vkSetLatencyMarkerNV, vkSetLatencySleepModeNV

## Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2023 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0