[PATCH i-g-t v2] tests/kms_plane: Implement dynamic level execution across multiple planes
Pranay Samala
pranay.samala at intel.com
Wed May 22 05:11:18 UTC 2024
The test runs on all pipes on dynamic level to test all the supported
pixel-formats and modifiers on all plane of that pipe.
Updating the test to execute on each planes on dynamic level.
v2:
- Used an helper to avoid changes in indentation (Juha-pekka)
- Fix other indentations (Juha-pekka)
Signed-off-by: Pranay Samala <pranay.samala at intel.com>
---
tests/kms_plane.c | 49 +++++++++++++++++++++++++----------------------
1 file changed, 26 insertions(+), 23 deletions(-)
diff --git a/tests/kms_plane.c b/tests/kms_plane.c
index 406aecc04..7c29143f1 100644
--- a/tests/kms_plane.c
+++ b/tests/kms_plane.c
@@ -275,7 +275,7 @@ test_plane_position_with_output(data_t *data,
drmModeModeInfo *mode;
igt_crc_t crc, crc2;
- igt_info("Testing connector %s using pipe %s plane %d\n",
+ igt_debug("Testing connector %s using pipe %s plane %d\n",
igt_output_name(output), kmstest_pipe_name(pipe), plane);
igt_output_set_pipe(output, pipe);
@@ -285,8 +285,8 @@ test_plane_position_with_output(data_t *data,
sprite = igt_output_get_plane(output, plane);
if (primary->drm_plane->plane_id > sprite->drm_plane->plane_id) {
- igt_info("primary plane ID (%d) > sprite plane ID (%d), skipping plane %d\n",
- primary->drm_plane->plane_id, sprite->drm_plane->plane_id, plane);
+ igt_debug("primary plane ID (%d) > sprite plane ID (%d), skipping plane %d\n",
+ primary->drm_plane->plane_id, sprite->drm_plane->plane_id, plane);
return;
}
@@ -352,9 +352,9 @@ test_plane_position(data_t *data, enum pipe pipe)
test_grab_crc(data, output, pipe, &green, data->flags, &reference_crc);
for (int plane = 1; plane < n_planes; plane++)
- test_plane_position_with_output(data, pipe, plane,
- output, &reference_crc,
- data->flags);
+ igt_dynamic_f("pipe-%s-plane-%d", kmstest_pipe_name(pipe), plane)
+ test_plane_position_with_output(data, pipe, plane,
+ output, &reference_crc, data->flags);
test_fini(data);
}
@@ -415,7 +415,7 @@ test_plane_panning_with_output(data_t *data,
mode = igt_output_get_mode(output);
primary = igt_output_get_plane(output, 0);
- igt_info("Testing connector %s using pipe %s, mode %s\n",
+ igt_debug("Testing connector %s using pipe %s, mode %s\n",
igt_output_name(output), kmstest_pipe_name(pipe), mode->name);
create_fb_for_mode_panning(data, mode, &primary_fb);
@@ -455,7 +455,7 @@ test_plane_panning(data_t *data, enum pipe pipe)
igt_crc_t ref_crc;
igt_info("Using (pipe %s + %s) to run the subtest.\n",
- kmstest_pipe_name(pipe), igt_output_name(output));
+ kmstest_pipe_name(pipe), igt_output_name(output));
test_init(data, pipe);
@@ -463,7 +463,6 @@ test_plane_panning(data_t *data, enum pipe pipe)
for_each_memory_region(r, data->drm_fd)
if (r->ci.memory_class == I915_MEMORY_CLASS_DEVICE)
mem_size = r->cpu_size;
-
}
if (is_xe_device(data->drm_fd)) {
@@ -889,7 +888,7 @@ static bool test_format_plane_rgb(data_t *data, enum pipe pipe,
igt_crc_t ref_crc[],
struct igt_fb *fb)
{
- igt_info("Testing format " IGT_FORMAT_FMT " / modifier " IGT_MODIFIER_FMT " on %s.%u\n",
+ igt_debug("Testing format " IGT_FORMAT_FMT " / modifier " IGT_MODIFIER_FMT " on %s.%u\n",
IGT_FORMAT_ARGS(format), IGT_MODIFIER_ARGS(modifier),
kmstest_pipe_name(pipe), plane->index);
@@ -927,11 +926,9 @@ static bool test_format_plane_yuv(data_t *data, enum pipe pipe,
igt_color_range_to_str(r)))
continue;
- igt_info("Testing format " IGT_FORMAT_FMT " / modifier " IGT_MODIFIER_FMT " (%s, %s) on %s.%u\n",
- IGT_FORMAT_ARGS(format), IGT_MODIFIER_ARGS(modifier),
- igt_color_encoding_to_str(e),
- igt_color_range_to_str(r),
- kmstest_pipe_name(pipe), plane->index);
+ igt_debug("Testing format " IGT_FORMAT_FMT " / modifier " IGT_MODIFIER_FMT " (%s, %s) on %s.%u\n",
+ IGT_FORMAT_ARGS(format), IGT_MODIFIER_ARGS(modifier), igt_color_encoding_to_str(e),
+ igt_color_range_to_str(r), kmstest_pipe_name(pipe), plane->index);
result &= test_format_plane_colors(data, pipe, plane,
format, modifier,
@@ -1043,7 +1040,7 @@ static bool test_format_plane(data_t *data, enum pipe pipe,
igt_pipe_crc_start(data->pipe_crc);
- igt_info("Testing format " IGT_FORMAT_FMT " / modifier " IGT_MODIFIER_FMT " on %s.%u\n",
+ igt_debug("Testing format " IGT_FORMAT_FMT " / modifier " IGT_MODIFIER_FMT " on %s.%u\n",
IGT_FORMAT_ARGS(ref.format), IGT_MODIFIER_ARGS(ref.modifier),
kmstest_pipe_name(pipe), plane->index);
@@ -1089,7 +1086,7 @@ static bool test_format_plane(data_t *data, enum pipe pipe,
};
if (igt_vec_index(&tested_formats, &rf) >= 0) {
- igt_info("Skipping format " IGT_FORMAT_FMT " / modifier " IGT_MODIFIER_FMT " on %s.%u\n",
+ igt_debug("Skipping format " IGT_FORMAT_FMT " / modifier " IGT_MODIFIER_FMT " on %s.%u\n",
IGT_FORMAT_ARGS(f.format), IGT_MODIFIER_ARGS(f.modifier),
kmstest_pipe_name(pipe), plane->index);
continue;
@@ -1211,7 +1208,8 @@ test_pixel_formats(data_t *data, enum pipe pipe)
for_each_plane_on_pipe(&data->display, pipe, plane) {
if (skip_plane(data, plane))
continue;
- result &= test_format_plane(data, pipe, output, plane, &primary_fb);
+ igt_dynamic_f("pipe-%s-plane-%u", kmstest_pipe_name(pipe), plane->index)
+ result &= test_format_plane(data, pipe, output, plane, &primary_fb);
}
test_fini(data);
@@ -1317,14 +1315,19 @@ static void run_test(data_t *data, void (*test)(data_t *, enum pipe))
continue;
igt_output_set_pipe(data->output, PIPE_NONE);
- igt_dynamic_f("pipe-%s", kmstest_pipe_name(pipe))
- test(data, pipe);
+ test(data, pipe);
if (is_pipe_limit_reached(++count))
break;
}
}
+static void dynamic_test_handler(data_t *data, enum pipe pipe)
+{
+ igt_dynamic_f("pipe-%s", kmstest_pipe_name(pipe))
+ test_plane_panning(data, pipe);
+}
+
static void
run_tests_for_pipe_plane(data_t *data)
{
@@ -1361,20 +1364,20 @@ run_tests_for_pipe_plane(data_t *data)
igt_describe("verify plane panning at top-left position using primary plane");
igt_subtest_with_dynamic_f("plane-panning-top-left") {
data->flags = TEST_PANNING_TOP_LEFT;
- run_test(data, test_plane_panning);
+ run_test(data, dynamic_test_handler);
}
igt_describe("verify plane panning at bottom-right position using primary plane");
igt_subtest_with_dynamic_f("plane-panning-bottom-right") {
data->flags = TEST_PANNING_BOTTOM_RIGHT;
- run_test(data, test_plane_panning);
+ run_test(data, dynamic_test_handler);
}
igt_describe("verify plane panning at bottom-right position using primary plane and executes system"
"suspend cycles");
igt_subtest_with_dynamic_f("plane-panning-bottom-right-suspend") {
data->flags = TEST_PANNING_BOTTOM_RIGHT | TEST_SUSPEND_RESUME;
- run_test(data, test_plane_panning);
+ run_test(data, dynamic_test_handler);
}
igt_describe("verify planar settings for pixel format are accepted or rejected correctly");
--
2.34.1
More information about the igt-dev
mailing list