From bdf8b36c4cf0b4ea4f234b4b4f4ba80d10a8586e Mon Sep 17 00:00:00 2001 From: Nanley Chery Date: Fri, 12 Nov 2021 13:36:20 -0500 Subject: [PATCH] anv: Require transfer features for transfer usages In order for an image to support the transfer usage, require that its format can be used for blits or copies. Reviewed-by: Jason Ekstrand Part-of: --- src/intel/vulkan/anv_formats.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/intel/vulkan/anv_formats.c b/src/intel/vulkan/anv_formats.c index a43e06c8443..82bd618d183 100644 --- a/src/intel/vulkan/anv_formats.c +++ b/src/intel/vulkan/anv_formats.c @@ -1110,12 +1110,16 @@ anv_get_image_format_properties( sampleCounts = isl_device_get_sample_counts(&physical_device->isl_dev); } - if (info->usage & (VK_IMAGE_USAGE_TRANSFER_SRC_BIT | - VK_IMAGE_USAGE_TRANSFER_DST_BIT)) { - /* Accept transfers on anything we can sample from or renderer to. */ - if (!(format_feature_flags & (VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR | - VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR | - VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR))) { + if (info->usage & VK_IMAGE_USAGE_TRANSFER_SRC_BIT) { + if (!(format_feature_flags & (VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR | + VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR))) { + goto unsupported; + } + } + + if (info->usage & VK_IMAGE_USAGE_TRANSFER_DST_BIT) { + if (!(format_feature_flags & (VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR | + VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR))) { goto unsupported; } }