vulkan-3.26.1: Bindings to the Vulkan graphics API.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Vulkan.Extensions.VK_EXT_frame_boundary

Description

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

New Enums

New Bitmasks

New Enum Constants

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

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)

  • flags must be a valid combination of FrameBoundaryFlagBitsEXT values
  • If imageCount is not 0, and pImages is not NULL, pImages must be a valid pointer to an array of imageCount valid Image handles
  • If bufferCount is not 0, and pBuffers is not NULL, pBuffers must be a valid pointer to an array of bufferCount valid Buffer handles
  • If tagSize is not 0, and pTag is not NULL, pTag must be a valid pointer to an array of tagSize bytes
  • Both of the elements of pBuffers, and the elements of pImages that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same Device

See Also

VK_EXT_frame_boundary, Buffer, FrameBoundaryFlagsEXT, Image, StructureType

Constructors

FrameBoundaryEXT 

Fields

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

VK_EXT_frame_boundary, Bool32, StructureType

Constructors

PhysicalDeviceFrameBoundaryFeaturesEXT 

Fields

  • frameBoundary :: Bool

    frameBoundary indicates whether the implementation supports frame boundary information.

Instances

Instances details
Storable PhysicalDeviceFrameBoundaryFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_frame_boundary

Show PhysicalDeviceFrameBoundaryFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_frame_boundary

Eq PhysicalDeviceFrameBoundaryFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_frame_boundary

FromCStruct PhysicalDeviceFrameBoundaryFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_frame_boundary

ToCStruct PhysicalDeviceFrameBoundaryFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_frame_boundary

Zero PhysicalDeviceFrameBoundaryFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_frame_boundary

newtype FrameBoundaryFlagBitsEXT Source #

VkFrameBoundaryFlagBitsEXT - Bitmask specifying whether a queue submission is the last one for a given frame

See Also

VK_EXT_frame_boundary, FrameBoundaryFlagsEXT

Bundled Patterns

pattern FRAME_BOUNDARY_FRAME_END_BIT_EXT :: FrameBoundaryFlagBitsEXT

FRAME_BOUNDARY_FRAME_END_BIT_EXT specifies that this queue submission is the last one for this frame, i.e. once this queue submission has terminated, then the work for this frame is completed.

Instances

Instances details
Storable FrameBoundaryFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_frame_boundary

Bits FrameBoundaryFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_frame_boundary

FiniteBits FrameBoundaryFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_frame_boundary

Read FrameBoundaryFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_frame_boundary

Show FrameBoundaryFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_frame_boundary

Eq FrameBoundaryFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_frame_boundary

Ord FrameBoundaryFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_frame_boundary

Zero FrameBoundaryFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_frame_boundary

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 #