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

Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Description

Name

VK_FUCHSIA_buffer_collection - device extension

VK_FUCHSIA_buffer_collection

Name String
VK_FUCHSIA_buffer_collection
Extension Type
Device extension
Registered Extension Number
367
Revision
2
Extension and Version Dependencies
  • Requires support for Vulkan 1.0
  • Requires VK_FUCHSIA_external_memory to be enabled for any device-level functionality
  • Requires VK_KHR_sampler_ycbcr_conversion to be enabled for any device-level functionality
Contact

Other Extension Metadata

Last Modified Date
2021-09-23
IP Status
No known IP claims.
Contributors
  • Craig Stout, Google
  • John Bauman, Google
  • John Rosasco, Google

Description

A buffer collection is a collection of one or more buffers which were allocated together as a group and which all have the same properties. These properties describe the buffers' internal representation such as its dimensions and memory layout. This ensures that all of the buffers can be used interchangeably by tasks that require swapping among multiple buffers, such as double-buffered graphics rendering.

By sharing such a collection of buffers between components, communication about buffer lifecycle can be made much simpler and more efficient. For example, when a content producer finishes writing to a buffer, it can message the consumer of the buffer with the buffer index, rather than passing a handle to the shared memory.

On Fuchsia, the Sysmem service uses buffer collections as a core construct in its design. VK_FUCHSIA_buffer_collection is the Vulkan extension that allows Vulkan applications to interoperate with the Sysmem service on Fuchsia.

New Object Types

New Commands

New Structures

New Enums

New Bitmasks

New Enum Constants

Issues

1) When configuring a ImageConstraintsInfoFUCHSIA structure for constraint setting, should a NULL pFormatConstraints parameter be allowed ?

RESOLVED: No. Specifying a NULL pFormatConstraints results in logical complexity of interpreting the relationship between the ImageCreateInfo::usage settings of the elements of the pImageCreateInfos array and the implied or desired FormatFeatureFlags.

The explicit requirement for pFormatConstraints to be non-NULL simplifies the implied logic of the implementation and expectations for the Vulkan application.

Version History

  • Revision 2, 2021-09-23 (John Rosasco)

    • Review passes
  • Revision 1, 2021-03-09 (John Rosasco)

    • Initial revision

See Also

BufferCollectionBufferCreateInfoFUCHSIA, BufferCollectionConstraintsInfoFUCHSIA, BufferCollectionCreateInfoFUCHSIA, BufferCollectionFUCHSIA, BufferCollectionImageCreateInfoFUCHSIA, BufferCollectionPropertiesFUCHSIA, BufferConstraintsInfoFUCHSIA, ImageConstraintsInfoFUCHSIA, ImageConstraintsInfoFlagBitsFUCHSIA, ImageConstraintsInfoFlagsFUCHSIA, ImageFormatConstraintsFlagsFUCHSIA, ImageFormatConstraintsInfoFUCHSIA, ImportMemoryBufferCollectionFUCHSIA, SysmemColorSpaceFUCHSIA, createBufferCollectionFUCHSIA, destroyBufferCollectionFUCHSIA, getBufferCollectionPropertiesFUCHSIA, setBufferCollectionBufferConstraintsFUCHSIA, setBufferCollectionImageConstraintsFUCHSIA

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

createBufferCollectionFUCHSIA Source #

Arguments

:: forall io. MonadIO io 
=> Device

device is the logical device that creates the BufferCollectionFUCHSIA

-> BufferCollectionCreateInfoFUCHSIA

pCreateInfo is a pointer to a BufferCollectionCreateInfoFUCHSIA structure containing parameters affecting creation of the buffer collection

-> ("allocator" ::: Maybe AllocationCallbacks)

pAllocator is a pointer to a AllocationCallbacks structure controlling host memory allocation as described in the Memory Allocation chapter

-> io BufferCollectionFUCHSIA 

vkCreateBufferCollectionFUCHSIA - Create a new buffer collection

Valid Usage (Implicit)

  • device must be a valid Device handle

Return Codes

Success
Failure

Host Access

All functions referencing a BufferCollectionFUCHSIA must be externally synchronized with the exception of createBufferCollectionFUCHSIA.

See Also

