[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