From f30e5265f9118c357901efc269b2366454e5390e Mon Sep 17 00:00:00 2001 From: Rylie Pavlik <rylie.pavlik@collabora.com> Date: Wed, 5 Jun 2024 12:11:59 -0500 Subject: [PATCH] a/vk: Fix validation error on Android Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2233> --- src/xrt/auxiliary/vk/vk_image_allocator.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/xrt/auxiliary/vk/vk_image_allocator.c b/src/xrt/auxiliary/vk/vk_image_allocator.c index 17b6c78c6..9fb06b619 100644 --- a/src/xrt/auxiliary/vk/vk_image_allocator.c +++ b/src/xrt/auxiliary/vk/vk_image_allocator.c @@ -13,6 +13,7 @@ #include "vk/vk_image_allocator.h" +#include <vulkan/vulkan_core.h> #include <xrt/xrt_handles.h> #ifdef XRT_OS_LINUX @@ -239,6 +240,12 @@ create_image(struct vk_bundle *vk, const struct xrt_swapchain_create_info *info, .sharingMode = VK_SHARING_MODE_EXCLUSIVE, .initialLayout = VK_IMAGE_LAYOUT_UNDEFINED, }; +#if defined(XRT_GRAPHICS_BUFFER_HANDLE_IS_AHARDWAREBUFFER) + // VUID-VkImageCreateInfo-pNext-01974 + if (format_android.externalFormat != 0) { + create_info.format = VK_FORMAT_UNDEFINED; + } +#endif ret = vk->vkCreateImage(vk->device, &create_info, NULL, &image); if (ret != VK_SUCCESS) {