[PATCH i-g-t v6 1/5] tests/kms_plane_scaling: Update the single plane scaling function arguments
Nautiyal, Ankit K
ankit.k.nautiyal at intel.com
Thu Jul 18 12:18:50 UTC 2024
On 7/18/2024 4:41 PM, Naladala Ramanaidu wrote:
> Update the helper test_scaler_with_modifier_pipe,
> test_scaler_with_rotation_pipe and test_scaler_with_pixel_format_pipe
> to use a scaling_factor and is_clip_clamp flag instead of explicit
> width and height parameters. This change simplifies the function interfaces
> and allows for testing scenarios, where we need to recalculate the width
> and height based on the display mode. Adjusted all function calls to match
> new argument order.
>
> v2: Update the function arguments (Ankit)
>
> Signed-off-by: Naladala Ramanaidu <ramanaidu.naladala at intel.com>
> ---
> tests/kms_plane_scaling.c | 85 +++++++++++++++++++++++----------------
> 1 file changed, 51 insertions(+), 34 deletions(-)
>
> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
> index 3f63d3cf4..bd38513ab 100644
> --- a/tests/kms_plane_scaling.c
> +++ b/tests/kms_plane_scaling.c
> @@ -569,7 +569,8 @@ static void cleanup_crtc(data_t *data)
> static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
> uint32_t pixel_format,
> uint64_t modifier,
> - int width, int height,
> + double sf_plane,
> + bool is_clip_clamp,
> bool is_upscale,
> enum pipe pipe,
> igt_output_t *output,
> @@ -579,8 +580,16 @@ static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
> drmModeModeInfo *mode;
> int commit_ret;
> int w, h;
> + int width, height;
>
> mode = igt_output_get_mode(output);
> + if (is_clip_clamp == true) {
> + width = mode->hdisplay + 100;
> + height = mode->vdisplay + 100;
> + } else {
> + width = get_width(mode, sf_plane);
> + height = get_height(mode, sf_plane);
> + }
>
> if (is_upscale) {
> w = width;
> @@ -603,7 +612,9 @@ static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
> igt_fb_set_position(&d->fb[0], plane, 0, 0);
> igt_fb_set_size(&d->fb[0], plane, w, h);
> igt_plane_set_position(plane, 0, 0);
> -
> + commit_ret = igt_display_try_commit2(display, COMMIT_ATOMIC);
> + igt_skip_on_f(commit_ret == -ERANGE || commit_ret == -EINVAL,
> + "Mode fail with %dx%d\n", w, h);
This change does not belong to this patch.
Regards,
Ankit
> if (is_upscale)
> igt_plane_set_size(plane, mode->hdisplay, mode->vdisplay);
> else
> @@ -693,7 +704,8 @@ static const uint64_t modifiers[] = {
> };
>
> static void test_scaler_with_modifier_pipe(data_t *d,
> - int width, int height,
> + double sf_plane,
> + bool is_clip_clamp,
> bool is_upscale,
> enum pipe pipe,
> igt_output_t *output)
> @@ -716,7 +728,8 @@ static void test_scaler_with_modifier_pipe(data_t *d,
> if (igt_plane_has_format_mod(plane, format, modifier))
> check_scaling_pipe_plane_rot(d, plane,
> format, modifier,
> - width, height,
> + sf_plane,
> + is_clip_clamp,
> is_upscale,
> pipe, output,
> IGT_ROTATION_0);
> @@ -725,7 +738,8 @@ static void test_scaler_with_modifier_pipe(data_t *d,
> }
>
> static void test_scaler_with_rotation_pipe(data_t *d,
> - int width, int height,
> + double sf_plane,
> + bool is_clip_clamp,
> bool is_upscale,
> enum pipe pipe,
> igt_output_t *output)
> @@ -749,7 +763,8 @@ static void test_scaler_with_rotation_pipe(data_t *d,
> if (igt_plane_has_rotation(plane, rot))
> check_scaling_pipe_plane_rot(d, plane,
> format, modifier,
> - width, height,
> + sf_plane,
> + is_clip_clamp,
> is_upscale,
> pipe, output,
> rot);
> @@ -757,8 +772,11 @@ static void test_scaler_with_rotation_pipe(data_t *d,
> }
> }
>
> -static void test_scaler_with_pixel_format_pipe(data_t *d, int width, int height, bool is_upscale,
> - enum pipe pipe, igt_output_t *output)
> +static void test_scaler_with_pixel_format_pipe(data_t *d, double sf_plane,
> + bool is_clip_clamp,
> + bool is_upscale,
> + enum pipe pipe,
> + igt_output_t *output)
> {
> igt_display_t *display = &d->display;
> uint64_t modifier = DRM_FORMAT_MOD_LINEAR;
> @@ -787,9 +805,11 @@ static void test_scaler_with_pixel_format_pipe(data_t *d, int width, int height,
> can_scale(d, format))
> check_scaling_pipe_plane_rot(d, plane,
> format, modifier,
> - width, height,
> + sf_plane,
> + is_clip_clamp,
> is_upscale,
> - pipe, output, IGT_ROTATION_0);
> + pipe, output,
> + IGT_ROTATION_0);
> }
>
> igt_vec_fini(&tested_formats);
> @@ -1307,13 +1327,12 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
> continue;
>
> igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), igt_output_name(output)) {
> - drmModeModeInfo *mode = igt_output_get_mode(output);
>
> test_scaler_with_pixel_format_pipe(&data,
> - get_width(mode, scaler_with_pixel_format_tests[index].sf),
> - get_height(mode, scaler_with_pixel_format_tests[index].sf),
> - scaler_with_pixel_format_tests[index].is_upscale,
> - pipe, output);
> + scaler_with_pixel_format_tests[index].sf,
> + false,
> + scaler_with_pixel_format_tests[index].is_upscale,
> + pipe, output);
> }
> break;
> }
> @@ -1332,13 +1351,12 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
> continue;
>
> igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), igt_output_name(output)) {
> - drmModeModeInfo *mode = igt_output_get_mode(output);
>
> test_scaler_with_rotation_pipe(&data,
> - get_width(mode, scaler_with_rotation_tests[index].sf),
> - get_height(mode, scaler_with_rotation_tests[index].sf),
> - scaler_with_rotation_tests[index].is_upscale,
> - pipe, output);
> + scaler_with_rotation_tests[index].sf,
> + false,
> + scaler_with_rotation_tests[index].is_upscale,
> + pipe, output);
> }
> break;
> }
> @@ -1357,13 +1375,12 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
> continue;
>
> igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), igt_output_name(output)) {
> - drmModeModeInfo *mode = igt_output_get_mode(output);
>
> test_scaler_with_modifier_pipe(&data,
> - get_width(mode, scaler_with_modifiers_tests[index].sf),
> - get_height(mode, scaler_with_modifiers_tests[index].sf),
> - scaler_with_modifiers_tests[index].is_upscale,
> - pipe, output);
> + scaler_with_modifiers_tests[index].sf,
> + false,
> + scaler_with_modifiers_tests[index].is_upscale,
> + pipe, output);
> }
> break;
> }
> @@ -1381,10 +1398,10 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
> continue;
>
> igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), igt_output_name(output)) {
> - drmModeModeInfo *mode = igt_output_get_mode(output);
>
> - test_scaler_with_pixel_format_pipe(&data, mode->hdisplay + 100,
> - mode->vdisplay + 100, false, pipe, output);
> + test_scaler_with_pixel_format_pipe(&data, 0.0, true,
> + false, pipe,
> + output);
> }
> break;
> }
> @@ -1401,10 +1418,10 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
> continue;
>
> igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), igt_output_name(output)) {
> - drmModeModeInfo *mode = igt_output_get_mode(output);
>
> - test_scaler_with_rotation_pipe(&data, mode->hdisplay + 100,
> - mode->vdisplay + 100, false, pipe, output);
> + test_scaler_with_rotation_pipe(&data, 0.0, true,
> + false, pipe,
> + output);
> }
> break;
> }
> @@ -1421,9 +1438,9 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
> continue;
>
> igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), igt_output_name(output)) {
> - drmModeModeInfo *mode = igt_output_get_mode(output);
> - test_scaler_with_modifier_pipe(&data, mode->hdisplay + 100,
> - mode->vdisplay + 100, false, pipe, output);
> + test_scaler_with_modifier_pipe(&data, 0.0, true,
> + false, pipe,
> + output);
> }
> break;
> }
More information about the igt-dev
mailing list