All of lore.kernel.org
 help / color / mirror / Atom feed
* [Nouveau] [PATCH i-g-t v2 0/2] tests/kms_cursor_crc: Test 32x32 cursors
@ 2021-03-18 22:21 ` Lyude
  0 siblings, 0 replies; 30+ messages in thread
From: Lyude @ 2021-03-18 22:21 UTC (permalink / raw)
  To: igt-dev, nouveau; +Cc: Ben Skeggs

From: Lyude Paul <lyude@redhat.com>

Older nvidia hardware only has 32x32 and 64x64 cursors, so we want to
make sure to test 32x32 cursors.

Cc: Martin Peres <martin.peres@free.fr>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Jeremy Cline <jcline@redhat.com>

Lyude Paul (2):
  tests/kms_cursor_crc: Probe kernel for cursor size support
  tests/kms_cursor_crc: Test 32x32 cursors

 tests/kms_cursor_crc.c | 133 ++++++++++++++++++++++++-----------------
 1 file changed, 77 insertions(+), 56 deletions(-)

-- 
2.29.2

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

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

* [igt-dev] [PATCH i-g-t v2 0/2] tests/kms_cursor_crc: Test 32x32 cursors
@ 2021-03-18 22:21 ` Lyude
  0 siblings, 0 replies; 30+ messages in thread
From: Lyude @ 2021-03-18 22:21 UTC (permalink / raw)
  To: igt-dev, nouveau; +Cc: Martin Peres, Ben Skeggs

From: Lyude Paul <lyude@redhat.com>

Older nvidia hardware only has 32x32 and 64x64 cursors, so we want to
make sure to test 32x32 cursors.

Cc: Martin Peres <martin.peres@free.fr>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Jeremy Cline <jcline@redhat.com>

Lyude Paul (2):
  tests/kms_cursor_crc: Probe kernel for cursor size support
  tests/kms_cursor_crc: Test 32x32 cursors

 tests/kms_cursor_crc.c | 133 ++++++++++++++++++++++++-----------------
 1 file changed, 77 insertions(+), 56 deletions(-)

-- 
2.29.2

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [Nouveau] [PATCH i-g-t v2 1/2] tests/kms_cursor_crc: Probe kernel for cursor size support
  2021-03-18 22:21 ` [igt-dev] " Lyude
@ 2021-03-18 22:21   ` Lyude
  -1 siblings, 0 replies; 30+ messages in thread
From: Lyude @ 2021-03-18 22:21 UTC (permalink / raw)
  To: igt-dev, nouveau; +Cc: Ben Skeggs

From: Lyude Paul <lyude@redhat.com>

Currently we just assume that every cursor size up to data->cursor_max_w/h will
be supported by the driver, and check for support of nonsquare cursors by
checking if we're running on u815 and if so, which variant of intel hardware
we're running on. This isn't really ideal as we're about to enable 32x32 cursor
size tests for nouveau, and Intel hardware doesn't support cursor sizes that
small.

So, fix this by removing has_nonsquare_cursors() and replacing it with a more
generic require_cursor_size() function which checks whether or not the driver
we're using supports a given cursor size by attempting a test-only atomic
commit.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Cc: Martin Peres <martin.peres@free.fr>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Jeremy Cline <jcline@redhat.com>
---
 tests/kms_cursor_crc.c | 131 ++++++++++++++++++++++++-----------------
 1 file changed, 76 insertions(+), 55 deletions(-)

diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
index 3541ea06..b9c05472 100644
--- a/tests/kms_cursor_crc.c
+++ b/tests/kms_cursor_crc.c
@@ -523,26 +523,43 @@ static void create_cursor_fb(data_t *data, int cur_w, int cur_h)
 	igt_put_cairo_ctx(cr);
 }
 
-static bool has_nonsquare_cursors(data_t *data)
+static void require_cursor_size(data_t *data, int w, int h)
 {
-	uint32_t devid;
+	igt_fb_t primary_fb;
+	drmModeModeInfo *mode;
+	igt_display_t *display = &data->display;
+	igt_output_t *output = data->output;
+	igt_plane_t *primary, *cursor;
+	int ret;
 
-	if (!is_i915_device(data->drm_fd))
-		return false;
+	igt_output_set_pipe(output, data->pipe);
 
-	devid = intel_get_drm_devid(data->drm_fd);
+	mode = igt_output_get_mode(output);
+	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+	cursor = igt_output_get_plane_type(output, DRM_PLANE_TYPE_CURSOR);
 
-	/*
-	 * Test non-square cursors a bit on the platforms
-	 * that support such things.
-	 */
-	if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
-		return true;
+	/* Create temporary primary fb for testing */
+	igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, DRM_FORMAT_XRGB8888,
+				 LOCAL_DRM_FORMAT_MOD_NONE, &primary_fb));
 
-	if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
-		return false;
+	igt_plane_set_fb(primary, &primary_fb);
+	igt_plane_set_fb(cursor, &data->fb);
+	igt_plane_set_size(cursor, w, h);
+	igt_fb_set_size(&data->fb, cursor, w, h);
+
+	/* Test if the kernel supports the given cursor size or not */
+	ret = igt_display_try_commit_atomic(display,
+					    DRM_MODE_ATOMIC_TEST_ONLY |
+					    DRM_MODE_ATOMIC_ALLOW_MODESET,
+					    NULL);
+
+	igt_plane_set_fb(primary, NULL);
+	igt_plane_set_fb(cursor, NULL);
+
+	igt_remove_fb(data->drm_fd, &primary_fb);
+	igt_output_set_pipe(output, PIPE_NONE);
 
-	return intel_gen(devid) >= 7;
+	igt_skip_on_f(ret, "Cursor size %dx%d not supported by driver\n", w, h);
 }
 
 static void test_cursor_size(data_t *data)
@@ -697,27 +714,33 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
 			create_cursor_fb(data, w, h);
 		}
 
