[PATCH i-g-t] lib/rendercopy_gen9: Use AUX_NONE for platforms with unified compression
Zbigniew Kempczyński
zbigniew.kempczynski at intel.com
Thu Jun 27 07:56:37 UTC 2024
On Tue, Jun 25, 2024 at 11:17:33AM -0700, Matt Roper wrote:
> On Tue, Jun 25, 2024 at 11:16:50AM +0200, Zbigniew Kempczyński wrote:
> > 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.
>
> Matches bspec 57023; 0x5 is no longer listed as a valid setting for this
> field from Xe2 onward.
>
> On Xe1 platforms, does this field still apply for platforms that use
> FlatCCS rather than AuxCCS? It's unclear to me whether the setting is
> correct for DG2 or not.
To get the compression on Xe1 (DG2) setting aux-mode to AUX_CCS_E in surface
state is mandatory.
--
Zbigniew
>
>
> Matt
>
> >
> > 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
> >
>
> --
> Matt Roper
> Graphics Software Engineer
> Linux GPU Platform Enablement
> Intel Corporation
More information about the igt-dev
mailing list