[PATCH i-g-t 1/3] lib/igt_kms: Add reflection name and mask
Louis Chauvet
louis.chauvet at bootlin.com
Tue Mar 12 09:38:58 UTC 2024
As for IGT_ROTATION_MASK and igt_plane_rotation_name, create the mask
IGT_REFLECT_MASK and the function igt_plane_reflect_name.
Signed-off-by: Louis Chauvet <louis.chauvet at bootlin.com>
---
lib/igt_kms.c | 23 +++++++++++++++++++++++
lib/igt_kms.h | 3 +++
2 files changed, 26 insertions(+)
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index e18f6fe59882..85d278f3cae3 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -5142,6 +5142,29 @@ const char *igt_plane_rotation_name(igt_rotation_t rotation)
}
}
+
+/**
+ * igt_plane_reflect_name:
+ * @reflect: Plane reflection value (x, y)
+ *
+ * Returns: Plane reflection value as a string
+ */
+const char *igt_plane_reflect_name(igt_rotation_t reflect)
+{
+ switch (reflect & IGT_REFLECT_MASK) {
+ case 0:
+ return "none";
+ case IGT_REFLECT_X:
+ return "X";
+ case IGT_REFLECT_Y:
+ return "Y";
+ case IGT_REFLECT_X | IGT_REFLECT_Y:
+ return "XY";
+ default:
+ igt_assert(0);
+ }
+}
+
/**
* igt_plane_set_rotation:
* @plane: Plane pointer for which rotation is to be set
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index b3882808b42f..4760394428f3 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -371,6 +371,8 @@ typedef enum {
#define IGT_ROTATION_MASK \
(IGT_ROTATION_0 | IGT_ROTATION_90 | IGT_ROTATION_180 | IGT_ROTATION_270)
+#define IGT_REFLECT_MASK \
+ (IGT_REFLECT_X | IGT_REFLECT_Y)
/**
* igt_rotation_90_or_270:
@@ -562,6 +564,7 @@ static inline bool igt_plane_has_rotation(igt_plane_t *plane, igt_rotation_t rot
return (plane->rotations & rotation) == rotation;
}
const char *igt_plane_rotation_name(igt_rotation_t rotation);
+const char *igt_plane_reflect_name(igt_rotation_t reflect);
void igt_wait_for_vblank(int drm_fd, int crtc_offset);
void igt_wait_for_vblank_count(int drm_fd, int crtc_offset, int count);
--
2.43.0
More information about the igt-dev
mailing list