notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
psxhle.c: Silence logging when using HLE bios
[pcsx_rearmed.git]
/
plugins
/
gpu_unai
/
gpulib_if.cpp
diff --git
a/plugins/gpu_unai/gpulib_if.cpp
b/plugins/gpu_unai/gpulib_if.cpp
index
d665895
..
e9a199c
100644
(file)
--- a/
plugins/gpu_unai/gpulib_if.cpp
+++ b/
plugins/gpu_unai/gpulib_if.cpp
@@
-23,6
+23,7
@@
#include <stdlib.h>
#include <string.h>
#include "../gpulib/gpu.h"
#include <stdlib.h>
#include <string.h>
#include "../gpulib/gpu.h"
+#include "arm_features.h"
#define u8 uint8_t
#define s8 int8_t
#define u8 uint8_t
#define s8 int8_t
@@
-111,12
+112,10
@@
static u32 GPU_GP1;
// GPU Raster Macros
#define GPU_RGB16(rgb) ((((rgb)&0xF80000)>>9)|(((rgb)&0xF800)>>6)|(((rgb)&0xF8)>>3))
// 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);}
#define GPU_SWAP(a,b,t) {(t)=(a);(a)=(b);(b)=(t);}
@@
-156,16
+155,24
@@
int renderer_init(void)
return 0;
}
return 0;
}
+void renderer_finish(void)
+{
+}
+
+void renderer_notify_res_change(void)
+{
+}
+
extern const unsigned char cmd_lengths[256];
extern const unsigned char cmd_lengths[256];
-int do_cmd_list(u
nsigned int
*list, int list_len, int *last_cmd)
+int do_cmd_list(u
32
*list, int list_len, int *last_cmd)
{
{
- u
nsigned int
cmd = 0, len, i;
- u
nsigned int
*list_start = list;
- u
nsigned int
*list_end = list + list_len;
+ u
32
cmd = 0, len, i;
+ u
32
*list_start = list;
+ u
32
*list_end = list + list_len;
linesInterlace = force_interlace;
linesInterlace = force_interlace;
-#if
ndef __ARM_ARCH_7A__
/* XXX */
+#if
def HAVE_PRE_ARMV7
/* XXX */
linesInterlace |= gpu.status.interlace;
#endif
linesInterlace |= gpu.status.interlace;
#endif
@@
-301,7
+308,11
@@
int do_cmd_list(unsigned int *list, int list_len, int *last_cmd)
gpuDrawLF(gpuPixelDrivers [ (Blending_Mode | Masking | Blending | (PixelMSB>>3)) >> 1]);
num_vertexes++;
gpuDrawLF(gpuPixelDrivers [ (Blending_Mode | Masking | Blending | (PixelMSB>>3)) >> 1]);
num_vertexes++;
- if((*list_position & 0xf000f000) == 0x50005000 || list_position >= list_end)
+ if(list_position >= list_end) {
+ cmd = -1;
+ goto breakloop;
+ }
+ if((*list_position & 0xf000f000) == 0x50005000)
break;
}
break;
}
@@
-332,7
+343,11
@@
int do_cmd_list(unsigned int *list, int list_len, int *last_cmd)
gpuDrawLG(gpuPixelDrivers [ (Blending_Mode | Masking | Blending | (PixelMSB>>3)) >> 1]);
num_vertexes++;
gpuDrawLG(gpuPixelDrivers [ (Blending_Mode | Masking | Blending | (PixelMSB>>3)) >> 1]);
num_vertexes++;
- if((*list_position & 0xf000f000) == 0x50005000 || list_position >= list_end)
+ if(list_position >= list_end) {
+ cmd = -1;
+ goto breakloop;
+ }
+ if((*list_position & 0xf000f000) == 0x50005000)
break;
}
break;
}
@@
-476,8
+491,8
@@
int do_cmd_list(unsigned int *list, int list_len, int *last_cmd)
}
case 0xE5: {
const u32 temp = PacketBuffer.U4[0];
}
case 0xE5: {
const u32 temp = PacketBuffer.U4[0];
- DrawingOffset[0] = ((
long
)temp<<(32-11))>>(32-11);
- DrawingOffset[1] = ((
long
)temp<<(32-22))>>(32-11);
+ DrawingOffset[0] = ((
s32
)temp<<(32-11))>>(32-11);
+ DrawingOffset[1] = ((
s32
)temp<<(32-22))>>(32-11);
gpu.ex_regs[5] = temp;
break;
}
gpu.ex_regs[5] = temp;
break;
}
@@
-527,6
+542,8
@@
void renderer_set_config(const struct rearmed_cbs *cbs)
enableAbbeyHack = cbs->gpu_unai.abe_hack;
light = !cbs->gpu_unai.no_light;
blend = !cbs->gpu_unai.no_blend;
enableAbbeyHack = cbs->gpu_unai.abe_hack;
light = !cbs->gpu_unai.no_light;
blend = !cbs->gpu_unai.no_blend;
+
+ GPU_FrameBuffer = (u16 *)gpu.vram;
}
#endif
}
#endif