From: Melissa Wen <mwen@igalia.com>
To: igt-dev@lists.freedesktop.org
Cc: Petri Latvala <petri.latvala@intel.com>, kernel-dev@igalia.com
Subject: [igt-dev] [PATCH i-g-t] tests/kms_color: check degamma and gamma props in CTM subtests
Date: Thu, 3 Nov 2022 17:40:21 -0100 [thread overview]
Message-ID: <20221103184021.13961-1-mwen@igalia.com> (raw)
Some CTM subtests generate and set degamma/gamma LUTs without checking
if these properties are supported by the driver. Therefore, if degamma
and gamma are used in the subtest, check the color properties before
generate and set LUTs. If these properties are not supported, these
subtests will skip instead of failing.
Signed-off-by: Melissa Wen <mwen@igalia.com>
---
tests/kms_color.c | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/tests/kms_color.c b/tests/kms_color.c
index e4dc2465..e0222c42 100644
--- a/tests/kms_color.c
+++ b/tests/kms_color.c
@@ -463,7 +463,7 @@ static bool test_pipe_ctm(data_t *data,
};
gamma_lut_t *degamma_linear, *gamma_linear;
igt_output_t *output = data->output;
- bool ret = true;
+ bool set_luts, ret = true;
igt_display_t *display = &data->display;
drmModeModeInfo *mode = data->mode;
struct igt_fb fb_modeset, fb;
@@ -472,9 +472,6 @@ static bool test_pipe_ctm(data_t *data,
igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM));
- degamma_linear = generate_table(data->degamma_lut_size, 1.0);
- gamma_linear = generate_table(data->gamma_lut_size, 1.0);
-
igt_output_set_pipe(output, primary->pipe->pipe);
igt_output_override_mode(output, mode);
@@ -501,7 +498,14 @@ static bool test_pipe_ctm(data_t *data,
* representing intermediate values between 0 and 1.0 causes
* rounding issues and inaccuracies leading to crc mismatch.
*/
- if (memcmp(before, after, sizeof(color_t))) {
+ set_luts = memcmp(before, after, sizeof(color_t));
+ if (set_luts) {
+ igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT));
+ igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
+
+ degamma_linear = generate_table(data->degamma_lut_size, 1.0);
+ gamma_linear = generate_table(data->gamma_lut_size, 1.0);
+
set_degamma(data, primary->pipe, degamma_linear);
set_gamma(data, primary->pipe, gamma_linear);
} else {
@@ -542,8 +546,10 @@ static bool test_pipe_ctm(data_t *data,
igt_remove_fb(data->drm_fd, &fb);
igt_remove_fb(data->drm_fd, &fb_modeset);
- free_lut(degamma_linear);
- free_lut(gamma_linear);
+ if (set_luts) {
+ free_lut(degamma_linear);
+ free_lut(gamma_linear);
+ }
return ret;
}
--
2.35.1
next reply other threads:[~2022-11-03 18:41 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-03 18:40 Melissa Wen [this message]
2022-11-03 19:21 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_color: check degamma and gamma props in CTM subtests Patchwork
2022-11-04 15:44 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2022-11-04 21:01 ` [igt-dev] [PATCH i-g-t] " Alex Hung
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=20221103184021.13961-1-mwen@igalia.com \
--to=mwen@igalia.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=kernel-dev@igalia.com \
--cc=petri.latvala@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