From: chaoskagami Date: Thu, 1 Sep 2016 15:32:36 +0000 (-0400) Subject: Fixup: screen mode for 16-bit modes X-Git-Tag: v0.3.0~27^2~3 X-Git-Url: https://chaos.moe/g/?a=commitdiff_plain;h=1faa85de3db0de22ce43080a1503edf276722c44;p=corbenik%2Fcorbenik.git Fixup: screen mode for 16-bit modes --- 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);