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
spu: remove some strange rounding
[pcsx_rearmed.git]
/
frontend
/
cspace_neon.S
diff --git
a/frontend/cspace_neon.S
b/frontend/cspace_neon.S
index
56ab304
..
4928b44
100644
(file)
--- a/
frontend/cspace_neon.S
+++ b/
frontend/cspace_neon.S
@@
-23,6
+23,17
@@
FUNCTION(bgr555_to_rgb565): @ dst, src, bytes
pld [r1]
mov r3, #0x07c0
vdup.16 q15, r3
pld [r1]
mov r3, #0x07c0
vdup.16 q15, r3
+ tst r0, #8
+ beq 0f
+ @ align the dst
+ vld1.16 {d0}, [r1]!
+ sub r2, r2, #8
+ vshl.u16 d0, d0, #1
+ vshl.u16 d1, d0, #10
+ vsri.u16 d1, d0, #11
+ vbit d1, d0, d30
+ vst1.16 {d1}, [r0]!
+0:
subs r2, r2, #64
blt btr16_end64
0:
subs r2, r2, #64
blt btr16_end64
0:
@@
-183,8
+194,8
@@
FUNCTION(bgr888_to_rgb888): @ dst, src, bytes
umull r12,r2, r3, r2
0:
pld [r1, #48*3]
umull r12,r2, r3, r2
0:
pld [r1, #48*3]
- vld3.8 {d0-d2}, [r1
, :64
]!
- vld3.8 {d3-d5}, [r1
, :64
]!
+ vld3.8 {d0-d2}, [r1]!
+ vld3.8 {d3-d5}, [r1]!
vswp d0, d2
vswp d3, d5
vst3.8 {d0-d2}, [r0, :64]!
vswp d0, d2
vswp d3, d5
vst3.8 {d0-d2}, [r0, :64]!
@@
-207,8
+218,8
@@
FUNCTION(bgr888_to_rgb565): @ dst, src, bytes
vdup.16 q15, r3
0:
pld [r1, #48*3]
vdup.16 q15, r3
0:
pld [r1, #48*3]
- vld3.8 {d1-d3}, [r1
, :64
]!
- vld3.8 {d5-d7}, [r1
, :64
]!
+ vld3.8 {d1-d3}, [r1]!
+ vld3.8 {d5-d7}, [r1]!
vshll.u8 q8, d2, #3 @ g
vshll.u8 q9, d6, #3
vshll.u8 q8, d2, #3 @ g
vshll.u8 q9, d6, #3