| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Core10.SparseResourceMemoryManagement
Synopsis
- getImageSparseMemoryRequirements :: MonadIO io => Device -> Image -> io ("sparseMemoryRequirements" ::: Vector SparseImageMemoryRequirements)
- getPhysicalDeviceSparseImageFormatProperties :: MonadIO io => PhysicalDevice -> Format -> ImageType -> ("samples" ::: SampleCountFlagBits) -> ImageUsageFlags -> ImageTiling -> io ("properties" ::: Vector SparseImageFormatProperties)
- queueBindSparse :: MonadIO io => Queue -> ("bindInfo" ::: Vector (SomeStruct BindSparseInfo)) -> Fence -> io ()
- data SparseImageFormatProperties = SparseImageFormatProperties {}
- data SparseImageMemoryRequirements = SparseImageMemoryRequirements {}
- data ImageSubresource = ImageSubresource {}
- data SparseMemoryBind = SparseMemoryBind {}
- data SparseImageMemoryBind = SparseImageMemoryBind {}
- data SparseBufferMemoryBindInfo = SparseBufferMemoryBindInfo {}
- data SparseImageOpaqueMemoryBindInfo = SparseImageOpaqueMemoryBindInfo {}
- data SparseImageMemoryBindInfo = SparseImageMemoryBindInfo {}
- data BindSparseInfo (es :: [Type]) = BindSparseInfo {}
- newtype ImageAspectFlagBits where
- ImageAspectFlagBits Flags
- pattern IMAGE_ASPECT_COLOR_BIT :: ImageAspectFlagBits
- pattern IMAGE_ASPECT_DEPTH_BIT :: ImageAspectFlagBits
- pattern IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT :: ImageAspectFlagBits
- pattern IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT :: ImageAspectFlagBits
- pattern IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT :: ImageAspectFlagBits
- pattern IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT :: ImageAspectFlagBits
- pattern IMAGE_ASPECT_METADATA_BIT :: ImageAspectFlagBits
- pattern IMAGE_ASPECT_NONE :: ImageAspectFlagBits
- pattern IMAGE_ASPECT_PLANE_0_BIT :: ImageAspectFlagBits
- pattern IMAGE_ASPECT_PLANE_1_BIT :: ImageAspectFlagBits
- pattern IMAGE_ASPECT_PLANE_2_BIT :: ImageAspectFlagBits
- pattern IMAGE_ASPECT_STENCIL_BIT :: ImageAspectFlagBits
- type ImageAspectFlags = ImageAspectFlagBits
- newtype SparseImageFormatFlagBits where
- type SparseImageFormatFlags = SparseImageFormatFlagBits
- newtype SparseMemoryBindFlagBits where
- type SparseMemoryBindFlags = SparseMemoryBindFlagBits
Documentation
getImageSparseMemoryRequirements Source #
Arguments
| :: MonadIO io | |
| => Device |
|
| -> Image |
|
| -> io ("sparseMemoryRequirements" ::: Vector SparseImageMemoryRequirements) |
vkGetImageSparseMemoryRequirements - Query the memory requirements for a sparse image
Description
If pSparseMemoryRequirements is NULL, then the number of sparse
memory requirements available is returned in
pSparseMemoryRequirementCount. Otherwise,
pSparseMemoryRequirementCount must point to a variable set by the
application to the number of elements in the pSparseMemoryRequirements
array, and on return the variable is overwritten with the number of
structures actually written to pSparseMemoryRequirements. If
pSparseMemoryRequirementCount is less than the number of sparse memory
requirements available, at most pSparseMemoryRequirementCount
structures will be written.
If the image was not created with
IMAGE_CREATE_SPARSE_RESIDENCY_BIT
then pSparseMemoryRequirementCount will be zero and
pSparseMemoryRequirements will not be written to.
It is legal for an implementation to report a larger value in
MemoryRequirements::size than would
be obtained by adding together memory sizes for all
SparseImageMemoryRequirements returned by
getImageSparseMemoryRequirements. This may occur when the
implementation requires unused padding in the address range describing
the resource.
Valid Usage (Implicit)
-
devicemust be a validDevicehandle
-
imagemust be a validImagehandle -
pSparseMemoryRequirementCountmust be a valid pointer to auint32_tvalue -
If the value referenced by
pSparseMemoryRequirementCountis not0, andpSparseMemoryRequirementsis notNULL,pSparseMemoryRequirementsmust be a valid pointer to an array ofpSparseMemoryRequirementCountSparseImageMemoryRequirementsstructures -
imagemust have been created, allocated, or retrieved fromdevice
See Also
VK_VERSION_1_0,
Device, Image,
SparseImageMemoryRequirements
getPhysicalDeviceSparseImageFormatProperties Source #
Arguments
| :: MonadIO io | |
| => PhysicalDevice |
|
| -> Format |
|
| -> ImageType |
|
| -> ("samples" ::: SampleCountFlagBits) |
|
| -> ImageUsageFlags |
|
| -> ImageTiling |
|
| -> io ("properties" ::: Vector SparseImageFormatProperties) |
vkGetPhysicalDeviceSparseImageFormatProperties - Retrieve properties of an image format applied to sparse images
Description
If pProperties is NULL, then the number of sparse format properties
available is returned in pPropertyCount. Otherwise, pPropertyCount
must point to a variable set by the application to the number of
elements in the pProperties array, and on return the variable is
overwritten with the number of structures actually written to
pProperties. If pPropertyCount is less than the number of sparse
format properties available, at most pPropertyCount structures will be
written.
If
IMAGE_CREATE_SPARSE_RESIDENCY_BIT
is not supported for the given arguments, pPropertyCount will be zero
upon return, and no data will be written to pProperties.
Multiple aspects are returned for depth/stencil images that are
implemented as separate planes by the implementation. The depth and
stencil data planes each have unique SparseImageFormatProperties data.
Depth/stencil images with depth and stencil data interleaved into a
single plane will return a single SparseImageFormatProperties
structure with the aspectMask set to
IMAGE_ASPECT_DEPTH_BIT |
IMAGE_ASPECT_STENCIL_BIT.
Valid Usage
-
samplesmust be a validSampleCountFlagBitsvalue that is set inImageFormatProperties::sampleCountsreturned bygetPhysicalDeviceImageFormatPropertieswithformat,type,tiling, andusageequal to those in this command
Valid Usage (Implicit)
-
physicalDevicemust be a validPhysicalDevicehandle
-
formatmust be a validFormatvalue -
typemust be a validImageTypevalue -
samplesmust be a validSampleCountFlagBitsvalue -
usagemust be a valid combination ofImageUsageFlagBitsvalues -
usagemust not be0 -
tilingmust be a validImageTilingvalue -
pPropertyCountmust be a valid pointer to auint32_tvalue -
If the value referenced by
pPropertyCountis not0, andpPropertiesis notNULL,pPropertiesmust be a valid pointer to an array ofpPropertyCountSparseImageFormatPropertiesstructures
See Also
VK_VERSION_1_0,
Format,
ImageTiling,
ImageType,
ImageUsageFlags,
PhysicalDevice,
SampleCountFlagBits,
SparseImageFormatProperties
Arguments
| :: MonadIO io | |
| => Queue |
|
| -> ("bindInfo" ::: Vector (SomeStruct BindSparseInfo)) |
|
| -> Fence |
|
| -> io () |
vkQueueBindSparse - Bind device memory to a sparse resource object
Description
queueBindSparse is a
queue submission command,
with each batch defined by an element of pBindInfo as a
BindSparseInfo structure. Batches begin execution in the order they
appear in pBindInfo, but may complete out of order.
Within a batch, a given range of a resource must not be bound more than once. Across batches, if a range is to be bound to one allocation and offset and then to another allocation and offset, then the application must guarantee (usually using semaphores) that the binding operations are executed in the correct order, as well as to order binding operations against the execution of command buffer submissions.
As no operation to queueBindSparse causes any pipeline stage to access
memory, synchronization primitives used in this command effectively only
define execution dependencies.
Additional information about fence and semaphore operation is described in the synchronization chapter.
Valid Usage
- If
fenceis notNULL_HANDLE,fencemust be unsignaled
- If
fenceis notNULL_HANDLE,fencemust not be associated with any other queue command that has not yet completed execution on that queue - Each element of the
pSignalSemaphoresmember of each element ofpBindInfomust be unsignaled when the semaphore signal operation it defines is executed on the device - When a semaphore wait
operation referring to a binary semaphore defined by any element of
the
pWaitSemaphoresmember of any element ofpBindInfoexecutes onqueue, there must be no other queues waiting on the same semaphore - All elements of the
pWaitSemaphoresmember of all elements ofpBindInforeferring to a semaphore created with aSemaphoreTypeofSEMAPHORE_TYPE_BINARYmust reference a semaphore signal operation that has been submitted for execution and any semaphore signal operations on which it depends must have also been submitted for execution
Valid Usage (Implicit)
-
queuemust be a validQueuehandle
- If
bindInfoCountis not0,pBindInfomust be a valid pointer to an array ofbindInfoCountvalidBindSparseInfostructures - If
fenceis notNULL_HANDLE,fencemust be a validFencehandle - The
queuemust supportQUEUE_SPARSE_BINDING_BIToperations - Both of
fence, andqueuethat are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the sameDevice
Host Synchronization
- Host access to
queuemust be externally synchronized if it was not created withDEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR
- Host access to
fencemust be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| - | - | - | VK_QUEUE_SPARSE_BINDING_BIT | - |
Return Codes
See Also
data SparseImageFormatProperties Source #
VkSparseImageFormatProperties - Structure specifying sparse image format properties
See Also
VK_VERSION_1_0,
Extent3D,
ImageAspectFlags,
SparseImageFormatFlags,
SparseImageFormatProperties2,
SparseImageMemoryRequirements,
getPhysicalDeviceSparseImageFormatProperties
Constructors
| SparseImageFormatProperties | |
Fields
| |
Instances
data SparseImageMemoryRequirements Source #
VkSparseImageMemoryRequirements - Structure specifying sparse image memory requirements
See Also
VK_VERSION_1_0,
DeviceSize,
SparseImageFormatProperties,
SparseImageMemoryRequirements2,
getImageSparseMemoryRequirements
Constructors
| SparseImageMemoryRequirements | |
Fields
| |
Instances
data ImageSubresource Source #
VkImageSubresource - Structure specifying an image subresource
Valid Usage (Implicit)
See Also
VK_VERSION_1_0,
ImageAspectFlags,
ImageSubresource2,
SparseImageMemoryBind, getImageSubresourceLayout
Constructors
| ImageSubresource | |
Fields
| |
Instances
data SparseMemoryBind Source #
VkSparseMemoryBind - Structure specifying a sparse memory bind operation
Description
The binding range [resourceOffset, resourceOffset + size) has
different constraints based on flags. If flags contains
SPARSE_MEMORY_BIND_METADATA_BIT,
the binding range must be within the mip tail region of the metadata
aspect. This metadata region is defined by:
- metadataRegion = [base, base +
imageMipTailSize) - base =
imageMipTailOffset+imageMipTailStride× n
and imageMipTailOffset, imageMipTailSize, and imageMipTailStride
values are from the SparseImageMemoryRequirements corresponding to the
metadata aspect of the image, and n is a valid array layer index for the
image,
imageMipTailStride is considered to be zero for aspects where
SparseImageMemoryRequirements::formatProperties.flags contains
SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT.
If flags does not contain
SPARSE_MEMORY_BIND_METADATA_BIT,
the binding range must be within the range
[0,MemoryRequirements::size).
Valid Usage
- If
memoryis notNULL_HANDLE,memoryandmemoryOffsetmust match the memory requirements of the resource, as described in section https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#resources-association
- If the resource being
bound is a
Buffer,resourceOffset,memoryOffsetandsizemust be an integer multiple of thealignmentof theMemoryRequirementsstructure returned from a call togetBufferMemoryRequirementswith the buffer resource - If the resource being
bound is a
Image,resourceOffsetandmemoryOffsetmust be an integer multiple of thealignmentof theMemoryRequirementsstructure returned from a call togetImageMemoryRequirementswith the image resource - If
memoryis notNULL_HANDLE,memorymust not have been created with a memory type that reportsMEMORY_PROPERTY_LAZILY_ALLOCATED_BITbit set -
sizemust be greater than0 -
resourceOffsetmust be less than the size of the resource -
sizemust be less than or equal to the size of the resource minusresourceOffset -
memoryOffsetmust be less than the size ofmemory -
sizemust be less than or equal to the size ofmemoryminusmemoryOffset - If
memorywas created withExportMemoryAllocateInfo::handleTypesnot equal to0, at least one handle type it contained must also have been set inExternalMemoryBufferCreateInfo::handleTypesorExternalMemoryImageCreateInfo::handleTypeswhen the resource was created - If
memorywas created by a memory import operation, the external handle type of the imported memory must also have been set inExternalMemoryBufferCreateInfo::handleTypesorExternalMemoryImageCreateInfo::handleTypeswhen the resource was created
Valid Usage (Implicit)
- If
memoryis notNULL_HANDLE,memorymust be a validDeviceMemoryhandle
-
flagsmust be a valid combination ofSparseMemoryBindFlagBitsvalues
See Also
VK_VERSION_1_0,
DeviceMemory,
DeviceSize,
SparseBufferMemoryBindInfo, SparseImageOpaqueMemoryBindInfo,
SparseMemoryBindFlags
Constructors
| SparseMemoryBind | |
Fields
| |
Instances
data SparseImageMemoryBind Source #
VkSparseImageMemoryBind - Structure specifying sparse image memory bind
Valid Usage
- If the
sparseResidencyAliased
feature is not enabled, and if any other resources are bound to
ranges of
memory, the range ofmemorybeing bound must not overlap with those bound ranges
-
memoryandmemoryOffsetmust match the memory requirements of the calling command’simage, as described in section https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#resources-association -
offset.xmust be a multiple of the sparse image block width (SparseImageFormatProperties::imageGranularity.width) of the image -
extent.widthmust be greater than0 -
extent.widthmust either be a multiple of the sparse image block width of the image, or else (extent.width+offset.x) must equal the width of the image subresource -
offset.ymust be a multiple of the sparse image block height (SparseImageFormatProperties::imageGranularity.height) of the image -
extent.heightmust be greater than0 -
extent.heightmust either be a multiple of the sparse image block height of the image, or else (extent.height+offset.y) must equal the height of the image subresource -
offset.zmust be a multiple of the sparse image block depth (SparseImageFormatProperties::imageGranularity.depth) of the image -
extent.depthmust be greater than0 -
extent.depthmust either be a multiple of the sparse image block depth of the image, or else (extent.depth+offset.z) must equal the depth of the image subresource - If
memorywas created withExportMemoryAllocateInfo::handleTypesnot equal to0, at least one handle type it contained must also have been set inExternalMemoryImageCreateInfo::handleTypeswhen the image was created - If
memorywas created by a memory import operation, the external handle type of the imported memory must also have been set inExternalMemoryImageCreateInfo::handleTypeswhenimagewas created
Valid Usage (Implicit)
-
subresourcemust be a validImageSubresourcestructure
- If
memoryis notNULL_HANDLE,memorymust be a validDeviceMemoryhandle -
flagsmust be a valid combination ofSparseMemoryBindFlagBitsvalues
See Also
VK_VERSION_1_0,
DeviceMemory,
DeviceSize,
Extent3D, ImageSubresource,
Offset3D, SparseImageMemoryBindInfo,
SparseMemoryBindFlags
Constructors
| SparseImageMemoryBind | |
Fields
| |
Instances
data SparseBufferMemoryBindInfo Source #
VkSparseBufferMemoryBindInfo - Structure specifying a sparse buffer memory bind operation
Valid Usage (Implicit)
See Also
Constructors
| SparseBufferMemoryBindInfo | |
Fields
| |
Instances
data SparseImageOpaqueMemoryBindInfo Source #
VkSparseImageOpaqueMemoryBindInfo - Structure specifying sparse image opaque memory bind information
Description
This structure is normally used to bind memory to fully-resident sparse images or for mip tail regions of partially resident images. However, it can also be used to bind memory for the entire binding range of partially resident images.
If the pBinds[i].flags of an element i of pBinds does not contain
SPARSE_MEMORY_BIND_METADATA_BIT,
the resourceOffset is in the range [0,
MemoryRequirements::size), This range
includes data from all aspects of the image, including metadata. For
most implementations this will probably mean that the resourceOffset
is a simple device address offset within the resource. It is possible
for an application to bind a range of memory that includes both resource
data and metadata. However, the application would not know what part of
the image the memory is used for, or if any range is being used for
metadata.
If the pBinds[i].flags of an element i of pBinds contains
SPARSE_MEMORY_BIND_METADATA_BIT,
the binding range specified must be within the mip tail region of the
metadata aspect. In this case the resourceOffset is not required to
be a simple device address offset within the resource. However, it is
defined to be within [imageMipTailOffset, imageMipTailOffset +
imageMipTailSize) for the metadata aspect. See SparseMemoryBind for
the full constraints on binding region with this flag present.
Valid Usage
- If the
flagsmember of any element ofpBindscontainsSPARSE_MEMORY_BIND_METADATA_BIT, the binding range defined must be within the mip tail region of the metadata aspect ofimage
Valid Usage (Implicit)
-
imagemust be a validImagehandle
-
pBindsmust be a valid pointer to an array ofbindCountvalidSparseMemoryBindstructures -
bindCountmust be greater than0
See Also
Constructors
| SparseImageOpaqueMemoryBindInfo | |
Fields
| |
Instances
| Show SparseImageOpaqueMemoryBindInfo Source # | |
Defined in Vulkan.Core10.SparseResourceMemoryManagement Methods showsPrec :: Int -> SparseImageOpaqueMemoryBindInfo -> ShowS # | |
| FromCStruct SparseImageOpaqueMemoryBindInfo Source # | |
| ToCStruct SparseImageOpaqueMemoryBindInfo Source # | |
Defined in Vulkan.Core10.SparseResourceMemoryManagement Methods withCStruct :: SparseImageOpaqueMemoryBindInfo -> (Ptr SparseImageOpaqueMemoryBindInfo -> IO b) -> IO b Source # pokeCStruct :: Ptr SparseImageOpaqueMemoryBindInfo -> SparseImageOpaqueMemoryBindInfo -> IO b -> IO b Source # withZeroCStruct :: (Ptr SparseImageOpaqueMemoryBindInfo -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr SparseImageOpaqueMemoryBindInfo -> IO b -> IO b Source # cStructSize :: Int Source # | |
| Zero SparseImageOpaqueMemoryBindInfo Source # | |
Defined in Vulkan.Core10.SparseResourceMemoryManagement Methods | |
data SparseImageMemoryBindInfo Source #
VkSparseImageMemoryBindInfo - Structure specifying sparse image memory bind information
Valid Usage
- The
subresource.mipLevelmember of each element ofpBindsmust be less than themipLevelsspecified inImageCreateInfowhenimagewas created
- The
subresource.arrayLayermember of each element ofpBindsmust be less than thearrayLayersspecified inImageCreateInfowhenimagewas created - The
subresource.aspectMaskmember of each element ofpBindsmust be valid for theformatspecified inImageCreateInfowhenimagewas created -
imagemust have been created withIMAGE_CREATE_SPARSE_RESIDENCY_BITset
Valid Usage (Implicit)
-
imagemust be a validImagehandle
-
pBindsmust be a valid pointer to an array ofbindCountvalidSparseImageMemoryBindstructures -
bindCountmust be greater than0
See Also
VK_VERSION_1_0,
BindSparseInfo, Image, SparseImageMemoryBind
Constructors
| SparseImageMemoryBindInfo | |
Fields
| |
Instances
data BindSparseInfo (es :: [Type]) Source #
VkBindSparseInfo - Structure specifying a sparse binding operation
Description
The first synchronization scope of each semaphore signal operation defined by this structure includes all sparse binding operations defined by this structure.
The second synchronization scope of each semaphore wait operation defined by this structure includes all sparse binding operations defined by this structure.
Valid Usage
- If any element of
pWaitSemaphoresorpSignalSemaphoreswas created with aSemaphoreTypeofSEMAPHORE_TYPE_TIMELINEthen thepNextchain must include aTimelineSemaphoreSubmitInfostructure
- If the
pNextchain of this structure includes aTimelineSemaphoreSubmitInfostructure and any element ofpWaitSemaphoreswas created with aSemaphoreTypeofSEMAPHORE_TYPE_TIMELINEthen itswaitSemaphoreValueCountmember must equalwaitSemaphoreCount - If the
pNextchain of this structure includes aTimelineSemaphoreSubmitInfostructure and any element ofpSignalSemaphoreswas created with aSemaphoreTypeofSEMAPHORE_TYPE_TIMELINEthen itssignalSemaphoreValueCountmember must equalsignalSemaphoreCount - For each element of
pSignalSemaphorescreated with aSemaphoreTypeofSEMAPHORE_TYPE_TIMELINEthe corresponding element ofTimelineSemaphoreSubmitInfo::pSignalSemaphoreValuesmust have a value greater than the current value of the semaphore when the semaphore signal operation is executed - For each element of
pWaitSemaphorescreated with aSemaphoreTypeofSEMAPHORE_TYPE_TIMELINEthe corresponding element ofTimelineSemaphoreSubmitInfo::pWaitSemaphoreValuesmust have a value which does not differ from the current value of the semaphore or from the value of any outstanding semaphore wait or signal operation on that semaphore by more than maxTimelineSemaphoreValueDifference - For each element of
pSignalSemaphorescreated with aSemaphoreTypeofSEMAPHORE_TYPE_TIMELINEthe corresponding element ofTimelineSemaphoreSubmitInfo::pSignalSemaphoreValuesmust have a value which does not differ from the current value of the semaphore or from the value of any outstanding semaphore wait or signal operation on that semaphore by more than maxTimelineSemaphoreValueDifference - If the
pNextchain of this structure includes aFrameBoundaryTensorsARMstructure then it must also include aFrameBoundaryEXTstructure
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_BIND_SPARSE_INFO
- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofDeviceGroupBindSparseInfo,FrameBoundaryEXT,FrameBoundaryTensorsARM, orTimelineSemaphoreSubmitInfo - The
sTypevalue of each structure in thepNextchain must be unique - If
waitSemaphoreCountis not0,pWaitSemaphoresmust be a valid pointer to an array ofwaitSemaphoreCountvalidSemaphorehandles - If
bufferBindCountis not0,pBufferBindsmust be a valid pointer to an array ofbufferBindCountvalidSparseBufferMemoryBindInfostructures - If
imageOpaqueBindCountis not0,pImageOpaqueBindsmust be a valid pointer to an array ofimageOpaqueBindCountvalidSparseImageOpaqueMemoryBindInfostructures - If
imageBindCountis not0,pImageBindsmust be a valid pointer to an array ofimageBindCountvalidSparseImageMemoryBindInfostructures - If
signalSemaphoreCountis not0,pSignalSemaphoresmust be a valid pointer to an array ofsignalSemaphoreCountvalidSemaphorehandles - Both of the elements of
pSignalSemaphores, and the elements ofpWaitSemaphoresthat are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the sameDevice
See Also
VK_VERSION_1_0,
Semaphore, SparseBufferMemoryBindInfo,
SparseImageMemoryBindInfo, SparseImageOpaqueMemoryBindInfo,
StructureType, queueBindSparse
Constructors
| BindSparseInfo | |
Fields
| |
Instances
newtype ImageAspectFlagBits Source #
VkImageAspectFlagBits - Bitmask specifying which aspects of an image are included in a view
Description
IMAGE_ASPECT_NONEspecifies no image aspect, or the image aspect is not applicable.
IMAGE_ASPECT_COLOR_BITspecifies the color aspect.IMAGE_ASPECT_DEPTH_BITspecifies the depth aspect.IMAGE_ASPECT_STENCIL_BITspecifies the stencil aspect.IMAGE_ASPECT_METADATA_BITspecifies the metadata aspect used for sparse resource operations.IMAGE_ASPECT_PLANE_0_BITspecifies plane 0 of a multi-planar image format.IMAGE_ASPECT_PLANE_1_BITspecifies plane 1 of a multi-planar image format.IMAGE_ASPECT_PLANE_2_BITspecifies plane 2 of a multi-planar image format.IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXTspecifies memory plane 0.IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXTspecifies memory plane 1.IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXTspecifies memory plane 2.IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXTspecifies memory plane 3.
See Also
VK_VERSION_1_0,
BindImagePlaneMemoryInfo,
DeviceImageMemoryRequirements,
ExportMetalTextureInfoEXT,
ImageAspectFlags,
ImagePlaneMemoryRequirementsInfo,
ImportMetalTextureInfoEXT
Constructors
| ImageAspectFlagBits Flags |
Bundled Patterns
| pattern IMAGE_ASPECT_COLOR_BIT :: ImageAspectFlagBits | |
| pattern IMAGE_ASPECT_DEPTH_BIT :: ImageAspectFlagBits | |
| pattern IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT :: ImageAspectFlagBits | |
| pattern IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT :: ImageAspectFlagBits | |
| pattern IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT :: ImageAspectFlagBits | |
| pattern IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT :: ImageAspectFlagBits | |
| pattern IMAGE_ASPECT_METADATA_BIT :: ImageAspectFlagBits | |
| pattern IMAGE_ASPECT_NONE :: ImageAspectFlagBits | |
| pattern IMAGE_ASPECT_PLANE_0_BIT :: ImageAspectFlagBits | |
| pattern IMAGE_ASPECT_PLANE_1_BIT :: ImageAspectFlagBits | |
| pattern IMAGE_ASPECT_PLANE_2_BIT :: ImageAspectFlagBits | |
| pattern IMAGE_ASPECT_STENCIL_BIT :: ImageAspectFlagBits |
Instances
newtype SparseImageFormatFlagBits Source #
VkSparseImageFormatFlagBits - Bitmask specifying additional information about a sparse image resource
Description
SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BITspecifies that the image uses a single mip tail region for all array layers.
SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BITspecifies that the first mip level whose dimensions are not integer multiples of the corresponding dimensions of the sparse image block begins the mip tail region.SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BITspecifies that the image uses non-standard sparse image block dimensions, and theimageGranularityvalues do not match the standard sparse image block dimensions for the given format.
See Also
Constructors
| SparseImageFormatFlagBits Flags |
Bundled Patterns
Instances
newtype SparseMemoryBindFlagBits Source #
VkSparseMemoryBindFlagBits - Bitmask specifying usage of a sparse memory binding operation
Description
SPARSE_MEMORY_BIND_METADATA_BITspecifies that the memory being bound is only for the metadata aspect.
See Also
Constructors
| SparseMemoryBindFlagBits Flags |
Bundled Patterns
| pattern SPARSE_MEMORY_BIND_METADATA_BIT :: SparseMemoryBindFlagBits |