VK_FUCHSIA_buffer_collection, AllocationCallbacks, BufferCollectionCreateInfoFUCHSIA, BufferCollectionFUCHSIA, Device

withBufferCollectionFUCHSIA :: forall io r. MonadIO io => Device -> BufferCollectionCreateInfoFUCHSIA -> Maybe AllocationCallbacks -> (io BufferCollectionFUCHSIA -> (BufferCollectionFUCHSIA -> io ()) -> r) -> r Source #

A convenience wrapper to make a compatible pair of calls to createBufferCollectionFUCHSIA and destroyBufferCollectionFUCHSIA

To ensure that destroyBufferCollectionFUCHSIA is always called: pass bracket (or the allocate function from your favourite resource management library) as the last argument. To just extract the pair pass (,) as the last argument.

setBufferCollectionBufferConstraintsFUCHSIA Source #

Arguments

:: forall io. MonadIO io 
=> Device

device is the logical device

device must be a valid Device handle

-> BufferCollectionFUCHSIA

collection is the BufferCollectionFUCHSIA handle

collection must be a valid BufferCollectionFUCHSIA handle

collection must have been created, allocated, or retrieved from device

-> BufferConstraintsInfoFUCHSIA

pBufferConstraintsInfo is a pointer to a BufferConstraintsInfoFUCHSIA structure

pBufferConstraintsInfo must be a valid pointer to a valid BufferConstraintsInfoFUCHSIA structure

-> io () 

vkSetBufferCollectionBufferConstraintsFUCHSIA - Set buffer-based constraints for a buffer collection

Description

setBufferCollectionBufferConstraintsFUCHSIA may fail if the implementation does not support the constraints specified in the bufferCollectionConstraints structure. If that occurs, setBufferCollectionBufferConstraintsFUCHSIA will return ERROR_FORMAT_NOT_SUPPORTED.

Return Codes

Success
Failure

See Also

VK_FUCHSIA_buffer_collection, BufferCollectionFUCHSIA, BufferConstraintsInfoFUCHSIA, Device

setBufferCollectionImageConstraintsFUCHSIA Source #

Arguments

:: forall io. MonadIO io 
=> Device

device is the logical device

device must be a valid Device handle

-> BufferCollectionFUCHSIA

collection is the BufferCollectionFUCHSIA handle

collection must be a valid BufferCollectionFUCHSIA handle

collection must have been created, allocated, or retrieved from device

-> ImageConstraintsInfoFUCHSIA

pImageConstraintsInfo is a pointer to a ImageConstraintsInfoFUCHSIA structure

pImageConstraintsInfo must be a valid pointer to a valid ImageConstraintsInfoFUCHSIA structure

-> io () 

vkSetBufferCollectionImageConstraintsFUCHSIA - Set image-based constraints for a buffer collection

Description

setBufferCollectionImageConstraintsFUCHSIA may fail if pImageConstraintsInfo::formatConstraintsCount is larger than the implementation-defined limit. If that occurs, setBufferCollectionImageConstraintsFUCHSIA will return ERROR_INITIALIZATION_FAILED.

setBufferCollectionImageConstraintsFUCHSIA may fail if the implementation does not support any of the formats described by the pImageConstraintsInfo structure. If that occurs, setBufferCollectionImageConstraintsFUCHSIA will return ERROR_FORMAT_NOT_SUPPORTED.

Return Codes

Success
Failure

See Also

VK_FUCHSIA_buffer_collection, BufferCollectionFUCHSIA, Device, ImageConstraintsInfoFUCHSIA

destroyBufferCollectionFUCHSIA Source #

Arguments

:: forall io. MonadIO io 
=> Device

device is the logical device that creates the BufferCollectionFUCHSIA

-> BufferCollectionFUCHSIA

collection is the BufferCollectionFUCHSIA handle

-> ("allocator" ::: Maybe AllocationCallbacks)

pAllocator is a pointer to a AllocationCallbacks structure controlling host memory allocation as described in the Memory Allocation chapter

-> io () 

vkDestroyBufferCollectionFUCHSIA - Destroy a buffer collection

Valid Usage

Valid Usage (Implicit)

  • device must be a valid Device handle
  • collection must be a valid BufferCollectionFUCHSIA handle
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure
  • collection must have been created, allocated, or retrieved from device

