]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
video: Add support for RGBA8888 format
authorMichal Simek <michal.simek@amd.com>
Wed, 17 May 2023 08:42:07 +0000 (10:42 +0200)
committerMichal Simek <michal.simek@amd.com>
Mon, 12 Jun 2023 11:25:01 +0000 (13:25 +0200)
Add support for RGBA8888 32bpp format where pixels are picked in
32-bit integers, where the colors are stored in memory such that
R is at lowest address, G after that, B after that, and A last.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/aa1de54b7d4ff46df6858f76d52634e0c5c71a4a.1684312924.git.michal.simek@amd.com
drivers/video/video-uclass.c
include/video.h

index 8396bdfb11e13562bf5006a1bbe4b08ccb0b7cc4..1b66a8061a7494d6fab17f2009352996afe4fec5 100644 (file)
@@ -220,14 +220,20 @@ u32 video_index_to_colour(struct video_priv *priv, unsigned int idx)
                break;
        case VIDEO_BPP32:
                if (CONFIG_IS_ENABLED(VIDEO_BPP32)) {
-                       if (priv->format == VIDEO_X2R10G10B10)
+                       switch (priv->format) {
+                       case VIDEO_X2R10G10B10:
                                return (colours[idx].r << 22) |
                                       (colours[idx].g << 12) |
                                       (colours[idx].b <<  2);
-                       else
+                       case VIDEO_RGBA8888:
+                               return (colours[idx].r << 24) |
+                                      (colours[idx].g << 16) |
+                                      (colours[idx].b << 8) | 0xff;
+                       default:
                                return (colours[idx].r << 16) |
                                       (colours[idx].g <<  8) |
                                       (colours[idx].b <<  0);
+                       }
                }
                break;
        default:
index 29c4f51efb08010cde530d25da94dd7e5ed76de4..03434a81234f692f54495b33c558085bfca45ffa 100644 (file)
@@ -64,6 +64,7 @@ enum video_log2_bpp {
 
 enum video_format {
        VIDEO_UNKNOWN,
+       VIDEO_RGBA8888,
        VIDEO_X8B8G8R8,
        VIDEO_X8R8G8B8,
        VIDEO_X2R10G10B10,