From: Naladala Ramanaidu <ramanaidu.naladala@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: ankit.k.nautiyal@intel.com, kunal1.joshi@intel.com,
Naladala Ramanaidu <ramanaidu.naladala@intel.com>
Subject: [PATCH i-g-t v6 1/5] tests/kms_plane_scaling: Update the single plane scaling function arguments
Date: Thu, 18 Jul 2024 16:38:47 +0530 [thread overview]
Message-ID: <20240718110851.665102-2-ramanaidu.naladala@intel.com> (raw)
In-Reply-To: <20240718110851.665102-1-ramanaidu.naladala@intel.com>
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);
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;
}
--
2.43.0
next prev parent reply other threads:[~2024-07-18 11:04 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
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 ` Naladala Ramanaidu [this message]
2024-07-18 11:08 ` [PATCH i-g-t v6 2/5] tests/kms_plane_scaling: Update the multi plane scaling function arguments Naladala Ramanaidu
2024-07-18 11:08 ` [PATCH i-g-t v6 3/5] tests/kms_plane_scaling: Find display mode fitting in BW Naladala Ramanaidu
2024-07-18 11:08 ` [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:08 ` [PATCH i-g-t v6 5/5] HAX patch do not merge Naladala Ramanaidu
2024-07-18 12:53 ` ✗ CI.xeBAT: failure for tests/kms_plane_scaling: Improvise the Patchwork
2024-07-18 16:42 ` ✗ CI.xeFULL: " Patchwork
-- strict thread matches above, loose matches on Subject: below --
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
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=20240718110851.665102-2-ramanaidu.naladala@intel.com \
--to=ramanaidu.naladala@intel.com \
--cc=ankit.k.nautiyal@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=kunal1.joshi@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