[igt-dev] [PATCH i-g-t 2/4] lib: Export helpers to get rotation/tiling strings
Arkadiusz Hiler
arkadiusz.hiler at intel.com
Wed Feb 7 14:22:05 UTC 2018
From: Imre Deak <imre.deak at intel.com>
This is needed for the next patch for some debug prints.
Signed-off-by: Imre Deak <imre.deak at intel.com>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler at intel.com>
---
lib/igt_fb.c | 23 +++++++++++++++++++++++
lib/igt_fb.h | 3 +++
lib/igt_kms.c | 11 +++++++++--
lib/igt_kms.h | 1 +
4 files changed, 36 insertions(+), 2 deletions(-)
diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index 6fecdd66..0c006062 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -1683,6 +1683,29 @@ const char *igt_format_str(uint32_t drm_format)
return f ? f->name : "invalid";
}
+/**
+ * igt_tiling_str:
+ * @tiling: tiling ID
+ *
+ * Returns:
+ * Human-readable tiling string for @tiling.
+ */
+const char *igt_tiling_str(uint64_t tiling)
+{
+ switch (tiling) {
+ case LOCAL_DRM_FORMAT_MOD_NONE:
+ return "linear";
+ case LOCAL_I915_FORMAT_MOD_X_TILED:
+ return "X-tiled";
+ case LOCAL_I915_FORMAT_MOD_Y_TILED:
+ return "Y-tiled";
+ case LOCAL_I915_FORMAT_MOD_Yf_TILED:
+ return "Yf-tiled";
+ default:
+ return "N/A";
+ }
+}
+
/**
* igt_get_all_cairo_formats:
* @formats: pointer to pointer to store the allocated formats array
diff --git a/lib/igt_fb.h b/lib/igt_fb.h
index 77fd88bb..6e7a773a 100644
--- a/lib/igt_fb.h
+++ b/lib/igt_fb.h
@@ -162,6 +162,9 @@ int igt_cairo_printf_line(cairo_t *cr, enum igt_text_align align,
uint32_t igt_bpp_depth_to_drm_format(int bpp, int depth);
uint32_t igt_drm_format_to_bpp(uint32_t drm_format);
const char *igt_format_str(uint32_t drm_format);
+
+const char *igt_tiling_str(uint64_t tiling);
+
void igt_get_all_cairo_formats(const uint32_t **formats, int *format_count);
#endif /* __IGT_FB_H__ */
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index eb57f4a9..f8acdfc8 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -3435,7 +3435,14 @@ void igt_fb_set_size(struct igt_fb *fb, igt_plane_t *plane,
igt_plane_set_prop_value(plane, IGT_PLANE_SRC_H, IGT_FIXED(h, 0));
}
-static const char *rotation_name(igt_rotation_t rotation)
+/**
+ * igt_rotation_degrees_str:
+ * @rotation: rotation degrees/reflect mask
+ *
+ * Returns:
+ * Human-readable string for the rotation degrees part in @rotation.
+ */
+const char *igt_rotation_degrees_str(igt_rotation_t rotation)
{
switch (rotation & IGT_ROTATION_MASK) {
case IGT_ROTATION_0:
@@ -3458,7 +3465,7 @@ void igt_plane_set_rotation(igt_plane_t *plane, igt_rotation_t rotation)
LOG(display, "%s.%d: plane_set_rotation(%s)\n",
kmstest_pipe_name(pipe->pipe),
- plane->index, rotation_name(rotation));
+ plane->index, igt_rotation_degrees_str(rotation));
igt_plane_set_prop_value(plane, IGT_PLANE_ROTATION, rotation);
}
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index b7521039..c5b2feb7 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -387,6 +387,7 @@ void igt_plane_set_fence_fd(igt_plane_t *plane, int fence_fd);
void igt_plane_set_position(igt_plane_t *plane, int x, int y);
void igt_plane_set_size(igt_plane_t *plane, int w, int h);
void igt_plane_set_rotation(igt_plane_t *plane, igt_rotation_t rotation);
+const char *igt_rotation_degrees_str(igt_rotation_t rotation);
void igt_fb_set_position(struct igt_fb *fb, igt_plane_t *plane,
uint32_t x, uint32_t y);
void igt_fb_set_size(struct igt_fb *fb, igt_plane_t *plane,
--
2.14.3
More information about the igt-dev
mailing list