C Specification
The VkSparseImageMemoryRequirements
structure is defined as:
// Provided by VK_VERSION_1_0
typedef struct VkSparseImageMemoryRequirements {
VkSparseImageFormatProperties formatProperties;
uint32_t imageMipTailFirstLod;
VkDeviceSize imageMipTailSize;
VkDeviceSize imageMipTailOffset;
VkDeviceSize imageMipTailStride;
} VkSparseImageMemoryRequirements;
Members
-
formatProperties.aspectMask
is 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_BIT
andVK_IMAGE_ASPECT_STENCIL_BIT
would be present. -
formatProperties.imageGranularity
describes 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.flags
is a bitmask of VkSparseImageFormatFlagBits:-
If
VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT
is set the image uses a single mip tail region for all array layers. -
If
VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT
is 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_BIT
is set the image uses non-standard sparse image block dimensions. TheformatProperties.imageGranularity
values do not match the standard sparse image block dimension corresponding to the image’s format.
-
-
imageMipTailFirstLod
is the first mip level at which image subresources are included in the mip tail region. -
imageMipTailSize
is the memory size (in bytes) of the mip tail region. IfformatProperties.flags
containsVK_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. -
imageMipTailOffset
is the opaque memory offset used with VkSparseImageOpaqueMemoryBindInfo to bind the mip tail region(s). -
imageMipTailStride
is the offset stride between each array-layer’s mip tail, ifformatProperties.flags
does not containVK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT
(otherwise the value is undefined).
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.