|  | /* | 
|  | * Copyright © 2016 Red Hat. | 
|  | * Copyright © 2016 Bas Nieuwenhuizen | 
|  | * | 
|  | * based in part on anv driver which is: | 
|  | * Copyright © 2015 Intel Corporation | 
|  | * | 
|  | * SPDX-License-Identifier: MIT | 
|  | */ | 
|  |  | 
|  | #ifndef RADV_ANDROID_H | 
|  | #define RADV_ANDROID_H | 
|  |  | 
|  | #include <stdbool.h> | 
|  |  | 
|  | #include <vulkan/vulkan.h> | 
|  |  | 
|  | #include <vulkan/vk_android_native_buffer.h> | 
|  | #include <vulkan/vulkan_android.h> | 
|  |  | 
|  | #include "vk_android.h" | 
|  |  | 
|  | /* Helper to determine if we should compile | 
|  | * any of the Android AHB support. | 
|  | * | 
|  | * To actually enable the ext we also need | 
|  | * the necessary kernel support. | 
|  | */ | 
|  | #if DETECT_OS_ANDROID && ANDROID_API_LEVEL >= 26 | 
|  | #define RADV_SUPPORT_ANDROID_HARDWARE_BUFFER 1 | 
|  | #include <vndk/hardware_buffer.h> | 
|  | #else | 
|  | #define RADV_SUPPORT_ANDROID_HARDWARE_BUFFER 0 | 
|  | #endif | 
|  |  | 
|  | struct radv_device; | 
|  | struct radv_device_memory; | 
|  |  | 
|  | VkResult radv_image_from_gralloc(VkDevice device_h, const VkImageCreateInfo *base_info, | 
|  | const VkNativeBufferANDROID *gralloc_info, const VkAllocationCallbacks *alloc, | 
|  | VkImage *out_image_h); | 
|  |  | 
|  | unsigned radv_ahb_format_for_vk_format(VkFormat vk_format); | 
|  |  | 
|  | VkFormat radv_select_android_external_format(const void *next, VkFormat default_format); | 
|  |  | 
|  | VkResult radv_import_ahb_memory(struct radv_device *device, struct radv_device_memory *mem, unsigned priority, | 
|  | const VkImportAndroidHardwareBufferInfoANDROID *info); | 
|  |  | 
|  | VkResult radv_create_ahb_memory(struct radv_device *device, struct radv_device_memory *mem, unsigned priority, | 
|  | const VkMemoryAllocateInfo *pAllocateInfo); | 
|  |  | 
|  | bool radv_android_gralloc_supports_format(VkFormat format, VkImageUsageFlagBits usage); | 
|  |  | 
|  | #endif /* RADV_ANDROID_H */ |