VK_NV_low_latency2
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:
- Extending VkSurfaceCapabilities2KHR:
- Extending VkSwapchainCreateInfoKHR:
New Enums
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