[PATCH 8/8] fb: fbconsole: Add missing blits

Sascha Hauer s.hauer at pengutronix.de
Fri Aug 7 06:45:41 PDT 2015


When using offscreen rendering we need some more points where we
blit the offscreen buffer to the screen. Add them.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 drivers/video/fbconsole.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/video/fbconsole.c b/drivers/video/fbconsole.c
index 745833a..b10503e 100644
--- a/drivers/video/fbconsole.c
+++ b/drivers/video/fbconsole.c
@@ -58,6 +58,7 @@ static void cls(struct fbc_priv *priv)
 	void *buf = gui_screen_render_buffer(priv->sc);
 
 	memset(buf, 0, priv->fb->line_length * priv->fb->yres);
+	gu_screen_blit(priv->sc);
 }
 
 struct rgb {
@@ -138,6 +139,8 @@ static void video_invertchar(struct fbc_priv *priv, int x, int y)
 
 	gu_invert_area(priv->fb, buf, x * priv->font_width, y * priv->font_height,
 			priv->font_width, priv->font_height);
+	gu_screen_blit_area(priv->sc, x * priv->font_width, y * priv->font_height,
+			priv->font_width, priv->font_height);
 }
 
 static void printchar(struct fbc_priv *priv, int c)
@@ -170,7 +173,10 @@ static void printchar(struct fbc_priv *priv, int c)
 
 	default:
 		drawchar(priv, priv->x, priv->y, c);
-		gu_screen_blit(priv->sc);
+
+		gu_screen_blit_area(priv->sc, priv->x * priv->font_width,
+				priv->y * priv->font_height,
+				priv->font_width, priv->font_height);
 
 		priv->x++;
 		if (priv->x > priv->cols) {
@@ -188,6 +194,7 @@ static void printchar(struct fbc_priv *priv, int c)
 
 		memcpy(buf, buf + line_height, line_height * (priv->rows + 1));
 		memset(buf + line_height * priv->rows, 0, line_height);
+		gu_screen_blit(priv->sc);
 		priv->y = priv->rows;
 	}
 
-- 
2.4.6




More information about the barebox mailing list