24 lines
1.1 KiB
Diff
24 lines
1.1 KiB
Diff
|
Index: serdisplib-2.01/src/serdisp_specific_framebuffer.c
|
||
|
===================================================================
|
||
|
--- serdisplib-2.01.orig/src/serdisp_specific_framebuffer.c
|
||
|
+++ serdisplib-2.01/src/serdisp_specific_framebuffer.c
|
||
|
@@ -306,13 +306,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 */
|