vkGetPhysicalDeviceCalibrateableTimeDomainsKHR(3)

# vkGetPhysicalDeviceCalibrateableTimeDomainsKHR(3) Manual Page

## Name

vkGetPhysicalDeviceCalibrateableTimeDomainsKHR - Query calibrateable time domains

## C Specification

To query the set of time domains for which a physical device supports timestamp calibration, call:

    // Provided by VK_KHR_calibrated_timestamps
    VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsKHR(
        VkPhysicalDevice                            physicalDevice,
        uint32_t*                                   pTimeDomainCount,
        VkTimeDomainKHR*                            pTimeDomains);

    // Provided by VK_EXT_calibrated_timestamps
    // Equivalent to vkGetPhysicalDeviceCalibrateableTimeDomainsKHR
    VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
        VkPhysicalDevice                            physicalDevice,
        uint32_t*                                   pTimeDomainCount,
        VkTimeDomainKHR*                            pTimeDomains);

## Parameters

- `physicalDevice` is the physical device from which to query the set of calibrateable time domains.

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

- `pTimeDomains` is either `NULL` or a pointer to an array of VkTimeDomainKHR values, indicating the supported calibrateable time domains.

## Description

If `pTimeDomains` is `NULL`, then the number of calibrateable time domains supported for the given `physicalDevice` is returned in `pTimeDomainCount`. Otherwise, `pTimeDomainCount` must point to a variable set by the application to the number of elements in the `pTimeDomains` array, and on return the variable is overwritten with the number of values actually written to `pTimeDomains`. If the value of `pTimeDomainCount` is less than the number of calibrateable time domains supported, at most `pTimeDomainCount` values will be written to `pTimeDomains`, and VK_INCOMPLETE will be returned instead of VK_SUCCESS, to indicate that not all the available time domains were returned.

Valid Usage (Implicit)

- VUID-vkGetPhysicalDeviceCalibrateableTimeDomainsKHR-physicalDevice-parameter
  `physicalDevice` must be a valid VkPhysicalDevice handle

- VUID-vkGetPhysicalDeviceCalibrateableTimeDomainsKHR-pTimeDomainCount-parameter
  `pTimeDomainCount` must be a valid pointer to a `uint32_t` value

- VUID-vkGetPhysicalDeviceCalibrateableTimeDomainsKHR-pTimeDomains-parameter
  If the value referenced by `pTimeDomainCount` is not `0`, and `pTimeDomains` is not `NULL`, `pTimeDomains` must be a valid pointer to an array of `pTimeDomainCount` VkTimeDomainKHR values

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_UNKNOWN

  - VK_ERROR_VALIDATION_FAILED

## See Also

VK_EXT_calibrated_timestamps, VK_KHR_calibrated_timestamps, VkPhysicalDevice, VkTimeDomainKHR

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