* [igt-dev] [PATCH i-g-t] tests/kms_cursor_crc: use flipping instead of frontbuffer @ 2021-03-31 18:31 Juha-Pekka Heikkila 2021-03-31 19:30 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_cursor_crc: use flipping instead of frontbuffer (rev3) Patchwork ` (2 more replies) 0 siblings, 3 replies; 4+ messages in thread From: Juha-Pekka Heikkila @ 2021-03-31 18:31 UTC (permalink / raw) To: igt-dev take out frontbuffer usage from this test as it may fail this test on frontbuffer related issues instead of cursor issues v2(vsyrjala): fix cursor size change test to run only one loop Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> --- tests/kms_cursor_crc.c | 151 ++++++++++++++++++++++------------------- 1 file changed, 80 insertions(+), 71 deletions(-) diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c index 2619e15e0..9bb96d79e 100644 --- a/tests/kms_cursor_crc.c +++ b/tests/kms_cursor_crc.c @@ -64,14 +64,14 @@ typedef struct { igt_plane_t *cursor; cairo_surface_t *surface; uint32_t devid; - + bool hwimageistestimage; } data_t; #define TEST_DPMS (1<<0) #define TEST_SUSPEND (1<<1) -#define FRONTBUFFER 0 -#define RESTOREBUFFER 1 +#define HWCURSORBUFFER 0 +#define SWCOMPARISONBUFFER 1 static void draw_cursor(cairo_t *cr, int x, int y, int cw, int ch, double a) { @@ -144,22 +144,16 @@ static bool cursor_visible(data_t *data, int x, int y) return true; } -static void restore_image(data_t *data) +static void restore_image(data_t *data, uint32_t buffer) { cairo_t *cr; - igt_display_t *display = &data->display; - /* rendercopy stripped in igt using cairo */ - cr = igt_get_cairo_ctx(data->drm_fd, - &data->primary_fb[FRONTBUFFER]); + cr = igt_get_cairo_ctx(data->drm_fd, &data->primary_fb[buffer]); cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); cairo_set_source_surface(cr, data->surface, 0, 0); cairo_rectangle(cr, 0, 0, data->screenw, data->screenh); cairo_fill(cr); igt_put_cairo_ctx(cr); - igt_dirty_fb(data->drm_fd, &data->primary_fb[FRONTBUFFER]); - igt_wait_for_vblank(data->drm_fd, - display->pipes[data->pipe].crtc_offset); } static void do_single_test(data_t *data, int x, int y) @@ -168,13 +162,11 @@ static void do_single_test(data_t *data, int x, int y) igt_pipe_crc_t *pipe_crc = data->pipe_crc; igt_crc_t crc, ref_crc; cairo_t *cr; - int ret = 0; + int ret = 0, hwcursorframe; igt_print_activity(); /* Hardware test */ - restore_image(data); - igt_plane_set_position(data->cursor, x, y); cursor_enable(data); @@ -182,19 +174,21 @@ static void do_single_test(data_t *data, int x, int y) ret = igt_display_try_commit2(display, COMMIT_LEGACY); igt_assert_eq(ret, -EINVAL); igt_plane_set_position(data->cursor, 0, y); - return; } igt_display_commit(display); - /* Extra vblank wait is because nonblocking cursor ioctl */ - igt_wait_for_vblank(data->drm_fd, - display->pipes[data->pipe].crtc_offset); - igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc); + igt_plane_set_fb(data->primary, &data->primary_fb[HWCURSORBUFFER]); + igt_display_commit(display); + + hwcursorframe = kmstest_get_vblank(data->drm_fd, data->pipe, 0) + 1; + restore_image(data, SWCOMPARISONBUFFER); if (data->flags & (TEST_DPMS | TEST_SUSPEND)) { igt_crc_t crc_after; + /* Extra vblank wait to build full crc before dpms/suspend */ + igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc); /* * stop/start crc to avoid dmesg notifications about userspace * reading too slow. @@ -220,18 +214,22 @@ static void do_single_test(data_t *data, int x, int y) igt_assert_crc_equal(&crc, &crc_after); } - cursor_disable(data); - /* Now render the same in software and collect crc */ - cr = igt_get_cairo_ctx(data->drm_fd, &data->primary_fb[FRONTBUFFER]); + cr = igt_get_cairo_ctx(data->drm_fd, &data->primary_fb[SWCOMPARISONBUFFER]); draw_cursor(cr, x, y, data->curw, data->curh, 1.0); igt_put_cairo_ctx(cr); + igt_plane_set_fb(data->primary, &data->primary_fb[SWCOMPARISONBUFFER]); + igt_display_commit(display); + + cursor_disable(data); igt_display_commit(display); - igt_dirty_fb(data->drm_fd, &data->primary_fb[FRONTBUFFER]); - /* Extra vblank wait is because nonblocking cursor ioctl */ + igt_wait_for_vblank(data->drm_fd, display->pipes[data->pipe].crtc_offset); + if (!(data->flags & (TEST_DPMS | TEST_SUSPEND))) + igt_pipe_crc_get_for_frame(data->drm_fd, pipe_crc, hwcursorframe, &crc); + igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &ref_crc); igt_assert_crc_equal(&crc, &ref_crc); } @@ -244,8 +242,6 @@ static void do_fail_test(data_t *data, int x, int y, int expect) igt_print_activity(); /* Hardware test */ - restore_image(data); - cursor_enable(data); igt_plane_set_position(data->cursor, x, y); ret = igt_display_try_commit2(display, COMMIT_LEGACY); @@ -362,13 +358,16 @@ static void cleanup_crtc(data_t *data) igt_pipe_crc_free(data->pipe_crc); data->pipe_crc = NULL; - cairo_surface_destroy(data->surface); + if (data->hwimageistestimage) { + cairo_surface_destroy(data->surface); + data->surface = NULL; + } igt_plane_set_fb(data->primary, NULL); igt_display_commit(display); - igt_remove_fb(data->drm_fd, &data->primary_fb[FRONTBUFFER]); - igt_remove_fb(data->drm_fd, &data->primary_fb[RESTOREBUFFER]); + igt_remove_fb(data->drm_fd, &data->primary_fb[HWCURSORBUFFER]); + igt_remove_fb(data->drm_fd, &data->primary_fb[SWCOMPARISONBUFFER]); igt_display_reset(display); } @@ -389,18 +388,18 @@ static void prepare_crtc(data_t *data, igt_output_t *output, DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE, 0.0, 0.0, 0.0, - &data->primary_fb[FRONTBUFFER]); + &data->primary_fb[HWCURSORBUFFER]); igt_create_color_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE, 0.0, 0.0, 0.0, - &data->primary_fb[RESTOREBUFFER]); + &data->primary_fb[SWCOMPARISONBUFFER]); data->primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY); data->cursor = igt_output_get_plane_type(output, DRM_PLANE_TYPE_CURSOR); - igt_plane_set_fb(data->primary, &data->primary_fb[FRONTBUFFER]); + igt_plane_set_fb(data->primary, &data->primary_fb[SWCOMPARISONBUFFER]); igt_display_commit(display); @@ -421,13 +420,22 @@ static void prepare_crtc(data_t *data, igt_output_t *output, data->curh = cursor_h; data->refresh = mode->vrefresh; - data->surface = cairo_image_surface_create(CAIRO_FORMAT_RGB24, data->screenw, data->screenh); + if (data->hwimageistestimage) { + data->surface = cairo_image_surface_create(CAIRO_FORMAT_RGB24, + data->screenw, + data->screenh); + + /* store test image as cairo surface */ + cr = cairo_create(data->surface); + cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); + igt_paint_test_pattern(cr, data->screenw, data->screenh); + cairo_destroy(cr); + + /* Set HW cursor buffer in place */ + restore_image(data, HWCURSORBUFFER); + } else + data->surface = NULL; - /* store test image as cairo surface */ - cr = cairo_create(data->surface); - cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); - igt_paint_test_pattern(cr, data->screenw, data->screenh); - cairo_destroy(cr); igt_pipe_crc_start(data->pipe_crc); } @@ -447,6 +455,10 @@ static void test_cursor_alpha(data_t *data, double a) LOCAL_DRM_FORMAT_MOD_NONE, &data->fb); igt_assert(fb_id); + + igt_plane_set_fb(data->primary, &data->primary_fb[HWCURSORBUFFER]); + igt_display_commit(display); + cr = igt_get_cairo_ctx(data->drm_fd, &data->fb); igt_paint_color_alpha(cr, 0, 0, curw, curh, 1.0, 1.0, 1.0, a); igt_put_cairo_ctx(cr); @@ -462,23 +474,15 @@ static void test_cursor_alpha(data_t *data, double a) igt_remove_fb(data->drm_fd, &data->fb); /* Software Test - render cursor in software, drawn it directly on PF */ - cr = igt_get_cairo_ctx(data->drm_fd, &data->primary_fb[FRONTBUFFER]); + cr = igt_get_cairo_ctx(data->drm_fd, &data->primary_fb[SWCOMPARISONBUFFER]); igt_paint_color_alpha(cr, 0, 0, curw, curh, 1.0, 1.0, 1.0, a); igt_put_cairo_ctx(cr); - + igt_plane_set_fb(data->primary, &data->primary_fb[SWCOMPARISONBUFFER]); igt_display_commit(display); - igt_wait_for_vblank(data->drm_fd, - display->pipes[data->pipe].crtc_offset); igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &ref_crc); /* Compare CRC from Hardware/Software tests */ igt_assert_crc_equal(&crc, &ref_crc); - - /*Clear Screen*/ - cr = igt_get_cairo_ctx(data->drm_fd, &data->primary_fb[FRONTBUFFER]); - igt_paint_color(cr, 0, 0, data->screenw, data->screenh, - 0.0, 0.0, 0.0); - igt_put_cairo_ctx(cr); } static void test_cursor_transparent(data_t *data) @@ -571,10 +575,10 @@ static void test_cursor_size(data_t *data) { igt_display_t *display = &data->display; igt_pipe_crc_t *pipe_crc = data->pipe_crc; - igt_crc_t crc[10], ref_crc; + igt_crc_t crc, ref_crc; cairo_t *cr; uint32_t fb_id; - int i, size; + int i, size, prevsize = 0; int cursor_max_size = data->cursor_max_w; /* Create a maximum size cursor, then change the size in flight to @@ -591,37 +595,38 @@ static void test_cursor_size(data_t *data) igt_put_cairo_ctx(cr); /* Hardware test loop */ - cursor_enable(data); for (i = 0, size = cursor_max_size; size >= 64; size /= 2, i++) { + cursor_enable(data); /* Change size in flight: */ igt_plane_set_size(data->cursor, size, size); igt_fb_set_size(&data->fb, data->cursor, size, size); igt_display_commit(display); - igt_wait_for_vblank(data->drm_fd, - display->pipes[data->pipe].crtc_offset); - igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc[i]); - } - cursor_disable(data); - igt_display_commit(display); - igt_remove_fb(data->drm_fd, &data->fb); - /* Software test loop */ - for (i = 0, size = cursor_max_size; size >= 64; size /= 2, i++) { + igt_plane_set_fb(data->primary, &data->primary_fb[HWCURSORBUFFER]); + igt_display_commit(display); + + igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc); + + cursor_disable(data); + igt_display_commit(display); + /* Now render the same in software and collect crc */ - cr = igt_get_cairo_ctx(data->drm_fd, &data->primary_fb[FRONTBUFFER]); + cr = igt_get_cairo_ctx(data->drm_fd, &data->primary_fb[SWCOMPARISONBUFFER]); + + /* remove previous cursor sw image */ + if (prevsize > 0) + igt_paint_color(cr, 0, 0, prevsize, prevsize, 0.0, 0.0, 0.0); + prevsize = size; + igt_paint_color_alpha(cr, 0, 0, size, size, 1.0, 1.0, 1.0, 1.0); igt_put_cairo_ctx(cr); - + igt_plane_set_fb(data->primary, &data->primary_fb[SWCOMPARISONBUFFER]); igt_display_commit(display); - igt_wait_for_vblank(data->drm_fd, - display->pipes[data->pipe].crtc_offset); igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &ref_crc); - /* Clear screen afterwards */ - cr = igt_get_cairo_ctx(data->drm_fd, &data->primary_fb[FRONTBUFFER]); - igt_paint_color(cr, 0, 0, data->screenw, data->screenh, - 0.0, 0.0, 0.0); - igt_put_cairo_ctx(cr); - igt_assert_crc_equal(&crc[i], &ref_crc); + + igt_assert_crc_equal(&crc, &ref_crc); } + + igt_remove_fb(data->drm_fd, &data->fb); } static void test_rapid_movement(data_t *data) @@ -688,6 +693,7 @@ static void run_size_tests(data_t *data, enum pipe pipe, } create_cursor_fb(data, w, h); require_cursor_size(data, w, h); + data->hwimageistestimage = true; } /* Using created cursor FBs to test cursor support */ @@ -725,6 +731,7 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe) data->pipe = pipe; data->output = igt_get_single_output_for_pipe(&data->display, pipe); igt_require(data->output); + data->hwimageistestimage = false; } igt_describe("Create a maximum size cursor, then change the size in " @@ -744,8 +751,10 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe) igt_subtest_f("pipe-%s-cursor-alpha-transparent", kmstest_pipe_name(pipe)) run_test(data, test_cursor_transparent, data->cursor_max_w, data->cursor_max_h); - igt_fixture + igt_fixture { create_cursor_fb(data, data->cursor_max_w, data->cursor_max_h); + data->hwimageistestimage = true; + } igt_subtest_f("pipe-%s-cursor-dpms", kmstest_pipe_name(pipe)) { data->flags = TEST_DPMS; -- 2.28.0 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_cursor_crc: use flipping instead of frontbuffer (rev3) 2021-03-31 18:31 [igt-dev] [PATCH i-g-t] tests/kms_cursor_crc: use flipping instead of frontbuffer Juha-Pekka Heikkila @ 2021-03-31 19:30 ` Patchwork 2021-03-31 21:01 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork 2021-05-03 13:02 ` [igt-dev] [PATCH i-g-t] tests/kms_cursor_crc: use flipping instead of frontbuffer Kahola, Mika 2 siblings, 0 replies; 4+ messages in thread From: Patchwork @ 2021-03-31 19:30 UTC (permalink / raw) To: Juha-Pekka Heikkila; +Cc: igt-dev [-- Attachment #1.1: Type: text/plain, Size: 6082 bytes --] == Series Details == Series: tests/kms_cursor_crc: use flipping instead of frontbuffer (rev3) URL : https://patchwork.freedesktop.org/series/88365/ State : success == Summary == CI Bug Log - changes from CI_DRM_9919 -> IGTPW_5683 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/index.html Known issues ------------ Here are the changes found in IGTPW_5683 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@amdgpu/amd_basic@semaphore: - fi-icl-y: NOTRUN -> [SKIP][1] ([fdo#109315]) +17 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/fi-icl-y/igt@amdgpu/amd_basic@semaphore.html - fi-bsw-nick: NOTRUN -> [SKIP][2] ([fdo#109271]) +17 similar issues [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/fi-bsw-nick/igt@amdgpu/amd_basic@semaphore.html * igt@amdgpu/amd_cs_nop@sync-fork-compute0: - fi-snb-2600: NOTRUN -> [SKIP][3] ([fdo#109271]) +17 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/fi-snb-2600/igt@amdgpu/amd_cs_nop@sync-fork-compute0.html * igt@debugfs_test@read_all_entries: - fi-tgl-y: [PASS][4] -> [DMESG-WARN][5] ([i915#1982] / [i915#402]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/fi-tgl-y/igt@debugfs_test@read_all_entries.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/fi-tgl-y/igt@debugfs_test@read_all_entries.html * igt@gem_huc_copy@huc-copy: - fi-icl-y: NOTRUN -> [SKIP][6] ([i915#2190]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/fi-icl-y/igt@gem_huc_copy@huc-copy.html * igt@kms_chamelium@dp-crc-fast: - fi-icl-y: NOTRUN -> [SKIP][7] ([fdo#109284] / [fdo#111827]) +8 similar issues [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/fi-icl-y/igt@kms_chamelium@dp-crc-fast.html * igt@kms_force_connector_basic@force-load-detect: - fi-icl-y: NOTRUN -> [SKIP][8] ([fdo#109285]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/fi-icl-y/igt@kms_force_connector_basic@force-load-detect.html * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d: - fi-icl-y: NOTRUN -> [SKIP][9] ([fdo#109278]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/fi-icl-y/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html * igt@kms_psr@primary_mmap_gtt: - fi-icl-y: NOTRUN -> [SKIP][10] ([fdo#110189]) +3 similar issues [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/fi-icl-y/igt@kms_psr@primary_mmap_gtt.html * igt@prime_self_import@basic-with_one_bo_two_files: - fi-tgl-y: [PASS][11] -> [DMESG-WARN][12] ([i915#402]) +1 similar issue [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/fi-tgl-y/igt@prime_self_import@basic-with_one_bo_two_files.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/fi-tgl-y/igt@prime_self_import@basic-with_one_bo_two_files.html * igt@prime_vgem@basic-userptr: - fi-icl-y: NOTRUN -> [SKIP][13] ([i915#3301]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/fi-icl-y/igt@prime_vgem@basic-userptr.html #### Possible fixes #### * igt@i915_selftest@live@execlists: - fi-bsw-nick: [INCOMPLETE][14] ([i915#2782] / [i915#2940]) -> [PASS][15] [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/fi-bsw-nick/igt@i915_selftest@live@execlists.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/fi-bsw-nick/igt@i915_selftest@live@execlists.html * igt@i915_selftest@live@hangcheck: - fi-snb-2600: [INCOMPLETE][16] ([i915#2782]) -> [PASS][17] [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/fi-snb-2600/igt@i915_selftest@live@hangcheck.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/fi-snb-2600/igt@i915_selftest@live@hangcheck.html * igt@prime_self_import@basic-with_one_bo: - fi-tgl-y: [DMESG-WARN][18] ([i915#402]) -> [PASS][19] +1 similar issue [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/fi-tgl-y/igt@prime_self_import@basic-with_one_bo.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/fi-tgl-y/igt@prime_self_import@basic-with_one_bo.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#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278 [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315 [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190 [i915#2782]: https://gitlab.freedesktop.org/drm/intel/issues/2782 [i915#2940]: https://gitlab.freedesktop.org/drm/intel/issues/2940 [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301 [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402 Participating hosts (45 -> 40) ------------------------------ Additional (1): fi-icl-y Missing (6): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-ctg-p8600 fi-dg1-1 fi-bdw-samus Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_6052 -> IGTPW_5683 CI-20190529: 20190529 CI_DRM_9919: dea8cdb9528330b8d965234be79d91f132f6ac4c @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_5683: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/index.html IGT_6052: 936f871d305762f10f3bd87622a6128236893291 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/index.html [-- Attachment #1.2: Type: text/html, Size: 7293 bytes --] [-- Attachment #2: Type: text/plain, Size: 154 bytes --] _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 4+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for tests/kms_cursor_crc: use flipping instead of frontbuffer (rev3) 2021-03-31 18:31 [igt-dev] [PATCH i-g-t] tests/kms_cursor_crc: use flipping instead of frontbuffer Juha-Pekka Heikkila 2021-03-31 19:30 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_cursor_crc: use flipping instead of frontbuffer (rev3) Patchwork @ 2021-03-31 21:01 ` Patchwork 2021-05-03 13:02 ` [igt-dev] [PATCH i-g-t] tests/kms_cursor_crc: use flipping instead of frontbuffer Kahola, Mika 2 siblings, 0 replies; 4+ messages in thread From: Patchwork @ 2021-03-31 21:01 UTC (permalink / raw) To: Juha-Pekka Heikkila; +Cc: igt-dev [-- Attachment #1.1: Type: text/plain, Size: 30282 bytes --] == Series Details == Series: tests/kms_cursor_crc: use flipping instead of frontbuffer (rev3) URL : https://patchwork.freedesktop.org/series/88365/ State : success == Summary == CI Bug Log - changes from CI_DRM_9919_full -> IGTPW_5683_full ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/index.html Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_5683_full: ### IGT changes ### #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * {igt@kms_cursor_crc@pipe-c-cursor-max-size-onscreen}: - shard-tglb: NOTRUN -> [SKIP][1] +1 similar issue [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb6/igt@kms_cursor_crc@pipe-c-cursor-max-size-onscreen.html Known issues ------------ Here are the changes found in IGTPW_5683_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@drm_import_export@prime: - shard-tglb: [PASS][2] -> [INCOMPLETE][3] ([i915#750]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-tglb2/igt@drm_import_export@prime.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb2/igt@drm_import_export@prime.html * igt@gem_ctx_isolation@preservation-s3@bcs0: - shard-kbl: [PASS][4] -> [DMESG-WARN][5] ([i915#180]) +3 similar issues [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-kbl7/igt@gem_ctx_isolation@preservation-s3@bcs0.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-kbl4/igt@gem_ctx_isolation@preservation-s3@bcs0.html * igt@gem_ctx_persistence@legacy-engines-mixed-process: - shard-snb: NOTRUN -> [SKIP][6] ([fdo#109271] / [i915#1099]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-snb2/igt@gem_ctx_persistence@legacy-engines-mixed-process.html * igt@gem_exec_fair@basic-deadline: - shard-glk: [PASS][7] -> [FAIL][8] ([i915#2846]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-glk8/igt@gem_exec_fair@basic-deadline.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-glk1/igt@gem_exec_fair@basic-deadline.html * igt@gem_exec_fair@basic-none-rrul@rcs0: - shard-iclb: NOTRUN -> [FAIL][9] ([i915#2842]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb2/igt@gem_exec_fair@basic-none-rrul@rcs0.html - shard-tglb: NOTRUN -> [FAIL][10] ([i915#2842]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb6/igt@gem_exec_fair@basic-none-rrul@rcs0.html * igt@gem_exec_fair@basic-none@vcs0: - shard-apl: [PASS][11] -> [FAIL][12] ([i915#2842]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-apl1/igt@gem_exec_fair@basic-none@vcs0.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl3/igt@gem_exec_fair@basic-none@vcs0.html * igt@gem_exec_fair@basic-pace@vcs1: - shard-kbl: NOTRUN -> [FAIL][13] ([i915#2842]) +2 similar issues [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-kbl1/igt@gem_exec_fair@basic-pace@vcs1.html * igt@gem_exec_fair@basic-throttle@rcs0: - shard-glk: [PASS][14] -> [FAIL][15] ([i915#2842]) +4 similar issues [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-glk2/igt@gem_exec_fair@basic-throttle@rcs0.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-glk1/igt@gem_exec_fair@basic-throttle@rcs0.html * igt@gem_exec_flush@basic-batch-kernel-default-cmd: - shard-snb: NOTRUN -> [SKIP][16] ([fdo#109271]) +371 similar issues [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-snb2/igt@gem_exec_flush@basic-batch-kernel-default-cmd.html * igt@gem_exec_reloc@basic-many-active@rcs0: - shard-tglb: NOTRUN -> [FAIL][17] ([i915#2389]) +4 similar issues [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb3/igt@gem_exec_reloc@basic-many-active@rcs0.html - shard-glk: NOTRUN -> [FAIL][18] ([i915#2389]) +3 similar issues [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-glk8/igt@gem_exec_reloc@basic-many-active@rcs0.html - shard-iclb: NOTRUN -> [FAIL][19] ([i915#2389]) +3 similar issues [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb3/igt@gem_exec_reloc@basic-many-active@rcs0.html * igt@gem_exec_reloc@basic-many-active@vcs0: - shard-kbl: NOTRUN -> [FAIL][20] ([i915#2389]) +4 similar issues [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-kbl4/igt@gem_exec_reloc@basic-many-active@vcs0.html * igt@gem_exec_reloc@basic-wide-active@rcs0: - shard-snb: NOTRUN -> [FAIL][21] ([i915#2389]) +5 similar issues [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-snb5/igt@gem_exec_reloc@basic-wide-active@rcs0.html * igt@gem_fenced_exec_thrash@no-spare-fences: - shard-snb: NOTRUN -> [INCOMPLETE][22] ([i915#2055]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-snb6/igt@gem_fenced_exec_thrash@no-spare-fences.html * igt@gem_pread@exhaustion: - shard-apl: NOTRUN -> [WARN][23] ([i915#2658]) +1 similar issue [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl1/igt@gem_pread@exhaustion.html * igt@gem_render_copy@x-tiled-to-vebox-yf-tiled: - shard-kbl: NOTRUN -> [SKIP][24] ([fdo#109271]) +172 similar issues [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-kbl6/igt@gem_render_copy@x-tiled-to-vebox-yf-tiled.html * igt@gem_render_copy@y-tiled-mc-ccs-to-vebox-y-tiled: - shard-iclb: NOTRUN -> [SKIP][25] ([i915#768]) +1 similar issue [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb4/igt@gem_render_copy@y-tiled-mc-ccs-to-vebox-y-tiled.html * igt@gem_userptr_blits@input-checking: - shard-snb: NOTRUN -> [DMESG-WARN][26] ([i915#3002]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-snb2/igt@gem_userptr_blits@input-checking.html * igt@gen3_render_tiledy_blits: - shard-tglb: NOTRUN -> [SKIP][27] ([fdo#109289]) +1 similar issue [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb3/igt@gen3_render_tiledy_blits.html * igt@gen9_exec_parse@allowed-all: - shard-iclb: NOTRUN -> [SKIP][28] ([fdo#112306]) +1 similar issue [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb4/igt@gen9_exec_parse@allowed-all.html * igt@gen9_exec_parse@bb-large: - shard-apl: NOTRUN -> [FAIL][29] ([i915#3296]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl2/igt@gen9_exec_parse@bb-large.html * igt@gen9_exec_parse@bb-start-out: - shard-tglb: NOTRUN -> [SKIP][30] ([fdo#112306]) [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb8/igt@gen9_exec_parse@bb-start-out.html * igt@i915_pm_dc@dc6-psr: - shard-iclb: [PASS][31] -> [FAIL][32] ([i915#454]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-iclb7/igt@i915_pm_dc@dc6-psr.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb4/igt@i915_pm_dc@dc6-psr.html * igt@i915_suspend@fence-restore-tiled2untiled: - shard-iclb: [PASS][33] -> [INCOMPLETE][34] ([i915#1185]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-iclb5/igt@i915_suspend@fence-restore-tiled2untiled.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb3/igt@i915_suspend@fence-restore-tiled2untiled.html * igt@kms_big_fb@linear-64bpp-rotate-270: - shard-iclb: NOTRUN -> [SKIP][35] ([fdo#110725] / [fdo#111614]) [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb8/igt@kms_big_fb@linear-64bpp-rotate-270.html - shard-tglb: NOTRUN -> [SKIP][36] ([fdo#111614]) [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb2/igt@kms_big_fb@linear-64bpp-rotate-270.html * igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow: - shard-tglb: NOTRUN -> [SKIP][37] ([fdo#111615]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb6/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html * igt@kms_big_joiner@invalid-modeset: - shard-apl: NOTRUN -> [SKIP][38] ([fdo#109271] / [i915#2705]) [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl1/igt@kms_big_joiner@invalid-modeset.html * igt@kms_chamelium@hdmi-hpd-for-each-pipe: - shard-iclb: NOTRUN -> [SKIP][39] ([fdo#109284] / [fdo#111827]) +4 similar issues [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb1/igt@kms_chamelium@hdmi-hpd-for-each-pipe.html - shard-glk: NOTRUN -> [SKIP][40] ([fdo#109271] / [fdo#111827]) +4 similar issues [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-glk4/igt@kms_chamelium@hdmi-hpd-for-each-pipe.html * igt@kms_color@pipe-d-ctm-max: - shard-iclb: NOTRUN -> [SKIP][41] ([fdo#109278] / [i915#1149]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb2/igt@kms_color@pipe-d-ctm-max.html * igt@kms_color_chamelium@pipe-a-ctm-blue-to-red: - shard-kbl: NOTRUN -> [SKIP][42] ([fdo#109271] / [fdo#111827]) +15 similar issues [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-kbl4/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html * igt@kms_color_chamelium@pipe-c-ctm-0-25: - shard-apl: NOTRUN -> [SKIP][43] ([fdo#109271] / [fdo#111827]) +29 similar issues [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl6/igt@kms_color_chamelium@pipe-c-ctm-0-25.html - shard-tglb: NOTRUN -> [SKIP][44] ([fdo#109284] / [fdo#111827]) +4 similar issues [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb8/igt@kms_color_chamelium@pipe-c-ctm-0-25.html * igt@kms_color_chamelium@pipe-invalid-ctm-matrix-sizes: - shard-snb: NOTRUN -> [SKIP][45] ([fdo#109271] / [fdo#111827]) +23 similar issues [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-snb2/igt@kms_color_chamelium@pipe-invalid-ctm-matrix-sizes.html * igt@kms_content_protection@lic: - shard-apl: NOTRUN -> [TIMEOUT][46] ([i915#1319]) +1 similar issue [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl6/igt@kms_content_protection@lic.html * igt@kms_content_protection@srm: - shard-kbl: NOTRUN -> [TIMEOUT][47] ([i915#1319]) [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-kbl6/igt@kms_content_protection@srm.html * igt@kms_content_protection@uevent: - shard-apl: NOTRUN -> [FAIL][48] ([i915#2105]) [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl3/igt@kms_content_protection@uevent.html * igt@kms_cursor_crc@pipe-a-cursor-128x42-sliding: - shard-apl: NOTRUN -> [FAIL][49] ([i915#54]) [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl1/igt@kms_cursor_crc@pipe-a-cursor-128x42-sliding.html - shard-kbl: [PASS][50] -> [FAIL][51] ([i915#54]) [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-kbl7/igt@kms_cursor_crc@pipe-a-cursor-128x42-sliding.html [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-128x42-sliding.html * igt@kms_cursor_crc@pipe-b-cursor-512x170-offscreen: - shard-iclb: NOTRUN -> [SKIP][52] ([fdo#109278] / [fdo#109279]) +1 similar issue [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb3/igt@kms_cursor_crc@pipe-b-cursor-512x170-offscreen.html * igt@kms_cursor_crc@pipe-b-cursor-alpha-opaque: - shard-glk: [PASS][53] -> [FAIL][54] ([i915#54]) +3 similar issues [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-glk4/igt@kms_cursor_crc@pipe-b-cursor-alpha-opaque.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-glk5/igt@kms_cursor_crc@pipe-b-cursor-alpha-opaque.html * igt@kms_cursor_crc@pipe-c-cursor-512x170-sliding: - shard-tglb: NOTRUN -> [SKIP][55] ([fdo#109279]) +1 similar issue [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb1/igt@kms_cursor_crc@pipe-c-cursor-512x170-sliding.html * igt@kms_cursor_crc@pipe-c-cursor-alpha-opaque: - shard-iclb: [PASS][56] -> [FAIL][57] ([i915#54]) +2 similar issues [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-iclb6/igt@kms_cursor_crc@pipe-c-cursor-alpha-opaque.html [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb1/igt@kms_cursor_crc@pipe-c-cursor-alpha-opaque.html * igt@kms_cursor_crc@pipe-d-cursor-64x21-sliding: - shard-iclb: NOTRUN -> [SKIP][58] ([fdo#109278]) +7 similar issues [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb1/igt@kms_cursor_crc@pipe-d-cursor-64x21-sliding.html * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions: - shard-iclb: NOTRUN -> [SKIP][59] ([fdo#109274] / [fdo#109278]) [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb4/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions.html * igt@kms_cursor_legacy@flip-vs-cursor-toggle: - shard-tglb: NOTRUN -> [FAIL][60] ([i915#2346]) [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb6/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html * igt@kms_cursor_legacy@pipe-d-torture-bo: - shard-apl: NOTRUN -> [SKIP][61] ([fdo#109271] / [i915#533]) [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl7/igt@kms_cursor_legacy@pipe-d-torture-bo.html * igt@kms_draw_crc@draw-method-rgb565-pwrite-ytiled: - shard-glk: NOTRUN -> [FAIL][62] ([i915#52] / [i915#54]) +2 similar issues [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-glk5/igt@kms_draw_crc@draw-method-rgb565-pwrite-ytiled.html * igt@kms_draw_crc@draw-method-rgb565-render-ytiled: - shard-glk: [PASS][63] -> [FAIL][64] ([i915#52] / [i915#54]) +3 similar issues [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-glk6/igt@kms_draw_crc@draw-method-rgb565-render-ytiled.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-glk5/igt@kms_draw_crc@draw-method-rgb565-render-ytiled.html * igt@kms_fbcon_fbt@fbc-suspend: - shard-kbl: [PASS][65] -> [INCOMPLETE][66] ([i915#155] / [i915#180] / [i915#636]) [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-kbl2/igt@kms_fbcon_fbt@fbc-suspend.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-kbl3/igt@kms_fbcon_fbt@fbc-suspend.html * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible: - shard-tglb: NOTRUN -> [SKIP][67] ([fdo#111825]) +12 similar issues [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb6/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html - shard-iclb: NOTRUN -> [SKIP][68] ([fdo#109274]) +1 similar issue [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb1/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html * igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible@a-edp1: - shard-tglb: NOTRUN -> [FAIL][69] ([i915#2122]) [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb7/igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible@a-edp1.html * igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a1: - shard-glk: [PASS][70] -> [FAIL][71] ([i915#79]) [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-glk4/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a1.html [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-glk4/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a1.html * igt@kms_flip@flip-vs-suspend-interruptible@a-vga1: - shard-snb: [PASS][72] -> [DMESG-WARN][73] ([i915#2772]) [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-snb7/igt@kms_flip@flip-vs-suspend-interruptible@a-vga1.html [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-snb6/igt@kms_flip@flip-vs-suspend-interruptible@a-vga1.html * igt@kms_flip@flip-vs-suspend@a-dp1: - shard-apl: [PASS][74] -> [DMESG-WARN][75] ([i915#180]) [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-apl8/igt@kms_flip@flip-vs-suspend@a-dp1.html [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl8/igt@kms_flip@flip-vs-suspend@a-dp1.html * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile: - shard-kbl: NOTRUN -> [SKIP][76] ([fdo#109271] / [i915#2642]) [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-kbl7/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile.html * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs: - shard-kbl: NOTRUN -> [SKIP][77] ([fdo#109271] / [i915#2672]) [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-kbl3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs.html - shard-apl: NOTRUN -> [SKIP][78] ([fdo#109271] / [i915#2672]) [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl8/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs.html * igt@kms_frontbuffer_tracking@fbc-2p-shrfb-fliptrack-mmap-gtt: - shard-iclb: NOTRUN -> [SKIP][79] ([fdo#109280]) +9 similar issues [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-2p-shrfb-fliptrack-mmap-gtt.html * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-render: - shard-glk: NOTRUN -> [SKIP][80] ([fdo#109271]) +36 similar issues [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-glk1/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-render.html * igt@kms_hdmi_inject@inject-audio: - shard-tglb: [PASS][81] -> [SKIP][82] ([i915#433]) [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-tglb5/igt@kms_hdmi_inject@inject-audio.html [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb3/igt@kms_hdmi_inject@inject-audio.html * igt@kms_pipe_b_c_ivb@from-pipe-c-to-b-with-3-lanes: - shard-iclb: NOTRUN -> [SKIP][83] ([fdo#109289]) +1 similar issue [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb8/igt@kms_pipe_b_c_ivb@from-pipe-c-to-b-with-3-lanes.html * igt@kms_plane_alpha_blend@pipe-b-alpha-basic: - shard-kbl: NOTRUN -> [FAIL][84] ([fdo#108145] / [i915#265]) +2 similar issues [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-kbl7/igt@kms_plane_alpha_blend@pipe-b-alpha-basic.html * igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb: - shard-apl: NOTRUN -> [FAIL][85] ([i915#265]) +2 similar issues [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl8/igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb.html * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max: - shard-apl: NOTRUN -> [FAIL][86] ([fdo#108145] / [i915#265]) +3 similar issues [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl2/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max.html * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max: - shard-glk: NOTRUN -> [FAIL][87] ([fdo#108145] / [i915#265]) +1 similar issue [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-glk1/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max.html * igt@kms_plane_lowres@pipe-a-tiling-none: - shard-glk: NOTRUN -> [FAIL][88] ([i915#899]) [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-glk6/igt@kms_plane_lowres@pipe-a-tiling-none.html * igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-c-scaler-with-clipping-clamping: - shard-apl: NOTRUN -> [SKIP][89] ([fdo#109271] / [i915#2733]) [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl7/igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-c-scaler-with-clipping-clamping.html * igt@kms_properties@connector-properties-legacy: - shard-iclb: [PASS][90] -> [DMESG-WARN][91] ([i915#1226]) [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-iclb6/igt@kms_properties@connector-properties-legacy.html [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb6/igt@kms_properties@connector-properties-legacy.html * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1: - shard-kbl: NOTRUN -> [SKIP][92] ([fdo#109271] / [i915#658]) +4 similar issues [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-kbl1/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1.html - shard-iclb: NOTRUN -> [SKIP][93] ([i915#658]) [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb8/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1.html - shard-glk: NOTRUN -> [SKIP][94] ([fdo#109271] / [i915#658]) [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-glk2/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1.html * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-2: - shard-apl: NOTRUN -> [SKIP][95] ([fdo#109271] / [i915#658]) +3 similar issues [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl8/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-2.html * igt@kms_psr@psr2_basic: - shard-iclb: NOTRUN -> [SKIP][96] ([fdo#109441]) +2 similar issues [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb1/igt@kms_psr@psr2_basic.html * igt@kms_psr@psr2_cursor_render: - shard-iclb: [PASS][97] -> [SKIP][98] ([fdo#109441]) +1 similar issue [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-iclb2/igt@kms_psr@psr2_cursor_render.html [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb3/igt@kms_psr@psr2_cursor_render.html * igt@kms_sysfs_edid_timing: - shard-kbl: NOTRUN -> [FAIL][99] ([IGT#2]) [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-kbl1/igt@kms_sysfs_edid_timing.html * igt@kms_vblank@pipe-b-ts-continuation-suspend: - shard-kbl: NOTRUN -> [DMESG-WARN][100] ([i915#180]) [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-kbl2/igt@kms_vblank@pipe-b-ts-continuation-suspend.html * igt@kms_vblank@pipe-d-ts-continuation-idle: - shard-apl: NOTRUN -> [SKIP][101] ([fdo#109271]) +216 similar issues [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl2/igt@kms_vblank@pipe-d-ts-continuation-idle.html * igt@kms_vblank@pipe-d-wait-idle: - shard-kbl: NOTRUN -> [SKIP][102] ([fdo#109271] / [i915#533]) +2 similar issues [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-kbl4/igt@kms_vblank@pipe-d-wait-idle.html * igt@nouveau_crc@ctx-flip-threshold-reset-after-capture: - shard-iclb: NOTRUN -> [SKIP][103] ([i915#2530]) [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb2/igt@nouveau_crc@ctx-flip-threshold-reset-after-capture.html - shard-tglb: NOTRUN -> [SKIP][104] ([i915#2530]) [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb6/igt@nouveau_crc@ctx-flip-threshold-reset-after-capture.html * igt@prime_nv_pcopy@test1_macro: - shard-tglb: NOTRUN -> [SKIP][105] ([fdo#109291]) [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb2/igt@prime_nv_pcopy@test1_macro.html - shard-iclb: NOTRUN -> [SKIP][106] ([fdo#109291]) [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb3/igt@prime_nv_pcopy@test1_macro.html * igt@sysfs_clients@pidname: - shard-iclb: NOTRUN -> [SKIP][107] ([i915#2994]) [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb1/igt@sysfs_clients@pidname.html - shard-glk: NOTRUN -> [SKIP][108] ([fdo#109271] / [i915#2994]) [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-glk4/igt@sysfs_clients@pidname.html - shard-tglb: NOTRUN -> [SKIP][109] ([i915#2994]) [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb7/igt@sysfs_clients@pidname.html * igt@sysfs_clients@recycle-many: - shard-kbl: NOTRUN -> [SKIP][110] ([fdo#109271] / [i915#2994]) +1 similar issue [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-kbl3/igt@sysfs_clients@recycle-many.html * igt@sysfs_clients@sema-50: - shard-apl: NOTRUN -> [SKIP][111] ([fdo#109271] / [i915#2994]) +3 similar issues [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl2/igt@sysfs_clients@sema-50.html * igt@sysfs_heartbeat_interval@precise@vecs0: - shard-apl: [PASS][112] -> [FAIL][113] ([i915#1755]) [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-apl2/igt@sysfs_heartbeat_interval@precise@vecs0.html [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl6/igt@sysfs_heartbeat_interval@precise@vecs0.html #### Possible fixes #### * igt@gem_create@create-clear: - shard-glk: [FAIL][114] ([i915#1888] / [i915#3160]) -> [PASS][115] [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-glk8/igt@gem_create@create-clear.html [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-glk1/igt@gem_create@create-clear.html * igt@gem_eio@unwedge-stress: - shard-tglb: [TIMEOUT][116] ([i915#2369] / [i915#3063]) -> [PASS][117] [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-tglb7/igt@gem_eio@unwedge-stress.html [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb5/igt@gem_eio@unwedge-stress.html * igt@gem_exec_fair@basic-flow@rcs0: - shard-tglb: [FAIL][118] ([i915#2842]) -> [PASS][119] [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-tglb5/igt@gem_exec_fair@basic-flow@rcs0.html [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb6/igt@gem_exec_fair@basic-flow@rcs0.html * igt@gem_exec_fair@basic-pace-share@rcs0: - shard-glk: [FAIL][120] ([i915#2842]) -> [PASS][121] [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-glk5/igt@gem_exec_fair@basic-pace-share@rcs0.html [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-glk4/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@gem_exec_fair@basic-pace-solo@rcs0: - shard-kbl: [FAIL][122] ([i915#2842]) -> [PASS][123] [122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-kbl4/igt@gem_exec_fair@basic-pace-solo@rcs0.html [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-kbl4/igt@gem_exec_fair@basic-pace-solo@rcs0.html * igt@gem_exec_fair@basic-pace@bcs0: - shard-iclb: [FAIL][124] ([i915#2842]) -> [PASS][125] [124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-iclb2/igt@gem_exec_fair@basic-pace@bcs0.html [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-iclb4/igt@gem_exec_fair@basic-pace@bcs0.html * igt@gem_exec_whisper@basic-normal-all: - shard-glk: [DMESG-WARN][126] ([i915#118] / [i915#95]) -> [PASS][127] [126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-glk1/igt@gem_exec_whisper@basic-normal-all.html [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-glk4/igt@gem_exec_whisper@basic-normal-all.html * igt@gem_huc_copy@huc-copy: - shard-tglb: [SKIP][128] ([i915#2190]) -> [PASS][129] [128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-tglb6/igt@gem_huc_copy@huc-copy.html [129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb7/igt@gem_huc_copy@huc-copy.html * igt@kms_cursor_crc@pipe-c-cursor-256x85-onscreen: - shard-apl: [FAIL][130] ([i915#54]) -> [PASS][131] +1 similar issue [130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-apl3/igt@kms_cursor_crc@pipe-c-cursor-256x85-onscreen.html [131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl1/igt@kms_cursor_crc@pipe-c-cursor-256x85-onscreen.html * igt@kms_cursor_crc@pipe-c-cursor-64x64-sliding: - shard-kbl: [FAIL][132] ([i915#54]) -> [PASS][133] +1 similar issue [132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-kbl7/igt@kms_cursor_crc@pipe-c-cursor-64x64-sliding.html [133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-kbl4/igt@kms_cursor_crc@pipe-c-cursor-64x64-sliding.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic: - shard-tglb: [FAIL][134] ([i915#2346]) -> [PASS][135] [134]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-tglb3/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html [135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-tglb3/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html * igt@kms_draw_crc@draw-method-rgb565-mmap-wc-ytiled: - shard-glk: [FAIL][136] ([i915#52] / [i915#54]) -> [PASS][137] +1 similar issue [136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-glk4/igt@kms_draw_crc@draw-method-rgb565-mmap-wc-ytiled.html [137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-glk8/igt@kms_draw_crc@draw-method-rgb565-mmap-wc-ytiled.html * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes: - shard-apl: [DMESG-WARN][138] ([i915#180]) -> [PASS][139] [138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9919/shard-apl6/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html [139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/shard-apl3/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html * igt@kms_psr@psr2_primary_mmap_cpu: - shard-iclb: [SKIP == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5683/index.html [-- Attachment #1.2: Type: text/html, Size: 33750 bytes --] [-- Attachment #2: Type: text/plain, Size: 154 bytes --] _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] tests/kms_cursor_crc: use flipping instead of frontbuffer 2021-03-31 18:31 [igt-dev] [PATCH i-g-t] tests/kms_cursor_crc: use flipping instead of frontbuffer Juha-Pekka Heikkila 2021-03-31 19:30 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_cursor_crc: use flipping instead of frontbuffer (rev3) Patchwork 2021-03-31 21:01 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork @ 2021-05-03 13:02 ` Kahola, Mika 2 siblings, 0 replies; 4+ messages in thread From: Kahola, Mika @ 2021-05-03 13:02 UTC (permalink / raw) To: Juha-Pekka Heikkila, igt-dev > -----Original Message----- > From: igt-dev <igt-dev-bounces@lists.freedesktop.org> On Behalf Of Juha- > Pekka Heikkila > Sent: Wednesday, March 31, 2021 9:31 PM > To: igt-dev@lists.freedesktop.org > Subject: [igt-dev] [PATCH i-g-t] tests/kms_cursor_crc: use flipping instead of > frontbuffer > > take out frontbuffer usage from this test as it may fail this test on frontbuffer > related issues instead of cursor issues > > v2(vsyrjala): fix cursor size change test to run only one loop > > Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> > --- > tests/kms_cursor_crc.c | 151 ++++++++++++++++++++++------------------- > 1 file changed, 80 insertions(+), 71 deletions(-) > > diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c index > 2619e15e0..9bb96d79e 100644 > --- a/tests/kms_cursor_crc.c > +++ b/tests/kms_cursor_crc.c > @@ -64,14 +64,14 @@ typedef struct { > igt_plane_t *cursor; > cairo_surface_t *surface; > uint32_t devid; > - > + bool hwimageistestimage; > } data_t; > > #define TEST_DPMS (1<<0) > #define TEST_SUSPEND (1<<1) > > -#define FRONTBUFFER 0 > -#define RESTOREBUFFER 1 > +#define HWCURSORBUFFER 0 > +#define SWCOMPARISONBUFFER 1 > > static void draw_cursor(cairo_t *cr, int x, int y, int cw, int ch, double a) { > @@ -144,22 +144,16 @@ static bool cursor_visible(data_t *data, int x, int y) > return true; > } > > -static void restore_image(data_t *data) > +static void restore_image(data_t *data, uint32_t buffer) > { > cairo_t *cr; > - igt_display_t *display = &data->display; > > - /* rendercopy stripped in igt using cairo */ > - cr = igt_get_cairo_ctx(data->drm_fd, > - &data->primary_fb[FRONTBUFFER]); > + cr = igt_get_cairo_ctx(data->drm_fd, &data->primary_fb[buffer]); > cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); > cairo_set_source_surface(cr, data->surface, 0, 0); > cairo_rectangle(cr, 0, 0, data->screenw, data->screenh); > cairo_fill(cr); > igt_put_cairo_ctx(cr); > - igt_dirty_fb(data->drm_fd, &data->primary_fb[FRONTBUFFER]); > - igt_wait_for_vblank(data->drm_fd, > - display->pipes[data->pipe].crtc_offset); > } > > static void do_single_test(data_t *data, int x, int y) @@ -168,13 +162,11 @@ > static void do_single_test(data_t *data, int x, int y) > igt_pipe_crc_t *pipe_crc = data->pipe_crc; > igt_crc_t crc, ref_crc; > cairo_t *cr; > - int ret = 0; > + int ret = 0, hwcursorframe; > > igt_print_activity(); > > /* Hardware test */ > - restore_image(data); > - > igt_plane_set_position(data->cursor, x, y); > cursor_enable(data); > > @@ -182,19 +174,21 @@ static void do_single_test(data_t *data, int x, int y) > ret = igt_display_try_commit2(display, COMMIT_LEGACY); > igt_assert_eq(ret, -EINVAL); > igt_plane_set_position(data->cursor, 0, y); > - > return; > } > > igt_display_commit(display); > > - /* Extra vblank wait is because nonblocking cursor ioctl */ > - igt_wait_for_vblank(data->drm_fd, > - display->pipes[data->pipe].crtc_offset); > - igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc); > + igt_plane_set_fb(data->primary, &data- > >primary_fb[HWCURSORBUFFER]); > + igt_display_commit(display); > + > + hwcursorframe = kmstest_get_vblank(data->drm_fd, data->pipe, 0) + > 1; > + restore_image(data, SWCOMPARISONBUFFER); > > if (data->flags & (TEST_DPMS | TEST_SUSPEND)) { > igt_crc_t crc_after; > + /* Extra vblank wait to build full crc before dpms/suspend */ > + igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc); > /* > * stop/start crc to avoid dmesg notifications about userspace > * reading too slow. > @@ -220,18 +214,22 @@ static void do_single_test(data_t *data, int x, int y) > igt_assert_crc_equal(&crc, &crc_after); > } > > - cursor_disable(data); > - > /* Now render the same in software and collect crc */ > - cr = igt_get_cairo_ctx(data->drm_fd, &data- > >primary_fb[FRONTBUFFER]); > + cr = igt_get_cairo_ctx(data->drm_fd, > +&data->primary_fb[SWCOMPARISONBUFFER]); > draw_cursor(cr, x, y, data->curw, data->curh, 1.0); > igt_put_cairo_ctx(cr); > + igt_plane_set_fb(data->primary, &data- > >primary_fb[SWCOMPARISONBUFFER]); > + igt_display_commit(display); > + > + cursor_disable(data); > igt_display_commit(display); Just wondering if we need to commit before disabling cursor. I guess it doesn't hurt either. Reviewed-by: Mika Kahola <mika.kahola@intel.com> > - igt_dirty_fb(data->drm_fd, &data->primary_fb[FRONTBUFFER]); > - /* Extra vblank wait is because nonblocking cursor ioctl */ > + > igt_wait_for_vblank(data->drm_fd, > display->pipes[data->pipe].crtc_offset); > > + if (!(data->flags & (TEST_DPMS | TEST_SUSPEND))) > + igt_pipe_crc_get_for_frame(data->drm_fd, pipe_crc, > hwcursorframe, > +&crc); > + > igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &ref_crc); > igt_assert_crc_equal(&crc, &ref_crc); > } > @@ -244,8 +242,6 @@ static void do_fail_test(data_t *data, int x, int y, int > expect) > igt_print_activity(); > > /* Hardware test */ > - restore_image(data); > - > cursor_enable(data); > igt_plane_set_position(data->cursor, x, y); > ret = igt_display_try_commit2(display, COMMIT_LEGACY); @@ - > 362,13 +358,16 @@ static void cleanup_crtc(data_t *data) > igt_pipe_crc_free(data->pipe_crc); > data->pipe_crc = NULL; > > - cairo_surface_destroy(data->surface); > + if (data->hwimageistestimage) { > + cairo_surface_destroy(data->surface); > + data->surface = NULL; > + } > > igt_plane_set_fb(data->primary, NULL); > igt_display_commit(display); > > - igt_remove_fb(data->drm_fd, &data->primary_fb[FRONTBUFFER]); > - igt_remove_fb(data->drm_fd, &data->primary_fb[RESTOREBUFFER]); > + igt_remove_fb(data->drm_fd, &data- > >primary_fb[HWCURSORBUFFER]); > + igt_remove_fb(data->drm_fd, &data- > >primary_fb[SWCOMPARISONBUFFER]); > > igt_display_reset(display); > } > @@ -389,18 +388,18 @@ static void prepare_crtc(data_t *data, igt_output_t > *output, > DRM_FORMAT_XRGB8888, > LOCAL_DRM_FORMAT_MOD_NONE, > 0.0, 0.0, 0.0, > - &data->primary_fb[FRONTBUFFER]); > + &data->primary_fb[HWCURSORBUFFER]); > > igt_create_color_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, > DRM_FORMAT_XRGB8888, > LOCAL_DRM_FORMAT_MOD_NONE, > 0.0, 0.0, 0.0, > - &data->primary_fb[RESTOREBUFFER]); > + &data->primary_fb[SWCOMPARISONBUFFER]); > > data->primary = igt_output_get_plane_type(output, > DRM_PLANE_TYPE_PRIMARY); > data->cursor = igt_output_get_plane_type(output, > DRM_PLANE_TYPE_CURSOR); > > - igt_plane_set_fb(data->primary, &data- > >primary_fb[FRONTBUFFER]); > + igt_plane_set_fb(data->primary, > +&data->primary_fb[SWCOMPARISONBUFFER]); > > igt_display_commit(display); > > @@ -421,13 +420,22 @@ static void prepare_crtc(data_t *data, igt_output_t > *output, > data->curh = cursor_h; > data->refresh = mode->vrefresh; > > - data->surface = > cairo_image_surface_create(CAIRO_FORMAT_RGB24, data->screenw, data- > >screenh); > + if (data->hwimageistestimage) { > + data->surface = > cairo_image_surface_create(CAIRO_FORMAT_RGB24, > + data->screenw, > + data->screenh); > + > + /* store test image as cairo surface */ > + cr = cairo_create(data->surface); > + cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); > + igt_paint_test_pattern(cr, data->screenw, data->screenh); > + cairo_destroy(cr); > + > + /* Set HW cursor buffer in place */ > + restore_image(data, HWCURSORBUFFER); > + } else > + data->surface = NULL; > > - /* store test image as cairo surface */ > - cr = cairo_create(data->surface); > - cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); > - igt_paint_test_pattern(cr, data->screenw, data->screenh); > - cairo_destroy(cr); > igt_pipe_crc_start(data->pipe_crc); > } > > @@ -447,6 +455,10 @@ static void test_cursor_alpha(data_t *data, double > a) > LOCAL_DRM_FORMAT_MOD_NONE, > &data->fb); > igt_assert(fb_id); > + > + igt_plane_set_fb(data->primary, &data- > >primary_fb[HWCURSORBUFFER]); > + igt_display_commit(display); > + > cr = igt_get_cairo_ctx(data->drm_fd, &data->fb); > igt_paint_color_alpha(cr, 0, 0, curw, curh, 1.0, 1.0, 1.0, a); > igt_put_cairo_ctx(cr); > @@ -462,23 +474,15 @@ static void test_cursor_alpha(data_t *data, double > a) > igt_remove_fb(data->drm_fd, &data->fb); > > /* Software Test - render cursor in software, drawn it directly on PF > */ > - cr = igt_get_cairo_ctx(data->drm_fd, &data- > >primary_fb[FRONTBUFFER]); > + cr = igt_get_cairo_ctx(data->drm_fd, > +&data->primary_fb[SWCOMPARISONBUFFER]); > igt_paint_color_alpha(cr, 0, 0, curw, curh, 1.0, 1.0, 1.0, a); > igt_put_cairo_ctx(cr); > - > + igt_plane_set_fb(data->primary, > +&data->primary_fb[SWCOMPARISONBUFFER]); > igt_display_commit(display); > - igt_wait_for_vblank(data->drm_fd, > - display->pipes[data->pipe].crtc_offset); > igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &ref_crc); > > /* Compare CRC from Hardware/Software tests */ > igt_assert_crc_equal(&crc, &ref_crc); > - > - /*Clear Screen*/ > - cr = igt_get_cairo_ctx(data->drm_fd, &data- > >primary_fb[FRONTBUFFER]); > - igt_paint_color(cr, 0, 0, data->screenw, data->screenh, > - 0.0, 0.0, 0.0); > - igt_put_cairo_ctx(cr); > } > > static void test_cursor_transparent(data_t *data) @@ -571,10 +575,10 @@ > static void test_cursor_size(data_t *data) { > igt_display_t *display = &data->display; > igt_pipe_crc_t *pipe_crc = data->pipe_crc; > - igt_crc_t crc[10], ref_crc; > + igt_crc_t crc, ref_crc; > cairo_t *cr; > uint32_t fb_id; > - int i, size; > + int i, size, prevsize = 0; > int cursor_max_size = data->cursor_max_w; > > /* Create a maximum size cursor, then change the size in flight to > @@ -591,37 +595,38 @@ static void test_cursor_size(data_t *data) > igt_put_cairo_ctx(cr); > > /* Hardware test loop */ > - cursor_enable(data); > for (i = 0, size = cursor_max_size; size >= 64; size /= 2, i++) { > + cursor_enable(data); > /* Change size in flight: */ > igt_plane_set_size(data->cursor, size, size); > igt_fb_set_size(&data->fb, data->cursor, size, size); > igt_display_commit(display); > - igt_wait_for_vblank(data->drm_fd, > - display->pipes[data->pipe].crtc_offset); > - igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc[i]); > - } > - cursor_disable(data); > - igt_display_commit(display); > - igt_remove_fb(data->drm_fd, &data->fb); > - /* Software test loop */ > - for (i = 0, size = cursor_max_size; size >= 64; size /= 2, i++) { > + igt_plane_set_fb(data->primary, &data- > >primary_fb[HWCURSORBUFFER]); > + igt_display_commit(display); > + > + igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc); > + > + cursor_disable(data); > + igt_display_commit(display); > + > /* Now render the same in software and collect crc */ > - cr = igt_get_cairo_ctx(data->drm_fd, &data- > >primary_fb[FRONTBUFFER]); > + cr = igt_get_cairo_ctx(data->drm_fd, > +&data->primary_fb[SWCOMPARISONBUFFER]); > + > + /* remove previous cursor sw image */ > + if (prevsize > 0) > + igt_paint_color(cr, 0, 0, prevsize, prevsize, 0.0, 0.0, > 0.0); > + prevsize = size; > + > igt_paint_color_alpha(cr, 0, 0, size, size, 1.0, 1.0, 1.0, 1.0); > igt_put_cairo_ctx(cr); > - > + igt_plane_set_fb(data->primary, > +&data->primary_fb[SWCOMPARISONBUFFER]); > igt_display_commit(display); > - igt_wait_for_vblank(data->drm_fd, > - display->pipes[data->pipe].crtc_offset); > igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &ref_crc); > - /* Clear screen afterwards */ > - cr = igt_get_cairo_ctx(data->drm_fd, &data- > >primary_fb[FRONTBUFFER]); > - igt_paint_color(cr, 0, 0, data->screenw, data->screenh, > - 0.0, 0.0, 0.0); > - igt_put_cairo_ctx(cr); > - igt_assert_crc_equal(&crc[i], &ref_crc); > + > + igt_assert_crc_equal(&crc, &ref_crc); > } > + > + igt_remove_fb(data->drm_fd, &data->fb); > } > > static void test_rapid_movement(data_t *data) @@ -688,6 +693,7 @@ > static void run_size_tests(data_t *data, enum pipe pipe, > } > create_cursor_fb(data, w, h); > require_cursor_size(data, w, h); > + data->hwimageistestimage = true; > } > > /* Using created cursor FBs to test cursor support */ @@ -725,6 > +731,7 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe) > data->pipe = pipe; > data->output = igt_get_single_output_for_pipe(&data- > >display, pipe); > igt_require(data->output); > + data->hwimageistestimage = false; > } > > igt_describe("Create a maximum size cursor, then change the size in > " > @@ -744,8 +751,10 @@ static void run_tests_on_pipe(data_t *data, enum > pipe pipe) > igt_subtest_f("pipe-%s-cursor-alpha-transparent", > kmstest_pipe_name(pipe)) > run_test(data, test_cursor_transparent, data- > >cursor_max_w, data->cursor_max_h); > > - igt_fixture > + igt_fixture { > create_cursor_fb(data, data->cursor_max_w, data- > >cursor_max_h); > + data->hwimageistestimage = true; > + } > > igt_subtest_f("pipe-%s-cursor-dpms", kmstest_pipe_name(pipe)) { > data->flags = TEST_DPMS; > -- > 2.28.0 > > _______________________________________________ > igt-dev mailing list > igt-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/igt-dev _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-05-03 13:04 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-03-31 18:31 [igt-dev] [PATCH i-g-t] tests/kms_cursor_crc: use flipping instead of frontbuffer Juha-Pekka Heikkila 2021-03-31 19:30 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_cursor_crc: use flipping instead of frontbuffer (rev3) Patchwork 2021-03-31 21:01 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork 2021-05-03 13:02 ` [igt-dev] [PATCH i-g-t] tests/kms_cursor_crc: use flipping instead of frontbuffer Kahola, Mika
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.