[PATCH 1/6] video: Add support for RGBA8888 format
Michal Simek
michal.simek at amd.com
Wed May 17 10:42:07 CEST 2023
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: Michal Simek <michal.simek at amd.com>
Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu at amd.com>
---
drivers/video/video-uclass.c | 10 ++++++++--
include/video.h | 1 +
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
index 8396bdfb11e1..1b66a8061a74 100644
--- a/drivers/video/video-uclass.c
+++ b/drivers/video/video-uclass.c
@@ -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:
diff --git a/include/video.h b/include/video.h
index 29c4f51efb08..03434a81234f 100644
--- a/include/video.h
+++ b/include/video.h
@@ -64,6 +64,7 @@ enum video_log2_bpp {
enum video_format {
VIDEO_UNKNOWN,
+ VIDEO_RGBA8888,
VIDEO_X8B8G8R8,
VIDEO_X8R8G8B8,
VIDEO_X2R10G10B10,
--
2.36.1
More information about the U-Boot
mailing list