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;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.pCreateInfo
is a pointer to a VkImageCreateInfo structure containing parameters affecting creation of the image to query.planeAspect
is a VkImageAspectFlagBits value specifying the aspect corresponding to the image plane to query. This parameter is ignored unlesspCreateInfo→tiling
isVK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
, orpCreateInfo→flags
hasVK_IMAGE_CREATE_DISJOINT_BIT
set.
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 planeAspect
must 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