[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