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

Rob Clark robdclark at gmail.com
Fri Jul 28 20:17:23 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.

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;
@@ -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