Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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
destroyBufferCollectionFUCHSIA
getBufferCollectionPropertiesFUCHSIA
setBufferCollectionBufferConstraintsFUCHSIA
setBufferCollectionImageConstraintsFUCHSIA
New Structures
BufferCollectionCreateInfoFUCHSIA
BufferCollectionPropertiesFUCHSIA
BufferConstraintsInfoFUCHSIA
ImageConstraintsInfoFUCHSIA
ImageFormatConstraintsInfoFUCHSIA
SysmemColorSpaceFUCHSIA
Extending
BufferCreateInfo
:Extending
ImageCreateInfo
:Extending
MemoryAllocateInfo
:
New Enums
New Bitmasks
New Enum Constants
FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION
Extending
ObjectType
:Extending
StructureType
:STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA
STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA
STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA
STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA
STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA
STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA
STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA
STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA
STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA
STRUCTURE_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 #
:: forall io. MonadIO io | |
=> Device |
|
-> BufferCollectionCreateInfoFUCHSIA |
|
-> ("allocator" ::: Maybe AllocationCallbacks) |
|
-> io BufferCollectionFUCHSIA |
vkCreateBufferCollectionFUCHSIA - Create a new buffer collection
Valid Usage (Implicit)
-
device
must be a validDevice
handle
-
pCreateInfo
must be a valid pointer to a validBufferCollectionCreateInfoFUCHSIA
structure - If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validAllocationCallbacks
structure -
pCollection
must be a valid pointer to aBufferCollectionFUCHSIA
handle
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 #
:: 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 #
:: 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 #
:: forall io. MonadIO io | |
=> Device |
|
-> BufferCollectionFUCHSIA |
|
-> ("allocator" ::: Maybe AllocationCallbacks) |
|
-> io () |
vkDestroyBufferCollectionFUCHSIA - Destroy a buffer collection
Valid Usage
-
Image
andBuffer
objects that referencedcollection
upon creation by inclusion of aBufferCollectionImageCreateInfoFUCHSIA
orBufferCollectionBufferCreateInfoFUCHSIA
chained to theirImageCreateInfo
orBufferCreateInfo
structures respectively, may outlivecollection
Valid Usage (Implicit)
-
device
must be a validDevice
handle
-
collection
must be a validBufferCollectionFUCHSIA
handle - If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validAllocationCallbacks
structure -
collection
must have been created, allocated, or retrieved fromdevice
See Also
VK_FUCHSIA_buffer_collection,
AllocationCallbacks
,
BufferCollectionFUCHSIA
,
Device
getBufferCollectionPropertiesFUCHSIA Source #
:: 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 eithersetBufferCollectionImageConstraintsFUCHSIA
orsetBufferCollectionBufferConstraintsFUCHSIA
Valid Usage (Implicit)
-
device
must be a validDevice
handle
-
collection
must be a validBufferCollectionFUCHSIA
handle -
pProperties
must be a valid pointer to aBufferCollectionPropertiesFUCHSIA
structure -
collection
must 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
ImportMemoryBufferCollectionFUCHSIA | |
|
Instances
data BufferCollectionImageCreateInfoFUCHSIA Source #
VkBufferCollectionImageCreateInfoFUCHSIA - Create a VkBufferCollectionFUCHSIA-compatible VkImage
Valid Usage (Implicit)
See Also
VK_FUCHSIA_buffer_collection,
BufferCollectionFUCHSIA
,
StructureType
BufferCollectionImageCreateInfoFUCHSIA | |
|
Instances
data BufferCollectionBufferCreateInfoFUCHSIA Source #
VkBufferCollectionBufferCreateInfoFUCHSIA - Create a VkBufferCollectionFUCHSIA-compatible VkBuffer
Valid Usage (Implicit)
See Also
VK_FUCHSIA_buffer_collection,
BufferCollectionFUCHSIA
,
StructureType
BufferCollectionBufferCreateInfoFUCHSIA | |
|
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
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
BufferCollectionPropertiesFUCHSIA | |
|
Instances
data BufferConstraintsInfoFUCHSIA Source #
VkBufferConstraintsInfoFUCHSIA - Structure buffer-based buffer collection constraints
Valid Usage
-
The
requiredFormatFeatures
bitmask ofFormatFeatureFlagBits
must be chosen from among the buffer compatible format features listed in buffer compatible format features
Valid Usage (Implicit)
-
sType
must beSTRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA
-
pNext
must beNULL
-
createInfo
must be a validBufferCreateInfo
structure -
requiredFormatFeatures
must be a valid combination ofFormatFeatureFlagBits
values -
bufferCollectionConstraints
must be a validBufferCollectionConstraintsInfoFUCHSIA
structure
See Also
VK_FUCHSIA_buffer_collection,
BufferCollectionConstraintsInfoFUCHSIA
,
BufferCreateInfo
,
FormatFeatureFlags
,
StructureType
,
setBufferCollectionBufferConstraintsFUCHSIA
BufferConstraintsInfoFUCHSIA | |
|
Instances
data SysmemColorSpaceFUCHSIA Source #
VkSysmemColorSpaceFUCHSIA - Structure describing the buffer collections color space
Valid Usage (Implicit)
See Also
VK_FUCHSIA_buffer_collection,
BufferCollectionPropertiesFUCHSIA
,
ImageFormatConstraintsInfoFUCHSIA
,
StructureType
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
ImageFormatConstraintsInfoFUCHSIA | |
|
Instances
data ImageConstraintsInfoFUCHSIA Source #
VkImageConstraintsInfoFUCHSIA - Structure of image-based buffer collection constraints
Valid Usage
- All
elements of
pFormatConstraints
must have at least one bit set in itsImageFormatConstraintsInfoFUCHSIA
::requiredFormatFeatures
- If
pFormatConstraints
::imageCreateInfo
::usage
containsIMAGE_USAGE_SAMPLED_BIT
, thenpFormatConstraints
::requiredFormatFeatures
must containFORMAT_FEATURE_SAMPLED_IMAGE_BIT
- If
pFormatConstraints
::imageCreateInfo
::usage
containsIMAGE_USAGE_STORAGE_BIT
, thenpFormatConstraints
::requiredFormatFeatures
must containFORMAT_FEATURE_STORAGE_IMAGE_BIT
- If
pFormatConstraints
::imageCreateInfo
::usage
containsIMAGE_USAGE_COLOR_ATTACHMENT_BIT
, thenpFormatConstraints
::requiredFormatFeatures
must containFORMAT_FEATURE_COLOR_ATTACHMENT_BIT
- If
pFormatConstraints
::imageCreateInfo
::usage
containsIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
, thenpFormatConstraints
::requiredFormatFeatures
must containFORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
- If
pFormatConstraints
::imageCreateInfo
::usage
containsIMAGE_USAGE_INPUT_ATTACHMENT_BIT
, thenpFormatConstraints
::requiredFormatFeatures
must contain at least one ofFORMAT_FEATURE_COLOR_ATTACHMENT_BIT
orFORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
-
If the
attachmentFragmentShadingRate
feature is enabled, and
pFormatConstraints
::imageCreateInfo
::usage
containsIMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
, thenpFormatConstraints
::requiredFormatFeatures
must containFORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
Valid Usage (Implicit)
-
sType
must beSTRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA
-
pNext
must beNULL
-
pFormatConstraints
must be a valid pointer to an array offormatConstraintsCount
validImageFormatConstraintsInfoFUCHSIA
structures -
bufferCollectionConstraints
must be a validBufferCollectionConstraintsInfoFUCHSIA
structure -
flags
must be a valid combination ofImageConstraintsInfoFlagBitsFUCHSIA
values -
formatConstraintsCount
must be greater than0
See Also
VK_FUCHSIA_buffer_collection,
BufferCollectionConstraintsInfoFUCHSIA
,
ImageConstraintsInfoFlagsFUCHSIA
, ImageFormatConstraintsInfoFUCHSIA
,
StructureType
,
setBufferCollectionImageConstraintsFUCHSIA
ImageConstraintsInfoFUCHSIA | |
|
Instances
Show ImageConstraintsInfoFUCHSIA Source # | |
Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection showsPrec :: Int -> ImageConstraintsInfoFUCHSIA -> ShowS # show :: ImageConstraintsInfoFUCHSIA -> String # showList :: [ImageConstraintsInfoFUCHSIA] -> ShowS # | |
FromCStruct ImageConstraintsInfoFUCHSIA Source # | |
ToCStruct ImageConstraintsInfoFUCHSIA Source # | |
Defined in Vulkan.Extensions.VK_FUCHSIA_buffer_collection 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 # | |
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
BufferCollectionConstraintsInfoFUCHSIA | |
|
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
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
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
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
Instances
type Zx_handle_t = Word32 Source #