[PATCH i-g-t] Revert "tests/kms_plane: Don't unset primary_fb when testing other planes"

Martin Peres martin.peres at mupuf.org
Sat Apr 10 07:07:47 UTC 2021


The patch led to a regression in i915 results. The regression wasn't
caught pre-merge because the test was blacklisted for pre-merge by
yours truly due to its prohibitive execution time, but my creation
came back to bite me in the ass, Frakenstein-style.

It is currently unclear if the regression introduced by this change is
an i915 bug, a KMS spec violation introduced by the change, or
generally a loose-spec and just incompatible HW between NVIDIA and
Intel. While we figure this thing out, let's just revert the change
and put the cost of integration on the people proposing the
change (Lyude and I).

Sorry for the noise!

Signed-off-by: Martin Peres <martin.peres at mupuf.org>
---
 tests/kms_plane.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/tests/kms_plane.c b/tests/kms_plane.c
index f20f5bee..30851f73 100644
--- a/tests/kms_plane.c
+++ b/tests/kms_plane.c
@@ -823,10 +823,9 @@ struct format_mod {
 };
 
 static bool test_format_plane(data_t *data, enum pipe pipe,
-			      igt_output_t *output, igt_plane_t *plane, igt_fb_t *primary_fb)
+			      igt_output_t *output, igt_plane_t *plane)
 {
 	struct igt_fb fb = {};
-	struct igt_fb *clear_fb = plane->type == DRM_PLANE_TYPE_PRIMARY ? primary_fb : NULL;
 	drmModeModeInfo *mode;
 	uint64_t width, height;
 	igt_crc_t ref_crc[MAX_CRC_SET][ARRAY_SIZE(colors_extended)];
@@ -888,7 +887,7 @@ static bool test_format_plane(data_t *data, enum pipe pipe,
 			height = test_fb.height;
 		}
 
-		igt_plane_set_fb(plane, clear_fb);
+		igt_plane_set_fb(plane, NULL);
 
 		igt_remove_fb(data->drm_fd, &test_fb);
 	}
@@ -965,7 +964,7 @@ static bool test_format_plane(data_t *data, enum pipe pipe,
 
 	igt_pipe_crc_stop(data->pipe_crc);
 
-	igt_plane_set_fb(plane, clear_fb);
+	igt_plane_set_fb(plane, NULL);
 	igt_remove_fb(data->drm_fd, &fb);
 
 	igt_vec_fini(&tested_formats);
@@ -1040,7 +1039,7 @@ test_pixel_formats(data_t *data, enum pipe pipe)
 	for_each_plane_on_pipe(&data->display, pipe, plane) {
 		if (skip_plane(data, plane))
 			continue;
-		result &= test_format_plane(data, pipe, output, plane, &primary_fb);
+		result &= test_format_plane(data, pipe, output, plane);
 	}
 
 	test_fini(data);
-- 
2.31.1



More information about the Intel-gfx-trybot mailing list