[PATCH i-g-t 7/9] tests/kms_color_helper: Add helpers to clear colorops data

Swati Sharma swati2.sharma at intel.com
Sun Jul 6 20:01:23 UTC 2025


From: Bhanuprakash Modem <bhanuprakash.modem at intel.com>

- Clear the DATA blob
- Set the BYPASS prop true

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

diff --git a/tests/kms_color_helper.c b/tests/kms_color_helper.c
index c5f2dcc20..9ca96919f 100644
--- a/tests/kms_color_helper.c
+++ b/tests/kms_color_helper.c
@@ -499,6 +499,27 @@ static void fill_custom_1dlut(igt_display_t *display, kms_colorop_t *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_3X4:
+	case KMS_COLOROP_CUSTOM_LUT1D:
+	case KMS_COLOROP_MULTSEG_LUT1D:
+		igt_colorop_replace_prop_blob(colorop->colorop, IGT_COLOROP_DATA, NULL, 0);
+		break;
+	case KMS_COLOROP_MULTIPLIER:
+		igt_colorop_set_prop_value(colorop->colorop, IGT_COLOROP_MULTIPLIER, 1);
+		break;
+	case KMS_COLOROP_ENUMERATED_LUT1D:
+	case KMS_COLOROP_LUT3D:
+	default:
+		return;
+	}
+}
+
 void set_colorop(igt_display_t *display, kms_colorop_t *colorop)
 {
 	uint64_t lut_size = 0;
@@ -533,6 +554,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 29efb7e7b..c384de8a2 100644
--- a/tests/kms_color_helper.h
+++ b/tests/kms_color_helper.h
@@ -208,6 +208,9 @@ void igt_colorop_set_3dlut(igt_display_t *display,
 void igt_colorop_set_multseg_1dlut(igt_display_t *display,
 				   igt_colorop_t *colorop,
 				   const kms_colorop_multseg_lut1d_info_t custom_lut1d_info);
+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);
 
 #define set_color_pipeline_bypass(plane)  igt_plane_set_prop_enum((plane), IGT_PLANE_COLOR_PIPELINE, "Bypass")
 
-- 
2.25.1



More information about the igt-dev mailing list