C Specification

The requested counters become active when the first presentation command for the associated swapchain is processed by the presentation engine. To query the value of an active counter, use:

// Provided by VK_EXT_display_control
VkResult vkGetSwapchainCounterEXT(
    VkDevice                                    device,
    VkSwapchainKHR                              swapchain,
    VkSurfaceCounterFlagBitsEXT                 counter,
    uint64_t*                                   pCounterValue);


  • device is the VkDevice associated with swapchain.

  • swapchain is the swapchain from which to query the counter value.

  • counter is the counter to query.

  • pCounterValue will return the current value of the counter.


If a counter is not available because the swapchain is out of date, the implementation may return VK_ERROR_OUT_OF_DATE_KHR.

Valid Usage
  • One or more present commands on swapchain must have been processed by the presentation engine

Valid Usage (Implicit)
  • device must be a valid VkDevice handle

  • swapchain must be a valid VkSwapchainKHR handle

  • counter must be a valid VkSurfaceCounterFlagBitsEXT value

  • pCounterValue must be a valid pointer to a uint64_t value

  • Both of device, and swapchain must have been created, allocated, or retrieved from the same VkInstance

Return Codes
On success, this command returns

On failure, this command returns



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 (c) 2014-2020 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0