[igt-dev] [PATCH] tests/kms_plane: Handle hw without legacy gamma support
Kamil Konieczny
kamil.konieczny at linux.intel.com
Mon Aug 7 15:02:39 UTC 2023
Hi Rob,
On 2023-07-28 at 13:17:23 -0700, Rob Clark wrote:
> From: Rob Clark <robdclark at chromium.org>
>
> Skip the tests which require legacy gamma, instead of failing, if the hw
> does not support legacy gamma.
>
> Signed-off-by: Rob Clark <robdclark at chromium.org>
> ---
> tests/kms_plane.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/tests/kms_plane.c b/tests/kms_plane.c
> index 67cff61d6cd1..9f72a5bceae9 100644
> --- a/tests/kms_plane.c
> +++ b/tests/kms_plane.c
> @@ -463,7 +463,7 @@ static void set_legacy_lut(data_t *data, enum pipe pipe,
> igt_pipe_t *pipe_obj = &data->display.pipes[pipe];
> drmModeCrtc *crtc;
> uint16_t *lut;
> - int i, lut_size;
> + int i, lut_size, ret;
>
> crtc = drmModeGetCrtc(data->drm_fd, pipe_obj->crtc_id);
> lut_size = crtc->gamma_size;
If HW do not support it then lut_size should be zero
so igt_require could happen here instead of below?
Regards,
Kamil
> @@ -474,8 +474,10 @@ static void set_legacy_lut(data_t *data, enum pipe pipe,
> for (i = 0; i < lut_size; i++)
> lut[i] = (i * 0xffff / (lut_size - 1)) & mask;
>
> - igt_assert_eq(drmModeCrtcSetGamma(data->drm_fd, pipe_obj->crtc_id,
> - lut_size, lut, lut, lut), 0);
> + ret = drmModeCrtcSetGamma(data->drm_fd, pipe_obj->crtc_id,
> + lut_size, lut, lut, lut);
> + igt_require(ret != -ENOSYS);
> + igt_assert_eq(ret, 0);
>
> free(lut);
> }
> --
> 2.41.0
>
More information about the igt-dev
mailing list