From 6df5ace3a38e34179def3e3f47e608e59225845d Mon Sep 17 00:00:00 2001 From: dawnhan Date: Mon, 22 Jul 2024 15:39:23 -0700 Subject: [PATCH] vulkan/android: Add missing AHB formats Signed-off-by: dawnhan Reviewed-by: Yiwei Zhang Part-of: --- include/android_stub/android/hardware_buffer.h | 7 +++++++ src/vulkan/runtime/vk_android.c | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/include/android_stub/android/hardware_buffer.h b/include/android_stub/android/hardware_buffer.h index dcb05b5536d..aa03b4b096e 100644 --- a/include/android_stub/android/hardware_buffer.h +++ b/include/android_stub/android/hardware_buffer.h @@ -158,6 +158,13 @@ enum AHardwareBuffer_Format { * cube-maps or multi-layered textures. */ AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420 = 0x23, + + /** + * Corresponding formats: + * Vulkan: VK_FORMAT_R8_UNORM + * OpenGL ES: GR_GL_R8 + */ + AHARDWAREBUFFER_FORMAT_R8_UNORM = 0x38, }; /** diff --git a/src/vulkan/runtime/vk_android.c b/src/vulkan/runtime/vk_android.c index 8ae7c3cfc8e..af1e6c7a317 100644 --- a/src/vulkan/runtime/vk_android.c +++ b/src/vulkan/runtime/vk_android.c @@ -403,6 +403,10 @@ vk_ahb_format_to_image_format(uint32_t ahb_format) return VK_FORMAT_D32_SFLOAT_S8_UINT; case AHARDWAREBUFFER_FORMAT_S8_UINT: return VK_FORMAT_S8_UINT; +#if ANDROID_API_LEVEL >= 33 + case AHARDWAREBUFFER_FORMAT_R8_UNORM: + return VK_FORMAT_R8_UNORM; +#endif default: return VK_FORMAT_UNDEFINED; } @@ -440,6 +444,10 @@ vk_image_format_to_ahb_format(VkFormat vk_format) return AHARDWAREBUFFER_FORMAT_D32_FLOAT_S8_UINT; case VK_FORMAT_S8_UINT: return AHARDWAREBUFFER_FORMAT_S8_UINT; +#if ANDROID_API_LEVEL >= 33 + case VK_FORMAT_R8_UNORM: + return AHARDWAREBUFFER_FORMAT_R8_UNORM; +#endif default: return 0; }