Mesa (main): venus: resolve AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420 to external format

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jun 1 20:32:30 UTC 2022


Module: Mesa
Branch: main
Commit: 1c63a0beafefccec599ddbe355ec5a8b61df6438
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1c63a0beafefccec599ddbe355ec5a8b61df6438

Author: Yiwei Zhang <zzyiwei at chromium.org>
Date:   Fri May 27 23:02:49 2022 +0000

venus: resolve AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420 to external format

This is to work around ANGLE yuv support.

Signed-off-by: Yiwei Zhang <zzyiwei at chromium.org>
Reviewed-by: Ryan Neph <ryanneph at google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16759>

---

 src/virtio/vulkan/vn_android.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/virtio/vulkan/vn_android.c b/src/virtio/vulkan/vn_android.c
index d1b2957a5ec..39114be4ad6 100644
--- a/src/virtio/vulkan/vn_android.c
+++ b/src/virtio/vulkan/vn_android.c
@@ -941,9 +941,11 @@ vn_android_get_ahb_format_properties(
          : VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY;
 
    /* ANGLE expects VK_FORMAT_UNDEFINED with externalFormat resolved from
-    * AHARDWAREBUFFER_FORMAT_IMPLEMENTATION_DEFINED.
+    * AHARDWAREBUFFER_FORMAT_IMPLEMENTATION_DEFINED and any supported planar
+    * AHB formats (venus supports AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420).
     */
-   if (desc.format == AHARDWAREBUFFER_FORMAT_IMPLEMENTATION_DEFINED)
+   if (desc.format == AHARDWAREBUFFER_FORMAT_IMPLEMENTATION_DEFINED ||
+       desc.format == AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420)
       format = VK_FORMAT_UNDEFINED;
 
    *out_props = (VkAndroidHardwareBufferFormatPropertiesANDROID) {



More information about the mesa-commit mailing list