Store the number of available colors for color-indexed frame buffer formats in the format_info[] array. This avoids the need of test code for having to use switch statements all the time to obtain the number of colors, or to check if a mode is color-indexed or not. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> --- v2: - New. --- tests/util/format.c | 8 ++++---- tests/util/format.h | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/tests/util/format.c b/tests/util/format.c index 4b984af9bce8ac6f..a5464de6fc1ac70f 100644 --- a/tests/util/format.c +++ b/tests/util/format.c @@ -40,10 +40,10 @@ static const struct util_format_info format_info[] = { /* Indexed */ - { DRM_FORMAT_C1, "C1" }, - { DRM_FORMAT_C2, "C2" }, - { DRM_FORMAT_C4, "C4" }, - { DRM_FORMAT_C8, "C8" }, + { DRM_FORMAT_C1, "C1", .ncolors = 2 }, + { DRM_FORMAT_C2, "C2", .ncolors = 4 }, + { DRM_FORMAT_C4, "C4", .ncolors = 16 }, + { DRM_FORMAT_C8, "C8", .ncolors = 256 }, /* YUV packed */ { DRM_FORMAT_UYVY, "UYVY", MAKE_YUV_INFO(YUV_YCbCr | YUV_CY, 2, 2, 2) }, { DRM_FORMAT_VYUY, "VYUY", MAKE_YUV_INFO(YUV_YCrCb | YUV_CY, 2, 2, 2) }, diff --git a/tests/util/format.h b/tests/util/format.h index 2ce1c021fd78d51d..b847c9f2933b3cde 100644 --- a/tests/util/format.h +++ b/tests/util/format.h @@ -55,6 +55,7 @@ struct util_yuv_info { struct util_format_info { uint32_t format; const char *name; + unsigned int ncolors; const struct util_rgb_info rgb; const struct util_yuv_info yuv; }; -- 2.25.1