All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [v5 0/9] Addition of new plane scaling test cases
@ 2022-02-16 12:22 Swati Sharma
  2022-02-16 12:22 ` [igt-dev] [v5 1/9] tests/kms_plane_scaling: Removal of plane-scaling subtest Swati Sharma
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: Swati Sharma @ 2022-02-16 12:22 UTC (permalink / raw)
  To: igt-dev

In this series, combination of downscaling and upscaling
testcases are added. Also, code refactoring is done for
existing code.

    v2:-minor fixes, to prevent CI crashes
    v3:-added subtests for testing upscaling/downscaling for
        each plane individually (Ville)
       -modified existing subtests for each N plane scaling
        combo (Ville)
    v4:-removal of i915sm (Ville)
       -code reusablity (Ville)
    v5:-use enum (Viile)
       -limit while loop (Ville)
       -add assert for fail/pass (Ville)
       -added primary plane for testing (Ville)

Swati Sharma (9):
  tests/kms_plane_scaling: Removal of plane-scaling subtest
  tests/kms_plane_scaling: Add output name in dynamic subtests
  tests/kms_plane_scaling: Upscaling each plane
  tests/kms_plane_scaling: Downscaling each plane
  tests/kms_plane_scaling: Upscaling on 2 planes
  tests/kms_plane_scaling: Downscaling on 2 planes
  tests/kms_plane_scaling: Upscaling and downscaling scenario
  tests/kms_plane_scaling: Add negative test to check num of scalers
  tests/kms_plane_scaling: Refactor clipping-clamping subtest

 tests/kms_plane_scaling.c | 720 +++++++++++++++++++++++---------------
 1 file changed, 445 insertions(+), 275 deletions(-)

-- 
2.25.1

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [igt-dev] [v5 1/9] tests/kms_plane_scaling: Removal of plane-scaling subtest
  2022-02-16 12:22 [igt-dev] [v5 0/9] Addition of new plane scaling test cases Swati Sharma
@ 2022-02-16 12:22 ` Swati Sharma
  2022-02-16 12:22 ` [igt-dev] [v5 2/9] tests/kms_plane_scaling: Add output name in dynamic subtests Swati Sharma
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Swati Sharma @ 2022-02-16 12:22 UTC (permalink / raw)
  To: igt-dev

The test case has dead code, primary_plane_scaling is always 0.
Also, upscaling and downscaling scenarios seems little bit messy.
Lets simplify those scenarios by introducing new subtests covering both
upscaling and downscaling.

Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
---
 tests/kms_plane_scaling.c | 179 --------------------------------------
 1 file changed, 179 deletions(-)

diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 85db11ee..4e2be7f2 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -323,178 +323,6 @@ static void test_scaler_with_pixel_format_pipe(data_t *d, enum pipe pipe, igt_ou
 	}
 }
 
-/* does iterative scaling on plane2 */
-static void iterate_plane_scaling(data_t *d, drmModeModeInfo *mode)
-{
-	igt_display_t *display = &d->display;
-
-	if (mode->hdisplay >= d->fb[1].width) {
-		int w, h;
-		/* fixed fb */
-		igt_fb_set_position(&d->fb[1], d->plane2, 0, 0);
-		igt_fb_set_size(&d->fb[1], d->plane2, d->fb[1].width, d->fb[1].height);
-		igt_plane_set_position(d->plane2, 0, 0);
-
-		/* adjust plane size */
-		for (w = d->fb[1].width; w <= mode->hdisplay; w+=10) {
-			h = w * d->fb[1].height / d->fb[1].width;
-			igt_plane_set_size(d->plane2, w, h);
-			igt_display_commit2(display, COMMIT_ATOMIC);
-		}
-	} else {
-		int w, h;
-		/* fixed plane */
-		igt_plane_set_position(d->plane2, 0, 0);
-		igt_plane_set_size(d->plane2, mode->hdisplay, mode->vdisplay);
-		igt_fb_set_position(&d->fb[1], d->plane2, 0, 0);
-
-		/* adjust fb size */
-		for (w = mode->hdisplay; w <= d->fb[1].width; w+=10) {
-			/* Source coordinates must not be clipped. */
-			h = min(w * mode->hdisplay / mode->vdisplay, d->fb[1].height);
-			igt_fb_set_size(&d->fb[1], d->plane2, w, h);
-			igt_display_commit2(display, COMMIT_ATOMIC);
-		}
-	}
-}
-
-static void
-test_plane_scaling_on_pipe(data_t *d, enum pipe pipe, igt_output_t *output)
-{
-	igt_display_t *display = &d->display;
-	igt_pipe_t *pipe_obj = &display->pipes[pipe];
-	drmModeModeInfo *mode;
-	int primary_plane_scaling = 0; /* For now */
-	uint64_t modifier = is_i915_device(display->drm_fd) ?
-		I915_FORMAT_MOD_X_TILED : DRM_FORMAT_MOD_LINEAR;
-
-	igt_require(get_num_scalers(d, pipe) > 0);
-
-	igt_skip_on(!igt_display_has_format_mod(display, DRM_FORMAT_XRGB8888,
-						modifier));
-
-	mode = igt_output_get_mode(output);
-
-	/* Set up display with plane 1 */
-	d->plane1 = igt_pipe_get_plane_type(pipe_obj, DRM_PLANE_TYPE_PRIMARY);
-	prepare_crtc(d, output, pipe, d->plane1, mode);
-
-	igt_create_color_pattern_fb(display->drm_fd, 600, 600,
-				    DRM_FORMAT_XRGB8888,
-				    modifier,
-				    .5, .5, .5, &d->fb[1]);
-
-	igt_create_pattern_fb(d->drm_fd,
-			      mode->hdisplay, mode->vdisplay,
-			      DRM_FORMAT_XRGB8888,
-			      modifier,
-			      &d->fb[2]);
-
-	if (primary_plane_scaling) {
-		/* Primary plane upscaling */
-		igt_fb_set_position(&d->fb[0], d->plane1, 100, 100);
-		igt_fb_set_size(&d->fb[0], d->plane1, 500, 500);
-		igt_plane_set_position(d->plane1, 0, 0);
-		igt_plane_set_size(d->plane1, mode->hdisplay, mode->vdisplay);
-		igt_display_commit2(display, COMMIT_ATOMIC);
-
-		/* Primary plane 1:1 no scaling */
-		igt_fb_set_position(&d->fb[0], d->plane1, 0, 0);
-		igt_fb_set_size(&d->fb[0], d->plane1, d->fb[0].width, d->fb[0].height);
-		igt_plane_set_position(d->plane1, 0, 0);
-		igt_plane_set_size(d->plane1, mode->hdisplay, mode->vdisplay);
-		igt_display_commit2(display, COMMIT_ATOMIC);
-	}
-
-	/* Set up fb[1]->plane2 mapping. */
-	d->plane2 = igt_pipe_get_plane_type_index(pipe_obj,
-						  DRM_PLANE_TYPE_OVERLAY, 0);
-
-	if (!d->plane2) {
-		igt_debug("Plane-2 doesnt exist on pipe %s\n", kmstest_pipe_name(pipe));
-		return;
-	}
-
-	igt_plane_set_fb(d->plane2, &d->fb[1]);
-
-	/* 2nd plane windowed */
-	igt_fb_set_position(&d->fb[1], d->plane2, 100, 100);
-	igt_fb_set_size(&d->fb[1], d->plane2, d->fb[1].width-200, d->fb[1].height-200);
-	igt_plane_set_position(d->plane2, 100, 100);
-	igt_plane_set_size(d->plane2, mode->hdisplay-200, mode->vdisplay-200);
-	igt_display_commit2(display, COMMIT_ATOMIC);
-
-	iterate_plane_scaling(d, mode);
-
-	/* 2nd plane up scaling */
-	igt_fb_set_position(&d->fb[1], d->plane2, 100, 100);
-	igt_fb_set_size(&d->fb[1], d->plane2, 500, 500);
-	igt_plane_set_position(d->plane2, 10, 10);
-	igt_plane_set_size(d->plane2, mode->hdisplay-20, mode->vdisplay-20);
-	igt_display_commit2(display, COMMIT_ATOMIC);
-
-	/* 2nd plane downscaling */
-	igt_fb_set_position(&d->fb[1], d->plane2, 0, 0);
-	igt_fb_set_size(&d->fb[1], d->plane2, d->fb[1].width, d->fb[1].height);
-	igt_plane_set_position(d->plane2, 10, 10);
-
-	/* Downscale (10/9)x of original image */
-	igt_plane_set_size(d->plane2, (d->fb[1].width * 10)/9, (d->fb[1].height * 10)/9);
-	igt_display_commit2(display, COMMIT_ATOMIC);
-
-	if (primary_plane_scaling) {
-		/* Primary plane up scaling */
-		igt_fb_set_position(&d->fb[0], d->plane1, 100, 100);
-		igt_fb_set_size(&d->fb[0], d->plane1, 500, 500);
-		igt_plane_set_position(d->plane1, 0, 0);
-		igt_plane_set_size(d->plane1, mode->hdisplay, mode->vdisplay);
-		igt_display_commit2(display, COMMIT_ATOMIC);
-	}
-
-	/* Set up fb[2]->plane3 mapping. */
-	d->plane3 = igt_pipe_get_plane_type_index(pipe_obj,
-						  DRM_PLANE_TYPE_OVERLAY, 1);
-	if(!d->plane3) {
-		igt_debug("Plane-3 doesnt exist on pipe %s\n", kmstest_pipe_name(pipe));
-		return;
-	}
-
-	igt_plane_set_fb(d->plane3, &d->fb[2]);
-
-	/* 3rd plane windowed - no scaling */
-	igt_fb_set_position(&d->fb[2], d->plane3, 100, 100);
-	igt_fb_set_size(&d->fb[2], d->plane3, d->fb[2].width-300, d->fb[2].height-300);
-	igt_plane_set_position(d->plane3, 100, 100);
-	igt_plane_set_size(d->plane3, mode->hdisplay-300, mode->vdisplay-300);
-	igt_display_commit2(display, COMMIT_ATOMIC);
-
-	/* Switch scaler from plane 2 to plane 3 */
-	igt_fb_set_position(&d->fb[1], d->plane2, 100, 100);
-	igt_fb_set_size(&d->fb[1], d->plane2, d->fb[1].width-200, d->fb[1].height-200);
-	igt_plane_set_position(d->plane2, 100, 100);
-	igt_plane_set_size(d->plane2, d->fb[1].width-200, d->fb[1].height-200);
-
-	igt_fb_set_position(&d->fb[2], d->plane3, 100, 100);
-	igt_fb_set_size(&d->fb[2], d->plane3, d->fb[2].width-400, d->fb[2].height-400);
-	igt_plane_set_position(d->plane3, 10, 10);
-	igt_plane_set_size(d->plane3, mode->hdisplay-300, mode->vdisplay-300);
-	igt_display_commit2(display, COMMIT_ATOMIC);
-
-	if (primary_plane_scaling) {
-		/* Switch scaler from plane 1 to plane 2 */
-		igt_fb_set_position(&d->fb[0], d->plane1, 0, 0);
-		igt_fb_set_size(&d->fb[0], d->plane1, d->fb[0].width, d->fb[0].height);
-		igt_plane_set_position(d->plane1, 0, 0);
-		igt_plane_set_size(d->plane1, mode->hdisplay, mode->vdisplay);
-
-		igt_fb_set_position(&d->fb[1], d->plane2, 100, 100);
-		igt_fb_set_size(&d->fb[1], d->plane2, d->fb[1].width-500,d->fb[1].height-500);
-		igt_plane_set_position(d->plane2, 100, 100);
-		igt_plane_set_size(d->plane2, mode->hdisplay-200, mode->vdisplay-200);
-		igt_display_commit2(display, COMMIT_ATOMIC);
-	}
-}
-
 static void
 __test_scaler_with_clipping_clamping_scenario(data_t *d, drmModeModeInfo *mode)
 {
@@ -719,13 +547,6 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 	igt_subtest_group {
 		igt_output_t *output;
 
-		igt_describe("Tests plane scaling per pipe.");
-		igt_subtest_with_dynamic("plane-scaling") {
-			for_each_pipe_with_single_output(&data.display, pipe, output)
-				igt_dynamic_f("pipe-%s-plane-scaling", kmstest_pipe_name(pipe))
-					test_plane_scaling_on_pipe(&data, pipe, output);
-		}
-
 		igt_describe("Tests scaling with pixel formats.");
 		igt_subtest_with_dynamic("scaler-with-pixel-format") {
 			for_each_pipe_with_single_output(&data.display, pipe, output)
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [igt-dev] [v5 2/9] tests/kms_plane_scaling: Add output name in dynamic subtests
  2022-02-16 12:22 [igt-dev] [v5 0/9] Addition of new plane scaling test cases Swati Sharma
  2022-02-16 12:22 ` [igt-dev] [v5 1/9] tests/kms_plane_scaling: Removal of plane-scaling subtest Swati Sharma
