diff --git a/src/intel/vulkan/anv_formats.c b/src/intel/vulkan/anv_formats.c index 8e116433400..073d07b6b44 100644 --- a/src/intel/vulkan/anv_formats.c +++ b/src/intel/vulkan/anv_formats.c @@ -845,16 +845,16 @@ anv_get_image_format_features2(const struct anv_physical_device *physical_device vk_format == VK_FORMAT_R64_UINT || vk_format == VK_FORMAT_R64_SINT; - if (!blit_cts_workaround) + if (!blit_cts_workaround) { flags |= VK_FORMAT_FEATURE_2_BLIT_SRC_BIT; + /* Blit destination requires rendering support. */ + if (isl_format_supports_rendering(devinfo, plane_format.isl_format)) + flags |= VK_FORMAT_FEATURE_2_BLIT_DST_BIT; + } + flags |= VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT | VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT; - - /* Blit destination requires rendering support. */ - if (isl_format_supports_rendering(devinfo, plane_format.isl_format) && - !blit_cts_workaround) - flags |= VK_FORMAT_FEATURE_2_BLIT_DST_BIT; } /* XXX: We handle 3-channel formats by switching them out for RGBX or