Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Name
VK_EXT_frame_boundary - device extension
VK_EXT_frame_boundary
- Name String
VK_EXT_frame_boundary
- Extension Type
- Device extension
- Registered Extension Number
- 376
- Revision
- 1
- Ratification Status
- Ratified
- Extension and Version Dependencies; Contact
- Extension Proposal
- VK_EXT_frame_boundary
Other Extension Metadata
- Last Modified Date
- 2023-06-14
- Contributors
- James Fitzpatrick, Imagination Technologies
- Hugues Evrard, Google
- Melih Yasin Yalcin, Google
- Andrew Garrard, Imagination Technologies
- Jan-Harald Fredriksen, Arm
- Vassili Nikolaev, NVIDIA
- Ting Wei, Huawei
Description
VK_EXT_frame_boundary
is a device extension that helps tools (such as debuggers) to group
queue submissions per frames in non-trivial scenarios, typically when
queuePresentKHR
is not a relevant
frame boundary delimiter.
New Structures
Extending
SubmitInfo
,SubmitInfo2
,PresentInfoKHR
,BindSparseInfo
:
New Enums
New Bitmasks
New Enum Constants
EXT_FRAME_BOUNDARY_SPEC_VERSION
Extending
StructureType
:
Version History
Revision 0, 2022-01-14 (Hugues Evard)
- Initial proposal
Revision 1, 2023-06-14 (James Fitzpatrick)
- Initial draft
See Also
FrameBoundaryEXT
, FrameBoundaryFlagBitsEXT
, FrameBoundaryFlagsEXT
,
PhysicalDeviceFrameBoundaryFeaturesEXT
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 FrameBoundaryEXT = FrameBoundaryEXT {}
- data PhysicalDeviceFrameBoundaryFeaturesEXT = PhysicalDeviceFrameBoundaryFeaturesEXT {}
- type FrameBoundaryFlagsEXT = FrameBoundaryFlagBitsEXT
- newtype FrameBoundaryFlagBitsEXT where
- type EXT_FRAME_BOUNDARY_SPEC_VERSION = 1
- pattern EXT_FRAME_BOUNDARY_SPEC_VERSION :: forall a. Integral a => a
- type EXT_FRAME_BOUNDARY_EXTENSION_NAME = "VK_EXT_frame_boundary"
- pattern EXT_FRAME_BOUNDARY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
data FrameBoundaryEXT Source #
VkFrameBoundaryEXT - Add frame boundary information to queue submissions
Description
The application can associate frame boundary information to a queue
submission call by adding a FrameBoundaryEXT
structure to the pNext
chain of
queue submission,
PresentInfoKHR
, or
BindSparseInfo
.
The frame identifier is used to associate one or more queue submission to a frame, it is thus meant to be unique within a frame lifetime, i.e. it is possible (but not recommended) to reuse frame identifiers, as long as any two frames with any chance of having overlapping queue submissions (as in the example above) use two different frame identifiers.
Note
Since the concept of frame is application-dependent, there is no way to validate the use of frame identifier. It is good practice to use a monotonically increasing counter as the frame identifier and not reuse identifiers between frames.
The pImages
and pBuffers
arrays contain a list of images and buffers
which store the "end result" of the frame. As the concept of frame is
application-dependent, not all frames may produce their results in
images or buffers, yet this is a sufficiently common case to be handled
by FrameBoundaryEXT
. Note that no extra information, such as image
layout is being provided, since the images are meant to be used by tools
which would already be tracking this required information. Having the
possibility of passing a list of end-result images makes
FrameBoundaryEXT
as expressive as
queuePresentKHR
, which is often the
default frame boundary delimiter.
The application can also associate arbitrary extra information via tag
data using tagName
, tagSize
and pTag
. This extra information is
typically tool-specific.
Valid Usage (Implicit)
-
sType
must beSTRUCTURE_TYPE_FRAME_BOUNDARY_EXT
-
flags
must be a valid combination ofFrameBoundaryFlagBitsEXT
values - If
imageCount
is not0
, andpImages
is notNULL
,pImages
must be a valid pointer to an array ofimageCount
validImage
handles - If
bufferCount
is not0
, andpBuffers
is notNULL
,pBuffers
must be a valid pointer to an array ofbufferCount
validBuffer
handles - If
tagSize
is not0
, andpTag
is notNULL
,pTag
must be a valid pointer to an array oftagSize
bytes - Both of the elements of
pBuffers
, and the elements ofpImages
that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the sameDevice
See Also
VK_EXT_frame_boundary,
Buffer
, FrameBoundaryFlagsEXT
,
Image
,
StructureType
FrameBoundaryEXT | |
|
Instances
Show FrameBoundaryEXT Source # | |
Defined in Vulkan.Extensions.VK_EXT_frame_boundary showsPrec :: Int -> FrameBoundaryEXT -> ShowS # show :: FrameBoundaryEXT -> String # showList :: [FrameBoundaryEXT] -> ShowS # | |
FromCStruct FrameBoundaryEXT Source # | |
Defined in Vulkan.Extensions.VK_EXT_frame_boundary | |
ToCStruct FrameBoundaryEXT Source # | |
Defined in Vulkan.Extensions.VK_EXT_frame_boundary withCStruct :: FrameBoundaryEXT -> (Ptr FrameBoundaryEXT -> IO b) -> IO b Source # pokeCStruct :: Ptr FrameBoundaryEXT -> FrameBoundaryEXT -> IO b -> IO b Source # withZeroCStruct :: (Ptr FrameBoundaryEXT -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr FrameBoundaryEXT -> IO b -> IO b Source # cStructSize :: Int Source # | |
Zero FrameBoundaryEXT Source # | |
Defined in Vulkan.Extensions.VK_EXT_frame_boundary |
data PhysicalDeviceFrameBoundaryFeaturesEXT Source #
VkPhysicalDeviceFrameBoundaryFeaturesEXT - Structure describing the frame boundary features that can be supported by an implementation
Members
This structure describes the following feature:
Description
If the PhysicalDeviceFrameBoundaryFeaturesEXT
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. PhysicalDeviceFrameBoundaryFeaturesEXT
can also be used
in the pNext
chain of DeviceCreateInfo
to
selectively enable these features.
Valid Usage (Implicit)
See Also
Instances
newtype FrameBoundaryFlagBitsEXT Source #
VkFrameBoundaryFlagBitsEXT - Bitmask specifying whether a queue submission is the last one for a given frame
See Also
pattern FRAME_BOUNDARY_FRAME_END_BIT_EXT :: FrameBoundaryFlagBitsEXT |
|
Instances
type EXT_FRAME_BOUNDARY_SPEC_VERSION = 1 Source #
pattern EXT_FRAME_BOUNDARY_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_FRAME_BOUNDARY_EXTENSION_NAME = "VK_EXT_frame_boundary" Source #
pattern EXT_FRAME_BOUNDARY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #