From 4ea7de6a1495abfbc49c54fd2a90e902fdfa13d9 Mon Sep 17 00:00:00 2001 From: notaz Date: Sun, 29 Apr 2012 19:18:49 +0300 Subject: gpu plugins: always support 16bpp blit use this for generic sdl and maemo --- plugins/dfxvideo/draw_pl.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'plugins/dfxvideo') diff --git a/plugins/dfxvideo/draw_pl.c b/plugins/dfxvideo/draw_pl.c index 22351a4..dffd52b 100644 --- a/plugins/dfxvideo/draw_pl.c +++ b/plugins/dfxvideo/draw_pl.c @@ -32,13 +32,7 @@ static void blit(void *vout_buf) if (w <= 0) return; -#ifndef MAEMO - pitch *= PSXDisplay.RGB24 ? 3 : 2; -#else - // n900 doesn't do rgb24 for some reason - pitch *= 2; - #define bgr888_to_rgb888 bgr888_to_rgb565 -#endif + pitch *= (PSXDisplay.RGB24 && !rcbs->only_16bpp) ? 3 : 2; // account for centering h -= PreviousPSXDisplay.Range.y0; @@ -47,9 +41,19 @@ static void blit(void *vout_buf) if (PSXDisplay.RGB24) { - for (; h-- > 0; dest += pitch, srcs += 1024) + if (!rcbs->only_16bpp) + { + for (; h-- > 0; dest += pitch, srcs += 1024) + { + bgr888_to_rgb888(dest, srcs, w * 3); + } + } + else { - bgr888_to_rgb888(dest, srcs, w * 3); + for (; h-- > 0; dest += pitch, srcs += 1024) + { + bgr888_to_rgb565(dest, srcs, w * 3); + } } } else -- cgit v1.2.3