diff --git a/epicardium/modules/display.c b/epicardium/modules/display.c index 8d3091697102fb4a7d473a80b1f3c94b24faf698..f8c34ea74349b1e5fe7072fbe05865179ec56f56 100644 --- a/epicardium/modules/display.c +++ b/epicardium/modules/display.c @@ -3,6 +3,7 @@ #include "FreeRTOS.h" #include "LCD_Driver.h" #include "epicardium.h" +#include "framebuffer.h" #include "gfx.h" #include "gpio.h" #include "task.h" @@ -181,6 +182,15 @@ int epic_disp_circ( void compositor() { + /* Check that BPP is 2 for everything */ + const size_t bpp_app = fb_bytes_per_pixel(application_screen.fb); + const size_t bpp_ovl = fb_bytes_per_pixel(overlay_screen.fb); + const size_t bpp_disp = fb_bytes_per_pixel(overlay_screen.fb); + + if ((bpp_app != 2) || (bpp_ovl != 2) || (bpp_disp != 2)) + return; + + /* Compose overlay on application */ for (int y = 0; y < display_screen.height; y++) { for (int x = 0; x < display_screen.width; x++) { uint8_t *overlay_pixel =