From 1faa85de3db0de22ce43080a1503edf276722c44 Mon Sep 17 00:00:00 2001 From: chaoskagami Date: Thu, 1 Sep 2016 11:32:36 -0400 Subject: [PATCH] Fixup: screen mode for 16-bit modes --- include/arm11.h | 2 +- source/arm11.c | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/include/arm11.h b/include/arm11.h index e4c3ba3..08cf63a 100644 --- a/include/arm11.h +++ b/include/arm11.h @@ -35,7 +35,7 @@ #define MAKE_FRAMEBUFFER_PIXFMT(col, plx, screen) ((col & 0x7) | ((plx & 1) << 5) | ((screen & 1) << 6) | 0x80300) #define RGBA8 0 -#define BGR8 1 +#define RGB8 1 #define RGB565_OES 2 #define RGB5_A1_OES 3 #define RGBA4_OES 4 diff --git a/source/arm11.c b/source/arm11.c index 9a447d1..b2c25fe 100644 --- a/source/arm11.c +++ b/source/arm11.c @@ -148,9 +148,15 @@ void screen_mode(uint32_t mode) { bright = brightness[config->options[OPTION_BRIGHTNESS]]; - stride = 240 * 3; - if (mode == RGBA8) - stride = 240 * 4; + stride = 240; + switch(mode) { + case RGB8: + stride *= 3; + case RGBA8: + stride *= 4; + default: + stride *= 2; + } init_top = MAKE_FRAMEBUFFER_PIXFMT(mode, 0, 1); init_bottom = MAKE_FRAMEBUFFER_PIXFMT(mode, 0, 0); -- 2.39.5