aboutsummaryrefslogtreecommitdiff
path: root/frontend/arm_utils.s
diff options
context:
space:
mode:
authornotaz2010-12-08 02:10:06 +0200
committernotaz2010-12-14 15:25:04 +0200
commit1972732abfea710d3d7b61180971580d9e5081ce (patch)
tree193b88cbec7a9ff4c01a9921b823baf8dcf4e64c /frontend/arm_utils.s
parent514ed0d98e058596720f94af4af347b609980de9 (diff)
downloadpcsx_rearmed-1972732abfea710d3d7b61180971580d9e5081ce.tar.gz
pcsx_rearmed-1972732abfea710d3d7b61180971580d9e5081ce.tar.bz2
pcsx_rearmed-1972732abfea710d3d7b61180971580d9e5081ce.zip
add support for 24bpp mode
Diffstat (limited to 'frontend/arm_utils.s')
-rw-r--r--frontend/arm_utils.s21
1 files changed, 21 insertions, 0 deletions
diff --git a/frontend/arm_utils.s b/frontend/arm_utils.s
index edaafb8..d74c8b3 100644
--- a/frontend/arm_utils.s
+++ b/frontend/arm_utils.s
@@ -45,4 +45,25 @@ bgr555_to_rgb565:
bx lr
+
+.global bgr888_to_rgb888
+bgr888_to_rgb888:
+ @ r2 /= 48
+ mov r2, r2, lsr #4
+ movw r3, #0x5556
+ movt r3, #0x5555
+ umull r12,r2, r3, r2
+0:
+ vld3.8 {d0-d2}, [r1, :64]!
+ vld3.8 {d3-d5}, [r1, :64]!
+ vswp d0, d2
+ vswp d3, d5
+ vst3.8 {d0-d2}, [r0, :64]!
+ vst3.8 {d3-d5}, [r0, :64]!
+ subs r2, r2, #1
+ bne 0b
+
+ bx lr
+
+
@ vim:filetype=armasm