anv: Disable CCS_E for some 8/16bpp copies on TGL+

CCS_E is currently disabled on TGL+, but we'll enable it soon. We choose
to explicitly disable it for certain copy operations to avoid CTS
failures in the following groups:

- dEQP-VK.drm_format_modifiers.export_import.*
- dEQP-VK.synchronization*

Fixes: e614789588 ("anv: Also disallow CCS_E for multi-LOD images")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14723>
This commit is contained in:
Nanley Chery 2022-01-24 18:53:37 -05:00 committed by Marge Bot
parent 09ca089144
commit d68b2db89c

View file

@ -2082,6 +2082,20 @@ anv_layout_to_aux_state(const struct intel_device_info * const devinfo,
bool aux_supported = true;
bool clear_supported = isl_aux_usage_has_fast_clears(aux_usage);
const struct isl_format_layout *fmtl =
isl_format_get_layout(image->planes[plane].primary_surface.isl.format);
/* Disabling CCS for the following case avoids failures in:
* - dEQP-VK.drm_format_modifiers.export_import.*
* - dEQP-VK.synchronization*
*/
if (usage & (VK_IMAGE_USAGE_TRANSFER_DST_BIT |
VK_IMAGE_USAGE_TRANSFER_SRC_BIT) && fmtl->bpb <= 16 &&
aux_usage == ISL_AUX_USAGE_CCS_E && devinfo->ver >= 12) {
aux_supported = false;
clear_supported = false;
}
if ((usage & VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT) && !read_only) {
/* This image could be used as both an input attachment and a render
* target (depth, stencil, or color) at the same time and this can cause