summaryrefslogtreecommitdiff
path: root/lib/drmtest.c
diff options
context:
space:
mode:
authorDamien Lespiau <damien.lespiau@intel.com>2013-09-26 18:34:06 +0100
committerDamien Lespiau <damien.lespiau@intel.com>2013-09-30 18:04:22 +0100
commit21a89a9f073a892424428631503c7bbb69c5187f (patch)
tree31412e157d20469efbe68bbb202e23e4f05e7f1b /lib/drmtest.c
parenta7d1937cd777e23bb6f234156e6164aafe151fbe (diff)
lib: Adjust dump_modes() to the new stereo encoding
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Diffstat (limited to 'lib/drmtest.c')
-rw-r--r--lib/drmtest.c63
1 files changed, 29 insertions, 34 deletions
diff --git a/lib/drmtest.c b/lib/drmtest.c
index e714e0c0..4fa3c42d 100644
--- a/lib/drmtest.c
+++ b/lib/drmtest.c
@@ -1772,42 +1772,35 @@ struct type_name connector_type_names[] = {
type_name_fn(connector_type)
-#define DRM_MODE_FOR_EACH_3D_FLAG(func, sep) \
- func(DRM_MODE_FLAG_3D_FRAME_PACKING) sep \
- func(DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE) sep \
- func(DRM_MODE_FLAG_3D_LINE_ALTERNATIVE) sep \
- func(DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL) sep \
- func(DRM_MODE_FLAG_3D_L_DEPTH) sep \
- func(DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH) sep \
- func(DRM_MODE_FLAG_3D_TOP_AND_BOTTOM) sep \
- func(DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF)
+static const char *mode_stereo_name(const drmModeModeInfo *mode)
+{
+ switch (mode->flags & DRM_MODE_FLAG_3D_MASK) {
+ case DRM_MODE_FLAG_3D_FRAME_PACKING:
+ return "FP";
+ case DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE:
+ return "FA";
+ case DRM_MODE_FLAG_3D_LINE_ALTERNATIVE:
+ return "LA";
+ case DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL:
+ return "SBSF";
+ case DRM_MODE_FLAG_3D_L_DEPTH:
+ return "LD";
+ case DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH:
+ return "LDGFX";
+ case DRM_MODE_FLAG_3D_TOP_AND_BOTTOM:
+ return "TB";
+ case DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF:
+ return "SBSH";
+ default:
+ return NULL;
+ }
+}
void kmstest_dump_mode(drmModeModeInfo *mode)
{
- bool stereo_3d = mode->flags & DRM_MODE_FLAG_3D_MASK;
- char flags_str[32];
-
-#define PRINT_S(name) "%s"
-#define SEP_EMPTY
-#define PRINT_FLAG(flag, str) \
- mode->flags & DRM_MODE_FLAG_3D_ ## flag ? " "str : ""
-
- snprintf(flags_str, sizeof(flags_str), " (3D:"
- DRM_MODE_FOR_EACH_3D_FLAG(PRINT_S, SEP_EMPTY) ")",
- PRINT_FLAG(FRAME_PACKING, "FP"),
- PRINT_FLAG(FIELD_ALTERNATIVE, "FA"),
- PRINT_FLAG(LINE_ALTERNATIVE, "LA"),
- PRINT_FLAG(SIDE_BY_SIDE_FULL, "SBSF"),
- PRINT_FLAG(L_DEPTH, "LD"),
- PRINT_FLAG(L_DEPTH_GFX_GFX_DEPTH, "LDGFX"),
- PRINT_FLAG(TOP_AND_BOTTOM, "TB"),
- PRINT_FLAG(SIDE_BY_SIDE_HALF, "SBSH"));
-
-#undef PRINT_S
-#undef SEP_EMPTY
-#undef PRINT_FLAG
-
- printf(" %s %d %d %d %d %d %d %d %d %d 0x%x 0x%x %d%s\n",
+ const char *stereo = mode_stereo_name(mode);
+
+ printf(" %s %d %d %d %d %d %d %d %d %d 0x%x 0x%x %d%s%s%s\n",
mode->name,
mode->vrefresh,
mode->hdisplay,
@@ -1821,7 +1814,9 @@ void kmstest_dump_mode(drmModeModeInfo *mode)
mode->flags,
mode->type,
mode->clock,
- stereo_3d ? flags_str : "");
+ stereo ? " (3D:" : "",
+ stereo ? stereo : "",
+ stereo ? ")" : "");
fflush(stdout);
}