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
psx_gpu: fix mask set in blend_blocks variant
[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
4e1e403
..
d8fb153
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"
@@
-4279,6
+4280,7
@@
function(blend_blocks_textured_unblended_on)
beq 1f
0:
beq 1f
0:
+ vorr.u16 pixels, pixels, msb_mask
vorr.u16 draw_mask, draw_mask, write_mask
vbif.u16 fb_pixels, pixels, draw_mask
vst1.u16 { fb_pixels }, [ fb_ptr ]
vorr.u16 draw_mask, draw_mask, write_mask
vbif.u16 fb_pixels, pixels, draw_mask
vst1.u16 { fb_pixels }, [ fb_ptr ]
@@
-4293,6
+4295,7
@@
function(blend_blocks_textured_unblended_on)
bne 0b
1:
bne 0b
1:
+ vorr.u16 pixels, pixels, msb_mask
vorr.u16 draw_mask, draw_mask, write_mask
vbif.u16 fb_pixels, pixels, draw_mask
vst1.u16 { fb_pixels }, [ fb_ptr ]
vorr.u16 draw_mask, draw_mask, write_mask
vbif.u16 fb_pixels, pixels, draw_mask
vst1.u16 { fb_pixels }, [ fb_ptr ]
@@
-5757,6
+5760,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 }