UPSTREAM: venus: disable non AHB external memory bits on Android
We are allowed to enable them in theory. However, the non-AHB external
memory support in Venus is very broken at this moment.
BUG=b:267988303
TEST=dEQP-VK.api.external.memory.opaque_fd.*
Change-Id: Ib48c882632980532ab842e59b7302748cde30b82
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21155>
(cherry picked from commit dba8bb08ac69a3a57c5cfe24015e25bd72a8f71a)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/mesa/+/4229993
Reviewed-by: Kazuhiro Inaba <kinaba@chromium.org>
diff --git a/src/virtio/vulkan/vn_physical_device.c b/src/virtio/vulkan/vn_physical_device.c
index 4ad3e56..c5bb4f3 100644
--- a/src/virtio/vulkan/vn_physical_device.c
+++ b/src/virtio/vulkan/vn_physical_device.c
@@ -821,14 +821,14 @@
physical_dev->external_memory.renderer_handle_type =
VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT;
- physical_dev->external_memory.supported_handle_types =
- VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT |
- VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT;
-
#ifdef ANDROID
physical_dev->external_memory.supported_handle_types |=
VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID;
-#endif
+#else /* ANDROID */
+ physical_dev->external_memory.supported_handle_types =
+ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT |
+ VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT;
+#endif /* ANDROID */
}
}
@@ -968,12 +968,12 @@
exts->KHR_external_fence_fd = true;
exts->KHR_external_semaphore_fd = true;
}
-#endif
-
+#else /* ANDROID */
if (can_external_mem) {
exts->KHR_external_memory_fd = true;
exts->EXT_external_memory_dma_buf = true;
}
+#endif /* ANDROID */
#ifdef VN_USE_WSI_PLATFORM
if (renderer_exts->EXT_image_drm_format_modifier &&