See Also

VK_FUCHSIA_buffer_collection, AllocationCallbacks, BufferCollectionFUCHSIA, Device

getBufferCollectionPropertiesFUCHSIA Source #

Arguments

:: forall io. MonadIO io 
=> Device

device is the logical device handle

-> BufferCollectionFUCHSIA

collection is the BufferCollectionFUCHSIA handle

-> io BufferCollectionPropertiesFUCHSIA 

vkGetBufferCollectionPropertiesFUCHSIA - Retrieve properties from a buffer collection

Description

For image-based buffer collections, upon calling getBufferCollectionPropertiesFUCHSIA, Sysmem will choose an element of the ImageConstraintsInfoFUCHSIA::pImageCreateInfos established by the preceding call to setBufferCollectionImageConstraintsFUCHSIA. The index of the element chosen is stored in and can be retrieved from BufferCollectionPropertiesFUCHSIA::createInfoIndex.

For buffer-based buffer collections, a single BufferCreateInfo is specified as BufferConstraintsInfoFUCHSIA::createInfo. BufferCollectionPropertiesFUCHSIA::createInfoIndex will therefore always be zero.

getBufferCollectionPropertiesFUCHSIA may fail if Sysmem is unable to resolve the constraints of all of the participants in the buffer collection. If that occurs, getBufferCollectionPropertiesFUCHSIA will return ERROR_INITIALIZATION_FAILED.

Valid Usage

Valid Usage (Implicit)

  • device must be a valid Device handle

Return Codes

Success
Failure

See Also

VK_FUCHSIA_buffer_collection, BufferCollectionFUCHSIA, BufferCollectionPropertiesFUCHSIA, Device

data ImportMemoryBufferCollectionFUCHSIA Source #

VkImportMemoryBufferCollectionFUCHSIA - Structure to specify the Sysmem buffer to import

Valid Usage (Implicit)

See Also

VK_FUCHSIA_buffer_collection, BufferCollectionFUCHSIA, StructureType

Constructors

ImportMemoryBufferCollectionFUCHSIA 

Fields

Instances

Instances details
Storable ImportMemoryBufferCollectionFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Show ImportMemoryBufferCollectionFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Eq ImportMemoryBufferCollectionFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

FromCStruct ImportMemoryBufferCollectionFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

ToCStruct ImportMemoryBufferCollectionFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Zero ImportMemoryBufferCollectionFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

data BufferCollectionImageCreateInfoFUCHSIA Source #

VkBufferCollectionImageCreateInfoFUCHSIA - Create a VkBufferCollectionFUCHSIA-compatible VkImage

Valid Usage (Implicit)

See Also

VK_FUCHSIA_buffer_collection, BufferCollectionFUCHSIA, StructureType

Constructors

BufferCollectionImageCreateInfoFUCHSIA 

Fields

Instances

Instances details
Storable BufferCollectionImageCreateInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Show BufferCollectionImageCreateInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Eq BufferCollectionImageCreateInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

FromCStruct BufferCollectionImageCreateInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

ToCStruct BufferCollectionImageCreateInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Zero BufferCollectionImageCreateInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

data BufferCollectionBufferCreateInfoFUCHSIA Source #

VkBufferCollectionBufferCreateInfoFUCHSIA - Create a VkBufferCollectionFUCHSIA-compatible VkBuffer

Valid Usage (Implicit)

See Also

VK_FUCHSIA_buffer_collection, BufferCollectionFUCHSIA, StructureType

Constructors

BufferCollectionBufferCreateInfoFUCHSIA 

Fields

Instances

Instances details
Storable BufferCollectionBufferCreateInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Show BufferCollectionBufferCreateInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Eq BufferCollectionBufferCreateInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

FromCStruct BufferCollectionBufferCreateInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

ToCStruct BufferCollectionBufferCreateInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Zero BufferCollectionBufferCreateInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

data BufferCollectionCreateInfoFUCHSIA Source #

VkBufferCollectionCreateInfoFUCHSIA - Structure specifying desired parameters to create the buffer collection

Valid Usage (Implicit)

See Also

VK_FUCHSIA_buffer_collection, StructureType, createBufferCollectionFUCHSIA

