[igt-dev] [PATCH i-g-t] i915/gem_ccs: Use extended block-copy on MTL

Zbigniew Kempczyński zbigniew.kempczynski at intel.com
Thu Jan 19 14:29:29 UTC 2023


Integrated platforms and DG1 (exception in discrete, doesn't have
flatccs) use shorter version of block-copy blit (12 dwords length,
extended command use 22 dwords). MTL is first integrated which uses
extended block-copy instruction.

At the moment change enables using block-copy for uncompressed blits
on MTL only due to fact aux-ccs support for blitter is still unclear
for me. We haven't before code which uses aux-ccs for blitter so
enablement of this might occur in future changes.

Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
Cc: Kamil Konieczny <kamil.konieczny at linux.intel.com>
---
 tests/i915/gem_ccs.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tests/i915/gem_ccs.c b/tests/i915/gem_ccs.c
index ff28c6d889..6ae5ad85b8 100644
--- a/tests/i915/gem_ccs.c
+++ b/tests/i915/gem_ccs.c
@@ -443,6 +443,7 @@ static void block_copy(int i915,
 	uint32_t run_id = mid_tiling;
 	uint32_t mid_region = region2, bb;
 	uint32_t width = param.width, height = param.height;
+	uint32_t devid = intel_get_drm_devid(i915);
 	enum blt_compression mid_compression = config->compression;
 	int mid_compression_format = param.compression_format;
 	enum blt_compression_type comp_type = COMPRESSION_TYPE_3D;
@@ -451,7 +452,7 @@ static void block_copy(int i915,
 
 	igt_assert(__gem_create_in_memory_regions(i915, &bb, &bb_size, region1) == 0);
 
-	if (!blt_supports_compression(i915))
+	if (!blt_supports_compression(i915) && !IS_METEORLAKE(devid))
 		pext = NULL;
 
 	src = create_object(i915, region1, width, height, bpp, uc_mocs,
-- 
2.34.1



More information about the igt-dev mailing list