[igt-dev] [PATCH i-g-t] tests/kms_color: Remove gamma code from degamma tests

Srinivas, Vidya vidya.srinivas at intel.com
Sat Jun 5 05:41:28 UTC 2021


Thank you very much Mark, for testing the patch and providing the "Tested-by" tag.

Regards
Vidya

-----Original Message-----
From: Mark Yacoub <markyacoub at chromium.org> 
Sent: Friday, June 4, 2021 11:58 PM
To: Srinivas, Vidya <vidya.srinivas at intel.com>
Cc: intel-gfx at lists.freedesktop.org; igt-dev at lists.freedesktop.org; Almahallawy, Khaled <khaled.almahallawy at intel.com>; Lin, Charlton <charlton.lin at intel.com>; Latvala, Petri <petri.latvala at intel.com>
Subject: Re: [PATCH i-g-t] tests/kms_color: Remove gamma code from degamma tests

On Thu, Jun 3, 2021 at 1:04 PM Vidya Srinivas <vidya.srinivas at intel.com> wrote:
>
> CRC should be collected without degamma transformation and after 
> drawing gradient with degamma LUT.
> This patch removes things which are not related to degamma and makes 
> it similar to pipe gamma test.
>
Tested on ChromeOS on TGL (Delbin) and JSL (Drawlat)
Tested-by: Mark Yacoub <markyacoub at chromium.org>
> Signed-off-by: Vidya Srinivas <vidya.srinivas at intel.com>
> ---
>  tests/kms_color.c | 16 ++++++----------
>  1 file changed, 6 insertions(+), 10 deletions(-)
>
> diff --git a/tests/kms_color.c b/tests/kms_color.c index 
> 3a42532a5c27..2c9821cdecce 100644
> --- a/tests/kms_color.c
> +++ b/tests/kms_color.c
> @@ -31,8 +31,7 @@ static void test_pipe_degamma(data_t *data,  {
>         igt_output_t *output;
>         igt_display_t *display = &data->display;
> -       gamma_lut_t *degamma_linear, *degamma_full;
> -       gamma_lut_t *gamma_linear;
> +       gamma_lut_t *degamma_full;
>         color_t red_green_blue[] = {
>                 { 1.0, 0.0, 0.0 },
>                 { 0.0, 1.0, 0.0 },
> @@ -42,11 +41,8 @@ static void test_pipe_degamma(data_t *data,
>         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);
>         degamma_full = generate_table_max(data->degamma_lut_size);
>
> -       gamma_linear = generate_table(data->gamma_lut_size, 1.0);
> -
>         for_each_valid_output_on_pipe(&data->display, primary->pipe->pipe, output) {
>                 drmModeModeInfo *mode;
>                 struct igt_fb fb_modeset, fb; @@ -75,8 +71,7 @@ static 
> void test_pipe_degamma(data_t *data,
>
>                 igt_plane_set_fb(primary, &fb_modeset);
>                 disable_ctm(primary->pipe);
> -               disable_degamma(primary->pipe);
> -               set_gamma(data, primary->pipe, gamma_linear);
> +               set_degamma(data, primary->pipe, degamma_full);
>                 igt_display_commit(&data->display);
>
>                 /* Draw solid colors with no degamma transformation. 
> */ @@ -92,7 +87,6 @@ static void test_pipe_degamma(data_t *data,
>                  */
>                 paint_gradient_rectangles(data, mode, red_green_blue, &fb);
>                 igt_plane_set_fb(primary, &fb);
> -               set_degamma(data, primary->pipe, degamma_full);
>                 igt_display_commit(&data->display);
>                 igt_wait_for_vblank(data->drm_fd,
>                                 
> display->pipes[primary->pipe->pipe].crtc_offset);
> @@ -105,13 +99,13 @@ static void test_pipe_degamma(data_t *data,
>
>                 igt_plane_set_fb(primary, NULL);
>                 igt_output_set_pipe(output, PIPE_NONE);
> +               igt_display_commit2(&data->display, data->display.is_atomic ?
> +                                                       COMMIT_ATOMIC 
> + : COMMIT_LEGACY);
>                 igt_remove_fb(data->drm_fd, &fb);
>                 igt_remove_fb(data->drm_fd, &fb_modeset);
>         }
>
> -       free_lut(degamma_linear);
>         free_lut(degamma_full);
> -       free_lut(gamma_linear);
>  }
>
>  /*
> @@ -191,6 +185,8 @@ static void test_pipe_gamma(data_t *data,
>
>                 igt_plane_set_fb(primary, NULL);
>                 igt_output_set_pipe(output, PIPE_NONE);
> +               igt_display_commit2(&data->display, data->display.is_atomic ?
> +                                                       COMMIT_ATOMIC 
> + : COMMIT_LEGACY);
>                 igt_remove_fb(data->drm_fd, &fb);
>                 igt_remove_fb(data->drm_fd, &fb_modeset);
>         }
> --
> 2.7.4
>


More information about the igt-dev mailing list