Constructors

BufferCollectionCreateInfoFUCHSIA 

Fields

  • collectionToken :: Zx_handle_t

    collectionToken is a zx_handle_t containing the Sysmem client’s buffer collection token

    collectionToken must be a valid zx_handle_t to a Zircon channel allocated from Sysmem (fuchsia.sysmem.Allocator/AllocateSharedCollection) with ZX_DEFAULT_CHANNEL_RIGHTS rights

Instances

Instances details
Storable BufferCollectionCreateInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Show BufferCollectionCreateInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Eq BufferCollectionCreateInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

FromCStruct BufferCollectionCreateInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

ToCStruct BufferCollectionCreateInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Zero BufferCollectionCreateInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

data BufferCollectionPropertiesFUCHSIA Source #

VkBufferCollectionPropertiesFUCHSIA - Structure specifying the negotiated format chosen by Sysmem

Description

sysmemColorSpace is only set for image-based buffer collections where the constraints were specified using ImageConstraintsInfoFUCHSIA in a call to setBufferCollectionImageConstraintsFUCHSIA.

For image-based buffer collections, createInfoIndex will identify both the ImageConstraintsInfoFUCHSIA::pImageCreateInfos element and the ImageConstraintsInfoFUCHSIA::pFormatConstraints element chosen by Sysmem when setBufferCollectionImageConstraintsFUCHSIA was called. The value of sysmemColorSpaceIndex will be an index to one of the color spaces provided in the ImageFormatConstraintsInfoFUCHSIA::pColorSpaces array.

The implementation must have formatFeatures with all bits set that were set in ImageFormatConstraintsInfoFUCHSIA::requiredFormatFeatures, by the call to setBufferCollectionImageConstraintsFUCHSIA, at createInfoIndex (other bits could be set as well).

Valid Usage (Implicit)

See Also

VK_FUCHSIA_buffer_collection, ChromaLocation, ComponentMapping, FormatFeatureFlags, SamplerYcbcrModelConversion, SamplerYcbcrRange, StructureType, SysmemColorSpaceFUCHSIA, getBufferCollectionPropertiesFUCHSIA

Constructors

BufferCollectionPropertiesFUCHSIA 

Fields

Instances

Instances details
Storable BufferCollectionPropertiesFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Show BufferCollectionPropertiesFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

FromCStruct BufferCollectionPropertiesFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

ToCStruct BufferCollectionPropertiesFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Zero BufferCollectionPropertiesFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

data BufferConstraintsInfoFUCHSIA Source #

VkBufferConstraintsInfoFUCHSIA - Structure buffer-based buffer collection constraints

Valid Usage

Valid Usage (Implicit)

See Also

VK_FUCHSIA_buffer_collection, BufferCollectionConstraintsInfoFUCHSIA, BufferCreateInfo, FormatFeatureFlags, StructureType, setBufferCollectionBufferConstraintsFUCHSIA

Constructors

BufferConstraintsInfoFUCHSIA 

Fields

data SysmemColorSpaceFUCHSIA Source #

VkSysmemColorSpaceFUCHSIA - Structure describing the buffer collections color space

Valid Usage (Implicit)

See Also

VK_FUCHSIA_buffer_collection, BufferCollectionPropertiesFUCHSIA, ImageFormatConstraintsInfoFUCHSIA, StructureType

Constructors

SysmemColorSpaceFUCHSIA 

Fields

  • colorSpace :: Word32

    colorSpace value of the Sysmem ColorSpaceType

    colorSpace must be a ColorSpaceType as defined in fuchsia.sysmem/image_formats.fidl

Instances

Instances details
Storable SysmemColorSpaceFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Show SysmemColorSpaceFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Eq SysmemColorSpaceFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

FromCStruct SysmemColorSpaceFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

ToCStruct SysmemColorSpaceFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Zero SysmemColorSpaceFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

data ImageFormatConstraintsInfoFUCHSIA Source #

VkImageFormatConstraintsInfoFUCHSIA - Structure image-based buffer collection constraints

Valid Usage (Implicit)

See Also

