| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
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
- Ratification Status
- Not ratified
- Extension and Version Dependencies
- VK_FUCHSIA_external_memory and VK_KHR_sampler_ycbcr_conversion
- 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
destroyBufferCollectionFUCHSIAgetBufferCollectionPropertiesFUCHSIAsetBufferCollectionBufferConstraintsFUCHSIAsetBufferCollectionImageConstraintsFUCHSIA
New Structures
BufferCollectionCreateInfoFUCHSIABufferCollectionPropertiesFUCHSIABufferConstraintsInfoFUCHSIAImageConstraintsInfoFUCHSIAImageFormatConstraintsInfoFUCHSIASysmemColorSpaceFUCHSIAExtending
BufferCreateInfo:Extending
ImageCreateInfo:Extending
MemoryAllocateInfo:
New Enums
New Bitmasks
New Enum Constants
FUCHSIA_BUFFER_COLLECTION_SPEC_VERSIONExtending
ObjectType:Extending
StructureType:STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIASTRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIASTRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIASTRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIASTRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIASTRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIASTRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIASTRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIASTRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIASTRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA
If VK_EXT_debug_report is supported:
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
- createBufferCollectionFUCHSIA :: forall io. MonadIO io => Device -> BufferCollectionCreateInfoFUCHSIA -> ("allocator" ::: Maybe AllocationCallbacks) -> io BufferCollectionFUCHSIA
- withBufferCollectionFUCHSIA :: forall io r. MonadIO io => Device -> BufferCollectionCreateInfoFUCHSIA -> Maybe AllocationCallbacks -> (io BufferCollectionFUCHSIA -> (BufferCollectionFUCHSIA -> io ()) -> r) -> r
- setBufferCollectionBufferConstraintsFUCHSIA :: forall io. MonadIO io => Device -> BufferCollectionFUCHSIA -> BufferConstraintsInfoFUCHSIA -> io ()
- setBufferCollectionImageConstraintsFUCHSIA :: forall io. MonadIO io => Device -> BufferCollectionFUCHSIA -> ImageConstraintsInfoFUCHSIA -> io ()
- destroyBufferCollectionFUCHSIA :: forall io. MonadIO io => Device -> BufferCollectionFUCHSIA -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
- getBufferCollectionPropertiesFUCHSIA :: forall io. MonadIO io => Device -> BufferCollectionFUCHSIA -> io BufferCollectionPropertiesFUCHSIA
- data ImportMemoryBufferCollectionFUCHSIA = ImportMemoryBufferCollectionFUCHSIA {}
- data BufferCollectionImageCreateInfoFUCHSIA = BufferCollectionImageCreateInfoFUCHSIA {}
- data BufferCollectionBufferCreateInfoFUCHSIA = BufferCollectionBufferCreateInfoFUCHSIA {}
- data BufferCollectionCreateInfoFUCHSIA = BufferCollectionCreateInfoFUCHSIA {}
- data BufferCollectionPropertiesFUCHSIA = BufferCollectionPropertiesFUCHSIA {
- memoryTypeBits :: Word32
- bufferCount :: Word32
- createInfoIndex :: Word32
- sysmemPixelFormat :: Word64
- formatFeatures :: FormatFeatureFlags
- sysmemColorSpaceIndex :: SysmemColorSpaceFUCHSIA
- samplerYcbcrConversionComponents :: ComponentMapping
- suggestedYcbcrModel :: SamplerYcbcrModelConversion
- suggestedYcbcrRange :: SamplerYcbcrRange
- suggestedXChromaOffset :: ChromaLocation
- suggestedYChromaOffset :: ChromaLocation
- data BufferConstraintsInfoFUCHSIA = BufferConstraintsInfoFUCHSIA {}
- data SysmemColorSpaceFUCHSIA = SysmemColorSpaceFUCHSIA {
- colorSpace :: Word32
- data ImageFormatConstraintsInfoFUCHSIA = ImageFormatConstraintsInfoFUCHSIA {}
- data ImageConstraintsInfoFUCHSIA = ImageConstraintsInfoFUCHSIA {}
- data BufferCollectionConstraintsInfoFUCHSIA = BufferCollectionConstraintsInfoFUCHSIA {}
- newtype ImageFormatConstraintsFlagsFUCHSIA = ImageFormatConstraintsFlagsFUCHSIA Flags
- type ImageConstraintsInfoFlagsFUCHSIA = ImageConstraintsInfoFlagBitsFUCHSIA
- newtype ImageConstraintsInfoFlagBitsFUCHSIA where
- ImageConstraintsInfoFlagBitsFUCHSIA Flags
- pattern IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA :: ImageConstraintsInfoFlagBitsFUCHSIA
- pattern IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA :: ImageConstraintsInfoFlagBitsFUCHSIA
- pattern IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA :: ImageConstraintsInfoFlagBitsFUCHSIA
- pattern IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA :: ImageConstraintsInfoFlagBitsFUCHSIA
- pattern IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA :: ImageConstraintsInfoFlagBitsFUCHSIA
- type FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION = 2
- pattern FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION :: forall a. Integral a => a
- type FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME = "VK_FUCHSIA_buffer_collection"
- pattern FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- newtype BufferCollectionFUCHSIA = BufferCollectionFUCHSIA Word64
- newtype DebugReportObjectTypeEXT where
- DebugReportObjectTypeEXT Int32
- 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_CUDA_FUNCTION_NV :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV :: 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
- type Zx_handle_t = Word32
Documentation
createBufferCollectionFUCHSIA Source #
Arguments
| :: forall io. MonadIO io | |
| => Device |
|
| -> BufferCollectionCreateInfoFUCHSIA |
|
| -> ("allocator" ::: Maybe AllocationCallbacks) |
|
| -> io BufferCollectionFUCHSIA |
vkCreateBufferCollectionFUCHSIA - Create a new buffer collection
Valid Usage (Implicit)
-
devicemust be a validDevicehandle
-
pCreateInfomust be a valid pointer to a validBufferCollectionCreateInfoFUCHSIAstructure - If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validAllocationCallbacksstructure -
pCollectionmust be a valid pointer to aBufferCollectionFUCHSIAhandle
Return Codes
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 |
|
| -> BufferCollectionFUCHSIA |
|
| -> BufferConstraintsInfoFUCHSIA |
|
| -> 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
See Also
VK_FUCHSIA_buffer_collection,
BufferCollectionFUCHSIA,
BufferConstraintsInfoFUCHSIA, Device
setBufferCollectionImageConstraintsFUCHSIA Source #
Arguments
| :: forall io. MonadIO io | |
| => Device |
|
| -> BufferCollectionFUCHSIA |
|
| -> ImageConstraintsInfoFUCHSIA |
|
| -> 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
See Also
VK_FUCHSIA_buffer_collection,
BufferCollectionFUCHSIA,
Device, ImageConstraintsInfoFUCHSIA
destroyBufferCollectionFUCHSIA Source #
Arguments
| :: forall io. MonadIO io | |
| => Device |
|
| -> BufferCollectionFUCHSIA |
|
| -> ("allocator" ::: Maybe AllocationCallbacks) |
|
| -> io () |
vkDestroyBufferCollectionFUCHSIA - Destroy a buffer collection
Valid Usage
-
ImageandBufferobjects that referencedcollectionupon creation by inclusion of aBufferCollectionImageCreateInfoFUCHSIAorBufferCollectionBufferCreateInfoFUCHSIAchained to theirImageCreateInfoorBufferCreateInfostructures respectively, may outlivecollection
Valid Usage (Implicit)
-
devicemust be a validDevicehandle
-
collectionmust be a validBufferCollectionFUCHSIAhandle - If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validAllocationCallbacksstructure -
collectionmust have been created, allocated, or retrieved fromdevice
See Also
VK_FUCHSIA_buffer_collection,
AllocationCallbacks,
BufferCollectionFUCHSIA,
Device
getBufferCollectionPropertiesFUCHSIA Source #
Arguments
| :: forall io. MonadIO io | |
| => Device |
|
| -> BufferCollectionFUCHSIA |
|
| -> 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
- Prior to
calling
getBufferCollectionPropertiesFUCHSIA, the constraints on the buffer collection must have been set by eithersetBufferCollectionImageConstraintsFUCHSIAorsetBufferCollectionBufferConstraintsFUCHSIA
Valid Usage (Implicit)
-
devicemust be a validDevicehandle
-
collectionmust be a validBufferCollectionFUCHSIAhandle -
pPropertiesmust be a valid pointer to aBufferCollectionPropertiesFUCHSIAstructure -
collectionmust have been created, allocated, or retrieved fromdevice
Return Codes
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
data BufferCollectionImageCreateInfoFUCHSIA Source #
VkBufferCollectionImageCreateInfoFUCHSIA - Create a VkBufferCollectionFUCHSIA-compatible VkImage
Valid Usage (Implicit)
See Also
VK_FUCHSIA_buffer_collection,
BufferCollectionFUCHSIA,
StructureType
Constructors
| BufferCollectionImageCreateInfoFUCHSIA | |
Fields
| |
Instances
data BufferCollectionBufferCreateInfoFUCHSIA Source #
VkBufferCollectionBufferCreateInfoFUCHSIA - Create a VkBufferCollectionFUCHSIA-compatible VkBuffer
Valid Usage (Implicit)
See Also
VK_FUCHSIA_buffer_collection,
BufferCollectionFUCHSIA,
StructureType
Constructors
| BufferCollectionBufferCreateInfoFUCHSIA | |
Fields
| |
Instances
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 | |
Instances
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
data BufferConstraintsInfoFUCHSIA Source #
VkBufferConstraintsInfoFUCHSIA - Structure buffer-based buffer collection constraints
Valid Usage
-
The
requiredFormatFeaturesbitmask ofFormatFeatureFlagBitsmust be chosen from among the buffer compatible format features listed in buffer compatible format features
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA
-
pNextmust beNULL -
createInfomust be a validBufferCreateInfostructure -
requiredFormatFeaturesmust be a valid combination ofFormatFeatureFlagBitsvalues -
bufferCollectionConstraintsmust be a validBufferCollectionConstraintsInfoFUCHSIAstructure
See Also
VK_FUCHSIA_buffer_collection,
BufferCollectionConstraintsInfoFUCHSIA,
BufferCreateInfo,
FormatFeatureFlags,
StructureType,
setBufferCollectionBufferConstraintsFUCHSIA
Constructors
| BufferConstraintsInfoFUCHSIA | |
Fields
| |
Instances
| Show BufferConstraintsInfoFUCHSIA Source # | |
Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection Methods showsPrec :: Int -> BufferConstraintsInfoFUCHSIA -> ShowS # show :: BufferConstraintsInfoFUCHSIA -> String # showList :: [BufferConstraintsInfoFUCHSIA] -> ShowS # | |
| FromCStruct BufferConstraintsInfoFUCHSIA Source # | |
| ToCStruct BufferConstraintsInfoFUCHSIA Source # | |
Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection Methods withCStruct :: BufferConstraintsInfoFUCHSIA -> (Ptr BufferConstraintsInfoFUCHSIA -> IO b) -> IO b Source # pokeCStruct :: Ptr BufferConstraintsInfoFUCHSIA -> BufferConstraintsInfoFUCHSIA -> IO b -> IO b Source # withZeroCStruct :: (Ptr BufferConstraintsInfoFUCHSIA -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr BufferConstraintsInfoFUCHSIA -> IO b -> IO b Source # cStructSize :: Int Source # | |
| Zero BufferConstraintsInfoFUCHSIA Source # | |
Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection Methods | |
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
| |
Instances
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
| |
Instances
| Show ImageFormatConstraintsInfoFUCHSIA Source # | |
Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection Methods showsPrec :: Int -> ImageFormatConstraintsInfoFUCHSIA -> ShowS # | |
| FromCStruct ImageFormatConstraintsInfoFUCHSIA Source # | |
| ToCStruct ImageFormatConstraintsInfoFUCHSIA Source # | |
Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection Methods withCStruct :: ImageFormatConstraintsInfoFUCHSIA -> (Ptr ImageFormatConstraintsInfoFUCHSIA -> IO b) -> IO b Source # pokeCStruct :: Ptr ImageFormatConstraintsInfoFUCHSIA -> ImageFormatConstraintsInfoFUCHSIA -> IO b -> IO b Source # withZeroCStruct :: (Ptr ImageFormatConstraintsInfoFUCHSIA -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr ImageFormatConstraintsInfoFUCHSIA -> IO b -> IO b Source # cStructSize :: Int Source # | |
| Zero ImageFormatConstraintsInfoFUCHSIA Source # | |
Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection Methods | |
data ImageConstraintsInfoFUCHSIA Source #
VkImageConstraintsInfoFUCHSIA - Structure of image-based buffer collection constraints
Valid Usage
- All
elements of
pFormatConstraintsmust have at least one bit set in itsImageFormatConstraintsInfoFUCHSIA::requiredFormatFeatures
- If
pFormatConstraints::imageCreateInfo::usagecontainsIMAGE_USAGE_SAMPLED_BIT, thenpFormatConstraints::requiredFormatFeaturesmust containFORMAT_FEATURE_SAMPLED_IMAGE_BIT - If
pFormatConstraints::imageCreateInfo::usagecontainsIMAGE_USAGE_STORAGE_BIT, thenpFormatConstraints::requiredFormatFeaturesmust containFORMAT_FEATURE_STORAGE_IMAGE_BIT - If
pFormatConstraints::imageCreateInfo::usagecontainsIMAGE_USAGE_COLOR_ATTACHMENT_BIT, thenpFormatConstraints::requiredFormatFeaturesmust containFORMAT_FEATURE_COLOR_ATTACHMENT_BIT - If
pFormatConstraints::imageCreateInfo::usagecontainsIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, thenpFormatConstraints::requiredFormatFeaturesmust containFORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT - If
pFormatConstraints::imageCreateInfo::usagecontainsIMAGE_USAGE_INPUT_ATTACHMENT_BIT, thenpFormatConstraints::requiredFormatFeaturesmust contain at least one ofFORMAT_FEATURE_COLOR_ATTACHMENT_BITorFORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT -
If the
attachmentFragmentShadingRate
feature is enabled, and
pFormatConstraints::imageCreateInfo::usagecontainsIMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, thenpFormatConstraints::requiredFormatFeaturesmust containFORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA
-
pNextmust beNULL -
pFormatConstraintsmust be a valid pointer to an array offormatConstraintsCountvalidImageFormatConstraintsInfoFUCHSIAstructures -
bufferCollectionConstraintsmust be a validBufferCollectionConstraintsInfoFUCHSIAstructure -
flagsmust be a valid combination ofImageConstraintsInfoFlagBitsFUCHSIAvalues -
formatConstraintsCountmust be greater than0
See Also
VK_FUCHSIA_buffer_collection,
BufferCollectionConstraintsInfoFUCHSIA,
ImageConstraintsInfoFlagsFUCHSIA, ImageFormatConstraintsInfoFUCHSIA,
StructureType,
setBufferCollectionImageConstraintsFUCHSIA
Constructors
| ImageConstraintsInfoFUCHSIA | |
Fields
| |
Instances
| Show ImageConstraintsInfoFUCHSIA Source # | |
Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection Methods showsPrec :: Int -> ImageConstraintsInfoFUCHSIA -> ShowS # show :: ImageConstraintsInfoFUCHSIA -> String # showList :: [ImageConstraintsInfoFUCHSIA] -> ShowS # | |
| FromCStruct ImageConstraintsInfoFUCHSIA Source # | |
| ToCStruct ImageConstraintsInfoFUCHSIA Source # | |
Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection Methods withCStruct :: ImageConstraintsInfoFUCHSIA -> (Ptr ImageConstraintsInfoFUCHSIA -> IO b) -> IO b Source # pokeCStruct :: Ptr ImageConstraintsInfoFUCHSIA -> ImageConstraintsInfoFUCHSIA -> IO b -> IO b Source # withZeroCStruct :: (Ptr ImageConstraintsInfoFUCHSIA -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr ImageConstraintsInfoFUCHSIA -> IO b -> IO b Source # cStructSize :: Int Source # | |
| Zero ImageConstraintsInfoFUCHSIA Source # | |
Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection Methods | |
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
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
Constructors
| ImageFormatConstraintsFlagsFUCHSIA Flags |
Instances
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
Constructors
| ImageConstraintsInfoFlagBitsFUCHSIA Flags |
Bundled Patterns
| pattern IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA :: ImageConstraintsInfoFlagBitsFUCHSIA | |
| pattern IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA :: ImageConstraintsInfoFlagBitsFUCHSIA | |
| pattern IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA :: ImageConstraintsInfoFlagBitsFUCHSIA | |
| pattern IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA :: ImageConstraintsInfoFlagBitsFUCHSIA | |
| pattern IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA :: ImageConstraintsInfoFlagBitsFUCHSIA |
|
Instances
pattern FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION :: forall a. Integral a => a Source #
type FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME = "VK_FUCHSIA_buffer_collection" Source #
pattern FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #
newtype BufferCollectionFUCHSIA Source #
VkBufferCollectionFUCHSIA - Opaque handle to a buffer collection object
See Also
VK_FUCHSIA_buffer_collection,
BufferCollectionBufferCreateInfoFUCHSIA,
BufferCollectionImageCreateInfoFUCHSIA,
ImportMemoryBufferCollectionFUCHSIA,
createBufferCollectionFUCHSIA,
destroyBufferCollectionFUCHSIA,
getBufferCollectionPropertiesFUCHSIA,
setBufferCollectionBufferConstraintsFUCHSIA,
setBufferCollectionImageConstraintsFUCHSIA
Constructors
| BufferCollectionFUCHSIA Word64 |
Instances
newtype DebugReportObjectTypeEXT Source #
VkDebugReportObjectTypeEXT - Specify the type of an object handle
Description
'
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
Constructors
| DebugReportObjectTypeEXT Int32 |
Bundled Patterns
Instances
type Zx_handle_t = Word32 Source #