[igt-dev] [PATCH i-g-t v4 16/16] tests/kms_plane_scaling: Use tiling 4 if platform has support for it

Jeevan B jeevan.b at intel.com
Fri Feb 18 09:09:36 UTC 2022


From: Mika Kahola <mika.kahola at intel.com>

Switch using tiling 4 if a platform has support for it. For DG2 tiling 4
is superseeds Y tiling.

Signed-off-by: Mika Kahola <mika.kahola at intel.com>
Signed-off-by: Jeevan B <jeevan.b at intel.com>
---
 tests/kms_plane_scaling.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 1ab7e5ce..4baa8855 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -45,6 +45,7 @@ typedef struct {
 	igt_plane_t *plane3;
 	igt_plane_t *plane4;
 	bool extended;
+	bool has_4tile;
 } data_t;
 
 static int get_num_scalers(data_t* d, enum pipe pipe)
@@ -250,6 +251,9 @@ static void test_scaler_with_rotation_pipe(data_t *d, enum pipe pipe,
 	uint64_t modifier = is_i915_device(d->drm_fd) ?
 		I915_FORMAT_MOD_Y_TILED : DRM_FORMAT_MOD_LINEAR;
 
+	if (d->has_4tile)
+		modifier = I915_FORMAT_MOD_4_TILED;
+
 	igt_require(get_num_scalers(d, pipe) > 0);
 
 	igt_output_set_pipe(output, pipe);
@@ -285,7 +289,8 @@ static const uint64_t modifiers[] = {
 	DRM_FORMAT_MOD_LINEAR,
 	I915_FORMAT_MOD_X_TILED,
 	I915_FORMAT_MOD_Y_TILED,
-	I915_FORMAT_MOD_Yf_TILED
+	I915_FORMAT_MOD_Yf_TILED,
+	I915_FORMAT_MOD_4_TILED
 };
 
 static void test_scaler_with_pixel_format_pipe(data_t *d, enum pipe pipe, igt_output_t *output)
@@ -531,6 +536,7 @@ test_scaler_with_clipping_clamping_scenario(data_t *d, enum pipe pipe, igt_outpu
 	igt_pipe_t *pipe_obj = &d->display.pipes[pipe];
 	drmModeModeInfo *mode;
 	struct igt_vec tested_formats1;
+	uint64_t modifier = d->has_4tile ? I915_FORMAT_MOD_4_TILED : I915_FORMAT_MOD_Y_TILED;
 
 	igt_require(get_num_scalers(d, pipe) >= 2);
 
@@ -567,7 +573,7 @@ test_scaler_with_clipping_clamping_scenario(data_t *d, enum pipe pipe, igt_outpu
 
 			igt_create_pattern_fb(d->drm_fd,
 					      mode->hdisplay, mode->vdisplay, f2,
-					      I915_FORMAT_MOD_Y_TILED,
+					      modifier,
 					      &d->fb[2]);
 
 			__test_scaler_with_clipping_clamping_scenario(d, mode);
@@ -613,10 +619,9 @@ static void test_scaler_with_multi_pipe_plane(data_t *d)
 	igt_output_t *output1, *output2;
 	drmModeModeInfo *mode1, *mode2;
 	enum pipe pipe1, pipe2;
-	bool has_4tile = intel_get_device_info(intel_get_drm_devid(d->drm_fd))->has_4tile;
 	uint64_t modifier;
 
-	if (is_i915_device(display->drm_fd) && has_4tile)
+	if (is_i915_device(display->drm_fd) && d->has_4tile)
 		modifier = I915_FORMAT_MOD_4_TILED;
 	else if (is_i915_device(display->drm_fd))
 		modifier = I915_FORMAT_MOD_Y_TILED;
@@ -721,6 +726,8 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 		data.devid = is_i915_device(data.drm_fd) ?
 			intel_get_drm_devid(data.drm_fd) : 0;
 		igt_require(data.display.is_atomic);
+		data.has_4tile = is_i915_device(data.drm_fd) &&
+				 intel_get_device_info(intel_get_drm_devid(data.drm_fd))->has_4tile;
 	}
 
 	igt_subtest_group {
-- 
2.17.1



More information about the igt-dev mailing list