# VkImageMemoryRequirementsInfo2(3) Manual Page

## Name

VkImageMemoryRequirementsInfo2 - (None)

## C Specification

The `VkImageMemoryRequirementsInfo2` structure is defined as:

    typedef struct VkImageMemoryRequirementsInfo2 {
        VkStructureType    sType;
        const void*        pNext;
        VkImage            image;
    } VkImageMemoryRequirementsInfo2;

or the equivalent

    typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;

## Members

- `sType` is the type of this structure.

- `pNext` is `NULL` or a pointer to an extension-specific structure.

- `image` is the image to query.

## Description

Valid Usage

- If `image` was created with a multi-planar format and the `VK_IMAGE_CREATE_DISJOINT_BIT` flag, there must be a VkImagePlaneMemoryRequirementsInfo included in the `pNext` chain of the VkImageMemoryRequirementsInfo2 structure

- If `image` was created with `VK_IMAGE_CREATE_DISJOINT_BIT` and with `VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT`, then there must be a VkImagePlaneMemoryRequirementsInfo included in the `pNext` chain of the VkImageMemoryRequirementsInfo2 structure

- If `image` was not created with the `VK_IMAGE_CREATE_DISJOINT_BIT` flag, there must not be a VkImagePlaneMemoryRequirementsInfo included in the `pNext` chain of the VkImageMemoryRequirementsInfo2 structure

- If `image` was created with a single-plane format and with any `tiling` other than `VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT`, then there must not be a VkImagePlaneMemoryRequirementsInfo included in the `pNext` chain of the VkImageMemoryRequirementsInfo2 structure

- If `image` was created with the `VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID` external memory handle type, then `image` must be bound to memory.

Valid Usage (Implicit)

- `sType` must be `VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2`

- `pNext` must be `NULL` or a pointer to a valid instance of VkImagePlaneMemoryRequirementsInfo

- The `sType` value of each struct in the `pNext` chain must be unique

- `image` must be a valid VkImage handle

## See Also

VkImage, VkStructureType, vkGetImageMemoryRequirements2, vkGetImageMemoryRequirements2KHR

## 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.

## Copyright

Copyright (c) 2014-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.