OSDN Git Service

drm/fourcc: Add drm_format_info.is_color_indexed flag
authorGeert Uytterhoeven <geert@linux-m68k.org>
Fri, 8 Jul 2022 18:20:47 +0000 (20:20 +0200)
committerSam Ravnborg <sam@ravnborg.org>
Sat, 9 Jul 2022 13:00:08 +0000 (15:00 +0200)
Add a flag to struct drm_format_info to indicate if a format is
color-indexed, similar to the existing .is_yuv flag.

This way generic code and drivers can just check this flag, instead of
checking against a list of fourcc formats.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/90cd390b2b4d481661f966de7b504f1702d80dfd.1657294931.git.geert@linux-m68k.org
drivers/gpu/drm/drm_fourcc.c
include/drm/drm_fourcc.h

index cf48ea0..6c76bd8 100644 (file)
@@ -132,7 +132,7 @@ EXPORT_SYMBOL(drm_driver_legacy_fb_format);
 const struct drm_format_info *__drm_format_info(u32 format)
 {
        static const struct drm_format_info formats[] = {
-               { .format = DRM_FORMAT_C8,              .depth = 8,  .num_planes = 1, .cpp = { 1, 0, 0 }, .hsub = 1, .vsub = 1 },
+               { .format = DRM_FORMAT_C8,              .depth = 8,  .num_planes = 1, .cpp = { 1, 0, 0 }, .hsub = 1, .vsub = 1, .is_color_indexed = true },
                { .format = DRM_FORMAT_R8,              .depth = 8,  .num_planes = 1, .cpp = { 1, 0, 0 }, .hsub = 1, .vsub = 1 },
                { .format = DRM_FORMAT_R10,             .depth = 10, .num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
                { .format = DRM_FORMAT_R12,             .depth = 12, .num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
index 3800a7a..532ae78 100644 (file)
@@ -138,6 +138,9 @@ struct drm_format_info {
 
        /** @is_yuv: Is it a YUV format? */
        bool is_yuv;
+
+       /** @is_color_indexed: Is it a color-indexed format? */
+       bool is_color_indexed;
 };
 
 /**