aboutsummaryrefslogtreecommitdiff
path: root/libs/serdisplib/patches/002-allow-1bpp-framebuffer.patch
blob: ada4281e9607dbef7503e4fab8a1cba787e8c55d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
--- 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 */