[igt-dev] [PATCH v2] tests/kms_plane: Handle hw without legacy gamma support

Rob Clark robdclark at gmail.com
Mon Aug 7 16:36:33 UTC 2023


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.

v2: igt_require(lut_size > 0) instead

Signed-off-by: Rob Clark <robdclark at chromium.org>
---
 tests/kms_plane.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/tests/kms_plane.c b/tests/kms_plane.c
index 67cff61d6cd1..2df1d2f0aeee 100644
--- a/tests/kms_plane.c
+++ b/tests/kms_plane.c
@@ -463,19 +463,22 @@ 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;
 	drmModeFreeCrtc(crtc);
 
+	igt_require(lut_size > 0);
+
 	lut = malloc(sizeof(uint16_t) * lut_size);
 
 	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_assert_eq(ret, 0);
 
 	free(lut);
 }
-- 
2.41.0



More information about the igt-dev mailing list