[igt-dev] [PATCH i-g-t 1/8] lib/fb: Introduce igt_fb_modifier_name()
Ville Syrjala
ville.syrjala at linux.intel.com
Wed Oct 13 22:17:20 UTC 2021
From: Ville Syrjälä <ville.syrjala at linux.intel.com>
Provide a human redable name for modifiers. Only plugged in the
i915 specific ones for now. Also provide some printf format macros
for convenience.
Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
lib/igt_fb.c | 26 ++++++++++++++++++++++++++
lib/igt_fb.h | 4 ++++
2 files changed, 30 insertions(+)
diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index f1e1099ec864..63f3c86e75f0 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -4328,3 +4328,29 @@ void igt_format_array_fill(uint32_t **formats_array, unsigned int *count,
(*formats_array)[index++] = format->drm_id;
}
}
+
+const char *igt_fb_modifier_name(uint64_t modifier)
+{
+ switch (modifier) {
+ case DRM_FORMAT_MOD_LINEAR:
+ return "linear";
+ case I915_FORMAT_MOD_X_TILED:
+ return "X";
+ case I915_FORMAT_MOD_Y_TILED:
+ return "Y";
+ case I915_FORMAT_MOD_Yf_TILED:
+ return "Yf";
+ case I915_FORMAT_MOD_Y_TILED_CCS:
+ return "Y-CCS";
+ case I915_FORMAT_MOD_Yf_TILED_CCS:
+ return "Yf-CCS";
+ case I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS:
+ return "Y-RC_CCS";
+ case I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC:
+ return "Y-RC_CCS-CC";
+ case I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS:
+ return "Y-MC_CCS";
+ default:
+ return "?";
+ }
+}
diff --git a/lib/igt_fb.h b/lib/igt_fb.h
index 2c2b8265b5f6..c61d9e7219ff 100644
--- a/lib/igt_fb.h
+++ b/lib/igt_fb.h
@@ -52,6 +52,9 @@ struct buf_ops;
#define IGT_FORMAT_ARGS(f) ((f) >> 0) & 0xff, ((f) >> 8) & 0xff, \
((f) >> 16) & 0xff, ((f) >> 24) & 0xff, (f)
+#define IGT_MODIFIER_FMT "%s(0x%" PRIx64 ")"
+#define IGT_MODIFIER_ARGS(m) igt_fb_modifier_name(m), (m)
+
/**
* igt_fb_t:
* @fb_id: KMS ID of the framebuffer
@@ -217,6 +220,7 @@ int igt_fill_cts_framebuffer(uint32_t *pixmap, uint32_t video_width,
uint32_t video_height, uint32_t bitdepth, int alpha);
int igt_fb_get_fnv1a_crc(struct igt_fb *fb, igt_crc_t *crc);
+const char *igt_fb_modifier_name(uint64_t modifier);
#endif /* __IGT_FB_H__ */
--
2.32.0
More information about the igt-dev
mailing list