From 21a89a9f073a892424428631503c7bbb69c5187f Mon Sep 17 00:00:00 2001 From: Damien Lespiau Date: Thu, 26 Sep 2013 18:34:06 +0100 Subject: [PATCH] lib: Adjust dump_modes() to the new stereo encoding Signed-off-by: Damien Lespiau --- lib/drmtest.c | 63 +++++++++++++++++++++++++++-------------------------------- 1 file changed, 29 insertions(+), 34 deletions(-) diff --git a/lib/drmtest.c b/lib/drmtest.c index e714e0c..4fa3c42 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); } -- 2.7.4