VkBindImagePlaneMemoryInfo(3)

# VkBindImagePlaneMemoryInfo(3) Manual Page

## Name

VkBindImagePlaneMemoryInfo - Structure specifying how to bind an image plane to memory

## C Specification

In order to bind planes of a disjoint image, include a `VkBindImagePlaneMemoryInfo` structure in the `pNext` chain of VkBindImageMemoryInfo.

The `VkBindImagePlaneMemoryInfo` structure is defined as:

    typedef struct VkBindImagePlaneMemoryInfo {
        VkStructureType          sType;
        const void*              pNext;
        VkImageAspectFlagBits    planeAspect;
    } VkBindImagePlaneMemoryInfo;

or the equivalent

    typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;

## Members

- `sType` is the type of this structure.

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

- `planeAspect` is the aspect of the disjoint image plane to bind.

## Description

Valid Usage

- If the image’s tiling is `VK_IMAGE_TILING_LINEAR` or `VK_IMAGE_TILING_OPTIMAL`, then `planeAspect` must be a single valid format plane for the image. (That is, `planeAspect` must be `VK_IMAGE_ASPECT_PLANE_0_BIT` or `VK_IMAGE_ASPECT_PLANE_1_BIT` for “`_2PLANE`” formats and `planeAspect` must be `VK_IMAGE_ASPECT_PLANE_0_BIT`, `VK_IMAGE_ASPECT_PLANE_1_BIT`, or `VK_IMAGE_ASPECT_PLANE_2_BIT` for “`_3PLANE`” formats.)

- If the image’s 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 `drmFormatModifierPlaneCount` associated with the image’s `format` and `drmFormatModifier`.)

- A single call to vkBindImageMemory2 must bind all or none of the planes of an image (i.e. bindings to all planes of an image must be made in a single vkBindImageMemory2 call), as separate bindings

Valid Usage (Implicit)

- `sType` must be `VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO`

- `planeAspect` must be a valid VkImageAspectFlagBits value

## See Also

VkImageAspectFlagBits, VkStructureType

## 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-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.