// Copyright 2019-2024 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}VK_NV_low_latency2.adoc[]

=== 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

include::{generated}/interfaces/VK_NV_low_latency2.adoc[]

=== 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
flink:vkSetLatencySleepModeNV to allow the driver to pace a given swapchain,
then calling flink: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.
`apiext:VK_NV_low_latency` provides legacy support for applications that
make use of the NVIDIA Reflex SDK whereas new implementations should use the
`apiext: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
