[PATCH i-g-t] lib/rendercopy_gen9: Use AUX_NONE for platforms with unified compression

Zbigniew Kempczyński zbigniew.kempczynski at intel.com
Tue Jun 25 09:16:50 UTC 2024


For non-MSAA surfaces when unified compression is configured in PAT
auxiliary surfaces must be set to AUX_NONE. I haven't noticed this
on Xe2+ before as it setting was silently ignored by hardware but
setting to AUX_CCS_E is incorrect and may fail on newer platforms.

Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
Cc: Stuart Summers <stuart.summers at intel.com>
---
 lib/rendercopy_gen9.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lib/rendercopy_gen9.c b/lib/rendercopy_gen9.c
index 726f1a087b..62a365f3c2 100644
--- a/lib/rendercopy_gen9.c
+++ b/lib/rendercopy_gen9.c
@@ -229,7 +229,10 @@ gen9_bind_buf(struct intel_bb *ibb, const struct intel_buf *buf, int is_dst,
 	if (buf->compression == I915_COMPRESSION_MEDIA)
 		ss->ss7.tgl.media_compression = 1;
 	else if (buf->compression == I915_COMPRESSION_RENDER) {
-		ss->ss6.aux_mode = 0x5; /* AUX_CCS_E */
+		if (AT_LEAST_GEN(ibb->devid, 20))
+			ss->ss6.aux_mode = 0x0; /* AUX_NONE, unified compression */
+		else
+			ss->ss6.aux_mode = 0x5; /* AUX_CCS_E */
 
 		if (buf->ccs[0].stride) {
 
-- 
2.34.1



More information about the igt-dev mailing list