[Mesa-dev] [PATCH 00/15] VK_ANDROID_external_memory_android_hardware_buffer

Tapani Pälli tapani.palli at intel.com
Tue Nov 6 07:09:14 UTC 2018


FYI now I've noticed that SkQP runs some new tests as well .. most of 
them are passing but there are 2 failures. Will start to investigate this.

Results were:

unitTest_VulkanHardwareBuffer_CPU_EGL pass
unitTest_VulkanHardwareBuffer_CPU_Vulkan pass
unitTest_VulkanHardwareBuffer_EGL_EGL pass
unitTest_VulkanHardwareBuffer_EGL_EGL_Syncs pass
unitTest_VulkanHardwareBuffer_EGL_Vulkan pass
unitTest_VulkanHardwareBuffer_EGL_Vulkan_Syncs pass
unitTest_VulkanHardwareBuffer_Vulkan_EGL pass
unitTest_VulkanHardwareBuffer_Vulkan_EGL_Syncs fail
unitTest_VulkanHardwareBuffer_Vulkan_Vulkan pass
unitTest_VulkanHardwareBuffer_Vulkan_Vulkan_Syncs fail

// Tapani

On 10/30/18 7:25 AM, Tapani Pälli wrote:
> Hi;
> 
> Here are fixes to earlier series with some refactoring, addressing
> Jason's comments and fixing some bugs I found when running Android CTS
> suite.
> 
> With these changes following android.graphics.cts.BasicVulkanGpuTest
> tests start to pass:
> 
>   testBasicBufferImportAndRenderingExternalFormat
>   testBasicBufferImportAndRenderingExplicitFormat
> 
> for these formats:
> 
>   AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM
>   AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM
>   AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM
>   AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM
> 
> Format AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM is skipped by CTS since it
> was recently removed from minigbm gralloc implementation due to other
> tests for this format not passing and apparently Android does not
> mandate this format for GPU usage.
> 
> Support for YUV format(s) is left for the future. This means that
> following test does not pass:
> 
>   android.graphics.cts.MediaVulkanGpuTest#testMediaImportAndRendering
> 
> Making it work will need some discussion with Media folks and adding
> support for HAL_PIXEL_FORMAT_NV12_Y_TILED_INTEL. I had already some
> look in to this but I'd like to work on that separately from this
> series.
> 
> dEQP results (dEQP-VK.api.external.memory.android_hardware_buffer*):
> 
>   dEQP    :   Passed:        22/29 (75.9%)
>   dEQP    :   Failed:        0/29 (0.0%)
>   dEQP    :   Not supported: 7/29 (24.1%)
>   dEQP    :   Warnings:      0/29 (0.0%)
> 
> Tree with these changes available here:
> https://cgit.freedesktop.org/~tpalli/mesa/log/?h=ahw
> 
> And here is a Android Celadon compatible tree:
> https://github.com/tpalli/external-mesa/tree/ahw-android
> 
> No regressions spotted by Intel CI. Any comments appreciated!
> 
> Tapani Pälli (15):
>    anv: add create_flags as part of anv_image
>    anv: refactor make_surface to use data from anv_image
>    anv: make anv_get_image_format_features public
>    anv: add from/to helpers with android and vulkan formats
>    anv/android: add GetAndroidHardwareBufferPropertiesANDROID
>    anv: add anv_ahw_usage_from_vk_usage helper function
>    anv: refactor, remove else block in AllocateMemory
>    anv/android: support import/export of AHardwareBuffer objects
>    anv/android: add ahardwarebuffer external memory properties
>    anv/android: support creating images from external format
>    anv: support VkExternalFormatANDROID in vkCreateSamplerYcbcrConversion
>    anv: introduce helper to resolve vk_format from anv_format
>    anv: support VkSamplerYcbcrConversionInfo in vkCreateImageView
>    anv: ignore VkSamplerYcbcrConversion on non-yuv formats
>    anv/android: turn on
>      VK_ANDROID_external_memory_android_hardware_buffer
> 
>   src/intel/vulkan/anv_android.c     | 303 +++++++++++++++++++++++++++++
>   src/intel/vulkan/anv_device.c      | 109 ++++++++---
>   src/intel/vulkan/anv_extensions.py |   1 +
>   src/intel/vulkan/anv_formats.c     | 101 ++++++++--
>   src/intel/vulkan/anv_image.c       | 205 +++++++++++++++----
>   src/intel/vulkan/anv_private.h     |  45 +++++
>   src/intel/vulkan/genX_state.c      |   7 +-
>   src/intel/vulkan/vk_format_info.h  |  43 ++++
>   8 files changed, 731 insertions(+), 83 deletions(-)
> 


More information about the mesa-dev mailing list