From 3e7297a297a25823364f48ac98d712527a33ace5 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Wed, 29 Jan 2025 12:09:17 -0500 Subject: [PATCH] hk: ban sparse host-image-copy WTF? Signed-off-by: Alyssa Rosenzweig Part-of: --- src/asahi/vulkan/hk_image.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/asahi/vulkan/hk_image.c b/src/asahi/vulkan/hk_image.c index 3ca87b9b286..4079f4ec5a9 100644 --- a/src/asahi/vulkan/hk_image.c +++ b/src/asahi/vulkan/hk_image.c @@ -345,6 +345,19 @@ hk_GetPhysicalDeviceImageFormatProperties2( pdev, plane_format, pImageFormatInfo->tiling); } } + + /* Sparse + host-image-copy doesn't make sense. Forbid it. */ + if (pImageFormatInfo->flags & (VK_IMAGE_CREATE_SPARSE_ALIASED_BIT | + VK_IMAGE_CREATE_SPARSE_BINDING_BIT | + VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT)) + features &= ~VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT; + + if (pImageFormatInfo->flags & (VK_IMAGE_CREATE_SPARSE_ALIASED_BIT | + VK_IMAGE_CREATE_SPARSE_BINDING_BIT | + VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT) && + (pImageFormatInfo->usage & VK_IMAGE_USAGE_HOST_TRANSFER_BIT)) + return VK_ERROR_FORMAT_NOT_SUPPORTED; + if (features == 0) return VK_ERROR_FORMAT_NOT_SUPPORTED;