diff options
author | Mohammed Khajapasha <mohammed.khajapasha@intel.com> | 2020-11-12 11:31:24 +0530 |
---|---|---|
committer | Petri Latvala <petri.latvala@intel.com> | 2020-11-12 13:53:41 +0200 |
commit | 1e2525da258aab5e0e3a7705ea8e89b521d5bf88 (patch) | |
tree | b635e6bbb7fcd28bae0d062953c8d6a0a85f9e47 /tests/kms_plane_scaling.c | |
parent | 8cffaebec5228a5042cc6928ac582a0589e2de3e (diff) |
tests/kms_plane_scaling: Don't run plane scaler tests on each output
Don't run plane scaler tests on each output of a pipe.
We probably don't need to test plane scaler tests on each
output of a pipe.
$ time ./build/tests/kms_plane_scaling
- real 17m6.593s
+ real 6m33.515s
Cc: petri.latvala@intel.com
Cc: mika.kahola@intel.com
Cc: juha-pekka.heikkila@intel.com
Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
Diffstat (limited to 'tests/kms_plane_scaling.c')
-rw-r--r-- | tests/kms_plane_scaling.c | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c index ecd2c2e3..39acad6c 100644 --- a/tests/kms_plane_scaling.c +++ b/tests/kms_plane_scaling.c @@ -238,6 +238,8 @@ static void test_scaler_with_rotation_pipe(data_t *d, enum pipe pipe, uint64_t tiling = is_i915_device(d->drm_fd) ? LOCAL_I915_FORMAT_MOD_Y_TILED : LOCAL_DRM_FORMAT_MOD_NONE; + igt_require(get_num_scalers(d, pipe) > 0); + igt_output_set_pipe(output, pipe); for_each_plane_on_pipe(display, pipe, plane) { if (plane->type == DRM_PLANE_TYPE_CURSOR) @@ -278,6 +280,8 @@ static void test_scaler_with_pixel_format_pipe(data_t *d, enum pipe pipe, igt_ou igt_display_t *display = &d->display; igt_plane_t *plane; + igt_require(get_num_scalers(d, pipe) > 0); + igt_output_set_pipe(output, pipe); for_each_plane_on_pipe(display, pipe, plane) { @@ -351,6 +355,8 @@ test_plane_scaling_on_pipe(data_t *d, enum pipe pipe, igt_output_t *output) uint64_t tiling = is_i915_device(display->drm_fd) ? LOCAL_I915_FORMAT_MOD_X_TILED : LOCAL_DRM_FORMAT_MOD_NONE; + igt_require(get_num_scalers(d, pipe) > 0); + igt_skip_on(!igt_display_has_format_mod(display, DRM_FORMAT_XRGB8888, tiling)); @@ -685,30 +691,32 @@ igt_main_args("", long_opts, help_str, opt_handler, &data) igt_require(data.display.is_atomic); } - for_each_pipe_static(pipe) igt_subtest_group { + igt_subtest_group { igt_output_t *output; - igt_fixture { - igt_display_require_output_on_pipe(&data.display, pipe); - - igt_require(get_num_scalers(&data, pipe) > 0); + igt_subtest_with_dynamic("plane-scaling") { + for_each_pipe_with_single_output(&data.display, pipe, output) + igt_dynamic_f("pipe-%s-plane-scaling", kmstest_pipe_name(pipe)) + test_plane_scaling_on_pipe(&data, pipe, output); } - igt_subtest_f("pipe-%s-plane-scaling", kmstest_pipe_name(pipe)) - for_each_valid_output_on_pipe(&data.display, pipe, output) - test_plane_scaling_on_pipe(&data, pipe, output); - - igt_subtest_f("pipe-%s-scaler-with-pixel-format", kmstest_pipe_name(pipe)) - for_each_valid_output_on_pipe(&data.display, pipe, output) - test_scaler_with_pixel_format_pipe(&data, pipe, output); + igt_subtest_with_dynamic("scaler-with-pixel-format") { + for_each_pipe_with_single_output(&data.display, pipe, output) + igt_dynamic_f("pipe-%s-scaler-with-pixel-format", kmstest_pipe_name(pipe)) + test_scaler_with_pixel_format_pipe(&data, pipe, output); + } - igt_subtest_f("pipe-%s-scaler-with-rotation", kmstest_pipe_name(pipe)) - for_each_valid_output_on_pipe(&data.display, pipe, output) - test_scaler_with_rotation_pipe(&data, pipe, output); + igt_subtest_with_dynamic("scaler-with-rotation") { + for_each_pipe_with_single_output(&data.display, pipe, output) + igt_dynamic_f("pipe-%s-scaler-with-rotation", kmstest_pipe_name(pipe)) + test_scaler_with_rotation_pipe(&data, pipe, output); + } - igt_subtest_f("pipe-%s-scaler-with-clipping-clamping", kmstest_pipe_name(pipe)) - for_each_valid_output_on_pipe(&data.display, pipe, output) - test_scaler_with_clipping_clamping_scenario(&data, pipe, output); + igt_subtest_with_dynamic("scaler-with-clipping-clamping") { + for_each_pipe_with_single_output(&data.display, pipe, output) + igt_dynamic_f("pipe-%s-scaler-with-rotation", kmstest_pipe_name(pipe)) + test_scaler_with_clipping_clamping_scenario(&data, pipe, output); + } } igt_subtest_f("2x-scaler-multi-pipe") |