[PATCH i-g-t v1 2/2] tests/kms_vrr: Refactor VRR test to use global refresh rate from cmdline

Naladala Ramanaidu ramanaidu.naladala at intel.com
Tue Jul 8 22:05:02 UTC 2025


Applies the refresh rate provided via the `-r` command-line option
consistently to each display configuration during VRR testing.
This change improves test consistency and allows users to control
refresh rate behavior across all connected outputs.

Signed-off-by: Naladala Ramanaidu <ramanaidu.naladala at intel.com>
---
 tests/kms_vrr.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/tests/kms_vrr.c b/tests/kms_vrr.c
index a24f413de..b789a0a4f 100644
--- a/tests/kms_vrr.c
+++ b/tests/kms_vrr.c
@@ -156,6 +156,8 @@ typedef struct data {
 	bool static_image;
 } data_t;
 
+uint32_t opt_rr;
+
 typedef void (*test_t)(data_t*, enum pipe, igt_output_t*, uint32_t);
 
 /* Converts a timespec structure to nanoseconds. */
@@ -1090,6 +1092,8 @@ run_vrr_test(data_t *data, test_t test, uint32_t flags)
 	for_each_connected_output(&data->display, output) {
 		enum pipe pipe;
 
+		data->vtest_ns.rate_ns = igt_kms_frame_time_from_vrefresh(opt_rr);
+
 		if (!config_constraint(data, output, flags))
 			continue;
 
@@ -1111,6 +1115,7 @@ run_vrr_test(data_t *data, test_t test, uint32_t flags)
 				test(data, pipe, output, flags);
 
 		}
+		data->vtest_ns.rate_ns = 0;
 		igt_output_set_pipe(output, PIPE_NONE);
 		igt_output_override_mode(output, NULL);
 	}
@@ -1125,7 +1130,7 @@ static int opt_handler(int opt, int opt_index, void *_data)
 		data->duration_ns = atoi(optarg) * NSECS_PER_SEC;
 		break;
 	case 'r':
-		data->vtest_ns.rate_ns = igt_kms_frame_time_from_vrefresh(atoi(optarg));
+		opt_rr = atoi(optarg);
 		break;
 	case 's':
 		data->static_image = true;
-- 
2.43.0



More information about the igt-dev mailing list