From: Gurchetan Singh Date: Wed, 20 Mar 2019 02:20:53 +0000 (-0700) Subject: anv: move anv_GetMemoryAndroidHardwareBufferANDROID up a bit X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=139f908d8f5fe27506a1acc4a443bd8ff0ab5329;p=mesa.git anv: move anv_GetMemoryAndroidHardwareBufferANDROID up a bit No functional change, just makes the next patch a little easier. Reviewed-by: Tapani Pälli --- diff --git a/src/intel/vulkan/anv_android.c b/src/intel/vulkan/anv_android.c index 3272ddd85b1..ef8f26b0c31 100644 --- a/src/intel/vulkan/anv_android.c +++ b/src/intel/vulkan/anv_android.c @@ -215,6 +215,34 @@ anv_GetAndroidHardwareBufferPropertiesANDROID( return VK_SUCCESS; } +VkResult +anv_GetMemoryAndroidHardwareBufferANDROID( + VkDevice device_h, + const VkMemoryGetAndroidHardwareBufferInfoANDROID *pInfo, + struct AHardwareBuffer **pBuffer) +{ + ANV_FROM_HANDLE(anv_device_memory, mem, pInfo->memory); + + /* Some quotes from Vulkan spec: + * + * "If the device memory was created by importing an Android hardware + * buffer, vkGetMemoryAndroidHardwareBufferANDROID must return that same + * Android hardware buffer object." + * + * "VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID must + * have been included in VkExportMemoryAllocateInfo::handleTypes when + * memory was created." + */ + if (mem->ahw) { + *pBuffer = mem->ahw; + /* Increase refcount. */ + AHardwareBuffer_acquire(mem->ahw); + return VK_SUCCESS; + } + + return VK_ERROR_OUT_OF_HOST_MEMORY; +} + /* Construct ahw usage mask from image usage bits, see * 'AHardwareBuffer Usage Equivalence' in Vulkan spec. */ @@ -246,34 +274,6 @@ anv_ahw_usage_from_vk_usage(const VkImageCreateFlags vk_create, return ahw_usage; } -VkResult -anv_GetMemoryAndroidHardwareBufferANDROID( - VkDevice device_h, - const VkMemoryGetAndroidHardwareBufferInfoANDROID *pInfo, - struct AHardwareBuffer **pBuffer) -{ - ANV_FROM_HANDLE(anv_device_memory, mem, pInfo->memory); - - /* Some quotes from Vulkan spec: - * - * "If the device memory was created by importing an Android hardware - * buffer, vkGetMemoryAndroidHardwareBufferANDROID must return that same - * Android hardware buffer object." - * - * "VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID must - * have been included in VkExportMemoryAllocateInfo::handleTypes when - * memory was created." - */ - if (mem->ahw) { - *pBuffer = mem->ahw; - /* Increase refcount. */ - AHardwareBuffer_acquire(mem->ahw); - return VK_SUCCESS; - } - - return VK_ERROR_OUT_OF_HOST_MEMORY; -} - /* * Called from anv_AllocateMemory when import AHardwareBuffer. */