vkGetImageSparseMemoryRequirements
To query sparse memory requirements for an image, call:
void vkGetImageSparseMemoryRequirements(
VkDevice device,
VkImage image,
uint32_t* pSparseMemoryRequirementCount,
VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
deviceis the logical device that owns the image.imageis the VkImage object 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.
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 VK_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
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)
VUID-vkGetImageSparseMemoryRequirements-device-parameter
device must be a valid VkDevice handle
VUID-vkGetImageSparseMemoryRequirements-image-parameter
image must be a valid VkImage handle
VUID-vkGetImageSparseMemoryRequirements-pSparseMemoryRequirementCount-parameter
pSparseMemoryRequirementCount must be a valid pointer to a uint32_t value
VUID-vkGetImageSparseMemoryRequirements-pSparseMemoryRequirements-parameter
If the value referenced by pSparseMemoryRequirementCount is not 0, and pSparseMemoryRequirements is not NULL, pSparseMemoryRequirements must be a valid pointer to an array of pSparseMemoryRequirementCount VkSparseImageMemoryRequirements structures
VUID-vkGetImageSparseMemoryRequirements-image-parent
image must have been created, allocated, or retrieved from device