[PATCH i-g-t] lib/rendercopy_gen9: Use AUX_NONE for platforms with unified compression
Matt Roper
matthew.d.roper at intel.com
Thu Jun 27 15:01:50 UTC 2024
On Thu, Jun 27, 2024 at 09:56:37AM +0200, Zbigniew Kempczyński wrote:
> 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.
Thanks for confirming.
Reviewed-by: Matt Roper <matthew.d.roper at intel.com>
>
> --
> 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
--
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation
More information about the igt-dev
mailing list