[igt-dev] [v3] tests/kms_color: Fix CRC mismatch issues with ctm test
Shankar, Uma
uma.shankar at intel.com
Tue Mar 26 10:31:01 UTC 2019
>-----Original Message-----
>From: Shankar, Uma
>Sent: Monday, March 25, 2019 2:11 PM
>To: igt-dev at lists.freedesktop.org
>Cc: Shankar, Uma <uma.shankar at intel.com>
>Subject: [v3] tests/kms_color: Fix CRC mismatch issues with ctm test
>
>Due to Gamma/Degamma limitation with precision (lack of exact 1.0 representation)
>due to ABI restriction, applying linear gamma affects crc. This patch fixes the same by
>making ctm tests independant of gamma/degamma.
>
>v2: Disable degamma/gamma programming for ctm max test as it leads to crc
>mimsmatch. Limiting it to this test case alone as other tests need it to be enabled,
>hence not touching those scenarios.
>
>v3: Fixed a fumble with compilation.
Hi Ville,
Can I keep your RB on this version. We have a clean CI result available now.
Thanks & Regards,
Uma Shankar
>Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108147
>Signed-off-by: Uma Shankar <uma.shankar at intel.com>
>---
> tests/kms_color.c | 16 ++++++++++++++--
> 1 file changed, 14 insertions(+), 2 deletions(-)
>
>diff --git a/tests/kms_color.c b/tests/kms_color.c index decf3c2..dcc86ad 100644
>--- a/tests/kms_color.c
>+++ b/tests/kms_color.c
>@@ -696,8 +696,15 @@ static bool test_pipe_ctm(data_t *data,
> igt_assert(fb_modeset_id);
> igt_plane_set_fb(primary, &fb_modeset);
>
>- set_degamma(data, primary->pipe, degamma_linear);
>- set_gamma(data, primary->pipe, gamma_linear);
>+ /*
>+ * Don't program LUT's for max CTM cases as limitation of
>+ * representing 1.0 due to ABI limits causes crc mismatch
>+ */
>+ if (memcmp(before, after, sizeof(color_t))) {
>+ set_degamma(data, primary->pipe, degamma_linear);
>+ set_gamma(data, primary->pipe, gamma_linear);
>+ }
>+
> disable_ctm(primary->pipe);
> igt_display_commit(&data->display);
>
>@@ -1005,6 +1012,11 @@ run_tests_for_pipe(data_t *data, enum pipe p)
> * produce with an 8 bits per color framebuffer. */
> igt_require(!IS_CHERRYVIEW(data->devid));
>
>+ /* Disable and let default luts be applied by kernel */
>+ disable_degamma(primary->pipe);
>+ disable_gamma(primary->pipe);
>+ igt_display_commit(&data->display);
>+
> igt_assert(test_pipe_ctm(data, primary, red_green_blue,
> full_rgb, ctm));
> }
>--
>1.9.1
More information about the igt-dev
mailing list