From: "Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com>
To: Naladala Ramanaidu <ramanaidu.naladala@intel.com>,
<igt-dev@lists.freedesktop.org>
Cc: <kunal1.joshi@intel.com>
Subject: Re: [PATCH i-g-t v6 1/5] tests/kms_plane_scaling: Update the single plane scaling function arguments
Date: Thu, 18 Jul 2024 17:48:50 +0530 [thread overview]
Message-ID: <9c2641dc-b749-4a82-acf9-dff2769ff636@intel.com> (raw)
In-Reply-To: <20240718111146.665240-2-ramanaidu.naladala@intel.com>
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@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;
> }
next prev parent reply other threads:[~2024-07-18 12:20 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-18 11:11 [PATCH i-g-t v6 0/5] tests/kms_plane_scaling: Improvise the scaling BW issues Naladala Ramanaidu
2024-07-18 11:11 ` [PATCH i-g-t v6 1/5] tests/kms_plane_scaling: Update the single plane scaling function arguments Naladala Ramanaidu
2024-07-18 12:18 ` Nautiyal, Ankit K [this message]
2024-07-18 11:11 ` [PATCH i-g-t v6 2/5] tests/kms_plane_scaling: Update the multi " Naladala Ramanaidu
2024-07-18 12:20 ` Nautiyal, Ankit K
2024-07-18 11:11 ` [PATCH i-g-t v6 3/5] tests/kms_plane_scaling: Find display mode fitting in BW Naladala Ramanaidu
2024-07-18 11:40 ` Kamil Konieczny
2024-07-18 12:45 ` Nautiyal, Ankit K
2024-07-18 11:11 ` [PATCH i-g-t v6 4/5] tests/kms_plane_scaling: Find display mode fitting in BW for rotations Naladala Ramanaidu
2024-07-18 11:44 ` Kamil Konieczny
2024-07-18 12:49 ` Nautiyal, Ankit K
2024-07-18 11:11 ` [PATCH i-g-t v6 5/5] HAX patch do not merge Naladala Ramanaidu
2024-07-18 14:18 ` ✗ CI.xeBAT: failure for tests/kms_plane_scaling: Improvise the scaling BW issues. (rev6) Patchwork
2024-07-18 19:13 ` ✗ CI.xeFULL: " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2024-07-18 11:08 [PATCH i-g-t v6 0/5] tests/kms_plane_scaling: Improvise the Naladala Ramanaidu
2024-07-18 11:08 ` [PATCH i-g-t v6 1/5] tests/kms_plane_scaling: Update the single plane scaling function arguments Naladala Ramanaidu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9c2641dc-b749-4a82-acf9-dff2769ff636@intel.com \
--to=ankit.k.nautiyal@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=kunal1.joshi@intel.com \
--cc=ramanaidu.naladala@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox