From 2b2141d19337ceeb0cc18d21690de3faa9fe141c Mon Sep 17 00:00:00 2001 From: Nanley Chery Date: Thu, 17 Nov 2022 13:48:16 -0800 Subject: [PATCH] intel/isl: Lessen CCS_E-compatibility checks for TGL+ Tiger Lake and onward allow drivers to specify a compression format independently from the surface format. So, even if the surface format changes, hardware is still able to determine how to access the CCS. Reviewed-by: Kenneth Graunke Reviewed-by: Jianxun Zhang Part-of: --- src/intel/isl/isl_format.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/intel/isl/isl_format.c b/src/intel/isl/isl_format.c index d014027e62b..8d6c7260327 100644 --- a/src/intel/isl/isl_format.c +++ b/src/intel/isl/isl_format.c @@ -991,14 +991,12 @@ isl_formats_are_ccs_e_compatible(const struct intel_device_info *devinfo, !isl_format_supports_ccs_e(devinfo, format2)) return false; - /* Gfx12 added CCS_E support for A8_UNORM, A8_UNORM and R8_UNORM share the - * same aux map format encoding so they are definitely compatible. + /* On TGL+, drivers may specify a compression format independently from the + * surface format. So, even if the surface format changes, hardware is + * still able to determine how to access the CCS. */ - if (format1 == ISL_FORMAT_A8_UNORM) - format1 = ISL_FORMAT_R8_UNORM; - - if (format2 == ISL_FORMAT_A8_UNORM) - format2 = ISL_FORMAT_R8_UNORM; + if (devinfo->ver >= 12) + return true; /* The compression used by CCS is not dependent on the actual data encoding * of the format but only depends on the bit-layout of the channels.