@ 2022-02-16 12:22 ` Swati Sharma
  2022-02-16 12:22 ` [igt-dev] [v5 3/9] tests/kms_plane_scaling: Upscaling each plane Swati Sharma
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Swati Sharma @ 2022-02-16 12:22 UTC (permalink / raw)
  To: igt-dev

Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
---
 tests/kms_plane_scaling.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 4e2be7f2..1cf62841 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -550,21 +550,21 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 		igt_describe("Tests scaling with pixel formats.");
 		igt_subtest_with_dynamic("scaler-with-pixel-format") {
 			for_each_pipe_with_single_output(&data.display, pipe, output)
-				igt_dynamic_f("pipe-%s-scaler-with-pixel-format", kmstest_pipe_name(pipe))
+				igt_dynamic_f("pipe-%s-%s-scaler-with-pixel-format", kmstest_pipe_name(pipe), igt_output_name(output))
 					test_scaler_with_pixel_format_pipe(&data, pipe, output);
 		}
 
 		igt_describe("Tests scaling with tiling rotation.");
 		igt_subtest_with_dynamic("scaler-with-rotation") {
 			for_each_pipe_with_single_output(&data.display, pipe, output)
-				igt_dynamic_f("pipe-%s-scaler-with-rotation", kmstest_pipe_name(pipe))
+				igt_dynamic_f("pipe-%s-%s-scaler-with-rotation", kmstest_pipe_name(pipe), igt_output_name(output))
 					test_scaler_with_rotation_pipe(&data, pipe, output);
 		}
 
 		igt_describe("Tests scaling with clipping and clamping.");
 		igt_subtest_with_dynamic("scaler-with-clipping-clamping") {
 			for_each_pipe_with_single_output(&data.display, pipe, output)
-				igt_dynamic_f("pipe-%s-scaler-with-clipping-clamping", kmstest_pipe_name(pipe))
+				igt_dynamic_f("pipe-%s-%s-scaler-with-clipping-clamping", kmstest_pipe_name(pipe), igt_output_name(output))
 					test_scaler_with_clipping_clamping_scenario(&data, pipe, output);
 		}
 	}
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [igt-dev] [v5 3/9] tests/kms_plane_scaling: Upscaling each plane
  2022-02-16 12:22 [igt-dev] [v5 0/9] Addition of new plane scaling test cases Swati Sharma
  2022-02-16 12:22 ` [igt-dev] [v5 1/9] tests/kms_plane_scaling: Removal of plane-scaling subtest Swati Sharma
  2022-02-16 12:22 ` [igt-dev] [v5 2/9] tests/kms_plane_scaling: Add output name in dynamic subtests Swati Sharma
@ 2022-02-16 12:22 ` Swati Sharma
  2022-02-16 12:22 ` [igt-dev] [v5 4/9] tests/kms_plane_scaling: Downscaling " Swati Sharma
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Swati Sharma @ 2022-02-16 12:22 UTC (permalink / raw)
  To: igt-dev

Subtest for testing upscaling for each plane
individually (checked 1 plane per "class" like
we do in other tests)

v2: -set modifier as LINEAR (Ville)
    -shared code for upscaling and downscaling tests (Ville)
    -removed num_scaler() check and added try_commit() (Ville)
v3: -used enum instead of test flag (Ville)
    -added igt_assert_eq() for pass/fail (Ville)

Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
---
 tests/kms_plane_scaling.c | 70 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)

diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 1cf62841..9ecda31c 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -29,6 +29,10 @@
 
 IGT_TEST_DESCRIPTION("Test display plane scaling");
 
