From 164c0951a0825527244e999a261b8a4425ed1ebe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Briano?= Date: Wed, 17 Apr 2024 15:17:00 -0700 Subject: [PATCH] anv, hasvk: check requirements for USAGE_INPUT_ATTACHMENT properly If the format doesn't support the COLOR_ATTACHMENT or DEPTH_STENCIL features, it can't be used as an input attachment. Fixes future CTS tests: dEQP-VK.api.info.unsupported_image_usage.* Reviewed-by: Lionel Landwerlin Part-of: --- src/intel/vulkan/anv_formats.c | 7 ++++--- src/intel/vulkan_hasvk/anv_formats.c | 9 +++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/intel/vulkan/anv_formats.c b/src/intel/vulkan/anv_formats.c index 1d285e3891d..964fb79c5da 100644 --- a/src/intel/vulkan/anv_formats.c +++ b/src/intel/vulkan/anv_formats.c @@ -1072,9 +1072,10 @@ anv_format_supports_usage( } if (usage_flags & VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT) { - /* Ignore this flag because it was removed from the - * provisional_I_20150910 header. - */ + if (!(format_feature_flags & (VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT | + VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT))) { + return false; + } } return true; diff --git a/src/intel/vulkan_hasvk/anv_formats.c b/src/intel/vulkan_hasvk/anv_formats.c index caed128c0a6..265823ab71b 100644 --- a/src/intel/vulkan_hasvk/anv_formats.c +++ b/src/intel/vulkan_hasvk/anv_formats.c @@ -1199,10 +1199,11 @@ anv_get_image_format_properties( /* Nothing to check. */ } - if (image_usage & VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT) { - /* Ignore this flag because it was removed from the - * provisional_I_20150910 header. - */ + if (view_usage & VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT) { + if (!(format_feature_flags & (VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT | + VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT))) { + goto unsupported; + } } /* From the bspec section entitled "Surface Layout and Tiling",