drc: merge Ari64's patch: 14_dont_save_or_restore_temporary
[pcsx_rearmed.git] / plugins / gpu_unai / gpu.cpp
index f6dd167..808c891 100644 (file)
@@ -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;
 
@@ -880,7 +879,7 @@ static void blit(void)
        u16 *srcs;
        u8  *dest;
 
-       x0 = DisplayArea[0] & ~3; // alignment needed by blitter
+       x0 = DisplayArea[0] & ~1; // alignment needed by blitter
        y0 = DisplayArea[1];
        srcs = &((u16*)GPU_FrameBuffer)[FRAME_OFFSET(x0,y0)];
 
@@ -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
        {
@@ -932,7 +938,7 @@ void GPU_updateLace(void)
                blit();
 
                fb_dirty = false;
-               if (*cbs->fskip_option)
+               if (cbs->fskip_advice)
                        isSkip = true;
        }
        else