[PATCH i-g-t 36/37] tests/kms_ccs: Skip testing on identical plane types

Ville Syrjala ville.syrjala at linux.intel.com
Tue Jul 2 23:28:16 UTC 2024


From: Ville Syrjälä <ville.syrjala at linux.intel.com>

On icl+ each plane type (HDR,SDR UV,SDR Y) have identical
capabilities, so only test one plane of each type. Makes the
test quite a bit faster:

Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
 tests/intel/kms_ccs.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/tests/intel/kms_ccs.c b/tests/intel/kms_ccs.c
index 60d8dc132105..8d3932de093e 100644
--- a/tests/intel/kms_ccs.c
+++ b/tests/intel/kms_ccs.c
@@ -977,6 +977,24 @@ static int test_ccs(data_t *data)
 	return valid_tests;
 }
 
+static bool skip_plane(data_t *data, igt_plane_t *plane)
+{
+	int index = plane->index;
+
+	if (intel_display_ver(intel_get_drm_devid(data->drm_fd)) < 11)
+		return false;
+
+	/*
+	 * Test 1 HDR plane, 1 SDR UV plane, 1 SDR Y plane.
+	 *
+	 * Kernel registers planes in the hardware Z order:
+	 * 0,1,2 HDR planes
+	 * 3,4 SDR UV planes
+	 * 5,6 SDR Y planes
+	 */
+	return index != 0 && index != 3 && index != 5;
+}
+
 static void test_output(data_t *data, const int testnum)
 {
 	uint16_t dev_id;
@@ -1025,6 +1043,9 @@ static void test_output(data_t *data, const int testnum)
 						igt_display_require_output_on_pipe(&data->display, data->pipe);
 
 						for_each_plane_on_pipe(&data->display, data->pipe, data->plane) {
+							if (skip_plane(data, data->plane))
+								continue;
+
 							for (int j = 0; j < ARRAY_SIZE(formats); j++) {
 								data->format = formats[j];
 								valid_tests += test_ccs(data);
-- 
2.44.2



More information about the igt-dev mailing list