# VkLatencyTimingsFrameReportNV(3) Manual Page

## Name

VkLatencyTimingsFrameReportNV - Structure containing latency data

Loading… please wait.

## C Specification

The VkLatencyTimingsFrameReportNV structure describes latency data returned by vkGetLatencyTimingsNV

    // Provided by VK_NV_low_latency2
    typedef struct VkLatencyTimingsFrameReportNV {
        VkStructureType    sType;
        const void*        pNext;
        uint64_t           presentID;
        uint64_t           inputSampleTimeUs;
        uint64_t           simStartTimeUs;
        uint64_t           simEndTimeUs;
        uint64_t           renderSubmitStartTimeUs;
        uint64_t           renderSubmitEndTimeUs;
        uint64_t           presentStartTimeUs;
        uint64_t           presentEndTimeUs;
        uint64_t           driverStartTimeUs;
        uint64_t           driverEndTimeUs;
        uint64_t           osRenderQueueStartTimeUs;
        uint64_t           osRenderQueueEndTimeUs;
        uint64_t           gpuRenderStartTimeUs;
        uint64_t           gpuRenderEndTimeUs;
    } VkLatencyTimingsFrameReportNV;

## Members

The members of the VkLatencyTimingsFrameReportNV structure describe the following:

## Description

- `presentID` is the application provided value that is used to associate the timestamp with a `vkQueuePresentKHR` command using VkPresentIdKHR::`pPresentIds` for a given present.

- `simStartTimeUs` is the timestamp written when `vkSetLatencyMarkerNV` is called with the `VkLatencyMarkerNV` enum `VK_LATENCY_MARKER_SIMULATION_START_NV`.

- `simEndTimeUs` is the timestamp written when `vkSetLatencyMarkerNV` is called with the `VkLatencyMarkerNV` enum `VK_LATENCY_MARKER_SIMULATION_END_NV`

- `renderStartTimeUs` is the timestamp written when `vkSetLatencyMarkerNV` is called with the `VkLatencyMarkerNV` enum `VK_LATENCY_MARKER_RENDERSUBMIT_START_NV`.

- `renderEndTimeUs` is the timestamp written when `vkSetLatencyMarkerNV` is called with the `VkLatencyMarkerNV` enum `VK_LATENCY_MARKER_RENDERSUBMIT_END_NV`.

- `presentStartTimeUs` is the timestamp written when `vkSetLatencyMarkerNV` is called with the `VkLatencyMarkerNV` enum `VK_LATENCY_MARKER_PRESENT_START_NV`.

- `presentEndTimeUs` is the timestamp written when `vkSetLatencyMarkerNV` is called with the `VkLatencyMarkerNV` enum `VK_LATENCY_MARKER_PRESENT_END_NV`.

- `driverStartTimeUs` is the timestamp written when the first `vkQueueSubmit` for the frame is called.

- `driverEndTimeUs` is the timestamp written when the final `vkQueueSubmit` hands off from the Vulkan Driver.

- `osRenderQueueStartTimeUs` is the timestamp written when the final `vkQueueSubmit` hands off from the Vulkan Driver.

- `osRenderQueueEndTimeUs` is the timestamp written when the first submission reaches the GPU.

- `gpuRenderStartTimeUs` is the timestamp written when the first submission reaches the GPU.

- `gpuRenderEndTimeUs` is the timestamp written when the final submission finishes on the GPU for the frame.

Valid Usage (Implicit)

- VUID-VkLatencyTimingsFrameReportNV-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV`

## See Also

VK_NV_low_latency2, VkGetLatencyMarkerInfoNV, VkStructureType

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

SPDX-License-Identifier: CC-BY-4.0