summaryrefslogtreecommitdiff
path: root/tests/kms_plane_scaling.c
diff options
context:
space:
mode:
authorMohammed Khajapasha <mohammed.khajapasha@intel.com>2020-11-12 11:31:24 +0530
committerPetri Latvala <petri.latvala@intel.com>2020-11-12 13:53:41 +0200
commit1e2525da258aab5e0e3a7705ea8e89b521d5bf88 (patch)
treeb635e6bbb7fcd28bae0d062953c8d6a0a85f9e47 /tests/kms_plane_scaling.c
parent8cffaebec5228a5042cc6928ac582a0589e2de3e (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.c44
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")