@@ -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) },
@@ -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;
};
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@linux-m68k.org> --- v2: - New. --- tests/util/format.c | 8 ++++---- tests/util/format.h | 1 + 2 files changed, 5 insertions(+), 4 deletions(-)