* [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test
@ 2023-02-13 18:16 Bhawanpreet Lakha
2023-02-13 18:16 ` [igt-dev] [PATCH 2/2] amdgpu_amd_plane: Add Multi MPO invalid test Bhawanpreet Lakha
` (8 more replies)
0 siblings, 9 replies; 18+ messages in thread
From: Bhawanpreet Lakha @ 2023-02-13 18:16 UTC (permalink / raw)
To: igt-dev, rodrigo.siqueira, sunpeng.li, harry.wentland,
nicholas.kazlauskas
Cc: Bhawanpreet Lakha
[Why]
Some of our ASICs support multiple overlay planes, so create
a test to test them
[How]
Create a plane with two holes and fill them up with 2 overlay planes
Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Change-Id: If527d67ead59f64906a97c340845ac423d93a0aa
---
tests/amdgpu/amd_plane.c | 128 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 127 insertions(+), 1 deletion(-)
diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c
index b9eec677..d34cd1d9 100644
--- a/tests/amdgpu/amd_plane.c
+++ b/tests/amdgpu/amd_plane.c
@@ -42,6 +42,7 @@ typedef struct data {
igt_plane_t *primary[MAX_PIPES];
igt_plane_t *cursor[MAX_PIPES];
igt_plane_t *overlay[MAX_PIPES];
+ igt_plane_t *overlay2[MAX_PIPES];
igt_output_t *output[MAX_PIPES];
igt_pipe_t *pipe[MAX_PIPES];
igt_pipe_crc_t *pipe_crc[MAX_PIPES];
@@ -144,7 +145,8 @@ static void lut_free(lut_t *lut)
enum test {
MPO_SINGLE_PAN,
MPO_MULTI_PAN,
- MPO_SCALE
+ MPO_SCALE,
+ MPO_MULTI_OVERLAY
};
static void test_init(data_t *data)
@@ -159,6 +161,8 @@ static void test_init(data_t *data)
data->pipe[i], DRM_PLANE_TYPE_PRIMARY);
data->overlay[i] = igt_pipe_get_plane_type_index(
data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 0);
+ data->overlay2[i] = igt_pipe_get_plane_type_index(
+ data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 1);
data->cursor[i] = igt_pipe_get_plane_type(
data->pipe[i], DRM_PLANE_TYPE_CURSOR);
data->pipe_crc[i] =
@@ -252,6 +256,7 @@ struct fbc {
igt_fb_t ref_primary;
igt_fb_t test_primary;
igt_fb_t test_overlay;
+ igt_fb_t test_overlay2;
igt_crc_t ref_crc;
};
@@ -264,6 +269,115 @@ static void set_regamma_lut(data_t *data, lut_t const *lut, int n)
size);
}
+/*
+ * Compares the result of white backgroud with white window with and without MPO
+ *
+ * Reference crc:
+ * Draws a White background of size (pw,ph).
+ *
+ * Test crc:
+ * Draws a White Overlay of size (pw,ph) then creates a cutout of size (w,h) at location (x1, y1) and (x2, y2)
+ * Draws a White Primary plane of size (w, h) at location (x1,y1) (under the overlay)
+ * Draws a White Overlay of size (w, h) at location (x2,y2)
+ *
+ * NOTE: The reason for using White+White is to speed up the crc (reuse the ref crc for all cases vs taking
+ * a ref crc per flip)
+ */
+static void test_plane2(data_t *data, int n, int x1, int y1, int x2, int y2, int w, int h, int pw, int ph, struct fbc *fbc){
+
+ igt_crc_t test_crc;
+ igt_display_t *display = &data->display;
+
+ /* Reference: */
+
+ igt_plane_set_fb(data->primary[n], &fbc[n].ref_primary);
+
+ igt_plane_set_position(data->primary[n], 0, 0);
+ igt_plane_set_size(data->primary[n], pw, ph);
+
+ igt_display_commit_atomic(display, 0, 0);
+
+ /* Test: */
+ /* Draw a white overlay with two cutouts at (x1,y1) and (x2,y2) */
+ draw_color_alpha(&fbc[n].test_overlay2, 0, 0, pw, ph, 1.0, 1.0, 1.0, 1.0);
+ draw_color_alpha(&fbc[n].test_overlay2, x1, y1, w, h, 0.0, 0.0, 0.0, 0.0);
+ draw_color_alpha(&fbc[n].test_overlay2, x2, y2, w, h, 0.0, 0.0, 0.0, 0.0);
+
+ /* Draw a overlay to cover up one hole */
+ draw_color_alpha(&fbc[n].test_overlay, 0, 0, pw, ph, 0.0, 0.0, 0.0, 0.0);
+ draw_color_alpha(&fbc[n].test_overlay, x2, y2, w, h, 1.0, 1.0, 1.0, 1.0);
+
+ /* Draw a primary to cover up the other hole */
+ draw_color_alpha(&fbc[n].test_primary, 0, 0, w, h, 0.0, 0.0, 0.0, 0.0);
+ draw_color_alpha(&fbc[n].test_primary, 0, 0, w, h, 1.0, 1.0, 1.0, 1.0);
+
+ igt_plane_set_fb(data->primary[n], &fbc[n].test_primary);
+ igt_plane_set_fb(data->overlay[n], &fbc[n].test_overlay);
+ igt_plane_set_fb(data->overlay2[n], &fbc[n].test_overlay2);
+
+ /* Move the primary to cover one of the holes*/
+ igt_plane_set_position(data->primary[n], x1, y1);
+ igt_plane_set_size(data->primary[n], w, h);
+
+
+ igt_display_commit_atomic(display, 0, 0);
+ igt_pipe_crc_collect_crc(data->pipe_crc[n], &test_crc);
+ igt_plane_set_fb(data->overlay[n], NULL);
+ igt_plane_set_fb(data->overlay2[n], NULL);
+
+ igt_assert_crc_equal(&fbc[n].ref_crc, &test_crc);
+
+ /* Set window to white, this is to avoid flashing between black/white after each flip */
+ draw_color_alpha(&fbc[n].ref_primary, 0, 0, w, h, 1.0, 1.0, 1.0, 1.00);
+ igt_plane_set_fb(data->primary[n], &fbc[n].ref_primary);
+ igt_plane_set_position(data->primary[n], 0, 0);
+ igt_plane_set_size(data->primary[n], pw, ph);
+ igt_display_commit_atomic(display, 0, 0);
+
+
+}
+
+/*
+ * MPO_MULTI_OVERLAY: This test takes the plane sizes and assigns random position within the screen
+ *
+ * The test creates a white screen with 2 cutouts which are to be filled with 2 overlay planes.
+ * Testing multiple overlay planes
+ */
+static void test_multi_overlay(data_t *data, int display_count, int w, int h, struct fbc *fb)
+{
+
+ int x1,x2,y1,y2;
+
+ for (int n = 0; n < display_count; n++) {
+
+ int pw = data->w[n];
+ int ph = data->h[n];
+
+ for (int i = 0; i < 1; i++){
+
+ if (pw <= w && ph <= h)
+ break;
+
+ srand(time(NULL));
+
+ /* Generate random x,y positions for two cutouts*/
+ x1 = (rand() % (pw-w));
+ y1 = (rand() % (ph-h));
+
+ x2 = (rand() % (pw-w));
+ y2 = (rand() % (ph-h));
+
+
+ test_plane2(data, n, x1, y1, x2, y2, w,h, pw, ph, fb);
+
+ }
+ }
+
+ return;
+
+
+}
+
/*
* Compares the result of white backgroud with white window with and without MPO
*
@@ -467,6 +581,10 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int
test_init(data);
+ /* Skip test if we don't have 2 overlay planes */
+ if (test == MPO_MULTI_OVERLAY)
+ igt_skip_on(!data->overlay2[0]);
+
/* Skip if there is less valid outputs than the required. */
for_each_connected_output(display, output)
valid_outputs++;
@@ -494,6 +612,7 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int
igt_create_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, &fb[n].ref_primary);
igt_create_color_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, 1.0, 1.0, 1.0, &fb[n].ref_primary);
igt_create_fb(data->fd, w, h, DRM_FORMAT_ARGB8888, 0, &fb[n].test_overlay);
+ igt_create_fb(data->fd, w, h, DRM_FORMAT_ARGB8888, 0, &fb[n].test_overlay2);
igt_plane_set_fb(data->primary[n], &fb[n].ref_primary);
@@ -520,6 +639,8 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int
if (test == MPO_SINGLE_PAN)
test_panning_1_display(data, display_count, videos[i][0], videos[i][1], fb);
+ if (test == MPO_MULTI_OVERLAY)
+ test_multi_overlay(data, display_count, videos[i][0], videos[i][1], fb);
if (test == MPO_MULTI_PAN)
test_panning_2_display(data, videos[i][0], videos[i][1], fb);
if(test == MPO_SCALE)
@@ -536,6 +657,7 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int
for (int n = 0; n < display_count; n++) {
igt_remove_fb(data->fd, &fb[n].ref_primary);
igt_remove_fb(data->fd, &fb[n].test_overlay);
+ igt_remove_fb(data->fd, &fb[n].test_overlay2);
}
}
/*
@@ -798,6 +920,10 @@ igt_main
igt_subtest("mpo-pan-multi-p010")
test_display_mpo(&data, MPO_MULTI_PAN, DRM_FORMAT_P010, DISPLAYS_TO_TEST);
+ igt_describe("Multi MPO");
+ igt_subtest("multi-mpo")
+ test_display_mpo(&data, MPO_MULTI_OVERLAY, DRM_FORMAT_NV12, 1);
+
igt_describe("MPO and scaling RGB primary plane");
igt_subtest("mpo-scale-rgb")
test_display_mpo(&data, MPO_SCALE, DRM_FORMAT_XRGB8888, 1);
--
2.25.1
^ permalink raw reply related [flat|nested] 18+ messages in thread* [igt-dev] [PATCH 2/2] amdgpu_amd_plane: Add Multi MPO invalid test 2023-02-13 18:16 [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test Bhawanpreet Lakha @ 2023-02-13 18:16 ` Bhawanpreet Lakha 2023-02-17 20:38 ` Leo Li 2023-02-13 19:33 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test Patchwork ` (7 subsequent siblings) 8 siblings, 1 reply; 18+ messages in thread From: Bhawanpreet Lakha @ 2023-02-13 18:16 UTC (permalink / raw) To: igt-dev, rodrigo.siqueira, sunpeng.li, harry.wentland, nicholas.kazlauskas Cc: Bhawanpreet Lakha [Why] We cannot draw cursor on a video plane so if the usermode trys to use the topmost plane as a video plane we should reject that commit [How] Trying to use a video format (NV12) as the topmost plane should fail atomic check Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> Change-Id: Ida52c3cbb6e59ed4759496e2a3fc35255bf522e0 --- tests/amdgpu/amd_plane.c | 55 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c index d34cd1d9..46f90c6c 100644 --- a/tests/amdgpu/amd_plane.c +++ b/tests/amdgpu/amd_plane.c @@ -557,6 +557,57 @@ static void test_panning_2_display(data_t *data, int w, int h, struct fbc *fbc) } +/* + * This tests invalid plane format order + * + * Since we cannot draw a cursor on a video plane the top most plane cannot be a video plane. + * This test trys to commit a configuration where the topmost plane is a video plane. This is + * expected to fail since we do not support that configuration. + */ +static void test_multi_mpo_invalid(data_t *data) +{ + igt_display_t *display = &data->display; + igt_output_t *output; + uint32_t regamma_lut_size; + lut_t lut; + struct fbc fb[4]; + int valid_outputs = 0; + int w, h; + int ret; + + test_init(data); + + w = data->w[0]; + h = data->h[0]; + + /* Skip test if we don't have 2 overlay planes */ + igt_skip_on(!data->overlay2[0]); + + igt_output_set_pipe(data->output[0], data->pipe_id[0]); + + igt_create_color_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, 1.0, 1.0, 1.0, &fb[0].test_primary); + igt_create_fb(data->fd, w, h, DRM_FORMAT_NV12, 0, &fb[0].test_overlay); + + /* Top most plane is NV12 (video plane) */ + igt_create_fb(data->fd, w, h, DRM_FORMAT_NV12, 0, &fb[0].test_overlay2); + + igt_plane_set_fb(data->primary[0], &fb[0].test_primary); + igt_plane_set_fb(data->overlay[0], &fb[0].test_overlay); + igt_plane_set_fb(data->overlay2[0], &fb[0].test_overlay2); + + /* This should fail as the topmost plane is NV12 */ + ret = igt_display_try_commit_atomic(display, DRM_MODE_ATOMIC_TEST_ONLY, NULL); + + if (!ret) + igt_assert(0); + + test_fini(data); + + igt_remove_fb(data->fd, &fb[0].test_primary); + igt_remove_fb(data->fd, &fb[0].test_overlay); + igt_remove_fb(data->fd, &fb[0].test_overlay2); +} + /* * Setup and runner for panning test. Creates common video sizes and pans them across the display */ @@ -924,6 +975,10 @@ igt_main igt_subtest("multi-mpo") test_display_mpo(&data, MPO_MULTI_OVERLAY, DRM_FORMAT_NV12, 1); + igt_describe("Multi MPO invalid"); + igt_subtest("multi-mpo-invalid") + test_multi_mpo_invalid(&data); + igt_describe("MPO and scaling RGB primary plane"); igt_subtest("mpo-scale-rgb") test_display_mpo(&data, MPO_SCALE, DRM_FORMAT_XRGB8888, 1); -- 2.25.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH 2/2] amdgpu_amd_plane: Add Multi MPO invalid test 2023-02-13 18:16 ` [igt-dev] [PATCH 2/2] amdgpu_amd_plane: Add Multi MPO invalid test Bhawanpreet Lakha @ 2023-02-17 20:38 ` Leo Li 2023-03-23 17:30 ` Bhawanpreet Lakha 0 siblings, 1 reply; 18+ messages in thread From: Leo Li @ 2023-02-17 20:38 UTC (permalink / raw) To: Bhawanpreet Lakha, igt-dev, rodrigo.siqueira, harry.wentland, nicholas.kazlauskas On 2/13/23 13:16, Bhawanpreet Lakha wrote: > [Why] > We cannot draw cursor on a video plane so if the usermode trys to use > the topmost plane as a video plane we should reject that commit > > [How] > Trying to use a video format (NV12) as the topmost plane should fail > atomic check > > Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> > Change-Id: Ida52c3cbb6e59ed4759496e2a3fc35255bf522e0 With Change-Id removed, Reviewed-by: Leo Li <sunpeng.li@amd.com> > --- > tests/amdgpu/amd_plane.c | 55 ++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 55 insertions(+) > > diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c > index d34cd1d9..46f90c6c 100644 > --- a/tests/amdgpu/amd_plane.c > +++ b/tests/amdgpu/amd_plane.c > @@ -557,6 +557,57 @@ static void test_panning_2_display(data_t *data, int w, int h, struct fbc *fbc) > > } > > +/* > + * This tests invalid plane format order > + * > + * Since we cannot draw a cursor on a video plane the top most plane cannot be a video plane. > + * This test trys to commit a configuration where the topmost plane is a video plane. This is > + * expected to fail since we do not support that configuration. > + */ > +static void test_multi_mpo_invalid(data_t *data) > +{ > + igt_display_t *display = &data->display; > + igt_output_t *output; > + uint32_t regamma_lut_size; > + lut_t lut; > + struct fbc fb[4]; > + int valid_outputs = 0; > + int w, h; > + int ret; > + > + test_init(data); > + > + w = data->w[0]; > + h = data->h[0]; > + > + /* Skip test if we don't have 2 overlay planes */ > + igt_skip_on(!data->overlay2[0]); > + > + igt_output_set_pipe(data->output[0], data->pipe_id[0]); > + > + igt_create_color_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, 1.0, 1.0, 1.0, &fb[0].test_primary); > + igt_create_fb(data->fd, w, h, DRM_FORMAT_NV12, 0, &fb[0].test_overlay); > + > + /* Top most plane is NV12 (video plane) */ > + igt_create_fb(data->fd, w, h, DRM_FORMAT_NV12, 0, &fb[0].test_overlay2); > + > + igt_plane_set_fb(data->primary[0], &fb[0].test_primary); > + igt_plane_set_fb(data->overlay[0], &fb[0].test_overlay); > + igt_plane_set_fb(data->overlay2[0], &fb[0].test_overlay2); > + > + /* This should fail as the topmost plane is NV12 */ > + ret = igt_display_try_commit_atomic(display, DRM_MODE_ATOMIC_TEST_ONLY, NULL); > + > + if (!ret) > + igt_assert(0); > + > + test_fini(data); > + > + igt_remove_fb(data->fd, &fb[0].test_primary); > + igt_remove_fb(data->fd, &fb[0].test_overlay); > + igt_remove_fb(data->fd, &fb[0].test_overlay2); > +} > + > /* > * Setup and runner for panning test. Creates common video sizes and pans them across the display > */ > @@ -924,6 +975,10 @@ igt_main > igt_subtest("multi-mpo") > test_display_mpo(&data, MPO_MULTI_OVERLAY, DRM_FORMAT_NV12, 1); > > + igt_describe("Multi MPO invalid"); > + igt_subtest("multi-mpo-invalid") > + test_multi_mpo_invalid(&data); > + > igt_describe("MPO and scaling RGB primary plane"); > igt_subtest("mpo-scale-rgb") > test_display_mpo(&data, MPO_SCALE, DRM_FORMAT_XRGB8888, 1); ^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] [PATCH 2/2] amdgpu_amd_plane: Add Multi MPO invalid test 2023-02-17 20:38 ` Leo Li @ 2023-03-23 17:30 ` Bhawanpreet Lakha 0 siblings, 0 replies; 18+ messages in thread From: Bhawanpreet Lakha @ 2023-03-23 17:30 UTC (permalink / raw) To: igt-dev, rodrigo.siqueira, sunpeng.li, harry.wentland, nicholas.kazlauskas Cc: Bhawanpreet Lakha [Why] We cannot draw cursor on a video plane so if the usermode trys to use the topmost plane as a video plane we should reject that commit [How] Trying to use a video format (NV12) as the topmost plane should fail atomic check *v2 - Update test description - Formatting fixes Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> --- tests/amdgpu/amd_plane.c | 55 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c index 4115d692..fd46fb04 100644 --- a/tests/amdgpu/amd_plane.c +++ b/tests/amdgpu/amd_plane.c @@ -544,6 +544,57 @@ static void test_panning_2_display(data_t *data, int w, int h, struct fbc *fbc) } +/* + * This tests invalid plane format order + * + * Since we cannot draw a cursor on a video plane the top most plane cannot be a video plane. + * This test tries to commit a configuration where the topmost plane is a video plane. This is + * expected to fail since we do not support that configuration. + */ +static void test_multi_mpo_invalid(data_t *data) +{ + igt_display_t *display = &data->display; + igt_output_t *output; + uint32_t regamma_lut_size; + lut_t lut; + struct fbc fb[4]; + int valid_outputs = 0; + int w, h; + int ret; + + test_init(data); + + w = data->w[0]; + h = data->h[0]; + + /* Skip test if we don't have 2 overlay planes */ + igt_skip_on(!data->overlay2[0]); + + igt_output_set_pipe(data->output[0], data->pipe_id[0]); + + igt_create_color_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, 1.0, 1.0, 1.0, &fb[0].test_primary); + igt_create_fb(data->fd, w, h, DRM_FORMAT_NV12, 0, &fb[0].test_overlay); + + /* Top most plane is NV12 (video plane) */ + igt_create_fb(data->fd, w, h, DRM_FORMAT_NV12, 0, &fb[0].test_overlay2); + + igt_plane_set_fb(data->primary[0], &fb[0].test_primary); + igt_plane_set_fb(data->overlay[0], &fb[0].test_overlay); + igt_plane_set_fb(data->overlay2[0], &fb[0].test_overlay2); + + /* This should fail as the topmost plane is NV12 */ + ret = igt_display_try_commit_atomic(display, DRM_MODE_ATOMIC_TEST_ONLY, NULL); + + if (!ret) + igt_assert(0); + + test_fini(data); + + igt_remove_fb(data->fd, &fb[0].test_primary); + igt_remove_fb(data->fd, &fb[0].test_overlay); + igt_remove_fb(data->fd, &fb[0].test_overlay2); +} + /* * Setup and runner for panning test. Creates common video sizes and pans them across the display */ @@ -911,6 +962,10 @@ igt_main igt_subtest("multi-overlay") test_display_mpo(&data, MPO_MULTI_OVERLAY, DRM_FORMAT_NV12, 1); + igt_describe("Invalid MPO with 2 overlays planes and a primary plane"); + igt_subtest("multi-overlay-invalid") + test_multi_mpo_invalid(&data); + igt_describe("MPO and scaling RGB primary plane"); igt_subtest("mpo-scale-rgb") test_display_mpo(&data, MPO_SCALE, DRM_FORMAT_XRGB8888, 1); -- 2.25.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test 2023-02-13 18:16 [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test Bhawanpreet Lakha 2023-02-13 18:16 ` [igt-dev] [PATCH 2/2] amdgpu_amd_plane: Add Multi MPO invalid test Bhawanpreet Lakha @ 2023-02-13 19:33 ` Patchwork 2023-02-13 21:14 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork ` (6 subsequent siblings) 8 siblings, 0 replies; 18+ messages in thread From: Patchwork @ 2023-02-13 19:33 UTC (permalink / raw) To: Bhawanpreet Lakha; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 4982 bytes --] == Series Details == Series: series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test URL : https://patchwork.freedesktop.org/series/113966/ State : success == Summary == CI Bug Log - changes from CI_DRM_12732 -> IGTPW_8490 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/index.html Participating hosts (37 -> 34) ------------------------------ Additional (1): bat-atsm-1 Missing (4): bat-kbl-2 bat-jsl-3 fi-snb-2520m fi-skl-6600u Known issues ------------ Here are the changes found in IGTPW_8490 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@fbdev@write: - fi-blb-e6850: [PASS][1] -> [SKIP][2] ([fdo#109271]) +4 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/fi-blb-e6850/igt@fbdev@write.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/fi-blb-e6850/igt@fbdev@write.html * igt@kms_chamelium_hpd@common-hpd-after-suspend: - fi-rkl-11600: NOTRUN -> [SKIP][3] ([i915#7828]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/fi-rkl-11600/igt@kms_chamelium_hpd@common-hpd-after-suspend.html #### Possible fixes #### * igt@gem_exec_suspend@basic-s0@lmem0: - {bat-dg2-11}: [INCOMPLETE][4] -> [PASS][5] [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/bat-dg2-11/igt@gem_exec_suspend@basic-s0@lmem0.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/bat-dg2-11/igt@gem_exec_suspend@basic-s0@lmem0.html * igt@i915_selftest@live@hangcheck: - {bat-rpls-2}: [ABORT][6] ([i915#7677] / [i915#8000]) -> [PASS][7] [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/bat-rpls-2/igt@i915_selftest@live@hangcheck.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/bat-rpls-2/igt@i915_selftest@live@hangcheck.html * igt@i915_selftest@live@migrate: - {bat-dg2-11}: [DMESG-WARN][8] ([i915#7699]) -> [PASS][9] [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/bat-dg2-11/igt@i915_selftest@live@migrate.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/bat-dg2-11/igt@i915_selftest@live@migrate.html * igt@i915_suspend@basic-s2idle-without-i915: - fi-rkl-11600: [ABORT][10] -> [PASS][11] [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/fi-rkl-11600/igt@i915_suspend@basic-s2idle-without-i915.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/fi-rkl-11600/igt@i915_suspend@basic-s2idle-without-i915.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#1836]: https://gitlab.freedesktop.org/drm/intel/issues/1836 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#6077]: https://gitlab.freedesktop.org/drm/intel/issues/6077 [i915#6078]: https://gitlab.freedesktop.org/drm/intel/issues/6078 [i915#6093]: https://gitlab.freedesktop.org/drm/intel/issues/6093 [i915#6094]: https://gitlab.freedesktop.org/drm/intel/issues/6094 [i915#6166]: https://gitlab.freedesktop.org/drm/intel/issues/6166 [i915#6311]: https://gitlab.freedesktop.org/drm/intel/issues/6311 [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621 [i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645 [i915#6997]: https://gitlab.freedesktop.org/drm/intel/issues/6997 [i915#7357]: https://gitlab.freedesktop.org/drm/intel/issues/7357 [i915#7677]: https://gitlab.freedesktop.org/drm/intel/issues/7677 [i915#7699]: https://gitlab.freedesktop.org/drm/intel/issues/7699 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#8000]: https://gitlab.freedesktop.org/drm/intel/issues/8000 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7160 -> IGTPW_8490 CI-20190529: 20190529 CI_DRM_12732: f0c0bf045b5ddf97f246d22ed9b658d16e798c77 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_8490: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/index.html IGT_7160: 45da871dd2684227e93a2fc002b87dfc58bd5fd9 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/index.html [-- Attachment #2: Type: text/html, Size: 4381 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test 2023-02-13 18:16 [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test Bhawanpreet Lakha 2023-02-13 18:16 ` [igt-dev] [PATCH 2/2] amdgpu_amd_plane: Add Multi MPO invalid test Bhawanpreet Lakha 2023-02-13 19:33 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test Patchwork @ 2023-02-13 21:14 ` Patchwork 2023-02-17 20:24 ` [igt-dev] [PATCH 1/2] " Leo Li ` (5 subsequent siblings) 8 siblings, 0 replies; 18+ messages in thread From: Patchwork @ 2023-02-13 21:14 UTC (permalink / raw) To: Bhawanpreet Lakha; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 24752 bytes --] == Series Details == Series: series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test URL : https://patchwork.freedesktop.org/series/113966/ State : success == Summary == CI Bug Log - changes from CI_DRM_12732_full -> IGTPW_8490_full ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/index.html Participating hosts (11 -> 11) ------------------------------ No changes in participating hosts New tests --------- New tests have been introduced between CI_DRM_12732_full and IGTPW_8490_full: ### New IGT tests (2) ### * igt@kms_cursor_edge_walk@256x256-left-edge@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_cursor_edge_walk@64x64-top-bottom@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in IGTPW_8490_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_fair@basic-none-share@rcs0: - shard-glk: [PASS][1] -> [FAIL][2] ([i915#2842]) +2 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-glk7/igt@gem_exec_fair@basic-none-share@rcs0.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-glk2/igt@gem_exec_fair@basic-none-share@rcs0.html * igt@gen9_exec_parse@allowed-all: - shard-apl: [PASS][3] -> [ABORT][4] ([i915#5566]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-apl6/igt@gen9_exec_parse@allowed-all.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-apl1/igt@gen9_exec_parse@allowed-all.html * igt@i915_pm_rps@engine-order: - shard-apl: [PASS][5] -> [FAIL][6] ([i915#6537]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-apl6/igt@i915_pm_rps@engine-order.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-apl1/igt@i915_pm_rps@engine-order.html * igt@i915_selftest@live@gt_heartbeat: - shard-apl: [PASS][7] -> [DMESG-FAIL][8] ([i915#5334]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-apl6/igt@i915_selftest@live@gt_heartbeat.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-apl7/igt@i915_selftest@live@gt_heartbeat.html * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip: - shard-apl: NOTRUN -> [SKIP][9] ([fdo#109271]) +3 similar issues [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-apl4/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip.html * igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size: - shard-apl: [PASS][10] -> [FAIL][11] ([i915#2346]) +1 similar issue [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-apl2/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-apl3/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ac-hdmi-a1-hdmi-a2: - shard-glk: [PASS][12] -> [FAIL][13] ([i915#79]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-glk7/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ac-hdmi-a1-hdmi-a2.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-glk8/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ac-hdmi-a1-hdmi-a2.html * igt@kms_flip@2x-nonexisting-fb: - shard-snb: NOTRUN -> [SKIP][14] ([fdo#109271]) +21 similar issues [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-snb4/igt@kms_flip@2x-nonexisting-fb.html * igt@kms_vblank@pipe-b-accuracy-idle: - shard-glk: [PASS][15] -> [FAIL][16] ([i915#43]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-glk4/igt@kms_vblank@pipe-b-accuracy-idle.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-glk7/igt@kms_vblank@pipe-b-accuracy-idle.html #### Possible fixes #### * igt@drm_fdinfo@idle@rcs0: - {shard-rkl}: [FAIL][17] ([i915#7742]) -> [PASS][18] +1 similar issue [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-rkl-1/igt@drm_fdinfo@idle@rcs0.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-rkl-1/igt@drm_fdinfo@idle@rcs0.html * igt@fbdev@nullptr: - {shard-rkl}: [SKIP][19] ([i915#2582]) -> [PASS][20] +1 similar issue [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-rkl-1/igt@fbdev@nullptr.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-rkl-2/igt@fbdev@nullptr.html * igt@feature_discovery@psr1: - {shard-rkl}: [SKIP][21] ([i915#658]) -> [PASS][22] [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-rkl-2/igt@feature_discovery@psr1.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-rkl-6/igt@feature_discovery@psr1.html * igt@gem_ctx_persistence@legacy-engines-hang@blt: - {shard-rkl}: [SKIP][23] ([i915#6252]) -> [PASS][24] [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-rkl-5/igt@gem_ctx_persistence@legacy-engines-hang@blt.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-rkl-2/igt@gem_ctx_persistence@legacy-engines-hang@blt.html * igt@gem_eio@in-flight-suspend: - {shard-rkl}: [FAIL][25] ([i915#5115] / [i915#7052]) -> [PASS][26] +1 similar issue [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-rkl-3/igt@gem_eio@in-flight-suspend.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-rkl-1/igt@gem_eio@in-flight-suspend.html * igt@gem_eio@kms: - {shard-dg1}: [FAIL][27] ([i915#5784]) -> [PASS][28] [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-dg1-12/igt@gem_eio@kms.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-dg1-15/igt@gem_eio@kms.html * igt@gem_exec_endless@dispatch@bcs0: - {shard-rkl}: [SKIP][29] ([i915#6247]) -> [PASS][30] [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-rkl-5/igt@gem_exec_endless@dispatch@bcs0.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-rkl-6/igt@gem_exec_endless@dispatch@bcs0.html * igt@gem_exec_fair@basic-deadline: - {shard-rkl}: [FAIL][31] ([i915#2846]) -> [PASS][32] [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-rkl-6/igt@gem_exec_fair@basic-deadline.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-rkl-2/igt@gem_exec_fair@basic-deadline.html * igt@gem_exec_fair@basic-pace-share@rcs0: - shard-glk: [FAIL][33] ([i915#2842]) -> [PASS][34] [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-glk5/igt@gem_exec_fair@basic-pace-share@rcs0.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-glk6/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@gem_exec_fair@basic-pace@rcs0: - {shard-rkl}: [FAIL][35] ([i915#2842]) -> [PASS][36] +2 similar issues [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-rkl-2/igt@gem_exec_fair@basic-pace@rcs0.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-rkl-5/igt@gem_exec_fair@basic-pace@rcs0.html * igt@gem_exec_reloc@basic-write-read-noreloc: - {shard-rkl}: [SKIP][37] ([i915#3281]) -> [PASS][38] +6 similar issues [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-rkl-6/igt@gem_exec_reloc@basic-write-read-noreloc.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-rkl-5/igt@gem_exec_reloc@basic-write-read-noreloc.html * igt@gem_exec_schedule@semaphore-power: - {shard-rkl}: [SKIP][39] ([i915#7276]) -> [PASS][40] [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-rkl-4/igt@gem_exec_schedule@semaphore-power.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-rkl-5/igt@gem_exec_schedule@semaphore-power.html * igt@gem_readwrite@write-bad-handle: - {shard-rkl}: [SKIP][41] ([i915#3282]) -> [PASS][42] +2 similar issues [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-rkl-2/igt@gem_readwrite@write-bad-handle.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-rkl-5/igt@gem_readwrite@write-bad-handle.html * igt@gen9_exec_parse@allowed-single: - shard-apl: [ABORT][43] ([i915#5566]) -> [PASS][44] [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-apl1/igt@gen9_exec_parse@allowed-single.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-apl7/igt@gen9_exec_parse@allowed-single.html * igt@gen9_exec_parse@batch-invalid-length: - {shard-rkl}: [SKIP][45] ([i915#2527]) -> [PASS][46] +1 similar issue [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-rkl-1/igt@gen9_exec_parse@batch-invalid-length.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-rkl-5/igt@gen9_exec_parse@batch-invalid-length.html * igt@i915_pm_dc@dc9-dpms: - shard-apl: [SKIP][47] ([fdo#109271]) -> [PASS][48] [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-apl4/igt@i915_pm_dc@dc9-dpms.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-apl6/igt@i915_pm_dc@dc9-dpms.html * igt@i915_pm_rpm@fences-dpms: - {shard-rkl}: [SKIP][49] ([i915#1849]) -> [PASS][50] [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-rkl-4/igt@i915_pm_rpm@fences-dpms.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-rkl-6/igt@i915_pm_rpm@fences-dpms.html * {igt@i915_power@sanity}: - {shard-rkl}: [SKIP][51] ([i915#7984]) -> [PASS][52] [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-rkl-6/igt@i915_power@sanity.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-rkl-5/igt@i915_power@sanity.html * igt@kms_big_fb@x-tiled-64bpp-rotate-180: - {shard-rkl}: [SKIP][53] ([i915#1845] / [i915#4098]) -> [PASS][54] +19 similar issues [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-rkl-3/igt@kms_big_fb@x-tiled-64bpp-rotate-180.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-rkl-6/igt@kms_big_fb@x-tiled-64bpp-rotate-180.html * igt@kms_ccs@pipe-c-bad-aux-stride-y_tiled_gen12_rc_ccs_cc: - {shard-tglu}: [SKIP][55] ([i915#1845] / [i915#7651]) -> [PASS][56] +4 similar issues [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-tglu-6/igt@kms_ccs@pipe-c-bad-aux-stride-y_tiled_gen12_rc_ccs_cc.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-tglu-3/igt@kms_ccs@pipe-c-bad-aux-stride-y_tiled_gen12_rc_ccs_cc.html * igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions: - shard-glk: [FAIL][57] ([i915#2346]) -> [PASS][58] [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-glk3/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-glk7/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt: - {shard-tglu}: [SKIP][59] ([i915#1849]) -> [PASS][60] +1 similar issue [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-tglu-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-tglu-3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt.html * igt@kms_frontbuffer_tracking@fbc-tiling-linear: - {shard-rkl}: [SKIP][61] ([i915#1849] / [i915#4098]) -> [PASS][62] +13 similar issues [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-rkl-3/igt@kms_frontbuffer_tracking@fbc-tiling-linear.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-tiling-linear.html * igt@kms_universal_plane@universal-plane-pipe-d-functional: - {shard-tglu}: [SKIP][63] ([fdo#109274]) -> [PASS][64] [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-tglu-6/igt@kms_universal_plane@universal-plane-pipe-d-functional.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-tglu-7/igt@kms_universal_plane@universal-plane-pipe-d-functional.html * igt@prime_vgem@basic-fence-flip: - {shard-tglu}: [SKIP][65] ([fdo#109295]) -> [PASS][66] [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12732/shard-tglu-6/igt@prime_vgem@basic-fence-flip.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/shard-tglu-5/igt@prime_vgem@basic-fence-flip.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274 [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279 [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280 [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295 [fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308 [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309 [fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312 [fdo#109314]: https://bugs.freedesktop.org/show_bug.cgi?id=109314 [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315 [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506 [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642 [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189 [fdo#110542]: https://bugs.freedesktop.org/show_bug.cgi?id=110542 [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614 [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615 [fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644 [fdo#111656]: https://bugs.freedesktop.org/show_bug.cgi?id=111656 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054 [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257 [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132 [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397 [i915#1755]: https://gitlab.freedesktop.org/drm/intel/issues/1755 [i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769 [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825 [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849 [i915#1850]: https://gitlab.freedesktop.org/drm/intel/issues/1850 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434 [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437 [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527 [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575 [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582 [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587 [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658 [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672 [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705 [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280 [i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846 [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856 [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920 [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116 [i915#315]: https://gitlab.freedesktop.org/drm/intel/issues/315 [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281 [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282 [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297 [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299 [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301 [i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318 [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359 [i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361 [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458 [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469 [i915#3528]: https://gitlab.freedesktop.org/drm/intel/issues/3528 [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539 [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558 [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637 [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638 [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734 [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742 [i915#3778]: https://gitlab.freedesktop.org/drm/intel/issues/3778 [i915#3825]: https://gitlab.freedesktop.org/drm/intel/issues/3825 [i915#3826]: https://gitlab.freedesktop.org/drm/intel/issues/3826 [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840 [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886 [i915#3952]: https://gitlab.freedesktop.org/drm/intel/issues/3952 [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955 [i915#3966]: https://gitlab.freedesktop.org/drm/intel/issues/3966 [i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404 [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213 [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270 [i915#43]: https://gitlab.freedesktop.org/drm/intel/issues/43 [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349 [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525 [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538 [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767 [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771 [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812 [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833 [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852 [i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859 [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860 [i915#4958]: https://gitlab.freedesktop.org/drm/intel/issues/4958 [i915#5115]: https://gitlab.freedesktop.org/drm/intel/issues/5115 [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176 [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235 [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286 [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288 [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289 [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325 [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533 [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334 [i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439 [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461 [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563 [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566 [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784 [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095 [i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227 [i915#6245]: https://gitlab.freedesktop.org/drm/intel/issues/6245 [i915#6247]: https://gitlab.freedesktop.org/drm/intel/issues/6247 [i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248 [i915#6252]: https://gitlab.freedesktop.org/drm/intel/issues/6252 [i915#6259]: https://gitlab.freedesktop.org/drm/intel/issues/6259 [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301 [i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334 [i915#6335]: https://gitlab.freedesktop.org/drm/intel/issues/6335 [i915#6412]: https://gitlab.freedesktop.org/drm/intel/issues/6412 [i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433 [i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497 [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524 [i915#6537]: https://gitlab.freedesktop.org/drm/intel/issues/6537 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621 [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768 [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944 [i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946 [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953 [i915#7052]: https://gitlab.freedesktop.org/drm/intel/issues/7052 [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116 [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118 [i915#7128]: https://gitlab.freedesktop.org/drm/intel/issues/7128 [i915#7276]: https://gitlab.freedesktop.org/drm/intel/issues/7276 [i915#7294]: https://gitlab.freedesktop.org/drm/intel/issues/7294 [i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456 [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561 [i915#7651]: https://gitlab.freedesktop.org/drm/intel/issues/7651 [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697 [i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701 [i915#7707]: https://gitlab.freedesktop.org/drm/intel/issues/7707 [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711 [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#7949]: https://gitlab.freedesktop.org/drm/intel/issues/7949 [i915#7957]: https://gitlab.freedesktop.org/drm/intel/issues/7957 [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975 [i915#7984]: https://gitlab.freedesktop.org/drm/intel/issues/7984 [i915#8155]: https://gitlab.freedesktop.org/drm/intel/issues/8155 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7160 -> IGTPW_8490 CI-20190529: 20190529 CI_DRM_12732: f0c0bf045b5ddf97f246d22ed9b658d16e798c77 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_8490: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/index.html IGT_7160: 45da871dd2684227e93a2fc002b87dfc58bd5fd9 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8490/index.html [-- Attachment #2: Type: text/html, Size: 17637 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test 2023-02-13 18:16 [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test Bhawanpreet Lakha ` (2 preceding siblings ...) 2023-02-13 21:14 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork @ 2023-02-17 20:24 ` Leo Li 2023-02-17 20:43 ` Bhawanpreet Lakha 2023-03-13 16:32 ` Bhawanpreet Lakha 2023-03-13 17:18 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test (rev2) Patchwork ` (4 subsequent siblings) 8 siblings, 2 replies; 18+ messages in thread From: Leo Li @ 2023-02-17 20:24 UTC (permalink / raw) To: Bhawanpreet Lakha, igt-dev, rodrigo.siqueira, harry.wentland, nicholas.kazlauskas On 2/13/23 13:16, Bhawanpreet Lakha wrote: > [Why] > Some of our ASICs support multiple overlay planes, so create > a test to test them > > [How] > Create a plane with two holes and fill them up with 2 overlay planes > > Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> > Change-Id: If527d67ead59f64906a97c340845ac423d93a0aa > --- > tests/amdgpu/amd_plane.c | 128 ++++++++++++++++++++++++++++++++++++++- > 1 file changed, 127 insertions(+), 1 deletion(-) > > diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c > index b9eec677..d34cd1d9 100644 > --- a/tests/amdgpu/amd_plane.c > +++ b/tests/amdgpu/amd_plane.c > @@ -42,6 +42,7 @@ typedef struct data { > igt_plane_t *primary[MAX_PIPES]; > igt_plane_t *cursor[MAX_PIPES]; > igt_plane_t *overlay[MAX_PIPES]; > + igt_plane_t *overlay2[MAX_PIPES]; > igt_output_t *output[MAX_PIPES]; > igt_pipe_t *pipe[MAX_PIPES]; > igt_pipe_crc_t *pipe_crc[MAX_PIPES]; > @@ -144,7 +145,8 @@ static void lut_free(lut_t *lut) > enum test { > MPO_SINGLE_PAN, > MPO_MULTI_PAN, > - MPO_SCALE > + MPO_SCALE, > + MPO_MULTI_OVERLAY > }; > > static void test_init(data_t *data) > @@ -159,6 +161,8 @@ static void test_init(data_t *data) > data->pipe[i], DRM_PLANE_TYPE_PRIMARY); > data->overlay[i] = igt_pipe_get_plane_type_index( > data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 0); > + data->overlay2[i] = igt_pipe_get_plane_type_index( > + data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 1); > data->cursor[i] = igt_pipe_get_plane_type( > data->pipe[i], DRM_PLANE_TYPE_CURSOR); > data->pipe_crc[i] = > @@ -252,6 +256,7 @@ struct fbc { > igt_fb_t ref_primary; > igt_fb_t test_primary; > igt_fb_t test_overlay; > + igt_fb_t test_overlay2; > igt_crc_t ref_crc; > }; > > @@ -264,6 +269,115 @@ static void set_regamma_lut(data_t *data, lut_t const *lut, int n) > size); > } > > +/* > + * Compares the result of white backgroud with white window with and without MPO > + * > + * Reference crc: > + * Draws a White background of size (pw,ph). > + * > + * Test crc: > + * Draws a White Overlay of size (pw,ph) then creates a cutout of size (w,h) at location (x1, y1) and (x2, y2) > + * Draws a White Primary plane of size (w, h) at location (x1,y1) (under the overlay) > + * Draws a White Overlay of size (w, h) at location (x2,y2) > + * > + * NOTE: The reason for using White+White is to speed up the crc (reuse the ref crc for all cases vs taking > + * a ref crc per flip) > + */ > +static void test_plane2(data_t *data, int n, int x1, int y1, int x2, int y2, int w, int h, int pw, int ph, struct fbc *fbc){ > + > + igt_crc_t test_crc; > + igt_display_t *display = &data->display; > + > + /* Reference: */ > + > + igt_plane_set_fb(data->primary[n], &fbc[n].ref_primary); > + > + igt_plane_set_position(data->primary[n], 0, 0); > + igt_plane_set_size(data->primary[n], pw, ph); > + > + igt_display_commit_atomic(display, 0, 0); > + Should ref_crc be collected here? > + /* Test: */ > + /* Draw a white overlay with two cutouts at (x1,y1) and (x2,y2) */ > + draw_color_alpha(&fbc[n].test_overlay2, 0, 0, pw, ph, 1.0, 1.0, 1.0, 1.0); > + draw_color_alpha(&fbc[n].test_overlay2, x1, y1, w, h, 0.0, 0.0, 0.0, 0.0); > + draw_color_alpha(&fbc[n].test_overlay2, x2, y2, w, h, 0.0, 0.0, 0.0, 0.0); > + > + /* Draw a overlay to cover up one hole */ > + draw_color_alpha(&fbc[n].test_overlay, 0, 0, pw, ph, 0.0, 0.0, 0.0, 0.0); > + draw_color_alpha(&fbc[n].test_overlay, x2, y2, w, h, 1.0, 1.0, 1.0, 1.0); > + > + /* Draw a primary to cover up the other hole */ > + draw_color_alpha(&fbc[n].test_primary, 0, 0, w, h, 0.0, 0.0, 0.0, 0.0); > + draw_color_alpha(&fbc[n].test_primary, 0, 0, w, h, 1.0, 1.0, 1.0, 1.0); > + > + igt_plane_set_fb(data->primary[n], &fbc[n].test_primary); > + igt_plane_set_fb(data->overlay[n], &fbc[n].test_overlay); > + igt_plane_set_fb(data->overlay2[n], &fbc[n].test_overlay2); > + > + /* Move the primary to cover one of the holes*/ > + igt_plane_set_position(data->primary[n], x1, y1); > + igt_plane_set_size(data->primary[n], w, h); > + > + > + igt_display_commit_atomic(display, 0, 0); > + igt_pipe_crc_collect_crc(data->pipe_crc[n], &test_crc); > + igt_plane_set_fb(data->overlay[n], NULL); > + igt_plane_set_fb(data->overlay2[n], NULL); > + > + igt_assert_crc_equal(&fbc[n].ref_crc, &test_crc); > + > + /* Set window to white, this is to avoid flashing between black/white after each flip */ > + draw_color_alpha(&fbc[n].ref_primary, 0, 0, w, h, 1.0, 1.0, 1.0, 1.00); > + igt_plane_set_fb(data->primary[n], &fbc[n].ref_primary); > + igt_plane_set_position(data->primary[n], 0, 0); > + igt_plane_set_size(data->primary[n], pw, ph); > + igt_display_commit_atomic(display, 0, 0); > + > + > +} > + > +/* > + * MPO_MULTI_OVERLAY: This test takes the plane sizes and assigns random position within the screen > + * > + * The test creates a white screen with 2 cutouts which are to be filled with 2 overlay planes. > + * Testing multiple overlay planes > + */ > +static void test_multi_overlay(data_t *data, int display_count, int w, int h, struct fbc *fb) > +{ > + > + int x1,x2,y1,y2; > + > + for (int n = 0; n < display_count; n++) { > + > + int pw = data->w[n]; > + int ph = data->h[n]; > + > + for (int i = 0; i < 1; i++){ > + > + if (pw <= w && ph <= h) > + break; > + > + srand(time(NULL)); > + > + /* Generate random x,y positions for two cutouts*/ > + x1 = (rand() % (pw-w)); > + y1 = (rand() % (ph-h)); > + > + x2 = (rand() % (pw-w)); > + y2 = (rand() % (ph-h)); > + I wonder if using random positions can cause hard-to-reproduce failures. Is there something in particular being tested via rand, or can we use a fixed set of positions similar to test_cursor_spots() in kms_plane_cursor? Thanks, Leo > + > + test_plane2(data, n, x1, y1, x2, y2, w,h, pw, ph, fb); > + > + } > + } > + > + return; > + > + > +} > + > /* > * Compares the result of white backgroud with white window with and without MPO > * > @@ -467,6 +581,10 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int > > test_init(data); > > + /* Skip test if we don't have 2 overlay planes */ > + if (test == MPO_MULTI_OVERLAY) > + igt_skip_on(!data->overlay2[0]); > + > /* Skip if there is less valid outputs than the required. */ > for_each_connected_output(display, output) > valid_outputs++; > @@ -494,6 +612,7 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int > igt_create_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, &fb[n].ref_primary); > igt_create_color_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, 1.0, 1.0, 1.0, &fb[n].ref_primary); > igt_create_fb(data->fd, w, h, DRM_FORMAT_ARGB8888, 0, &fb[n].test_overlay); > + igt_create_fb(data->fd, w, h, DRM_FORMAT_ARGB8888, 0, &fb[n].test_overlay2); > > igt_plane_set_fb(data->primary[n], &fb[n].ref_primary); > > @@ -520,6 +639,8 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int > > if (test == MPO_SINGLE_PAN) > test_panning_1_display(data, display_count, videos[i][0], videos[i][1], fb); > + if (test == MPO_MULTI_OVERLAY) > + test_multi_overlay(data, display_count, videos[i][0], videos[i][1], fb); > if (test == MPO_MULTI_PAN) > test_panning_2_display(data, videos[i][0], videos[i][1], fb); > if(test == MPO_SCALE) > @@ -536,6 +657,7 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int > for (int n = 0; n < display_count; n++) { > igt_remove_fb(data->fd, &fb[n].ref_primary); > igt_remove_fb(data->fd, &fb[n].test_overlay); > + igt_remove_fb(data->fd, &fb[n].test_overlay2); > } > } > /* > @@ -798,6 +920,10 @@ igt_main > igt_subtest("mpo-pan-multi-p010") > test_display_mpo(&data, MPO_MULTI_PAN, DRM_FORMAT_P010, DISPLAYS_TO_TEST); > > + igt_describe("Multi MPO"); > + igt_subtest("multi-mpo") > + test_display_mpo(&data, MPO_MULTI_OVERLAY, DRM_FORMAT_NV12, 1); > + > igt_describe("MPO and scaling RGB primary plane"); > igt_subtest("mpo-scale-rgb") > test_display_mpo(&data, MPO_SCALE, DRM_FORMAT_XRGB8888, 1); ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test 2023-02-17 20:24 ` [igt-dev] [PATCH 1/2] " Leo Li @ 2023-02-17 20:43 ` Bhawanpreet Lakha 2023-03-13 16:32 ` Bhawanpreet Lakha 1 sibling, 0 replies; 18+ messages in thread From: Bhawanpreet Lakha @ 2023-02-17 20:43 UTC (permalink / raw) To: Leo Li, igt-dev, rodrigo.siqueira, harry.wentland, nicholas.kazlauskas [-- Attachment #1: Type: text/plain, Size: 10127 bytes --] On 2023-02-17 15:24, Leo Li wrote: > > > > On 2/13/23 13:16, Bhawanpreet Lakha wrote: >> [Why] >> Some of our ASICs support multiple overlay planes, so create >> a test to test them >> >> [How] >> Create a plane with two holes and fill them up with 2 overlay planes >> >> Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> >> Change-Id: If527d67ead59f64906a97c340845ac423d93a0aa >> --- >> tests/amdgpu/amd_plane.c | 128 ++++++++++++++++++++++++++++++++++++++- >> 1 file changed, 127 insertions(+), 1 deletion(-) >> >> diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c >> index b9eec677..d34cd1d9 100644 >> --- a/tests/amdgpu/amd_plane.c >> +++ b/tests/amdgpu/amd_plane.c >> @@ -42,6 +42,7 @@ typedef struct data { >> igt_plane_t *primary[MAX_PIPES]; >> igt_plane_t *cursor[MAX_PIPES]; >> igt_plane_t *overlay[MAX_PIPES]; >> + igt_plane_t *overlay2[MAX_PIPES]; >> igt_output_t *output[MAX_PIPES]; >> igt_pipe_t *pipe[MAX_PIPES]; >> igt_pipe_crc_t *pipe_crc[MAX_PIPES]; >> @@ -144,7 +145,8 @@ static void lut_free(lut_t *lut) >> enum test { >> MPO_SINGLE_PAN, >> MPO_MULTI_PAN, >> - MPO_SCALE >> + MPO_SCALE, >> + MPO_MULTI_OVERLAY >> }; >> static void test_init(data_t *data) >> @@ -159,6 +161,8 @@ static void test_init(data_t *data) >> data->pipe[i], DRM_PLANE_TYPE_PRIMARY); >> data->overlay[i] = igt_pipe_get_plane_type_index( >> data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 0); >> + data->overlay2[i] = igt_pipe_get_plane_type_index( >> + data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 1); >> data->cursor[i] = igt_pipe_get_plane_type( >> data->pipe[i], DRM_PLANE_TYPE_CURSOR); >> data->pipe_crc[i] = >> @@ -252,6 +256,7 @@ struct fbc { >> igt_fb_t ref_primary; >> igt_fb_t test_primary; >> igt_fb_t test_overlay; >> + igt_fb_t test_overlay2; >> igt_crc_t ref_crc; >> }; >> @@ -264,6 +269,115 @@ static void set_regamma_lut(data_t *data, >> lut_t const *lut, int n) >> size); >> } >> +/* >> + * Compares the result of white backgroud with white window with and >> without MPO >> + * >> + * Reference crc: >> + * Draws a White background of size (pw,ph). >> + * >> + * Test crc: >> + * Draws a White Overlay of size (pw,ph) then creates a cutout of >> size (w,h) at location (x1, y1) and (x2, y2) >> + * Draws a White Primary plane of size (w, h) at location (x1,y1) >> (under the overlay) >> + * Draws a White Overlay of size (w, h) at location (x2,y2) >> + * >> + * NOTE: The reason for using White+White is to speed up the crc >> (reuse the ref crc for all cases vs taking >> + * a ref crc per flip) >> + */ >> +static void test_plane2(data_t *data, int n, int x1, int y1, int x2, >> int y2, int w, int h, int pw, int ph, struct fbc *fbc){ >> + >> + igt_crc_t test_crc; >> + igt_display_t *display = &data->display; >> + >> + /* Reference: */ >> + >> + igt_plane_set_fb(data->primary[n], &fbc[n].ref_primary); >> + >> + igt_plane_set_position(data->primary[n], 0, 0); >> + igt_plane_set_size(data->primary[n], pw, ph); >> + >> + igt_display_commit_atomic(display, 0, 0); >> + > > Should ref_crc be collected here? reference is stored in &fbc[n].ref_crc inside the main function test_display_mpo(). The Other MPO tests had alot of iterations so the reference crc was saved before starting the tests. Since the setup code is the same for this test, its using the same logic. > >> + /* Test: */ >> + /* Draw a white overlay with two cutouts at (x1,y1) and (x2,y2) */ >> + draw_color_alpha(&fbc[n].test_overlay2, 0, 0, pw, ph, 1.0, 1.0, >> 1.0, 1.0); >> + draw_color_alpha(&fbc[n].test_overlay2, x1, y1, w, h, 0.0, 0.0, >> 0.0, 0.0); >> + draw_color_alpha(&fbc[n].test_overlay2, x2, y2, w, h, 0.0, 0.0, >> 0.0, 0.0); >> + >> + /* Draw a overlay to cover up one hole */ >> + draw_color_alpha(&fbc[n].test_overlay, 0, 0, pw, ph, 0.0, 0.0, >> 0.0, 0.0); >> + draw_color_alpha(&fbc[n].test_overlay, x2, y2, w, h, 1.0, 1.0, >> 1.0, 1.0); >> + >> + /* Draw a primary to cover up the other hole */ >> + draw_color_alpha(&fbc[n].test_primary, 0, 0, w, h, 0.0, 0.0, >> 0.0, 0.0); >> + draw_color_alpha(&fbc[n].test_primary, 0, 0, w, h, 1.0, 1.0, >> 1.0, 1.0); >> + >> + igt_plane_set_fb(data->primary[n], &fbc[n].test_primary); >> + igt_plane_set_fb(data->overlay[n], &fbc[n].test_overlay); >> + igt_plane_set_fb(data->overlay2[n], &fbc[n].test_overlay2); >> + >> + /* Move the primary to cover one of the holes*/ >> + igt_plane_set_position(data->primary[n], x1, y1); >> + igt_plane_set_size(data->primary[n], w, h); >> + >> + >> + igt_display_commit_atomic(display, 0, 0); >> + igt_pipe_crc_collect_crc(data->pipe_crc[n], &test_crc); >> + igt_plane_set_fb(data->overlay[n], NULL); >> + igt_plane_set_fb(data->overlay2[n], NULL); >> + >> + igt_assert_crc_equal(&fbc[n].ref_crc, &test_crc); >> + >> + /* Set window to white, this is to avoid flashing between >> black/white after each flip */ >> + draw_color_alpha(&fbc[n].ref_primary, 0, 0, w, h, 1.0, 1.0, 1.0, >> 1.00); >> + igt_plane_set_fb(data->primary[n], &fbc[n].ref_primary); >> + igt_plane_set_position(data->primary[n], 0, 0); >> + igt_plane_set_size(data->primary[n], pw, ph); >> + igt_display_commit_atomic(display, 0, 0); >> + >> + >> +} >> + >> +/* >> + * MPO_MULTI_OVERLAY: This test takes the plane sizes and assigns >> random position within the screen >> + * >> + * The test creates a white screen with 2 cutouts which are to be >> filled with 2 overlay planes. >> + * Testing multiple overlay planes >> + */ >> +static void test_multi_overlay(data_t *data, int display_count, int >> w, int h, struct fbc *fb) >> +{ >> + >> + int x1,x2,y1,y2; >> + >> + for (int n = 0; n < display_count; n++) { >> + >> + int pw = data->w[n]; >> + int ph = data->h[n]; >> + >> + for (int i = 0; i < 1; i++){ >> + >> + if (pw <= w && ph <= h) >> + break; >> + >> + srand(time(NULL)); >> + >> + /* Generate random x,y positions for two cutouts*/ >> + x1 = (rand() % (pw-w)); >> + y1 = (rand() % (ph-h)); >> + >> + x2 = (rand() % (pw-w)); >> + y2 = (rand() % (ph-h)); >> + > > I wonder if using random positions can cause hard-to-reproduce failures. > Is there something in particular being tested via rand, or can we use a > fixed set of positions similar to test_cursor_spots() in > kms_plane_cursor? > Thanks, > Leo No particular reason for using random positions, I will take a look at test_cursor_spots(). Thanks > >> + >> + test_plane2(data, n, x1, y1, x2, y2, w,h, pw, ph, fb); >> + >> + } >> + } >> + >> + return; >> + >> + >> +} >> + >> /* >> * Compares the result of white backgroud with white window with >> and without MPO >> * >> @@ -467,6 +581,10 @@ static void test_display_mpo(data_t *data, enum >> test test, uint32_t format, int >> test_init(data); >> + /* Skip test if we don't have 2 overlay planes */ >> + if (test == MPO_MULTI_OVERLAY) >> + igt_skip_on(!data->overlay2[0]); >> + >> /* Skip if there is less valid outputs than the required. */ >> for_each_connected_output(display, output) >> valid_outputs++; >> @@ -494,6 +612,7 @@ static void test_display_mpo(data_t *data, enum >> test test, uint32_t format, int >> igt_create_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, >> &fb[n].ref_primary); >> igt_create_color_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, >> 1.0, 1.0, 1.0, &fb[n].ref_primary); >> igt_create_fb(data->fd, w, h, DRM_FORMAT_ARGB8888, 0, >> &fb[n].test_overlay); >> + igt_create_fb(data->fd, w, h, DRM_FORMAT_ARGB8888, 0, >> &fb[n].test_overlay2); >> igt_plane_set_fb(data->primary[n], &fb[n].ref_primary); >> @@ -520,6 +639,8 @@ static void test_display_mpo(data_t *data, enum >> test test, uint32_t format, int >> if (test == MPO_SINGLE_PAN) >> test_panning_1_display(data, display_count, >> videos[i][0], videos[i][1], fb); >> + if (test == MPO_MULTI_OVERLAY) >> + test_multi_overlay(data, display_count, videos[i][0], >> videos[i][1], fb); >> if (test == MPO_MULTI_PAN) >> test_panning_2_display(data, videos[i][0], >> videos[i][1], fb); >> if(test == MPO_SCALE) >> @@ -536,6 +657,7 @@ static void test_display_mpo(data_t *data, enum >> test test, uint32_t format, int >> for (int n = 0; n < display_count; n++) { >> igt_remove_fb(data->fd, &fb[n].ref_primary); >> igt_remove_fb(data->fd, &fb[n].test_overlay); >> + igt_remove_fb(data->fd, &fb[n].test_overlay2); >> } >> } >> /* >> @@ -798,6 +920,10 @@ igt_main >> igt_subtest("mpo-pan-multi-p010") >> test_display_mpo(&data, MPO_MULTI_PAN, DRM_FORMAT_P010, >> DISPLAYS_TO_TEST); >> + igt_describe("Multi MPO"); >> + igt_subtest("multi-mpo") >> + test_display_mpo(&data, MPO_MULTI_OVERLAY, DRM_FORMAT_NV12, 1); >> + >> igt_describe("MPO and scaling RGB primary plane"); >> igt_subtest("mpo-scale-rgb") >> test_display_mpo(&data, MPO_SCALE, DRM_FORMAT_XRGB8888, 1); [-- Attachment #2: Type: text/html, Size: 18381 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test 2023-02-17 20:24 ` [igt-dev] [PATCH 1/2] " Leo Li 2023-02-17 20:43 ` Bhawanpreet Lakha @ 2023-03-13 16:32 ` Bhawanpreet Lakha 2023-03-15 20:30 ` Leo Li 1 sibling, 1 reply; 18+ messages in thread From: Bhawanpreet Lakha @ 2023-03-13 16:32 UTC (permalink / raw) To: igt-dev, rodrigo.siqueira, sunpeng.li, harry.wentland, nicholas.kazlauskas Cc: Bhawanpreet Lakha [Why] Some of our ASICs support multiple overlay planes, so create a test to test them [How] Create a plane with two holes and fill them up with 2 overlay planes *v2 create a overlap/non overlap test instead of using rand() Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> --- tests/amdgpu/amd_plane.c | 118 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 117 insertions(+), 1 deletion(-) diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c index b9eec677..3e8b1f31 100644 --- a/tests/amdgpu/amd_plane.c +++ b/tests/amdgpu/amd_plane.c @@ -42,6 +42,7 @@ typedef struct data { igt_plane_t *primary[MAX_PIPES]; igt_plane_t *cursor[MAX_PIPES]; igt_plane_t *overlay[MAX_PIPES]; + igt_plane_t *overlay2[MAX_PIPES]; igt_output_t *output[MAX_PIPES]; igt_pipe_t *pipe[MAX_PIPES]; igt_pipe_crc_t *pipe_crc[MAX_PIPES]; @@ -144,7 +145,8 @@ static void lut_free(lut_t *lut) enum test { MPO_SINGLE_PAN, MPO_MULTI_PAN, - MPO_SCALE + MPO_SCALE, + MPO_MULTI_OVERLAY }; static void test_init(data_t *data) @@ -159,6 +161,8 @@ static void test_init(data_t *data) data->pipe[i], DRM_PLANE_TYPE_PRIMARY); data->overlay[i] = igt_pipe_get_plane_type_index( data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 0); + data->overlay2[i] = igt_pipe_get_plane_type_index( + data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 1); data->cursor[i] = igt_pipe_get_plane_type( data->pipe[i], DRM_PLANE_TYPE_CURSOR); data->pipe_crc[i] = @@ -252,6 +256,7 @@ struct fbc { igt_fb_t ref_primary; igt_fb_t test_primary; igt_fb_t test_overlay; + igt_fb_t test_overlay2; igt_crc_t ref_crc; }; @@ -264,6 +269,105 @@ static void set_regamma_lut(data_t *data, lut_t const *lut, int n) size); } +/* + * Compares the result of white backgroud with white window with and without MPO + * + * Reference crc: + * Draws a White background of size (pw,ph). + * + * Test crc: + * Draws a White Overlay of size (pw,ph) then creates a cutout of size (w,h) at location (x1, y1) and (x2, y2) + * Draws a White Primary plane of size (w, h) at location (x1,y1) (under the overlay) + * Draws a White Overlay of size (w, h) at location (x2,y2) + * + * NOTE: The reason for using White+White is to speed up the crc (reuse the ref crc for all cases vs taking + * a ref crc per flip) + */ +static void test_plane2(data_t *data, int n, int x1, int y1, int x2, int y2, int w, int h, int pw, int ph, struct fbc *fbc){ + + igt_crc_t test_crc; + igt_display_t *display = &data->display; + + /* Reference: */ + + igt_plane_set_fb(data->primary[n], &fbc[n].ref_primary); + + igt_plane_set_position(data->primary[n], 0, 0); + igt_plane_set_size(data->primary[n], pw, ph); + + igt_display_commit_atomic(display, 0, 0); + + /* Test: */ + /* Draw a white overlay with two cutouts at (x1,y1) and (x2,y2) */ + draw_color_alpha(&fbc[n].test_overlay2, 0, 0, pw, ph, 1.0, 1.0, 1.0, 1.0); + draw_color_alpha(&fbc[n].test_overlay2, x1, y1, w, h, 0.0, 0.0, 0.0, 0.0); + draw_color_alpha(&fbc[n].test_overlay2, x2, y2, w, h, 0.0, 0.0, 0.0, 0.0); + + /* Draw a overlay to cover up one hole */ + draw_color_alpha(&fbc[n].test_overlay, 0, 0, pw, ph, 0.0, 0.0, 0.0, 0.0); + draw_color_alpha(&fbc[n].test_overlay, x2, y2, w, h, 1.0, 1.0, 1.0, 1.0); + + /* Draw a primary to cover up the other hole */ + draw_color_alpha(&fbc[n].test_primary, 0, 0, w, h, 0.0, 0.0, 0.0, 0.0); + draw_color_alpha(&fbc[n].test_primary, 0, 0, w, h, 1.0, 1.0, 1.0, 1.0); + + igt_plane_set_fb(data->primary[n], &fbc[n].test_primary); + igt_plane_set_fb(data->overlay[n], &fbc[n].test_overlay); + igt_plane_set_fb(data->overlay2[n], &fbc[n].test_overlay2); + + /* Move the primary to cover one of the holes*/ + igt_plane_set_position(data->primary[n], x1, y1); + igt_plane_set_size(data->primary[n], w, h); + + + igt_display_commit_atomic(display, 0, 0); + igt_pipe_crc_collect_crc(data->pipe_crc[n], &test_crc); + igt_plane_set_fb(data->overlay[n], NULL); + igt_plane_set_fb(data->overlay2[n], NULL); + + igt_assert_crc_equal(&fbc[n].ref_crc, &test_crc); + + /* Set window to white, this is to avoid flashing between black/white after each flip */ + draw_color_alpha(&fbc[n].ref_primary, 0, 0, w, h, 1.0, 1.0, 1.0, 1.00); + igt_plane_set_fb(data->primary[n], &fbc[n].ref_primary); + igt_plane_set_position(data->primary[n], 0, 0); + igt_plane_set_size(data->primary[n], pw, ph); + igt_display_commit_atomic(display, 0, 0); + + +} + +/* + * MPO_MULTI_OVERLAY: This test takes the plane sizes and assigns random position within the screen + * + * The test creates a white screen with 2 cutouts which are to be filled with 2 overlay planes. + * Testing multiple overlay planes + */ +static void test_multi_overlay(data_t *data, int display_count, int w, int h, struct fbc *fb) +{ + + for (int n = 0; n < display_count; n++) { + + int pw = data->w[n]; + int ph = data->h[n]; + + if (pw <= w && ph <= h) + break; + + /* Don't overlap the planes */ + test_plane2(data, n, 0, 0, pw - w, ph - h, w, h, pw, ph, fb); + + if (w/2 > pw - w || h/2 > ph - h) + break; + + /* Overlap the planes */ + test_plane2(data, n, 0, 0, w/2, h/2, w, h, pw, ph, fb); + } + + return; + +} + /* * Compares the result of white backgroud with white window with and without MPO * @@ -467,6 +571,10 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int test_init(data); + /* Skip test if we don't have 2 overlay planes */ + if (test == MPO_MULTI_OVERLAY) + igt_skip_on(!data->overlay2[0]); + /* Skip if there is less valid outputs than the required. */ for_each_connected_output(display, output) valid_outputs++; @@ -494,6 +602,7 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int igt_create_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, &fb[n].ref_primary); igt_create_color_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, 1.0, 1.0, 1.0, &fb[n].ref_primary); igt_create_fb(data->fd, w, h, DRM_FORMAT_ARGB8888, 0, &fb[n].test_overlay); + igt_create_fb(data->fd, w, h, DRM_FORMAT_ARGB8888, 0, &fb[n].test_overlay2); igt_plane_set_fb(data->primary[n], &fb[n].ref_primary); @@ -520,6 +629,8 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int if (test == MPO_SINGLE_PAN) test_panning_1_display(data, display_count, videos[i][0], videos[i][1], fb); + if (test == MPO_MULTI_OVERLAY) + test_multi_overlay(data, display_count, videos[i][0], videos[i][1], fb); if (test == MPO_MULTI_PAN) test_panning_2_display(data, videos[i][0], videos[i][1], fb); if(test == MPO_SCALE) @@ -536,6 +647,7 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int for (int n = 0; n < display_count; n++) { igt_remove_fb(data->fd, &fb[n].ref_primary); igt_remove_fb(data->fd, &fb[n].test_overlay); + igt_remove_fb(data->fd, &fb[n].test_overlay2); } } /* @@ -798,6 +910,10 @@ igt_main igt_subtest("mpo-pan-multi-p010") test_display_mpo(&data, MPO_MULTI_PAN, DRM_FORMAT_P010, DISPLAYS_TO_TEST); + igt_describe("Multi MPO"); + igt_subtest("multi-mpo") + test_display_mpo(&data, MPO_MULTI_OVERLAY, DRM_FORMAT_NV12, 1); + igt_describe("MPO and scaling RGB primary plane"); igt_subtest("mpo-scale-rgb") test_display_mpo(&data, MPO_SCALE, DRM_FORMAT_XRGB8888, 1); -- 2.25.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test 2023-03-13 16:32 ` Bhawanpreet Lakha @ 2023-03-15 20:30 ` Leo Li 2023-03-15 21:02 ` Bhawanpreet Lakha 2023-03-23 17:29 ` Bhawanpreet Lakha 0 siblings, 2 replies; 18+ messages in thread From: Leo Li @ 2023-03-15 20:30 UTC (permalink / raw) To: Bhawanpreet Lakha, igt-dev, rodrigo.siqueira, harry.wentland, nicholas.kazlauskas On 3/13/23 12:32, Bhawanpreet Lakha wrote: > [Why] > Some of our ASICs support multiple overlay planes, so create > a test to test them > > [How] > Create a plane with two holes and fill them up with 2 overlay planes > > *v2 > create a overlap/non overlap test instead of using rand() > > Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> > --- > tests/amdgpu/amd_plane.c | 118 ++++++++++++++++++++++++++++++++++++++- > 1 file changed, 117 insertions(+), 1 deletion(-) > > diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c > index b9eec677..3e8b1f31 100644 > --- a/tests/amdgpu/amd_plane.c > +++ b/tests/amdgpu/amd_plane.c > @@ -42,6 +42,7 @@ typedef struct data { > igt_plane_t *primary[MAX_PIPES]; > igt_plane_t *cursor[MAX_PIPES]; > igt_plane_t *overlay[MAX_PIPES]; > + igt_plane_t *overlay2[MAX_PIPES]; > igt_output_t *output[MAX_PIPES]; > igt_pipe_t *pipe[MAX_PIPES]; > igt_pipe_crc_t *pipe_crc[MAX_PIPES]; > @@ -144,7 +145,8 @@ static void lut_free(lut_t *lut) > enum test { > MPO_SINGLE_PAN, > MPO_MULTI_PAN, > - MPO_SCALE > + MPO_SCALE, > + MPO_MULTI_OVERLAY > }; > > static void test_init(data_t *data) > @@ -159,6 +161,8 @@ static void test_init(data_t *data) > data->pipe[i], DRM_PLANE_TYPE_PRIMARY); > data->overlay[i] = igt_pipe_get_plane_type_index( > data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 0); > + data->overlay2[i] = igt_pipe_get_plane_type_index( > + data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 1); > data->cursor[i] = igt_pipe_get_plane_type( > data->pipe[i], DRM_PLANE_TYPE_CURSOR); > data->pipe_crc[i] = > @@ -252,6 +256,7 @@ struct fbc { > igt_fb_t ref_primary; > igt_fb_t test_primary; > igt_fb_t test_overlay; > + igt_fb_t test_overlay2; > igt_crc_t ref_crc; > }; > > @@ -264,6 +269,105 @@ static void set_regamma_lut(data_t *data, lut_t const *lut, int n) > size); > } > > +/* > + * Compares the result of white backgroud with white window with and without MPO > + * > + * Reference crc: > + * Draws a White background of size (pw,ph). > + * > + * Test crc: > + * Draws a White Overlay of size (pw,ph) then creates a cutout of size (w,h) at location (x1, y1) and (x2, y2) > + * Draws a White Primary plane of size (w, h) at location (x1,y1) (under the overlay) > + * Draws a White Overlay of size (w, h) at location (x2,y2) > + * > + * NOTE: The reason for using White+White is to speed up the crc (reuse the ref crc for all cases vs taking > + * a ref crc per flip) > + */ > +static void test_plane2(data_t *data, int n, int x1, int y1, int x2, int y2, int w, int h, int pw, int ph, struct fbc *fbc){ > + > + igt_crc_t test_crc; > + igt_display_t *display = &data->display; > + > + /* Reference: */ > + > + igt_plane_set_fb(data->primary[n], &fbc[n].ref_primary); > + > + igt_plane_set_position(data->primary[n], 0, 0); > + igt_plane_set_size(data->primary[n], pw, ph); > + > + igt_display_commit_atomic(display, 0, 0); > + > + /* Test: */ > + /* Draw a white overlay with two cutouts at (x1,y1) and (x2,y2) */ > + draw_color_alpha(&fbc[n].test_overlay2, 0, 0, pw, ph, 1.0, 1.0, 1.0, 1.0); > + draw_color_alpha(&fbc[n].test_overlay2, x1, y1, w, h, 0.0, 0.0, 0.0, 0.0); > + draw_color_alpha(&fbc[n].test_overlay2, x2, y2, w, h, 0.0, 0.0, 0.0, 0.0); > + > + /* Draw a overlay to cover up one hole */ > + draw_color_alpha(&fbc[n].test_overlay, 0, 0, pw, ph, 0.0, 0.0, 0.0, 0.0); > + draw_color_alpha(&fbc[n].test_overlay, x2, y2, w, h, 1.0, 1.0, 1.0, 1.0); > + > + /* Draw a primary to cover up the other hole */ > + draw_color_alpha(&fbc[n].test_primary, 0, 0, w, h, 0.0, 0.0, 0.0, 0.0); > + draw_color_alpha(&fbc[n].test_primary, 0, 0, w, h, 1.0, 1.0, 1.0, 1.0); > + > + igt_plane_set_fb(data->primary[n], &fbc[n].test_primary); > + igt_plane_set_fb(data->overlay[n], &fbc[n].test_overlay); > + igt_plane_set_fb(data->overlay2[n], &fbc[n].test_overlay2); > + > + /* Move the primary to cover one of the holes*/ > + igt_plane_set_position(data->primary[n], x1, y1); > + igt_plane_set_size(data->primary[n], w, h); Hi Bhawan, For the primary plane, it looks like we're drawing at (0,0), then moving to (x1, y1). For the overlay plane, we're drawing directly at (x2, y2) without moving the plane. Is that on purpose? > + > + > + igt_display_commit_atomic(display, 0, 0); > + igt_pipe_crc_collect_crc(data->pipe_crc[n], &test_crc); > + igt_plane_set_fb(data->overlay[n], NULL); > + igt_plane_set_fb(data->overlay2[n], NULL); > + > + igt_assert_crc_equal(&fbc[n].ref_crc, &test_crc); > + > + /* Set window to white, this is to avoid flashing between black/white after each flip */ > + draw_color_alpha(&fbc[n].ref_primary, 0, 0, w, h, 1.0, 1.0, 1.0, 1.00); > + igt_plane_set_fb(data->primary[n], &fbc[n].ref_primary); > + igt_plane_set_position(data->primary[n], 0, 0); > + igt_plane_set_size(data->primary[n], pw, ph); > + igt_display_commit_atomic(display, 0, 0); > + > + > +} > + > +/* > + * MPO_MULTI_OVERLAY: This test takes the plane sizes and assigns random position within the screen Drop "random" > + * > + * The test creates a white screen with 2 cutouts which are to be filled with 2 overlay planes. > + * Testing multiple overlay planes > + */ > +static void test_multi_overlay(data_t *data, int display_count, int w, int h, struct fbc *fb) > +{ > + > + for (int n = 0; n < display_count; n++) { > + > + int pw = data->w[n]; > + int ph = data->h[n]; > + > + if (pw <= w && ph <= h) > + break; > + > + /* Don't overlap the planes */ > + test_plane2(data, n, 0, 0, pw - w, ph - h, w, h, pw, ph, fb); If my mental plotter is working, the overlay and primary can overlap in the center if (2*w > pw && 2*h > ph). I suppose that's ok as long as the desired case (top and bottom corner positioning) is tested. Thanks, Leo > + > + if (w/2 > pw - w || h/2 > ph - h) > + break; > + > + /* Overlap the planes */ > + test_plane2(data, n, 0, 0, w/2, h/2, w, h, pw, ph, fb); > + } > + > + return; > + > +} > + > /* > * Compares the result of white backgroud with white window with and without MPO > * > @@ -467,6 +571,10 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int > > test_init(data); > > + /* Skip test if we don't have 2 overlay planes */ > + if (test == MPO_MULTI_OVERLAY) > + igt_skip_on(!data->overlay2[0]); > + > /* Skip if there is less valid outputs than the required. */ > for_each_connected_output(display, output) > valid_outputs++; > @@ -494,6 +602,7 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int > igt_create_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, &fb[n].ref_primary); > igt_create_color_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, 1.0, 1.0, 1.0, &fb[n].ref_primary); > igt_create_fb(data->fd, w, h, DRM_FORMAT_ARGB8888, 0, &fb[n].test_overlay); > + igt_create_fb(data->fd, w, h, DRM_FORMAT_ARGB8888, 0, &fb[n].test_overlay2); > > igt_plane_set_fb(data->primary[n], &fb[n].ref_primary); > > @@ -520,6 +629,8 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int > > if (test == MPO_SINGLE_PAN) > test_panning_1_display(data, display_count, videos[i][0], videos[i][1], fb); > + if (test == MPO_MULTI_OVERLAY) > + test_multi_overlay(data, display_count, videos[i][0], videos[i][1], fb); > if (test == MPO_MULTI_PAN) > test_panning_2_display(data, videos[i][0], videos[i][1], fb); > if(test == MPO_SCALE) > @@ -536,6 +647,7 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int > for (int n = 0; n < display_count; n++) { > igt_remove_fb(data->fd, &fb[n].ref_primary); > igt_remove_fb(data->fd, &fb[n].test_overlay); > + igt_remove_fb(data->fd, &fb[n].test_overlay2); > } > } > /* > @@ -798,6 +910,10 @@ igt_main > igt_subtest("mpo-pan-multi-p010") > test_display_mpo(&data, MPO_MULTI_PAN, DRM_FORMAT_P010, DISPLAYS_TO_TEST); > > + igt_describe("Multi MPO"); > + igt_subtest("multi-mpo") > + test_display_mpo(&data, MPO_MULTI_OVERLAY, DRM_FORMAT_NV12, 1); > + > igt_describe("MPO and scaling RGB primary plane"); > igt_subtest("mpo-scale-rgb") > test_display_mpo(&data, MPO_SCALE, DRM_FORMAT_XRGB8888, 1); ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test 2023-03-15 20:30 ` Leo Li @ 2023-03-15 21:02 ` Bhawanpreet Lakha 2023-03-23 17:29 ` Bhawanpreet Lakha 1 sibling, 0 replies; 18+ messages in thread From: Bhawanpreet Lakha @ 2023-03-15 21:02 UTC (permalink / raw) To: Leo Li, igt-dev, rodrigo.siqueira, harry.wentland, nicholas.kazlauskas On 2023-03-15 16:30, Leo Li wrote: > > > On 3/13/23 12:32, Bhawanpreet Lakha wrote: >> [Why] >> Some of our ASICs support multiple overlay planes, so create >> a test to test them >> >> [How] >> Create a plane with two holes and fill them up with 2 overlay planes >> >> *v2 >> create a overlap/non overlap test instead of using rand() >> >> Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> >> --- >> tests/amdgpu/amd_plane.c | 118 ++++++++++++++++++++++++++++++++++++++- >> 1 file changed, 117 insertions(+), 1 deletion(-) >> >> diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c >> index b9eec677..3e8b1f31 100644 >> --- a/tests/amdgpu/amd_plane.c >> +++ b/tests/amdgpu/amd_plane.c >> @@ -42,6 +42,7 @@ typedef struct data { >> igt_plane_t *primary[MAX_PIPES]; >> igt_plane_t *cursor[MAX_PIPES]; >> igt_plane_t *overlay[MAX_PIPES]; >> + igt_plane_t *overlay2[MAX_PIPES]; >> igt_output_t *output[MAX_PIPES]; >> igt_pipe_t *pipe[MAX_PIPES]; >> igt_pipe_crc_t *pipe_crc[MAX_PIPES]; >> @@ -144,7 +145,8 @@ static void lut_free(lut_t *lut) >> enum test { >> MPO_SINGLE_PAN, >> MPO_MULTI_PAN, >> - MPO_SCALE >> + MPO_SCALE, >> + MPO_MULTI_OVERLAY >> }; >> static void test_init(data_t *data) >> @@ -159,6 +161,8 @@ static void test_init(data_t *data) >> data->pipe[i], DRM_PLANE_TYPE_PRIMARY); >> data->overlay[i] = igt_pipe_get_plane_type_index( >> data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 0); >> + data->overlay2[i] = igt_pipe_get_plane_type_index( >> + data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 1); >> data->cursor[i] = igt_pipe_get_plane_type( >> data->pipe[i], DRM_PLANE_TYPE_CURSOR); >> data->pipe_crc[i] = >> @@ -252,6 +256,7 @@ struct fbc { >> igt_fb_t ref_primary; >> igt_fb_t test_primary; >> igt_fb_t test_overlay; >> + igt_fb_t test_overlay2; >> igt_crc_t ref_crc; >> }; >> @@ -264,6 +269,105 @@ static void set_regamma_lut(data_t *data, >> lut_t const *lut, int n) >> size); >> } >> +/* >> + * Compares the result of white backgroud with white window with and >> without MPO >> + * >> + * Reference crc: >> + * Draws a White background of size (pw,ph). >> + * >> + * Test crc: >> + * Draws a White Overlay of size (pw,ph) then creates a cutout of >> size (w,h) at location (x1, y1) and (x2, y2) >> + * Draws a White Primary plane of size (w, h) at location (x1,y1) >> (under the overlay) >> + * Draws a White Overlay of size (w, h) at location (x2,y2) >> + * >> + * NOTE: The reason for using White+White is to speed up the crc >> (reuse the ref crc for all cases vs taking >> + * a ref crc per flip) >> + */ >> +static void test_plane2(data_t *data, int n, int x1, int y1, int x2, >> int y2, int w, int h, int pw, int ph, struct fbc *fbc){ >> + >> + igt_crc_t test_crc; >> + igt_display_t *display = &data->display; >> + >> + /* Reference: */ >> + >> + igt_plane_set_fb(data->primary[n], &fbc[n].ref_primary); >> + >> + igt_plane_set_position(data->primary[n], 0, 0); >> + igt_plane_set_size(data->primary[n], pw, ph); >> + >> + igt_display_commit_atomic(display, 0, 0); >> + >> + /* Test: */ >> + /* Draw a white overlay with two cutouts at (x1,y1) and (x2,y2) */ >> + draw_color_alpha(&fbc[n].test_overlay2, 0, 0, pw, ph, 1.0, 1.0, >> 1.0, 1.0); >> + draw_color_alpha(&fbc[n].test_overlay2, x1, y1, w, h, 0.0, 0.0, >> 0.0, 0.0); >> + draw_color_alpha(&fbc[n].test_overlay2, x2, y2, w, h, 0.0, 0.0, >> 0.0, 0.0); >> + >> + /* Draw a overlay to cover up one hole */ >> + draw_color_alpha(&fbc[n].test_overlay, 0, 0, pw, ph, 0.0, 0.0, >> 0.0, 0.0); >> + draw_color_alpha(&fbc[n].test_overlay, x2, y2, w, h, 1.0, 1.0, >> 1.0, 1.0); >> + >> + /* Draw a primary to cover up the other hole */ >> + draw_color_alpha(&fbc[n].test_primary, 0, 0, w, h, 0.0, 0.0, >> 0.0, 0.0); >> + draw_color_alpha(&fbc[n].test_primary, 0, 0, w, h, 1.0, 1.0, >> 1.0, 1.0); >> + >> + igt_plane_set_fb(data->primary[n], &fbc[n].test_primary); >> + igt_plane_set_fb(data->overlay[n], &fbc[n].test_overlay); >> + igt_plane_set_fb(data->overlay2[n], &fbc[n].test_overlay2); >> + >> + /* Move the primary to cover one of the holes*/ >> + igt_plane_set_position(data->primary[n], x1, y1); >> + igt_plane_set_size(data->primary[n], w, h); > > Hi Bhawan, > > For the primary plane, it looks like we're drawing at (0,0), then moving > to (x1, y1). For the overlay plane, we're drawing directly at (x2, y2) > without moving the plane. Is that on purpose? Its done on purpose since the code is shared between normal MPO test the second overlay is also full screen. Would need to redo the testing logic to fit this in. Since this is mostly just a basic "multi mpo works" test, its good enough. > >> + >> + >> + igt_display_commit_atomic(display, 0, 0); >> + igt_pipe_crc_collect_crc(data->pipe_crc[n], &test_crc); >> + igt_plane_set_fb(data->overlay[n], NULL); >> + igt_plane_set_fb(data->overlay2[n], NULL); >> + >> + igt_assert_crc_equal(&fbc[n].ref_crc, &test_crc); >> + >> + /* Set window to white, this is to avoid flashing between >> black/white after each flip */ >> + draw_color_alpha(&fbc[n].ref_primary, 0, 0, w, h, 1.0, 1.0, 1.0, >> 1.00); >> + igt_plane_set_fb(data->primary[n], &fbc[n].ref_primary); >> + igt_plane_set_position(data->primary[n], 0, 0); >> + igt_plane_set_size(data->primary[n], pw, ph); >> + igt_display_commit_atomic(display, 0, 0); >> + >> + >> +} >> + >> +/* >> + * MPO_MULTI_OVERLAY: This test takes the plane sizes and assigns >> random position within the screen > > Drop "random" > >> + * >> + * The test creates a white screen with 2 cutouts which are to be >> filled with 2 overlay planes. >> + * Testing multiple overlay planes >> + */ >> +static void test_multi_overlay(data_t *data, int display_count, int >> w, int h, struct fbc *fb) >> +{ >> + >> + for (int n = 0; n < display_count; n++) { >> + >> + int pw = data->w[n]; >> + int ph = data->h[n]; >> + >> + if (pw <= w && ph <= h) >> + break; >> + >> + /* Don't overlap the planes */ >> + test_plane2(data, n, 0, 0, pw - w, ph - h, w, h, pw, ph, fb); > > If my mental plotter is working, the overlay and primary can overlap in > the center if (2*w > pw && 2*h > ph). I suppose that's ok as long as the > desired case (top and bottom corner positioning) is tested. > > Thanks, > Leo > >> + >> + if (w/2 > pw - w || h/2 > ph - h) >> + break; >> + >> + /* Overlap the planes */ >> + test_plane2(data, n, 0, 0, w/2, h/2, w, h, pw, ph, fb); >> + } >> + >> + return; >> + >> +} >> + >> /* >> * Compares the result of white backgroud with white window with >> and without MPO >> * >> @@ -467,6 +571,10 @@ static void test_display_mpo(data_t *data, enum >> test test, uint32_t format, int >> test_init(data); >> + /* Skip test if we don't have 2 overlay planes */ >> + if (test == MPO_MULTI_OVERLAY) >> + igt_skip_on(!data->overlay2[0]); >> + >> /* Skip if there is less valid outputs than the required. */ >> for_each_connected_output(display, output) >> valid_outputs++; >> @@ -494,6 +602,7 @@ static void test_display_mpo(data_t *data, enum >> test test, uint32_t format, int >> igt_create_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, >> &fb[n].ref_primary); >> igt_create_color_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, >> 1.0, 1.0, 1.0, &fb[n].ref_primary); >> igt_create_fb(data->fd, w, h, DRM_FORMAT_ARGB8888, 0, >> &fb[n].test_overlay); >> + igt_create_fb(data->fd, w, h, DRM_FORMAT_ARGB8888, 0, >> &fb[n].test_overlay2); >> igt_plane_set_fb(data->primary[n], &fb[n].ref_primary); >> @@ -520,6 +629,8 @@ static void test_display_mpo(data_t *data, enum >> test test, uint32_t format, int >> if (test == MPO_SINGLE_PAN) >> test_panning_1_display(data, display_count, >> videos[i][0], videos[i][1], fb); >> + if (test == MPO_MULTI_OVERLAY) >> + test_multi_overlay(data, display_count, videos[i][0], >> videos[i][1], fb); >> if (test == MPO_MULTI_PAN) >> test_panning_2_display(data, videos[i][0], >> videos[i][1], fb); >> if(test == MPO_SCALE) >> @@ -536,6 +647,7 @@ static void test_display_mpo(data_t *data, enum >> test test, uint32_t format, int >> for (int n = 0; n < display_count; n++) { >> igt_remove_fb(data->fd, &fb[n].ref_primary); >> igt_remove_fb(data->fd, &fb[n].test_overlay); >> + igt_remove_fb(data->fd, &fb[n].test_overlay2); >> } >> } >> /* >> @@ -798,6 +910,10 @@ igt_main >> igt_subtest("mpo-pan-multi-p010") >> test_display_mpo(&data, MPO_MULTI_PAN, DRM_FORMAT_P010, >> DISPLAYS_TO_TEST); >> + igt_describe("Multi MPO"); >> + igt_subtest("multi-mpo") >> + test_display_mpo(&data, MPO_MULTI_OVERLAY, DRM_FORMAT_NV12, 1); >> + >> igt_describe("MPO and scaling RGB primary plane"); >> igt_subtest("mpo-scale-rgb") >> test_display_mpo(&data, MPO_SCALE, DRM_FORMAT_XRGB8888, 1); ^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test 2023-03-15 20:30 ` Leo Li 2023-03-15 21:02 ` Bhawanpreet Lakha @ 2023-03-23 17:29 ` Bhawanpreet Lakha 2023-03-23 17:36 ` Leo Li 1 sibling, 1 reply; 18+ messages in thread From: Bhawanpreet Lakha @ 2023-03-23 17:29 UTC (permalink / raw) To: igt-dev, rodrigo.siqueira, sunpeng.li, harry.wentland, nicholas.kazlauskas Cc: Bhawanpreet Lakha [Why] Some of our ASICs support multiple overlay planes, so create a test to test them [How] Create a plane with two holes and fill them up with 2 overlay planes *v2 - Create a overlap/non overlap test instead of using rand() - Update test description - Formatting fixes Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> --- tests/amdgpu/amd_plane.c | 115 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 114 insertions(+), 1 deletion(-) diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c index b9eec677..4115d692 100644 --- a/tests/amdgpu/amd_plane.c +++ b/tests/amdgpu/amd_plane.c @@ -42,6 +42,7 @@ typedef struct data { igt_plane_t *primary[MAX_PIPES]; igt_plane_t *cursor[MAX_PIPES]; igt_plane_t *overlay[MAX_PIPES]; + igt_plane_t *overlay2[MAX_PIPES]; igt_output_t *output[MAX_PIPES]; igt_pipe_t *pipe[MAX_PIPES]; igt_pipe_crc_t *pipe_crc[MAX_PIPES]; @@ -144,7 +145,8 @@ static void lut_free(lut_t *lut) enum test { MPO_SINGLE_PAN, MPO_MULTI_PAN, - MPO_SCALE + MPO_SCALE, + MPO_MULTI_OVERLAY }; static void test_init(data_t *data) @@ -159,6 +161,8 @@ static void test_init(data_t *data) data->pipe[i], DRM_PLANE_TYPE_PRIMARY); data->overlay[i] = igt_pipe_get_plane_type_index( data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 0); + data->overlay2[i] = igt_pipe_get_plane_type_index( + data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 1); data->cursor[i] = igt_pipe_get_plane_type( data->pipe[i], DRM_PLANE_TYPE_CURSOR); data->pipe_crc[i] = @@ -252,6 +256,7 @@ struct fbc { igt_fb_t ref_primary; igt_fb_t test_primary; igt_fb_t test_overlay; + igt_fb_t test_overlay2; igt_crc_t ref_crc; }; @@ -264,6 +269,102 @@ static void set_regamma_lut(data_t *data, lut_t const *lut, int n) size); } +/* + * Compares the result of white background with white window with and without MPO + * + * Reference crc: + * Draws a White background of size (pw,ph). + * + * Test crc: + * Draws a White Overlay of size (pw,ph) then creates a cutout of size (w,h) at location (x1, y1) and (x2, y2) + * Draws a White Primary plane of size (w, h) at location (x1,y1) (under the overlay) + * Draws a White Overlay of size (w, h) at location (x2,y2) + * + * NOTE: The reason for using White+White is to speed up the crc (reuse the ref crc for all cases vs taking + * a ref crc per flip) + */ +static void test_plane2(data_t *data, int n, int x1, int y1, int x2, int y2, int w, int h, int pw, int ph, struct fbc *fbc) +{ + + igt_crc_t test_crc; + igt_display_t *display = &data->display; + + /* Reference: */ + + igt_plane_set_fb(data->primary[n], &fbc[n].ref_primary); + + igt_plane_set_position(data->primary[n], 0, 0); + igt_plane_set_size(data->primary[n], pw, ph); + + igt_display_commit_atomic(display, 0, 0); + + /* Test: */ + /* Draw a white overlay with two cutouts at (x1,y1) and (x2,y2) */ + draw_color_alpha(&fbc[n].test_overlay2, 0, 0, pw, ph, 1.0, 1.0, 1.0, 1.0); + draw_color_alpha(&fbc[n].test_overlay2, x1, y1, w, h, 0.0, 0.0, 0.0, 0.0); + draw_color_alpha(&fbc[n].test_overlay2, x2, y2, w, h, 0.0, 0.0, 0.0, 0.0); + + /* Draw a overlay to cover up one hole */ + draw_color_alpha(&fbc[n].test_overlay, 0, 0, pw, ph, 0.0, 0.0, 0.0, 0.0); + draw_color_alpha(&fbc[n].test_overlay, x2, y2, w, h, 1.0, 1.0, 1.0, 1.0); + + /* Draw a primary to cover up the other hole */ + draw_color_alpha(&fbc[n].test_primary, 0, 0, w, h, 0.0, 0.0, 0.0, 0.0); + draw_color_alpha(&fbc[n].test_primary, 0, 0, w, h, 1.0, 1.0, 1.0, 1.0); + + igt_plane_set_fb(data->primary[n], &fbc[n].test_primary); + igt_plane_set_fb(data->overlay[n], &fbc[n].test_overlay); + igt_plane_set_fb(data->overlay2[n], &fbc[n].test_overlay2); + + /* Move the primary to cover one of the holes*/ + igt_plane_set_position(data->primary[n], x1, y1); + igt_plane_set_size(data->primary[n], w, h); + + + igt_display_commit_atomic(display, 0, 0); + igt_pipe_crc_collect_crc(data->pipe_crc[n], &test_crc); + igt_plane_set_fb(data->overlay[n], NULL); + igt_plane_set_fb(data->overlay2[n], NULL); + + igt_assert_crc_equal(&fbc[n].ref_crc, &test_crc); + + /* Set window to white, this is to avoid flashing between black/white after each flip */ + draw_color_alpha(&fbc[n].ref_primary, 0, 0, w, h, 1.0, 1.0, 1.0, 1.00); + igt_plane_set_fb(data->primary[n], &fbc[n].ref_primary); + igt_plane_set_position(data->primary[n], 0, 0); + igt_plane_set_size(data->primary[n], pw, ph); + igt_display_commit_atomic(display, 0, 0); +} + +/* + * MPO_MULTI_OVERLAY: This test takes the plane sizes and assigns random position within the screen + * + * The test creates a white screen with 2 cutouts which are to be filled with 2 overlay planes. + * Testing multiple overlay planes + */ +static void test_multi_overlay(data_t *data, int display_count, int w, int h, struct fbc *fb) +{ + + for (int n = 0; n < display_count; n++) { + + int pw = data->w[n]; + int ph = data->h[n]; + + if (pw <= w && ph <= h) + break; + + /* Don't overlap the planes */ + test_plane2(data, n, 0, 0, pw - w, ph - h, w, h, pw, ph, fb); + + if (w/2 > pw - w || h/2 > ph - h) + break; + + /* Overlap the planes */ + test_plane2(data, n, 0, 0, w/2, h/2, w, h, pw, ph, fb); + } + +} + /* * Compares the result of white backgroud with white window with and without MPO * @@ -467,6 +568,10 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int test_init(data); + /* Skip test if we don't have 2 overlay planes */ + if (test == MPO_MULTI_OVERLAY) + igt_skip_on(!data->overlay2[0]); + /* Skip if there is less valid outputs than the required. */ for_each_connected_output(display, output) valid_outputs++; @@ -494,6 +599,7 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int igt_create_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, &fb[n].ref_primary); igt_create_color_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, 1.0, 1.0, 1.0, &fb[n].ref_primary); igt_create_fb(data->fd, w, h, DRM_FORMAT_ARGB8888, 0, &fb[n].test_overlay); + igt_create_fb(data->fd, w, h, DRM_FORMAT_ARGB8888, 0, &fb[n].test_overlay2); igt_plane_set_fb(data->primary[n], &fb[n].ref_primary); @@ -520,6 +626,8 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int if (test == MPO_SINGLE_PAN) test_panning_1_display(data, display_count, videos[i][0], videos[i][1], fb); + if (test == MPO_MULTI_OVERLAY) + test_multi_overlay(data, display_count, videos[i][0], videos[i][1], fb); if (test == MPO_MULTI_PAN) test_panning_2_display(data, videos[i][0], videos[i][1], fb); if(test == MPO_SCALE) @@ -536,6 +644,7 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int for (int n = 0; n < display_count; n++) { igt_remove_fb(data->fd, &fb[n].ref_primary); igt_remove_fb(data->fd, &fb[n].test_overlay); + igt_remove_fb(data->fd, &fb[n].test_overlay2); } } /* @@ -798,6 +907,10 @@ igt_main igt_subtest("mpo-pan-multi-p010") test_display_mpo(&data, MPO_MULTI_PAN, DRM_FORMAT_P010, DISPLAYS_TO_TEST); + igt_describe("MPO with 2 overlay planes and a primary plane"); + igt_subtest("multi-overlay") + test_display_mpo(&data, MPO_MULTI_OVERLAY, DRM_FORMAT_NV12, 1); + igt_describe("MPO and scaling RGB primary plane"); igt_subtest("mpo-scale-rgb") test_display_mpo(&data, MPO_SCALE, DRM_FORMAT_XRGB8888, 1); -- 2.25.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test 2023-03-23 17:29 ` Bhawanpreet Lakha @ 2023-03-23 17:36 ` Leo Li 0 siblings, 0 replies; 18+ messages in thread From: Leo Li @ 2023-03-23 17:36 UTC (permalink / raw) To: Bhawanpreet Lakha, igt-dev, rodrigo.siqueira, harry.wentland, nicholas.kazlauskas On 3/23/23 13:29, Bhawanpreet Lakha wrote: > [Why] > Some of our ASICs support multiple overlay planes, so create > a test to test them > > [How] > Create a plane with two holes and fill them up with 2 overlay planes > > *v2 > - Create a overlap/non overlap test instead of using rand() > - Update test description > - Formatting fixes > > Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> > --- > tests/amdgpu/amd_plane.c | 115 ++++++++++++++++++++++++++++++++++++++- > 1 file changed, 114 insertions(+), 1 deletion(-) > > diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c > index b9eec677..4115d692 100644 > --- a/tests/amdgpu/amd_plane.c > +++ b/tests/amdgpu/amd_plane.c > @@ -42,6 +42,7 @@ typedef struct data { > igt_plane_t *primary[MAX_PIPES]; > igt_plane_t *cursor[MAX_PIPES]; > igt_plane_t *overlay[MAX_PIPES]; > + igt_plane_t *overlay2[MAX_PIPES]; > igt_output_t *output[MAX_PIPES]; > igt_pipe_t *pipe[MAX_PIPES]; > igt_pipe_crc_t *pipe_crc[MAX_PIPES]; > @@ -144,7 +145,8 @@ static void lut_free(lut_t *lut) > enum test { > MPO_SINGLE_PAN, > MPO_MULTI_PAN, > - MPO_SCALE > + MPO_SCALE, > + MPO_MULTI_OVERLAY > }; > > static void test_init(data_t *data) > @@ -159,6 +161,8 @@ static void test_init(data_t *data) > data->pipe[i], DRM_PLANE_TYPE_PRIMARY); > data->overlay[i] = igt_pipe_get_plane_type_index( > data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 0); > + data->overlay2[i] = igt_pipe_get_plane_type_index( > + data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 1); > data->cursor[i] = igt_pipe_get_plane_type( > data->pipe[i], DRM_PLANE_TYPE_CURSOR); > data->pipe_crc[i] = > @@ -252,6 +256,7 @@ struct fbc { > igt_fb_t ref_primary; > igt_fb_t test_primary; > igt_fb_t test_overlay; > + igt_fb_t test_overlay2; > igt_crc_t ref_crc; > }; > > @@ -264,6 +269,102 @@ static void set_regamma_lut(data_t *data, lut_t const *lut, int n) > size); > } > > +/* > + * Compares the result of white background with white window with and without MPO > + * > + * Reference crc: > + * Draws a White background of size (pw,ph). > + * > + * Test crc: > + * Draws a White Overlay of size (pw,ph) then creates a cutout of size (w,h) at location (x1, y1) and (x2, y2) > + * Draws a White Primary plane of size (w, h) at location (x1,y1) (under the overlay) > + * Draws a White Overlay of size (w, h) at location (x2,y2) > + * > + * NOTE: The reason for using White+White is to speed up the crc (reuse the ref crc for all cases vs taking > + * a ref crc per flip) > + */ > +static void test_plane2(data_t *data, int n, int x1, int y1, int x2, int y2, int w, int h, int pw, int ph, struct fbc *fbc) > +{ > + > + igt_crc_t test_crc; > + igt_display_t *display = &data->display; > + > + /* Reference: */ > + > + igt_plane_set_fb(data->primary[n], &fbc[n].ref_primary); > + > + igt_plane_set_position(data->primary[n], 0, 0); > + igt_plane_set_size(data->primary[n], pw, ph); > + > + igt_display_commit_atomic(display, 0, 0); > + > + /* Test: */ > + /* Draw a white overlay with two cutouts at (x1,y1) and (x2,y2) */ > + draw_color_alpha(&fbc[n].test_overlay2, 0, 0, pw, ph, 1.0, 1.0, 1.0, 1.0); > + draw_color_alpha(&fbc[n].test_overlay2, x1, y1, w, h, 0.0, 0.0, 0.0, 0.0); > + draw_color_alpha(&fbc[n].test_overlay2, x2, y2, w, h, 0.0, 0.0, 0.0, 0.0); > + > + /* Draw a overlay to cover up one hole */ > + draw_color_alpha(&fbc[n].test_overlay, 0, 0, pw, ph, 0.0, 0.0, 0.0, 0.0); > + draw_color_alpha(&fbc[n].test_overlay, x2, y2, w, h, 1.0, 1.0, 1.0, 1.0); > + > + /* Draw a primary to cover up the other hole */ > + draw_color_alpha(&fbc[n].test_primary, 0, 0, w, h, 0.0, 0.0, 0.0, 0.0); > + draw_color_alpha(&fbc[n].test_primary, 0, 0, w, h, 1.0, 1.0, 1.0, 1.0); > + > + igt_plane_set_fb(data->primary[n], &fbc[n].test_primary); > + igt_plane_set_fb(data->overlay[n], &fbc[n].test_overlay); > + igt_plane_set_fb(data->overlay2[n], &fbc[n].test_overlay2); > + > + /* Move the primary to cover one of the holes*/ > + igt_plane_set_position(data->primary[n], x1, y1); > + igt_plane_set_size(data->primary[n], w, h); > + > + > + igt_display_commit_atomic(display, 0, 0); > + igt_pipe_crc_collect_crc(data->pipe_crc[n], &test_crc); > + igt_plane_set_fb(data->overlay[n], NULL); > + igt_plane_set_fb(data->overlay2[n], NULL); > + > + igt_assert_crc_equal(&fbc[n].ref_crc, &test_crc); > + > + /* Set window to white, this is to avoid flashing between black/white after each flip */ > + draw_color_alpha(&fbc[n].ref_primary, 0, 0, w, h, 1.0, 1.0, 1.0, 1.00); > + igt_plane_set_fb(data->primary[n], &fbc[n].ref_primary); > + igt_plane_set_position(data->primary[n], 0, 0); > + igt_plane_set_size(data->primary[n], pw, ph); > + igt_display_commit_atomic(display, 0, 0); > +} > + > +/* > + * MPO_MULTI_OVERLAY: This test takes the plane sizes and assigns random position within the screen With "random" removed, Reviewed-by: Leo Li <sunpeng.li@amd.com> Thanks, leo > + * > + * The test creates a white screen with 2 cutouts which are to be filled with 2 overlay planes. > + * Testing multiple overlay planes > + */ > +static void test_multi_overlay(data_t *data, int display_count, int w, int h, struct fbc *fb) > +{ > + > + for (int n = 0; n < display_count; n++) { > + > + int pw = data->w[n]; > + int ph = data->h[n]; > + > + if (pw <= w && ph <= h) > + break; > + > + /* Don't overlap the planes */ > + test_plane2(data, n, 0, 0, pw - w, ph - h, w, h, pw, ph, fb); > + > + if (w/2 > pw - w || h/2 > ph - h) > + break; > + > + /* Overlap the planes */ > + test_plane2(data, n, 0, 0, w/2, h/2, w, h, pw, ph, fb); > + } > + > +} > + > /* > * Compares the result of white backgroud with white window with and without MPO > * > @@ -467,6 +568,10 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int > > test_init(data); > > + /* Skip test if we don't have 2 overlay planes */ > + if (test == MPO_MULTI_OVERLAY) > + igt_skip_on(!data->overlay2[0]); > + > /* Skip if there is less valid outputs than the required. */ > for_each_connected_output(display, output) > valid_outputs++; > @@ -494,6 +599,7 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int > igt_create_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, &fb[n].ref_primary); > igt_create_color_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, 1.0, 1.0, 1.0, &fb[n].ref_primary); > igt_create_fb(data->fd, w, h, DRM_FORMAT_ARGB8888, 0, &fb[n].test_overlay); > + igt_create_fb(data->fd, w, h, DRM_FORMAT_ARGB8888, 0, &fb[n].test_overlay2); > > igt_plane_set_fb(data->primary[n], &fb[n].ref_primary); > > @@ -520,6 +626,8 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int > > if (test == MPO_SINGLE_PAN) > test_panning_1_display(data, display_count, videos[i][0], videos[i][1], fb); > + if (test == MPO_MULTI_OVERLAY) > + test_multi_overlay(data, display_count, videos[i][0], videos[i][1], fb); > if (test == MPO_MULTI_PAN) > test_panning_2_display(data, videos[i][0], videos[i][1], fb); > if(test == MPO_SCALE) > @@ -536,6 +644,7 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int > for (int n = 0; n < display_count; n++) { > igt_remove_fb(data->fd, &fb[n].ref_primary); > igt_remove_fb(data->fd, &fb[n].test_overlay); > + igt_remove_fb(data->fd, &fb[n].test_overlay2); > } > } > /* > @@ -798,6 +907,10 @@ igt_main > igt_subtest("mpo-pan-multi-p010") > test_display_mpo(&data, MPO_MULTI_PAN, DRM_FORMAT_P010, DISPLAYS_TO_TEST); > > + igt_describe("MPO with 2 overlay planes and a primary plane"); > + igt_subtest("multi-overlay") > + test_display_mpo(&data, MPO_MULTI_OVERLAY, DRM_FORMAT_NV12, 1); > + > igt_describe("MPO and scaling RGB primary plane"); > igt_subtest("mpo-scale-rgb") > test_display_mpo(&data, MPO_SCALE, DRM_FORMAT_XRGB8888, 1); ^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test (rev2) 2023-02-13 18:16 [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test Bhawanpreet Lakha ` (3 preceding siblings ...) 2023-02-17 20:24 ` [igt-dev] [PATCH 1/2] " Leo Li @ 2023-03-13 17:18 ` Patchwork 2023-03-14 20:55 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork ` (3 subsequent siblings) 8 siblings, 0 replies; 18+ messages in thread From: Patchwork @ 2023-03-13 17:18 UTC (permalink / raw) To: Bhawanpreet Lakha; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 6091 bytes --] == Series Details == Series: series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test (rev2) URL : https://patchwork.freedesktop.org/series/113966/ State : success == Summary == CI Bug Log - changes from CI_DRM_12853 -> IGTPW_8597 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/index.html Participating hosts (39 -> 38) ------------------------------ Missing (1): fi-kbl-soraka Known issues ------------ Here are the changes found in IGTPW_8597 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_selftest@live@execlists: - fi-bsw-n3050: [PASS][1] -> [ABORT][2] ([i915#7911]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/fi-bsw-n3050/igt@i915_selftest@live@execlists.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/fi-bsw-n3050/igt@i915_selftest@live@execlists.html * igt@i915_selftest@live@gt_lrc: - bat-dg2-11: [PASS][3] -> [INCOMPLETE][4] ([i915#7609] / [i915#7913]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/bat-dg2-11/igt@i915_selftest@live@gt_lrc.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/bat-dg2-11/igt@i915_selftest@live@gt_lrc.html * igt@i915_selftest@live@slpc: - bat-rpls-2: NOTRUN -> [DMESG-FAIL][5] ([i915#6367] / [i915#7913] / [i915#7996]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/bat-rpls-2/igt@i915_selftest@live@slpc.html - bat-rpls-1: [PASS][6] -> [DMESG-FAIL][7] ([i915#6367] / [i915#7996]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/bat-rpls-1/igt@i915_selftest@live@slpc.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/bat-rpls-1/igt@i915_selftest@live@slpc.html * igt@kms_chamelium_hpd@common-hpd-after-suspend: - bat-rpls-2: NOTRUN -> [SKIP][8] ([i915#7828]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/bat-rpls-2/igt@kms_chamelium_hpd@common-hpd-after-suspend.html - fi-bsw-nick: NOTRUN -> [SKIP][9] ([fdo#109271]) +1 similar issue [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/fi-bsw-nick/igt@kms_chamelium_hpd@common-hpd-after-suspend.html - bat-rpls-1: NOTRUN -> [SKIP][10] ([i915#7828]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/bat-rpls-1/igt@kms_chamelium_hpd@common-hpd-after-suspend.html * igt@kms_pipe_crc_basic@suspend-read-crc: - bat-rpls-1: NOTRUN -> [SKIP][11] ([i915#1845]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/bat-rpls-1/igt@kms_pipe_crc_basic@suspend-read-crc.html - bat-rpls-2: NOTRUN -> [SKIP][12] ([i915#1845]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/bat-rpls-2/igt@kms_pipe_crc_basic@suspend-read-crc.html #### Possible fixes #### * igt@gem_exec_suspend@basic-s3@smem: - bat-rpls-1: [ABORT][13] ([i915#6687] / [i915#7978]) -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/bat-rpls-1/igt@gem_exec_suspend@basic-s3@smem.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/bat-rpls-1/igt@gem_exec_suspend@basic-s3@smem.html * igt@i915_selftest@live@dmabuf: - fi-bsw-nick: [DMESG-FAIL][15] ([i915#7562] / [i915#7913]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/fi-bsw-nick/igt@i915_selftest@live@dmabuf.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/fi-bsw-nick/igt@i915_selftest@live@dmabuf.html * igt@i915_selftest@live@execlists: - fi-bsw-nick: [ABORT][17] ([i915#7911] / [i915#7913]) -> [PASS][18] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/fi-bsw-nick/igt@i915_selftest@live@execlists.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/fi-bsw-nick/igt@i915_selftest@live@execlists.html * igt@i915_selftest@live@hangcheck: - fi-skl-guc: [DMESG-WARN][19] ([i915#8073]) -> [PASS][20] [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/fi-skl-guc/igt@i915_selftest@live@hangcheck.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/fi-skl-guc/igt@i915_selftest@live@hangcheck.html * igt@i915_selftest@live@requests: - bat-rpls-2: [ABORT][21] ([i915#4983] / [i915#7694] / [i915#7913]) -> [PASS][22] [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/bat-rpls-2/igt@i915_selftest@live@requests.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/bat-rpls-2/igt@i915_selftest@live@requests.html [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367 [i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687 [i915#7562]: https://gitlab.freedesktop.org/drm/intel/issues/7562 [i915#7609]: https://gitlab.freedesktop.org/drm/intel/issues/7609 [i915#7694]: https://gitlab.freedesktop.org/drm/intel/issues/7694 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#7911]: https://gitlab.freedesktop.org/drm/intel/issues/7911 [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913 [i915#7978]: https://gitlab.freedesktop.org/drm/intel/issues/7978 [i915#7996]: https://gitlab.freedesktop.org/drm/intel/issues/7996 [i915#8073]: https://gitlab.freedesktop.org/drm/intel/issues/8073 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7192 -> IGTPW_8597 CI-20190529: 20190529 CI_DRM_12853: 7cfe22e6f72f5328dded16b38e215ff290e8d7f8 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_8597: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/index.html IGT_7192: 18beb515ff127e64302a491ed321125b5116aa23 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/index.html [-- Attachment #2: Type: text/html, Size: 7588 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test (rev2) 2023-02-13 18:16 [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test Bhawanpreet Lakha ` (4 preceding siblings ...) 2023-03-13 17:18 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test (rev2) Patchwork @ 2023-03-14 20:55 ` Patchwork 2023-03-17 17:26 ` [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test Kamil Konieczny ` (2 subsequent siblings) 8 siblings, 0 replies; 18+ messages in thread From: Patchwork @ 2023-03-14 20:55 UTC (permalink / raw) To: Bhawanpreet Lakha; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 26498 bytes --] == Series Details == Series: series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test (rev2) URL : https://patchwork.freedesktop.org/series/113966/ State : success == Summary == CI Bug Log - changes from CI_DRM_12853_full -> IGTPW_8597_full ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/index.html Participating hosts (8 -> 8) ------------------------------ No changes in participating hosts Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_8597_full: ### IGT changes ### #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * igt@gem_ctx_sseu@invalid-args: - {shard-rkl}: [SKIP][1] ([i915#280]) -> [ABORT][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-rkl-5/igt@gem_ctx_sseu@invalid-args.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-rkl-5/igt@gem_ctx_sseu@invalid-args.html Known issues ------------ Here are the changes found in IGTPW_8597_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_fair@basic-none-share@rcs0: - shard-apl: [PASS][3] -> [SKIP][4] ([fdo#109271]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-apl1/igt@gem_exec_fair@basic-none-share@rcs0.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-apl2/igt@gem_exec_fair@basic-none-share@rcs0.html * igt@gem_exec_fair@basic-pace-share@rcs0: - shard-glk: [PASS][5] -> [FAIL][6] ([i915#2842]) +4 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-glk4/igt@gem_exec_fair@basic-pace-share@rcs0.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-glk1/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@gen9_exec_parse@allowed-single: - shard-apl: [PASS][7] -> [ABORT][8] ([i915#5566]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-apl1/igt@gen9_exec_parse@allowed-single.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-apl1/igt@gen9_exec_parse@allowed-single.html * igt@kms_cursor_crc@cursor-offscreen-32x32: - shard-snb: NOTRUN -> [SKIP][9] ([fdo#109271]) +34 similar issues [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-snb2/igt@kms_cursor_crc@cursor-offscreen-32x32.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions: - shard-glk: [PASS][10] -> [FAIL][11] ([i915#2346]) +1 similar issue [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-glk6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-glk7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html #### Possible fixes #### * igt@dumb_buffer@create-clear: - {shard-tglu}: [INCOMPLETE][12] -> [PASS][13] [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-tglu-4/igt@dumb_buffer@create-clear.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-tglu-2/igt@dumb_buffer@create-clear.html * igt@fbdev@write: - {shard-rkl}: [SKIP][14] ([i915#2582]) -> [PASS][15] [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-rkl-3/igt@fbdev@write.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-rkl-6/igt@fbdev@write.html * igt@gem_ctx_persistence@engines-hang@bcs0: - {shard-rkl}: [SKIP][16] ([i915#6252]) -> [PASS][17] [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-rkl-5/igt@gem_ctx_persistence@engines-hang@bcs0.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-rkl-1/igt@gem_ctx_persistence@engines-hang@bcs0.html * igt@gem_exec_fair@basic-deadline: - {shard-rkl}: [FAIL][18] ([i915#2846]) -> [PASS][19] [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-rkl-6/igt@gem_exec_fair@basic-deadline.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-rkl-2/igt@gem_exec_fair@basic-deadline.html * igt@gem_exec_fair@basic-pace@rcs0: - {shard-rkl}: [FAIL][20] ([i915#2842]) -> [PASS][21] +2 similar issues [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-rkl-4/igt@gem_exec_fair@basic-pace@rcs0.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-rkl-5/igt@gem_exec_fair@basic-pace@rcs0.html * igt@gem_exec_fair@basic-throttle@rcs0: - shard-glk: [FAIL][22] ([i915#2842]) -> [PASS][23] [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-glk7/igt@gem_exec_fair@basic-throttle@rcs0.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-glk4/igt@gem_exec_fair@basic-throttle@rcs0.html * igt@gem_exec_reloc@basic-gtt-read-active: - {shard-rkl}: [SKIP][24] ([i915#3281]) -> [PASS][25] +3 similar issues [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-rkl-3/igt@gem_exec_reloc@basic-gtt-read-active.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-rkl-5/igt@gem_exec_reloc@basic-gtt-read-active.html * igt@gem_exec_reloc@basic-scanout@vcs0: - {shard-tglu}: [SKIP][26] ([i915#3639]) -> [PASS][27] +4 similar issues [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-tglu-9/igt@gem_exec_reloc@basic-scanout@vcs0.html [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-tglu-4/igt@gem_exec_reloc@basic-scanout@vcs0.html * igt@gem_mmap_gtt@fault-concurrent-y: - shard-snb: [ABORT][28] ([i915#5161]) -> [PASS][29] [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-snb4/igt@gem_mmap_gtt@fault-concurrent-y.html [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-snb5/igt@gem_mmap_gtt@fault-concurrent-y.html * igt@gem_tiled_pread_pwrite: - {shard-rkl}: [SKIP][30] ([i915#3282]) -> [PASS][31] [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-rkl-1/igt@gem_tiled_pread_pwrite.html [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-rkl-5/igt@gem_tiled_pread_pwrite.html * igt@gem_workarounds@suspend-resume-fd: - {shard-rkl}: [FAIL][32] ([fdo#103375]) -> [PASS][33] [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-rkl-3/igt@gem_workarounds@suspend-resume-fd.html [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-rkl-5/igt@gem_workarounds@suspend-resume-fd.html * igt@gen9_exec_parse@batch-zero-length: - {shard-rkl}: [SKIP][34] ([i915#2527]) -> [PASS][35] [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-rkl-3/igt@gen9_exec_parse@batch-zero-length.html [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-rkl-5/igt@gen9_exec_parse@batch-zero-length.html * igt@i915_pm_dc@dc9-dpms: - shard-apl: [SKIP][36] ([fdo#109271]) -> [PASS][37] [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-apl1/igt@i915_pm_dc@dc9-dpms.html [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-apl1/igt@i915_pm_dc@dc9-dpms.html * igt@i915_pm_rc6_residency@rc6-idle@rcs0: - {shard-tglu}: [WARN][38] ([i915#2681]) -> [PASS][39] [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-tglu-6/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html * igt@i915_pm_rpm@i2c: - {shard-rkl}: [SKIP][40] ([fdo#109308]) -> [PASS][41] [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-rkl-4/igt@i915_pm_rpm@i2c.html [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-rkl-6/igt@i915_pm_rpm@i2c.html * igt@i915_pm_rpm@modeset-lpsp: - {shard-rkl}: [SKIP][42] ([i915#1397]) -> [PASS][43] [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-rkl-1/igt@i915_pm_rpm@modeset-lpsp.html [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-rkl-6/igt@i915_pm_rpm@modeset-lpsp.html * igt@i915_pm_rpm@modeset-lpsp-stress-no-wait: - {shard-tglu}: [SKIP][44] ([i915#1397]) -> [PASS][45] [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-tglu-9/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-tglu-5/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html * igt@i915_pm_rpm@modeset-non-lpsp-stress: - {shard-dg1}: [SKIP][46] ([i915#1397]) -> [PASS][47] [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-dg1-14/igt@i915_pm_rpm@modeset-non-lpsp-stress.html [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-dg1-16/igt@i915_pm_rpm@modeset-non-lpsp-stress.html * igt@i915_pm_sseu@full-enable: - {shard-rkl}: [SKIP][48] ([i915#4387]) -> [PASS][49] [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-rkl-3/igt@i915_pm_sseu@full-enable.html [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-rkl-5/igt@i915_pm_sseu@full-enable.html * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0: - {shard-tglu}: [SKIP][50] ([i915#1845] / [i915#7651]) -> [PASS][51] +26 similar issues [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-tglu-6/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0.html [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-tglu-2/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0.html * igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc: - {shard-rkl}: [SKIP][52] ([i915#1845] / [i915#4098]) -> [PASS][53] +25 similar issues [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-rkl-5/igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc.html [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-rkl-6/igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc.html * igt@kms_cursor_legacy@cursor-vs-flip-atomic: - {shard-tglu}: [SKIP][54] ([i915#1845]) -> [PASS][55] +6 similar issues [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-tglu-6/igt@kms_cursor_legacy@cursor-vs-flip-atomic.html [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-tglu-3/igt@kms_cursor_legacy@cursor-vs-flip-atomic.html * igt@kms_flip@2x-plain-flip-ts-check-interruptible@ac-hdmi-a1-hdmi-a2: - shard-glk: [FAIL][56] ([i915#2122]) -> [PASS][57] [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-glk7/igt@kms_flip@2x-plain-flip-ts-check-interruptible@ac-hdmi-a1-hdmi-a2.html [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-glk1/igt@kms_flip@2x-plain-flip-ts-check-interruptible@ac-hdmi-a1-hdmi-a2.html * igt@kms_frontbuffer_tracking@fbc-badstride: - {shard-rkl}: [SKIP][58] ([i915#1849] / [i915#4098]) -> [PASS][59] +17 similar issues [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-rkl-1/igt@kms_frontbuffer_tracking@fbc-badstride.html [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-badstride.html * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes: - {shard-rkl}: [SKIP][60] ([i915#1849]) -> [PASS][61] +1 similar issue [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-rkl-5/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-rkl-6/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html * igt@kms_plane@plane-panning-bottom-right@pipe-a-planes: - {shard-tglu}: [SKIP][62] ([i915#1849] / [i915#3558]) -> [PASS][63] +1 similar issue [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-tglu-6/igt@kms_plane@plane-panning-bottom-right@pipe-a-planes.html [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-tglu-1/igt@kms_plane@plane-panning-bottom-right@pipe-a-planes.html * igt@kms_properties@crtc-properties-atomic: - {shard-tglu}: [SKIP][64] ([i915#1849]) -> [PASS][65] +8 similar issues [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-tglu-9/igt@kms_properties@crtc-properties-atomic.html [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-tglu-4/igt@kms_properties@crtc-properties-atomic.html * igt@kms_psr@suspend: - {shard-rkl}: [SKIP][66] ([i915#1072]) -> [PASS][67] [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-rkl-4/igt@kms_psr@suspend.html [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-rkl-6/igt@kms_psr@suspend.html * igt@kms_universal_plane@disable-primary-vs-flip-pipe-b: - {shard-tglu}: [SKIP][68] ([fdo#109274]) -> [PASS][69] +1 similar issue [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-tglu-6/igt@kms_universal_plane@disable-primary-vs-flip-pipe-b.html [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-tglu-8/igt@kms_universal_plane@disable-primary-vs-flip-pipe-b.html * igt@perf@gen12-mi-rpc: - {shard-rkl}: [SKIP][70] ([fdo#109289]) -> [PASS][71] [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-rkl-5/igt@perf@gen12-mi-rpc.html [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-rkl-4/igt@perf@gen12-mi-rpc.html * igt@perf@polling-small-buf: - {shard-tglu}: [FAIL][72] ([i915#1722]) -> [PASS][73] [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-tglu-9/igt@perf@polling-small-buf.html [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-tglu-7/igt@perf@polling-small-buf.html * igt@prime_vgem@basic-fence-read: - {shard-rkl}: [SKIP][74] ([fdo#109295] / [i915#3291] / [i915#3708]) -> [PASS][75] [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12853/shard-rkl-6/igt@prime_vgem@basic-fence-read.html [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/shard-rkl-5/igt@prime_vgem@basic-fence-read.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2 [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274 [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279 [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291 [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295 [fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302 [fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308 [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309 [fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312 [fdo#109313]: https://bugs.freedesktop.org/show_bug.cgi?id=109313 [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315 [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506 [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642 [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189 [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614 [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615 [fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644 [fdo#111656]: https://bugs.freedesktop.org/show_bug.cgi?id=111656 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132 [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397 [i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722 [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825 [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849 [i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190 [i915#2232]: https://gitlab.freedesktop.org/drm/intel/issues/2232 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434 [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437 [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527 [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575 [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582 [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587 [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672 [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681 [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705 [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280 [i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846 [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856 [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920 [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116 [i915#315]: https://gitlab.freedesktop.org/drm/intel/issues/315 [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281 [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282 [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291 [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297 [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299 [i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318 [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359 [i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361 [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458 [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469 [i915#3528]: https://gitlab.freedesktop.org/drm/intel/issues/3528 [i915#3536]: https://gitlab.freedesktop.org/drm/intel/issues/3536 [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539 [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546 [i915#3547]: https://gitlab.freedesktop.org/drm/intel/issues/3547 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558 [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637 [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638 [i915#3639]: https://gitlab.freedesktop.org/drm/intel/issues/3639 [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734 [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742 [i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804 [i915#3825]: https://gitlab.freedesktop.org/drm/intel/issues/3825 [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840 [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886 [i915#3938]: https://gitlab.freedesktop.org/drm/intel/issues/3938 [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955 [i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989 [i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404 [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213 [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270 [i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281 [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349 [i915#4387]: https://gitlab.freedesktop.org/drm/intel/issues/4387 [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525 [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538 [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771 [i915#4778]: https://gitlab.freedesktop.org/drm/intel/issues/4778 [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812 [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833 [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852 [i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859 [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860 [i915#4879]: https://gitlab.freedesktop.org/drm/intel/issues/4879 [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880 [i915#4881]: https://gitlab.freedesktop.org/drm/intel/issues/4881 [i915#4884]: https://gitlab.freedesktop.org/drm/intel/issues/4884 [i915#4958]: https://gitlab.freedesktop.org/drm/intel/issues/4958 [i915#5161]: https://gitlab.freedesktop.org/drm/intel/issues/5161 [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176 [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235 [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286 [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288 [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289 [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325 [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533 [i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439 [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563 [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566 [i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723 [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784 [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095 [i915#6117]: https://gitlab.freedesktop.org/drm/intel/issues/6117 [i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230 [i915#6247]: https://gitlab.freedesktop.org/drm/intel/issues/6247 [i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248 [i915#6252]: https://gitlab.freedesktop.org/drm/intel/issues/6252 [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301 [i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334 [i915#6493]: https://gitlab.freedesktop.org/drm/intel/issues/6493 [i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497 [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621 [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768 [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944 [i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946 [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953 [i915#7037]: https://gitlab.freedesktop.org/drm/intel/issues/7037 [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116 [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118 [i915#7178]: https://gitlab.freedesktop.org/drm/intel/issues/7178 [i915#7276]: https://gitlab.freedesktop.org/drm/intel/issues/7276 [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561 [i915#7651]: https://gitlab.freedesktop.org/drm/intel/issues/7651 [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697 [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711 [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#7949]: https://gitlab.freedesktop.org/drm/intel/issues/7949 [i915#7957]: https://gitlab.freedesktop.org/drm/intel/issues/7957 [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975 [i915#8150]: https://gitlab.freedesktop.org/drm/intel/issues/8150 [i915#8152]: https://gitlab.freedesktop.org/drm/intel/issues/8152 [i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228 [i915#8273]: https://gitlab.freedesktop.org/drm/intel/issues/8273 [i915#8282]: https://gitlab.freedesktop.org/drm/intel/issues/8282 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7192 -> IGTPW_8597 * Piglit: piglit_4509 -> None CI-20190529: 20190529 CI_DRM_12853: 7cfe22e6f72f5328dded16b38e215ff290e8d7f8 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_8597: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/index.html IGT_7192: 18beb515ff127e64302a491ed321125b5116aa23 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8597/index.html [-- Attachment #2: Type: text/html, Size: 19551 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test 2023-02-13 18:16 [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test Bhawanpreet Lakha ` (5 preceding siblings ...) 2023-03-14 20:55 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork @ 2023-03-17 17:26 ` Kamil Konieczny 2023-03-23 18:09 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test (rev4) Patchwork 2023-03-23 23:41 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork 8 siblings, 0 replies; 18+ messages in thread From: Kamil Konieczny @ 2023-03-17 17:26 UTC (permalink / raw) To: igt-dev; +Cc: Bhawanpreet Lakha Hi Bhawanpreet, On 2023-02-13 at 13:16:50 -0500, Bhawanpreet Lakha wrote: > [Why] > Some of our ASICs support multiple overlay planes, so create > a test to test them > > [How] > Create a plane with two holes and fill them up with 2 overlay planes > > Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> > Change-Id: If527d67ead59f64906a97c340845ac423d93a0aa > --- > tests/amdgpu/amd_plane.c | 128 ++++++++++++++++++++++++++++++++++++++- > 1 file changed, 127 insertions(+), 1 deletion(-) > > diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c > index b9eec677..d34cd1d9 100644 > --- a/tests/amdgpu/amd_plane.c > +++ b/tests/amdgpu/amd_plane.c > @@ -42,6 +42,7 @@ typedef struct data { > igt_plane_t *primary[MAX_PIPES]; > igt_plane_t *cursor[MAX_PIPES]; > igt_plane_t *overlay[MAX_PIPES]; > + igt_plane_t *overlay2[MAX_PIPES]; > igt_output_t *output[MAX_PIPES]; > igt_pipe_t *pipe[MAX_PIPES]; > igt_pipe_crc_t *pipe_crc[MAX_PIPES]; > @@ -144,7 +145,8 @@ static void lut_free(lut_t *lut) > enum test { > MPO_SINGLE_PAN, > MPO_MULTI_PAN, > - MPO_SCALE > + MPO_SCALE, > + MPO_MULTI_OVERLAY > }; > > static void test_init(data_t *data) > @@ -159,6 +161,8 @@ static void test_init(data_t *data) > data->pipe[i], DRM_PLANE_TYPE_PRIMARY); > data->overlay[i] = igt_pipe_get_plane_type_index( > data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 0); > + data->overlay2[i] = igt_pipe_get_plane_type_index( > + data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 1); > data->cursor[i] = igt_pipe_get_plane_type( > data->pipe[i], DRM_PLANE_TYPE_CURSOR); > data->pipe_crc[i] = > @@ -252,6 +256,7 @@ struct fbc { > igt_fb_t ref_primary; > igt_fb_t test_primary; > igt_fb_t test_overlay; > + igt_fb_t test_overlay2; > igt_crc_t ref_crc; > }; > > @@ -264,6 +269,115 @@ static void set_regamma_lut(data_t *data, lut_t const *lut, int n) > size); > } > > +/* > + * Compares the result of white backgroud with white window with and without MPO > + * > + * Reference crc: > + * Draws a White background of size (pw,ph). > + * > + * Test crc: > + * Draws a White Overlay of size (pw,ph) then creates a cutout of size (w,h) at location (x1, y1) and (x2, y2) > + * Draws a White Primary plane of size (w, h) at location (x1,y1) (under the overlay) > + * Draws a White Overlay of size (w, h) at location (x2,y2) > + * > + * NOTE: The reason for using White+White is to speed up the crc (reuse the ref crc for all cases vs taking > + * a ref crc per flip) > + */ > +static void test_plane2(data_t *data, int n, int x1, int y1, int x2, int y2, int w, int h, int pw, int ph, struct fbc *fbc){ > + > + igt_crc_t test_crc; > + igt_display_t *display = &data->display; > + > + /* Reference: */ > + > + igt_plane_set_fb(data->primary[n], &fbc[n].ref_primary); > + > + igt_plane_set_position(data->primary[n], 0, 0); > + igt_plane_set_size(data->primary[n], pw, ph); > + > + igt_display_commit_atomic(display, 0, 0); > + > + /* Test: */ > + /* Draw a white overlay with two cutouts at (x1,y1) and (x2,y2) */ > + draw_color_alpha(&fbc[n].test_overlay2, 0, 0, pw, ph, 1.0, 1.0, 1.0, 1.0); > + draw_color_alpha(&fbc[n].test_overlay2, x1, y1, w, h, 0.0, 0.0, 0.0, 0.0); > + draw_color_alpha(&fbc[n].test_overlay2, x2, y2, w, h, 0.0, 0.0, 0.0, 0.0); > + > + /* Draw a overlay to cover up one hole */ > + draw_color_alpha(&fbc[n].test_overlay, 0, 0, pw, ph, 0.0, 0.0, 0.0, 0.0); > + draw_color_alpha(&fbc[n].test_overlay, x2, y2, w, h, 1.0, 1.0, 1.0, 1.0); > + > + /* Draw a primary to cover up the other hole */ > + draw_color_alpha(&fbc[n].test_primary, 0, 0, w, h, 0.0, 0.0, 0.0, 0.0); > + draw_color_alpha(&fbc[n].test_primary, 0, 0, w, h, 1.0, 1.0, 1.0, 1.0); > + > + igt_plane_set_fb(data->primary[n], &fbc[n].test_primary); > + igt_plane_set_fb(data->overlay[n], &fbc[n].test_overlay); > + igt_plane_set_fb(data->overlay2[n], &fbc[n].test_overlay2); > + > + /* Move the primary to cover one of the holes*/ > + igt_plane_set_position(data->primary[n], x1, y1); > + igt_plane_set_size(data->primary[n], w, h); > + > + > + igt_display_commit_atomic(display, 0, 0); > + igt_pipe_crc_collect_crc(data->pipe_crc[n], &test_crc); > + igt_plane_set_fb(data->overlay[n], NULL); > + igt_plane_set_fb(data->overlay2[n], NULL); > + > + igt_assert_crc_equal(&fbc[n].ref_crc, &test_crc); > + > + /* Set window to white, this is to avoid flashing between black/white after each flip */ > + draw_color_alpha(&fbc[n].ref_primary, 0, 0, w, h, 1.0, 1.0, 1.0, 1.00); > + igt_plane_set_fb(data->primary[n], &fbc[n].ref_primary); > + igt_plane_set_position(data->primary[n], 0, 0); > + igt_plane_set_size(data->primary[n], pw, ph); > + igt_display_commit_atomic(display, 0, 0); > + > + > +} > + > +/* > + * MPO_MULTI_OVERLAY: This test takes the plane sizes and assigns random position within the screen > + * > + * The test creates a white screen with 2 cutouts which are to be filled with 2 overlay planes. > + * Testing multiple overlay planes > + */ > +static void test_multi_overlay(data_t *data, int display_count, int w, int h, struct fbc *fb) > +{ > + > + int x1,x2,y1,y2; > + > + for (int n = 0; n < display_count; n++) { > + > + int pw = data->w[n]; > + int ph = data->h[n]; > + > + for (int i = 0; i < 1; i++){ > + > + if (pw <= w && ph <= h) > + break; > + > + srand(time(NULL)); > + > + /* Generate random x,y positions for two cutouts*/ > + x1 = (rand() % (pw-w)); > + y1 = (rand() % (ph-h)); > + > + x2 = (rand() % (pw-w)); > + y2 = (rand() % (ph-h)); > + > + Delete this line, one is enough. > + test_plane2(data, n, x1, y1, x2, y2, w,h, pw, ph, fb); > + > + } > + } > + > + return; No need for return from void. > + > + Delete two empty lines. > +} > + > /* > * Compares the result of white backgroud with white window with and without MPO > * > @@ -467,6 +581,10 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int > > test_init(data); > > + /* Skip test if we don't have 2 overlay planes */ > + if (test == MPO_MULTI_OVERLAY) > + igt_skip_on(!data->overlay2[0]); > + > /* Skip if there is less valid outputs than the required. */ > for_each_connected_output(display, output) > valid_outputs++; > @@ -494,6 +612,7 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int > igt_create_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, &fb[n].ref_primary); > igt_create_color_fb(data->fd, w, h, DRM_FORMAT_XRGB8888, 0, 1.0, 1.0, 1.0, &fb[n].ref_primary); > igt_create_fb(data->fd, w, h, DRM_FORMAT_ARGB8888, 0, &fb[n].test_overlay); > + igt_create_fb(data->fd, w, h, DRM_FORMAT_ARGB8888, 0, &fb[n].test_overlay2); > > igt_plane_set_fb(data->primary[n], &fb[n].ref_primary); > > @@ -520,6 +639,8 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int > > if (test == MPO_SINGLE_PAN) > test_panning_1_display(data, display_count, videos[i][0], videos[i][1], fb); > + if (test == MPO_MULTI_OVERLAY) > + test_multi_overlay(data, display_count, videos[i][0], videos[i][1], fb); > if (test == MPO_MULTI_PAN) > test_panning_2_display(data, videos[i][0], videos[i][1], fb); > if(test == MPO_SCALE) > @@ -536,6 +657,7 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int > for (int n = 0; n < display_count; n++) { > igt_remove_fb(data->fd, &fb[n].ref_primary); > igt_remove_fb(data->fd, &fb[n].test_overlay); > + igt_remove_fb(data->fd, &fb[n].test_overlay2); > } > } > /* > @@ -798,6 +920,10 @@ igt_main > igt_subtest("mpo-pan-multi-p010") > test_display_mpo(&data, MPO_MULTI_PAN, DRM_FORMAT_P010, DISPLAYS_TO_TEST); > > + igt_describe("Multi MPO"); Could you put a little more description here ? Now it seems like you repeated test name and it do not help much. The same ask apply for your other patch. Btw please use checkpatch.pl from linnux kernel, it can help catch some empty lines and some other errors. Regards, Kamil > + igt_subtest("multi-mpo") > + test_display_mpo(&data, MPO_MULTI_OVERLAY, DRM_FORMAT_NV12, 1); > + > igt_describe("MPO and scaling RGB primary plane"); > igt_subtest("mpo-scale-rgb") > test_display_mpo(&data, MPO_SCALE, DRM_FORMAT_XRGB8888, 1); > -- > 2.25.1 > ^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test (rev4) 2023-02-13 18:16 [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test Bhawanpreet Lakha ` (6 preceding siblings ...) 2023-03-17 17:26 ` [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test Kamil Konieczny @ 2023-03-23 18:09 ` Patchwork 2023-03-23 23:41 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork 8 siblings, 0 replies; 18+ messages in thread From: Patchwork @ 2023-03-23 18:09 UTC (permalink / raw) To: Bhawanpreet Lakha; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 3852 bytes --] == Series Details == Series: series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test (rev4) URL : https://patchwork.freedesktop.org/series/113966/ State : success == Summary == CI Bug Log - changes from IGT_7212 -> IGTPW_8671 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/index.html Participating hosts (36 -> 36) ------------------------------ Additional (1): fi-pnv-d510 Missing (1): fi-snb-2520m Known issues ------------ Here are the changes found in IGTPW_8671 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_selftest@live@guc: - bat-rpls-2: NOTRUN -> [DMESG-WARN][1] ([i915#7852]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/bat-rpls-2/igt@i915_selftest@live@guc.html * igt@i915_selftest@live@reset: - bat-rpls-1: [PASS][2] -> [ABORT][3] ([i915#4983]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/bat-rpls-1/igt@i915_selftest@live@reset.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/bat-rpls-1/igt@i915_selftest@live@reset.html * igt@i915_selftest@live@slpc: - bat-rpls-2: NOTRUN -> [DMESG-FAIL][4] ([i915#6367] / [i915#7913]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/bat-rpls-2/igt@i915_selftest@live@slpc.html * igt@kms_chamelium_hpd@common-hpd-after-suspend: - bat-rpls-2: NOTRUN -> [SKIP][5] ([i915#7828]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/bat-rpls-2/igt@kms_chamelium_hpd@common-hpd-after-suspend.html * igt@kms_pipe_crc_basic@suspend-read-crc: - bat-rpls-2: NOTRUN -> [SKIP][6] ([i915#1845]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/bat-rpls-2/igt@kms_pipe_crc_basic@suspend-read-crc.html * igt@kms_psr@primary_page_flip: - fi-pnv-d510: NOTRUN -> [SKIP][7] ([fdo#109271]) +38 similar issues [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/fi-pnv-d510/igt@kms_psr@primary_page_flip.html #### Possible fixes #### * igt@i915_selftest@live@gt_heartbeat: - fi-apl-guc: [DMESG-FAIL][8] ([i915#5334]) -> [PASS][9] [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html * igt@i915_selftest@live@reset: - bat-rpls-2: [ABORT][10] ([i915#4983] / [i915#7913]) -> [PASS][11] [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/bat-rpls-2/igt@i915_selftest@live@reset.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/bat-rpls-2/igt@i915_selftest@live@reset.html [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334 [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#7852]: https://gitlab.freedesktop.org/drm/intel/issues/7852 [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7212 -> IGTPW_8671 CI-20190529: 20190529 CI_DRM_12905: 3a266f994a6b752953eb974ab7bf1dc382a2d1b8 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_8671: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/index.html IGT_7212: c67b6c8993c509ca06eca222287c58ade43292e6 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/index.html [-- Attachment #2: Type: text/html, Size: 4782 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test (rev4) 2023-02-13 18:16 [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test Bhawanpreet Lakha ` (7 preceding siblings ...) 2023-03-23 18:09 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test (rev4) Patchwork @ 2023-03-23 23:41 ` Patchwork 8 siblings, 0 replies; 18+ messages in thread From: Patchwork @ 2023-03-23 23:41 UTC (permalink / raw) To: Bhawanpreet Lakha; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 24934 bytes --] == Series Details == Series: series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test (rev4) URL : https://patchwork.freedesktop.org/series/113966/ State : success == Summary == CI Bug Log - changes from IGT_7212_full -> IGTPW_8671_full ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/index.html Participating hosts (7 -> 7) ------------------------------ No changes in participating hosts Known issues ------------ Here are the changes found in IGTPW_8671_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_userptr_blits@access-control: - shard-glk: NOTRUN -> [SKIP][1] ([fdo#109271]) +17 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-glk8/igt@gem_userptr_blits@access-control.html * igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc: - shard-glk: NOTRUN -> [SKIP][2] ([fdo#109271] / [i915#3886]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-glk3/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc.html * igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_mc_ccs: - shard-apl: NOTRUN -> [SKIP][3] ([fdo#109271] / [i915#3886]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-apl7/igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc: - shard-apl: NOTRUN -> [SKIP][4] ([fdo#109271]) +24 similar issues [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-apl7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html #### Possible fixes #### * igt@drm_read@short-buffer-block: - {shard-rkl}: [SKIP][5] ([i915#4098]) -> [PASS][6] +1 similar issue [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-rkl-3/igt@drm_read@short-buffer-block.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-rkl-6/igt@drm_read@short-buffer-block.html * igt@fbdev@eof: - {shard-rkl}: [SKIP][7] ([i915#2582]) -> [PASS][8] [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-rkl-3/igt@fbdev@eof.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-rkl-6/igt@fbdev@eof.html * igt@fbdev@write: - {shard-tglu}: [SKIP][9] ([i915#2582]) -> [PASS][10] +1 similar issue [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-tglu-9/igt@fbdev@write.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-tglu-8/igt@fbdev@write.html * igt@feature_discovery@psr2: - {shard-rkl}: [SKIP][11] ([i915#658]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-rkl-3/igt@feature_discovery@psr2.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-rkl-6/igt@feature_discovery@psr2.html * {igt@gem_barrier_race@remote-request@rcs0}: - shard-glk: [ABORT][13] ([i915#8190]) -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-glk3/igt@gem_barrier_race@remote-request@rcs0.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-glk1/igt@gem_barrier_race@remote-request@rcs0.html * igt@gem_ctx_exec@basic-nohangcheck: - {shard-tglu}: [FAIL][15] ([i915#6268]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-tglu-7/igt@gem_ctx_exec@basic-nohangcheck.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-tglu-7/igt@gem_ctx_exec@basic-nohangcheck.html * igt@gem_eio@suspend: - {shard-rkl}: [FAIL][17] ([i915#5115] / [i915#7052]) -> [PASS][18] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-rkl-4/igt@gem_eio@suspend.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-rkl-6/igt@gem_eio@suspend.html * igt@gem_exec_fair@basic-none-solo@rcs0: - shard-apl: [FAIL][19] ([i915#2842]) -> [PASS][20] [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-apl4/igt@gem_exec_fair@basic-none-solo@rcs0.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-apl4/igt@gem_exec_fair@basic-none-solo@rcs0.html * igt@gem_exec_fair@basic-pace@rcs0: - {shard-rkl}: [FAIL][21] ([i915#2842]) -> [PASS][22] [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-rkl-5/igt@gem_exec_fair@basic-pace@rcs0.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-rkl-5/igt@gem_exec_fair@basic-pace@rcs0.html * igt@gem_exec_reloc@basic-cpu-noreloc: - {shard-rkl}: [SKIP][23] ([i915#3281]) -> [PASS][24] +3 similar issues [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-rkl-1/igt@gem_exec_reloc@basic-cpu-noreloc.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-rkl-5/igt@gem_exec_reloc@basic-cpu-noreloc.html * igt@gem_partial_pwrite_pread@writes-after-reads-uncached: - {shard-rkl}: [SKIP][25] ([i915#3282]) -> [PASS][26] +6 similar issues [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-rkl-3/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-rkl-5/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html * igt@gem_workarounds@suspend-resume: - {shard-rkl}: [FAIL][27] ([fdo#103375]) -> [PASS][28] [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-rkl-4/igt@gem_workarounds@suspend-resume.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-rkl-2/igt@gem_workarounds@suspend-resume.html * igt@gen9_exec_parse@bb-start-cmd: - {shard-rkl}: [SKIP][29] ([i915#2527]) -> [PASS][30] [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-rkl-3/igt@gen9_exec_parse@bb-start-cmd.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-rkl-5/igt@gen9_exec_parse@bb-start-cmd.html * igt@i915_pm_dc@dc5-dpms: - {shard-rkl}: [FAIL][31] ([i915#7330]) -> [PASS][32] [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-rkl-5/igt@i915_pm_dc@dc5-dpms.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-rkl-1/igt@i915_pm_dc@dc5-dpms.html * igt@i915_pm_dc@dc6-dpms: - {shard-rkl}: [SKIP][33] ([i915#3361]) -> [PASS][34] [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-rkl-5/igt@i915_pm_dc@dc6-dpms.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-rkl-4/igt@i915_pm_dc@dc6-dpms.html - {shard-tglu}: [FAIL][35] ([i915#3989] / [i915#454]) -> [PASS][36] [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-tglu-8/igt@i915_pm_dc@dc6-dpms.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-tglu-4/igt@i915_pm_dc@dc6-dpms.html * igt@i915_pm_dc@dc9-dpms: - shard-apl: [SKIP][37] ([fdo#109271]) -> [PASS][38] [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-apl1/igt@i915_pm_dc@dc9-dpms.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-apl4/igt@i915_pm_dc@dc9-dpms.html * igt@i915_pm_rpm@dpms-mode-unset-lpsp: - {shard-tglu}: [SKIP][39] ([i915#1397]) -> [PASS][40] +1 similar issue [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-tglu-9/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-tglu-4/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html * igt@kms_cursor_crc@cursor-suspend@pipe-a-dp-1: - shard-apl: [ABORT][41] ([i915#180]) -> [PASS][42] [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-apl7/igt@kms_cursor_crc@cursor-suspend@pipe-a-dp-1.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-apl6/igt@kms_cursor_crc@cursor-suspend@pipe-a-dp-1.html * igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size: - {shard-rkl}: [SKIP][43] ([i915#1845] / [i915#4098]) -> [PASS][44] +28 similar issues [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-rkl-3/igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-rkl-6/igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-glk: [FAIL][45] ([i915#2346]) -> [PASS][46] [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-glk7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-glk7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html * igt@kms_cursor_legacy@single-bo@pipe-a: - {shard-rkl}: [INCOMPLETE][47] -> [PASS][48] [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-rkl-1/igt@kms_cursor_legacy@single-bo@pipe-a.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-rkl-1/igt@kms_cursor_legacy@single-bo@pipe-a.html * igt@kms_cursor_legacy@single-bo@pipe-b: - {shard-tglu}: [INCOMPLETE][49] ([i915#8011]) -> [PASS][50] [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-tglu-1/igt@kms_cursor_legacy@single-bo@pipe-b.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-tglu-9/igt@kms_cursor_legacy@single-bo@pipe-b.html * igt@kms_cursor_legacy@single-move@pipe-b: - {shard-dg1}: [INCOMPLETE][51] ([i915#8011]) -> [PASS][52] [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-dg1-14/igt@kms_cursor_legacy@single-move@pipe-b.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-dg1-16/igt@kms_cursor_legacy@single-move@pipe-b.html * igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible@ab-hdmi-a1-hdmi-a2: - shard-glk: [FAIL][53] ([i915#2122]) -> [PASS][54] [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-glk7/igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible@ab-hdmi-a1-hdmi-a2.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-glk4/igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible@ab-hdmi-a1-hdmi-a2.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a1: - shard-glk: [FAIL][55] ([i915#79]) -> [PASS][56] [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-glk6/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a1.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-glk7/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a1.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-dp1: - shard-apl: [FAIL][57] ([i915#79]) -> [PASS][58] [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-apl2/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-dp1.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-apl6/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-dp1.html * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-pwrite: - {shard-tglu}: [SKIP][59] ([i915#1849]) -> [PASS][60] +11 similar issues [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-tglu-10/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-pwrite.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-tglu-3/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite: - {shard-rkl}: [SKIP][61] ([i915#1849] / [i915#4098]) -> [PASS][62] +11 similar issues [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite.html * igt@kms_psr@primary_mmap_gtt: - {shard-rkl}: [SKIP][63] ([i915#1072]) -> [PASS][64] +1 similar issue [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-rkl-4/igt@kms_psr@primary_mmap_gtt.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-rkl-6/igt@kms_psr@primary_mmap_gtt.html * igt@kms_universal_plane@universal-plane-pipe-c-sanity: - {shard-tglu}: [SKIP][65] ([i915#1845]) -> [PASS][66] +22 similar issues [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-tglu-9/igt@kms_universal_plane@universal-plane-pipe-c-sanity.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-tglu-6/igt@kms_universal_plane@universal-plane-pipe-c-sanity.html * igt@kms_vblank@pipe-a-query-forked: - {shard-tglu}: [SKIP][67] ([i915#1845] / [i915#7651]) -> [PASS][68] +26 similar issues [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-tglu-9/igt@kms_vblank@pipe-a-query-forked.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-tglu-6/igt@kms_vblank@pipe-a-query-forked.html * igt@perf_pmu@idle@rcs0: - {shard-rkl}: [FAIL][69] ([i915#4349]) -> [PASS][70] [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-rkl-2/igt@perf_pmu@idle@rcs0.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-rkl-3/igt@perf_pmu@idle@rcs0.html * igt@prime_mmap_kms@buffer-sharing: - {shard-tglu}: [SKIP][71] ([fdo#109274]) -> [PASS][72] [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-tglu-9/igt@prime_mmap_kms@buffer-sharing.html [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-tglu-5/igt@prime_mmap_kms@buffer-sharing.html * igt@prime_vgem@basic-fence-flip: - {shard-rkl}: [SKIP][73] ([fdo#109295] / [i915#3708] / [i915#4098]) -> [PASS][74] [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7212/shard-rkl-1/igt@prime_vgem@basic-fence-flip.html [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/shard-rkl-6/igt@prime_vgem@basic-fence-flip.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2 [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274 [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279 [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295 [fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300 [fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303 [fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308 [fdo#109313]: https://bugs.freedesktop.org/show_bug.cgi?id=109313 [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315 [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189 [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614 [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615 [fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132 [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397 [i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722 [i915#1755]: https://gitlab.freedesktop.org/drm/intel/issues/1755 [i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825 [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849 [i915#1850]: https://gitlab.freedesktop.org/drm/intel/issues/1850 [i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2433]: https://gitlab.freedesktop.org/drm/intel/issues/2433 [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437 [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527 [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575 [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582 [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587 [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672 [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681 [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705 [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846 [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856 [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920 [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116 [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281 [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282 [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291 [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297 [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299 [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359 [i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361 [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458 [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469 [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539 [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546 [i915#3547]: https://gitlab.freedesktop.org/drm/intel/issues/3547 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591 [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637 [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638 [i915#3639]: https://gitlab.freedesktop.org/drm/intel/issues/3639 [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734 [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840 [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886 [i915#3952]: https://gitlab.freedesktop.org/drm/intel/issues/3952 [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955 [i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989 [i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404 [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213 [i915#426]: https://gitlab.freedesktop.org/drm/intel/issues/426 [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270 [i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433 [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349 [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538 [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454 [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565 [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579 [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771 [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812 [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833 [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852 [i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859 [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860 [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880 [i915#4958]: https://gitlab.freedesktop.org/drm/intel/issues/4958 [i915#5115]: https://gitlab.freedesktop.org/drm/intel/issues/5115 [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176 [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235 [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286 [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288 [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289 [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325 [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439 [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461 [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563 [i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723 [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095 [i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230 [i915#6252]: https://gitlab.freedesktop.org/drm/intel/issues/6252 [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268 [i915#6493]: https://gitlab.freedesktop.org/drm/intel/issues/6493 [i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497 [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590 [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768 [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944 [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953 [i915#7037]: https://gitlab.freedesktop.org/drm/intel/issues/7037 [i915#7052]: https://gitlab.freedesktop.org/drm/intel/issues/7052 [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116 [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118 [i915#7128]: https://gitlab.freedesktop.org/drm/intel/issues/7128 [i915#7294]: https://gitlab.freedesktop.org/drm/intel/issues/7294 [i915#7330]: https://gitlab.freedesktop.org/drm/intel/issues/7330 [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561 [i915#7651]: https://gitlab.freedesktop.org/drm/intel/issues/7651 [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#7949]: https://gitlab.freedesktop.org/drm/intel/issues/7949 [i915#7957]: https://gitlab.freedesktop.org/drm/intel/issues/7957 [i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011 [i915#8150]: https://gitlab.freedesktop.org/drm/intel/issues/8150 [i915#8152]: https://gitlab.freedesktop.org/drm/intel/issues/8152 [i915#8154]: https://gitlab.freedesktop.org/drm/intel/issues/8154 [i915#8190]: https://gitlab.freedesktop.org/drm/intel/issues/8190 [i915#8211]: https://gitlab.freedesktop.org/drm/intel/issues/8211 [i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228 [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292 [i915#8308]: https://gitlab.freedesktop.org/drm/intel/issues/8308 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7212 -> IGTPW_8671 CI-20190529: 20190529 CI_DRM_12905: 3a266f994a6b752953eb974ab7bf1dc382a2d1b8 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_8671: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/index.html IGT_7212: c67b6c8993c509ca06eca222287c58ade43292e6 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8671/index.html [-- Attachment #2: Type: text/html, Size: 19485 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2023-03-23 23:41 UTC | newest] Thread overview: 18+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-02-13 18:16 [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test Bhawanpreet Lakha 2023-02-13 18:16 ` [igt-dev] [PATCH 2/2] amdgpu_amd_plane: Add Multi MPO invalid test Bhawanpreet Lakha 2023-02-17 20:38 ` Leo Li 2023-03-23 17:30 ` Bhawanpreet Lakha 2023-02-13 19:33 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test Patchwork 2023-02-13 21:14 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork 2023-02-17 20:24 ` [igt-dev] [PATCH 1/2] " Leo Li 2023-02-17 20:43 ` Bhawanpreet Lakha 2023-03-13 16:32 ` Bhawanpreet Lakha 2023-03-15 20:30 ` Leo Li 2023-03-15 21:02 ` Bhawanpreet Lakha 2023-03-23 17:29 ` Bhawanpreet Lakha 2023-03-23 17:36 ` Leo Li 2023-03-13 17:18 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test (rev2) Patchwork 2023-03-14 20:55 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork 2023-03-17 17:26 ` [igt-dev] [PATCH 1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test Kamil Konieczny 2023-03-23 18:09 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [1/2] amdgpu/amd_plane: Add multi MPO XRGB8888 test (rev4) Patchwork 2023-03-23 23:41 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox