| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_KHR_present_id2
Description
Name
VK_KHR_present_id2 - device extension
VK_KHR_present_id2
- Name String
VK_KHR_present_id2
- Extension Type
- Device extension
- Registered Extension Number
- 480
- Revision
- 1
- Ratification Status
- Ratified
- Extension and Version Dependencies
- VK_KHR_get_surface_capabilities2 and VK_KHR_surface and VK_KHR_swapchain
- Contact
- Daniel Stone
- Extension Proposal
- VK_KHR_present_id2
Other Extension Metadata
- Last Modified Date
- 2025-01-06
- IP Status
- No known IP claims.
- Contributors
- Hans-Kristian Arntzen, Valve
- James Jones, NVIDIA
- Daniel Stone, Collabora
- Derek Foreman, Collabora
- /contributors to `VK_KHR_present_id`/
Description
This device extension allows an application that uses the
VK_KHR_swapchain extension to provide an identifier for present
operations on a swapchain. An application can use this to reference
specific present operations in other extensions.
New Structures
Extending
PresentInfoKHR:Extending
SurfaceCapabilities2KHR:
New Enum Constants
KHR_PRESENT_ID_2_SPEC_VERSIONExtending
StructureType:Extending
SwapchainCreateFlagBitsKHR:
Issues
None.
Version History
Revision 1, 2022-05-10 (Daniel Stone)
- Repurposed VK_KHR_present_id to be driven by surface capabilities
See Also
No cross-references are available
Document Notes
For more information, see the Vulkan Specification.
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Synopsis
- data PhysicalDevicePresentId2FeaturesKHR = PhysicalDevicePresentId2FeaturesKHR {
- presentId2 :: Bool
- data PresentId2KHR = PresentId2KHR {}
- data SurfaceCapabilitiesPresentId2KHR = SurfaceCapabilitiesPresentId2KHR {}
- type KHR_PRESENT_ID_2_SPEC_VERSION = 1
- pattern KHR_PRESENT_ID_2_SPEC_VERSION :: Integral a => a
- type KHR_PRESENT_ID_2_EXTENSION_NAME = "VK_KHR_present_id2"
- pattern KHR_PRESENT_ID_2_EXTENSION_NAME :: (Eq a, IsString a) => a
- newtype SwapchainCreateFlagBitsKHR where
- SwapchainCreateFlagBitsKHR Flags
- pattern SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR :: SwapchainCreateFlagBitsKHR
- pattern SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR :: SwapchainCreateFlagBitsKHR
- pattern SWAPCHAIN_CREATE_PRESENT_ID_2_BIT_KHR :: SwapchainCreateFlagBitsKHR
- pattern SWAPCHAIN_CREATE_PRESENT_TIMING_BIT_EXT :: SwapchainCreateFlagBitsKHR
- pattern SWAPCHAIN_CREATE_PRESENT_WAIT_2_BIT_KHR :: SwapchainCreateFlagBitsKHR
- pattern SWAPCHAIN_CREATE_PROTECTED_BIT_KHR :: SwapchainCreateFlagBitsKHR
- pattern SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR :: SwapchainCreateFlagBitsKHR
- type SwapchainCreateFlagsKHR = SwapchainCreateFlagBitsKHR
Documentation
data PhysicalDevicePresentId2FeaturesKHR Source #
VkPhysicalDevicePresentId2FeaturesKHR - Structure indicating support for present id 2
Members
This structure describes the following feature:
Description
If the PhysicalDevicePresentId2FeaturesKHR structure is included in
the pNext chain of the
PhysicalDeviceFeatures2
structure passed to
getPhysicalDeviceFeatures2,
it is filled in to indicate whether each corresponding feature is
supported. If the application wishes to use a
Device with any features described by
PhysicalDevicePresentId2FeaturesKHR, it must add an instance of the
structure, with the desired feature members set to
TRUE, to the pNext chain of
DeviceCreateInfo when creating the
Device.
Valid Usage (Implicit)
See Also
Constructors
| PhysicalDevicePresentId2FeaturesKHR | |
Fields
| |
Instances
data PresentId2KHR Source #
VkPresentId2KHR - The list of presentation identifiers
Description
For applications to be able to reference specific presentation events
queued by a call to
queuePresentKHR, an identifier
needs to be associated with them.
When the SurfaceCapabilitiesPresentId2KHR surface capability is
present for a surface, applications can include the PresentId2KHR
structure in the pNext chain of the
PresentInfoKHR structure to
associate an identifier with each presentation request. The
pPresentIds provides an identifier for the swapchain present at the
corresponding index in
PresentInfoKHR’s pSwapchains
array.
If this presentId is non-zero, then the application can later use this value to refer to that image presentation. A value of zero indicates that this presentation has no associated presentId. A non-zero presentId must be greater than any non-zero presentId passed previously by the application for the same swapchain.
If a non-zero presentId was provided, this may be used with
waitForPresent2KHR for the
application to synchronize against the presentation engine’s processing
of the presentation request.
The ID namespace used by this extension must be shared with other extensions that allow the application to provide a 64-bit monotonically increasing presentation ID, such as the original VK_KHR_present_id.
This is to allow existing extensions that depend on VK_KHR_present_id to use VK_KHR_present_id2 provided IDs without change, as well as to simplify writing future extensions that require application provided presentation IDs.
Valid Usage
-
swapchainCountmust be the same value asPresentInfoKHR::swapchainCount, where thisPresentId2KHRis in thepNextchain of thePresentInfoKHRstructure
- Each non-zero entry in
presentIdsmust be greater than all previously submitted present ids for the associated swapchain inPresentInfoKHR::pSwapchains - The swapchain must have been
created with
SWAPCHAIN_CREATE_PRESENT_ID_2_BIT_KHRbit set in theSwapchainCreateFlagBitsKHRfield
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_PRESENT_ID_2_KHR
- If
pPresentIdsis notNULL,pPresentIdsmust be a valid pointer to an array ofswapchainCountuint64_tvalues -
swapchainCountmust be greater than0
See Also
Constructors
| PresentId2KHR | |
Fields
| |
Instances
| Show PresentId2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_present_id2 Methods showsPrec :: Int -> PresentId2KHR -> ShowS # show :: PresentId2KHR -> String # showList :: [PresentId2KHR] -> ShowS # | |
| FromCStruct PresentId2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_present_id2 Methods peekCStruct :: Ptr PresentId2KHR -> IO PresentId2KHR Source # | |
| ToCStruct PresentId2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_present_id2 Methods withCStruct :: PresentId2KHR -> (Ptr PresentId2KHR -> IO b) -> IO b Source # pokeCStruct :: Ptr PresentId2KHR -> PresentId2KHR -> IO b -> IO b Source # withZeroCStruct :: (Ptr PresentId2KHR -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr PresentId2KHR -> IO b -> IO b Source # cStructSize :: Int Source # | |
| Zero PresentId2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_present_id2 Methods zero :: PresentId2KHR Source # | |
data SurfaceCapabilitiesPresentId2KHR Source #
VkSurfaceCapabilitiesPresentId2KHR - Structure describing presentation-ID capabilities of a surface
Description
This structure can be included in the pNext chain of
SurfaceCapabilities2KHR
to determine support for present-wait. If presentId2Supported is
FALSE, it indicates that attaching an
ID to presentation requests is not possible for this surface.
Applications must not attempt to include PresentId2KHR in the
pNext chain of a PresentInfoKHR
if presentId2Supported is FALSE.
Valid Usage (Implicit)
See Also
Constructors
| SurfaceCapabilitiesPresentId2KHR | |
Fields
| |
Instances
type KHR_PRESENT_ID_2_SPEC_VERSION = 1 Source #
pattern KHR_PRESENT_ID_2_SPEC_VERSION :: Integral a => a Source #
type KHR_PRESENT_ID_2_EXTENSION_NAME = "VK_KHR_present_id2" Source #
pattern KHR_PRESENT_ID_2_EXTENSION_NAME :: (Eq a, IsString a) => a Source #
newtype SwapchainCreateFlagBitsKHR Source #
VkSwapchainCreateFlagBitsKHR - Bitmask controlling swapchain creation
Description
SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHRspecifies that images created from the swapchain (i.e. with theswapchainmember ofImageSwapchainCreateInfoKHRset to this swapchain’s handle) must useIMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT.
SWAPCHAIN_CREATE_PROTECTED_BIT_KHRspecifies that images created from the swapchain are protected images.SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHRspecifies that the images of the swapchain can be used to create aImageViewwith a different format than what the swapchain was created with. The list of allowed image view formats is specified by adding aImageFormatListCreateInfostructure to thepNextchain ofSwapchainCreateInfoKHR. In addition, this flag also specifies that the swapchain can be created with usage flags that are not supported for the format the swapchain is created with but are supported for at least one of the allowed image view formats.SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHRspecifies that the implementation may defer allocation of memory associated with each swapchain image until its index is to be returned fromacquireNextImageKHRoracquireNextImage2KHRfor the first time.SWAPCHAIN_CREATE_PRESENT_ID_2_BIT_KHRspecifies that applications can include thePresentId2KHRstructure in thepNextchain of thePresentInfoKHRstructure to associate an identifier with each presentation request.SWAPCHAIN_CREATE_PRESENT_WAIT_2_BIT_KHRspecifies that applications can usewaitForPresent2KHRto wait for the presentation engine to have begun presentation of the presentation request associated withPresentWait2InfoKHR::presentIdonswapchain.SWAPCHAIN_CREATE_PRESENT_TIMING_BIT_EXTspecifies that features supported by the swapchain device inPhysicalDevicePresentTimingFeaturesEXTcan be used to collect timing information or schedule presentation requests at specific times.
See Also
Constructors
| SwapchainCreateFlagBitsKHR Flags |
Bundled Patterns