[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