VkImportAndroidHardwareBufferInfoANDROID(3)

# VkImportAndroidHardwareBufferInfoANDROID(3) Manual Page

## Name

VkImportAndroidHardwareBufferInfoANDROID - Import memory from an Android hardware buffer

Loading… please wait.

## C Specification

To import memory created outside of the current Vulkan instance from an Android hardware buffer, add a `VkImportAndroidHardwareBufferInfoANDROID` structure to the `pNext` chain of the VkMemoryAllocateInfo structure. The `VkImportAndroidHardwareBufferInfoANDROID` structure is defined as:

    // Provided by VK_ANDROID_external_memory_android_hardware_buffer
    typedef struct VkImportAndroidHardwareBufferInfoANDROID {
        VkStructureType            sType;
        const void*                pNext;
        struct AHardwareBuffer*    buffer;
    } VkImportAndroidHardwareBufferInfoANDROID;

## Members

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `buffer` is the Android hardware buffer to import.

## Description

If the vkAllocateMemory command succeeds, the implementation must acquire a reference to the imported hardware buffer, which it must release when the device memory object is freed. If the command fails, the implementation must not retain a reference.

Valid Usage

- VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-09863
  If `buffer` is not `NULL`, Android hardware buffers must be supported for import, as reported by VkExternalTensorPropertiesARM, VkExternalImageFormatProperties, or VkExternalBufferProperties

- VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-01881
  If `buffer` is not `NULL`, it must be a valid Android hardware buffer object with `AHardwareBuffer_Desc`::`usage` compatible with Vulkan as described in Android Hardware Buffers

Valid Usage (Implicit)

- VUID-VkImportAndroidHardwareBufferInfoANDROID-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID`

- VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-parameter
  `buffer` must be a valid pointer to an AHardwareBuffer value

## See Also

VK_ANDROID_external_memory_android_hardware_buffer, 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 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0