You cannot go from BO to Android hardware buffer, so for export we
have to remember it.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
if (mem == NULL)
return;
+#if RADV_SUPPORT_ANDROID_HARDWARE_BUFFER
+ if (mem->android_hardware_buffer)
+ AHardwareBuffer_release(mem->android_hardware_buffer);
+#endif
+
if (mem->bo) {
radv_bo_list_remove(device, mem->bo);
device->ws->buffer_destroy(mem->bo);
mem->user_ptr = NULL;
mem->bo = NULL;
+#if RADV_SUPPORT_ANDROID_HARDWARE_BUFFER
+ mem->android_hardware_buffer = NULL;
+#endif
+
if (import_info) {
assert(import_info->handleType ==
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT ||
VkDeviceSize map_size;
void * map;
void * user_ptr;
+
+#if RADV_SUPPORT_ANDROID_HARDWARE_BUFFER
+ struct AHardwareBuffer * android_hardware_buffer;
+#endif
};