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 <kenneth@whitecape.org>
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19937>
This commit is contained in:
Nanley Chery 2022-11-17 13:48:16 -08:00 committed by Marge Bot
parent 2add57d0c2
commit 2b2141d193

View file

@ -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.