gpu_unai: merge Franxis' range fix
[pcsx_rearmed.git] / plugins / gpu_unai / gpu.cpp
index f0539c0..46552ac 100644 (file)
@@ -107,12 +107,10 @@ u32   GPU_GP1;
 //  GPU Raster Macros
 #define        GPU_RGB16(rgb)        ((((rgb)&0xF80000)>>9)|(((rgb)&0xF800)>>6)|(((rgb)&0xF8)>>3))
 
-#define GPU_EXPANDSIGN_POLY(x)  (((s32)(x)<<20)>>20)
-//#define GPU_EXPANDSIGN_POLY(x)  (((s32)(x)<<21)>>21)
-#define GPU_EXPANDSIGN_SPRT(x)  (((s32)(x)<<21)>>21)
+#define GPU_EXPANDSIGN(x)  (((s32)(x)<<21)>>21)
 
-//#define      GPU_TESTRANGE(x)      { if((u32)(x+1024) > 2047) return; }
-#define        GPU_TESTRANGE(x)      { if ((x<-1023) || (x>1023)) return; }
+#define CHKMAX_X 1024
+#define CHKMAX_Y 512
 
 #define        GPU_SWAP(a,b,t) {(t)=(a);(a)=(b);(b)=(t);}
 
@@ -821,7 +819,7 @@ void  GPU_updateLace(void)
 #else
 
 #include "../../frontend/plugin_lib.h"
-#include "../../frontend/cspace.h"
+#include "../gpulib/cspace.h"
 
 extern "C" {
 
@@ -861,19 +859,22 @@ static void blit(void)
 
        if (isRGB24)
        {
-#ifndef MAEMO
-               for (; h1-- > 0; dest += w0 * 3, fb_offs += 1024)
+               if (!cbs->only_16bpp)
                {
-                       fb_offs &= 1024*512-1;
-                       bgr888_to_rgb888(dest, base + fb_offs, w0 * 3);
+                       for (; h1-- > 0; dest += w0 * 3, fb_offs += 1024)
+                       {
+                               fb_offs &= 1024*512-1;
+                               bgr888_to_rgb888(dest, base + fb_offs, w0 * 3);
+                       }
                }
-#else
-               for (; h1-- > 0; dest += w0 * 2, fb_offs += 1024)
+               else
                {
-                       fb_offs &= 1024*512-1;
-                       bgr888_to_rgb565(dest, base + fb_offs, w0 * 3);
+                       for (; h1-- > 0; dest += w0 * 2, fb_offs += 1024)
+                       {
+                               fb_offs &= 1024*512-1;
+                               bgr888_to_rgb565(dest, base + fb_offs, w0 * 3);
+                       }
                }
-#endif
        }
        else
        {