Re: [PATCH] video: Support VIDEO_X2R10G10B10 in truetype console

2024-01-29 Thread Tom Rini
On Wed, 17 Jan 2024 23:27:34 +0100, Janne Grunau wrote:

> Without explicit support for VIDEO_X2R10G10B10 VIDEO_X8R8G8B8 white
> will be rendered as cyan-ish. The conversion leaves to lowest 2 bits
> unset for more compact code.
> 
> 

Applied to u-boot/master, thanks!

-- 
Tom




[PATCH] video: Support VIDEO_X2R10G10B10 in truetype console

2024-01-17 Thread Janne Grunau via B4 Relay
From: Janne Grunau 

Without explicit support for VIDEO_X2R10G10B10 VIDEO_X8R8G8B8 white
will be rendered as cyan-ish. The conversion leaves to lowest 2 bits
unset for more compact code.

Signed-off-by: Janne Grunau 
---
 drivers/video/console_truetype.c | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c
index 14fb81e956..547e5a8d9c 100644
--- a/drivers/video/console_truetype.c
+++ b/drivers/video/console_truetype.c
@@ -397,7 +397,10 @@ static int console_truetype_putc_xy(struct udevice *dev, 
uint x, uint y,
 
if (vid_priv->colour_bg)
val = 255 - val;
-   out = val | val << 8 | val << 16;
+   if (vid_priv->format == 
VIDEO_X2R10G10B10)
+   out = val << 2 | val << 12 | 
val << 22;
+   else
+   out = val | val << 8 | val << 
16;
if (vid_priv->colour_fg)
*dst++ |= out;
else
@@ -911,7 +914,10 @@ static int truetype_set_cursor_visible(struct udevice 
*dev, bool visible,
for (i = 0; i < width; i++) {
int out;
 
-   out = val | val << 8 | val << 16;
+   if (vid_priv->format == 
VIDEO_X2R10G10B10)
+   out = val << 2 | val << 12 | 
val << 22;
+   else
+   out = val | val << 8 | val << 
16;
if (vid_priv->colour_fg)
*dst++ |= out;
else

---
base-commit: 866ca972d6c3cabeaf6dbac431e8e08bb30b3c8e
change-id: 20240117-console_truetype_x2r10g10b10-fe88e5864640

Best regards,
-- 
Janne Grunau