openwrt-packages/libs/serdisplib/patches/002-allow-1bpp-framebuffer....

22 lines
917 B
Diff

--- a/src/serdisp_specific_framebuffer.c
+++ b/src/serdisp_specific_framebuffer.c
@@ -312,13 +312,15 @@ serdisp_t* serdisp_framebuffer_setup(con
if (fb_success) {
/* check if colour mode is supported */
- if (! (vinfo.bits_per_pixel == 16 || vinfo.bits_per_pixel == 24 || vinfo.bits_per_pixel == 32) ) {
+ if (! (vinfo.bits_per_pixel == 1 ||vinfo.bits_per_pixel == 16 || vinfo.bits_per_pixel == 24 || vinfo.bits_per_pixel == 32) ) {
sd_error(SERDISP_ERUNTIME, "unsupported colour depth (%d)", vinfo.bits_per_pixel);
fb_success = 0;
}
}
-
- dd->scrbuf_size = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel/8;
+ if (vinfo.bits_per_pixel == 1)
+ dd->scrbuf_size = (vinfo.xres * vinfo.yres) / 8;
+ else
+ dd->scrbuf_size = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel/8;
if (fb_success) {
/* map framebuffer device to memory */