[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