Commit Graph

16223 Commits

Author SHA1 Message Date
Henrik Rydgård
a7b7fedc9f Cleaup. Add a missing vertex dec func. 2015-04-06 18:13:45 +02:00
Henrik Rydgård
4bd95b0cb7 ARM64: Fixup software skinning. Now seems to work, at least in a bunch of games.. 2015-04-06 18:13:45 +02:00
Henrik Rydgård
39be916d8a ARM64: More emitter/disasm 2015-04-06 18:13:44 +02:00
Henrik Rydgård
459ba28655 ARM64: SW skinning runs without crashing but is broken. 2015-04-06 18:13:44 +02:00
Henrik Rydgård
f937b4b74b ARM64 vtxdec: Basic implementation of the 16-bit color formats 2015-04-06 18:13:43 +02:00
Henrik Rydgård
597595f279 ARM64: Start implementing soft-skinning. Disabled for now, needs work. 2015-04-06 18:13:43 +02:00
Henrik Rydgård
f82b613371 ARM64 emitter/disasm: Implement ASIMD LDP/STP instructions 2015-04-06 18:13:42 +02:00
Henrik Rydgård
a8c2d0945a ARM64: lwl: Pass INVALID_REG to be sure SCRATCH1 doesn't get overwritten... 2015-04-06 18:13:41 +02:00
Henrik Rydgård
a710abb58b A bunch more vertex decoder funcs 2015-04-06 18:13:41 +02:00
Henrik Rydgård
013bbc71af ARM64: Fix DUP disasm, INS disasm 2015-04-06 18:13:40 +02:00
Henrik Rydgård
a3db3ed5c1 ARM64 emitter: Fix UXTL/SXTL and friends. Add disasm. 2015-04-06 18:13:40 +02:00
Henrik Rydgård
853d6ea34b ARM64 emitter: Add FMLA/FMLS vector versions 2015-04-06 18:13:39 +02:00
Henrik Rydgård
065cd97dc2 ARM64: LLVM buildfix, some more disasm 2015-04-06 18:13:39 +02:00
Henrik Rydgård
13c9390c53 ARM64: Emitter fix, disable swl/swr/lwl/lwr again fully 2015-04-06 18:13:38 +02:00
Henrik Rydgård
f6c4e8e784 Quickfix blackberry build 2015-04-06 18:13:38 +02:00
Henrik Rydgård
9f24076b63 Make the unittests build on mac 2015-04-06 18:13:37 +02:00
Henrik Rydgård
95cd1478de Restore the x86 build. 2015-04-06 18:13:37 +02:00
Henrik Rydgård
fbaffdceab Remove some outdated comments, minor stuff 2015-04-06 18:13:36 +02:00
Henrik Rydgard
0a70618f87 ARM64: Accurate floating point rounding. For some reason, FTZ doesn't seem to work though. 2015-04-06 18:13:36 +02:00
Henrik Rydgard
7d918c0ad8 ARM64: Just some disasm improvements 2015-04-06 18:13:35 +02:00
Henrik Rydgard
ad3d539451 ARM64: Attempt at lwl/lwr/swl/swr. The first two don't work 2015-04-06 18:13:35 +02:00
Henrik Rydgard
44286a2b37 ARM64: Accurate float->int conversion with rounding mode. 2015-04-06 18:13:34 +02:00
Henrik Rydgard
4618275f99 ARM64: Add a few aliases to emitter. Disasm fixes. 2015-04-06 18:13:33 +02:00
Henrik Rydgard
acf08eefa8 ARM64: Fix FCVTL, use it in v2hf 2015-04-06 18:13:33 +02:00
Henrik Rydgard
8eedcc7fb0 ARM64: Speedup fpu/vfpu load/stores too using "pointerification". Actually noticeable gain. 2015-04-06 18:13:32 +02:00
Henrik Rydgard
ad648baa9c ARM64 regcache: Add support to "pointerify" registers. Use in load/store to cut down instructions. 2015-04-06 18:13:32 +02:00
Henrik Rydgard
0849e270ee ARM64: fmla encoding, more disasm 2015-04-06 18:13:31 +02:00
Henrik Rydgard
2780eef595 ARM64: Another couple of VFPU ops 2015-04-06 18:13:31 +02:00
Henrik Rydgard
ca58f322e5 ARM64: Port over some missing VFPU instructions from ARM. Not much left now. 2015-04-06 18:13:30 +02:00
Henrik Rydgard
f06e9a9d18 ARM64: Even more VFPU instructions 2015-04-06 18:13:30 +02:00
Henrik Rydgard
1b1ab73b0f ARM64: Enable some more VFPU instructions, some code cleanup 2015-04-06 18:13:29 +02:00
Henrik Rydgard
9c79831237 ARM64 emitter: Fix FP immediates 2015-04-06 18:13:29 +02:00
Henrik Rydgard
500ca94ab8 ARM64: Port over tons of VFPU code from ARM, leave most of it disabled. 2015-04-06 18:13:28 +02:00
Henrik Rydgard
8df8c210d1 ARM64: Start porting over VFPU stuff from ARM, fix regalloc bug 2015-04-06 18:13:28 +02:00
Henrik Rydgard
9a5a093105 ARM64 emitter/disasm: More scalar FPU instructions 2015-04-06 18:13:27 +02:00
Henrik Rydgard
ff758f58ad ARM64: The Return of the Pointer Truncator - The Movie 2015-04-06 18:13:26 +02:00
Henrik Rydgard
db0fd1042f Add "Arm64EmitterTest" which can run on startup to play around with instructions. 2015-04-06 18:13:26 +02:00
Henrik Rydgard
6cb107d6fc ARM64: Fix LDP disassembly 2015-04-06 18:13:25 +02:00
Henrik Rydgard
34e61ab875 ARM64: More FPU instructions (int<->float convert), minor stuff 2015-04-06 18:13:25 +02:00
Henrik Rydgard
5a5f3c94fd ARM64: Guess what? more emitter & disasm 2015-04-06 18:13:24 +02:00
Henrik Rydgard
1e9fdf08c5 Temporarily disable vertexjit 2015-04-06 18:13:23 +02:00
Henrik Rydgard
0f430e6cd1 ARM64: More asimd scalar disasm, encoding fix 2015-04-06 18:13:23 +02:00
Henrik Rydgard
9f689b871a ARM64: Work on emitting and disassembling fp conversion ops 2015-04-06 18:13:22 +02:00
Henrik Rydgard
25ec85551f ARM64: Implement FP compares, misc 2015-04-06 18:13:22 +02:00
Henrik Rydgard
ceb9f66502 ARM64: Fix bug in mult 2015-04-06 18:13:21 +02:00
Henrik Rydgard
2566972a4d ARM64: Further disasm work 2015-04-06 18:13:21 +02:00
Henrik Rydgard
5496b3d3b1 ARM64: Some minor vertex decoder work. Hm, I think SCVTF will actually divide by 128.0, not 127.0 :/ 2015-04-06 18:13:20 +02:00
Henrik Rydgard
1a02e32ad1 ARM64: Implement the multiplication instructions 2015-04-06 18:13:20 +02:00
Henrik Rydgard
120e0bba3c ARM64: Disassemble csel and multiply instructions 2015-04-06 18:13:19 +02:00
Henrik Rydgard
a8be978154 ARM64 emitter: Add fixed point versions of SCVTF and UCVTF 2015-04-06 18:13:19 +02:00