From 81e25298e3dd2b15186d76f418fcfcb629604c78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20Kempczy=C5=84ski?= <zbigniew.kempczynski@intel.com> Date: Thu, 20 Oct 2022 08:53:37 +0200 Subject: [PATCH] lib/i915_blt: Equalize pitch and aux-ccs for full resolve MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit According to documentation and hw team suggestion use source pitch and aux-ccs in destination object when inplace decompression is performed (full-resolve operation). Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Karolina Drobnik <karolina.drobnik@intel.com> Reviewed-by: Karolina Drobnik <karolina.drobnik@intel.com> --- lib/i915/i915_blt.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/i915/i915_blt.c b/lib/i915/i915_blt.c index 8d46e51fb..a886c1d72 100644 --- a/lib/i915/i915_blt.c +++ b/lib/i915/i915_blt.c @@ -317,8 +317,14 @@ static void fill_data(struct gen12_block_copy_data *data, data->dw00.special_mode = __special_mode(blt); data->dw00.length = extended_command ? 20 : 10; - data->dw01.dst_pitch = blt->dst.pitch - 1; - data->dw01.dst_aux_mode = __aux_mode(&blt->dst); + if (__special_mode(blt) == SM_FULL_RESOLVE) { + data->dw01.dst_pitch = blt->src.pitch - 1; + data->dw01.dst_aux_mode = __aux_mode(&blt->src); + } else { + data->dw01.dst_pitch = blt->dst.pitch - 1; + data->dw01.dst_aux_mode = __aux_mode(&blt->dst); + } + data->dw01.dst_mocs = blt->dst.mocs; data->dw01.dst_compression = blt->dst.compression; data->dw01.dst_tiling = __block_tiling(blt->dst.tiling); -- GitLab