anv: move anv_GetMemoryAndroidHardwareBufferANDROID up a bit

No functional change, just makes the next patch a little easier.

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
This commit is contained in:
Gurchetan Singh 2019-03-19 19:20:53 -07:00
parent b070861045
commit 139f908d8f

View file

@ -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.
*/