VK_FUCHSIA_buffer_collection, FormatFeatureFlags, ImageConstraintsInfoFUCHSIA, ImageCreateInfo, ImageFormatConstraintsFlagsFUCHSIA, StructureType, SysmemColorSpaceFUCHSIA

Constructors

ImageFormatConstraintsInfoFUCHSIA 

Fields

data ImageConstraintsInfoFUCHSIA Source #

VkImageConstraintsInfoFUCHSIA - Structure of image-based buffer collection constraints

Valid Usage

Valid Usage (Implicit)

See Also

VK_FUCHSIA_buffer_collection, BufferCollectionConstraintsInfoFUCHSIA, ImageConstraintsInfoFlagsFUCHSIA, ImageFormatConstraintsInfoFUCHSIA, StructureType, setBufferCollectionImageConstraintsFUCHSIA

Constructors

ImageConstraintsInfoFUCHSIA 

Fields

data BufferCollectionConstraintsInfoFUCHSIA Source #

VkBufferCollectionConstraintsInfoFUCHSIA - Structure of general buffer collection constraints

Description

Sysmem uses all buffer count parameters in combination to determine the number of buffers it will allocate. Sysmem defines buffer count constraints in fuchsia.sysmem/constraints.fidl.

Camping as referred to by minBufferCountForCamping, is the number of buffers that should be available for the participant that are not for transient use. This number of buffers is required for the participant to logically operate.

Slack as referred to by minBufferCountForDedicatedSlack and minBufferCountForSharedSlack, refers to the number of buffers desired by participants for optimal performance. minBufferCountForDedicatedSlack refers to the current participant. minBufferCountForSharedSlack refers to buffer slack for all participants in the collection.

Valid Usage (Implicit)

See Also

VK_FUCHSIA_buffer_collection, BufferConstraintsInfoFUCHSIA, ImageConstraintsInfoFUCHSIA, StructureType

Constructors

BufferCollectionConstraintsInfoFUCHSIA 

Fields

Instances

Instances details
Storable BufferCollectionConstraintsInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Show BufferCollectionConstraintsInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Eq BufferCollectionConstraintsInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

FromCStruct BufferCollectionConstraintsInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

ToCStruct BufferCollectionConstraintsInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Zero BufferCollectionConstraintsInfoFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

newtype ImageFormatConstraintsFlagsFUCHSIA Source #

VkImageFormatConstraintsFlagsFUCHSIA - Reserved for future use

Description

ImageFormatConstraintsFlagsFUCHSIA is a bitmask type for setting a mask, but is currently reserved for future use.

See Also

VK_FUCHSIA_buffer_collection, ImageFormatConstraintsInfoFUCHSIA

Instances

Instances details
Bits ImageFormatConstraintsFlagsFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Methods

(.&.) :: ImageFormatConstraintsFlagsFUCHSIA -> ImageFormatConstraintsFlagsFUCHSIA -> ImageFormatConstraintsFlagsFUCHSIA #

(.|.) :: ImageFormatConstraintsFlagsFUCHSIA -> ImageFormatConstraintsFlagsFUCHSIA -> ImageFormatConstraintsFlagsFUCHSIA #

xor :: ImageFormatConstraintsFlagsFUCHSIA -> ImageFormatConstraintsFlagsFUCHSIA -> ImageFormatConstraintsFlagsFUCHSIA #

complement :: ImageFormatConstraintsFlagsFUCHSIA -> ImageFormatConstraintsFlagsFUCHSIA #

shift :: ImageFormatConstraintsFlagsFUCHSIA -> Int -> ImageFormatConstraintsFlagsFUCHSIA #

rotate :: ImageFormatConstraintsFlagsFUCHSIA -> Int -> ImageFormatConstraintsFlagsFUCHSIA #

zeroBits :: ImageFormatConstraintsFlagsFUCHSIA #

bit :: Int -> ImageFormatConstraintsFlagsFUCHSIA #

setBit :: ImageFormatConstraintsFlagsFUCHSIA -> Int -> ImageFormatConstraintsFlagsFUCHSIA #

clearBit :: ImageFormatConstraintsFlagsFUCHSIA -> Int -> ImageFormatConstraintsFlagsFUCHSIA #

complementBit :: ImageFormatConstraintsFlagsFUCHSIA -> Int -> ImageFormatConstraintsFlagsFUCHSIA #

