From 801cdd83f1d9053777a352618bcd57dcf1e05e7f Mon Sep 17 00:00:00 2001 From: Yiwei Zhang Date: Sat, 2 Apr 2022 06:10:14 +0000 Subject: [PATCH] venus: workaround an ANGLE assumption on FORMAT_IMPLEMENTATION_DEFINED ANGLE expects VK_FORMAT_UNDEFINED to be returned for such AHB prop query. Signed-off-by: Yiwei Zhang Part-of: --- src/virtio/vulkan/vn_android.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/virtio/vulkan/vn_android.c b/src/virtio/vulkan/vn_android.c index 3f8cb29b116..493600917bc 100644 --- a/src/virtio/vulkan/vn_android.c +++ b/src/virtio/vulkan/vn_android.c @@ -885,6 +885,13 @@ vn_android_get_ahb_format_properties( vn_android_drm_format_is_yuv(buf_props.drm_fourcc) ? VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 : VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY; + + /* ANGLE expects VK_FORMAT_UNDEFINED with externalFormat resolved from + * AHARDWAREBUFFER_FORMAT_IMPLEMENTATION_DEFINED. + */ + if (desc.format == AHARDWAREBUFFER_FORMAT_IMPLEMENTATION_DEFINED) + format = VK_FORMAT_UNDEFINED; + *out_props = (VkAndroidHardwareBufferFormatPropertiesANDROID) { .sType = out_props->sType, .pNext = out_props->pNext,