diff --git a/src/gfxstream/guest/vulkan_enc/AndroidHardwareBuffer.cpp b/src/gfxstream/guest/vulkan_enc/AndroidHardwareBuffer.cpp index 0cb77949a6e..0c19b2ee9ce 100644 --- a/src/gfxstream/guest/vulkan_enc/AndroidHardwareBuffer.cpp +++ b/src/gfxstream/guest/vulkan_enc/AndroidHardwareBuffer.cpp @@ -65,6 +65,9 @@ VkResult getAndroidHardwareBufferPropertiesANDROID( const auto format = grallocHelper->getFormat(buffer); if (ahbFormatProps) { switch (format) { + case AHARDWAREBUFFER_FORMAT_R8_UNORM: + ahbFormatProps->format = VK_FORMAT_R8_UNORM; + break; case AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM: ahbFormatProps->format = VK_FORMAT_R8G8B8A8_UNORM; break; diff --git a/src/gfxstream/guest/vulkan_enc/vk_format_info.h b/src/gfxstream/guest/vulkan_enc/vk_format_info.h index 2d5d84ebafa..12e523f3bd0 100644 --- a/src/gfxstream/guest/vulkan_enc/vk_format_info.h +++ b/src/gfxstream/guest/vulkan_enc/vk_format_info.h @@ -57,6 +57,8 @@ namespace vk { // VK_FORMAT_G8_B8R8_2PLANE_420_UNORM. static inline VkFormat vk_format_from_android(unsigned android_format) { switch (android_format) { + case AHARDWAREBUFFER_FORMAT_R8_UNORM: + return VK_FORMAT_R8_UNORM; case AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM: return VK_FORMAT_R8G8B8A8_UNORM; case AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM: @@ -89,6 +91,8 @@ static inline VkFormat vk_format_from_android(unsigned android_format) { static inline unsigned android_format_from_vk(VkFormat vk_format) { switch (vk_format) { + case VK_FORMAT_R8_UNORM: + return AHARDWAREBUFFER_FORMAT_R8_UNORM; case VK_FORMAT_R8G8B8A8_UNORM: return AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM; case VK_FORMAT_R8G8B8_UNORM: @@ -111,6 +115,7 @@ static inline unsigned android_format_from_vk(VkFormat vk_format) { static inline bool android_format_is_yuv(unsigned android_format) { switch (android_format) { case AHARDWAREBUFFER_FORMAT_BLOB: + case AHARDWAREBUFFER_FORMAT_R8_UNORM: case AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM: case AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM: case AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM: