Commit Graph

782 Commits

Author SHA1 Message Date
Unknown W. Brackets
4de9b9692e mips: Add JALR/JR. QuickCallFunction should link. 2014-11-18 09:12:16 -08:00
Unknown W. Brackets
5b18353584 mips: Add helpers for constant loads. 2014-11-18 08:41:28 -08:00
Unknown W. Brackets
29365e6775 mips: Clean up MIPSXEmitter a bit.
Don't even want dangerous funcs like SUB().

Keeping things in opcode order at least locally so it doesn't get
confusing to maintain.  Also fixed a bunch of missing asserts.
2014-11-18 08:41:20 -08:00
xSacha
4167b66808 Add some more MIPS instructions 2014-11-18 08:41:09 -08:00
Sacha
65e008f053 Implement a MipsJit. 2014-11-18 08:40:57 -08:00
Unknown W. Brackets
8b6a5f2ecc mips: Duh, oops. LUI is one reg, of course. 2014-11-18 08:40:30 -08:00
Unknown W. Brackets
0df0ea7d85 mips: Add a basic MIPSXCodeBlock. 2014-11-18 08:40:30 -08:00
Unknown W. Brackets
2903e72daa mips: Add basic load/store for the MIPS emitter. 2014-11-18 08:40:30 -08:00
Unknown W. Brackets
5cadab0273 mips: Add some basic jumping and logic instructions. 2014-11-18 08:40:29 -08:00
Unknown W. Brackets
6407e4a32a mips: Initial structure for a MIPS emitter. 2014-11-18 08:40:29 -08:00
Henrik Rydgard
53b5d331b4 Assorted minor optimizations 2014-11-17 21:21:44 +01:00
Henrik Rydgard
28ca8d4818 x86 jit: Use LEA to emulate addu but only when it can save a few bytes 2014-11-16 17:39:47 +01:00
chinhodado
4bac356df6 Use const 2014-11-14 16:13:06 -05:00
xSacha
57e4088216 Introduce fake vertex decoder JIT as well.
Compiles and links on CI20 but gets unknown crash in GL driver.
2014-11-13 17:10:29 +10:00
Sacha
a0086f6412 Introduce a Fake JIT for generic builds. 2014-11-13 00:09:51 +10:00
Henrik Rydgard
9e0aa8eaa3 Drop silly way of doing CPUID on Android, the right way seems to work 2014-11-12 00:29:16 +01:00
Henrik Rydgard
784bf82b58 Improve AVX check in CPUDetect. Warning fix.
Keeping the ifdef for zenfone - still doesn't work without it
2014-11-11 23:48:58 +01:00
Henrik Rydgard
7409263eb0 Make CPUDetect.cpp not blow up on Zenfone devices.
Don't really know what's going on here, but this seems like the easiest way out. Appears that CPUID really is buggy on this hardware, which seems weird. Alternate explanations would be that we are checking the wrong bits for xgetbv support or something...
2014-11-11 23:08:28 +01:00
Sacha
ee0c593258 Fix Android. 2014-11-12 03:19:46 +10:00
Sacha
1ba9103cef Better support for new archs. 2014-11-11 22:55:49 +10:00
Unknown W. Brackets
bc7497857a x86jit: Micro optimize vi2x a bit with ssse3/sse4.
Both are small wins.
2014-11-08 12:13:26 -08:00
Unknown W. Brackets
0e646f748a x86jit: Implement vi2x instructions.
Also, my opcodes were wrong in the test (shifted the pair bit the wrong
way, oops.)

