[PATCH i-g-t v3 06/17] tests/kms_frontbuffer_tracking: remove TEST_MODE_ITER_BEGIN() from `fliptrack`
Michał Grzelak <[email protected]>
| Newsgroups | org.freedesktop.lists.igt-dev |
|---|---|
| Organization | Intel Technology Poland sp. z o.o. - ul. Slowackiego 173, 80-298 Gdansk - KRS 101882 - NIP 957-07-52-316 |
| Message-ID | <[email protected]> |
igt@kms_frontbuffer_tracking uses TEST_MODE_ITER_BEGIN(t) which consists of nested for loops. However many loops can be omitted due to continue statements. This obfuscates following the execution of any given codepath. Replace TEST_MODE_ITER_BEGIN(t) for fliptrack tests with macro definition and remove loops that are skipped. v2->v3 - identation cleanups (Mohammed) - pull conditions after first loop (Mohammed) v1->v2 - indent for-loops (Mohammed) Signed-off-by: Michał Grzelak <[email protected]> --- tests/intel/kms_frontbuffer_tracking.c | 40 +++++++++++++++++--------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/tests/intel/kms_frontbuffer_tracking.c b/tests/intel/kms_frontbuffer_tracking.c index dc8ef069b8..9faae7d3fd 100644 --- a/tests/intel/kms_frontbuffer_tracking.c +++ b/tests/intel/kms_frontbuffer_tracking.c @@ -4502,23 +4502,35 @@ int igt_main_args("", long_options, help_str, opt_handler, NULL) } TEST_MODE_ITER_END - TEST_MODE_ITER_BEGIN(t) - if (t.plane != PLANE_PRI || - t.screen != SCREEN_PRIM || - t.method != IGT_DRAW_MMAP_GTT || - (t.feature & FEATURE_FBC) == 0) + t.format = FORMAT_DEFAULT; + t.flip = FLIP_PAGEFLIP; + t.tiling = opt.tiling; + t.plane = PLANE_PRI; + t.screen = SCREEN_PRIM; + t.method = IGT_DRAW_MMAP_GTT; + + for (t.feature = 0; t.feature < FEATURE_COUNT; t.feature++) { + if (!opt.show_hidden && t.feature == FEATURE_NONE) + continue; + if ((t.feature & FEATURE_PSR) && (t.feature & FEATURE_DRRS)) + continue; + if ((t.feature & FEATURE_FBC) == 0) continue; - igt_subtest_f("%s-%s-%s-fliptrack-%s", - feature_str(t.feature), - pipes_str(t.pipes), - fbs_str(t.fbs), - igt_draw_get_method_name(t.method)) - { - igt_require(igt_draw_supports_method(drm.fd, t.method)); - fliptrack_subtest(&t, FLIP_PAGEFLIP); + for (t.pipes = 0; t.pipes < PIPE_COUNT; t.pipes++) { + for (t.fbs = 0; t.fbs < FBS_COUNT; t.fbs++) { + igt_subtest_f("%s-%s-%s-fliptrack-%s", + feature_str(t.feature), + pipes_str(t.pipes), + fbs_str(t.fbs), + igt_draw_get_method_name(t.method)) + { + igt_require(igt_draw_supports_method(drm.fd, t.method)); + fliptrack_subtest(&t, FLIP_PAGEFLIP); + } + } } - TEST_MODE_ITER_END + } TEST_MODE_ITER_BEGIN(t) if (t.screen == SCREEN_OFFSCREEN || -- 2.45.2