+enum scaler_test_type {
+	TEST_UPSCALING = 0,
+};
+
 typedef struct {
 	uint32_t devid;
 	int drm_fd;
@@ -230,6 +234,65 @@ static bool test_format(data_t *data,
 	return true;
 }
 
+static void
+__test_plane_upscaling(data_t *d, igt_plane_t *plane,
+		       enum pipe pipe, igt_output_t *output)
+{
+	igt_display_t *display = &d->display;
+	int width, height, ret;
+	drmModeModeInfo *mode;
+
+	cleanup_crtc(d);
+
+	igt_output_set_pipe(output, pipe);
+	mode = igt_output_get_mode(output);
+	width = height = 20;
+
+	igt_create_color_pattern_fb(display->drm_fd,
+                                    width, height,
+                                    DRM_FORMAT_XRGB8888,
+                                    I915_TILING_NONE,
+                                    1.0, 0.0, 0.0, &d->fb[0]);
+
+	igt_plane_set_fb(plane, &d->fb[0]);
+	igt_plane_set_size(plane, mode->hdisplay, mode->vdisplay);
+	ret = igt_display_try_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+
+	igt_plane_set_fb(plane, NULL);
+	igt_remove_fb(display->drm_fd, &d->fb[0]);
+
+	igt_skip_on_f(ret == -EINVAL || ret == -ERANGE, "Scaling op not supported by driver\n");
+	igt_assert_eq(ret, 0);
+}
+
+static void
+test_plane_scaling(data_t *d, enum pipe pipe, igt_output_t *output, enum scaler_test_type test_type)
+{
+	igt_display_t *display = &d->display;
+	uint64_t modifier = DRM_FORMAT_MOD_LINEAR;
+	igt_plane_t *plane;
+
+	for_each_plane_on_pipe(display, pipe, plane) {
+		struct igt_vec tested_formats;
+
+		if (plane->type == DRM_PLANE_TYPE_CURSOR)
+			continue;
+
+		igt_vec_init(&tested_formats, sizeof(uint32_t));
+
+		for (int j = 0; j < plane->drm_plane->count_formats; j++) {
+			uint32_t format = plane->drm_plane->formats[j];
+			if (test_format(d, &tested_formats, format) &&
+			    igt_plane_has_format_mod(plane, format, modifier) &&
+			    can_scale(d, format))
+				if (test_type == TEST_UPSCALING)
+					__test_plane_upscaling(d, plane, pipe, output);
+		}
+
+		igt_vec_fini(&tested_formats);
+	}
+}
+
 static bool test_pipe_iteration(data_t *data, enum pipe pipe, int iteration)
 {
 	if (!is_i915_device(data->drm_fd) ||
@@ -547,6 +610,13 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 	igt_subtest_group {
 		igt_output_t *output;
 
+		igt_describe("Tests plane upscaling.");
+		igt_subtest_with_dynamic("plane-upscaling") {
+			for_each_pipe_with_single_output(&data.display, pipe, output)
+				igt_dynamic_f("pipe-%s-%s-upscaling", kmstest_pipe_name(pipe), igt_output_name(output))
+					test_plane_scaling(&data, pipe, output, TEST_UPSCALING);
+		}
+
 		igt_describe("Tests scaling with pixel formats.");
 		igt_subtest_with_dynamic("scaler-with-pixel-format") {
 			for_each_pipe_with_single_output(&data.display, pipe, output)
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [igt-dev] [v5 4/9] tests/kms_plane_scaling: Downscaling each plane
  2022-02-16 12:22 [igt-dev] [v5 0/9] Addition of new plane scaling test cases Swati Sharma
                   ` (2 preceding siblings ...)
  2022-02-16 12:22 ` [igt-dev] [v5 3/9] tests/kms_plane_scaling: Upscaling each plane Swati Sharma
@ 2022-02-16 12:22 ` Swati Sharma
  2022-02-16 12:22 ` [igt-dev] [v5 5/9] tests/kms_plane_scaling: Upscaling on 2 planes Swati Sharma
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Swati Sharma @ 2022-02-16 12:22 UTC (permalink / raw)
  To: igt-dev

Subtest for testing downscaling for each plane
individually (checked 1 plane per "class" like
we do in other tests).

v2: -set modifier as LINEAR (Ville)
    -shared code for upscaling and downscaling tests (Ville)
    -removed num_scaler() check and added try_commit() (Ville)
v3: -corrected while loop (Ville)
    -added assert() (Ville)

Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
---
 tests/kms_plane_scaling.c | 56 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 55 insertions(+), 1 deletion(-)

diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 9ecda31c..0be7dc0c 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -31,6 +31,7 @@ IGT_TEST_DESCRIPTION("Test display plane scaling");
 
 enum scaler_test_type {
 	TEST_UPSCALING = 0,
+	TEST_DOWNSCALING,
 };
 
 typedef struct {
@@ -265,6 +266,49 @@ __test_plane_upscaling(data_t *d, igt_plane_t *plane,
 	igt_assert_eq(ret, 0);
 }
 
+static void
+__test_plane_downscaling(data_t *d, igt_plane_t *plane,
+		         enum pipe pipe, igt_output_t *output)
+{
+	igt_display_t *display = &d->display;
+	int width, height;
+	drmModeModeInfo *mode;
+	bool test_complete = false;
+	int scaling = 50;
+	int ret;
+
+	cleanup_crtc(d);
+
+	igt_output_set_pipe(output, pipe);
+	mode = igt_output_get_mode(output);
+	width = mode->hdisplay;
+	height = mode->vdisplay;
+
+	igt_create_color_pattern_fb(display->drm_fd,
+				    width, height,
+				    DRM_FORMAT_XRGB8888,
+				    I915_TILING_NONE,
+				    1.0, 0.0, 0.0, &d->fb[0]);
+
+	igt_plane_set_fb(plane, &d->fb[0]);
+
+	while(!test_complete && scaling < 100) {
+		igt_plane_set_size(plane, (width * scaling) / 100, (height * scaling) / 100);
+		ret = igt_display_try_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+
+		if (ret != -EINVAL)
+			test_complete = true;
+
+		scaling += 5;
+	}
+
+	igt_plane_set_fb(plane, NULL);
+	igt_remove_fb(display->drm_fd, &d->fb[0]);
+
+	igt_skip_on_f(ret == -EINVAL || ret == -ERANGE, "Scaling op not supported by driver\n");
+	igt_assert_eq(ret, 0);
+}
+
 static void
 test_plane_scaling(data_t *d, enum pipe pipe, igt_output_t *output, enum scaler_test_type test_type)
 {
@@ -284,9 +328,12 @@ test_plane_scaling(data_t *d, enum pipe pipe, igt_output_t *output, enum scaler_
 			uint32_t format = plane->drm_plane->formats[j];
 			if (test_format(d, &tested_formats, format) &&
 			    igt_plane_has_format_mod(plane, format, modifier) &&
-			    can_scale(d, format))
+			    can_scale(d, format)) {
 				if (test_type == TEST_UPSCALING)
 					__test_plane_upscaling(d, plane, pipe, output);
+				if (test_type == TEST_DOWNSCALING)
+					__test_plane_downscaling(d, plane, pipe, output);
+			}
 		}
 
 		igt_vec_fini(&tested_formats);
@@ -617,6 +664,13 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 					test_plane_scaling(&data, pipe, output, TEST_UPSCALING);
 		}
 
+		igt_describe("Tests plane downscaling.");
+		igt_subtest_with_dynamic("plane-downscaling") {
+			for_each_pipe_with_single_output(&data.display, pipe, output)
+				igt_dynamic_f("pipe-%s-%s-downscaling", kmstest_pipe_name(pipe), igt_output_name(output))
+					test_plane_scaling(&data, pipe, output, TEST_DOWNSCALING);
+		}
+
 		igt_describe("Tests scaling with pixel formats.");
 		igt_subtest_with_dynamic("scaler-with-pixel-format") {
 			for_each_pipe_with_single_output(&data.display, pipe, output)
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [igt-dev] [v5 5/9] tests/kms_plane_scaling: Upscaling on 2 planes
  2022-02-16 12:22 [igt-dev] [v5 0/9] Addition of new plane scaling test cases Swati Sharma
                   ` (3 preceding siblings ...)
  2022-02-16 12:22 ` [igt-dev] [v5 4/9] tests/kms_plane_scaling: Downscaling " Swati Sharma
@ 2022-02-16 12:22 ` Swati Sharma
  2022-02-16 12:22 ` [igt-dev] [v5 6/9] tests/kms_plane_scaling: Downscaling " Swati Sharma
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Swati Sharma @ 2022-02-16 12:22 UTC (permalink / raw)
  To: igt-dev

i915 driver supports 2 scalers per pipe. Added test case
to upscale 2 planes simultaneously on single pipe.

v2: -add check for min 2 scalers
    -add igt_require() for overlay planes, fixes CRASH on KBL
v3: -test modified for n planes (Ville)
v4: -modularized the code
    -removed i915 dependency (Ville)
v5: -added primary plane back (Ville)
    -whitespace fixed (Ville)

Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
---
 tests/kms_plane_scaling.c | 85 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 85 insertions(+)

diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 0be7dc0c..a9088814 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -32,6 +32,7 @@ IGT_TEST_DESCRIPTION("Test display plane scaling");
 enum scaler_test_type {
 	TEST_UPSCALING = 0,
 	TEST_DOWNSCALING,
+	TEST_UPSCALING_UPSCALING,
 };
 
 typedef struct {
@@ -340,6 +341,83 @@ test_plane_scaling(data_t *d, enum pipe pipe, igt_output_t *output, enum scaler_
 	}
 }
 
+static void
+__test_planes_upscaling_upscaling(data_t *d, enum pipe pipe, igt_output_t *output,
+				  igt_plane_t *plane1, igt_plane_t *plane2,
+				  struct igt_fb *fb1, struct igt_fb *fb2)
+{
+	igt_display_t *display = &d->display;
+	drmModeModeInfo *mode;
+	int width, height;
+	int ret;
+
+	mode = igt_output_get_mode(output);
+	width = mode->hdisplay;
+	height = mode->vdisplay;
+
+	igt_plane_set_fb(plane1, fb1);
+	igt_plane_set_fb(plane2, fb2);
+
+	/* first plane upscaling */
+	igt_plane_set_size(plane1, width, height);
+	/* second plane upscaling */
+	igt_plane_set_size(plane2, width - 20, height - 20);
+	ret = igt_display_try_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+
+	igt_plane_set_fb(plane1, NULL);
+	igt_plane_set_fb(plane2, NULL);
+
+	igt_skip_on_f(ret == -EINVAL || ret == -ERANGE, "Scaling op not supported by driver\n");
+	igt_assert_eq(ret, 0);
+}
+
+static void setup_fb(int fd, int width, int height,
+		     double r, double g, double b,
+		     struct igt_fb *fb)
+{
+	igt_create_color_pattern_fb(fd, width, height,
+				    DRM_FORMAT_XRGB8888,
+				    I915_TILING_NONE,
+				    r, g, b, fb);
+}
+
+static void
+test_plane_scaling_combo(data_t *d, enum pipe pipe, igt_output_t *output, enum scaler_test_type test_type)
+{
+	igt_display_t *display = &d->display;
+	int width, height;
+
+	cleanup_crtc(d);
+
+	width = height = 20;
+
+	if (test_type == TEST_UPSCALING_UPSCALING) {
+		setup_fb(display->drm_fd, width, height, 1.0, 0.0, 0.0, &d->fb[1]);
+		setup_fb(display->drm_fd, width, height, 0.0, 1.0, 0.0, &d->fb[2]);
+	}
+
+	igt_output_set_pipe(output, pipe);
+
+	for (int k = 0; k < display->pipes[pipe].n_planes; k++) {
+		igt_plane_t *p1, *p2;
+
+		p1 = &display->pipes[pipe].planes[k];
+		igt_require(p1);
+		p2 = &display->pipes[pipe].planes[k+1];
+		igt_require(p2);
+
+		if (p1->type == DRM_PLANE_TYPE_CURSOR || p2->type == DRM_PLANE_TYPE_CURSOR)
+				continue;
+
+		if (test_type == TEST_UPSCALING_UPSCALING)
+			__test_planes_upscaling_upscaling(d, pipe, output, p1, p2,
+							  &d->fb[1], &d->fb[2]);
+	}
+
+	igt_remove_fb(display->drm_fd, &d->fb[1]);
+	igt_remove_fb(display->drm_fd, &d->fb[2]);
+}
+
 static bool test_pipe_iteration(data_t *data, enum pipe pipe, int iteration)
 {
 	if (!is_i915_device(data->drm_fd) ||
@@ -671,6 +749,13 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 					test_plane_scaling(&data, pipe, output, TEST_DOWNSCALING);
 		}
 
+		igt_describe("Tests upscaling of 2 planes.");
+		igt_subtest_with_dynamic("planes-upscaling-upscaling") {
+			for_each_pipe_with_single_output(&data.display, pipe, output)
+				igt_dynamic_f("pipe-%s-%s-planes-upscaling-upscaling", kmstest_pipe_name(pipe), igt_output_name(output))
+					test_plane_scaling_combo(&data, pipe, output, TEST_UPSCALING_UPSCALING);
+		}
+
 		igt_describe("Tests scaling with pixel formats.");
 		igt_subtest_with_dynamic("scaler-with-pixel-format") {
 			for_each_pipe_with_single_output(&data.display, pipe, output)
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [igt-dev] [v5 6/9] tests/kms_plane_scaling: Downscaling on 2 planes
  2022-02-16 12:22 [igt-dev] [v5 0/9] Addition of new plane scaling test cases Swati Sharma
                   ` (4 preceding siblings ...)
  2022-02-16 12:22 ` [igt-dev] [v5 5/9] tests/kms_plane_scaling: Upscaling on 2 planes Swati Sharma
@ 2022-02-16 12:22 ` Swati Sharma
  2022-02-16 12:22 ` [igt-dev] [v5 7/9] tests/kms_plane_scaling: Upscaling and downscaling scenario Swati Sharma
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Swati Sharma @ 2022-02-16 12:22 UTC (permalink / raw)
  To: igt-dev

Added test case to downscale 2 planes simultaneously.
i915 driver supports max of 3:1 downscaling limit.

v2: -add check for min 2 scalers
    -add igt_require() for overlay planes, fixes CRASH on KBL
v3: -test modified for n planes (Ville)
v4: -code optimization
v5: -limiting while loop (Ville)

Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
---
 tests/kms_plane_scaling.c | 62 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 61 insertions(+), 1 deletion(-)

diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index a9088814..1262a8ee 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -33,6 +33,7 @@ enum scaler_test_type {
 	TEST_UPSCALING = 0,
 	TEST_DOWNSCALING,
 	TEST_UPSCALING_UPSCALING,
+	TEST_DOWNSCALING_DOWNSCALING,
 };
 
 typedef struct {
@@ -371,6 +372,45 @@ __test_planes_upscaling_upscaling(data_t *d, enum pipe pipe, igt_output_t *outpu
 	igt_assert_eq(ret, 0);
 }
 
+static void
+__test_planes_downscaling_downscaling(data_t *d, enum pipe pipe, igt_output_t *output,
+				      igt_plane_t *plane1, igt_plane_t *plane2,
+				      struct igt_fb *fb1, struct igt_fb *fb2)
+{
+	igt_display_t *display = &d->display;
+	bool test_complete = false;
+	drmModeModeInfo *mode;
+	int width, height;
+	int scaling = 50;
+	int ret;
+
+	mode = igt_output_get_mode(output);
+	width = mode->hdisplay;
+	height = mode->vdisplay;
+
+	igt_plane_set_fb(plane1, fb1);
+	igt_plane_set_fb(plane2, fb2);
+
+	while (!test_complete && scaling < 100) {
+		/* first plane downscaling */
+		igt_plane_set_size(plane1, (width * scaling) / 100, (height * scaling) / 100);
+		/* second plane downscaling */
+		igt_plane_set_size(plane2, (width * scaling) / 100, (height * scaling) / 100);
+		ret = igt_display_try_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+
+		if (ret != -EINVAL)
+			test_complete = true;
+
+		scaling += 5;
+	}
+
+	igt_plane_set_fb(plane1, NULL);
+	igt_plane_set_fb(plane2, NULL);
+
+	igt_skip_on_f(ret == -EINVAL || ret == -ERANGE, "Scaling op not supported by driver\n");
+	igt_assert_eq(ret, 0);
+}
+
 static void setup_fb(int fd, int width, int height,
 		     double r, double g, double b,
 		     struct igt_fb *fb)
@@ -385,16 +425,24 @@ static void
 test_plane_scaling_combo(data_t *d, enum pipe pipe, igt_output_t *output, enum scaler_test_type test_type)
 {
 	igt_display_t *display = &d->display;
-	int width, height;
+	int width, height, width1, height1;
+	drmModeModeInfo *mode;
 
 	cleanup_crtc(d);
 
 	width = height = 20;
+	mode = igt_output_get_mode(output);
+	width1 = mode->hdisplay;
+	height1 = mode->vdisplay;
 
 	if (test_type == TEST_UPSCALING_UPSCALING) {
 		setup_fb(display->drm_fd, width, height, 1.0, 0.0, 0.0, &d->fb[1]);
 		setup_fb(display->drm_fd, width, height, 0.0, 1.0, 0.0, &d->fb[2]);
 	}
+	if (test_type == TEST_DOWNSCALING_DOWNSCALING) {
+		setup_fb(display->drm_fd, width1, height1, 1.0, 0.0, 0.0, &d->fb[1]);
+		setup_fb(display->drm_fd, width1, height1, 0.0, 1.0, 0.0, &d->fb[2]);
+	}
 
 	igt_output_set_pipe(output, pipe);
 
@@ -412,6 +460,10 @@ test_plane_scaling_combo(data_t *d, enum pipe pipe, igt_output_t *output, enum s
 		if (test_type == TEST_UPSCALING_UPSCALING)
 			__test_planes_upscaling_upscaling(d, pipe, output, p1, p2,
 							  &d->fb[1], &d->fb[2]);
+		if (test_type == TEST_DOWNSCALING_DOWNSCALING)
+			__test_planes_downscaling_downscaling(d, pipe, output, p1, p2,
+							      &d->fb[1], &d->fb[2]);
+
 	}
 
 	igt_remove_fb(display->drm_fd, &d->fb[1]);
@@ -756,6 +808,14 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 					test_plane_scaling_combo(&data, pipe, output, TEST_UPSCALING_UPSCALING);
 		}
 
+		igt_describe("Tests downscaling of 2 planes.");
+		igt_subtest_with_dynamic("planes-downscaling-downscaling") {
+			for_each_pipe_with_valid_output(&data.display, pipe, output)
+				igt_dynamic_f("pipe-%s-%s-planes-downscaling-downscaling",
+					      kmstest_pipe_name(pipe), igt_output_name(output))
+					test_plane_scaling_combo(&data, pipe, output, TEST_DOWNSCALING_DOWNSCALING);
+		}
+
 		igt_describe("Tests scaling with pixel formats.");
 		igt_subtest_with_dynamic("scaler-with-pixel-format") {
 			for_each_pipe_with_single_output(&data.display, pipe, output)
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [igt-dev] [v5 7/9] tests/kms_plane_scaling: Upscaling and downscaling scenario
  2022-02-16 12:22 [igt-dev] [v5 0/9] Addition of new plane scaling test cases Swati Sharma
                   ` (5 preceding siblings ...)
  2022-02-16 12:22 ` [igt-dev] [v5 6/9] tests/kms_plane_scaling: Downscaling " Swati Sharma
@ 2022-02-16 12:22 ` Swati Sharma
  2022-02-16 12:22 ` [igt-dev] [v5 8/9] tests/kms_plane_scaling: Add negative test to check num of scalers Swati Sharma
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Swati Sharma @ 2022-02-16 12:22 UTC (permalink / raw)
  To: igt-dev

Upscaling on first plane and downscaling on second plane.

v2: -add check for min 2 scalers
    -add igt_require() for overlay planes, fixes CRASH on KBL
v3: -test modified for n planes (Ville)
v4: -code optimization
v5: -limiting while loop and few other changes based on prev. patches

Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
---
 tests/kms_plane_scaling.c | 56 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 55 insertions(+), 1 deletion(-)

diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 1262a8ee..797322c4 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -34,6 +34,7 @@ enum scaler_test_type {
 	TEST_DOWNSCALING,
 	TEST_UPSCALING_UPSCALING,
 	TEST_DOWNSCALING_DOWNSCALING,
+	TEST_UPSCALING_DOWNSCALING,
 };
 
 typedef struct {
@@ -411,6 +412,45 @@ __test_planes_downscaling_downscaling(data_t *d, enum pipe pipe, igt_output_t *o
 	igt_assert_eq(ret, 0);
 }
 
+static void
+__test_planes_upscaling_downscaling(data_t *d, enum pipe pipe, igt_output_t *output,
+				    igt_plane_t *plane1, igt_plane_t *plane2,
+				    struct igt_fb *fb1, struct igt_fb *fb2)
+{
+	igt_display_t *display = &d->display;
+	bool test_complete = false;
+	drmModeModeInfo *mode;
+	int width, height;
+	int scaling = 50;
+	int ret;
+
+	mode = igt_output_get_mode(output);
+	width = mode->hdisplay;
+	height = mode->vdisplay;
+
+	igt_plane_set_fb(plane1, fb1);
+	igt_plane_set_fb(plane2, fb2);
+
+	while (!test_complete && scaling < 100) {
+		/* first plane upscaling */
+		igt_plane_set_size(plane1, width, height);
+		/* second plane downscaling */
+		igt_plane_set_size(plane2, (width * scaling) / 100, (height * scaling) / 100);
+		ret = igt_display_try_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+
+		if (ret != -EINVAL)
+			test_complete = true;
+
+		scaling += 5;
+	}
+
+	igt_plane_set_fb(plane1, NULL);
+	igt_plane_set_fb(plane2, NULL);
+
+	igt_skip_on_f(ret == -EINVAL || ret == -ERANGE, "Scaling op not supported by driver\n");
+	igt_assert_eq(ret, 0);
+}
+
 static void setup_fb(int fd, int width, int height,
 		     double r, double g, double b,
 		     struct igt_fb *fb)
@@ -443,6 +483,10 @@ test_plane_scaling_combo(data_t *d, enum pipe pipe, igt_output_t *output, enum s
 		setup_fb(display->drm_fd, width1, height1, 1.0, 0.0, 0.0, &d->fb[1]);
 		setup_fb(display->drm_fd, width1, height1, 0.0, 1.0, 0.0, &d->fb[2]);
 	}
+	if (test_type == TEST_UPSCALING_DOWNSCALING) {
+		setup_fb(display->drm_fd, width, height, 1.0, 0.0, 0.0, &d->fb[1]);
+		setup_fb(display->drm_fd, width1, height1, 0.0, 1.0, 0.0, &d->fb[2]);
+	}
 
 	igt_output_set_pipe(output, pipe);
 
@@ -463,7 +507,9 @@ test_plane_scaling_combo(data_t *d, enum pipe pipe, igt_output_t *output, enum s
 		if (test_type == TEST_DOWNSCALING_DOWNSCALING)
 			__test_planes_downscaling_downscaling(d, pipe, output, p1, p2,
 							      &d->fb[1], &d->fb[2]);
-
+		if (test_type == TEST_UPSCALING_DOWNSCALING)
+			__test_planes_upscaling_downscaling(d, pipe, output, p1, p2,
+							    &d->fb[1], &d->fb[2]);
 	}
 
 	igt_remove_fb(display->drm_fd, &d->fb[1]);
@@ -816,6 +862,14 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 					test_plane_scaling_combo(&data, pipe, output, TEST_DOWNSCALING_DOWNSCALING);
 		}
 
+		igt_describe("Tests upscaling and downscaling of 2 planes.");
+		igt_subtest_with_dynamic("planes-upscaling-downscaling") {
+			for_each_pipe_with_valid_output(&data.display, pipe, output)
+				igt_dynamic_f("pipe-%s-%s-planes-upscaling-downscaling",
+					       kmstest_pipe_name(pipe), igt_output_name(output))
+					test_plane_scaling_combo(&data, pipe, output, TEST_UPSCALING_DOWNSCALING);
+		}
+
 		igt_describe("Tests scaling with pixel formats.");
 		igt_subtest_with_dynamic("scaler-with-pixel-format") {
 			for_each_pipe_with_single_output(&data.display, pipe, output)
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [igt-dev] [v5 8/9] tests/kms_plane_scaling: Add negative test to check num of scalers
  2022-02-16 12:22 [igt-dev] [v5 0/9] Addition of new plane scaling test cases Swati Sharma
                   ` (6 preceding siblings ...)
  2022-02-16 12:22 ` [igt-dev] [v5 7/9] tests/kms_plane_scaling: Upscaling and downscaling scenario Swati Sharma
@ 2022-02-16 12:22 ` Swati Sharma
  2022-02-16 12:22 ` [igt-dev] [v5 9/9] tests/kms_plane_scaling: Refactor clipping-clamping subtest Swati Sharma
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Swati Sharma @ 2022-02-16 12:22 UTC (permalink / raw)
  To: igt-dev

To validate i915 supports max of 2 scalers, applied upscaling on
3 planes simultaneously. This is a negative test and commit is expected
to fail.

v2: -add check for min 2 scalers
    -add igt_require() for overlay planes, fixes CRASH on KBL

Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
---
 tests/kms_plane_scaling.c | 73 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 797322c4..9f148267 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -516,6 +516,71 @@ test_plane_scaling_combo(data_t *d, enum pipe pipe, igt_output_t *output, enum s
 	igt_remove_fb(display->drm_fd, &d->fb[2]);
 }
 
+static void
+test_invalid_num_scalers(data_t *d, enum pipe pipe, igt_output_t *output)
+{
+	igt_display_t *display = &d->display;
+	igt_pipe_t *pipe_obj = &display->pipes[pipe];
+	int width, height, width1, height1;
+	drmModeModeInfo *mode;
+
+	cleanup_crtc(d);
+
+	igt_output_set_pipe(output, pipe);
+
+	width = height = 20;
+	mode = igt_output_get_mode(output);
+	width1 = mode->hdisplay;
+	height1 = mode->vdisplay;
+
+	d->plane1 = igt_pipe_get_plane_type_index(pipe_obj, DRM_PLANE_TYPE_OVERLAY, 0);
+	igt_require(d->plane1);
+	d->plane2 = igt_pipe_get_plane_type_index(pipe_obj, DRM_PLANE_TYPE_OVERLAY, 1);
+	igt_require(d->plane2);
+	d->plane3 = igt_pipe_get_plane_type_index(pipe_obj, DRM_PLANE_TYPE_OVERLAY, 2);
+	igt_require(d->plane3);
+
+	igt_create_color_pattern_fb(display->drm_fd,
+                                    width, height,
+                                    DRM_FORMAT_XRGB8888,
+                                    I915_TILING_NONE,
+                                    1.0, 0.0, 0.0, &d->fb[1]);
+	igt_create_color_pattern_fb(display->drm_fd,
+                                    width, height,
+                                    DRM_FORMAT_XRGB8888,
+                                    I915_TILING_NONE,
+                                    0.0, 1.0, 0.0, &d->fb[2]);
+	igt_create_color_pattern_fb(display->drm_fd,
+                                    width, height,
+                                    DRM_FORMAT_XRGB8888,
+                                    I915_TILING_NONE,
+                                    0.0, 0.0, 1.0, &d->fb[3]);
+
+	igt_plane_set_fb(d->plane1, &d->fb[1]);
+	igt_plane_set_fb(d->plane2, &d->fb[2]);
+	igt_plane_set_fb(d->plane3, &d->fb[3]);
+
+	/* first plane upscaling */
+	igt_plane_set_size(d->plane1, width1, height1);
+	/* second plane upscaling */
+	igt_plane_set_size(d->plane2, width1, height1);
+	/* third plane upscaling */
+	igt_plane_set_size(d->plane3, width1, height1);
+
+	/* This commit is expectd to fail as we can have max 2 scalers/pipe
+	 * In dmesg, you can find: Too many scaling requests 3 > 2
+	 * */
+	igt_assert_eq(igt_display_try_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL), -EINVAL);
+
+	/* cleanup */
+	igt_plane_set_fb(d->plane1, NULL);
+	igt_plane_set_fb(d->plane2, NULL);
+	igt_plane_set_fb(d->plane3, NULL);
+	igt_remove_fb(display->drm_fd, &d->fb[1]);
+	igt_remove_fb(display->drm_fd, &d->fb[2]);
+	igt_remove_fb(display->drm_fd, &d->fb[3]);
+}
+
 static bool test_pipe_iteration(data_t *data, enum pipe pipe, int iteration)
 {
 	if (!is_i915_device(data->drm_fd) ||
@@ -870,6 +935,14 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 					test_plane_scaling_combo(&data, pipe, output, TEST_UPSCALING_DOWNSCALING);
 		}
 
+		igt_describe("Negative test for number of scalers per pipe.");
+		igt_subtest_with_dynamic("invalid-num-scalers") {
+			for_each_pipe_with_valid_output(&data.display, pipe, output)
+				igt_dynamic_f("pipe-%s-%s-invalid-num-scalers",
+					       kmstest_pipe_name(pipe), igt_output_name(output))
+					test_invalid_num_scalers(&data, pipe, output);
+		}
+
 		igt_describe("Tests scaling with pixel formats.");
 		igt_subtest_with_dynamic("scaler-with-pixel-format") {
 			for_each_pipe_with_single_output(&data.display, pipe, output)
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [igt-dev] [v5 9/9] tests/kms_plane_scaling: Refactor clipping-clamping subtest
  2022-02-16 12:22 [igt-dev] [v5 0/9] Addition of new plane scaling test cases Swati Sharma
                   ` (7 preceding siblings ...)
  2022-02-16 12:22 ` [igt-dev] [v5 8/9] tests/kms_plane_scaling: Add negative test to check num of scalers Swati Sharma
@ 2022-02-16 12:22 ` Swati Sharma
  2022-02-16 15:15 ` [igt-dev] ✓ Fi.CI.BAT: success for Addition of new plane scaling test cases (rev7) Patchwork
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Swati Sharma @ 2022-02-16 12:22 UTC (permalink / raw)
  To: igt-dev

Reused same logic as other subtests (tiling, pixel-format)
to make it consistent. Now, this subtest is tested for
all planes.

Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
---
 tests/kms_plane_scaling.c | 167 ++++++++++++++------------------------
 1 file changed, 60 insertions(+), 107 deletions(-)

diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 9f148267..156f7be3 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -85,45 +85,16 @@ static void cleanup_crtc(data_t *data)
 	cleanup_fbs(data);
 }
 
-static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
-			igt_plane_t *plane, drmModeModeInfo *mode)
+static bool test_pipe_iteration(data_t *data, enum pipe pipe, int iteration)
 {
-	igt_display_t *display = &data->display;
-	uint64_t modifier = is_i915_device(data->drm_fd) ?
-		I915_FORMAT_MOD_X_TILED : DRM_FORMAT_MOD_LINEAR;
-
-	cleanup_crtc(data);
-
-	igt_output_set_pipe(output, pipe);
+	if (!is_i915_device(data->drm_fd) ||
+	    data->extended)
+		return true;
 
-	igt_skip_on(!igt_display_has_format_mod(display, DRM_FORMAT_XRGB8888,
-						modifier));
+	if ((pipe > PIPE_B) && (iteration >= 2))
+		return false;
 
-	/* allocate fb for plane 1 */
-	igt_create_pattern_fb(data->drm_fd, mode->hdisplay, mode->vdisplay,
-			      DRM_FORMAT_XRGB8888,
-			      modifier,
-			      &data->fb[0]);
-
-	igt_plane_set_fb(plane, &data->fb[0]);
-
-	if (plane->type != DRM_PLANE_TYPE_PRIMARY) {
-		igt_plane_t *primary;
-		int ret;
-
-		/* Do we succeed without enabling the primary plane? */
-		ret = igt_display_try_commit2(display, COMMIT_ATOMIC);
-		if (!ret)
-			return;
-
-		/*
-		 * Fallback: set the primary plane to actually enable the pipe.
-		 * Some drivers always require the primary plane to be enabled.
-		 */
-		primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
-		igt_plane_set_fb(primary, &data->fb[0]);
-	}
-	igt_display_commit2(display, COMMIT_ATOMIC);
+	return true;
 }
 
 static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
@@ -581,18 +552,6 @@ test_invalid_num_scalers(data_t *d, enum pipe pipe, igt_output_t *output)
 	igt_remove_fb(display->drm_fd, &d->fb[3]);
 }
 
-static bool test_pipe_iteration(data_t *data, enum pipe pipe, int iteration)
-{
-	if (!is_i915_device(data->drm_fd) ||
-	    data->extended)
-		return true;
-
-	if ((pipe > PIPE_B) && (iteration >= 2))
-		return false;
-
-	return true;
-}
-
 static void test_scaler_with_rotation_pipe(data_t *d, enum pipe pipe,
 					   igt_output_t *output)
 {
@@ -675,89 +634,83 @@ static void test_scaler_with_pixel_format_pipe(data_t *d, enum pipe pipe, igt_ou
 }
 
 static void
-__test_scaler_with_clipping_clamping_scenario(data_t *d, drmModeModeInfo *mode)
+__test_scaler_with_clipping_clamping(data_t *d, igt_plane_t *plane,
+				     uint32_t pixel_format,
+				     uint64_t modifier, enum pipe pipe,
+				     igt_output_t *output,
+				     igt_rotation_t rot)
+
 {
-	igt_plane_set_fb(d->plane1, &d->fb[1]);
-	igt_plane_set_fb(d->plane2, &d->fb[2]);
+	igt_display_t *display = &d->display;
+	int width, height;
+	drmModeModeInfo *mode;
 
-	igt_fb_set_position(&d->fb[1], d->plane1, 0, 0);
-	igt_fb_set_size(&d->fb[1], d->plane1, 300, 300);
-	igt_plane_set_position(d->plane1, 100, 400);
-	igt_fb_set_position(&d->fb[2], d->plane2, 0, 0);
-	igt_fb_set_size(&d->fb[2], d->plane2, 400, 400);
-	igt_plane_set_position(d->plane2, 100, 100);
+	cleanup_crtc(d);
 
-	/* scaled window size is outside the modeset area.*/
-	igt_plane_set_size(d->plane1, mode->hdisplay + 200,
-					    mode->vdisplay + 200);
-	igt_plane_set_size(d->plane2, mode->hdisplay + 100,
-					    mode->vdisplay + 100);
+	igt_output_set_pipe(output, pipe);
+
+	mode = igt_output_get_mode(output);
+	width = mode->hdisplay;
+	height = mode->vdisplay;
+
+	igt_create_color_fb(display->drm_fd, width, height,
+			    pixel_format, modifier, 0.0, 1.0, 0.0, &d->fb[0]);
+	igt_plane_set_fb(plane, &d->fb[0]);
+
+	/* scaled window size is outside the modeset area. */
+	igt_plane_set_size(plane, mode->hdisplay + 200, mode->vdisplay + 200);
+	igt_plane_set_rotation(plane, rot);
 
 	/*
-	 * Can't guarantee that the clipped coordinates are
-	 * suitably aligned for yuv. So allow the commit to fail.
+	 * can't guarantee that the clipped coordinates are
+	 * suitably aligned for yuv. so allow commit to fail.
 	 */
-	if (igt_format_is_yuv(d->fb[1].drm_format) ||
-	    igt_format_is_yuv(d->fb[2].drm_format))
+	if (igt_format_is_yuv(d->fb[0].drm_format))
 		igt_display_try_commit2(&d->display, COMMIT_ATOMIC);
 	else
 		igt_display_commit2(&d->display, COMMIT_ATOMIC);
+
+	igt_plane_set_fb(plane, NULL);
+	igt_remove_fb(display->drm_fd, &d->fb[0]);
 }
 
 static void
-test_scaler_with_clipping_clamping_scenario(data_t *d, enum pipe pipe, igt_output_t *output)
+test_scaler_with_clipping_clamping(data_t *d, enum pipe pipe, igt_output_t *output)
 {
-	igt_pipe_t *pipe_obj = &d->display.pipes[pipe];
-	drmModeModeInfo *mode;
-	struct igt_vec tested_formats1;
-
-	igt_require(get_num_scalers(d, pipe) >= 2);
-
-	mode = igt_output_get_mode(output);
-	d->plane1 = igt_pipe_get_plane_type(pipe_obj, DRM_PLANE_TYPE_PRIMARY);
-	d->plane2 = igt_pipe_get_plane_type(pipe_obj, DRM_PLANE_TYPE_OVERLAY);
-	prepare_crtc(d, output, pipe, d->plane1, mode);
-
-	igt_vec_init(&tested_formats1, sizeof(uint32_t));
+	igt_display_t *display = &d->display;
+	igt_plane_t *plane;
 
-	for (int i = 0; i < d->plane1->drm_plane->count_formats; i++) {
-		unsigned f1 = d->plane1->drm_plane->formats[i];
-		struct igt_vec tested_formats2;
+	igt_require(get_num_scalers(d, pipe) > 0);
 
-		if (!test_pipe_iteration(d, pipe, i))
-			continue;
+	igt_output_set_pipe(output, pipe);
 
-		if (!test_format(d, &tested_formats1, f1) ||
-		    !can_scale(d, f1))
+	for_each_plane_on_pipe(display, pipe, plane) {
+		if (plane->type == DRM_PLANE_TYPE_CURSOR)
 			continue;
 
-		igt_vec_init(&tested_formats2, sizeof(uint32_t));
+		for (int i = 0; i < ARRAY_SIZE(modifiers); i++) {
+			uint64_t modifier = modifiers[i];
+			struct igt_vec tested_formats;
 
-		igt_create_pattern_fb(d->drm_fd,
-				      mode->hdisplay, mode->vdisplay, f1,
-				      I915_FORMAT_MOD_X_TILED, &d->fb[1]);
+			igt_vec_init(&tested_formats, sizeof(uint32_t));
 
-		for (int j = 0; j < d->plane2->drm_plane->count_formats; j++) {
-			unsigned f2 = d->plane2->drm_plane->formats[j];
+			for (int j = 0; j < plane->drm_plane->count_formats; j++) {
+				uint32_t format = plane->drm_plane->formats[j];
 
-			if (!test_format(d, &tested_formats2, f2) ||
-			    !can_scale(d, f2))
-				continue;
+				if (!test_pipe_iteration(d, pipe, j))
+					continue;
 
-			igt_create_pattern_fb(d->drm_fd,
-					      mode->hdisplay, mode->vdisplay, f2,
-					      I915_FORMAT_MOD_Y_TILED,
-					      &d->fb[2]);
+				if (test_format(d, &tested_formats, format) &&
+				    igt_plane_has_format_mod(plane, format, modifier) &&
+				    can_scale(d, format))
+						__test_scaler_with_clipping_clamping(d, plane,
+										     format, modifier,
+										     pipe, output, IGT_ROTATION_0);
+			}
 
-			__test_scaler_with_clipping_clamping_scenario(d, mode);
-			igt_remove_fb(d->drm_fd, &d->fb[2]);
+			igt_vec_fini(&tested_formats);
 		}
-		igt_remove_fb(d->drm_fd, &d->fb[1]);
-
-		igt_vec_fini(&tested_formats2);
 	}
-
-	igt_vec_fini(&tested_formats1);
 }
 
 static void find_connected_pipe(igt_display_t *display, bool second, enum pipe *pipe, igt_output_t **output)
@@ -961,7 +914,7 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 		igt_subtest_with_dynamic("scaler-with-clipping-clamping") {
 			for_each_pipe_with_single_output(&data.display, pipe, output)
 				igt_dynamic_f("pipe-%s-%s-scaler-with-clipping-clamping", kmstest_pipe_name(pipe), igt_output_name(output))
-					test_scaler_with_clipping_clamping_scenario(&data, pipe, output);
+					test_scaler_with_clipping_clamping(&data, pipe, output);
 		}
 	}
 
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for Addition of new plane scaling test cases (rev7)
  2022-02-16 12:22 [igt-dev] [v5 0/9] Addition of new plane scaling test cases Swati Sharma
                   ` (8 preceding siblings ...)
  2022-02-16 12:22 ` [igt-dev] [v5 9/9] tests/kms_plane_scaling: Refactor clipping-clamping subtest Swati Sharma
@ 2022-02-16 15:15 ` Patchwork
  2022-02-16 21:43 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  2022-02-18 10:45 ` [igt-dev] [v5 0/9] Addition of new plane scaling test cases Petri Latvala
  11 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2022-02-16 15:15 UTC (permalink / raw)
  To: Swati Sharma; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 6073 bytes --]

== Series Details ==

Series: Addition of new plane scaling test cases (rev7)
URL   : https://patchwork.freedesktop.org/series/98333/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_11235 -> IGTPW_6636
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/index.html

Participating hosts (46 -> 45)
------------------------------

  Additional (2): bat-rpls-2 fi-pnv-d510 
  Missing    (3): fi-bsw-cyan fi-icl-u2 shard-tglu 

Known issues
------------

  Here are the changes found in IGTPW_6636 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@semaphore:
    - fi-hsw-4770:        NOTRUN -> [SKIP][1] ([fdo#109271] / [fdo#109315]) +17 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/fi-hsw-4770/igt@amdgpu/amd_basic@semaphore.html

  * igt@gem_exec_suspend@basic-s3:
    - fi-skl-6600u:       NOTRUN -> [INCOMPLETE][2] ([i915#4547])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/fi-skl-6600u/igt@gem_exec_suspend@basic-s3.html

  * igt@gem_huc_copy@huc-copy:
    - fi-pnv-d510:        NOTRUN -> [SKIP][3] ([fdo#109271]) +57 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/fi-pnv-d510/igt@gem_huc_copy@huc-copy.html

  * igt@i915_selftest@live@hangcheck:
    - bat-dg1-6:          [PASS][4] -> [DMESG-FAIL][5] ([i915#4494] / [i915#4957])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11235/bat-dg1-6/igt@i915_selftest@live@hangcheck.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/bat-dg1-6/igt@i915_selftest@live@hangcheck.html
    - fi-snb-2600:        [PASS][6] -> [INCOMPLETE][7] ([i915#3921])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11235/fi-snb-2600/igt@i915_selftest@live@hangcheck.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/fi-snb-2600/igt@i915_selftest@live@hangcheck.html

  * igt@runner@aborted:
    - fi-bdw-5557u:       NOTRUN -> [FAIL][8] ([i915#2426] / [i915#4312])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/fi-bdw-5557u/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s3@smem:
    - {fi-rkl-11600}:     [INCOMPLETE][9] ([i915#5127]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11235/fi-rkl-11600/igt@gem_exec_suspend@basic-s3@smem.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/fi-rkl-11600/igt@gem_exec_suspend@basic-s3@smem.html

  * igt@i915_selftest@live@hangcheck:
    - fi-hsw-4770:        [INCOMPLETE][11] ([i915#3303]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11235/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html

  * igt@kms_frontbuffer_tracking@basic:
    - fi-cml-u2:          [DMESG-WARN][13] ([i915#4269]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11235/fi-cml-u2/igt@kms_frontbuffer_tracking@basic.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/fi-cml-u2/igt@kms_frontbuffer_tracking@basic.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#3012]: https://gitlab.freedesktop.org/drm/intel/issues/3012
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3303]: https://gitlab.freedesktop.org/drm/intel/issues/3303
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3921]: https://gitlab.freedesktop.org/drm/intel/issues/3921
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4269]: https://gitlab.freedesktop.org/drm/intel/issues/4269
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4494]: https://gitlab.freedesktop.org/drm/intel/issues/4494
  [i915#4547]: https://gitlab.freedesktop.org/drm/intel/issues/4547
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4897]: https://gitlab.freedesktop.org/drm/intel/issues/4897
  [i915#4898]: https://gitlab.freedesktop.org/drm/intel/issues/4898
  [i915#4957]: https://gitlab.freedesktop.org/drm/intel/issues/4957
  [i915#5127]: https://gitlab.freedesktop.org/drm/intel/issues/5127
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_6347 -> IGTPW_6636

  CI-20190529: 20190529
  CI_DRM_11235: 9aacb5966c7d4430c4c3d5eba12f8ef0225e95b6 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_6636: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/index.html
  IGT_6347: 37ea4c86f97c0e05fcb6b04cff72ec927930536e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git



== Testlist changes ==

+igt@kms_plane_scaling@invalid-num-scalers
+igt@kms_plane_scaling@planes-downscaling-downscaling
+igt@kms_plane_scaling@planes-upscaling-downscaling
+igt@kms_plane_scaling@planes-upscaling-upscaling
+igt@kms_plane_scaling@plane-downscaling
+igt@kms_plane_scaling@plane-upscaling
-igt@kms_plane_scaling@plane-scaling

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/index.html

[-- Attachment #2: Type: text/html, Size: 5917 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [igt-dev] ✗ Fi.CI.IGT: failure for Addition of new plane scaling test cases (rev7)
  2022-02-16 12:22 [igt-dev] [v5 0/9] Addition of new plane scaling test cases Swati Sharma
                   ` (9 preceding siblings ...)
  2022-02-16 15:15 ` [igt-dev] ✓ Fi.CI.BAT: success for Addition of new plane scaling test cases (rev7) Patchwork
@ 2022-02-16 21:43 ` Patchwork
  2022-02-18 10:45 ` [igt-dev] [v5 0/9] Addition of new plane scaling test cases Petri Latvala
  11 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2022-02-16 21:43 UTC (permalink / raw)
  To: Sharma, Swati2; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 30265 bytes --]

== Series Details ==

Series: Addition of new plane scaling test cases (rev7)
URL   : https://patchwork.freedesktop.org/series/98333/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_11235_full -> IGTPW_6636_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_6636_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_6636_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/index.html

Participating hosts (12 -> 8)
------------------------------

  Missing    (4): pig-skl-6260u pig-kbl-iris shard-dg1 pig-glk-j5005 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_6636_full:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_pm_rpm@modeset-non-lpsp-stress:
    - shard-kbl:          NOTRUN -> [TIMEOUT][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-kbl4/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
    - shard-apl:          NOTRUN -> [TIMEOUT][2]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-apl3/igt@i915_pm_rpm@modeset-non-lpsp-stress.html

  * igt@kms_flip@flip-vs-fences-interruptible@a-vga1:
    - shard-snb:          NOTRUN -> [INCOMPLETE][3]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-snb2/igt@kms_flip@flip-vs-fences-interruptible@a-vga1.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - {shard-tglu}:       [PASS][4] -> [DMESG-WARN][5]
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11235/shard-tglu-3/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglu-4/igt@kms_frontbuffer_tracking@fbc-suspend.html

  
New tests
---------

  New tests have been introduced between CI_DRM_11235_full and IGTPW_6636_full:

### New IGT tests (113) ###

  * igt@kms_plane_scaling@invalid-num-scalers:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_plane_scaling@invalid-num-scalers@pipe-a-edp-1-invalid-num-scalers:
    - Statuses : 2 pass(s)
    - Exec time: [0.03] s

  * igt@kms_plane_scaling@invalid-num-scalers@pipe-a-hdmi-a-1-invalid-num-scalers:
    - Statuses : 1 pass(s)
    - Exec time: [0.13] s

  * igt@kms_plane_scaling@invalid-num-scalers@pipe-a-hdmi-a-2-invalid-num-scalers:
    - Statuses : 1 pass(s)
    - Exec time: [0.08] s

  * igt@kms_plane_scaling@invalid-num-scalers@pipe-a-vga-1-invalid-num-scalers:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@kms_plane_scaling@invalid-num-scalers@pipe-b-edp-1-invalid-num-scalers:
    - Statuses : 2 pass(s)
    - Exec time: [0.02] s

  * igt@kms_plane_scaling@invalid-num-scalers@pipe-b-hdmi-a-1-invalid-num-scalers:
    - Statuses : 1 pass(s)
    - Exec time: [0.07] s

  * igt@kms_plane_scaling@invalid-num-scalers@pipe-b-hdmi-a-2-invalid-num-scalers:
    - Statuses : 1 pass(s)
    - Exec time: [0.06] s

  * igt@kms_plane_scaling@invalid-num-scalers@pipe-b-vga-1-invalid-num-scalers:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@kms_plane_scaling@invalid-num-scalers@pipe-c-edp-1-invalid-num-scalers:
    - Statuses : 2 pass(s)
    - Exec time: [0.02] s

  * igt@kms_plane_scaling@invalid-num-scalers@pipe-c-hdmi-a-1-invalid-num-scalers:
    - Statuses : 1 pass(s)
    - Exec time: [0.09] s

  * igt@kms_plane_scaling@invalid-num-scalers@pipe-c-hdmi-a-2-invalid-num-scalers:
    - Statuses : 1 pass(s)
    - Exec time: [0.10] s

  * igt@kms_plane_scaling@invalid-num-scalers@pipe-d-edp-1-invalid-num-scalers:
    - Statuses : 1 pass(s)
    - Exec time: [0.02] s

  * igt@kms_plane_scaling@plane-downscaling:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_plane_scaling@plane-downscaling@pipe-a-dp-1-downscaling:
    - Statuses : 2 pass(s)
    - Exec time: [0.70, 1.25] s

  * igt@kms_plane_scaling@plane-downscaling@pipe-a-edp-1-downscaling:
    - Statuses : 2 pass(s)
    - Exec time: [3.56, 3.69] s

  * igt@kms_plane_scaling@plane-downscaling@pipe-a-hdmi-a-1-downscaling:
    - Statuses : 1 pass(s)
    - Exec time: [1.91] s

  * igt@kms_plane_scaling@plane-downscaling@pipe-a-vga-1-downscaling:
    - Statuses : 1 skip(s)
    - Exec time: [0.04] s

  * igt@kms_plane_scaling@plane-downscaling@pipe-b-dp-1-downscaling:
    - Statuses : 2 pass(s)
    - Exec time: [0.73, 1.29] s

  * igt@kms_plane_scaling@plane-downscaling@pipe-b-edp-1-downscaling:
    - Statuses : 2 pass(s)
    - Exec time: [3.46, 4.07] s

  * igt@kms_plane_scaling@plane-downscaling@pipe-b-hdmi-a-2-downscaling:
    - Statuses : 1 pass(s)
    - Exec time: [1.78] s

  * igt@kms_plane_scaling@plane-downscaling@pipe-b-vga-1-downscaling:
    - Statuses : 1 skip(s)
    - Exec time: [0.02] s

  * igt@kms_plane_scaling@plane-downscaling@pipe-c-dp-1-downscaling:
    - Statuses : 2 pass(s)
    - Exec time: [0.63, 0.91] s

  * igt@kms_plane_scaling@plane-downscaling@pipe-c-edp-1-downscaling:
    - Statuses : 2 pass(s)
    - Exec time: [3.46, 3.98] s

  * igt@kms_plane_scaling@plane-downscaling@pipe-c-hdmi-a-1-downscaling:
    - Statuses : 1 pass(s)
    - Exec time: [1.82] s

  * igt@kms_plane_scaling@plane-downscaling@pipe-d-edp-1-downscaling:
    - Statuses : 1 pass(s)
    - Exec time: [3.71] s

  * igt@kms_plane_scaling@plane-upscaling:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_plane_scaling@plane-upscaling@pipe-a-dp-1-upscaling:
    - Statuses : 1 pass(s)
    - Exec time: [0.58] s

  * igt@kms_plane_scaling@plane-upscaling@pipe-a-edp-1-upscaling:
    - Statuses : 1 pass(s)
    - Exec time: [2.34] s

  * igt@kms_plane_scaling@plane-upscaling@pipe-a-hdmi-a-1-upscaling:
    - Statuses : 1 pass(s)
    - Exec time: [1.10] s

  * igt@kms_plane_scaling@plane-upscaling@pipe-a-vga-1-upscaling:
    - Statuses : 1 skip(s)
    - Exec time: [0.04] s

  * igt@kms_plane_scaling@plane-upscaling@pipe-b-dp-1-upscaling:
    - Statuses : 1 pass(s)
    - Exec time: [0.75] s

  * igt@kms_plane_scaling@plane-upscaling@pipe-b-edp-1-upscaling:
    - Statuses : 1 pass(s)
    - Exec time: [3.45] s

  * igt@kms_plane_scaling@plane-upscaling@pipe-b-hdmi-a-2-upscaling:
    - Statuses : 1 pass(s)
    - Exec time: [1.34] s

  * igt@kms_plane_scaling@plane-upscaling@pipe-b-vga-1-upscaling:
    - Statuses : 1 skip(s)
    - Exec time: [0.01] s

  * igt@kms_plane_scaling@plane-upscaling@pipe-c-dp-1-upscaling:
    - Statuses : 1 pass(s)
    - Exec time: [0.55] s

  * igt@kms_plane_scaling@plane-upscaling@pipe-c-edp-1-upscaling:
    - Statuses : 1 pass(s)
    - Exec time: [3.45] s

  * igt@kms_plane_scaling@plane-upscaling@pipe-c-hdmi-a-1-upscaling:
    - Statuses : 1 pass(s)
    - Exec time: [1.31] s

  * igt@kms_plane_scaling@planes-downscaling-downscaling:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_plane_scaling@planes-downscaling-downscaling@pipe-a-dp-1-planes-downscaling-downscaling:
    - Statuses : 2 pass(s)
    - Exec time: [0.24, 0.38] s

  * igt@kms_plane_scaling@planes-downscaling-downscaling@pipe-a-edp-1-planes-downscaling-downscaling:
    - Statuses : 2 pass(s)
    - Exec time: [1.27, 1.36] s

  * igt@kms_plane_scaling@planes-downscaling-downscaling@pipe-a-hdmi-a-1-planes-downscaling-downscaling:
    - Statuses : 2 pass(s)
    - Exec time: [0.13, 0.35] s

  * igt@kms_plane_scaling@planes-downscaling-downscaling@pipe-a-hdmi-a-2-planes-downscaling-downscaling:
    - Statuses : 1 pass(s)
    - Exec time: [0.29] s

  * igt@kms_plane_scaling@planes-downscaling-downscaling@pipe-a-vga-1-planes-downscaling-downscaling:
    - Statuses : 1 skip(s)
    - Exec time: [0.05] s

  * igt@kms_plane_scaling@planes-downscaling-downscaling@pipe-b-dp-1-planes-downscaling-downscaling:
    - Statuses : 2 pass(s)
    - Exec time: [0.21, 0.30] s

  * igt@kms_plane_scaling@planes-downscaling-downscaling@pipe-b-edp-1-planes-downscaling-downscaling:
    - Statuses : 2 pass(s)
    - Exec time: [1.27, 1.33] s

  * igt@kms_plane_scaling@planes-downscaling-downscaling@pipe-b-hdmi-a-1-planes-downscaling-downscaling:
    - Statuses : 2 pass(s)
    - Exec time: [0.11, 0.34] s

  * igt@kms_plane_scaling@planes-downscaling-downscaling@pipe-b-hdmi-a-2-planes-downscaling-downscaling:
    - Statuses : 1 pass(s)
    - Exec time: [0.29] s

  * igt@kms_plane_scaling@planes-downscaling-downscaling@pipe-b-vga-1-planes-downscaling-downscaling:
    - Statuses : 1 skip(s)
    - Exec time: [0.03] s

  * igt@kms_plane_scaling@planes-downscaling-downscaling@pipe-c-dp-1-planes-downscaling-downscaling:
    - Statuses : 2 skip(s)
    - Exec time: [0.16, 0.44] s

  * igt@kms_plane_scaling@planes-downscaling-downscaling@pipe-c-edp-1-planes-downscaling-downscaling:
    - Statuses : 2 pass(s)
    - Exec time: [1.28, 1.34] s

  * igt@kms_plane_scaling@planes-downscaling-downscaling@pipe-c-hdmi-a-1-planes-downscaling-downscaling:
    - Statuses : 1 pass(s) 1 skip(s)
    - Exec time: [0.15, 0.39] s

  * igt@kms_plane_scaling@planes-downscaling-downscaling@pipe-c-hdmi-a-2-planes-downscaling-downscaling:
    - Statuses : 1 skip(s)
    - Exec time: [0.63] s

  * igt@kms_plane_scaling@planes-downscaling-downscaling@pipe-d-edp-1-planes-downscaling-downscaling:
    - Statuses : 1 pass(s)
    - Exec time: [1.28] s

  * igt@kms_plane_scaling@planes-downscaling-downscaling@pipe-d-hdmi-a-1-planes-downscaling-downscaling:
    - Statuses : 1 pass(s)
    - Exec time: [0.12] s

  * igt@kms_plane_scaling@planes-upscaling-downscaling:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_plane_scaling@planes-upscaling-downscaling@pipe-a-dp-1-planes-upscaling-downscaling:
    - Statuses : 2 pass(s)
    - Exec time: [0.36, 0.63] s

  * igt@kms_plane_scaling@planes-upscaling-downscaling@pipe-a-edp-1-planes-upscaling-downscaling:
    - Statuses : 2 pass(s)
    - Exec time: [1.29, 1.50] s

  * igt@kms_plane_scaling@planes-upscaling-downscaling@pipe-a-hdmi-a-1-planes-upscaling-downscaling:
    - Statuses : 1 pass(s)
    - Exec time: [0.51] s

  * igt@kms_plane_scaling@planes-upscaling-downscaling@pipe-a-hdmi-a-2-planes-upscaling-downscaling:
    - Statuses : 1 pass(s)
    - Exec time: [0.28] s

  * igt@kms_plane_scaling@planes-upscaling-downscaling@pipe-a-vga-1-planes-upscaling-downscaling:
    - Statuses : 1 skip(s)
    - Exec time: [0.17] s

  * igt@kms_plane_scaling@planes-upscaling-downscaling@pipe-b-dp-1-planes-upscaling-downscaling:
    - Statuses : 2 pass(s)
    - Exec time: [0.22, 0.28] s

  * igt@kms_plane_scaling@planes-upscaling-downscaling@pipe-b-edp-1-planes-upscaling-downscaling:
    - Statuses : 2 pass(s)
    - Exec time: [1.28, 1.35] s

  * igt@kms_plane_scaling@planes-upscaling-downscaling@pipe-b-hdmi-a-1-planes-upscaling-downscaling:
    - Statuses : 1 pass(s)
    - Exec time: [0.31] s

  * igt@kms_plane_scaling@planes-upscaling-downscaling@pipe-b-hdmi-a-2-planes-upscaling-downscaling:
    - Statuses : 1 pass(s)
    - Exec time: [0.28] s

  * igt@kms_plane_scaling@planes-upscaling-downscaling@pipe-b-vga-1-planes-upscaling-downscaling:
    - Statuses : 1 skip(s)
    - Exec time: [0.02] s

  * igt@kms_plane_scaling@planes-upscaling-downscaling@pipe-c-dp-1-planes-upscaling-downscaling:
    - Statuses : 2 skip(s)
    - Exec time: [0.20, 0.37] s

  * igt@kms_plane_scaling@planes-upscaling-downscaling@pipe-c-edp-1-planes-upscaling-downscaling:
    - Statuses : 2 pass(s)
    - Exec time: [1.21, 1.33] s

  * igt@kms_plane_scaling@planes-upscaling-downscaling@pipe-c-hdmi-a-1-planes-upscaling-downscaling:
    - Statuses : 1 skip(s)
    - Exec time: [0.31] s

  * igt@kms_plane_scaling@planes-upscaling-downscaling@pipe-c-hdmi-a-2-planes-upscaling-downscaling:
    - Statuses : 1 skip(s)
    - Exec time: [0.28] s

  * igt@kms_plane_scaling@planes-upscaling-downscaling@pipe-d-edp-1-planes-upscaling-downscaling:
    - Statuses : 1 pass(s)
    - Exec time: [1.22] s

  * igt@kms_plane_scaling@planes-upscaling-upscaling:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_plane_scaling@planes-upscaling-upscaling@pipe-a-dp-1-planes-upscaling-upscaling:
    - Statuses : 2 pass(s)
    - Exec time: [0.08, 0.15] s

  * igt@kms_plane_scaling@planes-upscaling-upscaling@pipe-a-edp-1-planes-upscaling-upscaling:
    - Statuses : 2 pass(s)
    - Exec time: [0.12, 0.17] s

  * igt@kms_plane_scaling@planes-upscaling-upscaling@pipe-a-hdmi-a-1-planes-upscaling-upscaling:
    - Statuses : 1 pass(s)
    - Exec time: [0.18] s

  * igt@kms_plane_scaling@planes-upscaling-upscaling@pipe-a-vga-1-planes-upscaling-upscaling:
    - Statuses : 1 skip(s)
    - Exec time: [0.04] s

  * igt@kms_plane_scaling@planes-upscaling-upscaling@pipe-b-dp-1-planes-upscaling-upscaling:
    - Statuses : 2 pass(s)
    - Exec time: [0.20, 0.25] s

  * igt@kms_plane_scaling@planes-upscaling-upscaling@pipe-b-edp-1-planes-upscaling-upscaling:
    - Statuses : 2 pass(s)
    - Exec time: [1.23, 1.29] s

  * igt@kms_plane_scaling@planes-upscaling-upscaling@pipe-b-hdmi-a-1-planes-upscaling-upscaling:
    - Statuses : 1 pass(s)
    - Exec time: [0.17] s

  * igt@kms_plane_scaling@planes-upscaling-upscaling@pipe-b-vga-1-planes-upscaling-upscaling:
    - Statuses : 1 skip(s)
    - Exec time: [0.01] s

  * igt@kms_plane_scaling@planes-upscaling-upscaling@pipe-c-dp-1-planes-upscaling-upscaling:
    - Statuses : 2 skip(s)
    - Exec time: [0.02, 0.04] s

  * igt@kms_plane_scaling@planes-upscaling-upscaling@pipe-c-edp-1-planes-upscaling-upscaling:
    - Statuses : 2 pass(s)
    - Exec time: [1.22, 1.28] s

  * igt@kms_plane_scaling@planes-upscaling-upscaling@pipe-c-hdmi-a-1-planes-upscaling-upscaling:
    - Statuses : 1 pass(s)
    - Exec time: [0.18] s

  * igt@kms_plane_scaling@planes-upscaling-upscaling@pipe-d-edp-1-planes-upscaling-upscaling:
    - Statuses : 1 pass(s)
    - Exec time: [1.22] s

  * igt@kms_plane_scaling@planes-upscaling-upscaling@pipe-d-hdmi-a-1-planes-upscaling-upscaling:
    - Statuses : 1 pass(s)
    - Exec time: [0.18] s

  * igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-a-dp-1-scaler-with-clipping-clamping:
    - Statuses : 1 pass(s)
    - Exec time: [11.02] s

  * igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-a-edp-1-scaler-with-clipping-clamping:
    - Statuses : 2 pass(s)
    - Exec time: [30.24, 55.91] s

  * igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-a-hdmi-a-1-scaler-with-clipping-clamping:
    - Statuses : 1 pass(s)
    - Exec time: [14.90] s

  * igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-a-vga-1-scaler-with-clipping-clamping:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-b-dp-1-scaler-with-clipping-clamping:
    - Statuses : 1 pass(s)
    - Exec time: [11.39] s

  * igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-b-edp-1-scaler-with-clipping-clamping:
    - Statuses : 2 pass(s)
    - Exec time: [33.26, 58.06] s

  * igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-b-hdmi-a-2-scaler-with-clipping-clamping:
    - Statuses : 1 pass(s)
    - Exec time: [15.36] s

  * igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-b-vga-1-scaler-with-clipping-clamping:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-c-dp-1-scaler-with-clipping-clamping:
    - Statuses : 1 pass(s)
    - Exec time: [0.69] s

  * igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-c-edp-1-scaler-with-clipping-clamping:
    - Statuses : 2 pass(s)
    - Exec time: [1.82, 2.33] s

  * igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-c-hdmi-a-1-scaler-with-clipping-clamping:
    - Statuses : 1 pass(s)
    - Exec time: [1.23] s

  * igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-d-edp-1-scaler-with-clipping-clamping:
    - Statuses : 1 pass(s)
    - Exec time: [1.89] s

  * igt@kms_plane_scaling@scaler-with-pixel-format@pipe-a-dp-1-scaler-with-pixel-format:
    - Statuses : 1 pass(s)
    - Exec time: [2.48] s

  * igt@kms_plane_scaling@scaler-with-pixel-format@pipe-a-hdmi-a-1-scaler-with-pixel-format:
    - Statuses : 1 pass(s)
    - Exec time: [4.20] s

  * igt@kms_plane_scaling@scaler-with-pixel-format@pipe-a-vga-1-scaler-with-pixel-format:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@kms_plane_scaling@scaler-with-pixel-format@pipe-b-dp-1-scaler-with-pixel-format:
    - Statuses : 1 pass(s)
    - Exec time: [2.69] s

  * igt@kms_plane_scaling@scaler-with-pixel-format@pipe-b-hdmi-a-2-scaler-with-pixel-format:
    - Statuses : 1 pass(s)
    - Exec time: [4.96] s

  * igt@kms_plane_scaling@scaler-with-pixel-format@pipe-b-vga-1-scaler-with-pixel-format:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@kms_plane_scaling@scaler-with-pixel-format@pipe-c-dp-1-scaler-with-pixel-format:
    - Statuses : 1 pass(s)
    - Exec time: [1.90] s

  * igt@kms_plane_scaling@scaler-with-pixel-format@pipe-c-hdmi-a-1-scaler-with-pixel-format:
    - Statuses : 1 pass(s)
    - Exec time: [5.20] s

  * igt@kms_plane_scaling@scaler-with-rotation@pipe-a-edp-1-scaler-with-rotation:
    - Statuses : 1 pass(s)
    - Exec time: [6.95] s

  * igt@kms_plane_scaling@scaler-with-rotation@pipe-a-hdmi-a-1-scaler-with-rotation:
    - Statuses : 1 pass(s)
    - Exec time: [4.21] s

  * igt@kms_plane_scaling@scaler-with-rotation@pipe-a-vga-1-scaler-with-rotation:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@kms_plane_scaling@scaler-with-rotation@pipe-b-edp-1-scaler-with-rotation:
    - Statuses : 1 pass(s)
    - Exec time: [8.12] s

  * igt@kms_plane_scaling@scaler-with-rotation@pipe-b-hdmi-a-2-scaler-with-rotation:
    - Statuses : 1 pass(s)
    - Exec time: [4.38] s

  * igt@kms_plane_scaling@scaler-with-rotation@pipe-b-vga-1-scaler-with-rotation:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@kms_plane_scaling@scaler-with-rotation@pipe-c-edp-1-scaler-with-rotation:
    - Statuses : 1 pass(s)
    - Exec time: [8.16] s

  * igt@kms_plane_scaling@scaler-with-rotation@pipe-c-hdmi-a-1-scaler-with-rotation:
    - Statuses : 1 pass(s)
    - Exec time: [4.44] s

  

Known issues
------------

  Here are the changes found in IGTPW_6636_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@feature_discovery@chamelium:
    - shard-tglb:         NOTRUN -> [SKIP][6] ([fdo#111827])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb8/igt@feature_discovery@chamelium.html
    - shard-iclb:         NOTRUN -> [SKIP][7] ([fdo#111827])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-iclb7/igt@feature_discovery@chamelium.html

  * igt@feature_discovery@display-3x:
    - shard-iclb:         NOTRUN -> [SKIP][8] ([i915#1839]) +1 similar issue
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-iclb1/igt@feature_discovery@display-3x.html

  * igt@gem_ctx_isolation@preservation-s3@vcs0:
    - shard-kbl:          NOTRUN -> [DMESG-WARN][9] ([i915#180]) +4 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-kbl4/igt@gem_ctx_isolation@preservation-s3@vcs0.html

  * igt@gem_ctx_persistence@legacy-engines-cleanup:
    - shard-snb:          NOTRUN -> [SKIP][10] ([fdo#109271] / [i915#1099])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-snb2/igt@gem_ctx_persistence@legacy-engines-cleanup.html

  * igt@gem_ctx_sseu@engines:
    - shard-tglb:         NOTRUN -> [SKIP][11] ([i915#280])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb3/igt@gem_ctx_sseu@engines.html

  * igt@gem_eio@in-flight-contexts-10ms:
    - shard-tglb:         [PASS][12] -> [TIMEOUT][13] ([i915#3063])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11235/shard-tglb1/igt@gem_eio@in-flight-contexts-10ms.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb2/igt@gem_eio@in-flight-contexts-10ms.html

  * igt@gem_exec_fair@basic-none-rrul@rcs0:
    - shard-kbl:          [PASS][14] -> [FAIL][15] ([i915#2842])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11235/shard-kbl6/igt@gem_exec_fair@basic-none-rrul@rcs0.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-kbl4/igt@gem_exec_fair@basic-none-rrul@rcs0.html

  * igt@gem_exec_fair@basic-none@rcs0:
    - shard-glk:          NOTRUN -> [FAIL][16] ([i915#2842])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-glk3/igt@gem_exec_fair@basic-none@rcs0.html

  * igt@gem_exec_fair@basic-none@vcs0:
    - shard-kbl:          NOTRUN -> [FAIL][17] ([i915#2842]) +3 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-kbl7/igt@gem_exec_fair@basic-none@vcs0.html
    - shard-tglb:         NOTRUN -> [FAIL][18] ([i915#2842]) +4 similar issues
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb1/igt@gem_exec_fair@basic-none@vcs0.html

  * igt@gem_exec_fair@basic-none@vecs0:
    - shard-iclb:         NOTRUN -> [FAIL][19] ([i915#2842]) +3 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-iclb6/igt@gem_exec_fair@basic-none@vecs0.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-glk:          [PASS][20] -> [FAIL][21] ([i915#2842])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11235/shard-glk2/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-glk5/igt@gem_exec_fair@basic-pace-share@rcs0.html
    - shard-apl:          [PASS][22] -> [FAIL][23] ([i915#2842])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11235/shard-apl6/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-apl3/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_params@no-vebox:
    - shard-iclb:         NOTRUN -> [SKIP][24] ([fdo#109283])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-iclb5/igt@gem_exec_params@no-vebox.html
    - shard-tglb:         NOTRUN -> [SKIP][25] ([fdo#109283] / [i915#4877])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb6/igt@gem_exec_params@no-vebox.html

  * igt@gem_exec_params@secure-non-root:
    - shard-tglb:         NOTRUN -> [SKIP][26] ([fdo#112283])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb8/igt@gem_exec_params@secure-non-root.html

  * igt@gem_lmem_swapping@heavy-verify-random:
    - shard-kbl:          NOTRUN -> [SKIP][27] ([fdo#109271] / [i915#4613]) +2 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-kbl4/igt@gem_lmem_swapping@heavy-verify-random.html
    - shard-tglb:         NOTRUN -> [SKIP][28] ([i915#4613]) +1 similar issue
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb8/igt@gem_lmem_swapping@heavy-verify-random.html

  * igt@gem_lmem_swapping@parallel-multi:
    - shard-apl:          NOTRUN -> [SKIP][29] ([fdo#109271] / [i915#4613]) +2 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-apl6/igt@gem_lmem_swapping@parallel-multi.html

  * igt@gem_pxp@create-regular-context-2:
    - shard-tglb:         NOTRUN -> [SKIP][30] ([i915#4270]) +3 similar issues
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb6/igt@gem_pxp@create-regular-context-2.html

  * igt@gem_pxp@verify-pxp-stale-buf-execution:
    - shard-iclb:         NOTRUN -> [SKIP][31] ([i915#4270]) +1 similar issue
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-iclb6/igt@gem_pxp@verify-pxp-stale-buf-execution.html

  * igt@gem_render_copy@linear-to-vebox-y-tiled:
    - shard-iclb:         NOTRUN -> [SKIP][32] ([i915#768]) +1 similar issue
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-iclb8/igt@gem_render_copy@linear-to-vebox-y-tiled.html

  * igt@gem_softpin@evict-snoop-interruptible:
    - shard-tglb:         NOTRUN -> [SKIP][33] ([fdo#109312])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb2/igt@gem_softpin@evict-snoop-interruptible.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-kbl:          NOTRUN -> [SKIP][34] ([fdo#109271] / [i915#3323])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-kbl4/igt@gem_userptr_blits@dmabuf-sync.html
    - shard-tglb:         NOTRUN -> [SKIP][35] ([i915#3323])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb8/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gem_userptr_blits@unsync-overlap:
    - shard-tglb:         NOTRUN -> [SKIP][36] ([i915#3297]) +1 similar issue
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb3/igt@gem_userptr_blits@unsync-overlap.html

  * igt@gem_userptr_blits@unsync-unmap-cycles:
    - shard-iclb:         NOTRUN -> [SKIP][37] ([i915#3297])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-iclb8/igt@gem_userptr_blits@unsync-unmap-cycles.html

  * igt@gen7_exec_parse@cmd-crossing-page:
    - shard-tglb:         NOTRUN -> [SKIP][38] ([fdo#109289]) +3 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb6/igt@gen7_exec_parse@cmd-crossing-page.html

  * igt@gen9_exec_parse@allowed-all:
    - shard-iclb:         NOTRUN -> [SKIP][39] ([i915#2856]) +1 similar issue
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-iclb5/igt@gen9_exec_parse@allowed-all.html

  * igt@gen9_exec_parse@bb-start-param:
    - shard-tglb:         NOTRUN -> [SKIP][40] ([i915#2527] / [i915#2856]) +4 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb8/igt@gen9_exec_parse@bb-start-param.html

  * igt@i915_pm_dc@dc3co-vpb-simulation:
    - shard-tglb:         NOTRUN -> [SKIP][41] ([i915#1904])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb7/igt@i915_pm_dc@dc3co-vpb-simulation.html
    - shard-iclb:         NOTRUN -> [SKIP][42] ([i915#588])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-iclb2/igt@i915_pm_dc@dc3co-vpb-simulation.html

  * igt@i915_pm_dc@dc6-dpms:
    - shard-kbl:          NOTRUN -> [FAIL][43] ([i915#454])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-kbl6/igt@i915_pm_dc@dc6-dpms.html

  * igt@i915_pm_dc@dc6-psr:
    - shard-tglb:         NOTRUN -> [FAIL][44] ([i915#454]) +1 similar issue
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb3/igt@i915_pm_dc@dc6-psr.html

  * igt@i915_pm_rc6_residency@rc6-fence:
    - shard-tglb:         NOTRUN -> [WARN][45] ([i915#2681] / [i915#2684])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb5/igt@i915_pm_rc6_residency@rc6-fence.html
    - shard-iclb:         NOTRUN -> [WARN][46] ([i915#2684])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-iclb1/igt@i915_pm_rc6_residency@rc6-fence.html

  * igt@i915_pm_rpm@modeset-non-lpsp-stress:
    - shard-tglb:         NOTRUN -> [SKIP][47] ([fdo#111644] / [i915#1397] / [i915#2411])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb8/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
    - shard-iclb:         NOTRUN -> [SKIP][48] ([fdo#110892])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-iclb7/igt@i915_pm_rpm@modeset-non-lpsp-stress.html

  * igt@i915_query@query-topology-unsupported:
    - shard-tglb:         NOTRUN -> [SKIP][49] ([fdo#109302])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb8/igt@i915_query@query-topology-unsupported.html

  * igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
    - shard-tglb:         NOTRUN -> [SKIP][50] ([i915#3826])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb6/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
    - shard-iclb:         NOTRUN -> [SKIP][51] ([i915#3826])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-iclb4/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html

  * igt@kms_big_fb@linear-32bpp-rotate-0:
    - shard-glk:          [PASS][52] -> [DMESG-WARN][53] ([i915#118]) +1 similar issue
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11235/shard-glk4/igt@kms_big_fb@linear-32bpp-rotate-0.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-glk8/igt@kms_big_fb@linear-32bpp-rotate-0.html

  * igt@kms_big_fb@linear-32bpp-rotate-180:
    - shard-glk:          NOTRUN -> [DMESG-WARN][54] ([i915#118])
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-glk1/igt@kms_big_fb@linear-32bpp-rotate-180.html

  * igt@kms_big_fb@linear-32bpp-rotate-270:
    - shard-iclb:         NOTRUN -> [SKIP][55] ([fdo#110725] / [fdo#111614]) +3 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-iclb2/igt@kms_big_fb@linear-32bpp-rotate-270.html

  * igt@kms_big_fb@linear-8bpp-rotate-270:
    - shard-tglb:         NOTRUN -> [SKIP][56] ([fdo#111614]) +8 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-tglb3/igt@kms_big_fb@linear-8bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-apl:          NOTRUN -> [SKIP][57] ([fdo#109271] / [i915#3777]) +6 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-apl2/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
    - shard-glk:          NOTRUN -> [SKIP][58] ([fdo#109271] / [i915#3777]) +1 similar issue
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-glk9/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - shard-kbl:          NOTRUN -> [SKIP][59] ([fdo#109271] / [i915#3777]) +7 similar issues
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/shard-kbl6/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-270:
    - shard-iclb:         NOTRUN -> [SKIP][60] ([fdo#110723]) +1 similar issue
   [60]: http

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6636/index.html

[-- Attachment #2: Type: text/html, Size: 35723 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [igt-dev] [v5 0/9] Addition of new plane scaling test cases
  2022-02-16 12:22 [igt-dev] [v5 0/9] Addition of new plane scaling test cases Swati Sharma
                   ` (10 preceding siblings ...)
  2022-02-16 21:43 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2022-02-18 10:45 ` Petri Latvala
  11 siblings, 0 replies; 13+ messages in thread
From: Petri Latvala @ 2022-02-18 10:45 UTC (permalink / raw)
  To: Swati Sharma; +Cc: igt-dev

On Wed, Feb 16, 2022 at 05:52:08PM +0530, Swati Sharma wrote:
> In this series, combination of downscaling and upscaling
> testcases are added. Also, code refactoring is done for
> existing code.
> 
>     v2:-minor fixes, to prevent CI crashes
>     v3:-added subtests for testing upscaling/downscaling for
>         each plane individually (Ville)
>        -modified existing subtests for each N plane scaling
>         combo (Ville)
>     v4:-removal of i915sm (Ville)
>        -code reusablity (Ville)
>     v5:-use enum (Viile)
>        -limit while loop (Ville)
>        -add assert for fail/pass (Ville)
>        -added primary plane for testing (Ville)
> 
> Swati Sharma (9):
>   tests/kms_plane_scaling: Removal of plane-scaling subtest
>   tests/kms_plane_scaling: Add output name in dynamic subtests
>   tests/kms_plane_scaling: Upscaling each plane
>   tests/kms_plane_scaling: Downscaling each plane
>   tests/kms_plane_scaling: Upscaling on 2 planes
>   tests/kms_plane_scaling: Downscaling on 2 planes
>   tests/kms_plane_scaling: Upscaling and downscaling scenario
>   tests/kms_plane_scaling: Add negative test to check num of scalers
>   tests/kms_plane_scaling: Refactor clipping-clamping subtest
> 
>  tests/kms_plane_scaling.c | 720 +++++++++++++++++++++++---------------
>  1 file changed, 445 insertions(+), 275 deletions(-)
> 
> -- 
> 2.25.1
> 


Recapping some offline discussions for the mailing list:

Patches 3+4 in this series ({Upscaling,Downscaling} each plane) can be
dropped, Jessica will send a patch series getting that functionality
covered.

With that drop done this series is green for proceeding.


-- 
Petri Latvala

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-02-18 10:46 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-16 12:22 [igt-dev] [v5 0/9] Addition of new plane scaling test cases Swati Sharma
2022-02-16 12:22 ` [igt-dev] [v5 1/9] tests/kms_plane_scaling: Removal of plane-scaling subtest Swati Sharma
2022-02-16 12:22 ` [igt-dev] [v5 2/9] tests/kms_plane_scaling: Add output name in dynamic subtests Swati Sharma
2022-02-16 12:22 ` [igt-dev] [v5 3/9] tests/kms_plane_scaling: Upscaling each plane Swati Sharma
2022-02-16 12:22 ` [igt-dev] [v5 4/9] tests/kms_plane_scaling: Downscaling " Swati Sharma
2022-02-16 12:22 ` [igt-dev] [v5 5/9] tests/kms_plane_scaling: Upscaling on 2 planes Swati Sharma
2022-02-16 12:22 ` [igt-dev] [v5 6/9] tests/kms_plane_scaling: Downscaling " Swati Sharma
2022-02-16 12:22 ` [igt-dev] [v5 7/9] tests/kms_plane_scaling: Upscaling and downscaling scenario Swati Sharma
2022-02-16 12:22 ` [igt-dev] [v5 8/9] tests/kms_plane_scaling: Add negative test to check num of scalers Swati Sharma
2022-02-16 12:22 ` [igt-dev] [v5 9/9] tests/kms_plane_scaling: Refactor clipping-clamping subtest Swati Sharma
2022-02-16 15:15 ` [igt-dev] ✓ Fi.CI.BAT: success for Addition of new plane scaling test cases (rev7) Patchwork
2022-02-16 21:43 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2022-02-18 10:45 ` [igt-dev] [v5 0/9] Addition of new plane scaling test cases Petri Latvala

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.