summaryrefslogtreecommitdiff
path: root/tests/kms_atomic_transition.c
diff options
context:
space:
mode:
authorNidhi Gupta <nidhi1.gupta@intel.com>2020-12-16 12:12:27 +0530
committerPetri Latvala <petri.latvala@intel.com>2020-12-16 16:55:55 +0200
commit3d0934900bddeb7a68f1abab4cd05077f0609e32 (patch)
treed8613da9404a9735403ee692e5916cf8d3404853 /tests/kms_atomic_transition.c
parent2e5ad6b45c20c5b354325e0c818e25ba6087ecc2 (diff)
kms_atomic_transition:Convert nx-modeset-transitions subtest to dynamic
In kms_atomic_transition subtest,it will test all the pipes defined in IGT, i.e. IGT_MAX_PIPES whether the output is available or not.Later it has to be analysed and discarded as valid skip.To save this time, updated the test to first check the available outputs and then execute the test. V7: -Modified commit message. (Karthik) -Replaced for_each_single_pipe_with_single__output with for_each_connected_output to execute the test only on connected display. (Karthik) v8: -Modified the description subject line. (Petri) -Modified subtests names to remove redundancy. (Petri) -Added extra line before for loop. (Karthik) v9: -Made separate subtests for non-blocking and fencing parameters. (Petri) Signed-off-by: Nidhi Gupta <nidhi1.gupta@intel.com> Reviewed-by: Karthik B S <karthik.b.s@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
Diffstat (limited to 'tests/kms_atomic_transition.c')
-rw-r--r--tests/kms_atomic_transition.c37
1 files changed, 27 insertions, 10 deletions
diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
index a71bbe10..02206f0a 100644
--- a/tests/kms_atomic_transition.c
+++ b/tests/kms_atomic_transition.c
@@ -918,7 +918,7 @@ igt_main
igt_display_t display;
igt_output_t *output;
enum pipe pipe;
- int i;
+ int i, count = 0;
igt_fixture {
display.drm_fd = drm_open_driver_master(DRIVER_ANY);
@@ -929,6 +929,9 @@ igt_main
igt_require(display.is_atomic);
igt_display_require_output(&display);
+
+ for_each_connected_output(&display, output)
+ count++;
}
igt_subtest("plane-primary-toggle-with-vblank-wait")
@@ -1024,18 +1027,32 @@ igt_main
for_each_pipe_with_valid_output(&display, pipe, output)
run_transition_test(&display, pipe, output, TRANSITION_MODESET_DISABLE, false, false);
- for (i = 1; i <= IGT_MAX_PIPES; i++) {
- igt_subtest_f("%ix-modeset-transitions", i)
- run_modeset_transition(&display, i, false, false);
+ igt_subtest_with_dynamic("modeset-transition") {
+ for (i = 1; i <= count; i++) {
+ igt_dynamic_f("%ix-outputs", i)
+ run_modeset_transition(&display, i, false, false);
+ }
+ }
- igt_subtest_f("%ix-modeset-transitions-nonblocking", i)
- run_modeset_transition(&display, i, true, false);
+ igt_subtest_with_dynamic("modeset-transition-nonblocking") {
+ for (i = 1; i <= count; i++) {
+ igt_dynamic_f("%ix-outputs", i)
+ run_modeset_transition(&display, i, true, false);
+ }
+ }
- igt_subtest_f("%ix-modeset-transitions-fencing", i)
- run_modeset_transition(&display, i, false, true);
+ igt_subtest_with_dynamic("modeset-transition-fencing") {
+ for (i = 1; i <= count; i++) {
+ igt_dynamic_f("%ix-outputs", 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_subtest_with_dynamic("modeset-transition-nonblocking-fencing") {
+ for (i = 1; i <= count; i++) {
+ igt_dynamic_f("%ix-outputs", i)
+ run_modeset_transition(&display, i, true, true);
+ }
}
igt_fixture {