-		/* Using created cursor FBs to test cursor support */
-		igt_describe("Check if a given-size cursor is well-positioned inside the screen.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
-			run_test(data, test_crc_onscreen, w, h);
-
-		igt_describe("Check if a given-size cursor is well-positioned outside the screen.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
-			run_test(data, test_crc_offscreen, w, h);
-
-		igt_describe("Check the smooth and pixel-by-pixel given-size cursor movements on"
-		             "horizontal, vertical and diagonal.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
-			run_test(data, test_crc_sliding, w, h);
-
-		igt_describe("Check random placement of a cursor with given size.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
-			run_test(data, test_crc_random, w, h);
-
-		igt_describe("Check the rapid update of given-size cursor movements.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h) {
-			run_test(data, test_rapid_movement, w, h);
+		igt_subtest_group {
+			igt_fixture
+				require_cursor_size(data, w, h);
+
+			/* Using created cursor FBs to test cursor support */
+			igt_describe("Check if a given-size cursor is well-positioned inside the "
+				     "screen.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_onscreen, w, h);
+
+			igt_describe("Check if a given-size cursor is well-positioned outside the "
+				     "screen.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_offscreen, w, h);
+
+			igt_describe("Check the smooth and pixel-by-pixel given-size cursor "
+				     "movements on horizontal, vertical and diagonal.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_sliding, w, h);
+
+			igt_describe("Check random placement of a cursor with given size.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_random, w, h);
+
+			igt_describe("Check the rapid update of given-size cursor movements.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_rapid_movement, w, h);
 		}
 
 		igt_fixture
@@ -730,27 +753,25 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
 		 */
 		h /= 3;
 
-		igt_fixture {
-			if (has_nonsquare_cursors(data))
-				create_cursor_fb(data, w, h);
-		}
+		igt_fixture
+			create_cursor_fb(data, w, h);
 
-		/* Using created cursor FBs to test cursor support */
-		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h) {
-			igt_require(has_nonsquare_cursors(data));
-			run_test(data, test_crc_onscreen, w, h);
-		}
-		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h) {
-			igt_require(has_nonsquare_cursors(data));
-			run_test(data, test_crc_offscreen, w, h);
-		}
-		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h) {
-			igt_require(has_nonsquare_cursors(data));
-			run_test(data, test_crc_sliding, w, h);
-		}
-		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h) {
-			igt_require(has_nonsquare_cursors(data));
-			run_test(data, test_crc_random, w, h);
+		igt_subtest_group {
+			igt_fixture
+				require_cursor_size(data, w, h);
+
+			/* Using created cursor FBs to test cursor support */
+			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_onscreen, w, h);
+
+			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_offscreen, w, h);
+
+			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_sliding, w, h);
+
+			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_random, w, h);
 		}
 
 		igt_fixture
-- 
2.29.2

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

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

* [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_cursor_crc: Probe kernel for cursor size support
@ 2021-03-18 22:21   ` Lyude
  0 siblings, 0 replies; 30+ messages in thread
From: Lyude @ 2021-03-18 22:21 UTC (permalink / raw)
  To: igt-dev, nouveau; +Cc: Martin Peres, Ben Skeggs

From: Lyude Paul <lyude@redhat.com>

Currently we just assume that every cursor size up to data->cursor_max_w/h will
be supported by the driver, and check for support of nonsquare cursors by
checking if we're running on u815 and if so, which variant of intel hardware
we're running on. This isn't really ideal as we're about to enable 32x32 cursor
size tests for nouveau, and Intel hardware doesn't support cursor sizes that
small.

So, fix this by removing has_nonsquare_cursors() and replacing it with a more
generic require_cursor_size() function which checks whether or not the driver
we're using supports a given cursor size by attempting a test-only atomic
commit.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Cc: Martin Peres <martin.peres@free.fr>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Jeremy Cline <jcline@redhat.com>
---
 tests/kms_cursor_crc.c | 131 ++++++++++++++++++++++++-----------------
 1 file changed, 76 insertions(+), 55 deletions(-)

diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
index 3541ea06..b9c05472 100644
--- a/tests/kms_cursor_crc.c
+++ b/tests/kms_cursor_crc.c
@@ -523,26 +523,43 @@ static void create_cursor_fb(data_t *data, int cur_w, int cur_h)
 	igt_put_cairo_ctx(cr);
 }
 
-static bool has_nonsquare_cursors(data_t *data)
+static void require_cursor_size(data_t *data, int w, int h)
 {
-	uint32_t devid;
+	igt_fb_t primary_fb;
+	drmModeModeInfo *mode;
+	igt_display_t *display = &data->display;
+	igt_output_t *output = data->output;
+	igt_plane_t *primary, *cursor;
+	int ret;
 
-	if (!is_i915_device(data->drm_fd))
-		return false;
+	igt_output_set_pipe(output, data->pipe);
 
-	devid = intel_get_drm_devid(data->drm_fd);
+	mode = igt_output_get_mode(output);
+	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+	cursor = igt_output_get_plane_type(output, DRM_PLANE_TYPE_CURSOR);
 
-	/*
-	 * Test non-square cursors a bit on the platforms
-	 * that support such things.
-	 */
-	if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
-		return true;
+	/* Create temporary primary fb for testing */
+	igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, DRM_FORMAT_XRGB8888,
+				 LOCAL_DRM_FORMAT_MOD_NONE, &primary_fb));
 
-	if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
-		return false;
+	igt_plane_set_fb(primary, &primary_fb);
+	igt_plane_set_fb(cursor, &data->fb);
+	igt_plane_set_size(cursor, w, h);
+	igt_fb_set_size(&data->fb, cursor, w, h);
+
+	/* Test if the kernel supports the given cursor size or not */
+	ret = igt_display_try_commit_atomic(display,
+					    DRM_MODE_ATOMIC_TEST_ONLY |
+					    DRM_MODE_ATOMIC_ALLOW_MODESET,
+					    NULL);
+
+	igt_plane_set_fb(primary, NULL);
+	igt_plane_set_fb(cursor, NULL);
+
+	igt_remove_fb(data->drm_fd, &primary_fb);
+	igt_output_set_pipe(output, PIPE_NONE);
 
-	return intel_gen(devid) >= 7;
+	igt_skip_on_f(ret, "Cursor size %dx%d not supported by driver\n", w, h);
 }
 
 static void test_cursor_size(data_t *data)
@@ -697,27 +714,33 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
 			create_cursor_fb(data, w, h);
 		}
 
-		/* Using created cursor FBs to test cursor support */
-		igt_describe("Check if a given-size cursor is well-positioned inside the screen.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
-			run_test(data, test_crc_onscreen, w, h);
-
-		igt_describe("Check if a given-size cursor is well-positioned outside the screen.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
-			run_test(data, test_crc_offscreen, w, h);
-
-		igt_describe("Check the smooth and pixel-by-pixel given-size cursor movements on"
-		             "horizontal, vertical and diagonal.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
-			run_test(data, test_crc_sliding, w, h);
-
-		igt_describe("Check random placement of a cursor with given size.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
-			run_test(data, test_crc_random, w, h);
-
-		igt_describe("Check the rapid update of given-size cursor movements.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h) {
-			run_test(data, test_rapid_movement, w, h);
+		igt_subtest_group {
+			igt_fixture
+				require_cursor_size(data, w, h);
+
+			/* Using created cursor FBs to test cursor support */
+			igt_describe("Check if a given-size cursor is well-positioned inside the "
+				     "screen.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_onscreen, w, h);
+
+			igt_describe("Check if a given-size cursor is well-positioned outside the "
+				     "screen.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_offscreen, w, h);
+
+			igt_describe("Check the smooth and pixel-by-pixel given-size cursor "
+				     "movements on horizontal, vertical and diagonal.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_sliding, w, h);
+
+			igt_describe("Check random placement of a cursor with given size.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_random, w, h);
+
+			igt_describe("Check the rapid update of given-size cursor movements.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_rapid_movement, w, h);
 		}
 
 		igt_fixture
@@ -730,27 +753,25 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
 		 */
 		h /= 3;
 
-		igt_fixture {
-			if (has_nonsquare_cursors(data))
-				create_cursor_fb(data, w, h);
-		}
+		igt_fixture
+			create_cursor_fb(data, w, h);
 
-		/* Using created cursor FBs to test cursor support */
-		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h) {
-			igt_require(has_nonsquare_cursors(data));
-			run_test(data, test_crc_onscreen, w, h);
-		}
-		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h) {
-			igt_require(has_nonsquare_cursors(data));
-			run_test(data, test_crc_offscreen, w, h);
-		}
-		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h) {
-			igt_require(has_nonsquare_cursors(data));
-			run_test(data, test_crc_sliding, w, h);
-		}
-		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h) {
-			igt_require(has_nonsquare_cursors(data));
-			run_test(data, test_crc_random, w, h);
+		igt_subtest_group {
+			igt_fixture
+				require_cursor_size(data, w, h);
+
+			/* Using created cursor FBs to test cursor support */
+			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_onscreen, w, h);
+
+			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_offscreen, w, h);
+
+			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_sliding, w, h);
+
+			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_random, w, h);
 		}
 
 		igt_fixture
-- 
2.29.2

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [Nouveau] [PATCH i-g-t v2 2/2] tests/kms_cursor_crc: Test 32x32 cursors
  2021-03-18 22:21 ` [igt-dev] " Lyude
@ 2021-03-18 22:21   ` Lyude
  -1 siblings, 0 replies; 30+ messages in thread
From: Lyude @ 2021-03-18 22:21 UTC (permalink / raw)
  To: igt-dev, nouveau; +Cc: Ben Skeggs

From: Lyude Paul <lyude@redhat.com>

Since pre-nve4 only has two cursor sizes (32x32 and 64x64), we should at
least test both of them.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Cc: Martin Peres <martin.peres@free.fr>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Jeremy Cline <jcline@redhat.com>
---
 tests/kms_cursor_crc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
index b9c05472..754e1073 100644
--- a/tests/kms_cursor_crc.c
+++ b/tests/kms_cursor_crc.c
@@ -703,7 +703,7 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
 	igt_fixture
 		igt_remove_fb(data->drm_fd, &data->fb);
 
-	for (cursor_size = 64; cursor_size <= 512; cursor_size *= 2) {
+	for (cursor_size = 32; cursor_size <= 512; cursor_size *= 2) {
 		int w = cursor_size;
 		int h = cursor_size;
 
-- 
2.29.2

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

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

* [igt-dev] [PATCH i-g-t v2 2/2] tests/kms_cursor_crc: Test 32x32 cursors
@ 2021-03-18 22:21   ` Lyude
  0 siblings, 0 replies; 30+ messages in thread
From: Lyude @ 2021-03-18 22:21 UTC (permalink / raw)
  To: igt-dev, nouveau; +Cc: Martin Peres, Ben Skeggs

From: Lyude Paul <lyude@redhat.com>

Since pre-nve4 only has two cursor sizes (32x32 and 64x64), we should at
least test both of them.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Cc: Martin Peres <martin.peres@free.fr>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Jeremy Cline <jcline@redhat.com>
---
 tests/kms_cursor_crc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
index b9c05472..754e1073 100644
--- a/tests/kms_cursor_crc.c
+++ b/tests/kms_cursor_crc.c
@@ -703,7 +703,7 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
 	igt_fixture
 		igt_remove_fb(data->drm_fd, &data->fb);
 
-	for (cursor_size = 64; cursor_size <= 512; cursor_size *= 2) {
+	for (cursor_size = 32; cursor_size <= 512; cursor_size *= 2) {
 		int w = cursor_size;
 		int h = cursor_size;
 
-- 
2.29.2

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_cursor_crc: Test 32x32 cursors
  2021-03-18 22:21 ` [igt-dev] " Lyude
                   ` (2 preceding siblings ...)
  (?)
@ 2021-03-18 22:58 ` Patchwork
  -1 siblings, 0 replies; 30+ messages in thread
From: Patchwork @ 2021-03-18 22:58 UTC (permalink / raw)
  To: Lyude Paul; +Cc: igt-dev


[-- Attachment #1.1: Type: text/plain, Size: 5783 bytes --]

== Series Details ==

Series: tests/kms_cursor_crc: Test 32x32 cursors
URL   : https://patchwork.freedesktop.org/series/88144/
State : success

== Summary ==

CI Bug Log - changes from IGT_6038 -> IGTPW_5625
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_pm_rpm@module-reload:
    - fi-kbl-guc:         [PASS][1] -> [FAIL][2] ([i915#2203] / [i915#579])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/fi-kbl-guc/igt@i915_pm_rpm@module-reload.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/fi-kbl-guc/igt@i915_pm_rpm@module-reload.html

  
#### Possible fixes ####

  * igt@gem_linear_blits@basic:
    - fi-kbl-8809g:       [TIMEOUT][3] ([i915#2502] / [i915#3145]) -> [PASS][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/fi-kbl-8809g/igt@gem_linear_blits@basic.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/fi-kbl-8809g/igt@gem_linear_blits@basic.html

  * igt@gem_tiled_fence_blits@basic:
    - fi-kbl-8809g:       [TIMEOUT][5] ([i915#3145]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/fi-kbl-8809g/igt@gem_tiled_fence_blits@basic.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/fi-kbl-8809g/igt@gem_tiled_fence_blits@basic.html

  
#### Warnings ####

  * igt@gem_tiled_blits@basic:
    - fi-kbl-8809g:       [TIMEOUT][7] ([i915#2502] / [i915#3145]) -> [TIMEOUT][8] ([i915#3145])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/fi-kbl-8809g/igt@gem_tiled_blits@basic.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/fi-kbl-8809g/igt@gem_tiled_blits@basic.html

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

  [i915#1222]: https://gitlab.freedesktop.org/drm/intel/issues/1222
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2203]: https://gitlab.freedesktop.org/drm/intel/issues/2203
  [i915#2502]: https://gitlab.freedesktop.org/drm/intel/issues/2502
  [i915#3145]: https://gitlab.freedesktop.org/drm/intel/issues/3145
  [i915#579]: https://gitlab.freedesktop.org/drm/intel/issues/579


Participating hosts (44 -> 39)
------------------------------

  Missing    (5): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-dg1-1 fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_6038 -> IGTPW_5625

  CI-20190529: 20190529
  CI_DRM_9870: a9a5ed8d2432e5335e6c26118cefb2cfff28ae37 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_5625: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/index.html
  IGT_6038: e2f0d31702e95837dbc2df66949e643284e29dea @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+igt@kms_cursor_crc@pipe-a-cursor-32x10-offscreen
+igt@kms_cursor_crc@pipe-a-cursor-32x10-onscreen
+igt@kms_cursor_crc@pipe-a-cursor-32x10-random
+igt@kms_cursor_crc@pipe-a-cursor-32x10-sliding
+igt@kms_cursor_crc@pipe-a-cursor-32x32-offscreen
+igt@kms_cursor_crc@pipe-a-cursor-32x32-onscreen
+igt@kms_cursor_crc@pipe-a-cursor-32x32-random
+igt@kms_cursor_crc@pipe-a-cursor-32x32-rapid-movement
+igt@kms_cursor_crc@pipe-a-cursor-32x32-sliding
+igt@kms_cursor_crc@pipe-b-cursor-32x10-offscreen
+igt@kms_cursor_crc@pipe-b-cursor-32x10-onscreen
+igt@kms_cursor_crc@pipe-b-cursor-32x10-random
+igt@kms_cursor_crc@pipe-b-cursor-32x10-sliding
+igt@kms_cursor_crc@pipe-b-cursor-32x32-offscreen
+igt@kms_cursor_crc@pipe-b-cursor-32x32-onscreen
+igt@kms_cursor_crc@pipe-b-cursor-32x32-random
+igt@kms_cursor_crc@pipe-b-cursor-32x32-rapid-movement
+igt@kms_cursor_crc@pipe-b-cursor-32x32-sliding
+igt@kms_cursor_crc@pipe-c-cursor-32x10-offscreen
+igt@kms_cursor_crc@pipe-c-cursor-32x10-onscreen
+igt@kms_cursor_crc@pipe-c-cursor-32x10-random
+igt@kms_cursor_crc@pipe-c-cursor-32x10-sliding
+igt@kms_cursor_crc@pipe-c-cursor-32x32-offscreen
+igt@kms_cursor_crc@pipe-c-cursor-32x32-onscreen
+igt@kms_cursor_crc@pipe-c-cursor-32x32-random
+igt@kms_cursor_crc@pipe-c-cursor-32x32-rapid-movement
+igt@kms_cursor_crc@pipe-c-cursor-32x32-sliding
+igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen
+igt@kms_cursor_crc@pipe-d-cursor-32x10-onscreen
+igt@kms_cursor_crc@pipe-d-cursor-32x10-random
+igt@kms_cursor_crc@pipe-d-cursor-32x10-sliding
+igt@kms_cursor_crc@pipe-d-cursor-32x32-offscreen
+igt@kms_cursor_crc@pipe-d-cursor-32x32-onscreen
+igt@kms_cursor_crc@pipe-d-cursor-32x32-random
+igt@kms_cursor_crc@pipe-d-cursor-32x32-rapid-movement
+igt@kms_cursor_crc@pipe-d-cursor-32x32-sliding
+igt@kms_cursor_crc@pipe-e-cursor-32x10-offscreen
+igt@kms_cursor_crc@pipe-e-cursor-32x10-onscreen
+igt@kms_cursor_crc@pipe-e-cursor-32x10-random
+igt@kms_cursor_crc@pipe-e-cursor-32x10-sliding
+igt@kms_cursor_crc@pipe-e-cursor-32x32-offscreen
+igt@kms_cursor_crc@pipe-e-cursor-32x32-onscreen
+igt@kms_cursor_crc@pipe-e-cursor-32x32-random
+igt@kms_cursor_crc@pipe-e-cursor-32x32-rapid-movement
+igt@kms_cursor_crc@pipe-e-cursor-32x32-sliding
+igt@kms_cursor_crc@pipe-f-cursor-32x10-offscreen
+igt@kms_cursor_crc@pipe-f-cursor-32x10-onscreen
+igt@kms_cursor_crc@pipe-f-cursor-32x10-random
+igt@kms_cursor_crc@pipe-f-cursor-32x10-sliding
+igt@kms_cursor_crc@pipe-f-cursor-32x32-offscreen
+igt@kms_cursor_crc@pipe-f-cursor-32x32-onscreen
+igt@kms_cursor_crc@pipe-f-cursor-32x32-random
+igt@kms_cursor_crc@pipe-f-cursor-32x32-rapid-movement
+igt@kms_cursor_crc@pipe-f-cursor-32x32-sliding

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 6920 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✗ Fi.CI.IGT: failure for tests/kms_cursor_crc: Test 32x32 cursors
  2021-03-18 22:21 ` [igt-dev] " Lyude
                   ` (3 preceding siblings ...)
  (?)
@ 2021-03-19  3:52 ` Patchwork
  -1 siblings, 0 replies; 30+ messages in thread
From: Patchwork @ 2021-03-19  3:52 UTC (permalink / raw)
  To: Lyude Paul; +Cc: igt-dev


[-- Attachment #1.1: Type: text/plain, Size: 30258 bytes --]

== Series Details ==

Series: tests/kms_cursor_crc: Test 32x32 cursors
URL   : https://patchwork.freedesktop.org/series/88144/
State : failure

== Summary ==

CI Bug Log - changes from IGT_6038_full -> IGTPW_5625_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_5625_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_5625_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_5625/index.html

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

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

### IGT changes ###

#### Possible regressions ####

  * {igt@kms_cursor_crc@pipe-b-cursor-32x32-sliding} (NEW):
    - shard-tglb:         NOTRUN -> [SKIP][1] +34 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb5/igt@kms_cursor_crc@pipe-b-cursor-32x32-sliding.html

  * igt@kms_plane@plane-position-covered-pipe-b-planes:
    - shard-kbl:          [PASS][2] -> [FAIL][3]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-kbl6/igt@kms_plane@plane-position-covered-pipe-b-planes.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-kbl1/igt@kms_plane@plane-position-covered-pipe-b-planes.html
    - shard-apl:          NOTRUN -> [FAIL][4]
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl6/igt@kms_plane@plane-position-covered-pipe-b-planes.html

  * igt@perf@invalid-oa-format-id:
    - shard-iclb:         [PASS][5] -> [SKIP][6] +1 similar issue
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-iclb5/igt@perf@invalid-oa-format-id.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb6/igt@perf@invalid-oa-format-id.html

  * igt@perf@whitelisted-registers-userspace-config:
    - shard-tglb:         [PASS][7] -> [SKIP][8] +1 similar issue
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-tglb8/igt@perf@whitelisted-registers-userspace-config.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb8/igt@perf@whitelisted-registers-userspace-config.html

  
New tests
---------

  New tests have been introduced between IGT_6038_full and IGTPW_5625_full:

### New IGT tests (36) ###

  * igt@kms_cursor_crc@pipe-a-cursor-32x10-offscreen:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-a-cursor-32x10-onscreen:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-a-cursor-32x10-random:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-a-cursor-32x10-sliding:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-a-cursor-32x32-offscreen:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-a-cursor-32x32-onscreen:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-a-cursor-32x32-random:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-a-cursor-32x32-rapid-movement:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-a-cursor-32x32-sliding:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-b-cursor-32x10-offscreen:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-b-cursor-32x10-onscreen:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-b-cursor-32x10-random:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-b-cursor-32x10-sliding:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-b-cursor-32x32-offscreen:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-b-cursor-32x32-onscreen:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-b-cursor-32x32-random:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-b-cursor-32x32-rapid-movement:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-b-cursor-32x32-sliding:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-c-cursor-32x10-offscreen:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-c-cursor-32x10-onscreen:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-c-cursor-32x10-random:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-c-cursor-32x10-sliding:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-c-cursor-32x32-offscreen:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-c-cursor-32x32-onscreen:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-c-cursor-32x32-random:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-c-cursor-32x32-rapid-movement:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-c-cursor-32x32-sliding:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-d-cursor-32x10-onscreen:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-d-cursor-32x10-random:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-d-cursor-32x10-sliding:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-d-cursor-32x32-offscreen:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-d-cursor-32x32-onscreen:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-d-cursor-32x32-random:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-d-cursor-32x32-rapid-movement:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-d-cursor-32x32-sliding:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@feature_discovery@display-2x:
    - shard-tglb:         NOTRUN -> [SKIP][9] ([i915#1839])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb5/igt@feature_discovery@display-2x.html
    - shard-iclb:         NOTRUN -> [SKIP][10] ([i915#1839])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb5/igt@feature_discovery@display-2x.html

  * igt@gem_ctx_persistence@smoketest:
    - shard-snb:          NOTRUN -> [SKIP][11] ([fdo#109271] / [i915#1099]) +10 similar issues
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-snb7/igt@gem_ctx_persistence@smoketest.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-kbl:          [PASS][12] -> [FAIL][13] ([i915#2846])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-kbl3/igt@gem_exec_fair@basic-deadline.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-kbl2/igt@gem_exec_fair@basic-deadline.html
    - shard-apl:          NOTRUN -> [FAIL][14] ([i915#2846])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl6/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-glk:          [PASS][15] -> [FAIL][16] ([i915#2842])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-glk1/igt@gem_exec_fair@basic-none-share@rcs0.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-glk6/igt@gem_exec_fair@basic-none-share@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_5625/shard-kbl2/igt@gem_exec_fair@basic-none@vcs0.html
    - shard-apl:          NOTRUN -> [FAIL][18] ([i915#2842])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl3/igt@gem_exec_fair@basic-none@vcs0.html
    - shard-tglb:         NOTRUN -> [FAIL][19] ([i915#2842]) +4 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb8/igt@gem_exec_fair@basic-none@vcs0.html
    - shard-glk:          NOTRUN -> [FAIL][20] ([i915#2842]) +1 similar issue
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-glk9/igt@gem_exec_fair@basic-none@vcs0.html

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

  * igt@gem_exec_reloc@basic-many-active@rcs0:
    - shard-glk:          [PASS][22] -> [FAIL][23] ([i915#2389])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-glk3/igt@gem_exec_reloc@basic-many-active@rcs0.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-glk8/igt@gem_exec_reloc@basic-many-active@rcs0.html
    - shard-snb:          NOTRUN -> [FAIL][24] ([i915#2389]) +2 similar issues
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-snb6/igt@gem_exec_reloc@basic-many-active@rcs0.html

  * igt@gem_exec_reloc@basic-many-active@vcs1:
    - shard-iclb:         NOTRUN -> [FAIL][25] ([i915#2389])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb1/igt@gem_exec_reloc@basic-many-active@vcs1.html

  * igt@gem_exec_whisper@basic-forked:
    - shard-glk:          [PASS][26] -> [DMESG-WARN][27] ([i915#118] / [i915#95]) +1 similar issue
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-glk8/igt@gem_exec_whisper@basic-forked.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-glk2/igt@gem_exec_whisper@basic-forked.html

  * igt@gem_pread@exhaustion:
    - shard-tglb:         NOTRUN -> [WARN][28] ([i915#2658])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb2/igt@gem_pread@exhaustion.html
    - shard-glk:          NOTRUN -> [WARN][29] ([i915#2658])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-glk7/igt@gem_pread@exhaustion.html
    - shard-iclb:         NOTRUN -> [WARN][30] ([i915#2658])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb1/igt@gem_pread@exhaustion.html
    - shard-kbl:          NOTRUN -> [WARN][31] ([i915#2658])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-kbl4/igt@gem_pread@exhaustion.html

  * igt@gem_pwrite@basic-exhaustion:
    - shard-snb:          NOTRUN -> [WARN][32] ([i915#2658]) +1 similar issue
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-snb7/igt@gem_pwrite@basic-exhaustion.html

  * igt@gem_userptr_blits@input-checking:
    - shard-apl:          NOTRUN -> [DMESG-WARN][33] ([i915#3002])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl8/igt@gem_userptr_blits@input-checking.html

  * igt@gem_userptr_blits@process-exit-mmap@wb:
    - shard-apl:          NOTRUN -> [SKIP][34] ([fdo#109271] / [i915#1699]) +3 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl6/igt@gem_userptr_blits@process-exit-mmap@wb.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-iclb:         NOTRUN -> [SKIP][35] ([fdo#112306]) +1 similar issue
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb7/igt@gen9_exec_parse@allowed-single.html

  * igt@gen9_exec_parse@batch-invalid-length:
    - shard-snb:          NOTRUN -> [SKIP][36] ([fdo#109271]) +446 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-snb2/igt@gen9_exec_parse@batch-invalid-length.html

  * igt@gen9_exec_parse@bb-secure:
    - shard-tglb:         NOTRUN -> [SKIP][37] ([fdo#112306]) +1 similar issue
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb3/igt@gen9_exec_parse@bb-secure.html

  * igt@i915_pm_dc@dc6-dpms:
    - shard-iclb:         [PASS][38] -> [FAIL][39] ([i915#454])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-iclb1/igt@i915_pm_dc@dc6-dpms.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb5/igt@i915_pm_dc@dc6-dpms.html

  * igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait:
    - shard-kbl:          [PASS][40] -> [TIMEOUT][41] ([i915#1288])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-kbl2/igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-kbl2/igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait.html

  * igt@i915_selftest@live@client:
    - shard-glk:          [PASS][42] -> [DMESG-FAIL][43] ([i915#3047])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-glk8/igt@i915_selftest@live@client.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-glk6/igt@i915_selftest@live@client.html

  * igt@kms_big_fb@linear-16bpp-rotate-270:
    - shard-tglb:         NOTRUN -> [SKIP][44] ([fdo#111614])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb3/igt@kms_big_fb@linear-16bpp-rotate-270.html
    - shard-iclb:         NOTRUN -> [SKIP][45] ([fdo#110725] / [fdo#111614])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb3/igt@kms_big_fb@linear-16bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-addfb-size-overflow:
    - shard-tglb:         NOTRUN -> [SKIP][46] ([fdo#111615]) +3 similar issues
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb8/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html

  * igt@kms_chamelium@hdmi-edid-change-during-suspend:
    - shard-apl:          NOTRUN -> [SKIP][47] ([fdo#109271] / [fdo#111827]) +30 similar issues
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl3/igt@kms_chamelium@hdmi-edid-change-during-suspend.html

  * igt@kms_chamelium@hdmi-hpd-enable-disable-mode:
    - shard-snb:          NOTRUN -> [SKIP][48] ([fdo#109271] / [fdo#111827]) +23 similar issues
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-snb7/igt@kms_chamelium@hdmi-hpd-enable-disable-mode.html

  * igt@kms_color@pipe-c-ctm-0-25:
    - shard-iclb:         NOTRUN -> [FAIL][49] ([i915#1149] / [i915#315])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb6/igt@kms_color@pipe-c-ctm-0-25.html
    - shard-tglb:         NOTRUN -> [FAIL][50] ([i915#1149] / [i915#315])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb8/igt@kms_color@pipe-c-ctm-0-25.html

  * igt@kms_color_chamelium@pipe-a-ctm-0-5:
    - shard-iclb:         NOTRUN -> [SKIP][51] ([fdo#109284] / [fdo#111827]) +4 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb6/igt@kms_color_chamelium@pipe-a-ctm-0-5.html
    - shard-glk:          NOTRUN -> [SKIP][52] ([fdo#109271] / [fdo#111827]) +4 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-glk1/igt@kms_color_chamelium@pipe-a-ctm-0-5.html

  * igt@kms_color_chamelium@pipe-a-degamma:
    - shard-kbl:          NOTRUN -> [SKIP][53] ([fdo#109271] / [fdo#111827]) +4 similar issues
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-kbl7/igt@kms_color_chamelium@pipe-a-degamma.html

  * igt@kms_color_chamelium@pipe-b-ctm-green-to-red:
    - shard-tglb:         NOTRUN -> [SKIP][54] ([fdo#109284] / [fdo#111827]) +5 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb3/igt@kms_color_chamelium@pipe-b-ctm-green-to-red.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-apl:          NOTRUN -> [TIMEOUT][55] ([i915#1319])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl2/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@uevent:
    - shard-kbl:          NOTRUN -> [FAIL][56] ([i915#2105])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-kbl2/igt@kms_content_protection@uevent.html
    - shard-tglb:         NOTRUN -> [SKIP][57] ([fdo#111828])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb8/igt@kms_content_protection@uevent.html
    - shard-apl:          NOTRUN -> [FAIL][58] ([i915#2105])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl3/igt@kms_content_protection@uevent.html
    - shard-iclb:         NOTRUN -> [SKIP][59] ([fdo#109300] / [fdo#111066])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb6/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@pipe-b-cursor-512x512-rapid-movement:
    - shard-iclb:         NOTRUN -> [SKIP][60] ([fdo#109278] / [fdo#109279]) +1 similar issue
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb3/igt@kms_cursor_crc@pipe-b-cursor-512x512-rapid-movement.html

  * {igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen} (NEW):
    - shard-iclb:         NOTRUN -> [SKIP][61] ([fdo#109278]) +46 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb2/igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen.html
    - shard-glk:          NOTRUN -> [SKIP][62] ([fdo#109271]) +87 similar issues
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-glk6/igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen.html

  * igt@kms_cursor_crc@pipe-d-cursor-512x512-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][63] ([fdo#109279]) +2 similar issues
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb1/igt@kms_cursor_crc@pipe-d-cursor-512x512-offscreen.html

  * igt@kms_cursor_crc@pipe-d-cursor-suspend:
    - shard-tglb:         [PASS][64] -> [INCOMPLETE][65] ([i915#1436] / [i915#1982])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-tglb2/igt@kms_cursor_crc@pipe-d-cursor-suspend.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb3/igt@kms_cursor_crc@pipe-d-cursor-suspend.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic:
    - shard-tglb:         [PASS][66] -> [FAIL][67] ([i915#2346])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-tglb1/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb5/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html

  * igt@kms_flip@2x-dpms-vs-vblank-race-interruptible:
    - shard-iclb:         NOTRUN -> [SKIP][68] ([fdo#109274]) +1 similar issue
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb4/igt@kms_flip@2x-dpms-vs-vblank-race-interruptible.html

  * igt@kms_flip@flip-vs-absolute-wf_vblank@a-edp1:
    - shard-tglb:         NOTRUN -> [FAIL][69] ([i915#2122])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb7/igt@kms_flip@flip-vs-absolute-wf_vblank@a-edp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile:
    - shard-apl:          NOTRUN -> [SKIP][70] ([fdo#109271] / [i915#2642]) +1 similar issue
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl7/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile:
    - shard-apl:          NOTRUN -> [FAIL][71] ([i915#2641])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-plflip-blt:
    - shard-tglb:         NOTRUN -> [SKIP][72] ([fdo#111825]) +18 similar issues
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb5/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-shrfb-fliptrack-mmap-gtt:
    - shard-iclb:         NOTRUN -> [SKIP][73] ([fdo#109280]) +16 similar issues
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb6/igt@kms_frontbuffer_tracking@fbcpsr-2p-shrfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-cpu:
    - shard-kbl:          NOTRUN -> [SKIP][74] ([fdo#109271]) +94 similar issues
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-kbl3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-cpu.html

  * igt@kms_pipe_b_c_ivb@enable-pipe-c-while-b-has-3-lanes:
    - shard-tglb:         NOTRUN -> [SKIP][75] ([fdo#109289])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb7/igt@kms_pipe_b_c_ivb@enable-pipe-c-while-b-has-3-lanes.html
    - shard-iclb:         NOTRUN -> [SKIP][76] ([fdo#109289])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb8/igt@kms_pipe_b_c_ivb@enable-pipe-c-while-b-has-3-lanes.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
    - shard-apl:          NOTRUN -> [SKIP][77] ([fdo#109271] / [i915#533]) +3 similar issues
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl1/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html
    - shard-glk:          NOTRUN -> [SKIP][78] ([fdo#109271] / [i915#533]) +1 similar issue
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-glk1/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-d:
    - shard-kbl:          NOTRUN -> [SKIP][79] ([fdo#109271] / [i915#533]) +1 similar issue
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-kbl2/igt@kms_pipe_crc_basic@hang-read-crc-pipe-d.html

  * igt@kms_plane_alpha_blend@pipe-a-alpha-basic:
    - shard-apl:          NOTRUN -> [FAIL][80] ([fdo#108145] / [i915#265]) +3 similar issues
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl2/igt@kms_plane_alpha_blend@pipe-a-alpha-basic.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-5:
    - shard-apl:          NOTRUN -> [SKIP][81] ([fdo#109271] / [i915#658]) +4 similar issues
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl3/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-5.html

  * igt@kms_psr2_sf@plane-move-sf-dmg-area-2:
    - shard-glk:          NOTRUN -> [SKIP][82] ([fdo#109271] / [i915#658])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-glk4/igt@kms_psr2_sf@plane-move-sf-dmg-area-2.html
    - shard-iclb:         NOTRUN -> [SKIP][83] ([i915#658])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb8/igt@kms_psr2_sf@plane-move-sf-dmg-area-2.html
    - shard-kbl:          NOTRUN -> [SKIP][84] ([fdo#109271] / [i915#658])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-kbl2/igt@kms_psr2_sf@plane-move-sf-dmg-area-2.html

  * igt@kms_psr@psr2_cursor_plane_onoff:
    - shard-iclb:         [PASS][85] -> [SKIP][86] ([fdo#109441])
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-iclb2/igt@kms_psr@psr2_cursor_plane_onoff.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb1/igt@kms_psr@psr2_cursor_plane_onoff.html

  * igt@kms_psr@psr2_sprite_plane_move:
    - shard-iclb:         NOTRUN -> [SKIP][87] ([fdo#109441]) +2 similar issues
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb6/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@kms_setmode@basic:
    - shard-snb:          NOTRUN -> [FAIL][88] ([i915#31])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-snb5/igt@kms_setmode@basic.html

  * igt@kms_vblank@pipe-c-ts-continuation-suspend:
    - shard-apl:          [PASS][89] -> [DMESG-WARN][90] ([i915#180])
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-apl3/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl2/igt@kms_vblank@pipe-c-ts-continuation-suspend.html

  * igt@kms_vblank@pipe-d-ts-continuation-idle:
    - shard-apl:          NOTRUN -> [SKIP][91] ([fdo#109271]) +297 similar issues
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl7/igt@kms_vblank@pipe-d-ts-continuation-idle.html

  * igt@kms_vrr@flipline:
    - shard-tglb:         NOTRUN -> [SKIP][92] ([fdo#109502])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb7/igt@kms_vrr@flipline.html
    - shard-iclb:         NOTRUN -> [SKIP][93] ([fdo#109502])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb8/igt@kms_vrr@flipline.html

  * igt@kms_writeback@writeback-check-output:
    - shard-apl:          NOTRUN -> [SKIP][94] ([fdo#109271] / [i915#2437]) +1 similar issue
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl7/igt@kms_writeback@writeback-check-output.html

  * igt@nouveau_crc@pipe-b-source-outp-inactive:
    - shard-iclb:         NOTRUN -> [SKIP][95] ([i915#2530])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb2/igt@nouveau_crc@pipe-b-source-outp-inactive.html
    - shard-tglb:         NOTRUN -> [SKIP][96] ([i915#2530])
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb5/igt@nouveau_crc@pipe-b-source-outp-inactive.html

  * igt@perf@invalid-oa-format-id:
    - shard-kbl:          [PASS][97] -> [SKIP][98] ([fdo#109271]) +1 similar issue
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-kbl2/igt@perf@invalid-oa-format-id.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-kbl2/igt@perf@invalid-oa-format-id.html

  * igt@perf@polling-parameterized:
    - shard-apl:          NOTRUN -> [FAIL][99] ([i915#1542])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl8/igt@perf@polling-parameterized.html

  * igt@perf@whitelisted-registers-userspace-config:
    - shard-glk:          [PASS][100] -> [SKIP][101] ([fdo#109271]) +1 similar issue
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-glk1/igt@perf@whitelisted-registers-userspace-config.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-glk5/igt@perf@whitelisted-registers-userspace-config.html
    - shard-apl:          [PASS][102] -> [SKIP][103] ([fdo#109271]) +1 similar issue
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-apl1/igt@perf@whitelisted-registers-userspace-config.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl3/igt@perf@whitelisted-registers-userspace-config.html

  * igt@prime_nv_api@i915_nv_reimport_twice_check_flink_name:
    - shard-tglb:         NOTRUN -> [SKIP][104] ([fdo#109291]) +2 similar issues
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb1/igt@prime_nv_api@i915_nv_reimport_twice_check_flink_name.html
    - shard-iclb:         NOTRUN -> [SKIP][105] ([fdo#109291])
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb8/igt@prime_nv_api@i915_nv_reimport_twice_check_flink_name.html

  
#### Possible fixes ####

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-kbl:          [FAIL][106] ([i915#2842]) -> [PASS][107] +1 similar issue
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-kbl2/igt@gem_exec_fair@basic-none-solo@rcs0.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-kbl1/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-tglb:         [FAIL][108] ([i915#2842]) -> [PASS][109]
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-tglb2/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-tglb5/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_schedule@u-fairslice@rcs0:
    - shard-apl:          [DMESG-WARN][110] ([i915#1610]) -> [PASS][111]
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-apl2/igt@gem_exec_schedule@u-fairslice@rcs0.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl3/igt@gem_exec_schedule@u-fairslice@rcs0.html

  * igt@gem_exec_whisper@basic-queues-priority:
    - shard-glk:          [DMESG-WARN][112] ([i915#118] / [i915#95]) -> [PASS][113]
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-glk2/igt@gem_exec_whisper@basic-queues-priority.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-glk3/igt@gem_exec_whisper@basic-queues-priority.html

  * igt@gem_mmap_gtt@cpuset-big-copy-odd:
    - shard-iclb:         [FAIL][114] ([i915#2428]) -> [PASS][115]
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-iclb8/igt@gem_mmap_gtt@cpuset-big-copy-odd.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-iclb8/igt@gem_mmap_gtt@cpuset-big-copy-odd.html

  * igt@i915_selftest@live@hangcheck:
    - shard-snb:          [INCOMPLETE][116] ([i915#2782]) -> [PASS][117]
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-snb6/igt@i915_selftest@live@hangcheck.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-snb6/igt@i915_selftest@live@hangcheck.html

  * igt@kms_atomic_transition@plane-all-transition-nonblocking-fencing@dp-1-pipe-b:
    - shard-kbl:          [FAIL][118] ([i915#3168]) -> [PASS][119]
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-kbl4/igt@kms_atomic_transition@plane-all-transition-nonblocking-fencing@dp-1-pipe-b.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-kbl7/igt@kms_atomic_transition@plane-all-transition-nonblocking-fencing@dp-1-pipe-b.html

  * igt@kms_flip@flip-vs-suspend-interruptible@c-dp1:
    - shard-apl:          [DMESG-WARN][120] ([i915#180]) -> [PASS][121] +3 similar issues
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-apl2/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shard-apl7/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt:
    - shard-glk:          [FAIL][122] ([i915#49]) -> [PASS][123]
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6038/shard-glk3/igt@km

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 34462 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [Nouveau] [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_cursor_crc: Probe kernel for cursor size support
  2021-03-18 22:21   ` [igt-dev] " Lyude
@ 2021-03-19  7:20     ` Martin Peres
  -1 siblings, 0 replies; 30+ messages in thread
From: Martin Peres @ 2021-03-19  7:20 UTC (permalink / raw)
  To: Lyude, igt-dev, nouveau; +Cc: Ben Skeggs

On 19/03/2021 00:21, Lyude wrote:
> From: Lyude Paul <lyude@redhat.com>
> 
> Currently we just assume that every cursor size up to data->cursor_max_w/h will
> be supported by the driver, and check for support of nonsquare cursors by
> checking if we're running on u815 and if so, which variant of intel hardware
> we're running on. This isn't really ideal as we're about to enable 32x32 cursor
> size tests for nouveau, and Intel hardware doesn't support cursor sizes that
> small.
> 
> So, fix this by removing has_nonsquare_cursors() and replacing it with a more
> generic require_cursor_size() function which checks whether or not the driver
> we're using supports a given cursor size by attempting a test-only atomic
> commit.

Looks clean to me, and results in no new failures in Intel's results 
(https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shards-all.html?testfilter=kms_cursor_crc), 
and no changes in the results for any other test.

Not sure I can comment on the implementation details of 
require_cursor_size(), but everything else, and the series is:

Reviewed-by: Martin Peres <martin.peres@mupuf.org>

> 
> Signed-off-by: Lyude Paul <lyude@redhat.com>
> Cc: Martin Peres <martin.peres@free.fr>
> Cc: Ben Skeggs <bskeggs@redhat.com>
> Cc: Jeremy Cline <jcline@redhat.com>
> ---
>   tests/kms_cursor_crc.c | 131 ++++++++++++++++++++++++-----------------
>   1 file changed, 76 insertions(+), 55 deletions(-)
> 
> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> index 3541ea06..b9c05472 100644
> --- a/tests/kms_cursor_crc.c
> +++ b/tests/kms_cursor_crc.c
> @@ -523,26 +523,43 @@ static void create_cursor_fb(data_t *data, int cur_w, int cur_h)
>   	igt_put_cairo_ctx(cr);
>   }
>   
> -static bool has_nonsquare_cursors(data_t *data)
> +static void require_cursor_size(data_t *data, int w, int h)
>   {
> -	uint32_t devid;
> +	igt_fb_t primary_fb;
> +	drmModeModeInfo *mode;
> +	igt_display_t *display = &data->display;
> +	igt_output_t *output = data->output;
> +	igt_plane_t *primary, *cursor;
> +	int ret;
>   
> -	if (!is_i915_device(data->drm_fd))
> -		return false;
> +	igt_output_set_pipe(output, data->pipe);
>   
> -	devid = intel_get_drm_devid(data->drm_fd);
> +	mode = igt_output_get_mode(output);
> +	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> +	cursor = igt_output_get_plane_type(output, DRM_PLANE_TYPE_CURSOR);
>   
> -	/*
> -	 * Test non-square cursors a bit on the platforms
> -	 * that support such things.
> -	 */
> -	if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
> -		return true;
> +	/* Create temporary primary fb for testing */
> +	igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, DRM_FORMAT_XRGB8888,
> +				 LOCAL_DRM_FORMAT_MOD_NONE, &primary_fb));
>   
> -	if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
> -		return false;
> +	igt_plane_set_fb(primary, &primary_fb);
> +	igt_plane_set_fb(cursor, &data->fb);
> +	igt_plane_set_size(cursor, w, h);
> +	igt_fb_set_size(&data->fb, cursor, w, h);
> +
> +	/* Test if the kernel supports the given cursor size or not */
> +	ret = igt_display_try_commit_atomic(display,
> +					    DRM_MODE_ATOMIC_TEST_ONLY |
> +					    DRM_MODE_ATOMIC_ALLOW_MODESET,
> +					    NULL);
> +
> +	igt_plane_set_fb(primary, NULL);
> +	igt_plane_set_fb(cursor, NULL);
> +
> +	igt_remove_fb(data->drm_fd, &primary_fb);
> +	igt_output_set_pipe(output, PIPE_NONE);
>   
> -	return intel_gen(devid) >= 7;
> +	igt_skip_on_f(ret, "Cursor size %dx%d not supported by driver\n", w, h);
>   }
>   
>   static void test_cursor_size(data_t *data)
> @@ -697,27 +714,33 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
>   			create_cursor_fb(data, w, h);
>   		}
>   
> -		/* Using created cursor FBs to test cursor support */
> -		igt_describe("Check if a given-size cursor is well-positioned inside the screen.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_onscreen, w, h);
> -
> -		igt_describe("Check if a given-size cursor is well-positioned outside the screen.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_offscreen, w, h);
> -
> -		igt_describe("Check the smooth and pixel-by-pixel given-size cursor movements on"
> -		             "horizontal, vertical and diagonal.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_sliding, w, h);
> -
> -		igt_describe("Check random placement of a cursor with given size.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_random, w, h);
> -
> -		igt_describe("Check the rapid update of given-size cursor movements.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h) {
> -			run_test(data, test_rapid_movement, w, h);
> +		igt_subtest_group {
> +			igt_fixture
> +				require_cursor_size(data, w, h);
> +
> +			/* Using created cursor FBs to test cursor support */
> +			igt_describe("Check if a given-size cursor is well-positioned inside the "
> +				     "screen.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_onscreen, w, h);
> +
> +			igt_describe("Check if a given-size cursor is well-positioned outside the "
> +				     "screen.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_offscreen, w, h);
> +
> +			igt_describe("Check the smooth and pixel-by-pixel given-size cursor "
> +				     "movements on horizontal, vertical and diagonal.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_sliding, w, h);
> +
> +			igt_describe("Check random placement of a cursor with given size.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_random, w, h);
> +
> +			igt_describe("Check the rapid update of given-size cursor movements.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_rapid_movement, w, h);
>   		}
>   
>   		igt_fixture
> @@ -730,27 +753,25 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
>   		 */
>   		h /= 3;
>   
> -		igt_fixture {
> -			if (has_nonsquare_cursors(data))
> -				create_cursor_fb(data, w, h);
> -		}
> +		igt_fixture
> +			create_cursor_fb(data, w, h);
>   
> -		/* Using created cursor FBs to test cursor support */
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_onscreen, w, h);
> -		}
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_offscreen, w, h);
> -		}
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_sliding, w, h);
> -		}
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_random, w, h);
> +		igt_subtest_group {
> +			igt_fixture
> +				require_cursor_size(data, w, h);
> +
> +			/* Using created cursor FBs to test cursor support */
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_onscreen, w, h);
> +
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_offscreen, w, h);
> +
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_sliding, w, h);
> +
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_random, w, h);
>   		}
>   
>   		igt_fixture
> 
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

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

* Re: [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_cursor_crc: Probe kernel for cursor size support
@ 2021-03-19  7:20     ` Martin Peres
  0 siblings, 0 replies; 30+ messages in thread
From: Martin Peres @ 2021-03-19  7:20 UTC (permalink / raw)
  To: Lyude, igt-dev, nouveau; +Cc: Martin Peres, Ben Skeggs

On 19/03/2021 00:21, Lyude wrote:
> From: Lyude Paul <lyude@redhat.com>
> 
> Currently we just assume that every cursor size up to data->cursor_max_w/h will
> be supported by the driver, and check for support of nonsquare cursors by
> checking if we're running on u815 and if so, which variant of intel hardware
> we're running on. This isn't really ideal as we're about to enable 32x32 cursor
> size tests for nouveau, and Intel hardware doesn't support cursor sizes that
> small.
> 
> So, fix this by removing has_nonsquare_cursors() and replacing it with a more
> generic require_cursor_size() function which checks whether or not the driver
> we're using supports a given cursor size by attempting a test-only atomic
> commit.

Looks clean to me, and results in no new failures in Intel's results 
(https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5625/shards-all.html?testfilter=kms_cursor_crc), 
and no changes in the results for any other test.

Not sure I can comment on the implementation details of 
require_cursor_size(), but everything else, and the series is:

Reviewed-by: Martin Peres <martin.peres@mupuf.org>

> 
> Signed-off-by: Lyude Paul <lyude@redhat.com>
> Cc: Martin Peres <martin.peres@free.fr>
> Cc: Ben Skeggs <bskeggs@redhat.com>
> Cc: Jeremy Cline <jcline@redhat.com>
> ---
>   tests/kms_cursor_crc.c | 131 ++++++++++++++++++++++++-----------------
>   1 file changed, 76 insertions(+), 55 deletions(-)
> 
> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> index 3541ea06..b9c05472 100644
> --- a/tests/kms_cursor_crc.c
> +++ b/tests/kms_cursor_crc.c
> @@ -523,26 +523,43 @@ static void create_cursor_fb(data_t *data, int cur_w, int cur_h)
>   	igt_put_cairo_ctx(cr);
>   }
>   
> -static bool has_nonsquare_cursors(data_t *data)
> +static void require_cursor_size(data_t *data, int w, int h)
>   {
> -	uint32_t devid;
> +	igt_fb_t primary_fb;
> +	drmModeModeInfo *mode;
> +	igt_display_t *display = &data->display;
> +	igt_output_t *output = data->output;
> +	igt_plane_t *primary, *cursor;
> +	int ret;
>   
> -	if (!is_i915_device(data->drm_fd))
> -		return false;
> +	igt_output_set_pipe(output, data->pipe);
>   
> -	devid = intel_get_drm_devid(data->drm_fd);
> +	mode = igt_output_get_mode(output);
> +	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> +	cursor = igt_output_get_plane_type(output, DRM_PLANE_TYPE_CURSOR);
>   
> -	/*
> -	 * Test non-square cursors a bit on the platforms
> -	 * that support such things.
> -	 */
> -	if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
> -		return true;
> +	/* Create temporary primary fb for testing */
> +	igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, DRM_FORMAT_XRGB8888,
> +				 LOCAL_DRM_FORMAT_MOD_NONE, &primary_fb));
>   
> -	if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
> -		return false;
> +	igt_plane_set_fb(primary, &primary_fb);
> +	igt_plane_set_fb(cursor, &data->fb);
> +	igt_plane_set_size(cursor, w, h);
> +	igt_fb_set_size(&data->fb, cursor, w, h);
> +
> +	/* Test if the kernel supports the given cursor size or not */
> +	ret = igt_display_try_commit_atomic(display,
> +					    DRM_MODE_ATOMIC_TEST_ONLY |
> +					    DRM_MODE_ATOMIC_ALLOW_MODESET,
> +					    NULL);
> +
> +	igt_plane_set_fb(primary, NULL);
> +	igt_plane_set_fb(cursor, NULL);
> +
> +	igt_remove_fb(data->drm_fd, &primary_fb);
> +	igt_output_set_pipe(output, PIPE_NONE);
>   
> -	return intel_gen(devid) >= 7;
> +	igt_skip_on_f(ret, "Cursor size %dx%d not supported by driver\n", w, h);
>   }
>   
>   static void test_cursor_size(data_t *data)
> @@ -697,27 +714,33 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
>   			create_cursor_fb(data, w, h);
>   		}
>   
> -		/* Using created cursor FBs to test cursor support */
> -		igt_describe("Check if a given-size cursor is well-positioned inside the screen.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_onscreen, w, h);
> -
> -		igt_describe("Check if a given-size cursor is well-positioned outside the screen.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_offscreen, w, h);
> -
> -		igt_describe("Check the smooth and pixel-by-pixel given-size cursor movements on"
> -		             "horizontal, vertical and diagonal.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_sliding, w, h);
> -
> -		igt_describe("Check random placement of a cursor with given size.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_random, w, h);
> -
> -		igt_describe("Check the rapid update of given-size cursor movements.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h) {
> -			run_test(data, test_rapid_movement, w, h);
> +		igt_subtest_group {
> +			igt_fixture
> +				require_cursor_size(data, w, h);
> +
> +			/* Using created cursor FBs to test cursor support */
> +			igt_describe("Check if a given-size cursor is well-positioned inside the "
> +				     "screen.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_onscreen, w, h);
> +
> +			igt_describe("Check if a given-size cursor is well-positioned outside the "
> +				     "screen.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_offscreen, w, h);
> +
> +			igt_describe("Check the smooth and pixel-by-pixel given-size cursor "
> +				     "movements on horizontal, vertical and diagonal.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_sliding, w, h);
> +
> +			igt_describe("Check random placement of a cursor with given size.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_random, w, h);
> +
> +			igt_describe("Check the rapid update of given-size cursor movements.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_rapid_movement, w, h);
>   		}
>   
>   		igt_fixture
> @@ -730,27 +753,25 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
>   		 */
>   		h /= 3;
>   
> -		igt_fixture {
> -			if (has_nonsquare_cursors(data))
> -				create_cursor_fb(data, w, h);
> -		}
> +		igt_fixture
> +			create_cursor_fb(data, w, h);
>   
> -		/* Using created cursor FBs to test cursor support */
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_onscreen, w, h);
> -		}
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_offscreen, w, h);
> -		}
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_sliding, w, h);
> -		}
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_random, w, h);
> +		igt_subtest_group {
> +			igt_fixture
> +				require_cursor_size(data, w, h);
> +
> +			/* Using created cursor FBs to test cursor support */
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_onscreen, w, h);
> +
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_offscreen, w, h);
> +
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_sliding, w, h);
> +
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_random, w, h);
>   		}
>   
>   		igt_fixture
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [Nouveau] [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_cursor_crc: Probe kernel for cursor size support
  2021-03-18 22:21   ` [igt-dev] " Lyude
@ 2021-03-19 15:01     ` Ville Syrjälä
  -1 siblings, 0 replies; 30+ messages in thread
From: Ville Syrjälä @ 2021-03-19 15:01 UTC (permalink / raw)
  To: Lyude; +Cc: igt-dev, nouveau, Ben Skeggs

On Thu, Mar 18, 2021 at 06:21:23PM -0400, Lyude wrote:
> From: Lyude Paul <lyude@redhat.com>
> 
> Currently we just assume that every cursor size up to data->cursor_max_w/h will
> be supported by the driver, and check for support of nonsquare cursors by
> checking if we're running on u815 and if so, which variant of intel hardware
> we're running on. This isn't really ideal as we're about to enable 32x32 cursor
> size tests for nouveau, and Intel hardware doesn't support cursor sizes that
> small.
> 
> So, fix this by removing has_nonsquare_cursors() and replacing it with a more
> generic require_cursor_size() function which checks whether or not the driver
> we're using supports a given cursor size by attempting a test-only atomic
> commit.
> 
> Signed-off-by: Lyude Paul <lyude@redhat.com>
> Cc: Martin Peres <martin.peres@free.fr>
> Cc: Ben Skeggs <bskeggs@redhat.com>
> Cc: Jeremy Cline <jcline@redhat.com>
> ---
>  tests/kms_cursor_crc.c | 131 ++++++++++++++++++++++++-----------------
>  1 file changed, 76 insertions(+), 55 deletions(-)
> 
> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> index 3541ea06..b9c05472 100644
> --- a/tests/kms_cursor_crc.c
> +++ b/tests/kms_cursor_crc.c
> @@ -523,26 +523,43 @@ static void create_cursor_fb(data_t *data, int cur_w, int cur_h)
>  	igt_put_cairo_ctx(cr);
>  }
>  
> -static bool has_nonsquare_cursors(data_t *data)
> +static void require_cursor_size(data_t *data, int w, int h)
>  {
> -	uint32_t devid;
> +	igt_fb_t primary_fb;
> +	drmModeModeInfo *mode;
> +	igt_display_t *display = &data->display;
> +	igt_output_t *output = data->output;
> +	igt_plane_t *primary, *cursor;
> +	int ret;
>  
> -	if (!is_i915_device(data->drm_fd))
> -		return false;
> +	igt_output_set_pipe(output, data->pipe);
>  
> -	devid = intel_get_drm_devid(data->drm_fd);
> +	mode = igt_output_get_mode(output);
> +	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> +	cursor = igt_output_get_plane_type(output, DRM_PLANE_TYPE_CURSOR);
>  
> -	/*
> -	 * Test non-square cursors a bit on the platforms
> -	 * that support such things.
> -	 */
> -	if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
> -		return true;
> +	/* Create temporary primary fb for testing */
> +	igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, DRM_FORMAT_XRGB8888,
> +				 LOCAL_DRM_FORMAT_MOD_NONE, &primary_fb));
>  
> -	if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
> -		return false;
> +	igt_plane_set_fb(primary, &primary_fb);
> +	igt_plane_set_fb(cursor, &data->fb);
> +	igt_plane_set_size(cursor, w, h);
> +	igt_fb_set_size(&data->fb, cursor, w, h);
> +
> +	/* Test if the kernel supports the given cursor size or not */
> +	ret = igt_display_try_commit_atomic(display,
> +					    DRM_MODE_ATOMIC_TEST_ONLY |
> +					    DRM_MODE_ATOMIC_ALLOW_MODESET,
> +					    NULL);

Would be better to not depend on atomic. We have platforms
that don't expose it yet.

> +
> +	igt_plane_set_fb(primary, NULL);
> +	igt_plane_set_fb(cursor, NULL);
> +
> +	igt_remove_fb(data->drm_fd, &primary_fb);
> +	igt_output_set_pipe(output, PIPE_NONE);
>  
> -	return intel_gen(devid) >= 7;
> +	igt_skip_on_f(ret, "Cursor size %dx%d not supported by driver\n", w, h);
>  }
>  
>  static void test_cursor_size(data_t *data)
> @@ -697,27 +714,33 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
>  			create_cursor_fb(data, w, h);
>  		}
>  
> -		/* Using created cursor FBs to test cursor support */
> -		igt_describe("Check if a given-size cursor is well-positioned inside the screen.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_onscreen, w, h);
> -
> -		igt_describe("Check if a given-size cursor is well-positioned outside the screen.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_offscreen, w, h);
> -
> -		igt_describe("Check the smooth and pixel-by-pixel given-size cursor movements on"
> -		             "horizontal, vertical and diagonal.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_sliding, w, h);
> -
> -		igt_describe("Check random placement of a cursor with given size.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_random, w, h);
> -
> -		igt_describe("Check the rapid update of given-size cursor movements.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h) {
> -			run_test(data, test_rapid_movement, w, h);
> +		igt_subtest_group {
> +			igt_fixture
> +				require_cursor_size(data, w, h);
> +
> +			/* Using created cursor FBs to test cursor support */
> +			igt_describe("Check if a given-size cursor is well-positioned inside the "
> +				     "screen.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_onscreen, w, h);
> +
> +			igt_describe("Check if a given-size cursor is well-positioned outside the "
> +				     "screen.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_offscreen, w, h);
> +
> +			igt_describe("Check the smooth and pixel-by-pixel given-size cursor "
> +				     "movements on horizontal, vertical and diagonal.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_sliding, w, h);
> +
> +			igt_describe("Check random placement of a cursor with given size.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_random, w, h);
> +
> +			igt_describe("Check the rapid update of given-size cursor movements.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_rapid_movement, w, h);
>  		}
>  
>  		igt_fixture
> @@ -730,27 +753,25 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
>  		 */
>  		h /= 3;
>  
> -		igt_fixture {
> -			if (has_nonsquare_cursors(data))
> -				create_cursor_fb(data, w, h);
> -		}
> +		igt_fixture
> +			create_cursor_fb(data, w, h);
>  
> -		/* Using created cursor FBs to test cursor support */
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_onscreen, w, h);
> -		}
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_offscreen, w, h);
> -		}
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_sliding, w, h);
> -		}
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_random, w, h);
> +		igt_subtest_group {
> +			igt_fixture
> +				require_cursor_size(data, w, h);
> +
> +			/* Using created cursor FBs to test cursor support */
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_onscreen, w, h);
> +
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_offscreen, w, h);
> +
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_sliding, w, h);
> +
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_random, w, h);
>  		}
>  
>  		igt_fixture
> -- 
> 2.29.2
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Ville Syrjälä
Intel
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

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

* Re: [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_cursor_crc: Probe kernel for cursor size support
@ 2021-03-19 15:01     ` Ville Syrjälä
  0 siblings, 0 replies; 30+ messages in thread
From: Ville Syrjälä @ 2021-03-19 15:01 UTC (permalink / raw)
  To: Lyude; +Cc: igt-dev, nouveau, Martin Peres, Ben Skeggs

On Thu, Mar 18, 2021 at 06:21:23PM -0400, Lyude wrote:
> From: Lyude Paul <lyude@redhat.com>
> 
> Currently we just assume that every cursor size up to data->cursor_max_w/h will
> be supported by the driver, and check for support of nonsquare cursors by
> checking if we're running on u815 and if so, which variant of intel hardware
> we're running on. This isn't really ideal as we're about to enable 32x32 cursor
> size tests for nouveau, and Intel hardware doesn't support cursor sizes that
> small.
> 
> So, fix this by removing has_nonsquare_cursors() and replacing it with a more
> generic require_cursor_size() function which checks whether or not the driver
> we're using supports a given cursor size by attempting a test-only atomic
> commit.
> 
> Signed-off-by: Lyude Paul <lyude@redhat.com>
> Cc: Martin Peres <martin.peres@free.fr>
> Cc: Ben Skeggs <bskeggs@redhat.com>
> Cc: Jeremy Cline <jcline@redhat.com>
> ---
>  tests/kms_cursor_crc.c | 131 ++++++++++++++++++++++++-----------------
>  1 file changed, 76 insertions(+), 55 deletions(-)
> 
> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> index 3541ea06..b9c05472 100644
> --- a/tests/kms_cursor_crc.c
> +++ b/tests/kms_cursor_crc.c
> @@ -523,26 +523,43 @@ static void create_cursor_fb(data_t *data, int cur_w, int cur_h)
>  	igt_put_cairo_ctx(cr);
>  }
>  
> -static bool has_nonsquare_cursors(data_t *data)
> +static void require_cursor_size(data_t *data, int w, int h)
>  {
> -	uint32_t devid;
> +	igt_fb_t primary_fb;
> +	drmModeModeInfo *mode;
> +	igt_display_t *display = &data->display;
> +	igt_output_t *output = data->output;
> +	igt_plane_t *primary, *cursor;
> +	int ret;
>  
> -	if (!is_i915_device(data->drm_fd))
> -		return false;
> +	igt_output_set_pipe(output, data->pipe);
>  
> -	devid = intel_get_drm_devid(data->drm_fd);
> +	mode = igt_output_get_mode(output);
> +	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> +	cursor = igt_output_get_plane_type(output, DRM_PLANE_TYPE_CURSOR);
>  
> -	/*
> -	 * Test non-square cursors a bit on the platforms
> -	 * that support such things.
> -	 */
> -	if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
> -		return true;
> +	/* Create temporary primary fb for testing */
> +	igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, DRM_FORMAT_XRGB8888,
> +				 LOCAL_DRM_FORMAT_MOD_NONE, &primary_fb));
>  
> -	if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
> -		return false;
> +	igt_plane_set_fb(primary, &primary_fb);
> +	igt_plane_set_fb(cursor, &data->fb);
> +	igt_plane_set_size(cursor, w, h);
> +	igt_fb_set_size(&data->fb, cursor, w, h);
> +
> +	/* Test if the kernel supports the given cursor size or not */
> +	ret = igt_display_try_commit_atomic(display,
> +					    DRM_MODE_ATOMIC_TEST_ONLY |
> +					    DRM_MODE_ATOMIC_ALLOW_MODESET,
> +					    NULL);

Would be better to not depend on atomic. We have platforms
that don't expose it yet.

> +
> +	igt_plane_set_fb(primary, NULL);
> +	igt_plane_set_fb(cursor, NULL);
> +
> +	igt_remove_fb(data->drm_fd, &primary_fb);
> +	igt_output_set_pipe(output, PIPE_NONE);
>  
> -	return intel_gen(devid) >= 7;
> +	igt_skip_on_f(ret, "Cursor size %dx%d not supported by driver\n", w, h);
>  }
>  
>  static void test_cursor_size(data_t *data)
> @@ -697,27 +714,33 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
>  			create_cursor_fb(data, w, h);
>  		}
>  
> -		/* Using created cursor FBs to test cursor support */
> -		igt_describe("Check if a given-size cursor is well-positioned inside the screen.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_onscreen, w, h);
> -
> -		igt_describe("Check if a given-size cursor is well-positioned outside the screen.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_offscreen, w, h);
> -
> -		igt_describe("Check the smooth and pixel-by-pixel given-size cursor movements on"
> -		             "horizontal, vertical and diagonal.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_sliding, w, h);
> -
> -		igt_describe("Check random placement of a cursor with given size.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_random, w, h);
> -
> -		igt_describe("Check the rapid update of given-size cursor movements.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h) {
> -			run_test(data, test_rapid_movement, w, h);
> +		igt_subtest_group {
> +			igt_fixture
> +				require_cursor_size(data, w, h);
> +
> +			/* Using created cursor FBs to test cursor support */
> +			igt_describe("Check if a given-size cursor is well-positioned inside the "
> +				     "screen.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_onscreen, w, h);
> +
> +			igt_describe("Check if a given-size cursor is well-positioned outside the "
> +				     "screen.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_offscreen, w, h);
> +
> +			igt_describe("Check the smooth and pixel-by-pixel given-size cursor "
> +				     "movements on horizontal, vertical and diagonal.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_sliding, w, h);
> +
> +			igt_describe("Check random placement of a cursor with given size.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_random, w, h);
> +
> +			igt_describe("Check the rapid update of given-size cursor movements.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_rapid_movement, w, h);
>  		}
>  
>  		igt_fixture
> @@ -730,27 +753,25 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
>  		 */
>  		h /= 3;
>  
> -		igt_fixture {
> -			if (has_nonsquare_cursors(data))
> -				create_cursor_fb(data, w, h);
> -		}
> +		igt_fixture
> +			create_cursor_fb(data, w, h);
>  
> -		/* Using created cursor FBs to test cursor support */
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_onscreen, w, h);
> -		}
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_offscreen, w, h);
> -		}
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_sliding, w, h);
> -		}
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_random, w, h);
> +		igt_subtest_group {
> +			igt_fixture
> +				require_cursor_size(data, w, h);
> +
> +			/* Using created cursor FBs to test cursor support */
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_onscreen, w, h);
> +
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_offscreen, w, h);
> +
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_sliding, w, h);
> +
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_random, w, h);
>  		}
>  
>  		igt_fixture
> -- 
> 2.29.2
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Ville Syrjälä
Intel
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [Nouveau] [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_cursor_crc: Probe kernel for cursor size support
  2021-03-19 15:01     ` Ville Syrjälä
@ 2021-03-19 17:40       ` Lyude Paul
  -1 siblings, 0 replies; 30+ messages in thread
From: Lyude Paul @ 2021-03-19 17:40 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: igt-dev, nouveau, Ben Skeggs

On Fri, 2021-03-19 at 17:01 +0200, Ville Syrjälä wrote:
> On Thu, Mar 18, 2021 at 06:21:23PM -0400, Lyude wrote:
> > From: Lyude Paul <lyude@redhat.com>
> > 
> > Currently we just assume that every cursor size up to data->cursor_max_w/h
> > will
> > be supported by the driver, and check for support of nonsquare cursors by
> > checking if we're running on u815 and if so, which variant of intel hardware
> > we're running on. This isn't really ideal as we're about to enable 32x32
> > cursor
> > size tests for nouveau, and Intel hardware doesn't support cursor sizes that
> > small.
> > 
> > So, fix this by removing has_nonsquare_cursors() and replacing it with a
> > more
> > generic require_cursor_size() function which checks whether or not the
> > driver
> > we're using supports a given cursor size by attempting a test-only atomic
> > commit.
> > 
> > Signed-off-by: Lyude Paul <lyude@redhat.com>
> > Cc: Martin Peres <martin.peres@free.fr>
> > Cc: Ben Skeggs <bskeggs@redhat.com>
> > Cc: Jeremy Cline <jcline@redhat.com>
> > ---
> >  tests/kms_cursor_crc.c | 131 ++++++++++++++++++++++++-----------------
> >  1 file changed, 76 insertions(+), 55 deletions(-)
> > 
> > diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> > index 3541ea06..b9c05472 100644
> > --- a/tests/kms_cursor_crc.c
> > +++ b/tests/kms_cursor_crc.c
> > @@ -523,26 +523,43 @@ static void create_cursor_fb(data_t *data, int cur_w,
> > int cur_h)
> >         igt_put_cairo_ctx(cr);
> >  }
> >  
> > -static bool has_nonsquare_cursors(data_t *data)
> > +static void require_cursor_size(data_t *data, int w, int h)
> >  {
> > -       uint32_t devid;
> > +       igt_fb_t primary_fb;
> > +       drmModeModeInfo *mode;
> > +       igt_display_t *display = &data->display;
> > +       igt_output_t *output = data->output;
> > +       igt_plane_t *primary, *cursor;
> > +       int ret;
> >  
> > -       if (!is_i915_device(data->drm_fd))
> > -               return false;
> > +       igt_output_set_pipe(output, data->pipe);
> >  
> > -       devid = intel_get_drm_devid(data->drm_fd);
> > +       mode = igt_output_get_mode(output);
> > +       primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> > +       cursor = igt_output_get_plane_type(output, DRM_PLANE_TYPE_CURSOR);
> >  
> > -       /*
> > -        * Test non-square cursors a bit on the platforms
> > -        * that support such things.
> > -        */
> > -       if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
> > -               return true;
> > +       /* Create temporary primary fb for testing */
> > +       igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode-
> > >vdisplay, DRM_FORMAT_XRGB8888,
> > +                                LOCAL_DRM_FORMAT_MOD_NONE, &primary_fb));
> >  
> > -       if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
> > -               return false;
> > +       igt_plane_set_fb(primary, &primary_fb);
> > +       igt_plane_set_fb(cursor, &data->fb);
> > +       igt_plane_set_size(cursor, w, h);
> > +       igt_fb_set_size(&data->fb, cursor, w, h);
> > +
> > +       /* Test if the kernel supports the given cursor size or not */
> > +       ret = igt_display_try_commit_atomic(display,
> > +                                           DRM_MODE_ATOMIC_TEST_ONLY |
> > +                                           DRM_MODE_ATOMIC_ALLOW_MODESET,
> > +                                           NULL);
> 
> Would be better to not depend on atomic. We have platforms
> that don't expose it yet.

Do you have any other ideas how we could probe for this then? it seems like the
only alternative would be to add intel-specific checks to fix that, or add some
ioctl for querying the minimum cursor size (which sounds preferable imo). would
the latter work for you, or do you have another idea?
> 
> > +
> > +       igt_plane_set_fb(primary, NULL);
> > +       igt_plane_set_fb(cursor, NULL);
> > +
> > +       igt_remove_fb(data->drm_fd, &primary_fb);
> > +       igt_output_set_pipe(output, PIPE_NONE);
> >  
> > -       return intel_gen(devid) >= 7;
> > +       igt_skip_on_f(ret, "Cursor size %dx%d not supported by driver\n", w,
> > h);
> >  }
> >  
> >  static void test_cursor_size(data_t *data)
> > @@ -697,27 +714,33 @@ static void run_tests_on_pipe(data_t *data, enum pipe
> > pipe)
> >                         create_cursor_fb(data, w, h);
> >                 }
> >  
> > -               /* Using created cursor FBs to test cursor support */
> > -               igt_describe("Check if a given-size cursor is well-
> > positioned inside the screen.");
> > -               igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > kmstest_pipe_name(pipe), w, h)
> > -                       run_test(data, test_crc_onscreen, w, h);
> > -
> > -               igt_describe("Check if a given-size cursor is well-
> > positioned outside the screen.");
> > -               igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > kmstest_pipe_name(pipe), w, h)
> > -                       run_test(data, test_crc_offscreen, w, h);
> > -
> > -               igt_describe("Check the smooth and pixel-by-pixel given-size
> > cursor movements on"
> > -                            "horizontal, vertical and diagonal.");
> > -               igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > kmstest_pipe_name(pipe), w, h)
> > -                       run_test(data, test_crc_sliding, w, h);
> > -
> > -               igt_describe("Check random placement of a cursor with given
> > size.");
> > -               igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > kmstest_pipe_name(pipe), w, h)
> > -                       run_test(data, test_crc_random, w, h);
> > -
> > -               igt_describe("Check the rapid update of given-size cursor
> > movements.");
> > -               igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement",
> > kmstest_pipe_name(pipe), w, h) {
> > -                       run_test(data, test_rapid_movement, w, h);
> > +               igt_subtest_group {
> > +                       igt_fixture
> > +                               require_cursor_size(data, w, h);
> > +
> > +                       /* Using created cursor FBs to test cursor support
> > */
> > +                       igt_describe("Check if a given-size cursor is well-
> > positioned inside the "
> > +                                    "screen.");
> > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > kmstest_pipe_name(pipe), w, h)
> > +                               run_test(data, test_crc_onscreen, w, h);
> > +
> > +                       igt_describe("Check if a given-size cursor is well-
> > positioned outside the "
> > +                                    "screen.");
> > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > kmstest_pipe_name(pipe), w, h)
> > +                               run_test(data, test_crc_offscreen, w, h);
> > +
> > +                       igt_describe("Check the smooth and pixel-by-pixel
> > given-size cursor "
> > +                                    "movements on horizontal, vertical and
> > diagonal.");
> > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > kmstest_pipe_name(pipe), w, h)
> > +                               run_test(data, test_crc_sliding, w, h);
> > +
> > +                       igt_describe("Check random placement of a cursor
> > with given size.");
> > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > kmstest_pipe_name(pipe), w, h)
> > +                               run_test(data, test_crc_random, w, h);
> > +
> > +                       igt_describe("Check the rapid update of given-size
> > cursor movements.");
> > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement",
> > kmstest_pipe_name(pipe), w, h)
> > +                               run_test(data, test_rapid_movement, w, h);
> >                 }
> >  
> >                 igt_fixture
> > @@ -730,27 +753,25 @@ static void run_tests_on_pipe(data_t *data, enum pipe
> > pipe)
> >                  */
> >                 h /= 3;
> >  
> > -               igt_fixture {
> > -                       if (has_nonsquare_cursors(data))
> > -                               create_cursor_fb(data, w, h);
> > -               }
> > +               igt_fixture
> > +                       create_cursor_fb(data, w, h);
> >  
> > -               /* Using created cursor FBs to test cursor support */
> > -               igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > kmstest_pipe_name(pipe), w, h) {
> > -                       igt_require(has_nonsquare_cursors(data));
> > -                       run_test(data, test_crc_onscreen, w, h);
> > -               }
> > -               igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > kmstest_pipe_name(pipe), w, h) {
> > -                       igt_require(has_nonsquare_cursors(data));
> > -                       run_test(data, test_crc_offscreen, w, h);
> > -               }
> > -               igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > kmstest_pipe_name(pipe), w, h) {
> > -                       igt_require(has_nonsquare_cursors(data));
> > -                       run_test(data, test_crc_sliding, w, h);
> > -               }
> > -               igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > kmstest_pipe_name(pipe), w, h) {
> > -                       igt_require(has_nonsquare_cursors(data));
> > -                       run_test(data, test_crc_random, w, h);
> > +               igt_subtest_group {
> > +                       igt_fixture
> > +                               require_cursor_size(data, w, h);
> > +
> > +                       /* Using created cursor FBs to test cursor support
> > */
> > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > kmstest_pipe_name(pipe), w, h)
> > +                               run_test(data, test_crc_onscreen, w, h);
> > +
> > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > kmstest_pipe_name(pipe), w, h)
> > +                               run_test(data, test_crc_offscreen, w, h);
> > +
> > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > kmstest_pipe_name(pipe), w, h)
> > +                               run_test(data, test_crc_sliding, w, h);
> > +
> > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > kmstest_pipe_name(pipe), w, h)
> > +                               run_test(data, test_crc_random, w, h);
> >                 }
> >  
> >                 igt_fixture
> > -- 
> > 2.29.2
> > 
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev
> 

-- 
Sincerely,
   Lyude Paul (she/her)
   Software Engineer at Red Hat
   
Note: I deal with a lot of emails and have a lot of bugs on my plate. If you've
asked me a question, are waiting for a review/merge on a patch, etc. and I
haven't responded in a while, please feel free to send me another email to check
on my status. I don't bite!

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

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

* Re: [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_cursor_crc: Probe kernel for cursor size support
@ 2021-03-19 17:40       ` Lyude Paul
  0 siblings, 0 replies; 30+ messages in thread
From: Lyude Paul @ 2021-03-19 17:40 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: igt-dev, nouveau, Martin Peres, Ben Skeggs

On Fri, 2021-03-19 at 17:01 +0200, Ville Syrjälä wrote:
> On Thu, Mar 18, 2021 at 06:21:23PM -0400, Lyude wrote:
> > From: Lyude Paul <lyude@redhat.com>
> > 
> > Currently we just assume that every cursor size up to data->cursor_max_w/h
> > will
> > be supported by the driver, and check for support of nonsquare cursors by
> > checking if we're running on u815 and if so, which variant of intel hardware
> > we're running on. This isn't really ideal as we're about to enable 32x32
> > cursor
> > size tests for nouveau, and Intel hardware doesn't support cursor sizes that
> > small.
> > 
> > So, fix this by removing has_nonsquare_cursors() and replacing it with a
> > more
> > generic require_cursor_size() function which checks whether or not the
> > driver
> > we're using supports a given cursor size by attempting a test-only atomic
> > commit.
> > 
> > Signed-off-by: Lyude Paul <lyude@redhat.com>
> > Cc: Martin Peres <martin.peres@free.fr>
> > Cc: Ben Skeggs <bskeggs@redhat.com>
> > Cc: Jeremy Cline <jcline@redhat.com>
> > ---
> >  tests/kms_cursor_crc.c | 131 ++++++++++++++++++++++++-----------------
> >  1 file changed, 76 insertions(+), 55 deletions(-)
> > 
> > diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> > index 3541ea06..b9c05472 100644
> > --- a/tests/kms_cursor_crc.c
> > +++ b/tests/kms_cursor_crc.c
> > @@ -523,26 +523,43 @@ static void create_cursor_fb(data_t *data, int cur_w,
> > int cur_h)
> >         igt_put_cairo_ctx(cr);
> >  }
> >  
> > -static bool has_nonsquare_cursors(data_t *data)
> > +static void require_cursor_size(data_t *data, int w, int h)
> >  {
> > -       uint32_t devid;
> > +       igt_fb_t primary_fb;
> > +       drmModeModeInfo *mode;
> > +       igt_display_t *display = &data->display;
> > +       igt_output_t *output = data->output;
> > +       igt_plane_t *primary, *cursor;
> > +       int ret;
> >  
> > -       if (!is_i915_device(data->drm_fd))
> > -               return false;
> > +       igt_output_set_pipe(output, data->pipe);
> >  
> > -       devid = intel_get_drm_devid(data->drm_fd);
> > +       mode = igt_output_get_mode(output);
> > +       primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> > +       cursor = igt_output_get_plane_type(output, DRM_PLANE_TYPE_CURSOR);
> >  
> > -       /*
> > -        * Test non-square cursors a bit on the platforms
> > -        * that support such things.
> > -        */
> > -       if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
> > -               return true;
> > +       /* Create temporary primary fb for testing */
> > +       igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode-
> > >vdisplay, DRM_FORMAT_XRGB8888,
> > +                                LOCAL_DRM_FORMAT_MOD_NONE, &primary_fb));
> >  
> > -       if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
> > -               return false;
> > +       igt_plane_set_fb(primary, &primary_fb);
> > +       igt_plane_set_fb(cursor, &data->fb);
> > +       igt_plane_set_size(cursor, w, h);
> > +       igt_fb_set_size(&data->fb, cursor, w, h);
> > +
> > +       /* Test if the kernel supports the given cursor size or not */
> > +       ret = igt_display_try_commit_atomic(display,
> > +                                           DRM_MODE_ATOMIC_TEST_ONLY |
> > +                                           DRM_MODE_ATOMIC_ALLOW_MODESET,
> > +                                           NULL);
> 
> Would be better to not depend on atomic. We have platforms
> that don't expose it yet.

Do you have any other ideas how we could probe for this then? it seems like the
only alternative would be to add intel-specific checks to fix that, or add some
ioctl for querying the minimum cursor size (which sounds preferable imo). would
the latter work for you, or do you have another idea?
> 
> > +
> > +       igt_plane_set_fb(primary, NULL);
> > +       igt_plane_set_fb(cursor, NULL);
> > +
> > +       igt_remove_fb(data->drm_fd, &primary_fb);
> > +       igt_output_set_pipe(output, PIPE_NONE);
> >  
> > -       return intel_gen(devid) >= 7;
> > +       igt_skip_on_f(ret, "Cursor size %dx%d not supported by driver\n", w,
> > h);
> >  }
> >  
> >  static void test_cursor_size(data_t *data)
> > @@ -697,27 +714,33 @@ static void run_tests_on_pipe(data_t *data, enum pipe
> > pipe)
> >                         create_cursor_fb(data, w, h);
> >                 }
> >  
> > -               /* Using created cursor FBs to test cursor support */
> > -               igt_describe("Check if a given-size cursor is well-
> > positioned inside the screen.");
> > -               igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > kmstest_pipe_name(pipe), w, h)
> > -                       run_test(data, test_crc_onscreen, w, h);
> > -
> > -               igt_describe("Check if a given-size cursor is well-
> > positioned outside the screen.");
> > -               igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > kmstest_pipe_name(pipe), w, h)
> > -                       run_test(data, test_crc_offscreen, w, h);
> > -
> > -               igt_describe("Check the smooth and pixel-by-pixel given-size
> > cursor movements on"
> > -                            "horizontal, vertical and diagonal.");
> > -               igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > kmstest_pipe_name(pipe), w, h)
> > -                       run_test(data, test_crc_sliding, w, h);
> > -
> > -               igt_describe("Check random placement of a cursor with given
> > size.");
> > -               igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > kmstest_pipe_name(pipe), w, h)
> > -                       run_test(data, test_crc_random, w, h);
> > -
> > -               igt_describe("Check the rapid update of given-size cursor
> > movements.");
> > -               igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement",
> > kmstest_pipe_name(pipe), w, h) {
> > -                       run_test(data, test_rapid_movement, w, h);
> > +               igt_subtest_group {
> > +                       igt_fixture
> > +                               require_cursor_size(data, w, h);
> > +
> > +                       /* Using created cursor FBs to test cursor support
> > */
> > +                       igt_describe("Check if a given-size cursor is well-
> > positioned inside the "
> > +                                    "screen.");
> > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > kmstest_pipe_name(pipe), w, h)
> > +                               run_test(data, test_crc_onscreen, w, h);
> > +
> > +                       igt_describe("Check if a given-size cursor is well-
> > positioned outside the "
> > +                                    "screen.");
> > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > kmstest_pipe_name(pipe), w, h)
> > +                               run_test(data, test_crc_offscreen, w, h);
> > +
> > +                       igt_describe("Check the smooth and pixel-by-pixel
> > given-size cursor "
> > +                                    "movements on horizontal, vertical and
> > diagonal.");
> > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > kmstest_pipe_name(pipe), w, h)
> > +                               run_test(data, test_crc_sliding, w, h);
> > +
> > +                       igt_describe("Check random placement of a cursor
> > with given size.");
> > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > kmstest_pipe_name(pipe), w, h)
> > +                               run_test(data, test_crc_random, w, h);
> > +
> > +                       igt_describe("Check the rapid update of given-size
> > cursor movements.");
> > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement",
> > kmstest_pipe_name(pipe), w, h)
> > +                               run_test(data, test_rapid_movement, w, h);
> >                 }
> >  
> >                 igt_fixture
> > @@ -730,27 +753,25 @@ static void run_tests_on_pipe(data_t *data, enum pipe
> > pipe)
> >                  */
> >                 h /= 3;
> >  
> > -               igt_fixture {
> > -                       if (has_nonsquare_cursors(data))
> > -                               create_cursor_fb(data, w, h);
> > -               }
> > +               igt_fixture
> > +                       create_cursor_fb(data, w, h);
> >  
> > -               /* Using created cursor FBs to test cursor support */
> > -               igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > kmstest_pipe_name(pipe), w, h) {
> > -                       igt_require(has_nonsquare_cursors(data));
> > -                       run_test(data, test_crc_onscreen, w, h);
> > -               }
> > -               igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > kmstest_pipe_name(pipe), w, h) {
> > -                       igt_require(has_nonsquare_cursors(data));
> > -                       run_test(data, test_crc_offscreen, w, h);
> > -               }
> > -               igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > kmstest_pipe_name(pipe), w, h) {
> > -                       igt_require(has_nonsquare_cursors(data));
> > -                       run_test(data, test_crc_sliding, w, h);
> > -               }
> > -               igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > kmstest_pipe_name(pipe), w, h) {
> > -                       igt_require(has_nonsquare_cursors(data));
> > -                       run_test(data, test_crc_random, w, h);
> > +               igt_subtest_group {
> > +                       igt_fixture
> > +                               require_cursor_size(data, w, h);
> > +
> > +                       /* Using created cursor FBs to test cursor support
> > */
> > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > kmstest_pipe_name(pipe), w, h)
> > +                               run_test(data, test_crc_onscreen, w, h);
> > +
> > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > kmstest_pipe_name(pipe), w, h)
> > +                               run_test(data, test_crc_offscreen, w, h);
> > +
> > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > kmstest_pipe_name(pipe), w, h)
> > +                               run_test(data, test_crc_sliding, w, h);
> > +
> > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > kmstest_pipe_name(pipe), w, h)
> > +                               run_test(data, test_crc_random, w, h);
> >                 }
> >  
> >                 igt_fixture
> > -- 
> > 2.29.2
> > 
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev
> 

-- 
Sincerely,
   Lyude Paul (she/her)
   Software Engineer at Red Hat
   
Note: I deal with a lot of emails and have a lot of bugs on my plate. If you've
asked me a question, are waiting for a review/merge on a patch, etc. and I
haven't responded in a while, please feel free to send me another email to check
on my status. I don't bite!

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [Nouveau] [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_cursor_crc: Probe kernel for cursor size support
  2021-03-19 17:40       ` Lyude Paul
@ 2021-03-19 18:00         ` Ville Syrjälä
  -1 siblings, 0 replies; 30+ messages in thread
From: Ville Syrjälä @ 2021-03-19 18:00 UTC (permalink / raw)
  To: Lyude Paul; +Cc: igt-dev, nouveau, Ben Skeggs

On Fri, Mar 19, 2021 at 01:40:52PM -0400, Lyude Paul wrote:
> On Fri, 2021-03-19 at 17:01 +0200, Ville Syrjälä wrote:
> > On Thu, Mar 18, 2021 at 06:21:23PM -0400, Lyude wrote:
> > > From: Lyude Paul <lyude@redhat.com>
> > > 
> > > Currently we just assume that every cursor size up to data->cursor_max_w/h
> > > will
> > > be supported by the driver, and check for support of nonsquare cursors by
> > > checking if we're running on u815 and if so, which variant of intel hardware
> > > we're running on. This isn't really ideal as we're about to enable 32x32
> > > cursor
> > > size tests for nouveau, and Intel hardware doesn't support cursor sizes that
> > > small.
> > > 
> > > So, fix this by removing has_nonsquare_cursors() and replacing it with a
> > > more
> > > generic require_cursor_size() function which checks whether or not the
> > > driver
> > > we're using supports a given cursor size by attempting a test-only atomic
> > > commit.
> > > 
> > > Signed-off-by: Lyude Paul <lyude@redhat.com>
> > > Cc: Martin Peres <martin.peres@free.fr>
> > > Cc: Ben Skeggs <bskeggs@redhat.com>
> > > Cc: Jeremy Cline <jcline@redhat.com>
> > > ---
> > >  tests/kms_cursor_crc.c | 131 ++++++++++++++++++++++++-----------------
> > >  1 file changed, 76 insertions(+), 55 deletions(-)
> > > 
> > > diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> > > index 3541ea06..b9c05472 100644
> > > --- a/tests/kms_cursor_crc.c
> > > +++ b/tests/kms_cursor_crc.c
> > > @@ -523,26 +523,43 @@ static void create_cursor_fb(data_t *data, int cur_w,
> > > int cur_h)
> > >         igt_put_cairo_ctx(cr);
> > >  }
> > >  
> > > -static bool has_nonsquare_cursors(data_t *data)
> > > +static void require_cursor_size(data_t *data, int w, int h)
> > >  {
> > > -       uint32_t devid;
> > > +       igt_fb_t primary_fb;
> > > +       drmModeModeInfo *mode;
> > > +       igt_display_t *display = &data->display;
> > > +       igt_output_t *output = data->output;
> > > +       igt_plane_t *primary, *cursor;
> > > +       int ret;
> > >  
> > > -       if (!is_i915_device(data->drm_fd))
> > > -               return false;
> > > +       igt_output_set_pipe(output, data->pipe);
> > >  
> > > -       devid = intel_get_drm_devid(data->drm_fd);
> > > +       mode = igt_output_get_mode(output);
> > > +       primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> > > +       cursor = igt_output_get_plane_type(output, DRM_PLANE_TYPE_CURSOR);
> > >  
> > > -       /*
> > > -        * Test non-square cursors a bit on the platforms
> > > -        * that support such things.
> > > -        */
> > > -       if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
> > > -               return true;
> > > +       /* Create temporary primary fb for testing */
> > > +       igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode-
> > > >vdisplay, DRM_FORMAT_XRGB8888,
> > > +                                LOCAL_DRM_FORMAT_MOD_NONE, &primary_fb));
> > >  
> > > -       if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
> > > -               return false;
> > > +       igt_plane_set_fb(primary, &primary_fb);
> > > +       igt_plane_set_fb(cursor, &data->fb);
> > > +       igt_plane_set_size(cursor, w, h);
> > > +       igt_fb_set_size(&data->fb, cursor, w, h);
> > > +
> > > +       /* Test if the kernel supports the given cursor size or not */
> > > +       ret = igt_display_try_commit_atomic(display,
> > > +                                           DRM_MODE_ATOMIC_TEST_ONLY |
> > > +                                           DRM_MODE_ATOMIC_ALLOW_MODESET,
> > > +                                           NULL);
> > 
> > Would be better to not depend on atomic. We have platforms
> > that don't expose it yet.
> 
> Do you have any other ideas how we could probe for this then? it seems like the
> only alternative would be to add intel-specific checks to fix that, or add some
> ioctl for querying the minimum cursor size (which sounds preferable imo). would
> the latter work for you, or do you have another idea?

Just do it for real instead of TEST_ONLY.

> > 
> > > +
> > > +       igt_plane_set_fb(primary, NULL);
> > > +       igt_plane_set_fb(cursor, NULL);
> > > +
> > > +       igt_remove_fb(data->drm_fd, &primary_fb);
> > > +       igt_output_set_pipe(output, PIPE_NONE);
> > >  
> > > -       return intel_gen(devid) >= 7;
> > > +       igt_skip_on_f(ret, "Cursor size %dx%d not supported by driver\n", w,
> > > h);
> > >  }
> > >  
> > >  static void test_cursor_size(data_t *data)
> > > @@ -697,27 +714,33 @@ static void run_tests_on_pipe(data_t *data, enum pipe
> > > pipe)
> > >                         create_cursor_fb(data, w, h);
> > >                 }
> > >  
> > > -               /* Using created cursor FBs to test cursor support */
> > > -               igt_describe("Check if a given-size cursor is well-
> > > positioned inside the screen.");
> > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > > kmstest_pipe_name(pipe), w, h)
> > > -                       run_test(data, test_crc_onscreen, w, h);
> > > -
> > > -               igt_describe("Check if a given-size cursor is well-
> > > positioned outside the screen.");
> > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > > kmstest_pipe_name(pipe), w, h)
> > > -                       run_test(data, test_crc_offscreen, w, h);
> > > -
> > > -               igt_describe("Check the smooth and pixel-by-pixel given-size
> > > cursor movements on"
> > > -                            "horizontal, vertical and diagonal.");
> > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > > kmstest_pipe_name(pipe), w, h)
> > > -                       run_test(data, test_crc_sliding, w, h);
> > > -
> > > -               igt_describe("Check random placement of a cursor with given
> > > size.");
> > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > > kmstest_pipe_name(pipe), w, h)
> > > -                       run_test(data, test_crc_random, w, h);
> > > -
> > > -               igt_describe("Check the rapid update of given-size cursor
> > > movements.");
> > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement",
> > > kmstest_pipe_name(pipe), w, h) {
> > > -                       run_test(data, test_rapid_movement, w, h);
> > > +               igt_subtest_group {
> > > +                       igt_fixture
> > > +                               require_cursor_size(data, w, h);
> > > +
> > > +                       /* Using created cursor FBs to test cursor support
> > > */
> > > +                       igt_describe("Check if a given-size cursor is well-
> > > positioned inside the "
> > > +                                    "screen.");
> > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > > kmstest_pipe_name(pipe), w, h)
> > > +                               run_test(data, test_crc_onscreen, w, h);
> > > +
> > > +                       igt_describe("Check if a given-size cursor is well-
> > > positioned outside the "
> > > +                                    "screen.");
> > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > > kmstest_pipe_name(pipe), w, h)
> > > +                               run_test(data, test_crc_offscreen, w, h);
> > > +
> > > +                       igt_describe("Check the smooth and pixel-by-pixel
> > > given-size cursor "
> > > +                                    "movements on horizontal, vertical and
> > > diagonal.");
> > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > > kmstest_pipe_name(pipe), w, h)
> > > +                               run_test(data, test_crc_sliding, w, h);
> > > +
> > > +                       igt_describe("Check random placement of a cursor
> > > with given size.");
> > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > > kmstest_pipe_name(pipe), w, h)
> > > +                               run_test(data, test_crc_random, w, h);
> > > +
> > > +                       igt_describe("Check the rapid update of given-size
> > > cursor movements.");
> > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement",
> > > kmstest_pipe_name(pipe), w, h)
> > > +                               run_test(data, test_rapid_movement, w, h);
> > >                 }
> > >  
> > >                 igt_fixture
> > > @@ -730,27 +753,25 @@ static void run_tests_on_pipe(data_t *data, enum pipe
> > > pipe)
> > >                  */
> > >                 h /= 3;
> > >  
> > > -               igt_fixture {
> > > -                       if (has_nonsquare_cursors(data))
> > > -                               create_cursor_fb(data, w, h);
> > > -               }
> > > +               igt_fixture
> > > +                       create_cursor_fb(data, w, h);
> > >  
> > > -               /* Using created cursor FBs to test cursor support */
> > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > > kmstest_pipe_name(pipe), w, h) {
> > > -                       igt_require(has_nonsquare_cursors(data));
> > > -                       run_test(data, test_crc_onscreen, w, h);
> > > -               }
> > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > > kmstest_pipe_name(pipe), w, h) {
> > > -                       igt_require(has_nonsquare_cursors(data));
> > > -                       run_test(data, test_crc_offscreen, w, h);
> > > -               }
> > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > > kmstest_pipe_name(pipe), w, h) {
> > > -                       igt_require(has_nonsquare_cursors(data));
> > > -                       run_test(data, test_crc_sliding, w, h);
> > > -               }
> > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > > kmstest_pipe_name(pipe), w, h) {
> > > -                       igt_require(has_nonsquare_cursors(data));
> > > -                       run_test(data, test_crc_random, w, h);
> > > +               igt_subtest_group {
> > > +                       igt_fixture
> > > +                               require_cursor_size(data, w, h);
> > > +
> > > +                       /* Using created cursor FBs to test cursor support
> > > */
> > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > > kmstest_pipe_name(pipe), w, h)
> > > +                               run_test(data, test_crc_onscreen, w, h);
> > > +
> > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > > kmstest_pipe_name(pipe), w, h)
> > > +                               run_test(data, test_crc_offscreen, w, h);
> > > +
> > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > > kmstest_pipe_name(pipe), w, h)
> > > +                               run_test(data, test_crc_sliding, w, h);
> > > +
> > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > > kmstest_pipe_name(pipe), w, h)
> > > +                               run_test(data, test_crc_random, w, h);
> > >                 }
> > >  
> > >                 igt_fixture
> > > -- 
> > > 2.29.2
> > > 
> > > _______________________________________________
> > > igt-dev mailing list
> > > igt-dev@lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/igt-dev
> > 
> 
> -- 
> Sincerely,
>    Lyude Paul (she/her)
>    Software Engineer at Red Hat
>    
> Note: I deal with a lot of emails and have a lot of bugs on my plate. If you've
> asked me a question, are waiting for a review/merge on a patch, etc. and I
> haven't responded in a while, please feel free to send me another email to check
> on my status. I don't bite!

-- 
Ville Syrjälä
Intel
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

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

* Re: [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_cursor_crc: Probe kernel for cursor size support
@ 2021-03-19 18:00         ` Ville Syrjälä
  0 siblings, 0 replies; 30+ messages in thread
From: Ville Syrjälä @ 2021-03-19 18:00 UTC (permalink / raw)
  To: Lyude Paul; +Cc: igt-dev, nouveau, Martin Peres, Ben Skeggs

On Fri, Mar 19, 2021 at 01:40:52PM -0400, Lyude Paul wrote:
> On Fri, 2021-03-19 at 17:01 +0200, Ville Syrjälä wrote:
> > On Thu, Mar 18, 2021 at 06:21:23PM -0400, Lyude wrote:
> > > From: Lyude Paul <lyude@redhat.com>
> > > 
> > > Currently we just assume that every cursor size up to data->cursor_max_w/h
> > > will
> > > be supported by the driver, and check for support of nonsquare cursors by
> > > checking if we're running on u815 and if so, which variant of intel hardware
> > > we're running on. This isn't really ideal as we're about to enable 32x32
> > > cursor
> > > size tests for nouveau, and Intel hardware doesn't support cursor sizes that
> > > small.
> > > 
> > > So, fix this by removing has_nonsquare_cursors() and replacing it with a
> > > more
> > > generic require_cursor_size() function which checks whether or not the
> > > driver
> > > we're using supports a given cursor size by attempting a test-only atomic
> > > commit.
> > > 
> > > Signed-off-by: Lyude Paul <lyude@redhat.com>
> > > Cc: Martin Peres <martin.peres@free.fr>
> > > Cc: Ben Skeggs <bskeggs@redhat.com>
> > > Cc: Jeremy Cline <jcline@redhat.com>
> > > ---
> > >  tests/kms_cursor_crc.c | 131 ++++++++++++++++++++++++-----------------
> > >  1 file changed, 76 insertions(+), 55 deletions(-)
> > > 
> > > diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> > > index 3541ea06..b9c05472 100644
> > > --- a/tests/kms_cursor_crc.c
> > > +++ b/tests/kms_cursor_crc.c
> > > @@ -523,26 +523,43 @@ static void create_cursor_fb(data_t *data, int cur_w,
> > > int cur_h)
> > >         igt_put_cairo_ctx(cr);
> > >  }
> > >  
> > > -static bool has_nonsquare_cursors(data_t *data)
> > > +static void require_cursor_size(data_t *data, int w, int h)
> > >  {
> > > -       uint32_t devid;
> > > +       igt_fb_t primary_fb;
> > > +       drmModeModeInfo *mode;
> > > +       igt_display_t *display = &data->display;
> > > +       igt_output_t *output = data->output;
> > > +       igt_plane_t *primary, *cursor;
> > > +       int ret;
> > >  
> > > -       if (!is_i915_device(data->drm_fd))
> > > -               return false;
> > > +       igt_output_set_pipe(output, data->pipe);
> > >  
> > > -       devid = intel_get_drm_devid(data->drm_fd);
> > > +       mode = igt_output_get_mode(output);
> > > +       primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> > > +       cursor = igt_output_get_plane_type(output, DRM_PLANE_TYPE_CURSOR);
> > >  
> > > -       /*
> > > -        * Test non-square cursors a bit on the platforms
> > > -        * that support such things.
> > > -        */
> > > -       if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
> > > -               return true;
> > > +       /* Create temporary primary fb for testing */
> > > +       igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode-
> > > >vdisplay, DRM_FORMAT_XRGB8888,
> > > +                                LOCAL_DRM_FORMAT_MOD_NONE, &primary_fb));
> > >  
> > > -       if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
> > > -               return false;
> > > +       igt_plane_set_fb(primary, &primary_fb);
> > > +       igt_plane_set_fb(cursor, &data->fb);
> > > +       igt_plane_set_size(cursor, w, h);
> > > +       igt_fb_set_size(&data->fb, cursor, w, h);
> > > +
> > > +       /* Test if the kernel supports the given cursor size or not */
> > > +       ret = igt_display_try_commit_atomic(display,
> > > +                                           DRM_MODE_ATOMIC_TEST_ONLY |
> > > +                                           DRM_MODE_ATOMIC_ALLOW_MODESET,
> > > +                                           NULL);
> > 
> > Would be better to not depend on atomic. We have platforms
> > that don't expose it yet.
> 
> Do you have any other ideas how we could probe for this then? it seems like the
> only alternative would be to add intel-specific checks to fix that, or add some
> ioctl for querying the minimum cursor size (which sounds preferable imo). would
> the latter work for you, or do you have another idea?

Just do it for real instead of TEST_ONLY.

> > 
> > > +
> > > +       igt_plane_set_fb(primary, NULL);
> > > +       igt_plane_set_fb(cursor, NULL);
> > > +
> > > +       igt_remove_fb(data->drm_fd, &primary_fb);
> > > +       igt_output_set_pipe(output, PIPE_NONE);
> > >  
> > > -       return intel_gen(devid) >= 7;
> > > +       igt_skip_on_f(ret, "Cursor size %dx%d not supported by driver\n", w,
> > > h);
> > >  }
> > >  
> > >  static void test_cursor_size(data_t *data)
> > > @@ -697,27 +714,33 @@ static void run_tests_on_pipe(data_t *data, enum pipe
> > > pipe)
> > >                         create_cursor_fb(data, w, h);
> > >                 }
> > >  
> > > -               /* Using created cursor FBs to test cursor support */
> > > -               igt_describe("Check if a given-size cursor is well-
> > > positioned inside the screen.");
> > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > > kmstest_pipe_name(pipe), w, h)
> > > -                       run_test(data, test_crc_onscreen, w, h);
> > > -
> > > -               igt_describe("Check if a given-size cursor is well-
> > > positioned outside the screen.");
> > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > > kmstest_pipe_name(pipe), w, h)
> > > -                       run_test(data, test_crc_offscreen, w, h);
> > > -
> > > -               igt_describe("Check the smooth and pixel-by-pixel given-size
> > > cursor movements on"
> > > -                            "horizontal, vertical and diagonal.");
> > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > > kmstest_pipe_name(pipe), w, h)
> > > -                       run_test(data, test_crc_sliding, w, h);
> > > -
> > > -               igt_describe("Check random placement of a cursor with given
> > > size.");
> > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > > kmstest_pipe_name(pipe), w, h)
> > > -                       run_test(data, test_crc_random, w, h);
> > > -
> > > -               igt_describe("Check the rapid update of given-size cursor
> > > movements.");
> > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement",
> > > kmstest_pipe_name(pipe), w, h) {
> > > -                       run_test(data, test_rapid_movement, w, h);
> > > +               igt_subtest_group {
> > > +                       igt_fixture
> > > +                               require_cursor_size(data, w, h);
> > > +
> > > +                       /* Using created cursor FBs to test cursor support
> > > */
> > > +                       igt_describe("Check if a given-size cursor is well-
> > > positioned inside the "
> > > +                                    "screen.");
> > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > > kmstest_pipe_name(pipe), w, h)
> > > +                               run_test(data, test_crc_onscreen, w, h);
> > > +
> > > +                       igt_describe("Check if a given-size cursor is well-
> > > positioned outside the "
> > > +                                    "screen.");
> > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > > kmstest_pipe_name(pipe), w, h)
> > > +                               run_test(data, test_crc_offscreen, w, h);
> > > +
> > > +                       igt_describe("Check the smooth and pixel-by-pixel
> > > given-size cursor "
> > > +                                    "movements on horizontal, vertical and
> > > diagonal.");
> > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > > kmstest_pipe_name(pipe), w, h)
> > > +                               run_test(data, test_crc_sliding, w, h);
> > > +
> > > +                       igt_describe("Check random placement of a cursor
> > > with given size.");
> > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > > kmstest_pipe_name(pipe), w, h)
> > > +                               run_test(data, test_crc_random, w, h);
> > > +
> > > +                       igt_describe("Check the rapid update of given-size
> > > cursor movements.");
> > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement",
> > > kmstest_pipe_name(pipe), w, h)
> > > +                               run_test(data, test_rapid_movement, w, h);
> > >                 }
> > >  
> > >                 igt_fixture
> > > @@ -730,27 +753,25 @@ static void run_tests_on_pipe(data_t *data, enum pipe
> > > pipe)
> > >                  */
> > >                 h /= 3;
> > >  
> > > -               igt_fixture {
> > > -                       if (has_nonsquare_cursors(data))
> > > -                               create_cursor_fb(data, w, h);
> > > -               }
> > > +               igt_fixture
> > > +                       create_cursor_fb(data, w, h);
> > >  
> > > -               /* Using created cursor FBs to test cursor support */
> > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > > kmstest_pipe_name(pipe), w, h) {
> > > -                       igt_require(has_nonsquare_cursors(data));
> > > -                       run_test(data, test_crc_onscreen, w, h);
> > > -               }
> > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > > kmstest_pipe_name(pipe), w, h) {
> > > -                       igt_require(has_nonsquare_cursors(data));
> > > -                       run_test(data, test_crc_offscreen, w, h);
> > > -               }
> > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > > kmstest_pipe_name(pipe), w, h) {
> > > -                       igt_require(has_nonsquare_cursors(data));
> > > -                       run_test(data, test_crc_sliding, w, h);
> > > -               }
> > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > > kmstest_pipe_name(pipe), w, h) {
> > > -                       igt_require(has_nonsquare_cursors(data));
> > > -                       run_test(data, test_crc_random, w, h);
> > > +               igt_subtest_group {
> > > +                       igt_fixture
> > > +                               require_cursor_size(data, w, h);
> > > +
> > > +                       /* Using created cursor FBs to test cursor support
> > > */
> > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > > kmstest_pipe_name(pipe), w, h)
> > > +                               run_test(data, test_crc_onscreen, w, h);
> > > +
> > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > > kmstest_pipe_name(pipe), w, h)
> > > +                               run_test(data, test_crc_offscreen, w, h);
> > > +
> > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > > kmstest_pipe_name(pipe), w, h)
> > > +                               run_test(data, test_crc_sliding, w, h);
> > > +
> > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > > kmstest_pipe_name(pipe), w, h)
> > > +                               run_test(data, test_crc_random, w, h);
> > >                 }
> > >  
> > >                 igt_fixture
> > > -- 
> > > 2.29.2
> > > 
> > > _______________________________________________
> > > igt-dev mailing list
> > > igt-dev@lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/igt-dev
> > 
> 
> -- 
> Sincerely,
>    Lyude Paul (she/her)
>    Software Engineer at Red Hat
>    
> Note: I deal with a lot of emails and have a lot of bugs on my plate. If you've
> asked me a question, are waiting for a review/merge on a patch, etc. and I
> haven't responded in a while, please feel free to send me another email to check
> on my status. I don't bite!

-- 
Ville Syrjälä
Intel
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [Nouveau] [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_cursor_crc: Probe kernel for cursor size support
  2021-03-19 18:00         ` Ville Syrjälä
@ 2021-03-19 18:43           ` Lyude Paul
  -1 siblings, 0 replies; 30+ messages in thread
From: Lyude Paul @ 2021-03-19 18:43 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: igt-dev, nouveau, Ben Skeggs

On Fri, 2021-03-19 at 20:00 +0200, Ville Syrjälä wrote:
> On Fri, Mar 19, 2021 at 01:40:52PM -0400, Lyude Paul wrote:
> > On Fri, 2021-03-19 at 17:01 +0200, Ville Syrjälä wrote:
> > > On Thu, Mar 18, 2021 at 06:21:23PM -0400, Lyude wrote:
> > > > From: Lyude Paul <lyude@redhat.com>
> > > > 
> > > > Currently we just assume that every cursor size up to data-
> > > > >cursor_max_w/h
> > > > will
> > > > be supported by the driver, and check for support of nonsquare cursors
> > > > by
> > > > checking if we're running on u815 and if so, which variant of intel
> > > > hardware
> > > > we're running on. This isn't really ideal as we're about to enable 32x32
> > > > cursor
> > > > size tests for nouveau, and Intel hardware doesn't support cursor sizes
> > > > that
> > > > small.
> > > > 
> > > > So, fix this by removing has_nonsquare_cursors() and replacing it with a
> > > > more
> > > > generic require_cursor_size() function which checks whether or not the
> > > > driver
> > > > we're using supports a given cursor size by attempting a test-only
> > > > atomic
> > > > commit.
> > > > 
> > > > Signed-off-by: Lyude Paul <lyude@redhat.com>
> > > > Cc: Martin Peres <martin.peres@free.fr>
> > > > Cc: Ben Skeggs <bskeggs@redhat.com>
> > > > Cc: Jeremy Cline <jcline@redhat.com>
> > > > ---
> > > >  tests/kms_cursor_crc.c | 131 ++++++++++++++++++++++++-----------------
> > > >  1 file changed, 76 insertions(+), 55 deletions(-)
> > > > 
> > > > diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> > > > index 3541ea06..b9c05472 100644
> > > > --- a/tests/kms_cursor_crc.c
> > > > +++ b/tests/kms_cursor_crc.c
> > > > @@ -523,26 +523,43 @@ static void create_cursor_fb(data_t *data, int
> > > > cur_w,
> > > > int cur_h)
> > > >         igt_put_cairo_ctx(cr);
> > > >  }
> > > >  
> > > > -static bool has_nonsquare_cursors(data_t *data)
> > > > +static void require_cursor_size(data_t *data, int w, int h)
> > > >  {
> > > > -       uint32_t devid;
> > > > +       igt_fb_t primary_fb;
> > > > +       drmModeModeInfo *mode;
> > > > +       igt_display_t *display = &data->display;
> > > > +       igt_output_t *output = data->output;
> > > > +       igt_plane_t *primary, *cursor;
> > > > +       int ret;
> > > >  
> > > > -       if (!is_i915_device(data->drm_fd))
> > > > -               return false;
> > > > +       igt_output_set_pipe(output, data->pipe);
> > > >  
> > > > -       devid = intel_get_drm_devid(data->drm_fd);
> > > > +       mode = igt_output_get_mode(output);
> > > > +       primary = igt_output_get_plane_type(output,
> > > > DRM_PLANE_TYPE_PRIMARY);
> > > > +       cursor = igt_output_get_plane_type(output,
> > > > DRM_PLANE_TYPE_CURSOR);
> > > >  
> > > > -       /*
> > > > -        * Test non-square cursors a bit on the platforms
> > > > -        * that support such things.
> > > > -        */
> > > > -       if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
> > > > -               return true;
> > > > +       /* Create temporary primary fb for testing */
> > > > +       igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode-
> > > > > vdisplay, DRM_FORMAT_XRGB8888,
> > > > +                                LOCAL_DRM_FORMAT_MOD_NONE,
> > > > &primary_fb));
> > > >  
> > > > -       if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
> > > > -               return false;
> > > > +       igt_plane_set_fb(primary, &primary_fb);
> > > > +       igt_plane_set_fb(cursor, &data->fb);
> > > > +       igt_plane_set_size(cursor, w, h);
> > > > +       igt_fb_set_size(&data->fb, cursor, w, h);
> > > > +
> > > > +       /* Test if the kernel supports the given cursor size or not */
> > > > +       ret = igt_display_try_commit_atomic(display,
> > > > +                                           DRM_MODE_ATOMIC_TEST_ONLY |
> > > > +                                          
> > > > DRM_MODE_ATOMIC_ALLOW_MODESET,
> > > > +                                           NULL);
> > > 
> > > Would be better to not depend on atomic. We have platforms
> > > that don't expose it yet.
> > 
> > Do you have any other ideas how we could probe for this then? it seems like
> > the
> > only alternative would be to add intel-specific checks to fix that, or add
> > some
> > ioctl for querying the minimum cursor size (which sounds preferable imo).
> > would
> > the latter work for you, or do you have another idea?
> 
> Just do it for real instead of TEST_ONLY.

ah-and it'll still fail in that case I assume?

> 
> > > 
> > > > +
> > > > +       igt_plane_set_fb(primary, NULL);
> > > > +       igt_plane_set_fb(cursor, NULL);
> > > > +
> > > > +       igt_remove_fb(data->drm_fd, &primary_fb);
> > > > +       igt_output_set_pipe(output, PIPE_NONE);
> > > >  
> > > > -       return intel_gen(devid) >= 7;
> > > > +       igt_skip_on_f(ret, "Cursor size %dx%d not supported by
> > > > driver\n", w,
> > > > h);
> > > >  }
> > > >  
> > > >  static void test_cursor_size(data_t *data)
> > > > @@ -697,27 +714,33 @@ static void run_tests_on_pipe(data_t *data, enum
> > > > pipe
> > > > pipe)
> > > >                         create_cursor_fb(data, w, h);
> > > >                 }
> > > >  
> > > > -               /* Using created cursor FBs to test cursor support */
> > > > -               igt_describe("Check if a given-size cursor is well-
> > > > positioned inside the screen.");
> > > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > -                       run_test(data, test_crc_onscreen, w, h);
> > > > -
> > > > -               igt_describe("Check if a given-size cursor is well-
> > > > positioned outside the screen.");
> > > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > -                       run_test(data, test_crc_offscreen, w, h);
> > > > -
> > > > -               igt_describe("Check the smooth and pixel-by-pixel given-
> > > > size
> > > > cursor movements on"
> > > > -                            "horizontal, vertical and diagonal.");
> > > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > -                       run_test(data, test_crc_sliding, w, h);
> > > > -
> > > > -               igt_describe("Check random placement of a cursor with
> > > > given
> > > > size.");
> > > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > -                       run_test(data, test_crc_random, w, h);
> > > > -
> > > > -               igt_describe("Check the rapid update of given-size
> > > > cursor
> > > > movements.");
> > > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement",
> > > > kmstest_pipe_name(pipe), w, h) {
> > > > -                       run_test(data, test_rapid_movement, w, h);
> > > > +               igt_subtest_group {
> > > > +                       igt_fixture
> > > > +                               require_cursor_size(data, w, h);
> > > > +
> > > > +                       /* Using created cursor FBs to test cursor
> > > > support
> > > > */
> > > > +                       igt_describe("Check if a given-size cursor is
> > > > well-
> > > > positioned inside the "
> > > > +                                    "screen.");
> > > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > +                               run_test(data, test_crc_onscreen, w, h);
> > > > +
> > > > +                       igt_describe("Check if a given-size cursor is
> > > > well-
> > > > positioned outside the "
> > > > +                                    "screen.");
> > > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > +                               run_test(data, test_crc_offscreen, w,
> > > > h);
> > > > +
> > > > +                       igt_describe("Check the smooth and pixel-by-
> > > > pixel
> > > > given-size cursor "
> > > > +                                    "movements on horizontal, vertical
> > > > and
> > > > diagonal.");
> > > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > +                               run_test(data, test_crc_sliding, w, h);
> > > > +
> > > > +                       igt_describe("Check random placement of a cursor
> > > > with given size.");
> > > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > +                               run_test(data, test_crc_random, w, h);
> > > > +
> > > > +                       igt_describe("Check the rapid update of given-
> > > > size
> > > > cursor movements.");
> > > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-
> > > > movement",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > +                               run_test(data, test_rapid_movement, w,
> > > > h);
> > > >                 }
> > > >  
> > > >                 igt_fixture
> > > > @@ -730,27 +753,25 @@ static void run_tests_on_pipe(data_t *data, enum
> > > > pipe
> > > > pipe)
> > > >                  */
> > > >                 h /= 3;
> > > >  
> > > > -               igt_fixture {
> > > > -                       if (has_nonsquare_cursors(data))
> > > > -                               create_cursor_fb(data, w, h);
> > > > -               }
> > > > +               igt_fixture
> > > > +                       create_cursor_fb(data, w, h);
> > > >  
> > > > -               /* Using created cursor FBs to test cursor support */
> > > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > > > kmstest_pipe_name(pipe), w, h) {
> > > > -                       igt_require(has_nonsquare_cursors(data));
> > > > -                       run_test(data, test_crc_onscreen, w, h);
> > > > -               }
> > > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > > > kmstest_pipe_name(pipe), w, h) {
> > > > -                       igt_require(has_nonsquare_cursors(data));
> > > > -                       run_test(data, test_crc_offscreen, w, h);
> > > > -               }
> > > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > > > kmstest_pipe_name(pipe), w, h) {
> > > > -                       igt_require(has_nonsquare_cursors(data));
> > > > -                       run_test(data, test_crc_sliding, w, h);
> > > > -               }
> > > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > > > kmstest_pipe_name(pipe), w, h) {
> > > > -                       igt_require(has_nonsquare_cursors(data));
> > > > -                       run_test(data, test_crc_random, w, h);
> > > > +               igt_subtest_group {
> > > > +                       igt_fixture
> > > > +                               require_cursor_size(data, w, h);
> > > > +
> > > > +                       /* Using created cursor FBs to test cursor
> > > > support
> > > > */
> > > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > +                               run_test(data, test_crc_onscreen, w, h);
> > > > +
> > > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > +                               run_test(data, test_crc_offscreen, w,
> > > > h);
> > > > +
> > > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > +                               run_test(data, test_crc_sliding, w, h);
> > > > +
> > > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > +                               run_test(data, test_crc_random, w, h);
> > > >                 }
> > > >  
> > > >                 igt_fixture
> > > > -- 
> > > > 2.29.2
> > > > 
> > > > _______________________________________________
> > > > igt-dev mailing list
> > > > igt-dev@lists.freedesktop.org
> > > > https://lists.freedesktop.org/mailman/listinfo/igt-dev
> > > 
> > 
> > -- 
> > Sincerely,
> >    Lyude Paul (she/her)
> >    Software Engineer at Red Hat
> >    
> > Note: I deal with a lot of emails and have a lot of bugs on my plate. If
> > you've
> > asked me a question, are waiting for a review/merge on a patch, etc. and I
> > haven't responded in a while, please feel free to send me another email to
> > check
> > on my status. I don't bite!
> 

-- 
Sincerely,
   Lyude Paul (she/her)
   Software Engineer at Red Hat
   
Note: I deal with a lot of emails and have a lot of bugs on my plate. If you've
asked me a question, are waiting for a review/merge on a patch, etc. and I
haven't responded in a while, please feel free to send me another email to check
on my status. I don't bite!

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

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

* Re: [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_cursor_crc: Probe kernel for cursor size support
@ 2021-03-19 18:43           ` Lyude Paul
  0 siblings, 0 replies; 30+ messages in thread
From: Lyude Paul @ 2021-03-19 18:43 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: igt-dev, nouveau, Martin Peres, Ben Skeggs

On Fri, 2021-03-19 at 20:00 +0200, Ville Syrjälä wrote:
> On Fri, Mar 19, 2021 at 01:40:52PM -0400, Lyude Paul wrote:
> > On Fri, 2021-03-19 at 17:01 +0200, Ville Syrjälä wrote:
> > > On Thu, Mar 18, 2021 at 06:21:23PM -0400, Lyude wrote:
> > > > From: Lyude Paul <lyude@redhat.com>
> > > > 
> > > > Currently we just assume that every cursor size up to data-
> > > > >cursor_max_w/h
> > > > will
> > > > be supported by the driver, and check for support of nonsquare cursors
> > > > by
> > > > checking if we're running on u815 and if so, which variant of intel
> > > > hardware
> > > > we're running on. This isn't really ideal as we're about to enable 32x32
> > > > cursor
> > > > size tests for nouveau, and Intel hardware doesn't support cursor sizes
> > > > that
> > > > small.
> > > > 
> > > > So, fix this by removing has_nonsquare_cursors() and replacing it with a
> > > > more
> > > > generic require_cursor_size() function which checks whether or not the
> > > > driver
> > > > we're using supports a given cursor size by attempting a test-only
> > > > atomic
> > > > commit.
> > > > 
> > > > Signed-off-by: Lyude Paul <lyude@redhat.com>
> > > > Cc: Martin Peres <martin.peres@free.fr>
> > > > Cc: Ben Skeggs <bskeggs@redhat.com>
> > > > Cc: Jeremy Cline <jcline@redhat.com>
> > > > ---
> > > >  tests/kms_cursor_crc.c | 131 ++++++++++++++++++++++++-----------------
> > > >  1 file changed, 76 insertions(+), 55 deletions(-)
> > > > 
> > > > diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> > > > index 3541ea06..b9c05472 100644
> > > > --- a/tests/kms_cursor_crc.c
> > > > +++ b/tests/kms_cursor_crc.c
> > > > @@ -523,26 +523,43 @@ static void create_cursor_fb(data_t *data, int
> > > > cur_w,
> > > > int cur_h)
> > > >         igt_put_cairo_ctx(cr);
> > > >  }
> > > >  
> > > > -static bool has_nonsquare_cursors(data_t *data)
> > > > +static void require_cursor_size(data_t *data, int w, int h)
> > > >  {
> > > > -       uint32_t devid;
> > > > +       igt_fb_t primary_fb;
> > > > +       drmModeModeInfo *mode;
> > > > +       igt_display_t *display = &data->display;
> > > > +       igt_output_t *output = data->output;
> > > > +       igt_plane_t *primary, *cursor;
> > > > +       int ret;
> > > >  
> > > > -       if (!is_i915_device(data->drm_fd))
> > > > -               return false;
> > > > +       igt_output_set_pipe(output, data->pipe);
> > > >  
> > > > -       devid = intel_get_drm_devid(data->drm_fd);
> > > > +       mode = igt_output_get_mode(output);
> > > > +       primary = igt_output_get_plane_type(output,
> > > > DRM_PLANE_TYPE_PRIMARY);
> > > > +       cursor = igt_output_get_plane_type(output,
> > > > DRM_PLANE_TYPE_CURSOR);
> > > >  
> > > > -       /*
> > > > -        * Test non-square cursors a bit on the platforms
> > > > -        * that support such things.
> > > > -        */
> > > > -       if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
> > > > -               return true;
> > > > +       /* Create temporary primary fb for testing */
> > > > +       igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode-
> > > > > vdisplay, DRM_FORMAT_XRGB8888,
> > > > +                                LOCAL_DRM_FORMAT_MOD_NONE,
> > > > &primary_fb));
> > > >  
> > > > -       if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
> > > > -               return false;
> > > > +       igt_plane_set_fb(primary, &primary_fb);
> > > > +       igt_plane_set_fb(cursor, &data->fb);
> > > > +       igt_plane_set_size(cursor, w, h);
> > > > +       igt_fb_set_size(&data->fb, cursor, w, h);
> > > > +
> > > > +       /* Test if the kernel supports the given cursor size or not */
> > > > +       ret = igt_display_try_commit_atomic(display,
> > > > +                                           DRM_MODE_ATOMIC_TEST_ONLY |
> > > > +                                          
> > > > DRM_MODE_ATOMIC_ALLOW_MODESET,
> > > > +                                           NULL);
> > > 
> > > Would be better to not depend on atomic. We have platforms
> > > that don't expose it yet.
> > 
> > Do you have any other ideas how we could probe for this then? it seems like
> > the
> > only alternative would be to add intel-specific checks to fix that, or add
> > some
> > ioctl for querying the minimum cursor size (which sounds preferable imo).
> > would
> > the latter work for you, or do you have another idea?
> 
> Just do it for real instead of TEST_ONLY.

ah-and it'll still fail in that case I assume?

> 
> > > 
> > > > +
> > > > +       igt_plane_set_fb(primary, NULL);
> > > > +       igt_plane_set_fb(cursor, NULL);
> > > > +
> > > > +       igt_remove_fb(data->drm_fd, &primary_fb);
> > > > +       igt_output_set_pipe(output, PIPE_NONE);
> > > >  
> > > > -       return intel_gen(devid) >= 7;
> > > > +       igt_skip_on_f(ret, "Cursor size %dx%d not supported by
> > > > driver\n", w,
> > > > h);
> > > >  }
> > > >  
> > > >  static void test_cursor_size(data_t *data)
> > > > @@ -697,27 +714,33 @@ static void run_tests_on_pipe(data_t *data, enum
> > > > pipe
> > > > pipe)
> > > >                         create_cursor_fb(data, w, h);
> > > >                 }
> > > >  
> > > > -               /* Using created cursor FBs to test cursor support */
> > > > -               igt_describe("Check if a given-size cursor is well-
> > > > positioned inside the screen.");
> > > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > -                       run_test(data, test_crc_onscreen, w, h);
> > > > -
> > > > -               igt_describe("Check if a given-size cursor is well-
> > > > positioned outside the screen.");
> > > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > -                       run_test(data, test_crc_offscreen, w, h);
> > > > -
> > > > -               igt_describe("Check the smooth and pixel-by-pixel given-
> > > > size
> > > > cursor movements on"
> > > > -                            "horizontal, vertical and diagonal.");
> > > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > -                       run_test(data, test_crc_sliding, w, h);
> > > > -
> > > > -               igt_describe("Check random placement of a cursor with
> > > > given
> > > > size.");
> > > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > -                       run_test(data, test_crc_random, w, h);
> > > > -
> > > > -               igt_describe("Check the rapid update of given-size
> > > > cursor
> > > > movements.");
> > > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement",
> > > > kmstest_pipe_name(pipe), w, h) {
> > > > -                       run_test(data, test_rapid_movement, w, h);
> > > > +               igt_subtest_group {
> > > > +                       igt_fixture
> > > > +                               require_cursor_size(data, w, h);
> > > > +
> > > > +                       /* Using created cursor FBs to test cursor
> > > > support
> > > > */
> > > > +                       igt_describe("Check if a given-size cursor is
> > > > well-
> > > > positioned inside the "
> > > > +                                    "screen.");
> > > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > +                               run_test(data, test_crc_onscreen, w, h);
> > > > +
> > > > +                       igt_describe("Check if a given-size cursor is
> > > > well-
> > > > positioned outside the "
> > > > +                                    "screen.");
> > > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > +                               run_test(data, test_crc_offscreen, w,
> > > > h);
> > > > +
> > > > +                       igt_describe("Check the smooth and pixel-by-
> > > > pixel
> > > > given-size cursor "
> > > > +                                    "movements on horizontal, vertical
> > > > and
> > > > diagonal.");
> > > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > +                               run_test(data, test_crc_sliding, w, h);
> > > > +
> > > > +                       igt_describe("Check random placement of a cursor
> > > > with given size.");
> > > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > +                               run_test(data, test_crc_random, w, h);
> > > > +
> > > > +                       igt_describe("Check the rapid update of given-
> > > > size
> > > > cursor movements.");
> > > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-
> > > > movement",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > +                               run_test(data, test_rapid_movement, w,
> > > > h);
> > > >                 }
> > > >  
> > > >                 igt_fixture
> > > > @@ -730,27 +753,25 @@ static void run_tests_on_pipe(data_t *data, enum
> > > > pipe
> > > > pipe)
> > > >                  */
> > > >                 h /= 3;
> > > >  
> > > > -               igt_fixture {
> > > > -                       if (has_nonsquare_cursors(data))
> > > > -                               create_cursor_fb(data, w, h);
> > > > -               }
> > > > +               igt_fixture
> > > > +                       create_cursor_fb(data, w, h);
> > > >  
> > > > -               /* Using created cursor FBs to test cursor support */
> > > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > > > kmstest_pipe_name(pipe), w, h) {
> > > > -                       igt_require(has_nonsquare_cursors(data));
> > > > -                       run_test(data, test_crc_onscreen, w, h);
> > > > -               }
> > > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > > > kmstest_pipe_name(pipe), w, h) {
> > > > -                       igt_require(has_nonsquare_cursors(data));
> > > > -                       run_test(data, test_crc_offscreen, w, h);
> > > > -               }
> > > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > > > kmstest_pipe_name(pipe), w, h) {
> > > > -                       igt_require(has_nonsquare_cursors(data));
> > > > -                       run_test(data, test_crc_sliding, w, h);
> > > > -               }
> > > > -               igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > > > kmstest_pipe_name(pipe), w, h) {
> > > > -                       igt_require(has_nonsquare_cursors(data));
> > > > -                       run_test(data, test_crc_random, w, h);
> > > > +               igt_subtest_group {
> > > > +                       igt_fixture
> > > > +                               require_cursor_size(data, w, h);
> > > > +
> > > > +                       /* Using created cursor FBs to test cursor
> > > > support
> > > > */
> > > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > +                               run_test(data, test_crc_onscreen, w, h);
> > > > +
> > > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > +                               run_test(data, test_crc_offscreen, w,
> > > > h);
> > > > +
> > > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-sliding",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > +                               run_test(data, test_crc_sliding, w, h);
> > > > +
> > > > +                       igt_subtest_f("pipe-%s-cursor-%dx%d-random",
> > > > kmstest_pipe_name(pipe), w, h)
> > > > +                               run_test(data, test_crc_random, w, h);
> > > >                 }
> > > >  
> > > >                 igt_fixture
> > > > -- 
> > > > 2.29.2
> > > > 
> > > > _______________________________________________
> > > > igt-dev mailing list
> > > > igt-dev@lists.freedesktop.org
> > > > https://lists.freedesktop.org/mailman/listinfo/igt-dev
> > > 
> > 
> > -- 
> > Sincerely,
> >    Lyude Paul (she/her)
> >    Software Engineer at Red Hat
> >    
> > Note: I deal with a lot of emails and have a lot of bugs on my plate. If
> > you've
> > asked me a question, are waiting for a review/merge on a patch, etc. and I
> > haven't responded in a while, please feel free to send me another email to
> > check
> > on my status. I don't bite!
> 

-- 
Sincerely,
   Lyude Paul (she/her)
   Software Engineer at Red Hat
   
Note: I deal with a lot of emails and have a lot of bugs on my plate. If you've
asked me a question, are waiting for a review/merge on a patch, etc. and I
haven't responded in a while, please feel free to send me another email to check
on my status. I don't bite!

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [Nouveau] [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_cursor_crc: Probe kernel for cursor size support
  2021-03-19 18:43           ` Lyude Paul
@ 2021-03-19 21:21             ` Ville Syrjälä
  -1 siblings, 0 replies; 30+ messages in thread
From: Ville Syrjälä @ 2021-03-19 21:21 UTC (permalink / raw)
  To: Lyude Paul; +Cc: igt-dev, nouveau, Ben Skeggs

On Fri, Mar 19, 2021 at 02:43:56PM -0400, Lyude Paul wrote:
> On Fri, 2021-03-19 at 20:00 +0200, Ville Syrjälä wrote:
> > On Fri, Mar 19, 2021 at 01:40:52PM -0400, Lyude Paul wrote:
> > > On Fri, 2021-03-19 at 17:01 +0200, Ville Syrjälä wrote:
> > > > On Thu, Mar 18, 2021 at 06:21:23PM -0400, Lyude wrote:
> > > > > From: Lyude Paul <lyude@redhat.com>
> > > > > 
> > > > > Currently we just assume that every cursor size up to data-
> > > > > >cursor_max_w/h
> > > > > will
> > > > > be supported by the driver, and check for support of nonsquare cursors
> > > > > by
> > > > > checking if we're running on u815 and if so, which variant of intel
> > > > > hardware
> > > > > we're running on. This isn't really ideal as we're about to enable 32x32
> > > > > cursor
> > > > > size tests for nouveau, and Intel hardware doesn't support cursor sizes
> > > > > that
> > > > > small.
> > > > > 
> > > > > So, fix this by removing has_nonsquare_cursors() and replacing it with a
> > > > > more
> > > > > generic require_cursor_size() function which checks whether or not the
> > > > > driver
> > > > > we're using supports a given cursor size by attempting a test-only
> > > > > atomic
> > > > > commit.
> > > > > 
> > > > > Signed-off-by: Lyude Paul <lyude@redhat.com>
> > > > > Cc: Martin Peres <martin.peres@free.fr>
> > > > > Cc: Ben Skeggs <bskeggs@redhat.com>
> > > > > Cc: Jeremy Cline <jcline@redhat.com>
> > > > > ---
> > > > >  tests/kms_cursor_crc.c | 131 ++++++++++++++++++++++++-----------------
> > > > >  1 file changed, 76 insertions(+), 55 deletions(-)
> > > > > 
> > > > > diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> > > > > index 3541ea06..b9c05472 100644
> > > > > --- a/tests/kms_cursor_crc.c
> > > > > +++ b/tests/kms_cursor_crc.c
> > > > > @@ -523,26 +523,43 @@ static void create_cursor_fb(data_t *data, int
> > > > > cur_w,
> > > > > int cur_h)
> > > > >         igt_put_cairo_ctx(cr);
> > > > >  }
> > > > >  
> > > > > -static bool has_nonsquare_cursors(data_t *data)
> > > > > +static void require_cursor_size(data_t *data, int w, int h)
> > > > >  {
> > > > > -       uint32_t devid;
> > > > > +       igt_fb_t primary_fb;
> > > > > +       drmModeModeInfo *mode;
> > > > > +       igt_display_t *display = &data->display;
> > > > > +       igt_output_t *output = data->output;
> > > > > +       igt_plane_t *primary, *cursor;
> > > > > +       int ret;
> > > > >  
> > > > > -       if (!is_i915_device(data->drm_fd))
> > > > > -               return false;
> > > > > +       igt_output_set_pipe(output, data->pipe);
> > > > >  
> > > > > -       devid = intel_get_drm_devid(data->drm_fd);
> > > > > +       mode = igt_output_get_mode(output);
> > > > > +       primary = igt_output_get_plane_type(output,
> > > > > DRM_PLANE_TYPE_PRIMARY);
> > > > > +       cursor = igt_output_get_plane_type(output,
> > > > > DRM_PLANE_TYPE_CURSOR);
> > > > >  
> > > > > -       /*
> > > > > -        * Test non-square cursors a bit on the platforms
> > > > > -        * that support such things.
> > > > > -        */
> > > > > -       if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
> > > > > -               return true;
> > > > > +       /* Create temporary primary fb for testing */
> > > > > +       igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode-
> > > > > > vdisplay, DRM_FORMAT_XRGB8888,
> > > > > +                                LOCAL_DRM_FORMAT_MOD_NONE,
> > > > > &primary_fb));
> > > > >  
> > > > > -       if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
> > > > > -               return false;
> > > > > +       igt_plane_set_fb(primary, &primary_fb);
> > > > > +       igt_plane_set_fb(cursor, &data->fb);
> > > > > +       igt_plane_set_size(cursor, w, h);
> > > > > +       igt_fb_set_size(&data->fb, cursor, w, h);
> > > > > +
> > > > > +       /* Test if the kernel supports the given cursor size or not */
> > > > > +       ret = igt_display_try_commit_atomic(display,
> > > > > +                                           DRM_MODE_ATOMIC_TEST_ONLY |
> > > > > +                                          
> > > > > DRM_MODE_ATOMIC_ALLOW_MODESET,
> > > > > +                                           NULL);
> > > > 
> > > > Would be better to not depend on atomic. We have platforms
> > > > that don't expose it yet.
> > > 
> > > Do you have any other ideas how we could probe for this then? it seems like
> > > the
> > > only alternative would be to add intel-specific checks to fix that, or add
> > > some
> > > ioctl for querying the minimum cursor size (which sounds preferable imo).
> > > would
> > > the latter work for you, or do you have another idea?
> > 
> > Just do it for real instead of TEST_ONLY.
> 
> ah-and it'll still fail in that case I assume?

Yeah, should fail just the same if the driver doesn't like it.

-- 
Ville Syrjälä
Intel
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

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

* Re: [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_cursor_crc: Probe kernel for cursor size support
@ 2021-03-19 21:21             ` Ville Syrjälä
  0 siblings, 0 replies; 30+ messages in thread
From: Ville Syrjälä @ 2021-03-19 21:21 UTC (permalink / raw)
  To: Lyude Paul; +Cc: igt-dev, nouveau, Martin Peres, Ben Skeggs

On Fri, Mar 19, 2021 at 02:43:56PM -0400, Lyude Paul wrote:
> On Fri, 2021-03-19 at 20:00 +0200, Ville Syrjälä wrote:
> > On Fri, Mar 19, 2021 at 01:40:52PM -0400, Lyude Paul wrote:
> > > On Fri, 2021-03-19 at 17:01 +0200, Ville Syrjälä wrote:
> > > > On Thu, Mar 18, 2021 at 06:21:23PM -0400, Lyude wrote:
> > > > > From: Lyude Paul <lyude@redhat.com>
> > > > > 
> > > > > Currently we just assume that every cursor size up to data-
> > > > > >cursor_max_w/h
> > > > > will
> > > > > be supported by the driver, and check for support of nonsquare cursors
> > > > > by
> > > > > checking if we're running on u815 and if so, which variant of intel
> > > > > hardware
> > > > > we're running on. This isn't really ideal as we're about to enable 32x32
> > > > > cursor
> > > > > size tests for nouveau, and Intel hardware doesn't support cursor sizes
> > > > > that
> > > > > small.
> > > > > 
> > > > > So, fix this by removing has_nonsquare_cursors() and replacing it with a
> > > > > more
> > > > > generic require_cursor_size() function which checks whether or not the
> > > > > driver
> > > > > we're using supports a given cursor size by attempting a test-only
> > > > > atomic
> > > > > commit.
> > > > > 
> > > > > Signed-off-by: Lyude Paul <lyude@redhat.com>
> > > > > Cc: Martin Peres <martin.peres@free.fr>
> > > > > Cc: Ben Skeggs <bskeggs@redhat.com>
> > > > > Cc: Jeremy Cline <jcline@redhat.com>
> > > > > ---
> > > > >  tests/kms_cursor_crc.c | 131 ++++++++++++++++++++++++-----------------
> > > > >  1 file changed, 76 insertions(+), 55 deletions(-)
> > > > > 
> > > > > diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> > > > > index 3541ea06..b9c05472 100644
> > > > > --- a/tests/kms_cursor_crc.c
> > > > > +++ b/tests/kms_cursor_crc.c
> > > > > @@ -523,26 +523,43 @@ static void create_cursor_fb(data_t *data, int
> > > > > cur_w,
> > > > > int cur_h)
> > > > >         igt_put_cairo_ctx(cr);
> > > > >  }
> > > > >  
> > > > > -static bool has_nonsquare_cursors(data_t *data)
> > > > > +static void require_cursor_size(data_t *data, int w, int h)
> > > > >  {
> > > > > -       uint32_t devid;
> > > > > +       igt_fb_t primary_fb;
> > > > > +       drmModeModeInfo *mode;
> > > > > +       igt_display_t *display = &data->display;
> > > > > +       igt_output_t *output = data->output;
> > > > > +       igt_plane_t *primary, *cursor;
> > > > > +       int ret;
> > > > >  
> > > > > -       if (!is_i915_device(data->drm_fd))
> > > > > -               return false;
> > > > > +       igt_output_set_pipe(output, data->pipe);
> > > > >  
> > > > > -       devid = intel_get_drm_devid(data->drm_fd);
> > > > > +       mode = igt_output_get_mode(output);
> > > > > +       primary = igt_output_get_plane_type(output,
> > > > > DRM_PLANE_TYPE_PRIMARY);
> > > > > +       cursor = igt_output_get_plane_type(output,
> > > > > DRM_PLANE_TYPE_CURSOR);
> > > > >  
> > > > > -       /*
> > > > > -        * Test non-square cursors a bit on the platforms
> > > > > -        * that support such things.
> > > > > -        */
> > > > > -       if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
> > > > > -               return true;
> > > > > +       /* Create temporary primary fb for testing */
> > > > > +       igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode-
> > > > > > vdisplay, DRM_FORMAT_XRGB8888,
> > > > > +                                LOCAL_DRM_FORMAT_MOD_NONE,
> > > > > &primary_fb));
> > > > >  
> > > > > -       if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
> > > > > -               return false;
> > > > > +       igt_plane_set_fb(primary, &primary_fb);
> > > > > +       igt_plane_set_fb(cursor, &data->fb);
> > > > > +       igt_plane_set_size(cursor, w, h);
> > > > > +       igt_fb_set_size(&data->fb, cursor, w, h);
> > > > > +
> > > > > +       /* Test if the kernel supports the given cursor size or not */
> > > > > +       ret = igt_display_try_commit_atomic(display,
> > > > > +                                           DRM_MODE_ATOMIC_TEST_ONLY |
> > > > > +                                          
> > > > > DRM_MODE_ATOMIC_ALLOW_MODESET,
> > > > > +                                           NULL);
> > > > 
> > > > Would be better to not depend on atomic. We have platforms
> > > > that don't expose it yet.
> > > 
> > > Do you have any other ideas how we could probe for this then? it seems like
> > > the
> > > only alternative would be to add intel-specific checks to fix that, or add
> > > some
> > > ioctl for querying the minimum cursor size (which sounds preferable imo).
> > > would
> > > the latter work for you, or do you have another idea?
> > 
> > Just do it for real instead of TEST_ONLY.
> 
> ah-and it'll still fail in that case I assume?

Yeah, should fail just the same if the driver doesn't like it.

-- 
Ville Syrjälä
Intel
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [Nouveau] [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_cursor_crc: Probe kernel for cursor size support
  2021-03-19 21:21             ` Ville Syrjälä
@ 2021-03-21 12:59               ` Daniel Vetter
  -1 siblings, 0 replies; 30+ messages in thread
From: Daniel Vetter @ 2021-03-21 12:59 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: IGT development, Nouveau Dev, Ben Skeggs

On Fri, Mar 19, 2021 at 10:21 PM Ville Syrjälä
<ville.syrjala@linux.intel.com> wrote:
>
> On Fri, Mar 19, 2021 at 02:43:56PM -0400, Lyude Paul wrote:
> > On Fri, 2021-03-19 at 20:00 +0200, Ville Syrjälä wrote:
> > > On Fri, Mar 19, 2021 at 01:40:52PM -0400, Lyude Paul wrote:
> > > > On Fri, 2021-03-19 at 17:01 +0200, Ville Syrjälä wrote:
> > > > > On Thu, Mar 18, 2021 at 06:21:23PM -0400, Lyude wrote:
> > > > > > From: Lyude Paul <lyude@redhat.com>
> > > > > >
> > > > > > Currently we just assume that every cursor size up to data-
> > > > > > >cursor_max_w/h
> > > > > > will
> > > > > > be supported by the driver, and check for support of nonsquare cursors
> > > > > > by
> > > > > > checking if we're running on u815 and if so, which variant of intel
> > > > > > hardware
> > > > > > we're running on. This isn't really ideal as we're about to enable 32x32
> > > > > > cursor
> > > > > > size tests for nouveau, and Intel hardware doesn't support cursor sizes
> > > > > > that
> > > > > > small.
> > > > > >
> > > > > > So, fix this by removing has_nonsquare_cursors() and replacing it with a
> > > > > > more
> > > > > > generic require_cursor_size() function which checks whether or not the
> > > > > > driver
> > > > > > we're using supports a given cursor size by attempting a test-only
> > > > > > atomic
> > > > > > commit.
> > > > > >
> > > > > > Signed-off-by: Lyude Paul <lyude@redhat.com>
> > > > > > Cc: Martin Peres <martin.peres@free.fr>
> > > > > > Cc: Ben Skeggs <bskeggs@redhat.com>
> > > > > > Cc: Jeremy Cline <jcline@redhat.com>
> > > > > > ---
> > > > > >  tests/kms_cursor_crc.c | 131 ++++++++++++++++++++++++-----------------
> > > > > >  1 file changed, 76 insertions(+), 55 deletions(-)
> > > > > >
> > > > > > diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> > > > > > index 3541ea06..b9c05472 100644
> > > > > > --- a/tests/kms_cursor_crc.c
> > > > > > +++ b/tests/kms_cursor_crc.c
> > > > > > @@ -523,26 +523,43 @@ static void create_cursor_fb(data_t *data, int
> > > > > > cur_w,
> > > > > > int cur_h)
> > > > > >         igt_put_cairo_ctx(cr);
> > > > > >  }
> > > > > >
> > > > > > -static bool has_nonsquare_cursors(data_t *data)
> > > > > > +static void require_cursor_size(data_t *data, int w, int h)
> > > > > >  {
> > > > > > -       uint32_t devid;
> > > > > > +       igt_fb_t primary_fb;
> > > > > > +       drmModeModeInfo *mode;
> > > > > > +       igt_display_t *display = &data->display;
> > > > > > +       igt_output_t *output = data->output;
> > > > > > +       igt_plane_t *primary, *cursor;
> > > > > > +       int ret;
> > > > > >
> > > > > > -       if (!is_i915_device(data->drm_fd))
> > > > > > -               return false;
> > > > > > +       igt_output_set_pipe(output, data->pipe);
> > > > > >
> > > > > > -       devid = intel_get_drm_devid(data->drm_fd);
> > > > > > +       mode = igt_output_get_mode(output);
> > > > > > +       primary = igt_output_get_plane_type(output,
> > > > > > DRM_PLANE_TYPE_PRIMARY);
> > > > > > +       cursor = igt_output_get_plane_type(output,
> > > > > > DRM_PLANE_TYPE_CURSOR);
> > > > > >
> > > > > > -       /*
> > > > > > -        * Test non-square cursors a bit on the platforms
> > > > > > -        * that support such things.
> > > > > > -        */
> > > > > > -       if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
> > > > > > -               return true;
> > > > > > +       /* Create temporary primary fb for testing */
> > > > > > +       igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode-
> > > > > > > vdisplay, DRM_FORMAT_XRGB8888,
> > > > > > +                                LOCAL_DRM_FORMAT_MOD_NONE,
> > > > > > &primary_fb));
> > > > > >
> > > > > > -       if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
> > > > > > -               return false;
> > > > > > +       igt_plane_set_fb(primary, &primary_fb);
> > > > > > +       igt_plane_set_fb(cursor, &data->fb);
> > > > > > +       igt_plane_set_size(cursor, w, h);
> > > > > > +       igt_fb_set_size(&data->fb, cursor, w, h);
> > > > > > +
> > > > > > +       /* Test if the kernel supports the given cursor size or not */
> > > > > > +       ret = igt_display_try_commit_atomic(display,
> > > > > > +                                           DRM_MODE_ATOMIC_TEST_ONLY |
> > > > > > +
> > > > > > DRM_MODE_ATOMIC_ALLOW_MODESET,
> > > > > > +                                           NULL);
> > > > >
> > > > > Would be better to not depend on atomic. We have platforms
> > > > > that don't expose it yet.
> > > >
> > > > Do you have any other ideas how we could probe for this then? it seems like
> > > > the
> > > > only alternative would be to add intel-specific checks to fix that, or add
> > > > some
> > > > ioctl for querying the minimum cursor size (which sounds preferable imo).
> > > > would
> > > > the latter work for you, or do you have another idea?
> > >
> > > Just do it for real instead of TEST_ONLY.
> >
> > ah-and it'll still fail in that case I assume?
>
> Yeah, should fail just the same if the driver doesn't like it.

Doing the atomic TEST_ONLY first would be good, if atomic support
exists, since it's faster. Doing modesets just to figure out whether
we should test something is a bit expensive, best not to inflict on
that on new machines.
-Daniel

>
> --
> Ville Syrjälä
> Intel
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev



-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

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

* Re: [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_cursor_crc: Probe kernel for cursor size support
@ 2021-03-21 12:59               ` Daniel Vetter
  0 siblings, 0 replies; 30+ messages in thread
From: Daniel Vetter @ 2021-03-21 12:59 UTC (permalink / raw)
  To: Ville Syrjälä
  Cc: IGT development, Nouveau Dev, Martin Peres, Ben Skeggs

On Fri, Mar 19, 2021 at 10:21 PM Ville Syrjälä
<ville.syrjala@linux.intel.com> wrote:
>
> On Fri, Mar 19, 2021 at 02:43:56PM -0400, Lyude Paul wrote:
> > On Fri, 2021-03-19 at 20:00 +0200, Ville Syrjälä wrote:
> > > On Fri, Mar 19, 2021 at 01:40:52PM -0400, Lyude Paul wrote:
> > > > On Fri, 2021-03-19 at 17:01 +0200, Ville Syrjälä wrote:
> > > > > On Thu, Mar 18, 2021 at 06:21:23PM -0400, Lyude wrote:
> > > > > > From: Lyude Paul <lyude@redhat.com>
> > > > > >
> > > > > > Currently we just assume that every cursor size up to data-
> > > > > > >cursor_max_w/h
> > > > > > will
> > > > > > be supported by the driver, and check for support of nonsquare cursors
> > > > > > by
> > > > > > checking if we're running on u815 and if so, which variant of intel
> > > > > > hardware
> > > > > > we're running on. This isn't really ideal as we're about to enable 32x32
> > > > > > cursor
> > > > > > size tests for nouveau, and Intel hardware doesn't support cursor sizes
> > > > > > that
> > > > > > small.
> > > > > >
> > > > > > So, fix this by removing has_nonsquare_cursors() and replacing it with a
> > > > > > more
> > > > > > generic require_cursor_size() function which checks whether or not the
> > > > > > driver
> > > > > > we're using supports a given cursor size by attempting a test-only
> > > > > > atomic
> > > > > > commit.
> > > > > >
> > > > > > Signed-off-by: Lyude Paul <lyude@redhat.com>
> > > > > > Cc: Martin Peres <martin.peres@free.fr>
> > > > > > Cc: Ben Skeggs <bskeggs@redhat.com>
> > > > > > Cc: Jeremy Cline <jcline@redhat.com>
> > > > > > ---
> > > > > >  tests/kms_cursor_crc.c | 131 ++++++++++++++++++++++++-----------------
> > > > > >  1 file changed, 76 insertions(+), 55 deletions(-)
> > > > > >
> > > > > > diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> > > > > > index 3541ea06..b9c05472 100644
> > > > > > --- a/tests/kms_cursor_crc.c
> > > > > > +++ b/tests/kms_cursor_crc.c
> > > > > > @@ -523,26 +523,43 @@ static void create_cursor_fb(data_t *data, int
> > > > > > cur_w,
> > > > > > int cur_h)
> > > > > >         igt_put_cairo_ctx(cr);
> > > > > >  }
> > > > > >
> > > > > > -static bool has_nonsquare_cursors(data_t *data)
> > > > > > +static void require_cursor_size(data_t *data, int w, int h)
> > > > > >  {
> > > > > > -       uint32_t devid;
> > > > > > +       igt_fb_t primary_fb;
> > > > > > +       drmModeModeInfo *mode;
> > > > > > +       igt_display_t *display = &data->display;
> > > > > > +       igt_output_t *output = data->output;
> > > > > > +       igt_plane_t *primary, *cursor;
> > > > > > +       int ret;
> > > > > >
> > > > > > -       if (!is_i915_device(data->drm_fd))
> > > > > > -               return false;
> > > > > > +       igt_output_set_pipe(output, data->pipe);
> > > > > >
> > > > > > -       devid = intel_get_drm_devid(data->drm_fd);
> > > > > > +       mode = igt_output_get_mode(output);
> > > > > > +       primary = igt_output_get_plane_type(output,
> > > > > > DRM_PLANE_TYPE_PRIMARY);
> > > > > > +       cursor = igt_output_get_plane_type(output,
> > > > > > DRM_PLANE_TYPE_CURSOR);
> > > > > >
> > > > > > -       /*
> > > > > > -        * Test non-square cursors a bit on the platforms
> > > > > > -        * that support such things.
> > > > > > -        */
> > > > > > -       if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
> > > > > > -               return true;
> > > > > > +       /* Create temporary primary fb for testing */
> > > > > > +       igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode-
> > > > > > > vdisplay, DRM_FORMAT_XRGB8888,
> > > > > > +                                LOCAL_DRM_FORMAT_MOD_NONE,
> > > > > > &primary_fb));
> > > > > >
> > > > > > -       if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
> > > > > > -               return false;
> > > > > > +       igt_plane_set_fb(primary, &primary_fb);
> > > > > > +       igt_plane_set_fb(cursor, &data->fb);
> > > > > > +       igt_plane_set_size(cursor, w, h);
> > > > > > +       igt_fb_set_size(&data->fb, cursor, w, h);
> > > > > > +
> > > > > > +       /* Test if the kernel supports the given cursor size or not */
> > > > > > +       ret = igt_display_try_commit_atomic(display,
> > > > > > +                                           DRM_MODE_ATOMIC_TEST_ONLY |
> > > > > > +
> > > > > > DRM_MODE_ATOMIC_ALLOW_MODESET,
> > > > > > +                                           NULL);
> > > > >
> > > > > Would be better to not depend on atomic. We have platforms
> > > > > that don't expose it yet.
> > > >
> > > > Do you have any other ideas how we could probe for this then? it seems like
> > > > the
> > > > only alternative would be to add intel-specific checks to fix that, or add
> > > > some
> > > > ioctl for querying the minimum cursor size (which sounds preferable imo).
> > > > would
> > > > the latter work for you, or do you have another idea?
> > >
> > > Just do it for real instead of TEST_ONLY.
> >
> > ah-and it'll still fail in that case I assume?
>
> Yeah, should fail just the same if the driver doesn't like it.

Doing the atomic TEST_ONLY first would be good, if atomic support
exists, since it's faster. Doing modesets just to figure out whether
we should test something is a bit expensive, best not to inflict on
that on new machines.
-Daniel

>
> --
> Ville Syrjälä
> Intel
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev



-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [Nouveau] [PATCH i-g-t v3] tests/kms_cursor_crc: Probe kernel for cursor size support
  2021-03-18 22:21   ` [igt-dev] " Lyude
@ 2021-03-23 17:25     ` Lyude
  -1 siblings, 0 replies; 30+ messages in thread
From: Lyude @ 2021-03-23 17:25 UTC (permalink / raw)
  To: igt-dev; +Cc: nouveau, Ben Skeggs

From: Lyude Paul <lyude@redhat.com>

Currently we just assume that every cursor size up to data->cursor_max_w/h will
be supported by the driver, and check for support of nonsquare cursors by
checking if we're running on u815 and if so, which variant of intel hardware
we're running on. This isn't really ideal as we're about to enable 32x32 cursor
size tests for nouveau, and Intel hardware doesn't support cursor sizes that
small.

So, fix this by removing has_nonsquare_cursors() and replacing it with a more
generic require_cursor_size() function which checks whether or not the driver
we're using supports a given cursor size by attempting a test-only atomic
commit.

v3:
* Also probe for cursor support on systems without atomic support

Signed-off-by: Lyude Paul <lyude@redhat.com>
Cc: Martin Peres <martin.peres@free.fr>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Jeremy Cline <jcline@redhat.com>
---
 tests/kms_cursor_crc.c | 133 ++++++++++++++++++++++++-----------------
 1 file changed, 78 insertions(+), 55 deletions(-)

diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
index 3541ea06..529e2171 100644
--- a/tests/kms_cursor_crc.c
+++ b/tests/kms_cursor_crc.c
@@ -523,26 +523,45 @@ static void create_cursor_fb(data_t *data, int cur_w, int cur_h)
 	igt_put_cairo_ctx(cr);
 }
 
-static bool has_nonsquare_cursors(data_t *data)
+static void require_cursor_size(data_t *data, int w, int h)
 {
-	uint32_t devid;
+	igt_fb_t primary_fb;
+	drmModeModeInfo *mode;
+	igt_display_t *display = &data->display;
+	igt_output_t *output = data->output;
+	igt_plane_t *primary, *cursor;
+	int ret;
 
-	if (!is_i915_device(data->drm_fd))
-		return false;
+	igt_output_set_pipe(output, data->pipe);
 
-	devid = intel_get_drm_devid(data->drm_fd);
+	mode = igt_output_get_mode(output);
+	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+	cursor = igt_output_get_plane_type(output, DRM_PLANE_TYPE_CURSOR);
+
+	/* Create temporary primary fb for testing */
+	igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, DRM_FORMAT_XRGB8888,
+				 LOCAL_DRM_FORMAT_MOD_NONE, &primary_fb));
+
+	igt_plane_set_fb(primary, &primary_fb);
+	igt_plane_set_fb(cursor, &data->fb);
+	igt_plane_set_size(cursor, w, h);
+	igt_fb_set_size(&data->fb, cursor, w, h);
+
+	/* Test if the kernel supports the given cursor size or not */
+	if (display->is_atomic)
+		ret = igt_display_try_commit_atomic(display,
+						    DRM_MODE_ATOMIC_TEST_ONLY |
+						    DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+	else
+		ret = igt_display_try_commit2(display, COMMIT_LEGACY);
 
-	/*
-	 * Test non-square cursors a bit on the platforms
-	 * that support such things.
-	 */
-	if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
-		return true;
+	igt_plane_set_fb(primary, NULL);
+	igt_plane_set_fb(cursor, NULL);
 
-	if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
-		return false;
+	igt_remove_fb(data->drm_fd, &primary_fb);
+	igt_output_set_pipe(output, PIPE_NONE);
 
-	return intel_gen(devid) >= 7;
+	igt_skip_on_f(ret, "Cursor size %dx%d not supported by driver\n", w, h);
 }
 
 static void test_cursor_size(data_t *data)
@@ -697,27 +716,33 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
 			create_cursor_fb(data, w, h);
 		}
 
-		/* Using created cursor FBs to test cursor support */
-		igt_describe("Check if a given-size cursor is well-positioned inside the screen.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
-			run_test(data, test_crc_onscreen, w, h);
-
-		igt_describe("Check if a given-size cursor is well-positioned outside the screen.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
-			run_test(data, test_crc_offscreen, w, h);
-
-		igt_describe("Check the smooth and pixel-by-pixel given-size cursor movements on"
-		             "horizontal, vertical and diagonal.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
-			run_test(data, test_crc_sliding, w, h);
-
-		igt_describe("Check random placement of a cursor with given size.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
-			run_test(data, test_crc_random, w, h);
-
-		igt_describe("Check the rapid update of given-size cursor movements.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h) {
-			run_test(data, test_rapid_movement, w, h);
+		igt_subtest_group {
+			igt_fixture
+				require_cursor_size(data, w, h);
+
+			/* Using created cursor FBs to test cursor support */
+			igt_describe("Check if a given-size cursor is well-positioned inside the "
+				     "screen.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_onscreen, w, h);
+
+			igt_describe("Check if a given-size cursor is well-positioned outside the "
+				     "screen.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_offscreen, w, h);
+
+			igt_describe("Check the smooth and pixel-by-pixel given-size cursor "
+				     "movements on horizontal, vertical and diagonal.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_sliding, w, h);
+
+			igt_describe("Check random placement of a cursor with given size.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_random, w, h);
+
+			igt_describe("Check the rapid update of given-size cursor movements.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_rapid_movement, w, h);
 		}
 
 		igt_fixture
@@ -730,27 +755,25 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
 		 */
 		h /= 3;
 
-		igt_fixture {
-			if (has_nonsquare_cursors(data))
-				create_cursor_fb(data, w, h);
-		}
+		igt_fixture
+			create_cursor_fb(data, w, h);
 
-		/* Using created cursor FBs to test cursor support */
-		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h) {
-			igt_require(has_nonsquare_cursors(data));
-			run_test(data, test_crc_onscreen, w, h);
-		}
-		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h) {
-			igt_require(has_nonsquare_cursors(data));
-			run_test(data, test_crc_offscreen, w, h);
-		}
-		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h) {
-			igt_require(has_nonsquare_cursors(data));
-			run_test(data, test_crc_sliding, w, h);
-		}
-		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h) {
-			igt_require(has_nonsquare_cursors(data));
-			run_test(data, test_crc_random, w, h);
+		igt_subtest_group {
+			igt_fixture
+				require_cursor_size(data, w, h);
+
+			/* Using created cursor FBs to test cursor support */
+			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_onscreen, w, h);
+
+			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_offscreen, w, h);
+
+			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_sliding, w, h);
+
+			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_random, w, h);
 		}
 
 		igt_fixture
-- 
2.29.2

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

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

* [igt-dev] [PATCH i-g-t v3] tests/kms_cursor_crc: Probe kernel for cursor size support
@ 2021-03-23 17:25     ` Lyude
  0 siblings, 0 replies; 30+ messages in thread
From: Lyude @ 2021-03-23 17:25 UTC (permalink / raw)
  To: igt-dev; +Cc: nouveau, Martin Peres, Ben Skeggs

From: Lyude Paul <lyude@redhat.com>

Currently we just assume that every cursor size up to data->cursor_max_w/h will
be supported by the driver, and check for support of nonsquare cursors by
checking if we're running on u815 and if so, which variant of intel hardware
we're running on. This isn't really ideal as we're about to enable 32x32 cursor
size tests for nouveau, and Intel hardware doesn't support cursor sizes that
small.

So, fix this by removing has_nonsquare_cursors() and replacing it with a more
generic require_cursor_size() function which checks whether or not the driver
we're using supports a given cursor size by attempting a test-only atomic
commit.

v3:
* Also probe for cursor support on systems without atomic support

Signed-off-by: Lyude Paul <lyude@redhat.com>
Cc: Martin Peres <martin.peres@free.fr>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Jeremy Cline <jcline@redhat.com>
---
 tests/kms_cursor_crc.c | 133 ++++++++++++++++++++++++-----------------
 1 file changed, 78 insertions(+), 55 deletions(-)

diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
index 3541ea06..529e2171 100644
--- a/tests/kms_cursor_crc.c
+++ b/tests/kms_cursor_crc.c
@@ -523,26 +523,45 @@ static void create_cursor_fb(data_t *data, int cur_w, int cur_h)
 	igt_put_cairo_ctx(cr);
 }
 
-static bool has_nonsquare_cursors(data_t *data)
+static void require_cursor_size(data_t *data, int w, int h)
 {
-	uint32_t devid;
+	igt_fb_t primary_fb;
+	drmModeModeInfo *mode;
+	igt_display_t *display = &data->display;
+	igt_output_t *output = data->output;
+	igt_plane_t *primary, *cursor;
+	int ret;
 
-	if (!is_i915_device(data->drm_fd))
-		return false;
+	igt_output_set_pipe(output, data->pipe);
 
-	devid = intel_get_drm_devid(data->drm_fd);
+	mode = igt_output_get_mode(output);
+	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+	cursor = igt_output_get_plane_type(output, DRM_PLANE_TYPE_CURSOR);
+
+	/* Create temporary primary fb for testing */
+	igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, DRM_FORMAT_XRGB8888,
+				 LOCAL_DRM_FORMAT_MOD_NONE, &primary_fb));
+
+	igt_plane_set_fb(primary, &primary_fb);
+	igt_plane_set_fb(cursor, &data->fb);
+	igt_plane_set_size(cursor, w, h);
+	igt_fb_set_size(&data->fb, cursor, w, h);
+
+	/* Test if the kernel supports the given cursor size or not */
+	if (display->is_atomic)
+		ret = igt_display_try_commit_atomic(display,
+						    DRM_MODE_ATOMIC_TEST_ONLY |
+						    DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+	else
+		ret = igt_display_try_commit2(display, COMMIT_LEGACY);
 
-	/*
-	 * Test non-square cursors a bit on the platforms
-	 * that support such things.
-	 */
-	if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
-		return true;
+	igt_plane_set_fb(primary, NULL);
+	igt_plane_set_fb(cursor, NULL);
 
-	if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
-		return false;
+	igt_remove_fb(data->drm_fd, &primary_fb);
+	igt_output_set_pipe(output, PIPE_NONE);
 
-	return intel_gen(devid) >= 7;
+	igt_skip_on_f(ret, "Cursor size %dx%d not supported by driver\n", w, h);
 }
 
 static void test_cursor_size(data_t *data)
@@ -697,27 +716,33 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
 			create_cursor_fb(data, w, h);
 		}
 
-		/* Using created cursor FBs to test cursor support */
-		igt_describe("Check if a given-size cursor is well-positioned inside the screen.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
-			run_test(data, test_crc_onscreen, w, h);
-
-		igt_describe("Check if a given-size cursor is well-positioned outside the screen.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
-			run_test(data, test_crc_offscreen, w, h);
-
-		igt_describe("Check the smooth and pixel-by-pixel given-size cursor movements on"
-		             "horizontal, vertical and diagonal.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
-			run_test(data, test_crc_sliding, w, h);
-
-		igt_describe("Check random placement of a cursor with given size.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
-			run_test(data, test_crc_random, w, h);
-
-		igt_describe("Check the rapid update of given-size cursor movements.");
-		igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h) {
-			run_test(data, test_rapid_movement, w, h);
+		igt_subtest_group {
+			igt_fixture
+				require_cursor_size(data, w, h);
+
+			/* Using created cursor FBs to test cursor support */
+			igt_describe("Check if a given-size cursor is well-positioned inside the "
+				     "screen.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_onscreen, w, h);
+
+			igt_describe("Check if a given-size cursor is well-positioned outside the "
+				     "screen.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_offscreen, w, h);
+
+			igt_describe("Check the smooth and pixel-by-pixel given-size cursor "
+				     "movements on horizontal, vertical and diagonal.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_sliding, w, h);
+
+			igt_describe("Check random placement of a cursor with given size.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_random, w, h);
+
+			igt_describe("Check the rapid update of given-size cursor movements.");
+			igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_rapid_movement, w, h);
 		}
 
 		igt_fixture
@@ -730,27 +755,25 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
 		 */
 		h /= 3;
 
-		igt_fixture {
-			if (has_nonsquare_cursors(data))
-				create_cursor_fb(data, w, h);
-		}
+		igt_fixture
+			create_cursor_fb(data, w, h);
 
-		/* Using created cursor FBs to test cursor support */
-		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h) {
-			igt_require(has_nonsquare_cursors(data));
-			run_test(data, test_crc_onscreen, w, h);
-		}
-		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h) {
-			igt_require(has_nonsquare_cursors(data));
-			run_test(data, test_crc_offscreen, w, h);
-		}
-		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h) {
-			igt_require(has_nonsquare_cursors(data));
-			run_test(data, test_crc_sliding, w, h);
-		}
-		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h) {
-			igt_require(has_nonsquare_cursors(data));
-			run_test(data, test_crc_random, w, h);
+		igt_subtest_group {
+			igt_fixture
+				require_cursor_size(data, w, h);
+
+			/* Using created cursor FBs to test cursor support */
+			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_onscreen, w, h);
+
+			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_offscreen, w, h);
+
+			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_sliding, w, h);
+
+			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
+				run_test(data, test_crc_random, w, h);
 		}
 
 		igt_fixture
-- 
2.29.2

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_cursor_crc: Test 32x32 cursors (rev2)
  2021-03-18 22:21 ` [igt-dev] " Lyude
                   ` (4 preceding siblings ...)
  (?)
@ 2021-03-23 18:46 ` Patchwork
  -1 siblings, 0 replies; 30+ messages in thread
From: Patchwork @ 2021-03-23 18:46 UTC (permalink / raw)
  To: Lyude Paul; +Cc: igt-dev


[-- Attachment #1.1: Type: text/plain, Size: 7585 bytes --]

== Series Details ==

Series: tests/kms_cursor_crc: Test 32x32 cursors (rev2)
URL   : https://patchwork.freedesktop.org/series/88144/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_9885 -> IGTPW_5647
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_prime@amd-to-i915:
    - fi-kbl-8809g:       NOTRUN -> [DMESG-WARN][1] ([i915#2947])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/fi-kbl-8809g/igt@amdgpu/amd_prime@amd-to-i915.html

  * igt@gem_tiled_blits@basic:
    - fi-tgl-y:           [PASS][2] -> [DMESG-WARN][3] ([i915#402]) +1 similar issue
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/fi-tgl-y/igt@gem_tiled_blits@basic.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/fi-tgl-y/igt@gem_tiled_blits@basic.html

  * igt@runner@aborted:
    - fi-kbl-8809g:       NOTRUN -> [FAIL][4] ([i915#2947])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/fi-kbl-8809g/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s3:
    - fi-tgl-y:           [DMESG-WARN][5] ([i915#2411] / [i915#402]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/fi-tgl-y/igt@gem_exec_suspend@basic-s3.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/fi-tgl-y/igt@gem_exec_suspend@basic-s3.html

  * igt@gem_flink_basic@bad-flink:
    - fi-tgl-y:           [DMESG-WARN][7] ([i915#402]) -> [PASS][8] +1 similar issue
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/fi-tgl-y/igt@gem_flink_basic@bad-flink.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/fi-tgl-y/igt@gem_flink_basic@bad-flink.html

  * igt@gem_linear_blits@basic:
    - fi-kbl-8809g:       [TIMEOUT][9] ([i915#2502] / [i915#3145]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/fi-kbl-8809g/igt@gem_linear_blits@basic.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/fi-kbl-8809g/igt@gem_linear_blits@basic.html

  * igt@i915_selftest@live@client:
    - fi-glk-dsi:         [DMESG-FAIL][11] ([i915#3047]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/fi-glk-dsi/igt@i915_selftest@live@client.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/fi-glk-dsi/igt@i915_selftest@live@client.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-kbl-7500u:       [DMESG-FAIL][13] ([i915#165]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/fi-kbl-7500u/igt@kms_chamelium@common-hpd-after-suspend.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/fi-kbl-7500u/igt@kms_chamelium@common-hpd-after-suspend.html

  
#### Warnings ####

  * igt@i915_pm_rpm@module-reload:
    - fi-glk-dsi:         [DMESG-WARN][15] ([i915#1982] / [i915#3143]) -> [DMESG-WARN][16] ([i915#3143])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/fi-glk-dsi/igt@i915_pm_rpm@module-reload.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/fi-glk-dsi/igt@i915_pm_rpm@module-reload.html

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

  [i915#165]: https://gitlab.freedesktop.org/drm/intel/issues/165
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411
  [i915#2502]: https://gitlab.freedesktop.org/drm/intel/issues/2502
  [i915#2947]: https://gitlab.freedesktop.org/drm/intel/issues/2947
  [i915#3047]: https://gitlab.freedesktop.org/drm/intel/issues/3047
  [i915#3143]: https://gitlab.freedesktop.org/drm/intel/issues/3143
  [i915#3145]: https://gitlab.freedesktop.org/drm/intel/issues/3145
  [i915#3277]: https://gitlab.freedesktop.org/drm/intel/issues/3277
  [i915#3283]: https://gitlab.freedesktop.org/drm/intel/issues/3283
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402


Participating hosts (48 -> 42)
------------------------------

  Missing    (6): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-ctg-p8600 fi-dg1-1 fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_6042 -> IGTPW_5647

  CI-20190529: 20190529
  CI_DRM_9885: 370158d493f88d52f5aae76794228f47dd04cfe3 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_5647: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/index.html
  IGT_6042: 529e182e30117d083ac0693011f1af04357d0115 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+igt@kms_cursor_crc@pipe-a-cursor-32x10-offscreen
+igt@kms_cursor_crc@pipe-a-cursor-32x10-onscreen
+igt@kms_cursor_crc@pipe-a-cursor-32x10-random
+igt@kms_cursor_crc@pipe-a-cursor-32x10-sliding
+igt@kms_cursor_crc@pipe-a-cursor-32x32-offscreen
+igt@kms_cursor_crc@pipe-a-cursor-32x32-onscreen
+igt@kms_cursor_crc@pipe-a-cursor-32x32-random
+igt@kms_cursor_crc@pipe-a-cursor-32x32-rapid-movement
+igt@kms_cursor_crc@pipe-a-cursor-32x32-sliding
+igt@kms_cursor_crc@pipe-b-cursor-32x10-offscreen
+igt@kms_cursor_crc@pipe-b-cursor-32x10-onscreen
+igt@kms_cursor_crc@pipe-b-cursor-32x10-random
+igt@kms_cursor_crc@pipe-b-cursor-32x10-sliding
+igt@kms_cursor_crc@pipe-b-cursor-32x32-offscreen
+igt@kms_cursor_crc@pipe-b-cursor-32x32-onscreen
+igt@kms_cursor_crc@pipe-b-cursor-32x32-random
+igt@kms_cursor_crc@pipe-b-cursor-32x32-rapid-movement
+igt@kms_cursor_crc@pipe-b-cursor-32x32-sliding
+igt@kms_cursor_crc@pipe-c-cursor-32x10-offscreen
+igt@kms_cursor_crc@pipe-c-cursor-32x10-onscreen
+igt@kms_cursor_crc@pipe-c-cursor-32x10-random
+igt@kms_cursor_crc@pipe-c-cursor-32x10-sliding
+igt@kms_cursor_crc@pipe-c-cursor-32x32-offscreen
+igt@kms_cursor_crc@pipe-c-cursor-32x32-onscreen
+igt@kms_cursor_crc@pipe-c-cursor-32x32-random
+igt@kms_cursor_crc@pipe-c-cursor-32x32-rapid-movement
+igt@kms_cursor_crc@pipe-c-cursor-32x32-sliding
+igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen
+igt@kms_cursor_crc@pipe-d-cursor-32x10-onscreen
+igt@kms_cursor_crc@pipe-d-cursor-32x10-random
+igt@kms_cursor_crc@pipe-d-cursor-32x10-sliding
+igt@kms_cursor_crc@pipe-d-cursor-32x32-offscreen
+igt@kms_cursor_crc@pipe-d-cursor-32x32-onscreen
+igt@kms_cursor_crc@pipe-d-cursor-32x32-random
+igt@kms_cursor_crc@pipe-d-cursor-32x32-rapid-movement
+igt@kms_cursor_crc@pipe-d-cursor-32x32-sliding
+igt@kms_cursor_crc@pipe-e-cursor-32x10-offscreen
+igt@kms_cursor_crc@pipe-e-cursor-32x10-onscreen
+igt@kms_cursor_crc@pipe-e-cursor-32x10-random
+igt@kms_cursor_crc@pipe-e-cursor-32x10-sliding
+igt@kms_cursor_crc@pipe-e-cursor-32x32-offscreen
+igt@kms_cursor_crc@pipe-e-cursor-32x32-onscreen
+igt@kms_cursor_crc@pipe-e-cursor-32x32-random
+igt@kms_cursor_crc@pipe-e-cursor-32x32-rapid-movement
+igt@kms_cursor_crc@pipe-e-cursor-32x32-sliding
+igt@kms_cursor_crc@pipe-f-cursor-32x10-offscreen
+igt@kms_cursor_crc@pipe-f-cursor-32x10-onscreen
+igt@kms_cursor_crc@pipe-f-cursor-32x10-random
+igt@kms_cursor_crc@pipe-f-cursor-32x10-sliding
+igt@kms_cursor_crc@pipe-f-cursor-32x32-offscreen
+igt@kms_cursor_crc@pipe-f-cursor-32x32-onscreen
+igt@kms_cursor_crc@pipe-f-cursor-32x32-random
+igt@kms_cursor_crc@pipe-f-cursor-32x32-rapid-movement
+igt@kms_cursor_crc@pipe-f-cursor-32x32-sliding

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 8859 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [Nouveau] [igt-dev] [PATCH i-g-t v3] tests/kms_cursor_crc: Probe kernel for cursor size support
  2021-03-23 17:25     ` [igt-dev] " Lyude
@ 2021-03-24  8:59       ` Petri Latvala
  -1 siblings, 0 replies; 30+ messages in thread
From: Petri Latvala @ 2021-03-24  8:59 UTC (permalink / raw)
  To: Lyude; +Cc: igt-dev, nouveau, Ben Skeggs

On Tue, Mar 23, 2021 at 01:25:13PM -0400, Lyude wrote:
> From: Lyude Paul <lyude@redhat.com>
> 
> Currently we just assume that every cursor size up to data->cursor_max_w/h will
> be supported by the driver, and check for support of nonsquare cursors by
> checking if we're running on u815 and if so, which variant of intel hardware

The right side of your keyboard dodged your fingers when writing "i915" here.

-- 
Petri Latvala



> we're running on. This isn't really ideal as we're about to enable 32x32 cursor
> size tests for nouveau, and Intel hardware doesn't support cursor sizes that
> small.
> 
> So, fix this by removing has_nonsquare_cursors() and replacing it with a more
> generic require_cursor_size() function which checks whether or not the driver
> we're using supports a given cursor size by attempting a test-only atomic
> commit.
> 
> v3:
> * Also probe for cursor support on systems without atomic support
> 
> Signed-off-by: Lyude Paul <lyude@redhat.com>
> Cc: Martin Peres <martin.peres@free.fr>
> Cc: Ben Skeggs <bskeggs@redhat.com>
> Cc: Jeremy Cline <jcline@redhat.com>
> ---
>  tests/kms_cursor_crc.c | 133 ++++++++++++++++++++++++-----------------
>  1 file changed, 78 insertions(+), 55 deletions(-)
> 
> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> index 3541ea06..529e2171 100644
> --- a/tests/kms_cursor_crc.c
> +++ b/tests/kms_cursor_crc.c
> @@ -523,26 +523,45 @@ static void create_cursor_fb(data_t *data, int cur_w, int cur_h)
>  	igt_put_cairo_ctx(cr);
>  }
>  
> -static bool has_nonsquare_cursors(data_t *data)
> +static void require_cursor_size(data_t *data, int w, int h)
>  {
> -	uint32_t devid;
> +	igt_fb_t primary_fb;
> +	drmModeModeInfo *mode;
> +	igt_display_t *display = &data->display;
> +	igt_output_t *output = data->output;
> +	igt_plane_t *primary, *cursor;
> +	int ret;
>  
> -	if (!is_i915_device(data->drm_fd))
> -		return false;
> +	igt_output_set_pipe(output, data->pipe);
>  
> -	devid = intel_get_drm_devid(data->drm_fd);
> +	mode = igt_output_get_mode(output);
> +	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> +	cursor = igt_output_get_plane_type(output, DRM_PLANE_TYPE_CURSOR);
> +
> +	/* Create temporary primary fb for testing */
> +	igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, DRM_FORMAT_XRGB8888,
> +				 LOCAL_DRM_FORMAT_MOD_NONE, &primary_fb));
> +
> +	igt_plane_set_fb(primary, &primary_fb);
> +	igt_plane_set_fb(cursor, &data->fb);
> +	igt_plane_set_size(cursor, w, h);
> +	igt_fb_set_size(&data->fb, cursor, w, h);
> +
> +	/* Test if the kernel supports the given cursor size or not */
> +	if (display->is_atomic)
> +		ret = igt_display_try_commit_atomic(display,
> +						    DRM_MODE_ATOMIC_TEST_ONLY |
> +						    DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
> +	else
> +		ret = igt_display_try_commit2(display, COMMIT_LEGACY);
>  
> -	/*
> -	 * Test non-square cursors a bit on the platforms
> -	 * that support such things.
> -	 */
> -	if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
> -		return true;
> +	igt_plane_set_fb(primary, NULL);
> +	igt_plane_set_fb(cursor, NULL);
>  
> -	if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
> -		return false;
> +	igt_remove_fb(data->drm_fd, &primary_fb);
> +	igt_output_set_pipe(output, PIPE_NONE);
>  
> -	return intel_gen(devid) >= 7;
> +	igt_skip_on_f(ret, "Cursor size %dx%d not supported by driver\n", w, h);
>  }
>  
>  static void test_cursor_size(data_t *data)
> @@ -697,27 +716,33 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
>  			create_cursor_fb(data, w, h);
>  		}
>  
> -		/* Using created cursor FBs to test cursor support */
> -		igt_describe("Check if a given-size cursor is well-positioned inside the screen.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_onscreen, w, h);
> -
> -		igt_describe("Check if a given-size cursor is well-positioned outside the screen.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_offscreen, w, h);
> -
> -		igt_describe("Check the smooth and pixel-by-pixel given-size cursor movements on"
> -		             "horizontal, vertical and diagonal.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_sliding, w, h);
> -
> -		igt_describe("Check random placement of a cursor with given size.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_random, w, h);
> -
> -		igt_describe("Check the rapid update of given-size cursor movements.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h) {
> -			run_test(data, test_rapid_movement, w, h);
> +		igt_subtest_group {
> +			igt_fixture
> +				require_cursor_size(data, w, h);
> +
> +			/* Using created cursor FBs to test cursor support */
> +			igt_describe("Check if a given-size cursor is well-positioned inside the "
> +				     "screen.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_onscreen, w, h);
> +
> +			igt_describe("Check if a given-size cursor is well-positioned outside the "
> +				     "screen.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_offscreen, w, h);
> +
> +			igt_describe("Check the smooth and pixel-by-pixel given-size cursor "
> +				     "movements on horizontal, vertical and diagonal.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_sliding, w, h);
> +
> +			igt_describe("Check random placement of a cursor with given size.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_random, w, h);
> +
> +			igt_describe("Check the rapid update of given-size cursor movements.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_rapid_movement, w, h);
>  		}
>  
>  		igt_fixture
> @@ -730,27 +755,25 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
>  		 */
>  		h /= 3;
>  
> -		igt_fixture {
> -			if (has_nonsquare_cursors(data))
> -				create_cursor_fb(data, w, h);
> -		}
> +		igt_fixture
> +			create_cursor_fb(data, w, h);
>  
> -		/* Using created cursor FBs to test cursor support */
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_onscreen, w, h);
> -		}
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_offscreen, w, h);
> -		}
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_sliding, w, h);
> -		}
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_random, w, h);
> +		igt_subtest_group {
> +			igt_fixture
> +				require_cursor_size(data, w, h);
> +
> +			/* Using created cursor FBs to test cursor support */
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_onscreen, w, h);
> +
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_offscreen, w, h);
> +
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_sliding, w, h);
> +
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_random, w, h);
>  		}
>  
>  		igt_fixture
> -- 
> 2.29.2
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

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

* Re: [igt-dev] [PATCH i-g-t v3] tests/kms_cursor_crc: Probe kernel for cursor size support
@ 2021-03-24  8:59       ` Petri Latvala
  0 siblings, 0 replies; 30+ messages in thread
From: Petri Latvala @ 2021-03-24  8:59 UTC (permalink / raw)
  To: Lyude; +Cc: igt-dev, nouveau, Martin Peres, Ben Skeggs

On Tue, Mar 23, 2021 at 01:25:13PM -0400, Lyude wrote:
> From: Lyude Paul <lyude@redhat.com>
> 
> Currently we just assume that every cursor size up to data->cursor_max_w/h will
> be supported by the driver, and check for support of nonsquare cursors by
> checking if we're running on u815 and if so, which variant of intel hardware

The right side of your keyboard dodged your fingers when writing "i915" here.

-- 
Petri Latvala



> we're running on. This isn't really ideal as we're about to enable 32x32 cursor
> size tests for nouveau, and Intel hardware doesn't support cursor sizes that
> small.
> 
> So, fix this by removing has_nonsquare_cursors() and replacing it with a more
> generic require_cursor_size() function which checks whether or not the driver
> we're using supports a given cursor size by attempting a test-only atomic
> commit.
> 
> v3:
> * Also probe for cursor support on systems without atomic support
> 
> Signed-off-by: Lyude Paul <lyude@redhat.com>
> Cc: Martin Peres <martin.peres@free.fr>
> Cc: Ben Skeggs <bskeggs@redhat.com>
> Cc: Jeremy Cline <jcline@redhat.com>
> ---
>  tests/kms_cursor_crc.c | 133 ++++++++++++++++++++++++-----------------
>  1 file changed, 78 insertions(+), 55 deletions(-)
> 
> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> index 3541ea06..529e2171 100644
> --- a/tests/kms_cursor_crc.c
> +++ b/tests/kms_cursor_crc.c
> @@ -523,26 +523,45 @@ static void create_cursor_fb(data_t *data, int cur_w, int cur_h)
>  	igt_put_cairo_ctx(cr);
>  }
>  
> -static bool has_nonsquare_cursors(data_t *data)
> +static void require_cursor_size(data_t *data, int w, int h)
>  {
> -	uint32_t devid;
> +	igt_fb_t primary_fb;
> +	drmModeModeInfo *mode;
> +	igt_display_t *display = &data->display;
> +	igt_output_t *output = data->output;
> +	igt_plane_t *primary, *cursor;
> +	int ret;
>  
> -	if (!is_i915_device(data->drm_fd))
> -		return false;
> +	igt_output_set_pipe(output, data->pipe);
>  
> -	devid = intel_get_drm_devid(data->drm_fd);
> +	mode = igt_output_get_mode(output);
> +	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> +	cursor = igt_output_get_plane_type(output, DRM_PLANE_TYPE_CURSOR);
> +
> +	/* Create temporary primary fb for testing */
> +	igt_assert(igt_create_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, DRM_FORMAT_XRGB8888,
> +				 LOCAL_DRM_FORMAT_MOD_NONE, &primary_fb));
> +
> +	igt_plane_set_fb(primary, &primary_fb);
> +	igt_plane_set_fb(cursor, &data->fb);
> +	igt_plane_set_size(cursor, w, h);
> +	igt_fb_set_size(&data->fb, cursor, w, h);
> +
> +	/* Test if the kernel supports the given cursor size or not */
> +	if (display->is_atomic)
> +		ret = igt_display_try_commit_atomic(display,
> +						    DRM_MODE_ATOMIC_TEST_ONLY |
> +						    DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
> +	else
> +		ret = igt_display_try_commit2(display, COMMIT_LEGACY);
>  
> -	/*
> -	 * Test non-square cursors a bit on the platforms
> -	 * that support such things.
> -	 */
> -	if (devid == PCI_CHIP_845_G || devid == PCI_CHIP_I865_G)
> -		return true;
> +	igt_plane_set_fb(primary, NULL);
> +	igt_plane_set_fb(cursor, NULL);
>  
> -	if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid))
> -		return false;
> +	igt_remove_fb(data->drm_fd, &primary_fb);
> +	igt_output_set_pipe(output, PIPE_NONE);
>  
> -	return intel_gen(devid) >= 7;
> +	igt_skip_on_f(ret, "Cursor size %dx%d not supported by driver\n", w, h);
>  }
>  
>  static void test_cursor_size(data_t *data)
> @@ -697,27 +716,33 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
>  			create_cursor_fb(data, w, h);
>  		}
>  
> -		/* Using created cursor FBs to test cursor support */
> -		igt_describe("Check if a given-size cursor is well-positioned inside the screen.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_onscreen, w, h);
> -
> -		igt_describe("Check if a given-size cursor is well-positioned outside the screen.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_offscreen, w, h);
> -
> -		igt_describe("Check the smooth and pixel-by-pixel given-size cursor movements on"
> -		             "horizontal, vertical and diagonal.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_sliding, w, h);
> -
> -		igt_describe("Check random placement of a cursor with given size.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
> -			run_test(data, test_crc_random, w, h);
> -
> -		igt_describe("Check the rapid update of given-size cursor movements.");
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h) {
> -			run_test(data, test_rapid_movement, w, h);
> +		igt_subtest_group {
> +			igt_fixture
> +				require_cursor_size(data, w, h);
> +
> +			/* Using created cursor FBs to test cursor support */
> +			igt_describe("Check if a given-size cursor is well-positioned inside the "
> +				     "screen.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_onscreen, w, h);
> +
> +			igt_describe("Check if a given-size cursor is well-positioned outside the "
> +				     "screen.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_offscreen, w, h);
> +
> +			igt_describe("Check the smooth and pixel-by-pixel given-size cursor "
> +				     "movements on horizontal, vertical and diagonal.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_sliding, w, h);
> +
> +			igt_describe("Check random placement of a cursor with given size.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_random, w, h);
> +
> +			igt_describe("Check the rapid update of given-size cursor movements.");
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_rapid_movement, w, h);
>  		}
>  
>  		igt_fixture
> @@ -730,27 +755,25 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
>  		 */
>  		h /= 3;
>  
> -		igt_fixture {
> -			if (has_nonsquare_cursors(data))
> -				create_cursor_fb(data, w, h);
> -		}
> +		igt_fixture
> +			create_cursor_fb(data, w, h);
>  
> -		/* Using created cursor FBs to test cursor support */
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_onscreen, w, h);
> -		}
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_offscreen, w, h);
> -		}
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_sliding, w, h);
> -		}
> -		igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h) {
> -			igt_require(has_nonsquare_cursors(data));
> -			run_test(data, test_crc_random, w, h);
> +		igt_subtest_group {
> +			igt_fixture
> +				require_cursor_size(data, w, h);
> +
> +			/* Using created cursor FBs to test cursor support */
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_onscreen, w, h);
> +
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_offscreen, w, h);
> +
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_sliding, w, h);
> +
> +			igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
> +				run_test(data, test_crc_random, w, h);
>  		}
>  
>  		igt_fixture
> -- 
> 2.29.2
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.IGT: success for tests/kms_cursor_crc: Test 32x32 cursors (rev2)
  2021-03-18 22:21 ` [igt-dev] " Lyude
                   ` (5 preceding siblings ...)
  (?)
@ 2021-03-24 11:15 ` Patchwork
  -1 siblings, 0 replies; 30+ messages in thread
From: Patchwork @ 2021-03-24 11:15 UTC (permalink / raw)
  To: Lyude Paul; +Cc: igt-dev


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

== Series Details ==

Series: tests/kms_cursor_crc: Test 32x32 cursors (rev2)
URL   : https://patchwork.freedesktop.org/series/88144/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_9885_full -> IGTPW_5647_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Possible regressions ####

  * {igt@kms_cursor_crc@pipe-b-cursor-32x32-sliding} (NEW):
    - shard-tglb:         NOTRUN -> [SKIP][1] +33 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb5/igt@kms_cursor_crc@pipe-b-cursor-32x32-sliding.html

  
New tests
---------

  New tests have been introduced between CI_DRM_9885_full and IGTPW_5647_full:

### New IGT tests (36) ###

  * igt@kms_cursor_crc@pipe-a-cursor-32x10-offscreen:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-a-cursor-32x10-onscreen:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-a-cursor-32x10-random:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-a-cursor-32x10-sliding:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-a-cursor-32x32-offscreen:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-a-cursor-32x32-onscreen:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_cursor_crc@pipe-a-cursor-32x32-random:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-a-cursor-32x32-rapid-movement:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-a-cursor-32x32-sliding:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-b-cursor-32x10-offscreen:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-b-cursor-32x10-onscreen:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-b-cursor-32x10-random:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-b-cursor-32x10-sliding:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-b-cursor-32x32-offscreen:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-b-cursor-32x32-onscreen:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-b-cursor-32x32-random:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-b-cursor-32x32-rapid-movement:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-b-cursor-32x32-sliding:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-c-cursor-32x10-offscreen:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-c-cursor-32x10-onscreen:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-c-cursor-32x10-random:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-c-cursor-32x10-sliding:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_cursor_crc@pipe-c-cursor-32x32-offscreen:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-c-cursor-32x32-onscreen:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-c-cursor-32x32-random:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-c-cursor-32x32-rapid-movement:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-c-cursor-32x32-sliding:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-d-cursor-32x10-onscreen:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-d-cursor-32x10-random:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-d-cursor-32x10-sliding:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-d-cursor-32x32-offscreen:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-d-cursor-32x32-onscreen:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-d-cursor-32x32-random:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-d-cursor-32x32-rapid-movement:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cursor_crc@pipe-d-cursor-32x32-sliding:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@feature_discovery@display-3x:
    - shard-glk:          NOTRUN -> [SKIP][2] ([fdo#109271]) +82 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-glk6/igt@feature_discovery@display-3x.html
    - shard-iclb:         NOTRUN -> [SKIP][3] ([i915#1839])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb1/igt@feature_discovery@display-3x.html
    - shard-tglb:         NOTRUN -> [SKIP][4] ([i915#1839])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb7/igt@feature_discovery@display-3x.html

  * igt@gem_create@create-clear:
    - shard-iclb:         NOTRUN -> [FAIL][5] ([i915#3160])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb3/igt@gem_create@create-clear.html

  * igt@gem_ctx_persistence@legacy-engines-mixed:
    - shard-snb:          NOTRUN -> [SKIP][6] ([fdo#109271] / [i915#1099]) +7 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-snb2/igt@gem_ctx_persistence@legacy-engines-mixed.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-apl:          NOTRUN -> [FAIL][7] ([i915#2846])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-apl8/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-glk:          NOTRUN -> [FAIL][8] ([i915#2842])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-glk7/igt@gem_exec_fair@basic-none-solo@rcs0.html
    - shard-iclb:         NOTRUN -> [FAIL][9] ([i915#2842])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb6/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_fair@basic-none@vcs1:
    - shard-kbl:          [PASS][10] -> [FAIL][11] ([i915#2842])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-kbl6/igt@gem_exec_fair@basic-none@vcs1.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-kbl6/igt@gem_exec_fair@basic-none@vcs1.html

  * igt@gem_exec_fair@basic-none@vecs0:
    - shard-apl:          NOTRUN -> [FAIL][12] ([i915#2842])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-apl2/igt@gem_exec_fair@basic-none@vecs0.html

  * igt@gem_exec_fair@basic-pace@vecs0:
    - shard-glk:          [PASS][13] -> [FAIL][14] ([i915#2842]) +3 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-glk8/igt@gem_exec_fair@basic-pace@vecs0.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-glk8/igt@gem_exec_fair@basic-pace@vecs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-tglb:         NOTRUN -> [FAIL][15] ([i915#2842]) +1 similar issue
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb1/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_exec_params@no-blt:
    - shard-tglb:         NOTRUN -> [SKIP][16] ([fdo#109283])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb6/igt@gem_exec_params@no-blt.html

  * igt@gem_exec_reloc@basic-many-active@rcs0:
    - shard-glk:          [PASS][17] -> [FAIL][18] ([i915#2389])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-glk1/igt@gem_exec_reloc@basic-many-active@rcs0.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-glk6/igt@gem_exec_reloc@basic-many-active@rcs0.html

  * igt@gem_exec_reloc@basic-parallel:
    - shard-apl:          NOTRUN -> [TIMEOUT][19] ([i915#3183])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-apl7/igt@gem_exec_reloc@basic-parallel.html

  * igt@gem_exec_reloc@basic-wide-active@bcs0:
    - shard-tglb:         NOTRUN -> [FAIL][20] ([i915#2389]) +4 similar issues
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb3/igt@gem_exec_reloc@basic-wide-active@bcs0.html

  * igt@gem_huc_copy@huc-copy:
    - shard-apl:          NOTRUN -> [SKIP][21] ([fdo#109271] / [i915#2190])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-apl8/igt@gem_huc_copy@huc-copy.html

  * igt@gem_render_copy@y-tiled-mc-ccs-to-yf-tiled-ccs:
    - shard-iclb:         NOTRUN -> [SKIP][22] ([i915#768])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb1/igt@gem_render_copy@y-tiled-mc-ccs-to-yf-tiled-ccs.html

  * igt@gem_userptr_blits@coherency-sync:
    - shard-tglb:         NOTRUN -> [SKIP][23] ([fdo#110542])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb1/igt@gem_userptr_blits@coherency-sync.html
    - shard-iclb:         NOTRUN -> [SKIP][24] ([fdo#109290])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb6/igt@gem_userptr_blits@coherency-sync.html

  * igt@gem_userptr_blits@input-checking:
    - shard-apl:          NOTRUN -> [DMESG-WARN][25] ([i915#3002])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-apl8/igt@gem_userptr_blits@input-checking.html
    - shard-snb:          NOTRUN -> [DMESG-WARN][26] ([i915#3002])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-snb2/igt@gem_userptr_blits@input-checking.html

  * igt@gem_userptr_blits@readonly-mmap-unsync@wb:
    - shard-tglb:         NOTRUN -> [SKIP][27] ([i915#1704]) +3 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb8/igt@gem_userptr_blits@readonly-mmap-unsync@wb.html

  * igt@gem_workarounds@suspend-resume-context:
    - shard-apl:          [PASS][28] -> [DMESG-WARN][29] ([i915#180]) +2 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-apl2/igt@gem_workarounds@suspend-resume-context.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-apl8/igt@gem_workarounds@suspend-resume-context.html

  * igt@gen3_render_linear_blits:
    - shard-tglb:         NOTRUN -> [SKIP][30] ([fdo#109289]) +3 similar issues
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb8/igt@gen3_render_linear_blits.html
    - shard-iclb:         NOTRUN -> [SKIP][31] ([fdo#109289]) +3 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb6/igt@gen3_render_linear_blits.html

  * igt@gen9_exec_parse@bb-chained:
    - shard-iclb:         NOTRUN -> [SKIP][32] ([fdo#112306])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb7/igt@gen9_exec_parse@bb-chained.html
    - shard-tglb:         NOTRUN -> [SKIP][33] ([fdo#112306])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb6/igt@gen9_exec_parse@bb-chained.html

  * igt@gen9_exec_parse@shadow-peek:
    - shard-tglb:         NOTRUN -> [SKIP][34] ([i915#2856])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb5/igt@gen9_exec_parse@shadow-peek.html

  * igt@i915_pm_rc6_residency@media-rc6-accuracy:
    - shard-tglb:         NOTRUN -> [SKIP][35] ([fdo#109289] / [fdo#111719])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb1/igt@i915_pm_rc6_residency@media-rc6-accuracy.html

  * igt@i915_query@query-topology-known-pci-ids:
    - shard-tglb:         NOTRUN -> [SKIP][36] ([fdo#109303])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb3/igt@i915_query@query-topology-known-pci-ids.html

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

  * igt@kms_async_flips@test-time-stamp:
    - shard-tglb:         [PASS][38] -> [FAIL][39] ([i915#2597])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-tglb7/igt@kms_async_flips@test-time-stamp.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb5/igt@kms_async_flips@test-time-stamp.html

  * igt@kms_atomic_transition@plane-all-modeset-transition:
    - shard-iclb:         NOTRUN -> [SKIP][40] ([i915#1769])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb7/igt@kms_atomic_transition@plane-all-modeset-transition.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
    - shard-tglb:         NOTRUN -> [SKIP][41] ([i915#1769]) +1 similar issue
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb2/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html

  * igt@kms_big_fb@x-tiled-32bpp-rotate-270:
    - shard-iclb:         NOTRUN -> [SKIP][42] ([fdo#110725] / [fdo#111614])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb4/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-270:
    - shard-tglb:         NOTRUN -> [SKIP][43] ([fdo#111614]) +1 similar issue
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb8/igt@kms_big_fb@x-tiled-64bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-64bpp-rotate-270:
    - shard-tglb:         NOTRUN -> [SKIP][44] ([fdo#111615]) +4 similar issues
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb6/igt@kms_big_fb@yf-tiled-64bpp-rotate-270.html
    - shard-iclb:         NOTRUN -> [SKIP][45] ([fdo#110723])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb1/igt@kms_big_fb@yf-tiled-64bpp-rotate-270.html

  * igt@kms_ccs@pipe-a-random-ccs-data:
    - shard-iclb:         [PASS][46] -> [DMESG-WARN][47] ([i915#3219])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-iclb3/igt@kms_ccs@pipe-a-random-ccs-data.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb1/igt@kms_ccs@pipe-a-random-ccs-data.html

  * igt@kms_chamelium@dp-hpd-storm:
    - shard-iclb:         NOTRUN -> [SKIP][48] ([fdo#109284] / [fdo#111827]) +4 similar issues
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb5/igt@kms_chamelium@dp-hpd-storm.html

  * igt@kms_chamelium@vga-hpd-without-ddc:
    - shard-kbl:          NOTRUN -> [SKIP][49] ([fdo#109271] / [fdo#111827]) +4 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-kbl6/igt@kms_chamelium@vga-hpd-without-ddc.html
    - shard-snb:          NOTRUN -> [SKIP][50] ([fdo#109271] / [fdo#111827]) +22 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-snb7/igt@kms_chamelium@vga-hpd-without-ddc.html

  * igt@kms_color@pipe-d-ctm-0-75:
    - shard-iclb:         NOTRUN -> [SKIP][51] ([fdo#109278] / [i915#1149]) +1 similar issue
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb6/igt@kms_color@pipe-d-ctm-0-75.html

  * igt@kms_color_chamelium@pipe-b-ctm-limited-range:
    - shard-tglb:         NOTRUN -> [SKIP][52] ([fdo#109284] / [fdo#111827]) +7 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb1/igt@kms_color_chamelium@pipe-b-ctm-limited-range.html
    - shard-glk:          NOTRUN -> [SKIP][53] ([fdo#109271] / [fdo#111827]) +4 similar issues
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-glk8/igt@kms_color_chamelium@pipe-b-ctm-limited-range.html

  * igt@kms_color_chamelium@pipe-invalid-degamma-lut-sizes:
    - shard-apl:          NOTRUN -> [SKIP][54] ([fdo#109271] / [fdo#111827]) +21 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-apl6/igt@kms_color_chamelium@pipe-invalid-degamma-lut-sizes.html

  * igt@kms_content_protection@dp-mst-type-0:
    - shard-tglb:         NOTRUN -> [SKIP][55] ([i915#3116])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb2/igt@kms_content_protection@dp-mst-type-0.html

  * igt@kms_cursor_crc@pipe-a-cursor-512x512-offscreen:
    - shard-iclb:         NOTRUN -> [SKIP][56] ([fdo#109278] / [fdo#109279]) +1 similar issue
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb1/igt@kms_cursor_crc@pipe-a-cursor-512x512-offscreen.html

  * {igt@kms_cursor_crc@pipe-b-cursor-32x10-random} (NEW):
    - shard-kbl:          NOTRUN -> [SKIP][57] ([fdo#109271]) +86 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-kbl2/igt@kms_cursor_crc@pipe-b-cursor-32x10-random.html

  * {igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen} (NEW):
    - shard-iclb:         NOTRUN -> [SKIP][58] ([fdo#109278]) +41 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb6/igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen.html

  * igt@kms_cursor_crc@pipe-d-cursor-512x512-onscreen:
    - shard-tglb:         NOTRUN -> [SKIP][59] ([fdo#109279]) +3 similar issues
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb7/igt@kms_cursor_crc@pipe-d-cursor-512x512-onscreen.html

  * igt@kms_cursor_edge_walk@pipe-d-128x128-right-edge:
    - shard-snb:          NOTRUN -> [SKIP][60] ([fdo#109271]) +381 similar issues
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-snb5/igt@kms_cursor_edge_walk@pipe-d-128x128-right-edge.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-iclb:         NOTRUN -> [SKIP][61] ([fdo#109274] / [fdo#109278])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb8/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@flip-vs-cursor-legacy:
    - shard-tglb:         NOTRUN -> [FAIL][62] ([i915#2346])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb7/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a1-hdmi-a2:
    - shard-glk:          [PASS][63] -> [FAIL][64] ([i915#79])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-glk9/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a1-hdmi-a2.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-glk9/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
    - shard-iclb:         NOTRUN -> [SKIP][65] ([fdo#109274]) +1 similar issue
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb8/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile:
    - shard-tglb:         NOTRUN -> [SKIP][66] ([i915#2587])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb3/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt:
    - shard-iclb:         NOTRUN -> [SKIP][67] ([fdo#109280]) +13 similar issues
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc:
    - shard-iclb:         [PASS][68] -> [SKIP][69] ([i915#668]) +3 similar issues
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-pwrite:
    - shard-tglb:         NOTRUN -> [SKIP][70] ([fdo#111825]) +29 similar issues
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb2/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-pwrite.html

  * igt@kms_hdr@static-toggle-dpms:
    - shard-tglb:         NOTRUN -> [SKIP][71] ([i915#1187])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb3/igt@kms_hdr@static-toggle-dpms.html
    - shard-iclb:         NOTRUN -> [SKIP][72] ([i915#1187])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb3/igt@kms_hdr@static-toggle-dpms.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
    - shard-apl:          NOTRUN -> [SKIP][73] ([fdo#109271] / [i915#533]) +2 similar issues
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-apl1/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html

  * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
    - shard-apl:          NOTRUN -> [FAIL][74] ([fdo#108145] / [i915#265]) +3 similar issues
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-apl3/igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb:
    - shard-kbl:          NOTRUN -> [FAIL][75] ([fdo#108145] / [i915#265]) +1 similar issue
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-kbl3/igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb.html
    - shard-glk:          NOTRUN -> [FAIL][76] ([fdo#108145] / [i915#265])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-glk4/igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb.html

  * igt@kms_plane_lowres@pipe-d-tiling-yf:
    - shard-tglb:         NOTRUN -> [SKIP][77] ([fdo#112054])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb8/igt@kms_plane_lowres@pipe-d-tiling-yf.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-5:
    - shard-apl:          NOTRUN -> [SKIP][78] ([fdo#109271] / [i915#658]) +3 similar issues
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-apl8/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-5.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-2:
    - shard-iclb:         NOTRUN -> [SKIP][79] ([i915#658]) +1 similar issue
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb5/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-2.html
    - shard-kbl:          NOTRUN -> [SKIP][80] ([fdo#109271] / [i915#658]) +1 similar issue
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-kbl6/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-2.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-4:
    - shard-glk:          NOTRUN -> [SKIP][81] ([fdo#109271] / [i915#658]) +1 similar issue
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-glk8/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-4.html

  * igt@kms_psr@psr2_sprite_mmap_cpu:
    - shard-iclb:         [PASS][82] -> [SKIP][83] ([fdo#109441])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_cpu.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb3/igt@kms_psr@psr2_sprite_mmap_cpu.html

  * igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend:
    - shard-kbl:          [PASS][84] -> [INCOMPLETE][85] ([i915#155])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-kbl7/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-kbl4/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html

  * igt@kms_vblank@pipe-d-ts-continuation-idle:
    - shard-apl:          NOTRUN -> [SKIP][86] ([fdo#109271]) +228 similar issues
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-apl1/igt@kms_vblank@pipe-d-ts-continuation-idle.html

  * igt@kms_writeback@writeback-check-output:
    - shard-apl:          NOTRUN -> [SKIP][87] ([fdo#109271] / [i915#2437]) +1 similar issue
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-apl2/igt@kms_writeback@writeback-check-output.html

  * igt@nouveau_crc@pipe-a-source-rg:
    - shard-iclb:         NOTRUN -> [SKIP][88] ([i915#2530]) +2 similar issues
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb7/igt@nouveau_crc@pipe-a-source-rg.html
    - shard-tglb:         NOTRUN -> [SKIP][89] ([i915#2530]) +3 similar issues
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb5/igt@nouveau_crc@pipe-a-source-rg.html

  * igt@prime_nv_api@i915_self_import:
    - shard-tglb:         NOTRUN -> [SKIP][90] ([fdo#109291]) +3 similar issues
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb6/igt@prime_nv_api@i915_self_import.html

  * igt@prime_nv_test@i915_import_pread_pwrite:
    - shard-iclb:         NOTRUN -> [SKIP][91] ([fdo#109291]) +1 similar issue
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb7/igt@prime_nv_test@i915_import_pread_pwrite.html

  * igt@sysfs_clients@recycle:
    - shard-kbl:          [PASS][92] -> [FAIL][93] ([i915#3028])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-kbl7/igt@sysfs_clients@recycle.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-kbl1/igt@sysfs_clients@recycle.html

  * igt@sysfs_clients@sema-10@rcs0:
    - shard-iclb:         [PASS][94] -> [SKIP][95] ([i915#3026])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-iclb4/igt@sysfs_clients@sema-10@rcs0.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb7/igt@sysfs_clients@sema-10@rcs0.html

  
#### Possible fixes ####

  * igt@gem_exec_fair@basic-deadline:
    - shard-kbl:          [FAIL][96] ([i915#2846]) -> [PASS][97]
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-kbl7/igt@gem_exec_fair@basic-deadline.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-kbl2/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-flow@rcs0:
    - shard-tglb:         [FAIL][98] ([i915#2842]) -> [PASS][99]
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-tglb2/igt@gem_exec_fair@basic-flow@rcs0.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-tglb2/igt@gem_exec_fair@basic-flow@rcs0.html

  * igt@gem_exec_fair@basic-none@vcs0:
    - shard-kbl:          [FAIL][100] ([i915#2842]) -> [PASS][101] +1 similar issue
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-kbl6/igt@gem_exec_fair@basic-none@vcs0.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-kbl6/igt@gem_exec_fair@basic-none@vcs0.html

  * igt@gem_exec_fair@basic-pace@vcs0:
    - shard-iclb:         [FAIL][102] ([i915#2842]) -> [PASS][103]
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-iclb3/igt@gem_exec_fair@basic-pace@vcs0.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb8/igt@gem_exec_fair@basic-pace@vcs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-iclb:         [FAIL][104] ([i915#2849]) -> [PASS][105]
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-iclb8/igt@gem_exec_fair@basic-throttle@rcs0.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb6/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_exec_whisper@basic-contexts-forked-all:
    - shard-glk:          [DMESG-WARN][106] ([i915#118] / [i915#95]) -> [PASS][107] +1 similar issue
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-glk7/igt@gem_exec_whisper@basic-contexts-forked-all.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-glk6/igt@gem_exec_whisper@basic-contexts-forked-all.html

  * igt@gem_mmap_gtt@cpuset-big-copy-odd:
    - shard-iclb:         [FAIL][108] ([i915#307]) -> [PASS][109]
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-iclb1/igt@gem_mmap_gtt@cpuset-big-copy-odd.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb8/igt@gem_mmap_gtt@cpuset-big-copy-odd.html

  * igt@kms_atomic_transition@plane-all-transition-nonblocking@edp-1-pipe-b:
    - shard-iclb:         [FAIL][110] ([i915#3168]) -> [PASS][111]
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-iclb4/igt@kms_atomic_transition@plane-all-transition-nonblocking@edp-1-pipe-b.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb3/igt@kms_atomic_transition@plane-all-transition-nonblocking@edp-1-pipe-b.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-0:
    - shard-iclb:         [DMESG-WARN][112] ([i915#1226]) -> [PASS][113]
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-iclb8/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-iclb3/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a1:
    - shard-glk:          [FAIL][114] ([i915#79]) -> [PASS][115]
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-glk6/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a1.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-glk8/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a1.html

  * igt@kms_flip@flip-vs-expired-vblank@a-dp1:
    - shard-kbl:          [FAIL][116] ([i915#79]) -> [PASS][117]
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-kbl2/igt@kms_flip@flip-vs-expired-vblank@a-dp1.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-kbl6/igt@kms_flip@flip-vs-expired-vblank@a-dp1.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - shard-apl:          [DMESG-WARN][118] ([i915#180]) -> [PASS][119]
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-apl6/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5647/shard-apl6/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html

  * igt@kms_psr2_su@frontbuffer:
    - shard-iclb:         [SKIP][120] ([fdo#109642] / [fdo#111068] / [i915#658]) -

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 34536 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [Nouveau] [igt-dev] [PATCH i-g-t v3] tests/kms_cursor_crc: Probe kernel for cursor size support
  2021-03-23 17:25     ` [igt-dev] " Lyude
@ 2021-03-24 16:12       ` Ville Syrjälä
  -1 siblings, 0 replies; 30+ messages in thread
From: Ville Syrjälä @ 2021-03-24 16:12 UTC (permalink / raw)
  To: Lyude; +Cc: igt-dev, nouveau, Ben Skeggs

On Tue, Mar 23, 2021 at 01:25:13PM -0400, Lyude wrote:
> From: Lyude Paul <lyude@redhat.com>
> 
> Currently we just assume that every cursor size up to data->cursor_max_w/h will
> be supported by the driver, and check for support of nonsquare cursors by
> checking if we're running on u815 and if so, which variant of intel hardware
> we're running on. This isn't really ideal as we're about to enable 32x32 cursor
> size tests for nouveau, and Intel hardware doesn't support cursor sizes that
> small.
> 
> So, fix this by removing has_nonsquare_cursors() and replacing it with a more
> generic require_cursor_size() function which checks whether or not the driver
> we're using supports a given cursor size by attempting a test-only atomic
> commit.
> 
> v3:
> * Also probe for cursor support on systems without atomic support

Gave this a go on my i865, and after removing a bogus max_w==max_h
assert it all passed, and your non-square probing worked fine.
I'll need to send a patch to nuke that bogus assert, and I also had
an idea to test the max sized cursor as well (in case it's not square
and thus not being tested already)...

with the s/u815/i915/ Petri pointed out
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

-- 
Ville Syrjälä
Intel
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

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

* Re: [igt-dev] [PATCH i-g-t v3] tests/kms_cursor_crc: Probe kernel for cursor size support
@ 2021-03-24 16:12       ` Ville Syrjälä
  0 siblings, 0 replies; 30+ messages in thread
From: Ville Syrjälä @ 2021-03-24 16:12 UTC (permalink / raw)
  To: Lyude; +Cc: igt-dev, nouveau, Martin Peres, Ben Skeggs

On Tue, Mar 23, 2021 at 01:25:13PM -0400, Lyude wrote:
> From: Lyude Paul <lyude@redhat.com>
> 
> Currently we just assume that every cursor size up to data->cursor_max_w/h will
> be supported by the driver, and check for support of nonsquare cursors by
> checking if we're running on u815 and if so, which variant of intel hardware
> we're running on. This isn't really ideal as we're about to enable 32x32 cursor
> size tests for nouveau, and Intel hardware doesn't support cursor sizes that
> small.
> 
> So, fix this by removing has_nonsquare_cursors() and replacing it with a more
> generic require_cursor_size() function which checks whether or not the driver
> we're using supports a given cursor size by attempting a test-only atomic
> commit.
> 
> v3:
> * Also probe for cursor support on systems without atomic support

Gave this a go on my i865, and after removing a bogus max_w==max_h
assert it all passed, and your non-square probing worked fine.
I'll need to send a patch to nuke that bogus assert, and I also had
an idea to test the max sized cursor as well (in case it's not square
and thus not being tested already)...

with the s/u815/i915/ Petri pointed out
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

-- 
Ville Syrjälä
Intel
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2021-03-24 16:12 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-18 22:21 [Nouveau] [PATCH i-g-t v2 0/2] tests/kms_cursor_crc: Test 32x32 cursors Lyude
2021-03-18 22:21 ` [igt-dev] " Lyude
2021-03-18 22:21 ` [Nouveau] [PATCH i-g-t v2 1/2] tests/kms_cursor_crc: Probe kernel for cursor size support Lyude
2021-03-18 22:21   ` [igt-dev] " Lyude
2021-03-19  7:20   ` [Nouveau] " Martin Peres
2021-03-19  7:20     ` Martin Peres
2021-03-19 15:01   ` [Nouveau] " Ville Syrjälä
2021-03-19 15:01     ` Ville Syrjälä
2021-03-19 17:40     ` [Nouveau] " Lyude Paul
2021-03-19 17:40       ` Lyude Paul
2021-03-19 18:00       ` [Nouveau] " Ville Syrjälä
2021-03-19 18:00         ` Ville Syrjälä
2021-03-19 18:43         ` [Nouveau] " Lyude Paul
2021-03-19 18:43           ` Lyude Paul
2021-03-19 21:21           ` [Nouveau] " Ville Syrjälä
2021-03-19 21:21             ` Ville Syrjälä
2021-03-21 12:59             ` [Nouveau] " Daniel Vetter
2021-03-21 12:59               ` Daniel Vetter
2021-03-23 17:25   ` [Nouveau] [PATCH i-g-t v3] " Lyude
2021-03-23 17:25     ` [igt-dev] " Lyude
2021-03-24  8:59     ` [Nouveau] " Petri Latvala
2021-03-24  8:59       ` Petri Latvala
2021-03-24 16:12     ` [Nouveau] " Ville Syrjälä
2021-03-24 16:12       ` Ville Syrjälä
2021-03-18 22:21 ` [Nouveau] [PATCH i-g-t v2 2/2] tests/kms_cursor_crc: Test 32x32 cursors Lyude
2021-03-18 22:21   ` [igt-dev] " Lyude
2021-03-18 22:58 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2021-03-19  3:52 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2021-03-23 18:46 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_cursor_crc: Test 32x32 cursors (rev2) Patchwork
2021-03-24 11:15 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

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.