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
Merge git://github.com/notaz/pcsx_rearmed
[pcsx_rearmed.git]
/
plugins
/
gpu_neon
/
psx_gpu
/
psx_gpu_arm_neon.S
diff --git
a/plugins/gpu_neon/psx_gpu/psx_gpu_arm_neon.S
b/plugins/gpu_neon/psx_gpu/psx_gpu_arm_neon.S
index
a2bfa5b
..
344331d
100644
(file)
--- a/
plugins/gpu_neon/psx_gpu/psx_gpu_arm_neon.S
+++ b/
plugins/gpu_neon/psx_gpu/psx_gpu_arm_neon.S
@@
-20,6
+20,7
@@
#define RENDER_STATE_MASK_EVALUATE 0x20
#define RENDER_FLAGS_MODULATE_TEXELS 0x1
#define RENDER_FLAGS_BLEND 0x2
#define RENDER_STATE_MASK_EVALUATE 0x20
#define RENDER_FLAGS_MODULATE_TEXELS 0x1
#define RENDER_FLAGS_BLEND 0x2
+#define RENDER_INTERLACE_ENABLED 0x1
#include "psx_gpu_offsets.h"
#include "psx_gpu_offsets.h"
@@
-1175,6
+1176,10
@@
function(setup_spans_up_down)
ldrh temp, [ psx_gpu, #psx_gpu_num_spans_offset ]
add temp, temp, height_minor_b
ldrh temp, [ psx_gpu, #psx_gpu_num_spans_offset ]
add temp, temp, height_minor_b
+
+ cmp temp, #MAX_SPANS
+ beq 5f
+
strh temp, [ psx_gpu, #psx_gpu_num_spans_offset ]
2:
strh temp, [ psx_gpu, #psx_gpu_num_spans_offset ]
2:
@@
-1190,6
+1195,15
@@
function(setup_spans_up_down)
setup_spans_prologue_b()
bal 4b
setup_spans_prologue_b()
bal 4b
+ 5:
+ // FIXME: overflow corner case
+ sub temp, temp, height_minor_b
+ bics height_minor_b, #3
+ add temp, temp, height_minor_b
+ strh temp, [ psx_gpu, #psx_gpu_num_spans_offset ]
+ bne 2b
+ bal 1b
+
.pool
#undef span_uvrg_offset
.pool
#undef span_uvrg_offset
@@
-5744,6
+5758,8
@@
function(setup_sprite_untextured)
ldrh r12, [ psx_gpu, #psx_gpu_render_state_offset ]
tst r12, #(RENDER_STATE_MASK_EVALUATE | RENDER_FLAGS_MODULATE_TEXELS \
| RENDER_FLAGS_BLEND)
ldrh r12, [ psx_gpu, #psx_gpu_render_state_offset ]
tst r12, #(RENDER_STATE_MASK_EVALUATE | RENDER_FLAGS_MODULATE_TEXELS \
| RENDER_FLAGS_BLEND)
+ ldreqb r12, [ psx_gpu, #psx_gpu_render_mode_offset ]
+ tsteq r12, #RENDER_INTERLACE_ENABLED
beq setup_sprite_untextured_simple
stmdb sp!, { r4 - r11, r14 }
beq setup_sprite_untextured_simple
stmdb sp!, { r4 - r11, r14 }