testBit :: ImageFormatConstraintsFlagsFUCHSIA -> Int -> Bool #

bitSizeMaybe :: ImageFormatConstraintsFlagsFUCHSIA -> Maybe Int #

bitSize :: ImageFormatConstraintsFlagsFUCHSIA -> Int #

isSigned :: ImageFormatConstraintsFlagsFUCHSIA -> Bool #

shiftL :: ImageFormatConstraintsFlagsFUCHSIA -> Int -> ImageFormatConstraintsFlagsFUCHSIA #

unsafeShiftL :: ImageFormatConstraintsFlagsFUCHSIA -> Int -> ImageFormatConstraintsFlagsFUCHSIA #

shiftR :: ImageFormatConstraintsFlagsFUCHSIA -> Int -> ImageFormatConstraintsFlagsFUCHSIA #

unsafeShiftR :: ImageFormatConstraintsFlagsFUCHSIA -> Int -> ImageFormatConstraintsFlagsFUCHSIA #

rotateL :: ImageFormatConstraintsFlagsFUCHSIA -> Int -> ImageFormatConstraintsFlagsFUCHSIA #

rotateR :: ImageFormatConstraintsFlagsFUCHSIA -> Int -> ImageFormatConstraintsFlagsFUCHSIA #

popCount :: ImageFormatConstraintsFlagsFUCHSIA -> Int #

FiniteBits ImageFormatConstraintsFlagsFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Storable ImageFormatConstraintsFlagsFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Read ImageFormatConstraintsFlagsFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Show ImageFormatConstraintsFlagsFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Eq ImageFormatConstraintsFlagsFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Ord ImageFormatConstraintsFlagsFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Zero ImageFormatConstraintsFlagsFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

newtype ImageConstraintsInfoFlagBitsFUCHSIA Source #

VkImageConstraintsInfoFlagBitsFUCHSIA - Bitmask specifying image constraints flags

Description

General hints about the type of memory that should be allocated by Sysmem based on the expected usage of the images in the buffer collection include:

For protected memory:

Note that if all participants in the buffer collection (Vulkan or otherwise) specify that protected memory is optional, Sysmem will not allocate protected memory.

See Also

VK_FUCHSIA_buffer_collection, ImageConstraintsInfoFlagsFUCHSIA

Instances

Instances details
Bits ImageConstraintsInfoFlagBitsFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Methods

(.&.) :: ImageConstraintsInfoFlagBitsFUCHSIA -> ImageConstraintsInfoFlagBitsFUCHSIA -> ImageConstraintsInfoFlagBitsFUCHSIA #

(.|.) :: ImageConstraintsInfoFlagBitsFUCHSIA -> ImageConstraintsInfoFlagBitsFUCHSIA -> ImageConstraintsInfoFlagBitsFUCHSIA #

xor :: ImageConstraintsInfoFlagBitsFUCHSIA -> ImageConstraintsInfoFlagBitsFUCHSIA -> ImageConstraintsInfoFlagBitsFUCHSIA #

complement :: ImageConstraintsInfoFlagBitsFUCHSIA -> ImageConstraintsInfoFlagBitsFUCHSIA #

shift :: ImageConstraintsInfoFlagBitsFUCHSIA -> Int -> ImageConstraintsInfoFlagBitsFUCHSIA #

rotate :: ImageConstraintsInfoFlagBitsFUCHSIA -> Int -> ImageConstraintsInfoFlagBitsFUCHSIA #

zeroBits :: ImageConstraintsInfoFlagBitsFUCHSIA #

bit :: Int -> ImageConstraintsInfoFlagBitsFUCHSIA #

setBit :: ImageConstraintsInfoFlagBitsFUCHSIA -> Int -> ImageConstraintsInfoFlagBitsFUCHSIA #

clearBit :: ImageConstraintsInfoFlagBitsFUCHSIA -> Int -> ImageConstraintsInfoFlagBitsFUCHSIA #

complementBit :: ImageConstraintsInfoFlagBitsFUCHSIA -> Int -> ImageConstraintsInfoFlagBitsFUCHSIA #

testBit :: ImageConstraintsInfoFlagBitsFUCHSIA -> Int -> Bool #

