VkDeviceImageMemoryRequirements
The VkDeviceImageMemoryRequirements structure is defined as:
typedef struct VkDeviceImageMemoryRequirements {
VkStructureType sType;
const void* pNext;
const VkImageCreateInfo* pCreateInfo;
VkImageAspectFlagBits planeAspect;
} VkDeviceImageMemoryRequirements;
or the equivalent
typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.pCreateInfois a pointer to a VkImageCreateInfo structure containing parameters affecting creation of the image to query.planeAspectis a VkImageAspectFlagBits value specifying the aspect corresponding to the image plane to query. This parameter is ignored unlesspCreateInfo→tilingisVK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT, orpCreateInfo→flagshasVK_IMAGE_CREATE_DISJOINT_BITset.
Valid Usage
VUID-VkDeviceImageMemoryRequirements-pCreateInfo-06416
The pCreateInfo→pNext chain must not contain a
VkImageSwapchainCreateInfoKHR structure
VUID-VkDeviceImageMemoryRequirements-pCreateInfo-06776
The pCreateInfo→pNext chain must not contain a
VkImageDrmFormatModifierExplicitCreateInfoEXT structure
VUID-VkDeviceImageMemoryRequirements-pNext-06996
Applications also must not call
vkGetDeviceImageMemoryRequirements with a VkImageCreateInfo
whose pNext chain includes a VkExternalFormatANDROID
structure with non-zero externalFormat
VUID-VkDeviceImageMemoryRequirements-pNext-08962
Applications also must not call
vkGetDeviceImageMemoryRequirements with a VkImageCreateInfo
whose pNext chain includes a VkExternalFormatQNX structure
with non-zero externalFormat
VUID-VkDeviceImageMemoryRequirements-pCreateInfo-06417
If pCreateInfo→format specifies a multi-planar format and
pCreateInfo→flags has VK_IMAGE_CREATE_DISJOINT_BIT set then
planeAspect must not be VK_IMAGE_ASPECT_NONE_KHR
VUID-VkDeviceImageMemoryRequirements-pCreateInfo-06419
If pCreateInfo→flags has VK_IMAGE_CREATE_DISJOINT_BIT set
and if the pCreateInfo→tiling is VK_IMAGE_TILING_LINEAR or
VK_IMAGE_TILING_OPTIMAL, then planeAspect must be a single
valid multi-planar aspect mask bit
VUID-VkDeviceImageMemoryRequirements-pCreateInfo-06420
If pCreateInfo→tiling is
VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT, then planeAspectmust be a single valid memory plane for the image (that is,
aspectMask must specify a plane index that is less than the
VkDrmFormatModifierPropertiesEXT::drmFormatModifierPlaneCount
associated with the image’s format and
VkImageDrmFormatModifierPropertiesEXT::drmFormatModifier)
Valid Usage (Implicit)
VUID-VkDeviceImageMemoryRequirements-sType-sType
sType must be VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS
VUID-VkDeviceImageMemoryRequirements-pNext-pNext
pNext must be NULL
VUID-VkDeviceImageMemoryRequirements-pCreateInfo-parameter
pCreateInfo must be a valid pointer to a valid VkImageCreateInfo structure
VUID-VkDeviceImageMemoryRequirements-planeAspect-parameter
If planeAspect is not 0, planeAspect must be a valid VkImageAspectFlagBits value