# VkPastPresentationTimingPropertiesEXT(3) Manual Page

## Name

VkPastPresentationTimingPropertiesEXT - Structure containing details about a swapchain past presentation activity

Loading… please wait.

## C Specification

The `VkPastPresentationTimingPropertiesEXT` structure is defined as:

    // Provided by VK_EXT_present_timing
    typedef struct VkPastPresentationTimingPropertiesEXT {
        VkStructureType                 sType;
        void*                           pNext;
        uint64_t                        timingPropertiesCounter;
        uint64_t                        timeDomainsCounter;
        uint32_t                        presentationTimingCount;
        VkPastPresentationTimingEXT*    pPresentationTimings;
    } VkPastPresentationTimingPropertiesEXT;

## Members

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

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

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

- `timeDomainsCounter` is a 64-bit unsigned integer set by the implementation to the current value of the swapchain’s internal time domains list counter.

- `presentationTimingCount` is an integer related to the number of VkPastPresentationTimingEXT structures available or queried, as described below.

- `pPresentationTimings` is `NULL` or a pointer to an array of VkPastPresentationTimingEXT structures.

## Description

When calling vkGetPastPresentationTimingEXT, if `pPresentationTimings` is `NULL`, then the number of available timing records for the given `swapchain` is returned in `presentationTimingCount`. Otherwise, `presentationTimingCount` must specify the number of elements in the `pPresentationTimings` array, and on return the variable is overwritten with the number of structures actually written to `pPresentationTimings`.

if `VK_PAST_PRESENTATION_TIMING_ALLOW_PARTIAL_RESULTS_BIT_EXT` is specified in VkPastPresentationTimingInfoEXT::`flags`, `vkGetPastPresentationTimingEXT` may return incomplete results, containing only information for a subset of the requested present stages. Further calls to `vkGetPastPresentationTimingEXT` will keep providing all available results for a previously incomplete entry until it is complete.

The implementation must return a VkPastPresentationTimingEXT for every vkQueuePresentKHR referencing `swapchain` where a non-zero VkPresentTimingInfoEXT::`presentStageQueries` was specified and at least one present stage has available results.

Valid Usage (Implicit)

- VUID-VkPastPresentationTimingPropertiesEXT-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_PROPERTIES_EXT`

- VUID-VkPastPresentationTimingPropertiesEXT-pNext-pNext
  `pNext` must be `NULL`

- VUID-VkPastPresentationTimingPropertiesEXT-pPresentationTimings-parameter
  `pPresentationTimings` must be a valid pointer to an array of `presentationTimingCount` VkPastPresentationTimingEXT structures

- VUID-VkPastPresentationTimingPropertiesEXT-presentationTimingCount-arraylength
  `presentationTimingCount` must be greater than `0`

## See Also

VK_EXT_present_timing, VkPastPresentationTimingEXT, VkStructureType, vkGetPastPresentationTimingEXT

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