AFAICT, there's no reason PSRAD/etc. were not encoding REX...
2014-11-08 12:13:26 -08:00
Unknown W. Brackets
d7bdded6f8 x86jit: fix rip addressing on PEXTRW/PINSRW.
I think this is right anyway, not 100% sure.
2014-11-03 23:18:32 -08:00
Unknown W. Brackets
844c7e73d3 x86jit: Add SSE 4.1 rounding ops to emitter. 2014-11-03 23:18:09 -08:00
Henrik Rydgård
f1d43e7e90 Merge pull request #7046 from unknownbrackets/perf
Improve load and shutdown performance a bit
2014-11-03 21:50:10 +01:00
Unknown W. Brackets
ad6b176e11 Naturally, modern C++ would not build on Symbian. 2014-11-03 08:56:45 -08:00
Unknown W. Brackets
9d86d3ca9b Use std::unordered_multimaps in a few places. 2014-11-03 08:31:52 -08:00
Unknown W. Brackets
dd497e5a02 Show an error when savedata can't be written.
Normally we'll log when the disk is full for files, but if we can't even
create the folder, we'll get errors trying to write into a non-existing
directory.
2014-11-02 13:30:00 -08:00
Henrik Rydgård
28efc0aa13 Merge pull request #6694 from ToadKing/master
Try to allocate executable memory close to PPSSPP memory if not below 4GB
2014-10-18 11:14:20 +02:00
Henrik Rydgård
259c6c94c4 Merge pull request #6952 from fcooper/master-bbb-support
Support ARM Linux device and add Beaglebone as a support device
2014-10-18 11:11:49 +02:00
Henrik Rydgård
6cb2c9c97d Merge pull request #6989 from hrydgard/x86-emitter-merge
Merge from Dolphin's x86-64 emitter
2014-10-12 19:52:59 +02:00
Henrik Rydgård
7bde976069 Merge x64 emitter from a newer Dolphin version.
This one can generate slightly smaller code by exploiting some EAX-only
encoding and various other short forms, and adds support for many newer
CPU instructions.
2014-10-12 19:46:58 +02:00
Henrik Rydgård
281ab5f9cb Sync x64 emitter to Dolphin's. 2014-10-12 19:45:26 +02:00
Henrik Rydgard
8177b4c43b Avoid an ifdef using PTRBITS 2014-10-12 19:35:55 +02:00
Henrik Rydgård
f99c2cd010 x86 Jit: Generate nicer code for some cases of addiu 2014-10-12 17:47:53 +02:00
Unknown W. Brackets
42fe8ee32e Convert FormatMessage() to utf-8 to fix locale.
Otherwise we get non-utf-8 garbage if the user isn't in a Latin codepage.
2014-09-27 09:04:24 -07:00
Unknown W. Brackets
32fc4c7676 d3d9: Try harder to get a shader compile error. 2014-09-26 21:32:22 -07:00
Franklin S Cooper Jr
50b8debead MemArena.cpp: Fix Bus Error when running on Beaglebone/Beaglebone Black
* Similar to commit 178891b576 when running the
  emulator a "Bus Error" would be given andn will cause a seg fault immediately.
* When running on the BB change the path of the ram temp file to a valid
  location.

Signed-off-by: Franklin S Cooper Jr <fcooper27@gmail.com>
2014-09-26 19:07:34 -05:00
Unknown W. Brackets
031a1de139 Add some additional ABI call funcs, cleanup.
ImmPtr is cleaner, let's use it rather than ugly casts.
2014-09-21 08:34:08 -07:00
Unknown W. Brackets
e1a57abcb4 Fix mixed newline style. 2014-09-20 08:30:37 -07:00
Henrik Rydgard
62054b1e7b Fix PINSRW/PEXTRW emitters.
Fixes crash introduced in 5276487611
(apparently we haven't used PINSRW before)
2014-09-20 11:46:05 +02:00
Henrik Rydgard
0264ff62f0 Update native with GL-lost-management (UI comes back on Android after switching away) 2014-09-06 13:50:50 +02:00
Henrik Rydgard
215abfb951 Some cleanup in /Common 2014-09-06 10:47:25 +02:00
Toad King
91cb8ea1c9 typo 2014-08-31 23:53:48 -04:00
Henrik Rydgard
808f05da89 (Partially) slip thin3d underneath DrawBuffer. 2014-08-22 20:54:53 +02:00
Sacha
d08f65bf03 For some reason x86 was compiling ArmEmitter 2014-08-20 22:44:55 +10:00
Sacha
97e93f48fd Clean up LitPool code and re-enable flushing in AsmJit 2014-08-20 18:29:37 +10:00
Sacha
7691e0e0b5 Enable LitPool for ARMv6.
Was originally disabled because vertex JIT wasn't flushing but it now does.
2014-08-20 17:25:58 +10:00
The Dax
784f311d76 Make it available for everybody. 2014-08-17 14:36:35 -04:00
Toad King
b98c79bd0a fix 32-bit builds 2014-08-06 22:02:45 -04:00