AHardwareBuffer objects created outside of the Vulkan device into Vulkan memory objects, where they can be bound to images and buffers. It also allows exporting an AHardwareBuffer from a Vulkan memory object for symmetry with other operating systems. But since not all AHardwareBuffer usages and formats have Vulkan equivalents, exporting from Vulkan provides strictly less functionality than creating the AHardwareBuffer externally and importing it.
Some AHardwareBuffer images have implementation-defined external formats that may not correspond to Vulkan formats. Sampler Y′CBCR conversion can be used to sample from these images and convert them to a known color space.
VK_ANDROID_external_memory_android_hardware_bufferVK_KHR_sampler_ycbcr_conversion and VK_KHR_external_memory and VK_EXT_queue_family_foreign and VK_KHR_dedicated_allocation| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| public static int | nvkGetAndroidHardwareBufferPropertiesANDROID(VkDevice device, long buffer, long pProperties)
Unsafe version of: |
| public static int | nvkGetMemoryAndroidHardwareBufferANDROID(VkDevice device, long pInfo, long pBuffer)
Unsafe version of: |
| public static int | vkGetAndroidHardwareBufferPropertiesANDROID(VkDevice
the logical device that will be importing device, long buffer.the Android hardware buffer which will be imported. buffer, VkAndroidHardwareBufferPropertiesANDROID a pointer to a pProperties)VkAndroidHardwareBufferPropertiesANDROID structure in which the properties of buffer are returned.Get Properties of External Memory Android Hardware Buffers. |
| public static int | vkGetMemoryAndroidHardwareBufferANDROID(VkDevice
the logical device that created the device memory being exported. device, VkMemoryGetAndroidHardwareBufferInfoANDROID a pointer to a pInfo, PointerBuffer VkMemoryGetAndroidHardwareBufferInfoANDROID structure containing parameters of the export operation.will return an Android hardware buffer referencing the payload of the device memory object. pBuffer)Get an Android hardware buffer for a memory object. |
| VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME | back to summary |
|---|---|
| public static final String VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME The extension name. | |
| VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION | back to summary |
|---|---|
| public static final int VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION The extension specification version. | |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID | back to summary |
|---|---|
| public static final int VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID Extends | |
| VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID Extends | |
| VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID Extends Enum values:
| |
| VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID Extends Enum values:
| |
| VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID Extends Enum values:
| |
| VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID Extends Enum values:
| |
| VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID Extends Enum values:
| |
| VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID Extends Enum values:
| |
| ANDROIDExternalMemoryAndroidHardwareBuffer | back to summary |
|---|---|
| protected ANDROIDExternalMemoryAndroidHardwareBuffer() | |
| nvkGetAndroidHardwareBufferPropertiesANDROID | back to summary |
|---|---|
| public static int nvkGetAndroidHardwareBufferPropertiesANDROID(VkDevice device, long buffer, long pProperties) Unsafe version of: | |
| nvkGetMemoryAndroidHardwareBufferANDROID | back to summary |
|---|---|
| public static int nvkGetMemoryAndroidHardwareBufferANDROID(VkDevice device, long pInfo, long pBuffer) Unsafe version of: | |
| vkGetAndroidHardwareBufferPropertiesANDROID | back to summary |
|---|---|
| public static int vkGetAndroidHardwareBufferPropertiesANDROID(VkDevice device, long buffer, VkAndroidHardwareBufferPropertiesANDROID pProperties) Get Properties of External Memory Android Hardware Buffers. C SpecificationTo determine the memory parameters to use when importing an Android hardware buffer, call:
Valid Usage
Valid Usage (Implicit)
Return Codes
See Also
| |
| vkGetMemoryAndroidHardwareBufferANDROID | back to summary |
|---|---|
| public static int vkGetMemoryAndroidHardwareBufferANDROID(VkDevice device, VkMemoryGetAndroidHardwareBufferInfoANDROID pInfo, PointerBuffer pBuffer) Get an Android hardware buffer for a memory object. C SpecificationTo export an Android hardware buffer referencing the payload of a Vulkan device memory object, call:
DescriptionEach call to Valid Usage (Implicit)
Return Codes
See Also
| |