VkImportAndroidHardwareBufferInfoANDROID
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:
typedef struct VkImportAndroidHardwareBufferInfoANDROID {
VkStructureType sType;
const void* pNext;
struct AHardwareBuffer* buffer;
} VkImportAndroidHardwareBufferInfoANDROID;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.buffer
is the Android hardware buffer to import.
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-01880
If buffer
is not NULL
, Android hardware buffers must be
supported for import, as reported by
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