| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Graphics.Vulkan.Core10.SparseResourceMemoryManagement
- newtype VkImageAspectFlagBits = VkImageAspectFlagBits VkFlags
- pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectFlagBits
- pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectFlagBits
- pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectFlagBits
- pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectFlagBits
- newtype VkSparseMemoryBindFlagBits = VkSparseMemoryBindFlagBits VkFlags
- pattern VK_SPARSE_MEMORY_BIND_METADATA_BIT :: VkSparseMemoryBindFlagBits
- newtype VkSparseImageFormatFlagBits = VkSparseImageFormatFlagBits VkFlags
- pattern VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT :: VkSparseImageFormatFlagBits
- pattern VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT :: VkSparseImageFormatFlagBits
- pattern VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT :: VkSparseImageFormatFlagBits
- vkGetImageSparseMemoryRequirements :: ("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements) -> IO ()
- vkGetPhysicalDeviceSparseImageFormatProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("samples" ::: VkSampleCountFlagBits) -> ("usage" ::: VkImageUsageFlags) -> ("tiling" ::: VkImageTiling) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties) -> IO ()
- vkQueueBindSparse :: ("queue" ::: VkQueue) -> ("bindInfoCount" ::: Word32) -> ("pBindInfo" ::: Ptr VkBindSparseInfo) -> ("fence" ::: VkFence) -> IO VkResult
- data VkOffset3D = VkOffset3D {}
- data VkSparseImageFormatProperties = VkSparseImageFormatProperties {}
- data VkSparseImageMemoryRequirements = VkSparseImageMemoryRequirements {}
- data VkImageSubresource = VkImageSubresource {}
- data VkSparseMemoryBind = VkSparseMemoryBind {}
- data VkSparseImageMemoryBind = VkSparseImageMemoryBind {}
- data VkSparseBufferMemoryBindInfo = VkSparseBufferMemoryBindInfo {}
- data VkSparseImageOpaqueMemoryBindInfo = VkSparseImageOpaqueMemoryBindInfo {}
- data VkSparseImageMemoryBindInfo = VkSparseImageMemoryBindInfo {}
- data VkBindSparseInfo = VkBindSparseInfo {
- vkSType :: VkStructureType
- vkPNext :: Ptr ()
- vkWaitSemaphoreCount :: Word32
- vkPWaitSemaphores :: Ptr VkSemaphore
- vkBufferBindCount :: Word32
- vkPBufferBinds :: Ptr VkSparseBufferMemoryBindInfo
- vkImageOpaqueBindCount :: Word32
- vkPImageOpaqueBinds :: Ptr VkSparseImageOpaqueMemoryBindInfo
- vkImageBindCount :: Word32
- vkPImageBinds :: Ptr VkSparseImageMemoryBindInfo
- vkSignalSemaphoreCount :: Word32
- vkPSignalSemaphores :: Ptr VkSemaphore
- type VkImageAspectFlags = VkImageAspectFlagBits
- type VkSparseMemoryBindFlags = VkSparseMemoryBindFlagBits
- type VkSparseImageFormatFlags = VkSparseImageFormatFlagBits
Documentation
newtype VkImageAspectFlagBits Source #
VkImageAspectFlagBits - Bitmask specifying which aspects of an image are included in a view
See Also
VkBindImagePlaneMemoryInfo,
VkImageAspectFlags,
VkImagePlaneMemoryRequirementsInfo
Constructors
| VkImageAspectFlagBits VkFlags |
pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectFlagBits Source #
VK_IMAGE_ASPECT_COLOR_BIT specifies the color aspect.
pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectFlagBits Source #
VK_IMAGE_ASPECT_DEPTH_BIT specifies the depth aspect.
pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectFlagBits Source #
VK_IMAGE_ASPECT_STENCIL_BIT specifies the stencil aspect.
pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectFlagBits Source #
VK_IMAGE_ASPECT_METADATA_BIT specifies the metadata aspect, used for
sparse sparse resource operations.
newtype VkSparseMemoryBindFlagBits Source #
VkSparseMemoryBindFlagBits - Bitmask specifying usage of a sparse memory binding operation
See Also
Constructors
| VkSparseMemoryBindFlagBits VkFlags |
Instances
pattern VK_SPARSE_MEMORY_BIND_METADATA_BIT :: VkSparseMemoryBindFlagBits Source #
VK_SPARSE_MEMORY_BIND_METADATA_BIT specifies that the memory being
bound is only for the metadata aspect.
newtype VkSparseImageFormatFlagBits Source #
VkSparseImageFormatFlagBits - Bitmask specifying additional information about a sparse image resource
See Also
Constructors
| VkSparseImageFormatFlagBits VkFlags |
Instances
pattern VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT :: VkSparseImageFormatFlagBits Source #
VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT specifies that the image
uses a single mip tail region for all array layers.
pattern VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT :: VkSparseImageFormatFlagBits Source #
VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT specifies 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.
pattern VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT :: VkSparseImageFormatFlagBits Source #
VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT specifies that the
image uses non-standard sparse image block dimensions, and the
imageGranularity values do not match the standard sparse image block
dimensions for the given format.
vkGetImageSparseMemoryRequirements :: ("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements) -> IO () Source #
vkGetImageSparseMemoryRequirements - Query the memory requirements for a sparse image
Parameters
deviceis the logical device that owns the image.
imageis theVkImageobject to get the memory requirements for.pSparseMemoryRequirementCountis a pointer to an integer related to the number of sparse memory requirements available or queried, as described below.pSparseMemoryRequirementsis eitherNULLor a pointer to an array ofVkSparseImageMemoryRequirementsstructures.
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
user 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 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT
then pSparseMemoryRequirementCount will be set to zero and
pSparseMemoryRequirements will not be written to.
Note
It is legal for an implementation to report a larger value in
VkMemoryRequirements::size than would be obtained by adding together
memory sizes for all VkSparseImageMemoryRequirements returned by
vkGetImageSparseMemoryRequirements. This may occur when the
implementation requires unused padding in the address range describing
the resource.
Valid Usage (Implicit)
devicemust be a validVkDevicehandle
imagemust be a validVkImagehandlepSparseMemoryRequirementCountmust be a valid pointer to auint32_tvalue- If the value referenced by
pSparseMemoryRequirementCountis not0, andpSparseMemoryRequirementsis notNULL,pSparseMemoryRequirementsmust be a valid pointer to an array ofpSparseMemoryRequirementCountVkSparseImageMemoryRequirementsstructures imagemust have been created, allocated, or retrieved fromdevice
See Also
vkGetPhysicalDeviceSparseImageFormatProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("samples" ::: VkSampleCountFlagBits) -> ("usage" ::: VkImageUsageFlags) -> ("tiling" ::: VkImageTiling) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties) -> IO () Source #
vkGetPhysicalDeviceSparseImageFormatProperties - Retrieve properties of an image format applied to sparse images
Parameters
physicalDeviceis the physical device from which to query the sparse image capabilities.
formatis the image format.typeis the dimensionality of image.samplesis the number of samples per texel as defined inVkSampleCountFlagBits.usageis a bitmask describing the intended usage of the image.tilingis the tiling arrangement of the data elements in memory.pPropertyCountis a pointer to an integer related to the number of sparse format properties available or queried, as described below.pPropertiesis eitherNULLor a pointer to an array ofVkSparseImageFormatPropertiesstructures.
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 user 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 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT is not supported for the given
arguments, pPropertyCount will be set to 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 VkSparseImageFormatProperties
data.
Depth/stencil images with depth and stencil data interleaved into a
single plane will return a single VkSparseImageFormatProperties
structure with the aspectMask set to VK_IMAGE_ASPECT_DEPTH_BIT |
VK_IMAGE_ASPECT_STENCIL_BIT.
Valid Usage
samplesmust be a bit value that is set inVkImageFormatProperties::sampleCountsreturned byvkGetPhysicalDeviceImageFormatPropertieswithformat,type,tiling, andusageequal to those in this command andflagsequal to the value that is set inVkImageCreateInfo::flagswhen the image is created
Valid Usage (Implicit)
physicalDevicemust be a validVkPhysicalDevicehandle
formatmust be a validVkFormatvaluetypemust be a validVkImageTypevaluesamplesmust be a validVkSampleCountFlagBitsvalueusagemust be a valid combination ofVkImageUsageFlagBitsvaluesusagemust not be0tilingmust be a validVkImageTilingvaluepPropertyCountmust be a valid pointer to auint32_tvalue- If the value referenced by
pPropertyCountis not0, andpPropertiesis notNULL,pPropertiesmust be a valid pointer to an array ofpPropertyCountVkSparseImageFormatPropertiesstructures
See Also
VkFormat,
VkImageTiling,
VkImageType,
VkImageUsageFlags,
VkPhysicalDevice,
VkSampleCountFlagBits,
VkSparseImageFormatProperties
vkQueueBindSparse :: ("queue" ::: VkQueue) -> ("bindInfoCount" ::: Word32) -> ("pBindInfo" ::: Ptr VkBindSparseInfo) -> ("fence" ::: VkFence) -> IO VkResult Source #
vkQueueBindSparse - Bind device memory to a sparse resource object
Parameters
queueis the queue that the sparse binding operations will be submitted to.
bindInfoCountis the number of elements in thepBindInfoarray.pBindInfois an array ofVkBindSparseInfostructures, each specifying a sparse binding submission batch.fenceis an optional handle to a fence to be signaled. Iffenceis notVK_NULL_HANDLE, it defines a fence signal operation.
Description
vkQueueBindSparse is a
queue submission command,
with each batch defined by an element of pBindInfo as an instance of
the VkBindSparseInfo 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 vkQueueBindSparse 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 notVK_NULL_HANDLE,fencemust be unsignaled
- If
fenceis notVK_NULL_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 unsignal operation defined by any element of the
pWaitSemaphoresmember of any element ofpBindInfoexecutes onqueue, no other queue must be waiting on the same semaphore. - All elements of the
pWaitSemaphoresmember of all elements ofpBindInfomust be semaphores that are signaled, or have semaphore signal operations previously submitted for execution.
Valid Usage (Implicit)
queuemust be a validVkQueuehandle
- If
bindInfoCountis not0,pBindInfomust be a valid pointer to an array ofbindInfoCountvalidVkBindSparseInfostructures - If
fenceis notVK_NULL_HANDLE,fencemust be a validVkFencehandle - The
queuemust support sparse binding operations - Both of
fence, andqueuethat are valid handles must have been created, allocated, or retrieved from the sameVkDevice
Host Synchronization
- Host access to
queuemust be externally synchronized
- Host access to
pBindInfo[].pWaitSemaphores[] must be externally synchronized - Host access to
pBindInfo[].pSignalSemaphores[] must be externally synchronized - Host access to
pBindInfo[].pBufferBinds[].buffer must be externally synchronized - Host access to
pBindInfo[].pImageOpaqueBinds[].image must be externally synchronized - Host access to
pBindInfo[].pImageBinds[].image must be externally synchronized - Host access to
fencemust be externally synchronized
Command Properties
+-----------------+-----------------+-----------------+-----------------+ | <#VkCommandBuff | <#vkCmdBeginRen | <#VkQueueFlagBi | <#synchronizati | | erLevel Command | derPass Render | ts Supported Qu | on-pipeline-sta | | Buffer Levels> | Pass Scope> | eue Types> | ges-types Pipel | | | | | ine Type> | +=================+=================+=================+=================+ | - | - | SPARSE_BINDING | - | +-----------------+-----------------+-----------------+-----------------+
Return Codes
- Success
- -
VK_SUCCESS
- Failure
- -
VK_ERROR_OUT_OF_HOST_MEMORYVK_ERROR_OUT_OF_DEVICE_MEMORY
VK_ERROR_DEVICE_LOST
See Also
data VkOffset3D Source #
VkOffset3D - Structure specifying a three-dimensional offset
Description
See Also
VkBufferImageCopy,
VkImageBlit,
VkImageCopy,
VkImageResolve,
VkSparseImageMemoryBind
Constructors
| VkOffset3D | |
Instances
data VkSparseImageFormatProperties Source #
VkSparseImageFormatProperties - Structure specifying sparse image format properties
Description
See Also
VkExtent3D,
VkImageAspectFlags, VkSparseImageFormatFlags,
VkSparseImageFormatProperties2,
VkSparseImageMemoryRequirements,
vkGetPhysicalDeviceSparseImageFormatProperties
Constructors
| VkSparseImageFormatProperties | |
Fields
| |
data VkSparseImageMemoryRequirements Source #
VkSparseImageMemoryRequirements - Structure specifying sparse image memory requirements
Members
formatProperties.aspectMaskis the set of aspects of the image that this sparse memory requirement applies to. This will usually have a single aspect specified. However, depth/stencil images may have depth and stencil data interleaved in the same sparse block, in which case bothVK_IMAGE_ASPECT_DEPTH_BITandVK_IMAGE_ASPECT_STENCIL_BITwould be present.
formatProperties.imageGranularitydescribes the dimensions of a single bindable sparse image block in texel units. For aspectVK_IMAGE_ASPECT_METADATA_BIT, all dimensions will be zero. All metadata is located in the mip tail region.formatProperties.flagsis a bitmask ofVkSparseImageFormatFlagBits:- If
VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BITis set the image uses a single mip tail region for all array layers. - If
VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BITis set the dimensions of mip levels must be integer multiples of the corresponding dimensions of the sparse image block for levels not located in the mip tail. - If
VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BITis set the image uses non-standard sparse image block dimensions. TheformatProperties.imageGranularityvalues do not match the standard sparse image block dimension corresponding to the image’s format.
- If
imageMipTailFirstLodis the first mip level at which image subresources are included in the mip tail region.imageMipTailSizeis the memory size (in bytes) of the mip tail region. IfformatProperties.flagscontainsVK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT, this is the size of the whole mip tail, otherwise this is the size of the mip tail of a single array layer. This value is guaranteed to be a multiple of the sparse block size in bytes.imageMipTailOffsetis the opaque memory offset used withVkSparseImageOpaqueMemoryBindInfoto bind the mip tail region(s).imageMipTailStrideis the offset stride between each array-layer’s mip tail, ifformatProperties.flagsdoes not containVK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT(otherwise the value is undefined).
Description
See Also
VkDeviceSize, VkSparseImageFormatProperties,
VkSparseImageMemoryRequirements2,
vkGetImageSparseMemoryRequirements
Constructors
| VkSparseImageMemoryRequirements | |
data VkImageSubresource Source #
VkImageSubresource - Structure specifying a image subresource
Description
Valid Usage (Implicit)
aspectMaskmust be a valid combination ofVkImageAspectFlagBitsvalues
aspectMaskmust not be0
See Also
VkImageAspectFlags, VkSparseImageMemoryBind,
vkGetImageSubresourceLayout
Constructors
| VkImageSubresource | |
Fields
| |
data VkSparseMemoryBind 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
VK_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 VkSparseImageMemoryRequirements 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
VkSparseImageMemoryRequirements::formatProperties.flags contains
VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT.
If flags does not contain VK_SPARSE_MEMORY_BIND_METADATA_BIT, the
binding range must be within the range
[0,VkMemoryRequirements::size).
Valid Usage
- If
memoryis notVK_NULL_HANDLE,memoryandmemoryOffsetmust match the memory requirements of the resource, as described in section {html_spec_relative}#resources-association
- If
memoryis notVK_NULL_HANDLE,memorymust not have been created with a memory type that reportsVK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BITbit set sizemust be greater than0resourceOffsetmust be less than the size of the resourcesizemust be less than or equal to the size of the resource minusresourceOffsetmemoryOffsetmust be less than the size ofmemorysizemust be less than or equal to the size ofmemoryminusmemoryOffset
Valid Usage (Implicit)
- If
memoryis notVK_NULL_HANDLE,memorymust be a validVkDeviceMemoryhandle
flagsmust be a valid combination ofVkSparseMemoryBindFlagBitsvalues
See Also
VkDeviceMemory, VkDeviceSize,
VkSparseBufferMemoryBindInfo, VkSparseImageOpaqueMemoryBindInfo,
VkSparseMemoryBindFlags
Constructors
| VkSparseMemoryBind | |
Fields
| |
data VkSparseImageMemoryBind Source #
VkSparseImageMemoryBind - Structure specifying sparse image memory bind
Description
Valid Usage
- If the
sparse aliased residency
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 {html_spec_relative}#resources-associationsubresourcemust be a valid image subresource forimage(see {html_spec_relative}#resources-image-views)offset.xmust be a multiple of the sparse image block width (VkSparseImageFormatProperties::imageGranularity.width) of the imageextent.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 subresourceoffset.ymust be a multiple of the sparse image block height (VkSparseImageFormatProperties::imageGranularity.height) of the imageextent.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 subresourceoffset.zmust be a multiple of the sparse image block depth (VkSparseImageFormatProperties::imageGranularity.depth) of the imageextent.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
Valid Usage (Implicit)
subresourcemust be a validVkImageSubresourcestructure
- If
memoryis notVK_NULL_HANDLE,memorymust be a validVkDeviceMemoryhandle flagsmust be a valid combination ofVkSparseMemoryBindFlagBitsvalues
See Also
VkDeviceMemory, VkDeviceSize,
VkExtent3D,
VkImageSubresource, VkOffset3D, VkSparseImageMemoryBindInfo,
VkSparseMemoryBindFlags
Constructors
| VkSparseImageMemoryBind | |
Fields
| |
data VkSparseBufferMemoryBindInfo Source #
VkSparseBufferMemoryBindInfo - Structure specifying a sparse buffer memory bind operation
Description
Valid Usage (Implicit)
buffermust be a validVkBufferhandle
pBindsmust be a valid pointer to an array ofbindCountvalidVkSparseMemoryBindstructuresbindCountmust be greater than0
See Also
Constructors
| VkSparseBufferMemoryBindInfo | |
Fields
| |
data VkSparseImageOpaqueMemoryBindInfo Source #
VkSparseImageOpaqueMemoryBindInfo - Structure specifying sparse image opaque memory bind info
Description
Valid Usage
- If the
flagsmember of any element ofpBindscontainsVK_SPARSE_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 validVkImagehandle
pBindsmust be a valid pointer to an array ofbindCountvalidVkSparseMemoryBindstructuresbindCountmust be greater than0
See Also
Constructors
| VkSparseImageOpaqueMemoryBindInfo | |
Fields
| |
data VkSparseImageMemoryBindInfo Source #
VkSparseImageMemoryBindInfo - Structure specifying sparse image memory bind info
Description
Valid Usage
- The
subresource.mipLevelmember of each element ofpBindsmust be less than themipLevelsspecified inVkImageCreateInfowhenimagewas created
- The
subresource.arrayLayermember of each element ofpBindsmust be less than thearrayLayersspecified inVkImageCreateInfowhenimagewas created
Valid Usage (Implicit)
imagemust be a validVkImagehandle
pBindsmust be a valid pointer to an array ofbindCountvalidVkSparseImageMemoryBindstructuresbindCountmust be greater than0
See Also
Constructors
| VkSparseImageMemoryBindInfo | |
Fields
| |
data VkBindSparseInfo Source #
VkBindSparseInfo - Structure specifying a sparse binding operation
Description
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_BIND_SPARSE_INFO
pNextmust beNULLor a pointer to a valid instance ofVkDeviceGroupBindSparseInfo- If
waitSemaphoreCountis not0,pWaitSemaphoresmust be a valid pointer to an array ofwaitSemaphoreCountvalidVkSemaphorehandles - If
bufferBindCountis not0,pBufferBindsmust be a valid pointer to an array ofbufferBindCountvalidVkSparseBufferMemoryBindInfostructures - If
imageOpaqueBindCountis not0,pImageOpaqueBindsmust be a valid pointer to an array ofimageOpaqueBindCountvalidVkSparseImageOpaqueMemoryBindInfostructures - If
imageBindCountis not0,pImageBindsmust be a valid pointer to an array ofimageBindCountvalidVkSparseImageMemoryBindInfostructures - If
signalSemaphoreCountis not0,pSignalSemaphoresmust be a valid pointer to an array ofsignalSemaphoreCountvalidVkSemaphorehandles - Both of the elements of
pSignalSemaphores, and the elements ofpWaitSemaphoresthat are valid handles must have been created, allocated, or retrieved from the sameVkDevice
See Also
VkSemaphore,
VkSparseBufferMemoryBindInfo, VkSparseImageMemoryBindInfo,
VkSparseImageOpaqueMemoryBindInfo,
VkStructureType, vkQueueBindSparse
Constructors
| VkBindSparseInfo | |
Fields
| |
Instances
type VkImageAspectFlags = VkImageAspectFlagBits Source #
VkImageAspectFlags - Bitmask of VkImageAspectFlagBits
Description
VkImageAspectFlags is a bitmask type for setting a mask of zero or
more VkImageAspectFlagBits.
See Also
VkClearAttachment,
VkImageAspectFlagBits, VkImageSubresource,
VkImageSubresourceLayers,
VkImageSubresourceRange,
VkInputAttachmentAspectReference,
VkSparseImageFormatProperties
type VkSparseMemoryBindFlags = VkSparseMemoryBindFlagBits Source #
VkSparseMemoryBindFlags - Bitmask of VkSparseMemoryBindFlagBits
Description
VkSparseMemoryBindFlags is a bitmask type for setting a mask of zero
or more VkSparseMemoryBindFlagBits.
See Also
VkSparseImageMemoryBind, VkSparseMemoryBind,
VkSparseMemoryBindFlagBits
type VkSparseImageFormatFlags = VkSparseImageFormatFlagBits Source #
VkSparseImageFormatFlags - Bitmask of VkSparseImageFormatFlagBits
Description
VkSparseImageFormatFlags is a bitmask type for setting a mask of zero
or more VkSparseImageFormatFlagBits.