blob: 0c37461625749c4e36202fa33e78563f3ba9757a [file] [log] [blame]
// Copyright 2018-2021 The Khronos Group, Inc.
//
// SPDX-License-Identifier: CC-BY-4.0
[open,refpage='VkSwapchainCounterCreateInfoEXT',desc='Specify the surface counters desired',type='structs']
--
To enable surface counters when creating a swapchain, add a
sname:VkSwapchainCounterCreateInfoEXT structure to the pname:pNext chain of
slink:VkSwapchainCreateInfoKHR.
sname:VkSwapchainCounterCreateInfoEXT is defined as:
include::{generated}/api/structs/VkSwapchainCounterCreateInfoEXT.txt[]
* pname:sType is the type of this structure.
* pname:pNext is `NULL` or a pointer to a structure extending this
structure.
* pname:surfaceCounters is a bitmask of elink:VkSurfaceCounterFlagBitsEXT
specifying surface counters to enable for the swapchain.
.Valid Usage
****
* [[VUID-VkSwapchainCounterCreateInfoEXT-surfaceCounters-01244]]
The bits in pname:surfaceCounters must: be supported by
slink:VkSwapchainCreateInfoKHR::pname:surface, as reported by
flink:vkGetPhysicalDeviceSurfaceCapabilities2EXT
****
include::{generated}/validity/structs/VkSwapchainCounterCreateInfoEXT.txt[]
--
[open,refpage='vkGetSwapchainCounterEXT',desc='Query the current value of a surface counter',type='protos']
--
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:
include::{generated}/api/protos/vkGetSwapchainCounterEXT.txt[]
* pname:device is the slink:VkDevice associated with pname:swapchain.
* pname:swapchain is the swapchain from which to query the counter value.
* pname:counter is a elink:VkSurfaceCounterFlagBitsEXT value specifying
the counter to query.
* pname: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 ename:VK_ERROR_OUT_OF_DATE_KHR.
.Valid Usage
****
* [[VUID-vkGetSwapchainCounterEXT-swapchain-01245]]
One or more present commands on pname:swapchain must: have been
processed by the presentation engine
****
include::{generated}/validity/protos/vkGetSwapchainCounterEXT.txt[]
--