From 92fa47663aed035e90a1fd539d573aa042259050 Mon Sep 17 00:00:00 2001 From: Vincent Wei Date: Sun, 8 Apr 2018 17:59:05 +0800 Subject: [PATCH] specify RGBAmask for RGB565 and other pixel format --- src/newgal/commlcd/commlcd.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/newgal/commlcd/commlcd.c b/src/newgal/commlcd/commlcd.c index 1b8e7147..21fc4df6 100644 --- a/src/newgal/commlcd/commlcd.c +++ b/src/newgal/commlcd/commlcd.c @@ -215,15 +215,27 @@ static GAL_Surface *COMMLCD_SetVideoMode(_THIS, GAL_Surface *current, memset (li.fb, 0, li.rlen * height); - if (li.type == COMMLCD_TRUE_BGR565) { - Bmask = 0xF800; + switch (li.type) { + case COMMLCD_TRUE_RGB555: + Rmask = 0x7C00; + Gmask = 0x03E0; + Bmask = 0x001F; + break; + case COMMLCD_TRUE_RGB565: + Rmask = 0xF800; Gmask = 0x07E0; + Bmask = 0x001F; + break; + case COMMLCD_TRUE_BGR565: Rmask = 0x001F; - } - else if (li.type == COMMLCD_TRUE_BGR888) { + Gmask = 0x07E0; + Bmask = 0xF800; + break; + case COMMLCD_TRUE_BGR888: Bmask = 0xFF0000; Gmask = 0x00FF00; Rmask = 0x0000FF; + break; } /* Allocate the new pixel format for the screen */