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

Matt Roper matthew.d.roper at intel.com
Tue Jun 25 18:17:33 UTC 2024


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.


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