[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