# VkSwapchainTimeDomainPropertiesEXT(3) Manual Page

## Name

VkSwapchainTimeDomainPropertiesEXT - List of available time domains for a swapchain

Loading… please wait.

## C Specification

The `VkSwapchainTimeDomainPropertiesEXT` structure is defined as:

    // Provided by VK_EXT_present_timing
    typedef struct VkSwapchainTimeDomainPropertiesEXT {
        VkStructureType     sType;
        void*               pNext;
        uint32_t            timeDomainCount;
        VkTimeDomainKHR*    pTimeDomains;
        uint64_t*           pTimeDomainIds;
    } VkSwapchainTimeDomainPropertiesEXT;

## Members

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `timeDomainCount` is an integer related to the number of time domains available or queried, as described below.

- `pTimeDomains` is a pointer to an array of VkTimeDomainKHR values representing time domains that are available for the swapchain.

- `pTimeDomainIds` is a pointer to an array of unique identifiers for each time domain.

## Description

When calling vkGetSwapchainTimeDomainPropertiesEXT, if `pTimeDomains` is `NULL` and `pTimeDomainIds` is `NULL`, then the number of time domains supported for the given `swapchain` is returned in `timeDomainCount`. Otherwise, `timeDomainCount` must specify the number of elements in the `pTimeDomains`, `pTimeDomainIds`, or both arrays, and on return the variable is overwritten with the number of values actually written to either array.

Note | Due to the dynamic nature of their underlying `VkSurfaceKHR` properties, swapchains may need to expose multiple swapchain-local opaque time domains using the same VkTimeDomainKHR value over time, for example when a surface is moved from one display hardware to another. Arbitrary identifiers, provided in `timeDomainIds`, are used by the implementation to differentiate opaque time domains of identical scopes.

Valid Usage (Implicit)

- VUID-VkSwapchainTimeDomainPropertiesEXT-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_SWAPCHAIN_TIME_DOMAIN_PROPERTIES_EXT`

- VUID-VkSwapchainTimeDomainPropertiesEXT-pNext-pNext
  `pNext` must be `NULL`

- VUID-VkSwapchainTimeDomainPropertiesEXT-pTimeDomains-parameter
  If `pTimeDomains` is not `NULL`, `pTimeDomains` must be a valid pointer to an array of `timeDomainCount` VkTimeDomainKHR values

- VUID-VkSwapchainTimeDomainPropertiesEXT-pTimeDomainIds-parameter
  If `pTimeDomainIds` is not `NULL`, `pTimeDomainIds` must be a valid pointer to an array of `timeDomainCount` `uint64_t` values

- VUID-VkSwapchainTimeDomainPropertiesEXT-timeDomainCount-arraylength
  `timeDomainCount` must be greater than `0`

## See Also

VK_EXT_present_timing, VkStructureType, VkTimeDomainKHR, vkGetSwapchainTimeDomainPropertiesEXT

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

SPDX-License-Identifier: CC-BY-4.0