diff options
author | Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> | 2024-06-25 11:16:50 +0200 |
---|---|---|
committer | Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> | 2024-06-27 19:14:33 +0200 |
commit | 676b8e660cadae8ffb29a45b12ad5b53ef228b6a (patch) | |
tree | 1c9f5911280b29ce258f01972cf96b540340ece3 /lib/rendercopy_gen9.c | |
parent | 87ec1f4d59a34925b37d844410d552f4a58d22e8 (diff) |
lib/rendercopy_gen9: Use AUX_NONE for platforms with unified compression
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.
Cc: Stuart Summers <stuart.summers@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://lore.kernel.org/r/20240625091651.131301-1-zbigniew.kempczynski@intel.com
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Diffstat (limited to 'lib/rendercopy_gen9.c')
-rw-r--r-- | lib/rendercopy_gen9.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/rendercopy_gen9.c b/lib/rendercopy_gen9.c index 726f1a087..62a365f3c 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) { |