vkGetSwapchainTimingPropertiesEXT(3)

# vkGetSwapchainTimingPropertiesEXT(3) Manual Page

## Name

vkGetSwapchainTimingPropertiesEXT - Obtain the display timing properties of the PE's display

## C Specification

The implementation maintains an internal monotonically increasing counter which updates when the presentation engine’s timing properties are modified.

To query the presentation engine’s current timing properties for a given swapchain, call:

    // Provided by VK_EXT_present_timing
    VkResult vkGetSwapchainTimingPropertiesEXT(
        VkDevice                                    device,
        VkSwapchainKHR                              swapchain,
        VkSwapchainTimingPropertiesEXT*             pSwapchainTimingProperties,
        uint64_t*                                   pSwapchainTimingPropertiesCounter);

## Parameters

- `device` is the device associated with `swapchain`.

- `swapchain` is the swapchain to obtain timing properties for.

- `pSwapchainTimingProperties` is a pointer to an instance of the VkSwapchainTimingPropertiesEXT structure.

- `pSwapchainTimingPropertiesCounter` is `NULL` or a pointer to a 64-bit unsigned integer set by the implementation to the current value of the swapchain’s internal timing properties counter.

## Description

If `vkGetSwapchainTimingPropertiesEXT` returns VK_NOT_READY, the implementation was not able to determine the current refresh cycle duration. Some platforms may not provide timing properties until after at least one image has been presented to the `swapchain`. If timing properties change for the `swapchain`, these platforms may not provide updated results until after at least one additional image has been presented to the `swapchain`.

Valid Usage (Implicit)

- VUID-vkGetSwapchainTimingPropertiesEXT-device-parameter
  `device` must be a valid VkDevice handle

- VUID-vkGetSwapchainTimingPropertiesEXT-swapchain-parameter
  `swapchain` must be a valid VkSwapchainKHR handle

- VUID-vkGetSwapchainTimingPropertiesEXT-pSwapchainTimingProperties-parameter
  `pSwapchainTimingProperties` must be a valid pointer to a VkSwapchainTimingPropertiesEXT structure

- VUID-vkGetSwapchainTimingPropertiesEXT-pSwapchainTimingPropertiesCounter-parameter
  If `pSwapchainTimingPropertiesCounter` is not `NULL`, `pSwapchainTimingPropertiesCounter` must be a valid pointer to a `uint64_t` value

- VUID-vkGetSwapchainTimingPropertiesEXT-swapchain-parent
  `swapchain` must have been created, allocated, or retrieved from `device`

Host Synchronization

- Host access to `swapchain` must be externally synchronized

Return Codes

On success, this command returns

  - VK_NOT_READY

  - VK_SUCCESS

On failure, this command returns

  - VK_ERROR_OUT_OF_DEVICE_MEMORY

  - VK_ERROR_OUT_OF_HOST_MEMORY

  - VK_ERROR_SURFACE_LOST_KHR

  - VK_ERROR_UNKNOWN

  - VK_ERROR_VALIDATION_FAILED

## See Also

VK_EXT_present_timing, VkDevice, VkSwapchainKHR, VkSwapchainTimingPropertiesEXT

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

SPDX-License-Identifier: CC-BY-4.0