[i-g-t 21/22] tests/kms_color_helper: Add helpers to clear colorops data

Bhanuprakash Modem bhanuprakash.modem at intel.com
Wed Feb 14 15:05:35 UTC 2024


- Clear the DATA blob
- Ser the BYPASS prop true

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
---
 tests/kms_color_helper.c | 29 +++++++++++++++++++++++++++++
 tests/kms_color_helper.h |  3 +++
 2 files changed, 32 insertions(+)

diff --git a/tests/kms_color_helper.c b/tests/kms_color_helper.c
index e6aead743..bdca87bf8 100644
--- a/tests/kms_color_helper.c
+++ b/tests/kms_color_helper.c
@@ -468,6 +468,24 @@ igt_colorop_t *get_color_pipeline(igt_display_t *display,
 	return colorop;
 }
 
+void clear_colorop(igt_display_t *display, kms_colorop_t *colorop)
+{
+	igt_assert(colorop->colorop);
+	igt_colorop_set_prop_value(colorop->colorop, IGT_COLOROP_BYPASS, 1);
+
+	switch (colorop->type) {
+	case KMS_COLOROP_CTM_3X3:
+	case KMS_COLOROP_CTM_3X4:
+	case KMS_COLOROP_CUSTOM_LUT1D:
+		igt_colorop_replace_prop_blob(colorop->colorop, IGT_COLOROP_DATA, NULL, 0);
+		break;
+	case KMS_COLOROP_ENUMERATED_LUT1D:
+	case KMS_COLOROP_LUT3D:
+	default:
+		return;
+	}
+}
+
 void set_colorop(igt_display_t *display, kms_colorop_t *colorop)
 {
 	igt_assert(colorop->colorop);
@@ -504,6 +522,17 @@ void set_colorop(igt_display_t *display, kms_colorop_t *colorop)
 	}
 }
 
+void clear_color_pipeline(igt_display_t *display,
+			  igt_plane_t *plane,
+			  kms_colorop_t *colorops[],
+			  igt_colorop_t *color_pipeline)
+{
+	int i;
+
+	for(i = 0; colorops[i]; i++)
+		clear_colorop(display, colorops[i]);
+}
+
 void set_color_pipeline(igt_display_t *display,
 			igt_plane_t *plane,
 			kms_colorop_t *colorops[],
diff --git a/tests/kms_color_helper.h b/tests/kms_color_helper.h
index 9cb8cdc4c..c13198fa8 100644
--- a/tests/kms_color_helper.h
+++ b/tests/kms_color_helper.h
@@ -191,6 +191,9 @@ igt_colorop_t *get_color_pipeline(igt_display_t *display, igt_plane_t *plane,
 void set_colorop(igt_display_t *display, kms_colorop_t *colorop);
 void set_color_pipeline(igt_display_t *display, igt_plane_t *plane,
 			      kms_colorop_t *colorops[], igt_colorop_t *color_pipeline);
+void clear_colorop(igt_display_t *display, kms_colorop_t *colorop);
+void clear_color_pipeline(igt_display_t *display, igt_plane_t *plane,
+			      kms_colorop_t *colorops[], igt_colorop_t *color_pipeline);
 void igt_colorop_set_custom_lut_1d(igt_display_t *display,
 			     igt_colorop_t *colorop,
 			     const kms_colorop_custom_lut1d_info_t custom_lut1d_info);
-- 
2.43.0



More information about the Intel-gfx-trybot mailing list