[PATCH i-g-t v2 03/16] tests/kms_async_flips: split outer test loop into two
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]> |
for_each_crtc_with_valid_output() iterates over every crtc with connected output. Split it into two loops. This is needed to handle cases per output. Signed-off-by: Michał Grzelak <[email protected]> --- tests/kms_async_flips.c | 63 ++++++++++++++++++++++------------------- 1 file changed, 34 insertions(+), 29 deletions(-) diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c index ef4b28eb52..03348d958d 100644 --- a/tests/kms_async_flips.c +++ b/tests/kms_async_flips.c @@ -877,39 +877,44 @@ static void run_test(data_t *data, void (*test)(data_t *)) if (data->atomic_path) require_atomic_async_cap(data); - for_each_crtc_with_valid_output(display, crtc, data->output) { - data->crtc = crtc; - igt_display_reset(display); + for_each_connected_output(display, data->output) { + for_each_crtc(&data->display, crtc) { + if(!igt_crtc_connector_valid(crtc, data->output)) + continue; - igt_output_set_crtc(data->output, - crtc); - if (!intel_pipe_output_combo_valid(display)) - continue; + data->crtc = crtc; + igt_display_reset(display); - test_init(data); + igt_output_set_crtc(data->output, + crtc); + if (!intel_pipe_output_combo_valid(display)) + continue; - if (data->linear_modifier) - data->modifier = DRM_FORMAT_MOD_LINEAR; - else - data->modifier = default_modifier(data); - - igt_require(igt_format_mods_has_modifier(&data->plane->format_mods_async, - data->modifier)); - - igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc), - data->output->name) { - /* - * FIXME: joiner+async flip is busted currently in KMD. - * Remove this check once the issues are fixed in KMD. - */ - igt_skip_on_f(is_joiner_mode(data->drm_fd, data->output), - "Skipping, async flip not supported on joiner mode\n"); - test_init_fbs(data); - test(data); + test_init(data); + + if (data->linear_modifier) + data->modifier = DRM_FORMAT_MOD_LINEAR; + else + data->modifier = default_modifier(data); + + igt_require(igt_format_mods_has_modifier(&data->plane->format_mods_async, + data->modifier)); + + igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc), + data->output->name) { + /* + * FIXME: joiner+async flip is busted currently in KMD. + * Remove this check once the issues are fixed in KMD. + */ + igt_skip_on_f(is_joiner_mode(data->drm_fd, data->output), + "Skipping, async flip not supported on joiner mode\n"); + test_init_fbs(data); + test(data); + } + /* Restrict to single pipe in simulation */ + if (data->single_pipe) + break; } - /* Restrict to single pipe in simulation */ - if (data->single_pipe) - break; } } -- 2.45.2