From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> --- tests/kms_atomic_transition.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c index 54fc9da..3022e04 100644 --- a/tests/kms_atomic_transition.c +++ b/tests/kms_atomic_transition.c @@ -486,7 +486,7 @@ static void collect_crcs_mask(igt_pipe_crc_t **pipe_crcs, unsigned mask, igt_crc } } -static void run_modeset_tests(igt_display_t *display, int howmany, bool nonblocking) +static void run_modeset_tests(igt_display_t *display, int howmany, bool nonblocking, bool fencing) { struct igt_fb fbs[2]; int i, j; @@ -495,6 +495,7 @@ static void run_modeset_tests(igt_display_t *display, int howmany, bool nonblock igt_output_t *output; unsigned width = 0, height = 0; bool skip_test = false; + int out_fence[I915_MAX_PIPES]; for_each_connected_output(display, output) { drmModeModeInfo *mode = igt_output_get_mode(output); @@ -532,6 +533,11 @@ static void run_modeset_tests(igt_display_t *display, int howmany, bool nonblock igt_plane_set_size(plane, mode->hdisplay, mode->vdisplay); } else igt_plane_set_fb(plane, NULL); + + if(fencing) + igt_pipe_set_out_fence_ptr(&display->pipes[i], + &out_fence[i]); + } /* @@ -619,7 +625,7 @@ cleanup: } -static void run_modeset_transition(igt_display_t *display, int requested_outputs, bool nonblocking) +static void run_modeset_transition(igt_display_t *display, int requested_outputs, bool nonblocking, bool fencing) { igt_output_t *outputs[I915_MAX_PIPES] = {}; int num_outputs = 0; @@ -647,7 +653,7 @@ static void run_modeset_transition(igt_display_t *display, int requested_outputs "Should have at least %i outputs, found %i\n", requested_outputs, num_outputs); - run_modeset_tests(display, requested_outputs, nonblocking); + run_modeset_tests(display, requested_outputs, nonblocking, fencing); } igt_main @@ -706,10 +712,16 @@ igt_main for (i = 1; i <= I915_MAX_PIPES; i++) { igt_subtest_f("%ix-modeset-transitions", i) - run_modeset_transition(&display, i, false); + run_modeset_transition(&display, i, false, false); igt_subtest_f("%ix-modeset-transitions-nonblocking", i) - run_modeset_transition(&display, i, true); + run_modeset_transition(&display, i, true, false); + + igt_subtest_f("%ix-modeset-transitions-fencing", i) + run_modeset_transition(&display, i, false, true); + + igt_subtest_f("%ix-modeset-transitions-nonblocking-fencing", i) + run_modeset_transition(&display, i, true, true); } igt_fixture { -- 2.5.5 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx