C Specification

The implementation maintains an internal monotonically increasing counter which updates when the presentation engine’s list of supported time domains for a swapchain is modified.

To query the time domains supported by the presentation engine for a given swapchain, call:

// Provided by VK_EXT_present_timing
VkResult vkGetSwapchainTimeDomainPropertiesEXT(
    VkDevice                                    device,
    VkSwapchainKHR                              swapchain,
    VkSwapchainTimeDomainPropertiesEXT*         pSwapchainTimeDomainProperties,
    uint64_t*                                   pTimeDomainsCounter);

Parameters

  • device is the device associated with swapchain.

  • swapchain is the swapchain to obtain time domain properties for.

  • pSwapchainTimeDomainProperties is a pointer to an instance of the VkSwapchainTimeDomainPropertiesEXT structure.

  • pTimeDomainsCounter is NULL or a pointer to a 64-bit unsigned integer set by the implementation to the current value of the swapchain’s internal time domain properties counter.

Description

If upon return VkSwapchainTimeDomainPropertiesEXT::timeDomainCount is smaller than the number of time domains supported for the given swapchain, VK_INCOMPLETE will be returned instead of VK_SUCCESS to indicate that not all the available values were returned.

Valid Usage (Implicit)
  • VUID-vkGetSwapchainTimeDomainPropertiesEXT-device-parameter
    device must be a valid VkDevice handle

  • VUID-vkGetSwapchainTimeDomainPropertiesEXT-swapchain-parameter
    swapchain must be a valid VkSwapchainKHR handle

  • VUID-vkGetSwapchainTimeDomainPropertiesEXT-pSwapchainTimeDomainProperties-parameter
    pSwapchainTimeDomainProperties must be a valid pointer to a VkSwapchainTimeDomainPropertiesEXT structure

  • VUID-vkGetSwapchainTimeDomainPropertiesEXT-pTimeDomainsCounter-parameter
    If pTimeDomainsCounter is not NULL, pTimeDomainsCounter must be a valid pointer to a uint64_t value

  • VUID-vkGetSwapchainTimeDomainPropertiesEXT-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_INCOMPLETE

  • 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

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

SPDX-License-Identifier: CC-BY-4.0