aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authornotaz2011-02-04 15:00:03 +0200
committernotaz2011-02-04 15:11:59 +0200
commit495eab932257c0925a4ab89071c43249ec1d1698 (patch)
tree485fe30614f7f40c83217083233c37ff422142b2 /plugins
parentf3a63e25fac571e222b969f0d16c542061190797 (diff)
downloadpcsx_rearmed-495eab932257c0925a4ab89071c43249ec1d1698.tar.gz
pcsx_rearmed-495eab932257c0925a4ab89071c43249ec1d1698.tar.bz2
pcsx_rearmed-495eab932257c0925a4ab89071c43249ec1d1698.zip
gpu_unai: support bgr888->rgb565 conversion for maemo
Diffstat (limited to 'plugins')
-rw-r--r--plugins/gpu_unai/Makefile3
-rw-r--r--plugins/gpu_unai/gpu.cpp10
2 files changed, 11 insertions, 2 deletions
diff --git a/plugins/gpu_unai/Makefile b/plugins/gpu_unai/Makefile
index a89ca6b..e7640c6 100644
--- a/plugins/gpu_unai/Makefile
+++ b/plugins/gpu_unai/Makefile
@@ -4,6 +4,9 @@ CFLAGS += -ggdb -fPIC -Wall -DREARMED
ifndef DEBUG
CFLAGS += -O2 -ffast-math -fomit-frame-pointer
endif
+ifdef MAEMO
+CFLAGS += -DMAEMO
+endif
CFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
# -fschedule-insns (from -O2+) causes bugs, probably bad asm() statements
CFLAGS += -fno-schedule-insns -fno-schedule-insns2
diff --git a/plugins/gpu_unai/gpu.cpp b/plugins/gpu_unai/gpu.cpp
index f6dd167..5152327 100644
--- a/plugins/gpu_unai/gpu.cpp
+++ b/plugins/gpu_unai/gpu.cpp
@@ -864,11 +864,10 @@ void GPU_updateLace(void)
#else
#include "../../frontend/plugin_lib.h"
+#include "../../frontend/arm_utils.h"
extern "C" {
-extern void bgr555_to_rgb565(void *dst, void *src, int bytes);
-extern void bgr888_to_rgb888(void *dst, void *src, int bytes);
static const struct rearmed_cbs *cbs;
static void *screen_buf;
@@ -904,10 +903,17 @@ static void blit(void)
if (isRGB24)
{
+#ifndef MAEMO
for (; h1-- > 0; dest += w0 * 3, srcs += 1024)
{
bgr888_to_rgb888(dest, srcs, w0 * 3);
}
+#else
+ for (; h1-- > 0; dest += w0 * 2, srcs += 1024)
+ {
+ bgr888_to_rgb565(dest, srcs, w0 * 3);
+ }
+#endif
}
else
{