bitSizeMaybe :: ImageConstraintsInfoFlagBitsFUCHSIA -> Maybe Int #

bitSize :: ImageConstraintsInfoFlagBitsFUCHSIA -> Int #

isSigned :: ImageConstraintsInfoFlagBitsFUCHSIA -> Bool #

shiftL :: ImageConstraintsInfoFlagBitsFUCHSIA -> Int -> ImageConstraintsInfoFlagBitsFUCHSIA #

unsafeShiftL :: ImageConstraintsInfoFlagBitsFUCHSIA -> Int -> ImageConstraintsInfoFlagBitsFUCHSIA #

shiftR :: ImageConstraintsInfoFlagBitsFUCHSIA -> Int -> ImageConstraintsInfoFlagBitsFUCHSIA #

unsafeShiftR :: ImageConstraintsInfoFlagBitsFUCHSIA -> Int -> ImageConstraintsInfoFlagBitsFUCHSIA #

rotateL :: ImageConstraintsInfoFlagBitsFUCHSIA -> Int -> ImageConstraintsInfoFlagBitsFUCHSIA #

rotateR :: ImageConstraintsInfoFlagBitsFUCHSIA -> Int -> ImageConstraintsInfoFlagBitsFUCHSIA #

popCount :: ImageConstraintsInfoFlagBitsFUCHSIA -> Int #

FiniteBits ImageConstraintsInfoFlagBitsFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Storable ImageConstraintsInfoFlagBitsFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Read ImageConstraintsInfoFlagBitsFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Show ImageConstraintsInfoFlagBitsFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Eq ImageConstraintsInfoFlagBitsFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Ord ImageConstraintsInfoFlagBitsFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

Zero ImageConstraintsInfoFlagBitsFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection

type FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME = "VK_FUCHSIA_buffer_collection" Source #

newtype BufferCollectionFUCHSIA Source #

Instances

Instances details
Storable BufferCollectionFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Show BufferCollectionFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Eq BufferCollectionFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Ord BufferCollectionFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.Handles

HasObjectType BufferCollectionFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.Handles

IsHandle BufferCollectionFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Zero BufferCollectionFUCHSIA Source # 
Instance details

Defined in Vulkan.Extensions.Handles

newtype DebugReportObjectTypeEXT Source #

VkDebugReportObjectTypeEXT - Specify the type of an object handle

Description

'

DebugReportObjectTypeEXTVulkan Handle Type
DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXTUnknown/Undefined Handle
DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXTInstance
DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXTPhysicalDevice
DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXTDevice
DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXTQueue
DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXTSemaphore
DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXTCommandBuffer
DEBUG_REPORT_OBJECT_TYPE_FENCE_EXTFence
DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXTDeviceMemory
DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXTBuffer
DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXTImage
DEBUG_REPORT_OBJECT_TYPE_EVENT_EXTEvent
DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXTQueryPool
DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXTBufferView
DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXTImageView
DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXTShaderModule
DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXTPipelineCache
DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXTPipelineLayout
DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXTRenderPass
DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXTPipeline
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXTDescriptorSetLayout
DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXTSampler
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXTDescriptorPool
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXTDescriptorSet
DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXTFramebuffer
DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXTCommandPool
DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXTSurfaceKHR
DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXTSwapchainKHR
DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXTDebugReportCallbackEXT
DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXTDisplayKHR
DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXTDisplayModeKHR
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXTDescriptorUpdateTemplate

DebugReportObjectTypeEXT and Vulkan Handle Relationship

Note

The primary expected use of ERROR_VALIDATION_FAILED_EXT is for validation layer testing. It is not expected that an application would see this error code during normal use of the validation layers.

See Also

VK_EXT_debug_marker, VK_EXT_debug_report, DebugMarkerObjectNameInfoEXT, DebugMarkerObjectTagInfoEXT, debugReportMessageEXT

Bundled Patterns

pattern DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT :: DebugReportObjectTypeEXT 

Instances

Instances details
Storable DebugReportObjectTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_debug_report

Read DebugReportObjectTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_debug_report

Show DebugReportObjectTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_debug_report

Eq DebugReportObjectTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_debug_report

Ord DebugReportObjectTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_debug_report

Zero DebugReportObjectTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_debug_report