[igt-dev] [PATCH i-g-t] lib/igt_fb: on Xe driver take into account adlp with no extended block copy

Juha-Pekka Heikkila juhapekka.heikkila at gmail.com
Wed Oct 4 13:47:22 UTC 2023


With Xe add check to not use extended block copy if it is not available.

Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
---
 lib/igt_fb.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index f0c0681ab..54a66eb6a 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -2920,17 +2920,19 @@ static void blitcopy(const struct igt_fb *dst_fb,
 			blt_set_copy_object(&blt.src, src);
 			blt_set_copy_object(&blt.dst, dst);
 
-			blt_set_object_ext(&ext.src,
-					   blt_compression_format(&blt, src_fb),
-					   src_fb->width, src_fb->height,
-					   SURFACE_TYPE_2D);
+			if (blt_uses_extended_block_copy(src_fb->fd)) {
+				blt_set_object_ext(&ext.src,
+						blt_compression_format(&blt, src_fb),
+						src_fb->width, src_fb->height,
+						SURFACE_TYPE_2D);
 
-			blt_set_object_ext(&ext.dst,
-					   blt_compression_format(&blt, dst_fb),
-					   dst_fb->width, dst_fb->height,
-					   SURFACE_TYPE_2D);
+				blt_set_object_ext(&ext.dst,
+						blt_compression_format(&blt, dst_fb),
+						dst_fb->width, dst_fb->height,
+						SURFACE_TYPE_2D);
 
-			pext = &ext;
+				pext = &ext;
+			}
 
 			blt_set_batch(&blt.bb, xe_bb, bb_size, mem_region);
 
-- 
2.34.1



More information about the igt-dev mailing list