[PATCH i-g-t v4 7/8] XE3: tests/intel/kms_frontbuffer_tracking: fix x-tiled tests for case when there is no x-tile

Clint Taylor clinton.a.taylor at intel.com
Fri Dec 6 21:27:47 UTC 2024


From: "Heikkila, Juha-pekka" <juha-pekka.heikkila at intel.com>

On Xe3 display no more support x-tile and will disable such framebuffers

v2: Optimize display_ver checks (Sai Teja)

Signed-off-by: Heikkila, Juha-pekka <juha-pekka.heikkila at intel.com>
Signed-off-by: Clint Taylor <Clinton.A.Taylor at intel.com>
---
 tests/intel/kms_frontbuffer_tracking.c | 25 +++++++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)

diff --git a/tests/intel/kms_frontbuffer_tracking.c b/tests/intel/kms_frontbuffer_tracking.c
index e41ee0a80..c5b3fd46f 100644
--- a/tests/intel/kms_frontbuffer_tracking.c
+++ b/tests/intel/kms_frontbuffer_tracking.c
@@ -2181,7 +2181,12 @@ static void setup_modeset(void)
 	offscreen_fb.fb = NULL;
 	offscreen_fb.w = 1024;
 	offscreen_fb.h = 1024;
-	create_fbs(FORMAT_DEFAULT, opt.tiling);
+
+	/* Xe3 remove x-tile from display + */
+	if (drm.display_ver < 30)
+		create_fbs(FORMAT_DEFAULT, opt.tiling);
+	else
+		create_fbs(FORMAT_DEFAULT, TILING_4);
 }
 
 static void teardown_modeset(void)
@@ -2302,7 +2307,6 @@ static void setup_drrs(void)
 
 static void setup_environment(void)
 {
-	setup_drm();
 	setup_modeset();
 
 	setup_fbc();
@@ -3146,6 +3150,7 @@ static bool tiling_is_valid(int feature_flags, enum tiling_type tiling)
 	case TILING_LINEAR:
 		return intel_gen(drm.devid) >= 9;
 	case TILING_X:
+		return (intel_get_device_info(drm.devid)->display_ver > 29) ? false : true;
 	case TILING_Y:
 		return true;
 	case TILING_4:
@@ -4226,9 +4231,10 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 	igt_output_t *output;
 
 	igt_fixture {
-		setup_environment();
+		setup_drm();
 		drm.devid = intel_get_drm_devid(drm.fd);
 		drm.display_ver = intel_display_ver(drm.devid);
+		setup_environment();
 	}
 
 	for (t.feature = 0; t.feature < FEATURE_COUNT; t.feature++) {
@@ -4537,6 +4543,11 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 					if (t.tiling == TILING_4)
 						igt_require(intel_get_device_info(drm.devid)->has_4tile);
 
+					/* Xe3 remove x-tile from display + */
+					if (t.tiling == TILING_X) {
+						igt_require(drm.display_ver < 30);
+					}
+
 					if (tiling_is_valid(t.feature, t.tiling))
 						draw_subtest(&t);
 					else
@@ -4568,7 +4579,13 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 	t.format = FORMAT_DEFAULT;
 	t.flip = FLIP_PAGEFLIP;
 	t.method = IGT_DRAW_BLT;
-	t.tiling = opt.tiling;
+
+	/* Xe3 remove x-tile from display + */
+	if (drm.display_ver < 30)
+		t.tiling = opt.tiling;
+	else
+		t.tiling = TILING_4;
+
 	igt_subtest("basic") {
 		if (!is_xe_device(drm.fd))
 			igt_require_gem(drm.fd);
-- 
2.25.1



More information about the igt-dev mailing list