[Mesa-dev] [PATCH 00/15] VK_ANDROID_external_memory_android_hardware_buffer
Tapani Pälli
tapani.palli at intel.com
Tue Oct 30 05:25:53 UTC 2018
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(-)
--
2.17.2
More information about the mesa-dev
mailing list