* [PATCH i-g-t v6 00/12] benchmarks/kms_fb_stress: benchmark formats
@ 2024-09-13 0:39 Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 01/12] benchmarks/kms_fb_stress: Set DRM_CLIENT_CAP_WRITEBACK_CONNECTORS before igt_require() Arthur Grillo
` (14 more replies)
0 siblings, 15 replies; 21+ messages in thread
From: Arthur Grillo @ 2024-09-13 0:39 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Pekka Paalanen, Louis Chauvet, Arthur Grillo
After some discussion[1], I changed how to tackle the problem. (2x)
With the upcoming addition of YUV format to VKMS[2] it would be great to
test the their performance. So, create a test for the primary plane
formats and a test for the writeback formats
- PATCH #1: A fix from a breaking change introduced on commit
dc2d7fb4f978 ("lib/igt_kms: move setting DRM_CLIENT_CAP_WRITEBACK_CONNECTORS to kms_writeback")
- PATCH #2: Just a non-related assert that I found needed while developing
- PATCH #3: Log the KMS structure
- PATCH #4: Moving code, should be noop
- PATCH #5, #6 & #7 : Fix a couple of bugs found while developing
- PATCH #8 Move code to out of a loop (noop)
- PATCH #9: Add a enable switch for every plane. Preparation for the
next couple commits
- PATCH #10: Add benchmark that tests primary plane formats performance
- PATCH #11: Add benchmark that tests writeback formats performance
- PATCH #12: Add new YUV formats to IGT that will be supported by VKMS
[1]: https://lore.kernel.org/all/6979cd2e-2b00-4dc4-8e41-66b435cf7ea8@riseup.net/
[2]: https://lore.kernel.org/all/20240304-yuv-v4-11-76beac8e9793@bootlin.com/
Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
---
Changes in v6:
- Set DRM_CLIENT_CAP_WRITEBACK_CONNECTORS before igt_require, needed
after commit dc2d7fb4f978 ("lib/igt_kms: move setting
DRM_CLIENT_CAP_WRITEBACK_CONNECTORS to kms_writeback")
- Split test into a primary plane and writeback tests (Louis Chauvet)
- Add new YUV formats
- Add KMS logging only after adding the enable switches to avoid some
changing of new code throughout the patches
- Adhere to the new igt_calc_fb_size() API. Commit 83d7d630cff0
("lib/igt_fb: Make igt_calc_fb_size() somewhat usable") changed how
the igt_calc_fb_size() is called.
- Link to v5: https://lore.kernel.org/r/20240422-kms_fb_stress-dev-v5-0-0c577163dc88@riseup.net
Changes in v5:
- Move global data variable to main (Kamil Konieczny)
- Create a function for creating fbs named `create_fb` (Kamil Konieczny)
- Move the stride checking to inside the `create_fb`
- Link to v4: https://lore.kernel.org/r/20240411-kms_fb_stress-dev-v4-0-7a8f3a419ebb@riseup.net
Changes in v4:
- Change (again) how the new test is done, now it just uses the primary
and writeback, and changes the formats based on primary format list.
(Pekka Paalanen)
- Add an enable_overlay flag, for the new test.
- Remove the addition of command-line flags, as I don't see them that
useful anymore (Pekka Paalanen)
- Change the RGB565 test to a stride test (Pekka Paalanen)
- Link to v3: https://lore.kernel.org/r/20240307-kms_fb_stress-dev-v3-0-d5b948a541be@riseup.net
Changes in v3:
- Make the help message and commit message more clear on how the
command-line options work (Louis Chauvet)
- Link to v2: https://lore.kernel.org/r/20240305-kms_fb_stress-dev-v2-0-78888a38e563@riseup.net
Changes in v2:
- Change how the command-line options work, now they pin the specific
format and let the other change.
- Add a patch to test all the possible formats combination
- Add a couple of patches to fix some bugs
- Move the KMS logging patch to the beginning of the series
- Move the default_kms definition to the static struct data_t variable
- Link to v1: https://lore.kernel.org/r/20240226-kms_fb_stress-dev-v1-0-1c14942b1244@riseup.net
---
Arthur Grillo (12):
benchmarks/kms_fb_stress: Set DRM_CLIENT_CAP_WRITEBACK_CONNECTORS before igt_require()
benchmarks/kms_fb_stress: Assert that we have a supported pipe
benchmarks/kms_fb_stress: Separate the benchmark in a subtest
benchmarks/kms_fb_stress: Free resources on the stress procedure
benchmarks/kms_fb_stress: Move FB creation to a separate function
benchmarks/kms_fb_stress: Don't paint the FB's if the format is not supported by Pixman
benchmarks/kms_fb_stress: Set writeback rectangle size outside the loop
benchmarks/kms_fb_stress: Add enable switches for every plane
benchmarks/kms_fb_stress: Log the KMS structure
benchmarks/kms_fb_stress: Create a benchmark for primary plane formats
benchmarks/kms_fb_stress: Create a benchmark for writeback formats
lib/igt_fb: Add non sub-sampled YUV formats
benchmarks/kms_fb_stress.c | 320 ++++++++++++++++++++++++++++++++++++---------
lib/igt_fb.c | 46 +++++++
2 files changed, 304 insertions(+), 62 deletions(-)
---
base-commit: 72661cec25b3b81c46dbe57bb9953f554d88626f
change-id: 20240226-kms_fb_stress-dev-c93ae176f901
Best regards,
--
Arthur Grillo <arthurgrillo@riseup.net>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH i-g-t v6 01/12] benchmarks/kms_fb_stress: Set DRM_CLIENT_CAP_WRITEBACK_CONNECTORS before igt_require()
2024-09-13 0:39 [PATCH i-g-t v6 00/12] benchmarks/kms_fb_stress: benchmark formats Arthur Grillo
@ 2024-09-13 0:39 ` Arthur Grillo
2024-10-22 16:41 ` Kamil Konieczny
2024-09-13 0:39 ` [PATCH i-g-t v6 02/12] benchmarks/kms_fb_stress: Assert that we have a supported pipe Arthur Grillo
` (13 subsequent siblings)
14 siblings, 1 reply; 21+ messages in thread
From: Arthur Grillo @ 2024-09-13 0:39 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Pekka Paalanen, Louis Chauvet, Arthur Grillo
After commit dc2d7fb4f978 ("lib/igt_kms: move setting
DRM_CLIENT_CAP_WRITEBACK_CONNECTORS to kms_writeback") igt_require() no
longer sets DRM_CLIENT_CAP_WRITEBACK_CONNECTORS. So set it before
calling igt_require().
Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
Fixes: dc2d7fb4f978 ("lib/igt_kms: move setting DRM_CLIENT_CAP_WRITEBACK_CONNECTORS to kms_writeback")
---
benchmarks/kms_fb_stress.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/benchmarks/kms_fb_stress.c b/benchmarks/kms_fb_stress.c
index 00eaa0a4931a..804bb81a4cf7 100644
--- a/benchmarks/kms_fb_stress.c
+++ b/benchmarks/kms_fb_stress.c
@@ -145,6 +145,7 @@ igt_simple_main
enum pipe pipe = PIPE_NONE;
struct timespec then, now;
double elapsed;
+ int ret;
data.kms = default_kms;
@@ -152,6 +153,10 @@ igt_simple_main
kmstest_set_vt_graphics_mode();
+ ret = drmSetClientCap(data.display.drm_fd, DRM_CLIENT_CAP_WRITEBACK_CONNECTORS, 1);
+
+ igt_require_f(!ret, "error setting DRM_CLIENT_CAP_WRITEBACK_CONNECTORS\n");
+
igt_display_require(&data.display, data.fd);
igt_require(data.display.is_atomic);
--
2.46.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH i-g-t v6 02/12] benchmarks/kms_fb_stress: Assert that we have a supported pipe
2024-09-13 0:39 [PATCH i-g-t v6 00/12] benchmarks/kms_fb_stress: benchmark formats Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 01/12] benchmarks/kms_fb_stress: Set DRM_CLIENT_CAP_WRITEBACK_CONNECTORS before igt_require() Arthur Grillo
@ 2024-09-13 0:39 ` Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 03/12] benchmarks/kms_fb_stress: Separate the benchmark in a subtest Arthur Grillo
` (12 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Arthur Grillo @ 2024-09-13 0:39 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Pekka Paalanen, Louis Chauvet, Arthur Grillo
Some driver may not support overlay planes. Add a check for that.
Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com>
Tested-by: Louis Chauvet <louis.chauvet@bootlin.com>
Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
---
benchmarks/kms_fb_stress.c | 36 +++++++++++++++++++++++++++---------
1 file changed, 27 insertions(+), 9 deletions(-)
diff --git a/benchmarks/kms_fb_stress.c b/benchmarks/kms_fb_stress.c
index 804bb81a4cf7..9c6d2b52caad 100644
--- a/benchmarks/kms_fb_stress.c
+++ b/benchmarks/kms_fb_stress.c
@@ -87,6 +87,27 @@ static igt_output_t *find_wb_output(struct data_t *data)
return NULL;
}
+static void set_wb_pipe(struct data_t *data)
+{
+ enum pipe pipe = PIPE_NONE;
+
+ for_each_pipe(&data->display, pipe) {
+ igt_pipe_t *pipe_obj = &data->display.pipes[pipe];
+
+ if (igt_pipe_count_plane_type(pipe_obj, DRM_PLANE_TYPE_OVERLAY) < 2)
+ continue;
+
+ igt_debug("Selecting pipe %s to %s\n",
+ kmstest_pipe_name(pipe),
+ igt_output_name(data->wb_output));
+ igt_output_set_pipe(data->wb_output, pipe);
+
+ return;
+ }
+
+ igt_assert_f(0, "No pipe supports this benchmark\n");
+}
+
static void set_crtc_size(struct data_t *data)
{
drmModeModeInfo *mode;
@@ -142,7 +163,6 @@ static struct kms_t default_kms = {
igt_simple_main
{
struct data_t data = {0};
- enum pipe pipe = PIPE_NONE;
struct timespec then, now;
double elapsed;
int ret;
@@ -166,24 +186,22 @@ igt_simple_main
data.wb_output = find_wb_output(&data);
igt_require(data.wb_output);
-
- for_each_pipe(&data.display, pipe) {
- igt_debug("Selecting pipe %s to %s\n",
- kmstest_pipe_name(pipe),
- igt_output_name(data.wb_output));
- igt_output_set_pipe(data.wb_output, pipe);
- break;
- }
+ set_wb_pipe(&data);
set_crtc_size(&data);
gen_fbs(&data);
data.kms.primary.base = igt_output_get_plane_type(data.wb_output, DRM_PLANE_TYPE_PRIMARY);
+ igt_assert(data.kms.primary.base != NULL);
+
data.kms.overlay_a.base = igt_output_get_plane_type_index(data.wb_output,
DRM_PLANE_TYPE_OVERLAY, 0);
+ igt_assert(data.kms.overlay_a.base != NULL);
+
data.kms.overlay_b.base = igt_output_get_plane_type_index(data.wb_output,
DRM_PLANE_TYPE_OVERLAY, 1);
+ igt_assert(data.kms.overlay_b.base != NULL);
igt_assert_eq(igt_gettime(&then), 0);
--
2.46.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH i-g-t v6 03/12] benchmarks/kms_fb_stress: Separate the benchmark in a subtest
2024-09-13 0:39 [PATCH i-g-t v6 00/12] benchmarks/kms_fb_stress: benchmark formats Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 01/12] benchmarks/kms_fb_stress: Set DRM_CLIENT_CAP_WRITEBACK_CONNECTORS before igt_require() Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 02/12] benchmarks/kms_fb_stress: Assert that we have a supported pipe Arthur Grillo
@ 2024-09-13 0:39 ` Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 04/12] benchmarks/kms_fb_stress: Free resources on the stress procedure Arthur Grillo
` (11 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Arthur Grillo @ 2024-09-13 0:39 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Pekka Paalanen, Louis Chauvet, Arthur Grillo
In the future, we want to add more tests to this. So move the stress
procedure to its own subtest.
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com>
Tested-by: Louis Chauvet <louis.chauvet@bootlin.com>
Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
---
benchmarks/kms_fb_stress.c | 111 ++++++++++++++++++++++++++-------------------
1 file changed, 65 insertions(+), 46 deletions(-)
diff --git a/benchmarks/kms_fb_stress.c b/benchmarks/kms_fb_stress.c
index 9c6d2b52caad..32d65e5085e0 100644
--- a/benchmarks/kms_fb_stress.c
+++ b/benchmarks/kms_fb_stress.c
@@ -125,6 +125,35 @@ static void set_crtc_size(struct data_t *data)
igt_assert_f(0, "CRTC size %dx%d not supported\n", crtc->width, crtc->height);
}
+static void stress_driver(struct data_t *data)
+{
+ struct timespec then, now;
+ double elapsed;
+
+ gen_fbs(data);
+
+ igt_assert_eq(igt_gettime(&then), 0);
+
+ for (int i = 0; i < FRAME_COUNT; i++) {
+ int fb_index = i % NUM_FBS;
+
+ plane_setup(&data->kms.primary, fb_index);
+
+ plane_setup(&data->kms.overlay_a, fb_index);
+
+ plane_setup(&data->kms.overlay_b, fb_index);
+
+ igt_output_set_writeback_fb(data->wb_output, &data->kms.writeback.fbs[fb_index]);
+
+ igt_display_commit2(&data->display, COMMIT_ATOMIC);
+ }
+
+ igt_assert_eq(igt_gettime(&now), 0);
+ elapsed = igt_time_elapsed(&then, &now);
+
+ igt_info("Time spent in the loop with %d frames: %lfs.\n", FRAME_COUNT, elapsed);
+}
+
static struct kms_t default_kms = {
.crtc = {
.width = 4096, .height = 2160,
@@ -159,71 +188,61 @@ static struct kms_t default_kms = {
},
};
-
-igt_simple_main
+igt_main
{
- struct data_t data = {0};
- struct timespec then, now;
- double elapsed;
- int ret;
-
- data.kms = default_kms;
+ struct data_t data;
- data.fd = drm_open_driver_master(DRIVER_ANY);
+ igt_fixture {
+ int ret;
- kmstest_set_vt_graphics_mode();
+ data.kms = default_kms;
- ret = drmSetClientCap(data.display.drm_fd, DRM_CLIENT_CAP_WRITEBACK_CONNECTORS, 1);
+ data.fd = drm_open_driver_master(DRIVER_ANY);
- igt_require_f(!ret, "error setting DRM_CLIENT_CAP_WRITEBACK_CONNECTORS\n");
+ igt_display_require(&data.display, data.fd);
- igt_display_require(&data.display, data.fd);
- igt_require(data.display.is_atomic);
+ kmstest_set_vt_graphics_mode();
- igt_display_require_output(&data.display);
+ ret = drmSetClientCap(data.display.drm_fd, DRM_CLIENT_CAP_WRITEBACK_CONNECTORS, 1);
- igt_display_reset(&data.display);
+ igt_require_f(!ret, "error setting DRM_CLIENT_CAP_WRITEBACK_CONNECTORS\n");
- data.wb_output = find_wb_output(&data);
- igt_require(data.wb_output);
- set_wb_pipe(&data);
+ igt_display_require(&data.display, data.fd);
+ igt_require(data.display.is_atomic);
- set_crtc_size(&data);
+ igt_display_require_output(&data.display);
- gen_fbs(&data);
+ igt_display_reset(&data.display);
- data.kms.primary.base = igt_output_get_plane_type(data.wb_output, DRM_PLANE_TYPE_PRIMARY);
- igt_assert(data.kms.primary.base != NULL);
+ data.wb_output = find_wb_output(&data);
+ igt_require(data.wb_output);
+ set_wb_pipe(&data);
- data.kms.overlay_a.base = igt_output_get_plane_type_index(data.wb_output,
- DRM_PLANE_TYPE_OVERLAY, 0);
- igt_assert(data.kms.overlay_a.base != NULL);
+ set_crtc_size(&data);
- data.kms.overlay_b.base = igt_output_get_plane_type_index(data.wb_output,
- DRM_PLANE_TYPE_OVERLAY, 1);
- igt_assert(data.kms.overlay_b.base != NULL);
+ data.kms.primary.base = igt_output_get_plane_type(data.wb_output,
+ DRM_PLANE_TYPE_PRIMARY);
+ igt_assert(data.kms.primary.base != NULL);
- igt_assert_eq(igt_gettime(&then), 0);
+ data.kms.overlay_a.base = igt_output_get_plane_type_index(data.wb_output,
+ DRM_PLANE_TYPE_OVERLAY,
+ 0);
+ igt_assert(data.kms.overlay_a.base != NULL);
- for (int i = 0; i < FRAME_COUNT; i++) {
- int fb_index = i % NUM_FBS;
-
- plane_setup(&data.kms.primary, fb_index);
-
- plane_setup(&data.kms.overlay_a, fb_index);
-
- plane_setup(&data.kms.overlay_b, fb_index);
+ data.kms.overlay_b.base = igt_output_get_plane_type_index(data.wb_output,
+ DRM_PLANE_TYPE_OVERLAY,
+ 1);
+ igt_assert(data.kms.overlay_b.base != NULL);
+ }
- igt_output_set_writeback_fb(data.wb_output, &data.kms.writeback.fbs[fb_index]);
+ igt_subtest("default-stress") {
+ stress_driver(&data);
- igt_display_commit2(&data.display, COMMIT_ATOMIC);
}
- igt_assert_eq(igt_gettime(&now), 0);
- elapsed = igt_time_elapsed(&then, &now);
-
- igt_info("Time spent in the loop with %d frames: %lfs.\n", FRAME_COUNT, elapsed);
- igt_display_fini(&data.display);
- drm_close_driver(data.fd);
+ igt_fixture {
+ igt_display_fini(&data.display);
+ drm_close_driver(data.fd);
+ }
}
--
2.46.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH i-g-t v6 04/12] benchmarks/kms_fb_stress: Free resources on the stress procedure
2024-09-13 0:39 [PATCH i-g-t v6 00/12] benchmarks/kms_fb_stress: benchmark formats Arthur Grillo
` (2 preceding siblings ...)
2024-09-13 0:39 ` [PATCH i-g-t v6 03/12] benchmarks/kms_fb_stress: Separate the benchmark in a subtest Arthur Grillo
@ 2024-09-13 0:39 ` Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 05/12] benchmarks/kms_fb_stress: Move FB creation to a separate function Arthur Grillo
` (10 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Arthur Grillo @ 2024-09-13 0:39 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Pekka Paalanen, Louis Chauvet, Arthur Grillo
On the stress_driver(), the fbs and the sync file are not released. Fix
that by freeing all the allocated resources.
Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com>
Tested-by: Louis Chauvet <louis.chauvet@bootlin.com>
Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
---
benchmarks/kms_fb_stress.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/benchmarks/kms_fb_stress.c b/benchmarks/kms_fb_stress.c
index 32d65e5085e0..1e79af897ecc 100644
--- a/benchmarks/kms_fb_stress.c
+++ b/benchmarks/kms_fb_stress.c
@@ -146,11 +146,30 @@ static void stress_driver(struct data_t *data)
igt_output_set_writeback_fb(data->wb_output, &data->kms.writeback.fbs[fb_index]);
igt_display_commit2(&data->display, COMMIT_ATOMIC);
+
+ if (data->wb_output->writeback_out_fence_fd != -1) {
+ close(data->wb_output->writeback_out_fence_fd);
+ data->wb_output->writeback_out_fence_fd = -1;
+ }
}
igt_assert_eq(igt_gettime(&now), 0);
elapsed = igt_time_elapsed(&then, &now);
+ igt_plane_set_fb(data->kms.primary.base, NULL);
+ igt_plane_set_fb(data->kms.overlay_a.base, NULL);
+ igt_plane_set_fb(data->kms.overlay_b.base, NULL);
+ igt_output_set_writeback_fb(data->wb_output, NULL);
+
+ for (int i = 0; i < NUM_FBS; i++) {
+ igt_remove_fb(data->fd, &data->kms.primary.fbs[i]);
+ igt_remove_fb(data->fd, &data->kms.overlay_a.fbs[i]);
+ igt_remove_fb(data->fd, &data->kms.overlay_b.fbs[i]);
+ igt_remove_fb(data->fd, &data->kms.writeback.fbs[i]);
+ }
+
+ igt_display_commit2(&data->display, COMMIT_ATOMIC);
+
igt_info("Time spent in the loop with %d frames: %lfs.\n", FRAME_COUNT, elapsed);
}
--
2.46.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH i-g-t v6 05/12] benchmarks/kms_fb_stress: Move FB creation to a separate function
2024-09-13 0:39 [PATCH i-g-t v6 00/12] benchmarks/kms_fb_stress: benchmark formats Arthur Grillo
` (3 preceding siblings ...)
2024-09-13 0:39 ` [PATCH i-g-t v6 04/12] benchmarks/kms_fb_stress: Free resources on the stress procedure Arthur Grillo
@ 2024-09-13 0:39 ` Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 06/12] benchmarks/kms_fb_stress: Don't paint the FB's if the format is not supported by Pixman Arthur Grillo
` (9 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Arthur Grillo @ 2024-09-13 0:39 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Pekka Paalanen, Louis Chauvet, Arthur Grillo
In the future, we want to add more logic to the FB creation. So, to
reduce code repetition, move the procedure to its own function.
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com>
Tested-by: Louis Chauvet <louis.chauvet@bootlin.com>
Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
---
benchmarks/kms_fb_stress.c | 25 +++++++++++--------------
1 file changed, 11 insertions(+), 14 deletions(-)
diff --git a/benchmarks/kms_fb_stress.c b/benchmarks/kms_fb_stress.c
index 1e79af897ecc..25673d57f593 100644
--- a/benchmarks/kms_fb_stress.c
+++ b/benchmarks/kms_fb_stress.c
@@ -43,26 +43,23 @@ static void plane_setup(struct plane_t *plane, int index)
igt_plane_set_fb(plane->base, &plane->fbs[index]);
}
+static void create_fb(int fd, struct plane_t *plane, int fb_index, double r, double g, double b)
+{
+ igt_create_color_fb(fd, plane->rect.width, plane->rect.height,
+ plane->format, DRM_FORMAT_MOD_LINEAR,
+ r, g, b,
+ &plane->fbs[fb_index]);
+}
+
static void gen_fbs(struct data_t *data)
{
struct kms_t *kms = &data->kms;
drmModeModeInfo *mode = igt_output_get_mode(data->wb_output);
for (int i = 0; i < NUM_FBS; i++) {
- igt_create_color_fb(data->fd, kms->primary.rect.width, kms->primary.rect.height,
- kms->primary.format, DRM_FORMAT_MOD_LINEAR,
- !i, i, i,
- &kms->primary.fbs[i]);
-
- igt_create_color_fb(data->fd, kms->overlay_a.rect.width, kms->overlay_a.rect.height,
- kms->overlay_a.format, DRM_FORMAT_MOD_LINEAR,
- i, !i, i,
- &kms->overlay_a.fbs[i]);
-
- igt_create_color_fb(data->fd, kms->overlay_b.rect.width, kms->overlay_b.rect.height,
- kms->overlay_b.format, DRM_FORMAT_MOD_LINEAR,
- i, i, !i,
- &kms->overlay_b.fbs[i]);
+ create_fb(data->fd, &kms->primary, i, !i, i, i);
+ create_fb(data->fd, &kms->overlay_a, i, i, !i, i);
+ create_fb(data->fd, &kms->overlay_b, i, i, i, !i);
kms->writeback.rect.width = mode->hdisplay;
kms->writeback.rect.height = mode->vdisplay;
--
2.46.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH i-g-t v6 06/12] benchmarks/kms_fb_stress: Don't paint the FB's if the format is not supported by Pixman
2024-09-13 0:39 [PATCH i-g-t v6 00/12] benchmarks/kms_fb_stress: benchmark formats Arthur Grillo
` (4 preceding siblings ...)
2024-09-13 0:39 ` [PATCH i-g-t v6 05/12] benchmarks/kms_fb_stress: Move FB creation to a separate function Arthur Grillo
@ 2024-09-13 0:39 ` Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 07/12] benchmarks/kms_fb_stress: Set writeback rectangle size outside the loop Arthur Grillo
` (8 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Arthur Grillo @ 2024-09-13 0:39 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Pekka Paalanen, Louis Chauvet, Arthur Grillo
Pixman requires strides to be divisible by sizeof(uint32_t).
So, don't paint the FB's if the stride is not.
Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
---
benchmarks/kms_fb_stress.c | 25 +++++++++++++++++++++----
1 file changed, 21 insertions(+), 4 deletions(-)
diff --git a/benchmarks/kms_fb_stress.c b/benchmarks/kms_fb_stress.c
index 25673d57f593..dce69d0b5b81 100644
--- a/benchmarks/kms_fb_stress.c
+++ b/benchmarks/kms_fb_stress.c
@@ -45,10 +45,27 @@ static void plane_setup(struct plane_t *plane, int index)
static void create_fb(int fd, struct plane_t *plane, int fb_index, double r, double g, double b)
{
- igt_create_color_fb(fd, plane->rect.width, plane->rect.height,
- plane->format, DRM_FORMAT_MOD_LINEAR,
- r, g, b,
- &plane->fbs[fb_index]);
+ struct igt_fb stride_lookup_fb;
+
+ igt_init_fb(&stride_lookup_fb, fd, plane->rect.width, plane->rect.height,
+ plane->format, DRM_FORMAT_MOD_LINEAR,
+ IGT_COLOR_YCBCR_BT709,
+ IGT_COLOR_YCBCR_LIMITED_RANGE);
+
+ igt_calc_fb_size(&stride_lookup_fb);
+
+ if (stride_lookup_fb.strides[0] % sizeof(uint32_t) == 0) {
+ igt_create_color_fb(fd,
+ plane->rect.width, plane->rect.height,
+ plane->format, DRM_FORMAT_MOD_LINEAR,
+ r, g, b,
+ &plane->fbs[fb_index]);
+ } else {
+ igt_create_fb(fd,
+ plane->rect.width, plane->rect.height,
+ plane->format, DRM_FORMAT_MOD_LINEAR,
+ &plane->fbs[fb_index]);
+ }
}
static void gen_fbs(struct data_t *data)
--
2.46.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH i-g-t v6 07/12] benchmarks/kms_fb_stress: Set writeback rectangle size outside the loop
2024-09-13 0:39 [PATCH i-g-t v6 00/12] benchmarks/kms_fb_stress: benchmark formats Arthur Grillo
` (5 preceding siblings ...)
2024-09-13 0:39 ` [PATCH i-g-t v6 06/12] benchmarks/kms_fb_stress: Don't paint the FB's if the format is not supported by Pixman Arthur Grillo
@ 2024-09-13 0:39 ` Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 08/12] benchmarks/kms_fb_stress: Add enable switches for every plane Arthur Grillo
` (7 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Arthur Grillo @ 2024-09-13 0:39 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Pekka Paalanen, Louis Chauvet, Arthur Grillo
This doesn't need to be inside the loop, so move out of it.
Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
---
benchmarks/kms_fb_stress.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/benchmarks/kms_fb_stress.c b/benchmarks/kms_fb_stress.c
index dce69d0b5b81..6f70f201be0d 100644
--- a/benchmarks/kms_fb_stress.c
+++ b/benchmarks/kms_fb_stress.c
@@ -72,14 +72,14 @@ static void gen_fbs(struct data_t *data)
{
struct kms_t *kms = &data->kms;
drmModeModeInfo *mode = igt_output_get_mode(data->wb_output);
+ kms->writeback.rect.width = mode->hdisplay;
+ kms->writeback.rect.height = mode->vdisplay;
for (int i = 0; i < NUM_FBS; i++) {
create_fb(data->fd, &kms->primary, i, !i, i, i);
create_fb(data->fd, &kms->overlay_a, i, i, !i, i);
create_fb(data->fd, &kms->overlay_b, i, i, i, !i);
- kms->writeback.rect.width = mode->hdisplay;
- kms->writeback.rect.height = mode->vdisplay;
igt_create_fb(data->fd, kms->writeback.rect.width, kms->writeback.rect.height,
kms->writeback.format, DRM_FORMAT_MOD_LINEAR,
&kms->writeback.fbs[i]);
--
2.46.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH i-g-t v6 08/12] benchmarks/kms_fb_stress: Add enable switches for every plane
2024-09-13 0:39 [PATCH i-g-t v6 00/12] benchmarks/kms_fb_stress: benchmark formats Arthur Grillo
` (6 preceding siblings ...)
2024-09-13 0:39 ` [PATCH i-g-t v6 07/12] benchmarks/kms_fb_stress: Set writeback rectangle size outside the loop Arthur Grillo
@ 2024-09-13 0:39 ` Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 09/12] benchmarks/kms_fb_stress: Log the KMS structure Arthur Grillo
` (6 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Arthur Grillo @ 2024-09-13 0:39 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Pekka Paalanen, Louis Chauvet, Arthur Grillo
In the future, we would like to separately enable each plane depending
on the benchmark, so create an enable flag on each plane.
Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
---
benchmarks/kms_fb_stress.c | 69 +++++++++++++++++++++++++++++-----------------
1 file changed, 44 insertions(+), 25 deletions(-)
diff --git a/benchmarks/kms_fb_stress.c b/benchmarks/kms_fb_stress.c
index 6f70f201be0d..45e03f97919a 100644
--- a/benchmarks/kms_fb_stress.c
+++ b/benchmarks/kms_fb_stress.c
@@ -18,6 +18,7 @@ struct plane_t {
struct rect_t rect;
uint32_t format;
struct igt_fb fbs[NUM_FBS];
+ bool enable;
};
struct kms_t {
@@ -76,13 +77,18 @@ static void gen_fbs(struct data_t *data)
kms->writeback.rect.height = mode->vdisplay;
for (int i = 0; i < NUM_FBS; i++) {
- create_fb(data->fd, &kms->primary, i, !i, i, i);
- create_fb(data->fd, &kms->overlay_a, i, i, !i, i);
- create_fb(data->fd, &kms->overlay_b, i, i, i, !i);
-
- igt_create_fb(data->fd, kms->writeback.rect.width, kms->writeback.rect.height,
- kms->writeback.format, DRM_FORMAT_MOD_LINEAR,
- &kms->writeback.fbs[i]);
+ if (kms->primary.enable)
+ create_fb(data->fd, &kms->primary, i, !i, i, i);
+ if (kms->overlay_a.enable)
+ create_fb(data->fd, &kms->overlay_a, i, i, !i, i);
+ if (kms->overlay_b.enable)
+ create_fb(data->fd, &kms->overlay_b, i, i, i, !i);
+
+ if (kms->writeback.enable)
+ igt_create_fb(data->fd, kms->writeback.rect.width,
+ kms->writeback.rect.height,
+ kms->writeback.format, DRM_FORMAT_MOD_LINEAR,
+ &kms->writeback.fbs[i]);
}
}
@@ -151,17 +157,19 @@ static void stress_driver(struct data_t *data)
for (int i = 0; i < FRAME_COUNT; i++) {
int fb_index = i % NUM_FBS;
- plane_setup(&data->kms.primary, fb_index);
-
- plane_setup(&data->kms.overlay_a, fb_index);
-
- plane_setup(&data->kms.overlay_b, fb_index);
-
- igt_output_set_writeback_fb(data->wb_output, &data->kms.writeback.fbs[fb_index]);
+ if (data->kms.primary.enable)
+ plane_setup(&data->kms.primary, fb_index);
+ if (data->kms.overlay_a.enable)
+ plane_setup(&data->kms.overlay_a, fb_index);
+ if (data->kms.overlay_b.enable)
+ plane_setup(&data->kms.overlay_b, fb_index);
+ if (data->kms.writeback.enable)
+ igt_output_set_writeback_fb(data->wb_output,
+ &data->kms.writeback.fbs[fb_index]);
igt_display_commit2(&data->display, COMMIT_ATOMIC);
- if (data->wb_output->writeback_out_fence_fd != -1) {
+ if (data->kms.writeback.enable && data->wb_output->writeback_out_fence_fd != -1) {
close(data->wb_output->writeback_out_fence_fd);
data->wb_output->writeback_out_fence_fd = -1;
}
@@ -170,16 +178,24 @@ static void stress_driver(struct data_t *data)
igt_assert_eq(igt_gettime(&now), 0);
elapsed = igt_time_elapsed(&then, &now);
- igt_plane_set_fb(data->kms.primary.base, NULL);
- igt_plane_set_fb(data->kms.overlay_a.base, NULL);
- igt_plane_set_fb(data->kms.overlay_b.base, NULL);
- igt_output_set_writeback_fb(data->wb_output, NULL);
+ if (data->kms.primary.enable)
+ igt_plane_set_fb(data->kms.primary.base, NULL);
+ if (data->kms.overlay_a.enable)
+ igt_plane_set_fb(data->kms.overlay_a.base, NULL);
+ if (data->kms.overlay_b.enable)
+ igt_plane_set_fb(data->kms.overlay_b.base, NULL);
+ if (data->kms.writeback.enable)
+ igt_output_set_writeback_fb(data->wb_output, NULL);
for (int i = 0; i < NUM_FBS; i++) {
- igt_remove_fb(data->fd, &data->kms.primary.fbs[i]);
- igt_remove_fb(data->fd, &data->kms.overlay_a.fbs[i]);
- igt_remove_fb(data->fd, &data->kms.overlay_b.fbs[i]);
- igt_remove_fb(data->fd, &data->kms.writeback.fbs[i]);
+ if (data->kms.primary.enable)
+ igt_remove_fb(data->fd, &data->kms.primary.fbs[i]);
+ if (data->kms.overlay_a.enable)
+ igt_remove_fb(data->fd, &data->kms.overlay_a.fbs[i]);
+ if (data->kms.overlay_b.enable)
+ igt_remove_fb(data->fd, &data->kms.overlay_b.fbs[i]);
+ if (data->kms.writeback.enable)
+ igt_remove_fb(data->fd, &data->kms.writeback.fbs[i]);
}
igt_display_commit2(&data->display, COMMIT_ATOMIC);
@@ -269,11 +285,14 @@ igt_main
}
igt_subtest("default-stress") {
- stress_driver(&data);
+ data.kms.primary.enable = true;
+ data.kms.overlay_a.enable = true;
+ data.kms.overlay_b.enable = true;
+ data.kms.writeback.enable = true;
+ stress_driver(&data);
}
-
igt_fixture {
igt_display_fini(&data.display);
drm_close_driver(data.fd);
--
2.46.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH i-g-t v6 09/12] benchmarks/kms_fb_stress: Log the KMS structure
2024-09-13 0:39 [PATCH i-g-t v6 00/12] benchmarks/kms_fb_stress: benchmark formats Arthur Grillo
` (7 preceding siblings ...)
2024-09-13 0:39 ` [PATCH i-g-t v6 08/12] benchmarks/kms_fb_stress: Add enable switches for every plane Arthur Grillo
@ 2024-09-13 0:39 ` Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 10/12] benchmarks/kms_fb_stress: Create a benchmark for primary plane formats Arthur Grillo
` (5 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Arthur Grillo @ 2024-09-13 0:39 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Pekka Paalanen, Louis Chauvet, Arthur Grillo
In the future, the KMS structure could be dynamically changed. So, log
the KMS structure to the user.
Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
---
benchmarks/kms_fb_stress.c | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/benchmarks/kms_fb_stress.c b/benchmarks/kms_fb_stress.c
index 45e03f97919a..0adb296304fa 100644
--- a/benchmarks/kms_fb_stress.c
+++ b/benchmarks/kms_fb_stress.c
@@ -8,6 +8,9 @@
#define FRAME_COUNT 100
#define NUM_FBS 2
+#define RECT_FMT "%dx%d%+d%+d"
+#define RECT_ARG(r) (r)->width, (r)->height, (r)->x, (r)->y
+
struct rect_t {
int x, y;
int width, height;
@@ -150,6 +153,34 @@ static void stress_driver(struct data_t *data)
struct timespec then, now;
double elapsed;
+ igt_info("KMS structure:\n");
+ igt_info("\tCRTC:\n");
+ igt_info("\t\trectangle: " RECT_FMT "\n", RECT_ARG(&data->kms.crtc));
+
+ if (data->kms.primary.enable) {
+ igt_info("\tprimary:\n");
+ igt_info("\t\tformat: %s\n", igt_format_str(data->kms.primary.format));
+ igt_info("\t\trectangle: " RECT_FMT "\n", RECT_ARG(&data->kms.primary.rect));
+ }
+
+ if (data->kms.overlay_a.enable) {
+ igt_info("\toverlay A:\n");
+ igt_info("\t\tformat: %s\n", igt_format_str(data->kms.overlay_a.format));
+ igt_info("\t\trectangle: " RECT_FMT "\n", RECT_ARG(&data->kms.overlay_a.rect));
+ }
+
+ if (data->kms.overlay_b.enable) {
+ igt_info("\toverlay B:\n");
+ igt_info("\t\tformat: %s\n", igt_format_str(data->kms.overlay_b.format));
+ igt_info("\t\trectangle: " RECT_FMT "\n", RECT_ARG(&data->kms.overlay_b.rect));
+ }
+
+ if (data->kms.writeback.enable) {
+ igt_info("\twriteback:\n");
+ igt_info("\t\tformat: %s\n", igt_format_str(data->kms.writeback.format));
+ igt_info("\t\trectangle: " RECT_FMT "\n", RECT_ARG(&data->kms.writeback.rect));
+ }
+
gen_fbs(data);
igt_assert_eq(igt_gettime(&then), 0);
--
2.46.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH i-g-t v6 10/12] benchmarks/kms_fb_stress: Create a benchmark for primary plane formats
2024-09-13 0:39 [PATCH i-g-t v6 00/12] benchmarks/kms_fb_stress: benchmark formats Arthur Grillo
` (8 preceding siblings ...)
2024-09-13 0:39 ` [PATCH i-g-t v6 09/12] benchmarks/kms_fb_stress: Log the KMS structure Arthur Grillo
@ 2024-09-13 0:39 ` Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 11/12] benchmarks/kms_fb_stress: Create a benchmark for writeback formats Arthur Grillo
` (4 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Arthur Grillo @ 2024-09-13 0:39 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Pekka Paalanen, Louis Chauvet, Arthur Grillo
Create an benchmark that tests the performance of each supported format
for the primary plane.
Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
---
benchmarks/kms_fb_stress.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/benchmarks/kms_fb_stress.c b/benchmarks/kms_fb_stress.c
index 0adb296304fa..57df3ae2bac9 100644
--- a/benchmarks/kms_fb_stress.c
+++ b/benchmarks/kms_fb_stress.c
@@ -324,6 +324,26 @@ igt_main
stress_driver(&data);
}
+ igt_subtest("primary-plane") {
+ data.kms.primary.enable = true;
+ data.kms.overlay_a.enable = false;
+ data.kms.overlay_b.enable = false;
+ data.kms.writeback.enable = false;
+
+ for (size_t i = 0; i < data.kms.primary.base->format_mod_count; i++) {
+ data.kms.primary.format = data.kms.primary.base->formats[i];
+
+ if (!igt_fb_supported_format(data.kms.primary.format)) {
+ igt_warn("Format 0x%x(%.4s) is not supported by IGT\n",
+ data.kms.primary.format,
+ (char *)&data.kms.primary.format);
+ continue;
+ }
+
+ stress_driver(&data);
+ }
+ }
+
igt_fixture {
igt_display_fini(&data.display);
drm_close_driver(data.fd);
--
2.46.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH i-g-t v6 11/12] benchmarks/kms_fb_stress: Create a benchmark for writeback formats
2024-09-13 0:39 [PATCH i-g-t v6 00/12] benchmarks/kms_fb_stress: benchmark formats Arthur Grillo
` (9 preceding siblings ...)
2024-09-13 0:39 ` [PATCH i-g-t v6 10/12] benchmarks/kms_fb_stress: Create a benchmark for primary plane formats Arthur Grillo
@ 2024-09-13 0:39 ` Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 12/12] lib/igt_fb: Add non sub-sampled YUV formats Arthur Grillo
` (3 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Arthur Grillo @ 2024-09-13 0:39 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Pekka Paalanen, Louis Chauvet, Arthur Grillo
Create a benchmark that tests the performance of each supported format
for the writeback.
As IGT lib doesn't have a way to get the writeback formats it's needed
to call DRM directly.
Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
---
benchmarks/kms_fb_stress.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/benchmarks/kms_fb_stress.c b/benchmarks/kms_fb_stress.c
index 57df3ae2bac9..818201f1b8b6 100644
--- a/benchmarks/kms_fb_stress.c
+++ b/benchmarks/kms_fb_stress.c
@@ -36,6 +36,8 @@ struct data_t {
int fd;
igt_display_t display;
igt_output_t *wb_output;
+ uint32_t *wb_formats;
+ size_t num_wb_formats;
drmModeModeInfo *mode;
struct kms_t kms;
};
@@ -148,6 +150,25 @@ static void set_crtc_size(struct data_t *data)
igt_assert_f(0, "CRTC size %dx%d not supported\n", crtc->width, crtc->height);
}
+static drmModePropertyBlobRes *get_writeback_formats_blob(igt_output_t *output)
+{
+ drmModePropertyBlobRes *blob = NULL;
+ uint64_t blob_id;
+ int ret;
+
+ ret = kmstest_get_property(output->display->drm_fd,
+ output->config.connector->connector_id,
+ DRM_MODE_OBJECT_CONNECTOR,
+ igt_connector_prop_names[IGT_CONNECTOR_WRITEBACK_PIXEL_FORMATS],
+ NULL, &blob_id, NULL);
+ if (ret)
+ blob = drmModeGetPropertyBlob(output->display->drm_fd, blob_id);
+
+ igt_assert(blob);
+
+ return blob;
+}
+
static void stress_driver(struct data_t *data)
{
struct timespec then, now;
@@ -274,6 +295,7 @@ igt_main
igt_fixture {
int ret;
+ drmModePropertyBlobRes *blob;
data.kms = default_kms;
@@ -313,6 +335,15 @@ igt_main
DRM_PLANE_TYPE_OVERLAY,
1);
igt_assert(data.kms.overlay_b.base != NULL);
+
+ blob = get_writeback_formats_blob(data.wb_output);
+ igt_assert(blob->length % 4 == 0);
+
+ data.num_wb_formats = blob->length / 4;
+ data.wb_formats = malloc(sizeof(uint32_t) * data.num_wb_formats);
+
+ for (size_t i = 0; i < data.num_wb_formats; i++)
+ data.wb_formats[i] = *(uint32_t *)(blob->data + i * 4);
}
igt_subtest("default-stress") {
@@ -344,6 +375,26 @@ igt_main
}
}
+ igt_subtest("writeback") {
+ data.kms.primary.enable = false;
+ data.kms.overlay_a.enable = false;
+ data.kms.overlay_b.enable = false;
+ data.kms.writeback.enable = true;
+
+ for (size_t i = 0; i < data.num_wb_formats; i++) {
+ data.kms.writeback.format = data.wb_formats[i];
+
+ if (!igt_fb_supported_format(data.kms.writeback.format)) {
+ igt_warn("Format 0x%x(%.4s) is not supported by IGT\n",
+ data.kms.writeback.format,
+ (char *)&data.kms.writeback.format);
+ continue;
+ }
+
+ stress_driver(&data);
+ }
+ }
+
igt_fixture {
igt_display_fini(&data.display);
drm_close_driver(data.fd);
--
2.46.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH i-g-t v6 12/12] lib/igt_fb: Add non sub-sampled YUV formats
2024-09-13 0:39 [PATCH i-g-t v6 00/12] benchmarks/kms_fb_stress: benchmark formats Arthur Grillo
` (10 preceding siblings ...)
2024-09-13 0:39 ` [PATCH i-g-t v6 11/12] benchmarks/kms_fb_stress: Create a benchmark for writeback formats Arthur Grillo
@ 2024-09-13 0:39 ` Arthur Grillo
2024-10-22 15:06 ` Kamil Konieczny
` (2 more replies)
2024-09-13 1:26 ` ✓ CI.xeBAT: success for benchmarks/kms_fb_stress: benchmark formats (rev3) Patchwork
` (2 subsequent siblings)
14 siblings, 3 replies; 21+ messages in thread
From: Arthur Grillo @ 2024-09-13 0:39 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Pekka Paalanen, Louis Chauvet, Arthur Grillo
This adds support for the formats:
- NV24
- NV42
- YU24
- YU42
Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
---
lib/igt_fb.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index 7f87d40ed3d6..b1301d08d9f8 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -257,6 +257,16 @@ static const struct format_desc_struct {
.num_planes = 2, .plane_bpp = { 8, 16, },
.hsub = 2, .vsub = 2,
},
+ { .name = "NV24", .depth = -1, .drm_id = DRM_FORMAT_NV24,
+ .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
+ .num_planes = 2, .plane_bpp = { 8, 16, },
+ .hsub = 1, .vsub = 1,
+ },
+ { .name = "NV42", .depth = -1, .drm_id = DRM_FORMAT_NV42,
+ .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
+ .num_planes = 2, .plane_bpp = { 8, 16, },
+ .hsub = 1, .vsub = 1,
+ },
{ .name = "NV61", .depth = -1, .drm_id = DRM_FORMAT_NV61,
.cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
.num_planes = 2, .plane_bpp = { 8, 16, },
@@ -292,6 +302,11 @@ static const struct format_desc_struct {
.num_planes = 3, .plane_bpp = { 8, 8, 8, },
.hsub = 2, .vsub = 1,
},
+ { .name = "YU24", .depth = -1, .drm_id = DRM_FORMAT_YUV444,
+ .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
+ .num_planes = 3, .plane_bpp = { 8, 8, 8, },
+ .hsub = 1, .vsub = 1,
+ },
{ .name = "YV12", .depth = -1, .drm_id = DRM_FORMAT_YVU420,
.cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
.num_planes = 3, .plane_bpp = { 8, 8, 8, },
@@ -302,6 +317,11 @@ static const struct format_desc_struct {
.num_planes = 3, .plane_bpp = { 8, 8, 8, },
.hsub = 2, .vsub = 1,
},
+ { .name = "YV24", .depth = -1, .drm_id = DRM_FORMAT_YVU444,
+ .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
+ .num_planes = 3, .plane_bpp = { 8, 8, 8, },
+ .hsub = 1, .vsub = 1,
+ },
{ .name = "Y410", .depth = -1, .drm_id = DRM_FORMAT_Y410,
.cairo_id = CAIRO_FORMAT_RGBA128F, .convert = true,
.num_planes = 1, .plane_bpp = { 32, },
@@ -1166,8 +1186,10 @@ static void clear_yuv_buffer(struct igt_fb *fb)
break;
case DRM_FORMAT_YUV420:
case DRM_FORMAT_YUV422:
+ case DRM_FORMAT_YUV444:
case DRM_FORMAT_YVU420:
case DRM_FORMAT_YVU422:
+ case DRM_FORMAT_YVU444:
igt_assert(ARRAY_SIZE(plane_size) == 3);
memset(ptr + fb->offsets[0],
full_range ? 0x00 : 0x10,
@@ -3495,6 +3517,8 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
case DRM_FORMAT_NV12:
case DRM_FORMAT_NV16:
case DRM_FORMAT_NV21:
+ case DRM_FORMAT_NV24:
+ case DRM_FORMAT_NV42:
case DRM_FORMAT_NV61:
case DRM_FORMAT_P010:
case DRM_FORMAT_P012:
@@ -3505,8 +3529,10 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
case DRM_FORMAT_YUV420:
case DRM_FORMAT_YUV422:
+ case DRM_FORMAT_YUV444:
case DRM_FORMAT_YVU420:
case DRM_FORMAT_YVU422:
+ case DRM_FORMAT_YVU444:
params->ay_inc = 1;
params->uv_inc = 1;
break;
@@ -3536,11 +3562,15 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
case DRM_FORMAT_NV12:
case DRM_FORMAT_NV16:
case DRM_FORMAT_NV21:
+ case DRM_FORMAT_NV24:
+ case DRM_FORMAT_NV42:
case DRM_FORMAT_NV61:
case DRM_FORMAT_YUV420:
case DRM_FORMAT_YUV422:
+ case DRM_FORMAT_YUV444:
case DRM_FORMAT_YVU420:
case DRM_FORMAT_YVU422:
+ case DRM_FORMAT_YVU444:
case DRM_FORMAT_P010:
case DRM_FORMAT_P012:
case DRM_FORMAT_P016:
@@ -3568,12 +3598,14 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
switch (fb->drm_format) {
case DRM_FORMAT_NV12:
case DRM_FORMAT_NV16:
+ case DRM_FORMAT_NV24:
params->y_offset = fb->offsets[0];
params->u_offset = fb->offsets[1];
params->v_offset = fb->offsets[1] + 1;
break;
case DRM_FORMAT_NV21:
+ case DRM_FORMAT_NV42:
case DRM_FORMAT_NV61:
params->y_offset = fb->offsets[0];
params->u_offset = fb->offsets[1] + 1;
@@ -3582,6 +3614,7 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
case DRM_FORMAT_YUV420:
case DRM_FORMAT_YUV422:
+ case DRM_FORMAT_YUV444:
params->y_offset = fb->offsets[0];
params->u_offset = fb->offsets[1];
params->v_offset = fb->offsets[2];
@@ -3589,6 +3622,7 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
case DRM_FORMAT_YVU420:
case DRM_FORMAT_YVU422:
+ case DRM_FORMAT_YVU444:
params->y_offset = fb->offsets[0];
params->u_offset = fb->offsets[2];
params->v_offset = fb->offsets[1];
@@ -4322,14 +4356,18 @@ static void fb_convert(struct fb_convert *cvt)
case DRM_FORMAT_NV12:
case DRM_FORMAT_NV16:
case DRM_FORMAT_NV21:
+ case DRM_FORMAT_NV24:
+ case DRM_FORMAT_NV42:
case DRM_FORMAT_NV61:
case DRM_FORMAT_UYVY:
case DRM_FORMAT_VYUY:
case DRM_FORMAT_YUV420:
case DRM_FORMAT_YUV422:
+ case DRM_FORMAT_YUV444:
case DRM_FORMAT_YUYV:
case DRM_FORMAT_YVU420:
case DRM_FORMAT_YVU422:
+ case DRM_FORMAT_YVU444:
case DRM_FORMAT_YVYU:
convert_yuv_to_rgb24(cvt);
return;
@@ -4340,14 +4378,18 @@ static void fb_convert(struct fb_convert *cvt)
case DRM_FORMAT_NV12:
case DRM_FORMAT_NV16:
case DRM_FORMAT_NV21:
+ case DRM_FORMAT_NV24:
+ case DRM_FORMAT_NV42:
case DRM_FORMAT_NV61:
case DRM_FORMAT_UYVY:
case DRM_FORMAT_VYUY:
case DRM_FORMAT_YUV420:
case DRM_FORMAT_YUV422:
+ case DRM_FORMAT_YUV444:
case DRM_FORMAT_YUYV:
case DRM_FORMAT_YVU420:
case DRM_FORMAT_YVU422:
+ case DRM_FORMAT_YVU444:
case DRM_FORMAT_YVYU:
convert_rgb24_to_yuv(cvt);
return;
@@ -4921,11 +4963,15 @@ bool igt_format_is_yuv(uint32_t drm_format)
case DRM_FORMAT_NV12:
case DRM_FORMAT_NV16:
case DRM_FORMAT_NV21:
+ case DRM_FORMAT_NV24:
+ case DRM_FORMAT_NV42:
case DRM_FORMAT_NV61:
case DRM_FORMAT_YUV420:
case DRM_FORMAT_YUV422:
+ case DRM_FORMAT_YUV444:
case DRM_FORMAT_YVU420:
case DRM_FORMAT_YVU422:
+ case DRM_FORMAT_YVU444:
case DRM_FORMAT_P010:
case DRM_FORMAT_P012:
case DRM_FORMAT_P016:
--
2.46.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* ✓ CI.xeBAT: success for benchmarks/kms_fb_stress: benchmark formats (rev3)
2024-09-13 0:39 [PATCH i-g-t v6 00/12] benchmarks/kms_fb_stress: benchmark formats Arthur Grillo
` (11 preceding siblings ...)
2024-09-13 0:39 ` [PATCH i-g-t v6 12/12] lib/igt_fb: Add non sub-sampled YUV formats Arthur Grillo
@ 2024-09-13 1:26 ` Patchwork
2024-09-13 1:46 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-09-13 18:36 ` ✗ CI.xeFULL: " Patchwork
14 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2024-09-13 1:26 UTC (permalink / raw)
To: Arthur Grillo; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 983 bytes --]
== Series Details ==
Series: benchmarks/kms_fb_stress: benchmark formats (rev3)
URL : https://patchwork.freedesktop.org/series/132328/
State : success
== Summary ==
CI Bug Log - changes from XEIGT_8015_BAT -> XEIGTPW_11738_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (8 -> 8)
------------------------------
No changes in participating hosts
Changes
-------
No changes found
Build changes
-------------
* IGT: IGT_8015 -> IGTPW_11738
* Linux: xe-1938-7fc279c7cf796102479291b06b2969d3c27deeb8 -> xe-1940-e55e4cc47de4150012eec3e54b6d710967d66510
IGTPW_11738: 11738
IGT_8015: 8015
xe-1938-7fc279c7cf796102479291b06b2969d3c27deeb8: 7fc279c7cf796102479291b06b2969d3c27deeb8
xe-1940-e55e4cc47de4150012eec3e54b6d710967d66510: e55e4cc47de4150012eec3e54b6d710967d66510
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/index.html
[-- Attachment #2: Type: text/html, Size: 1542 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* ✗ Fi.CI.BAT: failure for benchmarks/kms_fb_stress: benchmark formats (rev3)
2024-09-13 0:39 [PATCH i-g-t v6 00/12] benchmarks/kms_fb_stress: benchmark formats Arthur Grillo
` (12 preceding siblings ...)
2024-09-13 1:26 ` ✓ CI.xeBAT: success for benchmarks/kms_fb_stress: benchmark formats (rev3) Patchwork
@ 2024-09-13 1:46 ` Patchwork
2024-09-13 12:03 ` Arthur Grillo
2024-09-13 18:36 ` ✗ CI.xeFULL: " Patchwork
14 siblings, 1 reply; 21+ messages in thread
From: Patchwork @ 2024-09-13 1:46 UTC (permalink / raw)
To: Arthur Grillo; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 5409 bytes --]
== Series Details ==
Series: benchmarks/kms_fb_stress: benchmark formats (rev3)
URL : https://patchwork.freedesktop.org/series/132328/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_15408 -> IGTPW_11738
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_11738 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_11738, please notify your bug team (I915-ci-infra@lists.freedesktop.org) 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_11738/index.html
Participating hosts (39 -> 34)
------------------------------
Additional (2): fi-cfl-8109u fi-bsw-n3050
Missing (7): bat-adlp-11 fi-snb-2520m bat-adlp-6 fi-kbl-8809g bat-dg2-14 bat-dg2-13 bat-mtlp-6
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_11738:
### IGT changes ###
#### Possible regressions ####
* igt@i915_selftest@live@ring_submission:
- bat-arls-2: [PASS][1] -> [DMESG-WARN][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15408/bat-arls-2/igt@i915_selftest@live@ring_submission.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11738/bat-arls-2/igt@i915_selftest@live@ring_submission.html
Known issues
------------
Here are the changes found in IGTPW_11738 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_huc_copy@huc-copy:
- fi-cfl-8109u: NOTRUN -> [SKIP][3] ([i915#2190])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11738/fi-cfl-8109u/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@random-engines:
- fi-bsw-n3050: NOTRUN -> [SKIP][4] +20 other tests skip
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11738/fi-bsw-n3050/igt@gem_lmem_swapping@random-engines.html
* igt@gem_lmem_swapping@verify-random:
- fi-cfl-8109u: NOTRUN -> [SKIP][5] ([i915#4613]) +3 other tests skip
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11738/fi-cfl-8109u/igt@gem_lmem_swapping@verify-random.html
* igt@i915_selftest@live:
- bat-arls-2: [PASS][6] -> [DMESG-FAIL][7] ([i915#10262] / [i915#10341])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15408/bat-arls-2/igt@i915_selftest@live.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11738/bat-arls-2/igt@i915_selftest@live.html
* igt@i915_selftest@live@active:
- bat-arls-1: [PASS][8] -> [DMESG-WARN][9] ([i915#10341])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15408/bat-arls-1/igt@i915_selftest@live@active.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11738/bat-arls-1/igt@i915_selftest@live@active.html
* igt@i915_selftest@live@late_gt_pm:
- bat-arls-2: [PASS][10] -> [DMESG-FAIL][11] ([i915#10262]) +5 other tests dmesg-fail
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15408/bat-arls-2/igt@i915_selftest@live@late_gt_pm.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11738/bat-arls-2/igt@i915_selftest@live@late_gt_pm.html
* igt@i915_selftest@live@objects:
- bat-arls-1: [PASS][12] -> [DMESG-FAIL][13] ([i915#10262]) +21 other tests dmesg-fail
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15408/bat-arls-1/igt@i915_selftest@live@objects.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11738/bat-arls-1/igt@i915_selftest@live@objects.html
* igt@kms_pm_backlight@basic-brightness:
- fi-cfl-8109u: NOTRUN -> [SKIP][14] +11 other tests skip
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11738/fi-cfl-8109u/igt@kms_pm_backlight@basic-brightness.html
#### Warnings ####
* igt@i915_selftest@live:
- bat-arls-1: [DMESG-WARN][15] ([i915#10341] / [i915#12133]) -> [DMESG-FAIL][16] ([i915#10262] / [i915#10341])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15408/bat-arls-1/igt@i915_selftest@live.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11738/bat-arls-1/igt@i915_selftest@live.html
* igt@i915_selftest@live@hangcheck:
- bat-arls-1: [DMESG-WARN][17] ([i915#11349]) -> [DMESG-FAIL][18] ([i915#10262])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15408/bat-arls-1/igt@i915_selftest@live@hangcheck.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11738/bat-arls-1/igt@i915_selftest@live@hangcheck.html
[i915#10262]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10262
[i915#10341]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10341
[i915#11349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11349
[i915#12133]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12133
[i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
[i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_8015 -> IGTPW_11738
CI-20190529: 20190529
CI_DRM_15408: e55e4cc47de4150012eec3e54b6d710967d66510 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_11738: 11738
IGT_8015: 8015
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11738/index.html
[-- Attachment #2: Type: text/html, Size: 6823 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: ✗ Fi.CI.BAT: failure for benchmarks/kms_fb_stress: benchmark formats (rev3)
2024-09-13 1:46 ` ✗ Fi.CI.BAT: failure " Patchwork
@ 2024-09-13 12:03 ` Arthur Grillo
0 siblings, 0 replies; 21+ messages in thread
From: Arthur Grillo @ 2024-09-13 12:03 UTC (permalink / raw)
To: igt-dev; +Cc: I915-ci-infra
On 12/09/24 22:46, Patchwork wrote:
> == Series Details ==
>
> Series: benchmarks/kms_fb_stress: benchmark formats (rev3)
> URL : https://patchwork.freedesktop.org/series/132328/
> State : failure
>
> == Summary ==
>
> CI Bug Log - changes from CI_DRM_15408 -> IGTPW_11738
> ====================================================
>
> Summary
> -------
>
> **FAILURE**
>
> Serious unknown changes coming with IGTPW_11738 absolutely need to be
> verified manually.
>
> If you think the reported changes have nothing to do with the changes
> introduced in IGTPW_11738, please notify your bug team (I915-ci-infra@lists.freedesktop.org) 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_11738/index.html
>
> Participating hosts (39 -> 34)
> ------------------------------
>
> Additional (2): fi-cfl-8109u fi-bsw-n3050
> Missing (7): bat-adlp-11 fi-snb-2520m bat-adlp-6 fi-kbl-8809g bat-dg2-14 bat-dg2-13 bat-mtlp-6
>
> Possible new issues
> -------------------
>
> Here are the unknown changes that may have been introduced in IGTPW_11738:
>
> ### IGT changes ###
>
> #### Possible regressions ####
>
> * igt@i915_selftest@live@ring_submission:
> - bat-arls-2: [PASS][1] -> [DMESG-WARN][2]
> [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15408/bat-arls-2/igt@i915_selftest@live@ring_submission.html
> [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11738/bat-arls-2/igt@i915_selftest@live@ring_submission.html
>
>
> Known issues
> ------------
I think they are unrelated to my patchset.
Best Regards,
~Arthur Grillo
^ permalink raw reply [flat|nested] 21+ messages in thread
* ✗ CI.xeFULL: failure for benchmarks/kms_fb_stress: benchmark formats (rev3)
2024-09-13 0:39 [PATCH i-g-t v6 00/12] benchmarks/kms_fb_stress: benchmark formats Arthur Grillo
` (13 preceding siblings ...)
2024-09-13 1:46 ` ✗ Fi.CI.BAT: failure " Patchwork
@ 2024-09-13 18:36 ` Patchwork
14 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2024-09-13 18:36 UTC (permalink / raw)
To: Arthur Grillo; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 54642 bytes --]
== Series Details ==
Series: benchmarks/kms_fb_stress: benchmark formats (rev3)
URL : https://patchwork.freedesktop.org/series/132328/
State : failure
== Summary ==
CI Bug Log - changes from XEIGT_8015_full -> XEIGTPW_11738_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with XEIGTPW_11738_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in XEIGTPW_11738_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (4 -> 4)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in XEIGTPW_11738_full:
### IGT changes ###
#### Possible regressions ####
* igt@kms_addfb_basic@addfb25-modifier-no-flag:
- shard-dg2-set2: [PASS][1] -> [DMESG-WARN][2]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-433/igt@kms_addfb_basic@addfb25-modifier-no-flag.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_addfb_basic@addfb25-modifier-no-flag.html
* igt@kms_universal_plane@universal-plane-functional@pipe-a-hdmi-a-6:
- shard-dg2-set2: [PASS][3] -> [INCOMPLETE][4] +1 other test incomplete
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-434/igt@kms_universal_plane@universal-plane-functional@pipe-a-hdmi-a-6.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_universal_plane@universal-plane-functional@pipe-a-hdmi-a-6.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@kms_flip@flip-vs-suspend-interruptible:
- {shard-bmg}: [PASS][5] -> [DMESG-WARN][6]
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-bmg-1/igt@kms_flip@flip-vs-suspend-interruptible.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-bmg-3/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25:
- {shard-bmg}: [PASS][7] -> [INCOMPLETE][8] +2 other tests incomplete
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-bmg-3/igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25.html
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-bmg-3/igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25.html
Known issues
------------
Here are the changes found in XEIGTPW_11738_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_big_fb@4-tiled-32bpp-rotate-270:
- shard-lnl: NOTRUN -> [SKIP][9] ([Intel XE#1407])
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-4/igt@kms_big_fb@4-tiled-32bpp-rotate-270.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
- shard-lnl: [PASS][10] -> [FAIL][11] ([Intel XE#1659]) +1 other test fail
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-lnl-7/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-8/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0:
- shard-lnl: NOTRUN -> [SKIP][12] ([Intel XE#1124]) +2 other tests skip
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-4/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0.html
* igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs:
- shard-lnl: NOTRUN -> [SKIP][13] ([Intel XE#1399]) +2 other tests skip
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-5/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs.html
* igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode:
- shard-lnl: NOTRUN -> [SKIP][14] ([Intel XE#373]) +1 other test skip
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-7/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html
* igt@kms_cursor_legacy@cursora-vs-flipb-atomic:
- shard-lnl: NOTRUN -> [SKIP][15] ([Intel XE#309])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-1/igt@kms_cursor_legacy@cursora-vs-flipb-atomic.html
* igt@kms_flip@2x-plain-flip-ts-check:
- shard-lnl: NOTRUN -> [SKIP][16] ([Intel XE#1421]) +1 other test skip
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-4/igt@kms_flip@2x-plain-flip-ts-check.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling:
- shard-lnl: NOTRUN -> [SKIP][17] ([Intel XE#1401] / [Intel XE#1745])
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][18] ([Intel XE#1401])
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-default-mode.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-mmap-wc:
- shard-lnl: NOTRUN -> [SKIP][19] ([Intel XE#651]) +1 other test skip
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-3/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-render:
- shard-lnl: NOTRUN -> [SKIP][20] ([Intel XE#656]) +9 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-3/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-render.html
* igt@kms_plane@plane-position-covered@pipe-b-plane-2:
- shard-lnl: [PASS][21] -> [DMESG-WARN][22] ([Intel XE#324]) +1 other test dmesg-warn
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-lnl-1/igt@kms_plane@plane-position-covered@pipe-b-plane-2.html
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-3/igt@kms_plane@plane-position-covered@pipe-b-plane-2.html
* igt@kms_plane@plane-position-hole@pipe-a-plane-4:
- shard-lnl: [PASS][23] -> [DMESG-FAIL][24] ([Intel XE#324]) +3 other tests dmesg-fail
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-lnl-7/igt@kms_plane@plane-position-hole@pipe-a-plane-4.html
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-2/igt@kms_plane@plane-position-hole@pipe-a-plane-4.html
* igt@kms_plane_scaling@intel-max-src-size:
- shard-lnl: NOTRUN -> [SKIP][25] ([Intel XE#599]) +1 other test skip
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-7/igt@kms_plane_scaling@intel-max-src-size.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-b-edp-1:
- shard-lnl: NOTRUN -> [SKIP][26] ([Intel XE#2318]) +3 other tests skip
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-4/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-b-edp-1.html
* igt@kms_pm_dc@dc5-dpms-negative:
- shard-lnl: NOTRUN -> [SKIP][27] ([Intel XE#1131])
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-7/igt@kms_pm_dc@dc5-dpms-negative.html
* igt@kms_psr@fbc-pr-no-drrs:
- shard-lnl: NOTRUN -> [SKIP][28] ([Intel XE#1406])
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-4/igt@kms_psr@fbc-pr-no-drrs.html
* igt@kms_rotation_crc@multiplane-rotation-cropping-top:
- shard-dg2-set2: [PASS][29] -> [INCOMPLETE][30] ([Intel XE#1195])
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-436/igt@kms_rotation_crc@multiplane-rotation-cropping-top.html
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-466/igt@kms_rotation_crc@multiplane-rotation-cropping-top.html
* igt@kms_setmode@invalid-clone-exclusive-crtc:
- shard-lnl: NOTRUN -> [SKIP][31] ([Intel XE#1435])
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-1/igt@kms_setmode@invalid-clone-exclusive-crtc.html
* igt@kms_universal_plane@cursor-fb-leak:
- shard-dg2-set2: [PASS][32] -> [FAIL][33] ([Intel XE#771] / [Intel XE#899])
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_universal_plane@cursor-fb-leak.html
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-463/igt@kms_universal_plane@cursor-fb-leak.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-6:
- shard-dg2-set2: [PASS][34] -> [FAIL][35] ([Intel XE#899]) +1 other test fail
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-6.html
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-463/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-6.html
* igt@kms_vrr@flipline:
- shard-lnl: [PASS][36] -> [FAIL][37] ([Intel XE#2443]) +5 other tests fail
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-lnl-2/igt@kms_vrr@flipline.html
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-7/igt@kms_vrr@flipline.html
* igt@xe_compute@ccs-mode-basic:
- shard-lnl: NOTRUN -> [SKIP][38] ([Intel XE#1447])
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-7/igt@xe_compute@ccs-mode-basic.html
* igt@xe_evict@evict-mixed-many-threads-small:
- shard-dg2-set2: [PASS][39] -> [TIMEOUT][40] ([Intel XE#1473])
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-435/igt@xe_evict@evict-mixed-many-threads-small.html
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@xe_evict@evict-mixed-many-threads-small.html
* igt@xe_evict@evict-mixed-threads-large:
- shard-lnl: NOTRUN -> [SKIP][41] ([Intel XE#688]) +2 other tests skip
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-3/igt@xe_evict@evict-mixed-threads-large.html
* igt@xe_exec_basic@multigpu-once-rebind:
- shard-lnl: NOTRUN -> [SKIP][42] ([Intel XE#1392]) +1 other test skip
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-8/igt@xe_exec_basic@multigpu-once-rebind.html
* igt@xe_gt_freq@freq_reset_multiple:
- shard-lnl: [PASS][43] -> [DMESG-FAIL][44] ([Intel XE#1620])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-lnl-4/igt@xe_gt_freq@freq_reset_multiple.html
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-3/igt@xe_gt_freq@freq_reset_multiple.html
* igt@xe_live_ktest@xe_bo@xe_bo_evict_kunit:
- shard-lnl: NOTRUN -> [SKIP][45] ([Intel XE#2229]) +1 other test skip
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-2/igt@xe_live_ktest@xe_bo@xe_bo_evict_kunit.html
* igt@xe_module_load@reload:
- shard-dg2-set2: [PASS][46] -> [FAIL][47] ([Intel XE#2136])
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-436/igt@xe_module_load@reload.html
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-433/igt@xe_module_load@reload.html
* igt@xe_pm@d3cold-multiple-execs:
- shard-lnl: NOTRUN -> [SKIP][48] ([Intel XE#2284] / [Intel XE#366])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-2/igt@xe_pm@d3cold-multiple-execs.html
* igt@xe_pm@s4-vm-bind-userptr:
- shard-lnl: [PASS][49] -> [ABORT][50] ([Intel XE#1794])
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-lnl-8/igt@xe_pm@s4-vm-bind-userptr.html
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-2/igt@xe_pm@s4-vm-bind-userptr.html
#### Possible fixes ####
* igt@kms_async_flips@alternate-sync-async-flip:
- {shard-bmg}: [FAIL][51] ([Intel XE#827]) -> [PASS][52] +1 other test pass
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-bmg-1/igt@kms_async_flips@alternate-sync-async-flip.html
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-bmg-1/igt@kms_async_flips@alternate-sync-async-flip.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-lnl: [FAIL][53] ([Intel XE#1659]) -> [PASS][54]
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-lnl-8/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-3/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0:
- shard-lnl: [INCOMPLETE][55] -> [PASS][56]
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-lnl-3/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0.html
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-2/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0.html
* igt@kms_cursor_edge_walk@128x128-top-bottom:
- shard-lnl: [FAIL][57] ([Intel XE#2577]) -> [PASS][58] +1 other test pass
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-lnl-1/igt@kms_cursor_edge_walk@128x128-top-bottom.html
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-7/igt@kms_cursor_edge_walk@128x128-top-bottom.html
* igt@kms_cursor_legacy@torture-bo@pipe-a:
- shard-dg2-set2: [DMESG-WARN][59] ([Intel XE#877]) -> [PASS][60] +2 other tests pass
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-434/igt@kms_cursor_legacy@torture-bo@pipe-a.html
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-466/igt@kms_cursor_legacy@torture-bo@pipe-a.html
* igt@kms_flip@2x-flip-vs-panning-interruptible@ad-hdmi-a6-dp4:
- shard-dg2-set2: [DMESG-WARN][61] -> [PASS][62]
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-466/igt@kms_flip@2x-flip-vs-panning-interruptible@ad-hdmi-a6-dp4.html
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-433/igt@kms_flip@2x-flip-vs-panning-interruptible@ad-hdmi-a6-dp4.html
* igt@kms_flip@blocking-wf_vblank:
- shard-lnl: [FAIL][63] ([Intel XE#886]) -> [PASS][64] +3 other tests pass
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-lnl-3/igt@kms_flip@blocking-wf_vblank.html
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-1/igt@kms_flip@blocking-wf_vblank.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible:
- {shard-bmg}: [FAIL][65] ([Intel XE#301]) -> [PASS][66]
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-bmg-2/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-bmg-8/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
* igt@kms_plane@pixel-format-source-clamping@pipe-b-plane-0:
- {shard-bmg}: [DMESG-WARN][67] ([Intel XE#877]) -> [PASS][68] +6 other tests pass
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-bmg-3/igt@kms_plane@pixel-format-source-clamping@pipe-b-plane-0.html
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-bmg-2/igt@kms_plane@pixel-format-source-clamping@pipe-b-plane-0.html
* igt@kms_plane@plane-position-covered@pipe-b-plane-1:
- shard-lnl: [DMESG-WARN][69] ([Intel XE#324]) -> [PASS][70] +4 other tests pass
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-lnl-1/igt@kms_plane@plane-position-covered@pipe-b-plane-1.html
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-3/igt@kms_plane@plane-position-covered@pipe-b-plane-1.html
* igt@kms_pm_dc@dc5-dpms:
- shard-lnl: [FAIL][71] ([Intel XE#718]) -> [PASS][72] +1 other test pass
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-lnl-4/igt@kms_pm_dc@dc5-dpms.html
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-3/igt@kms_pm_dc@dc5-dpms.html
* igt@xe_exec_basic@many-execqueues-bindexecqueue-userptr-rebind:
- {shard-bmg}: [INCOMPLETE][73] -> [PASS][74]
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-bmg-8/igt@xe_exec_basic@many-execqueues-bindexecqueue-userptr-rebind.html
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-bmg-8/igt@xe_exec_basic@many-execqueues-bindexecqueue-userptr-rebind.html
* igt@xe_exec_reset@parallel-gt-reset:
- shard-dg2-set2: [TIMEOUT][75] ([Intel XE#2105]) -> [PASS][76]
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-435/igt@xe_exec_reset@parallel-gt-reset.html
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-434/igt@xe_exec_reset@parallel-gt-reset.html
* igt@xe_oa@oa-exponents:
- {shard-bmg}: [FAIL][77] ([Intel XE#2723]) -> [PASS][78]
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-bmg-4/igt@xe_oa@oa-exponents.html
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-bmg-1/igt@xe_oa@oa-exponents.html
- shard-lnl: [FAIL][79] ([Intel XE#2723]) -> [PASS][80]
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-lnl-3/igt@xe_oa@oa-exponents.html
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-lnl-7/igt@xe_oa@oa-exponents.html
* igt@xe_pm@s4-multiple-execs:
- shard-dg2-set2: [DMESG-WARN][81] ([Intel XE#2019]) -> [PASS][82]
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-436/igt@xe_pm@s4-multiple-execs.html
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-463/igt@xe_pm@s4-multiple-execs.html
* igt@xe_pm_residency@idle-residency@gt0:
- {shard-bmg}: [FAIL][83] -> [PASS][84] +3 other tests pass
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-bmg-8/igt@xe_pm_residency@idle-residency@gt0.html
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-bmg-4/igt@xe_pm_residency@idle-residency@gt0.html
* igt@xe_wedged@wedged-at-any-timeout:
- {shard-bmg}: [DMESG-WARN][85] ([Intel XE#1760]) -> [PASS][86]
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-bmg-1/igt@xe_wedged@wedged-at-any-timeout.html
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-bmg-8/igt@xe_wedged@wedged-at-any-timeout.html
#### Warnings ####
* igt@kms_big_fb@4-tiled-32bpp-rotate-270:
- shard-dg2-set2: [SKIP][87] ([Intel XE#316]) -> [SKIP][88] ([Intel XE#1201] / [Intel XE#316]) +4 other tests skip
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_big_fb@4-tiled-32bpp-rotate-270.html
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-435/igt@kms_big_fb@4-tiled-32bpp-rotate-270.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-90:
- shard-dg2-set2: [SKIP][89] ([Intel XE#1201] / [Intel XE#316]) -> [SKIP][90] ([Intel XE#316]) +1 other test skip
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-435/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-64bpp-rotate-90:
- shard-dg2-set2: [SKIP][91] ([Intel XE#1124] / [Intel XE#1201]) -> [SKIP][92] ([Intel XE#1124]) +6 other tests skip
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-433/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow:
- shard-dg2-set2: [SKIP][93] ([Intel XE#1201] / [Intel XE#607]) -> [SKIP][94] ([Intel XE#607])
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-436/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html
* igt@kms_big_fb@yf-tiled-addfb-size-overflow:
- shard-dg2-set2: [SKIP][95] ([Intel XE#610]) -> [SKIP][96] ([Intel XE#1201] / [Intel XE#610])
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-433/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
- shard-dg2-set2: [SKIP][97] ([Intel XE#1124]) -> [SKIP][98] ([Intel XE#1124] / [Intel XE#1201]) +8 other tests skip
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-435/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
* igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p:
- shard-dg2-set2: [SKIP][99] ([Intel XE#367]) -> [SKIP][100] ([Intel XE#1201] / [Intel XE#367]) +2 other tests skip
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p.html
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-434/igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p.html
* igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p:
- shard-dg2-set2: [SKIP][101] ([Intel XE#1201] / [Intel XE#367]) -> [SKIP][102] ([Intel XE#367]) +1 other test skip
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-436/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
* igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p:
- shard-dg2-set2: [SKIP][103] ([Intel XE#2191]) -> [SKIP][104] ([Intel XE#1201] / [Intel XE#2191]) +1 other test skip
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p.html
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-436/igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p.html
* igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p:
- shard-dg2-set2: [SKIP][105] ([Intel XE#1201] / [Intel XE#2191]) -> [SKIP][106] ([Intel XE#2191])
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-463/igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p.html
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs:
- shard-dg2-set2: [SKIP][107] ([Intel XE#1252]) -> [SKIP][108] ([Intel XE#1201] / [Intel XE#1252]) +1 other test skip
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-433/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-6:
- shard-dg2-set2: [SKIP][109] ([Intel XE#1201] / [Intel XE#787]) -> [SKIP][110] ([Intel XE#787]) +34 other tests skip
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-435/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-6.html
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs:
- shard-dg2-set2: [SKIP][111] ([Intel XE#1201] / [Intel XE#1252]) -> [SKIP][112] ([Intel XE#1252]) +2 other tests skip
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs:
- shard-dg2-set2: [SKIP][113] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][114] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#787]) +19 other tests skip
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs.html
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-6:
- shard-dg2-set2: [SKIP][115] ([Intel XE#787]) -> [SKIP][116] ([Intel XE#1201] / [Intel XE#787]) +69 other tests skip
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-6.html
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs:
- shard-dg2-set2: [SKIP][117] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#787]) -> [SKIP][118] ([Intel XE#455] / [Intel XE#787]) +9 other tests skip
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs.html
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs.html
* igt@kms_cdclk@mode-transition-all-outputs:
- shard-dg2-set2: [SKIP][119] ([Intel XE#1201] / [Intel XE#314]) -> [SKIP][120] ([Intel XE#314])
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-435/igt@kms_cdclk@mode-transition-all-outputs.html
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_cdclk@mode-transition-all-outputs.html
* igt@kms_chamelium_color@ctm-0-75:
- shard-dg2-set2: [SKIP][121] ([Intel XE#306]) -> [SKIP][122] ([Intel XE#1201] / [Intel XE#306])
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_chamelium_color@ctm-0-75.html
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-435/igt@kms_chamelium_color@ctm-0-75.html
* igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats:
- shard-dg2-set2: [SKIP][123] ([Intel XE#1201] / [Intel XE#373]) -> [SKIP][124] ([Intel XE#373]) +5 other tests skip
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-434/igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats.html
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats.html
* igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode:
- shard-dg2-set2: [SKIP][125] ([Intel XE#373]) -> [SKIP][126] ([Intel XE#1201] / [Intel XE#373]) +9 other tests skip
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-433/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html
* igt@kms_cursor_crc@cursor-onscreen-512x170:
- shard-dg2-set2: [SKIP][127] ([Intel XE#1201] / [Intel XE#308]) -> [SKIP][128] ([Intel XE#308])
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-435/igt@kms_cursor_crc@cursor-onscreen-512x170.html
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_cursor_crc@cursor-onscreen-512x170.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
- shard-dg2-set2: [SKIP][129] ([Intel XE#1201] / [Intel XE#323]) -> [SKIP][130] ([Intel XE#323])
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-433/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
* igt@kms_feature_discovery@display-4x:
- shard-dg2-set2: [SKIP][131] ([Intel XE#1138] / [Intel XE#1201]) -> [SKIP][132] ([Intel XE#1138])
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-466/igt@kms_feature_discovery@display-4x.html
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_feature_discovery@display-4x.html
* igt@kms_feature_discovery@dp-mst:
- shard-dg2-set2: [SKIP][133] ([Intel XE#1137]) -> [SKIP][134] ([Intel XE#1137] / [Intel XE#1201])
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_feature_discovery@dp-mst.html
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-433/igt@kms_feature_discovery@dp-mst.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling:
- shard-dg2-set2: [SKIP][135] ([Intel XE#1201] / [Intel XE#455]) -> [SKIP][136] ([Intel XE#455]) +7 other tests skip
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-463/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html
* igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-onoff:
- shard-dg2-set2: [SKIP][137] ([Intel XE#1201] / [Intel XE#651]) -> [SKIP][138] ([Intel XE#651]) +16 other tests skip
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-436/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-onoff.html
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-onoff.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-onoff:
- shard-dg2-set2: [SKIP][139] ([Intel XE#651]) -> [SKIP][140] ([Intel XE#1201] / [Intel XE#651]) +24 other tests skip
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-onoff.html
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-435/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt:
- shard-dg2-set2: [SKIP][141] ([Intel XE#653]) -> [SKIP][142] ([Intel XE#1201] / [Intel XE#653]) +28 other tests skip
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt.html
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-436/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-slowdraw:
- shard-dg2-set2: [SKIP][143] ([Intel XE#1201] / [Intel XE#653]) -> [SKIP][144] ([Intel XE#653]) +19 other tests skip
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-435/igt@kms_frontbuffer_tracking@psr-slowdraw.html
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_frontbuffer_tracking@psr-slowdraw.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-dg2-set2: [SKIP][145] ([Intel XE#1201] / [Intel XE#356]) -> [SKIP][146] ([Intel XE#356])
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-466/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling:
- shard-dg2-set2: [SKIP][147] ([Intel XE#2318] / [Intel XE#455]) -> [SKIP][148] ([Intel XE#1201] / [Intel XE#2318] / [Intel XE#455]) +3 other tests skip
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling.html
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-433/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-a-hdmi-a-6:
- shard-dg2-set2: [SKIP][149] ([Intel XE#2318]) -> [SKIP][150] ([Intel XE#1201] / [Intel XE#2318]) +5 other tests skip
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-a-hdmi-a-6.html
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-434/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-a-hdmi-a-6.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25:
- shard-dg2-set2: [SKIP][151] ([Intel XE#1201] / [Intel XE#2318] / [Intel XE#455]) -> [SKIP][152] ([Intel XE#2318] / [Intel XE#455]) +1 other test skip
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-463/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25.html
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-c-hdmi-a-6:
- shard-dg2-set2: [SKIP][153] ([Intel XE#1201] / [Intel XE#2318]) -> [SKIP][154] ([Intel XE#2318]) +2 other tests skip
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-463/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-c-hdmi-a-6.html
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-c-hdmi-a-6.html
* igt@kms_pm_dc@dc6-psr:
- shard-dg2-set2: [SKIP][155] ([Intel XE#1129] / [Intel XE#1201]) -> [SKIP][156] ([Intel XE#1129])
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-435/igt@kms_pm_dc@dc6-psr.html
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_pm_dc@dc6-psr.html
* igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf:
- shard-dg2-set2: [SKIP][157] ([Intel XE#1489]) -> [SKIP][158] ([Intel XE#1201] / [Intel XE#1489]) +2 other tests skip
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-466/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@overlay-plane-update-continuous-sf:
- shard-dg2-set2: [SKIP][159] ([Intel XE#1201] / [Intel XE#1489]) -> [SKIP][160] ([Intel XE#1489]) +3 other tests skip
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-435/igt@kms_psr2_sf@overlay-plane-update-continuous-sf.html
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_psr2_sf@overlay-plane-update-continuous-sf.html
* igt@kms_psr@fbc-psr-sprite-render:
- shard-dg2-set2: [SKIP][161] ([Intel XE#929]) -> [SKIP][162] ([Intel XE#1201] / [Intel XE#929]) +13 other tests skip
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_psr@fbc-psr-sprite-render.html
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-435/igt@kms_psr@fbc-psr-sprite-render.html
* igt@kms_psr@psr-dpms:
- shard-dg2-set2: [SKIP][163] ([Intel XE#1201] / [Intel XE#929]) -> [SKIP][164] ([Intel XE#929]) +5 other tests skip
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-466/igt@kms_psr@psr-dpms.html
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_psr@psr-dpms.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-0:
- shard-dg2-set2: [SKIP][165] ([Intel XE#1127]) -> [SKIP][166] ([Intel XE#1127] / [Intel XE#1201])
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_rotation_crc@primary-y-tiled-reflect-x-0.html
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-463/igt@kms_rotation_crc@primary-y-tiled-reflect-x-0.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
- shard-dg2-set2: [SKIP][167] ([Intel XE#1201] / [Intel XE#327]) -> [SKIP][168] ([Intel XE#327]) +1 other test skip
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-466/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
- shard-dg2-set2: [SKIP][169] ([Intel XE#327]) -> [SKIP][170] ([Intel XE#1201] / [Intel XE#327])
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-433/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-dg2-set2: [SKIP][171] ([Intel XE#1201] / [Intel XE#1500]) -> [SKIP][172] ([Intel XE#1201] / [Intel XE#362])
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-466/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-463/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@kms_vrr@flipline:
- shard-dg2-set2: [SKIP][173] ([Intel XE#455]) -> [SKIP][174] ([Intel XE#1201] / [Intel XE#455]) +18 other tests skip
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_vrr@flipline.html
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-434/igt@kms_vrr@flipline.html
* igt@kms_writeback@writeback-fb-id-xrgb2101010:
- shard-dg2-set2: [SKIP][175] ([Intel XE#756]) -> [SKIP][176] ([Intel XE#1201] / [Intel XE#756])
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@kms_writeback@writeback-fb-id-xrgb2101010.html
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-463/igt@kms_writeback@writeback-fb-id-xrgb2101010.html
* igt@sriov_basic@enable-vfs-autoprobe-off:
- shard-dg2-set2: [SKIP][177] ([Intel XE#1091] / [Intel XE#1201]) -> [SKIP][178] ([Intel XE#1091])
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-463/igt@sriov_basic@enable-vfs-autoprobe-off.html
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@sriov_basic@enable-vfs-autoprobe-off.html
* igt@xe_compute_preempt@compute-threadgroup-preempt@engine-drm_xe_engine_class_compute:
- shard-dg2-set2: [SKIP][179] ([Intel XE#1280] / [Intel XE#455]) -> [SKIP][180] ([Intel XE#1201] / [Intel XE#1280] / [Intel XE#455]) +1 other test skip
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@xe_compute_preempt@compute-threadgroup-preempt@engine-drm_xe_engine_class_compute.html
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-435/igt@xe_compute_preempt@compute-threadgroup-preempt@engine-drm_xe_engine_class_compute.html
* igt@xe_copy_basic@mem-copy-linear-0x3fff:
- shard-dg2-set2: [SKIP][181] ([Intel XE#1123]) -> [SKIP][182] ([Intel XE#1123] / [Intel XE#1201])
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@xe_copy_basic@mem-copy-linear-0x3fff.html
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-433/igt@xe_copy_basic@mem-copy-linear-0x3fff.html
* igt@xe_copy_basic@mem-set-linear-0xfd:
- shard-dg2-set2: [SKIP][183] ([Intel XE#1126] / [Intel XE#1201]) -> [SKIP][184] ([Intel XE#1126])
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-433/igt@xe_copy_basic@mem-set-linear-0xfd.html
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@xe_copy_basic@mem-set-linear-0xfd.html
* igt@xe_exec_fault_mode@once-invalid-userptr-fault:
- shard-dg2-set2: [SKIP][185] ([Intel XE#288]) -> [SKIP][186] ([Intel XE#1201] / [Intel XE#288]) +18 other tests skip
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@xe_exec_fault_mode@once-invalid-userptr-fault.html
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-435/igt@xe_exec_fault_mode@once-invalid-userptr-fault.html
* igt@xe_exec_fault_mode@once-rebind-prefetch:
- shard-dg2-set2: [SKIP][187] ([Intel XE#1201] / [Intel XE#288]) -> [SKIP][188] ([Intel XE#288]) +11 other tests skip
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-466/igt@xe_exec_fault_mode@once-rebind-prefetch.html
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@xe_exec_fault_mode@once-rebind-prefetch.html
* igt@xe_exec_mix_modes@exec-simple-batch-store-dma-fence:
- shard-dg2-set2: [SKIP][189] ([Intel XE#2360]) -> [SKIP][190] ([Intel XE#1201] / [Intel XE#2360]) +1 other test skip
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@xe_exec_mix_modes@exec-simple-batch-store-dma-fence.html
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-435/igt@xe_exec_mix_modes@exec-simple-batch-store-dma-fence.html
* igt@xe_huc_copy@huc_copy:
- shard-dg2-set2: [SKIP][191] ([Intel XE#255]) -> [SKIP][192] ([Intel XE#1201] / [Intel XE#255])
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@xe_huc_copy@huc_copy.html
[192]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-466/igt@xe_huc_copy@huc_copy.html
* igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit:
- shard-dg2-set2: [SKIP][193] ([Intel XE#2229]) -> [SKIP][194] ([Intel XE#1201] / [Intel XE#2229])
[193]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html
[194]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-435/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html
* igt@xe_module_load@load:
- shard-dg2-set2: [SKIP][195] ([Intel XE#378]) -> [SKIP][196] ([Intel XE#1201] / [Intel XE#378])
[195]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@xe_module_load@load.html
[196]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-435/igt@xe_module_load@load.html
* igt@xe_oa@closed-fd-and-unmapped-access:
- shard-dg2-set2: [SKIP][197] ([Intel XE#2541]) -> [SKIP][198] ([Intel XE#1201] / [Intel XE#2541]) +5 other tests skip
[197]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@xe_oa@closed-fd-and-unmapped-access.html
[198]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-434/igt@xe_oa@closed-fd-and-unmapped-access.html
* igt@xe_oa@polling-small-buf:
- shard-dg2-set2: [SKIP][199] ([Intel XE#1201] / [Intel XE#2541]) -> [SKIP][200] ([Intel XE#2541]) +2 other tests skip
[199]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-433/igt@xe_oa@polling-small-buf.html
[200]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@xe_oa@polling-small-buf.html
* igt@xe_pat@pat-index-xehpc:
- shard-dg2-set2: [SKIP][201] ([Intel XE#1201] / [Intel XE#979]) -> [SKIP][202] ([Intel XE#979])
[201]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-435/igt@xe_pat@pat-index-xehpc.html
[202]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@xe_pat@pat-index-xehpc.html
* igt@xe_pat@pat-index-xelpg:
- shard-dg2-set2: [SKIP][203] ([Intel XE#979]) -> [SKIP][204] ([Intel XE#1201] / [Intel XE#979])
[203]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@xe_pat@pat-index-xelpg.html
[204]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-436/igt@xe_pat@pat-index-xelpg.html
* igt@xe_pm@d3cold-basic-exec:
- shard-dg2-set2: [SKIP][205] ([Intel XE#1201] / [Intel XE#2284] / [Intel XE#366]) -> [SKIP][206] ([Intel XE#2284] / [Intel XE#366])
[205]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-433/igt@xe_pm@d3cold-basic-exec.html
[206]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@xe_pm@d3cold-basic-exec.html
* igt@xe_pm@s3-d3cold-basic-exec:
- shard-dg2-set2: [SKIP][207] ([Intel XE#2284] / [Intel XE#366]) -> [SKIP][208] ([Intel XE#1201] / [Intel XE#2284] / [Intel XE#366]) +1 other test skip
[207]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@xe_pm@s3-d3cold-basic-exec.html
[208]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-433/igt@xe_pm@s3-d3cold-basic-exec.html
* igt@xe_query@multigpu-query-gt-list:
- shard-dg2-set2: [SKIP][209] ([Intel XE#1201] / [Intel XE#944]) -> [SKIP][210] ([Intel XE#944]) +1 other test skip
[209]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-436/igt@xe_query@multigpu-query-gt-list.html
[210]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-432/igt@xe_query@multigpu-query-gt-list.html
* igt@xe_query@multigpu-query-hwconfig:
- shard-dg2-set2: [SKIP][211] ([Intel XE#944]) -> [SKIP][212] ([Intel XE#1201] / [Intel XE#944])
[211]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8015/shard-dg2-432/igt@xe_query@multigpu-query-hwconfig.html
[212]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/shard-dg2-463/igt@xe_query@multigpu-query-hwconfig.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#1033]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1033
[Intel XE#1091]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1091
[Intel XE#1123]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1123
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126
[Intel XE#1127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1127
[Intel XE#1129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1129
[Intel XE#1131]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1131
[Intel XE#1137]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1137
[Intel XE#1138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1138
[Intel XE#1188]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1188
[Intel XE#1195]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1195
[Intel XE#1201]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1201
[Intel XE#1252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1252
[Intel XE#1280]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1280
[Intel XE#1288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1288
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1399
[Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
[Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
[Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
[Intel XE#1447]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1447
[Intel XE#1473]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1473
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1500]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1500
[Intel XE#1620]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1620
[Intel XE#1638]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1638
[Intel XE#1656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1656
[Intel XE#1659]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1659
[Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
[Intel XE#1760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1760
[Intel XE#1794]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1794
[Intel XE#2019]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2019
[Intel XE#2026]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2026
[Intel XE#2105]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2105
[Intel XE#2136]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2136
[Intel XE#2168]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2168
[Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2251]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2251
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
[Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2318]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2318
[Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
[Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
[Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
[Intel XE#2333]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2333
[Intel XE#2357]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2357
[Intel XE#2360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2360
[Intel XE#2364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2364
[Intel XE#2372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2372
[Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
[Intel XE#2387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2387
[Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
[Intel XE#2436]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2436
[Intel XE#2443]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2443
[Intel XE#2472]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2472
[Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
[Intel XE#2514]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2514
[Intel XE#2541]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2541
[Intel XE#255]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/255
[Intel XE#2577]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2577
[Intel XE#2723]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2723
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
[Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
[Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/314
[Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
[Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
[Intel XE#324]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/324
[Intel XE#327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/327
[Intel XE#356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/356
[Intel XE#362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/362
[Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/378
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/599
[Intel XE#607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/607
[Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
[Intel XE#756]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/756
[Intel XE#771]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/771
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#827]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/827
[Intel XE#877]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/877
[Intel XE#886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/886
[Intel XE#899]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/899
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
[Intel XE#979]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/979
Build changes
-------------
* IGT: IGT_8015 -> IGTPW_11738
* Linux: xe-1938-7fc279c7cf796102479291b06b2969d3c27deeb8 -> xe-1940-e55e4cc47de4150012eec3e54b6d710967d66510
IGTPW_11738: 11738
IGT_8015: 8015
xe-1938-7fc279c7cf796102479291b06b2969d3c27deeb8: 7fc279c7cf796102479291b06b2969d3c27deeb8
xe-1940-e55e4cc47de4150012eec3e54b6d710967d66510: e55e4cc47de4150012eec3e54b6d710967d66510
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11738/index.html
[-- Attachment #2: Type: text/html, Size: 67744 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH i-g-t v6 12/12] lib/igt_fb: Add non sub-sampled YUV formats
2024-09-13 0:39 ` [PATCH i-g-t v6 12/12] lib/igt_fb: Add non sub-sampled YUV formats Arthur Grillo
@ 2024-10-22 15:06 ` Kamil Konieczny
2024-10-28 15:34 ` Kamil Konieczny
2024-10-28 16:07 ` Ville Syrjälä
2 siblings, 0 replies; 21+ messages in thread
From: Kamil Konieczny @ 2024-10-22 15:06 UTC (permalink / raw)
To: igt-dev
Cc: Arthur Grillo, Petri Latvala, Arkadiusz Hiler,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Pekka Paalanen, Louis Chauvet
Hi Arthur,
On 2024-09-12 at 21:39:36 -0300, Arthur Grillo wrote:
> This adds support for the formats:
> - NV24
> - NV42
> - YU24
> - YU42
--- ^^^^
YV24
Please add also that last two are matched into DRM YUV444/YVU444
Regards,
Kamil
>
> Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
> ---
> lib/igt_fb.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 46 insertions(+)
>
> diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> index 7f87d40ed3d6..b1301d08d9f8 100644
> --- a/lib/igt_fb.c
> +++ b/lib/igt_fb.c
> @@ -257,6 +257,16 @@ static const struct format_desc_struct {
> .num_planes = 2, .plane_bpp = { 8, 16, },
> .hsub = 2, .vsub = 2,
> },
> + { .name = "NV24", .depth = -1, .drm_id = DRM_FORMAT_NV24,
> + .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
> + .num_planes = 2, .plane_bpp = { 8, 16, },
> + .hsub = 1, .vsub = 1,
> + },
> + { .name = "NV42", .depth = -1, .drm_id = DRM_FORMAT_NV42,
> + .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
> + .num_planes = 2, .plane_bpp = { 8, 16, },
> + .hsub = 1, .vsub = 1,
> + },
> { .name = "NV61", .depth = -1, .drm_id = DRM_FORMAT_NV61,
> .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
> .num_planes = 2, .plane_bpp = { 8, 16, },
> @@ -292,6 +302,11 @@ static const struct format_desc_struct {
> .num_planes = 3, .plane_bpp = { 8, 8, 8, },
> .hsub = 2, .vsub = 1,
> },
> + { .name = "YU24", .depth = -1, .drm_id = DRM_FORMAT_YUV444,
> + .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
> + .num_planes = 3, .plane_bpp = { 8, 8, 8, },
> + .hsub = 1, .vsub = 1,
> + },
> { .name = "YV12", .depth = -1, .drm_id = DRM_FORMAT_YVU420,
> .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
> .num_planes = 3, .plane_bpp = { 8, 8, 8, },
> @@ -302,6 +317,11 @@ static const struct format_desc_struct {
> .num_planes = 3, .plane_bpp = { 8, 8, 8, },
> .hsub = 2, .vsub = 1,
> },
> + { .name = "YV24", .depth = -1, .drm_id = DRM_FORMAT_YVU444,
> + .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
> + .num_planes = 3, .plane_bpp = { 8, 8, 8, },
> + .hsub = 1, .vsub = 1,
> + },
> { .name = "Y410", .depth = -1, .drm_id = DRM_FORMAT_Y410,
> .cairo_id = CAIRO_FORMAT_RGBA128F, .convert = true,
> .num_planes = 1, .plane_bpp = { 32, },
> @@ -1166,8 +1186,10 @@ static void clear_yuv_buffer(struct igt_fb *fb)
> break;
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> igt_assert(ARRAY_SIZE(plane_size) == 3);
> memset(ptr + fb->offsets[0],
> full_range ? 0x00 : 0x10,
> @@ -3495,6 +3517,8 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
> case DRM_FORMAT_NV12:
> case DRM_FORMAT_NV16:
> case DRM_FORMAT_NV21:
> + case DRM_FORMAT_NV24:
> + case DRM_FORMAT_NV42:
> case DRM_FORMAT_NV61:
> case DRM_FORMAT_P010:
> case DRM_FORMAT_P012:
> @@ -3505,8 +3529,10 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
>
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> params->ay_inc = 1;
> params->uv_inc = 1;
> break;
> @@ -3536,11 +3562,15 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
> case DRM_FORMAT_NV12:
> case DRM_FORMAT_NV16:
> case DRM_FORMAT_NV21:
> + case DRM_FORMAT_NV24:
> + case DRM_FORMAT_NV42:
> case DRM_FORMAT_NV61:
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> case DRM_FORMAT_P010:
> case DRM_FORMAT_P012:
> case DRM_FORMAT_P016:
> @@ -3568,12 +3598,14 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
> switch (fb->drm_format) {
> case DRM_FORMAT_NV12:
> case DRM_FORMAT_NV16:
> + case DRM_FORMAT_NV24:
> params->y_offset = fb->offsets[0];
> params->u_offset = fb->offsets[1];
> params->v_offset = fb->offsets[1] + 1;
> break;
>
> case DRM_FORMAT_NV21:
> + case DRM_FORMAT_NV42:
> case DRM_FORMAT_NV61:
> params->y_offset = fb->offsets[0];
> params->u_offset = fb->offsets[1] + 1;
> @@ -3582,6 +3614,7 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
>
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> params->y_offset = fb->offsets[0];
> params->u_offset = fb->offsets[1];
> params->v_offset = fb->offsets[2];
> @@ -3589,6 +3622,7 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
>
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> params->y_offset = fb->offsets[0];
> params->u_offset = fb->offsets[2];
> params->v_offset = fb->offsets[1];
> @@ -4322,14 +4356,18 @@ static void fb_convert(struct fb_convert *cvt)
> case DRM_FORMAT_NV12:
> case DRM_FORMAT_NV16:
> case DRM_FORMAT_NV21:
> + case DRM_FORMAT_NV24:
> + case DRM_FORMAT_NV42:
> case DRM_FORMAT_NV61:
> case DRM_FORMAT_UYVY:
> case DRM_FORMAT_VYUY:
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> case DRM_FORMAT_YUYV:
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> case DRM_FORMAT_YVYU:
> convert_yuv_to_rgb24(cvt);
> return;
> @@ -4340,14 +4378,18 @@ static void fb_convert(struct fb_convert *cvt)
> case DRM_FORMAT_NV12:
> case DRM_FORMAT_NV16:
> case DRM_FORMAT_NV21:
> + case DRM_FORMAT_NV24:
> + case DRM_FORMAT_NV42:
> case DRM_FORMAT_NV61:
> case DRM_FORMAT_UYVY:
> case DRM_FORMAT_VYUY:
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> case DRM_FORMAT_YUYV:
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> case DRM_FORMAT_YVYU:
> convert_rgb24_to_yuv(cvt);
> return;
> @@ -4921,11 +4963,15 @@ bool igt_format_is_yuv(uint32_t drm_format)
> case DRM_FORMAT_NV12:
> case DRM_FORMAT_NV16:
> case DRM_FORMAT_NV21:
> + case DRM_FORMAT_NV24:
> + case DRM_FORMAT_NV42:
> case DRM_FORMAT_NV61:
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> case DRM_FORMAT_P010:
> case DRM_FORMAT_P012:
> case DRM_FORMAT_P016:
>
> --
> 2.46.0
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH i-g-t v6 01/12] benchmarks/kms_fb_stress: Set DRM_CLIENT_CAP_WRITEBACK_CONNECTORS before igt_require()
2024-09-13 0:39 ` [PATCH i-g-t v6 01/12] benchmarks/kms_fb_stress: Set DRM_CLIENT_CAP_WRITEBACK_CONNECTORS before igt_require() Arthur Grillo
@ 2024-10-22 16:41 ` Kamil Konieczny
0 siblings, 0 replies; 21+ messages in thread
From: Kamil Konieczny @ 2024-10-22 16:41 UTC (permalink / raw)
To: igt-dev
Cc: Arthur Grillo, Petri Latvala, Arkadiusz Hiler,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Pekka Paalanen, Louis Chauvet
Hi Arthur,
On 2024-09-12 at 21:39:25 -0300, Arthur Grillo wrote:
> After commit dc2d7fb4f978 ("lib/igt_kms: move setting
> DRM_CLIENT_CAP_WRITEBACK_CONNECTORS to kms_writeback") igt_require() no
> longer sets DRM_CLIENT_CAP_WRITEBACK_CONNECTORS. So set it before
> calling igt_require().
>
> Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
> Fixes: dc2d7fb4f978 ("lib/igt_kms: move setting DRM_CLIENT_CAP_WRITEBACK_CONNECTORS to kms_writeback")
Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
> ---
> benchmarks/kms_fb_stress.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/benchmarks/kms_fb_stress.c b/benchmarks/kms_fb_stress.c
> index 00eaa0a4931a..804bb81a4cf7 100644
> --- a/benchmarks/kms_fb_stress.c
> +++ b/benchmarks/kms_fb_stress.c
> @@ -145,6 +145,7 @@ igt_simple_main
> enum pipe pipe = PIPE_NONE;
> struct timespec then, now;
> double elapsed;
> + int ret;
>
> data.kms = default_kms;
>
> @@ -152,6 +153,10 @@ igt_simple_main
>
> kmstest_set_vt_graphics_mode();
>
> + ret = drmSetClientCap(data.display.drm_fd, DRM_CLIENT_CAP_WRITEBACK_CONNECTORS, 1);
> +
> + igt_require_f(!ret, "error setting DRM_CLIENT_CAP_WRITEBACK_CONNECTORS\n");
> +
> igt_display_require(&data.display, data.fd);
> igt_require(data.display.is_atomic);
>
>
> --
> 2.46.0
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH i-g-t v6 12/12] lib/igt_fb: Add non sub-sampled YUV formats
2024-09-13 0:39 ` [PATCH i-g-t v6 12/12] lib/igt_fb: Add non sub-sampled YUV formats Arthur Grillo
2024-10-22 15:06 ` Kamil Konieczny
@ 2024-10-28 15:34 ` Kamil Konieczny
2024-10-28 16:07 ` Ville Syrjälä
2 siblings, 0 replies; 21+ messages in thread
From: Kamil Konieczny @ 2024-10-28 15:34 UTC (permalink / raw)
To: igt-dev
Cc: Arthur Grillo, Maarten Lankhorst, Ville Syrjälä,
Petri Latvala, Arkadiusz Hiler, Juha-Pekka Heikkila,
Bhanuprakash Modem, Ashutosh Dixit, Pekka Paalanen, Louis Chauvet
Hi Arthur,
On 2024-09-12 at 21:39:36 -0300, Arthur Grillo wrote:
> This adds support for the formats:
> - NV24
> - NV42
> - YU24
> - YU42
>
Please add here to Cc devs found with help of 'git blame':
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Maybe consider also sending this patch as separate one,
now it was 'hidden' in patchwork within a benchmark series.
Regards,
Kamil
> Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
> ---
> lib/igt_fb.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 46 insertions(+)
>
> diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> index 7f87d40ed3d6..b1301d08d9f8 100644
> --- a/lib/igt_fb.c
> +++ b/lib/igt_fb.c
> @@ -257,6 +257,16 @@ static const struct format_desc_struct {
> .num_planes = 2, .plane_bpp = { 8, 16, },
> .hsub = 2, .vsub = 2,
> },
> + { .name = "NV24", .depth = -1, .drm_id = DRM_FORMAT_NV24,
> + .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
> + .num_planes = 2, .plane_bpp = { 8, 16, },
> + .hsub = 1, .vsub = 1,
> + },
> + { .name = "NV42", .depth = -1, .drm_id = DRM_FORMAT_NV42,
> + .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
> + .num_planes = 2, .plane_bpp = { 8, 16, },
> + .hsub = 1, .vsub = 1,
> + },
> { .name = "NV61", .depth = -1, .drm_id = DRM_FORMAT_NV61,
> .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
> .num_planes = 2, .plane_bpp = { 8, 16, },
> @@ -292,6 +302,11 @@ static const struct format_desc_struct {
> .num_planes = 3, .plane_bpp = { 8, 8, 8, },
> .hsub = 2, .vsub = 1,
> },
> + { .name = "YU24", .depth = -1, .drm_id = DRM_FORMAT_YUV444,
> + .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
> + .num_planes = 3, .plane_bpp = { 8, 8, 8, },
> + .hsub = 1, .vsub = 1,
> + },
> { .name = "YV12", .depth = -1, .drm_id = DRM_FORMAT_YVU420,
> .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
> .num_planes = 3, .plane_bpp = { 8, 8, 8, },
> @@ -302,6 +317,11 @@ static const struct format_desc_struct {
> .num_planes = 3, .plane_bpp = { 8, 8, 8, },
> .hsub = 2, .vsub = 1,
> },
> + { .name = "YV24", .depth = -1, .drm_id = DRM_FORMAT_YVU444,
> + .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
> + .num_planes = 3, .plane_bpp = { 8, 8, 8, },
> + .hsub = 1, .vsub = 1,
> + },
> { .name = "Y410", .depth = -1, .drm_id = DRM_FORMAT_Y410,
> .cairo_id = CAIRO_FORMAT_RGBA128F, .convert = true,
> .num_planes = 1, .plane_bpp = { 32, },
> @@ -1166,8 +1186,10 @@ static void clear_yuv_buffer(struct igt_fb *fb)
> break;
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> igt_assert(ARRAY_SIZE(plane_size) == 3);
> memset(ptr + fb->offsets[0],
> full_range ? 0x00 : 0x10,
> @@ -3495,6 +3517,8 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
> case DRM_FORMAT_NV12:
> case DRM_FORMAT_NV16:
> case DRM_FORMAT_NV21:
> + case DRM_FORMAT_NV24:
> + case DRM_FORMAT_NV42:
> case DRM_FORMAT_NV61:
> case DRM_FORMAT_P010:
> case DRM_FORMAT_P012:
> @@ -3505,8 +3529,10 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
>
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> params->ay_inc = 1;
> params->uv_inc = 1;
> break;
> @@ -3536,11 +3562,15 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
> case DRM_FORMAT_NV12:
> case DRM_FORMAT_NV16:
> case DRM_FORMAT_NV21:
> + case DRM_FORMAT_NV24:
> + case DRM_FORMAT_NV42:
> case DRM_FORMAT_NV61:
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> case DRM_FORMAT_P010:
> case DRM_FORMAT_P012:
> case DRM_FORMAT_P016:
> @@ -3568,12 +3598,14 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
> switch (fb->drm_format) {
> case DRM_FORMAT_NV12:
> case DRM_FORMAT_NV16:
> + case DRM_FORMAT_NV24:
> params->y_offset = fb->offsets[0];
> params->u_offset = fb->offsets[1];
> params->v_offset = fb->offsets[1] + 1;
> break;
>
> case DRM_FORMAT_NV21:
> + case DRM_FORMAT_NV42:
> case DRM_FORMAT_NV61:
> params->y_offset = fb->offsets[0];
> params->u_offset = fb->offsets[1] + 1;
> @@ -3582,6 +3614,7 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
>
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> params->y_offset = fb->offsets[0];
> params->u_offset = fb->offsets[1];
> params->v_offset = fb->offsets[2];
> @@ -3589,6 +3622,7 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
>
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> params->y_offset = fb->offsets[0];
> params->u_offset = fb->offsets[2];
> params->v_offset = fb->offsets[1];
> @@ -4322,14 +4356,18 @@ static void fb_convert(struct fb_convert *cvt)
> case DRM_FORMAT_NV12:
> case DRM_FORMAT_NV16:
> case DRM_FORMAT_NV21:
> + case DRM_FORMAT_NV24:
> + case DRM_FORMAT_NV42:
> case DRM_FORMAT_NV61:
> case DRM_FORMAT_UYVY:
> case DRM_FORMAT_VYUY:
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> case DRM_FORMAT_YUYV:
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> case DRM_FORMAT_YVYU:
> convert_yuv_to_rgb24(cvt);
> return;
> @@ -4340,14 +4378,18 @@ static void fb_convert(struct fb_convert *cvt)
> case DRM_FORMAT_NV12:
> case DRM_FORMAT_NV16:
> case DRM_FORMAT_NV21:
> + case DRM_FORMAT_NV24:
> + case DRM_FORMAT_NV42:
> case DRM_FORMAT_NV61:
> case DRM_FORMAT_UYVY:
> case DRM_FORMAT_VYUY:
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> case DRM_FORMAT_YUYV:
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> case DRM_FORMAT_YVYU:
> convert_rgb24_to_yuv(cvt);
> return;
> @@ -4921,11 +4963,15 @@ bool igt_format_is_yuv(uint32_t drm_format)
> case DRM_FORMAT_NV12:
> case DRM_FORMAT_NV16:
> case DRM_FORMAT_NV21:
> + case DRM_FORMAT_NV24:
> + case DRM_FORMAT_NV42:
> case DRM_FORMAT_NV61:
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> case DRM_FORMAT_P010:
> case DRM_FORMAT_P012:
> case DRM_FORMAT_P016:
>
> --
> 2.46.0
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH i-g-t v6 12/12] lib/igt_fb: Add non sub-sampled YUV formats
2024-09-13 0:39 ` [PATCH i-g-t v6 12/12] lib/igt_fb: Add non sub-sampled YUV formats Arthur Grillo
2024-10-22 15:06 ` Kamil Konieczny
2024-10-28 15:34 ` Kamil Konieczny
@ 2024-10-28 16:07 ` Ville Syrjälä
2 siblings, 0 replies; 21+ messages in thread
From: Ville Syrjälä @ 2024-10-28 16:07 UTC (permalink / raw)
To: Arthur Grillo
Cc: igt-dev, Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Pekka Paalanen, Louis Chauvet
On Thu, Sep 12, 2024 at 09:39:36PM -0300, Arthur Grillo wrote:
> This adds support for the formats:
> - NV24
> - NV42
> - YU24
> - YU42
I would split this into two patches: 2 plane vs. 3 plane
>
> Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
> ---
> lib/igt_fb.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 46 insertions(+)
>
> diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> index 7f87d40ed3d6..b1301d08d9f8 100644
> --- a/lib/igt_fb.c
> +++ b/lib/igt_fb.c
> @@ -257,6 +257,16 @@ static const struct format_desc_struct {
> .num_planes = 2, .plane_bpp = { 8, 16, },
> .hsub = 2, .vsub = 2,
> },
> + { .name = "NV24", .depth = -1, .drm_id = DRM_FORMAT_NV24,
> + .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
> + .num_planes = 2, .plane_bpp = { 8, 16, },
> + .hsub = 1, .vsub = 1,
> + },
> + { .name = "NV42", .depth = -1, .drm_id = DRM_FORMAT_NV42,
> + .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
> + .num_planes = 2, .plane_bpp = { 8, 16, },
> + .hsub = 1, .vsub = 1,
> + },
> { .name = "NV61", .depth = -1, .drm_id = DRM_FORMAT_NV61,
> .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
> .num_planes = 2, .plane_bpp = { 8, 16, },
> @@ -292,6 +302,11 @@ static const struct format_desc_struct {
> .num_planes = 3, .plane_bpp = { 8, 8, 8, },
> .hsub = 2, .vsub = 1,
> },
> + { .name = "YU24", .depth = -1, .drm_id = DRM_FORMAT_YUV444,
> + .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
> + .num_planes = 3, .plane_bpp = { 8, 8, 8, },
> + .hsub = 1, .vsub = 1,
> + },
> { .name = "YV12", .depth = -1, .drm_id = DRM_FORMAT_YVU420,
> .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
> .num_planes = 3, .plane_bpp = { 8, 8, 8, },
> @@ -302,6 +317,11 @@ static const struct format_desc_struct {
> .num_planes = 3, .plane_bpp = { 8, 8, 8, },
> .hsub = 2, .vsub = 1,
> },
> + { .name = "YV24", .depth = -1, .drm_id = DRM_FORMAT_YVU444,
> + .cairo_id = CAIRO_FORMAT_RGB24, .convert = true,
> + .num_planes = 3, .plane_bpp = { 8, 8, 8, },
> + .hsub = 1, .vsub = 1,
> + },
> { .name = "Y410", .depth = -1, .drm_id = DRM_FORMAT_Y410,
> .cairo_id = CAIRO_FORMAT_RGBA128F, .convert = true,
> .num_planes = 1, .plane_bpp = { 32, },
> @@ -1166,8 +1186,10 @@ static void clear_yuv_buffer(struct igt_fb *fb)
> break;
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
Where's the corresponding stuff for the 2 plane formats?
I was also pondering about using igt_reduce_format() to
make the switch a bit less bloated, but I suppose that
won't work for eg. YUYV vs. UYVY. Maybe it could be used
in some other places though.
> igt_assert(ARRAY_SIZE(plane_size) == 3);
> memset(ptr + fb->offsets[0],
> full_range ? 0x00 : 0x10,
> @@ -3495,6 +3517,8 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
> case DRM_FORMAT_NV12:
> case DRM_FORMAT_NV16:
> case DRM_FORMAT_NV21:
> + case DRM_FORMAT_NV24:
> + case DRM_FORMAT_NV42:
> case DRM_FORMAT_NV61:
> case DRM_FORMAT_P010:
> case DRM_FORMAT_P012:
> @@ -3505,8 +3529,10 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
>
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> params->ay_inc = 1;
> params->uv_inc = 1;
> break;
> @@ -3536,11 +3562,15 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
> case DRM_FORMAT_NV12:
> case DRM_FORMAT_NV16:
> case DRM_FORMAT_NV21:
> + case DRM_FORMAT_NV24:
> + case DRM_FORMAT_NV42:
> case DRM_FORMAT_NV61:
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> case DRM_FORMAT_P010:
> case DRM_FORMAT_P012:
> case DRM_FORMAT_P016:
> @@ -3568,12 +3598,14 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
> switch (fb->drm_format) {
> case DRM_FORMAT_NV12:
> case DRM_FORMAT_NV16:
> + case DRM_FORMAT_NV24:
> params->y_offset = fb->offsets[0];
> params->u_offset = fb->offsets[1];
> params->v_offset = fb->offsets[1] + 1;
> break;
>
> case DRM_FORMAT_NV21:
> + case DRM_FORMAT_NV42:
> case DRM_FORMAT_NV61:
> params->y_offset = fb->offsets[0];
> params->u_offset = fb->offsets[1] + 1;
> @@ -3582,6 +3614,7 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
>
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> params->y_offset = fb->offsets[0];
> params->u_offset = fb->offsets[1];
> params->v_offset = fb->offsets[2];
> @@ -3589,6 +3622,7 @@ static void get_yuv_parameters(struct igt_fb *fb, struct yuv_parameters *params)
>
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> params->y_offset = fb->offsets[0];
> params->u_offset = fb->offsets[2];
> params->v_offset = fb->offsets[1];
> @@ -4322,14 +4356,18 @@ static void fb_convert(struct fb_convert *cvt)
> case DRM_FORMAT_NV12:
> case DRM_FORMAT_NV16:
> case DRM_FORMAT_NV21:
> + case DRM_FORMAT_NV24:
> + case DRM_FORMAT_NV42:
> case DRM_FORMAT_NV61:
> case DRM_FORMAT_UYVY:
> case DRM_FORMAT_VYUY:
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> case DRM_FORMAT_YUYV:
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> case DRM_FORMAT_YVYU:
> convert_yuv_to_rgb24(cvt);
> return;
> @@ -4340,14 +4378,18 @@ static void fb_convert(struct fb_convert *cvt)
> case DRM_FORMAT_NV12:
> case DRM_FORMAT_NV16:
> case DRM_FORMAT_NV21:
> + case DRM_FORMAT_NV24:
> + case DRM_FORMAT_NV42:
> case DRM_FORMAT_NV61:
> case DRM_FORMAT_UYVY:
> case DRM_FORMAT_VYUY:
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> case DRM_FORMAT_YUYV:
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> case DRM_FORMAT_YVYU:
> convert_rgb24_to_yuv(cvt);
> return;
> @@ -4921,11 +4963,15 @@ bool igt_format_is_yuv(uint32_t drm_format)
> case DRM_FORMAT_NV12:
> case DRM_FORMAT_NV16:
> case DRM_FORMAT_NV21:
> + case DRM_FORMAT_NV24:
> + case DRM_FORMAT_NV42:
> case DRM_FORMAT_NV61:
> case DRM_FORMAT_YUV420:
> case DRM_FORMAT_YUV422:
> + case DRM_FORMAT_YUV444:
> case DRM_FORMAT_YVU420:
> case DRM_FORMAT_YVU422:
> + case DRM_FORMAT_YVU444:
> case DRM_FORMAT_P010:
> case DRM_FORMAT_P012:
> case DRM_FORMAT_P016:
>
> --
> 2.46.0
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2024-10-28 16:07 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-13 0:39 [PATCH i-g-t v6 00/12] benchmarks/kms_fb_stress: benchmark formats Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 01/12] benchmarks/kms_fb_stress: Set DRM_CLIENT_CAP_WRITEBACK_CONNECTORS before igt_require() Arthur Grillo
2024-10-22 16:41 ` Kamil Konieczny
2024-09-13 0:39 ` [PATCH i-g-t v6 02/12] benchmarks/kms_fb_stress: Assert that we have a supported pipe Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 03/12] benchmarks/kms_fb_stress: Separate the benchmark in a subtest Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 04/12] benchmarks/kms_fb_stress: Free resources on the stress procedure Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 05/12] benchmarks/kms_fb_stress: Move FB creation to a separate function Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 06/12] benchmarks/kms_fb_stress: Don't paint the FB's if the format is not supported by Pixman Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 07/12] benchmarks/kms_fb_stress: Set writeback rectangle size outside the loop Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 08/12] benchmarks/kms_fb_stress: Add enable switches for every plane Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 09/12] benchmarks/kms_fb_stress: Log the KMS structure Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 10/12] benchmarks/kms_fb_stress: Create a benchmark for primary plane formats Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 11/12] benchmarks/kms_fb_stress: Create a benchmark for writeback formats Arthur Grillo
2024-09-13 0:39 ` [PATCH i-g-t v6 12/12] lib/igt_fb: Add non sub-sampled YUV formats Arthur Grillo
2024-10-22 15:06 ` Kamil Konieczny
2024-10-28 15:34 ` Kamil Konieczny
2024-10-28 16:07 ` Ville Syrjälä
2024-09-13 1:26 ` ✓ CI.xeBAT: success for benchmarks/kms_fb_stress: benchmark formats (rev3) Patchwork
2024-09-13 1:46 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-09-13 12:03 ` Arthur Grillo
2024-09-13 18:36 ` ✗ CI.xeFULL: " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox