Commit Graph

196 Commits

Author SHA1 Message Date
Henrik Rydgard
08735b806f Remove silly use of gstate.SetVSyncInterval 2015-09-06 13:36:33 +02:00
Henrik Rydgard
35c65973c1 ARM64 jit: implement vuc2i, vc2i, vus2i, vs2i instructions 2015-07-11 13:25:58 +02:00
Henrik Rydgard
28456bef90 ARM64: Add NEON EOR encoding 2015-07-11 12:36:44 +02:00
Henrik Rydgard
72651835c3 A bunch more ARM64 encodings (*MIN,*MAX,XTN,SHRN, etc) 2015-07-11 12:16:56 +02:00
Henrik Rydgard
0be2b93ceb More ARM32 NEON encoding horrors (VMOVL, VSHLL) 2015-07-10 23:56:42 +02:00
Henrik Rydgard
59164cdbfb ARM32: Disasm and emit NEON shifts-by-immediate 2015-07-09 00:24:57 +02:00
Henrik Rydgård
cc59361408 Merge pull request #7848 from unknownbrackets/vertdec
Improve arm64 vertex decoder
2015-07-05 18:25:24 +02:00
Henrik Rydgard
937feb6892 ARM64 disasm: Fix disasm of msr/mrs 2015-07-05 11:00:23 +02:00
Henrik Rydgard
b865070de1 ARM64 emitter/disasm: Fix LDNP/STNP disassembly, also fix test of smaddl 2015-07-05 09:57:58 +02:00
Unknown W. Brackets
683b3eb082 Add tests for various vertex formats. 2015-07-04 18:08:31 -07:00
Unknown W. Brackets
8ea7f99072 arm64: Fix imm wasting when STP doesn't work out. 2015-07-04 07:09:47 -07:00
Unknown W. Brackets
14885182b9 Add some timing ability. 2015-07-03 15:44:41 -07:00
Unknown W. Brackets
808db2482a Initial structure for vertexjit tests. 2015-07-03 15:25:40 -07:00
Unknown W. Brackets
62988b2aa7 Fix building unittest for ARM64 Android. 2015-06-26 22:29:43 -07:00
Jan Beich
0b66a0a03c unittest: avoid build error on case-sensitive filesystems
unittest/TestArm64Emitter.cpp:1:10: fatal error: 'Common/ARM64Emitter.h' file not found
unittest/TestX64Emitter.cpp:1:10: fatal error: 'Common/X64Emitter.h' file not found
2015-05-28 06:02:59 +00:00
Henrik Rydgård
d014d420db Unify JitOptions across the backends.
This is required to make ExtractIR not a member of the various backends.
2015-04-12 11:41:26 -07: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
f82b613371 ARM64 emitter/disasm: Implement ASIMD LDP/STP instructions 2015-04-06 18:13:42 +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 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
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
0849e270ee ARM64: fmla encoding, more disasm 2015-04-06 18:13:31 +02:00
Henrik Rydgard
9c79831237 ARM64 emitter: Fix FP immediates 2015-04-06 18:13:29 +02:00
Henrik Rydgard
9a5a093105 ARM64 emitter/disasm: More scalar FPU instructions 2015-04-06 18:13:27 +02:00
Henrik Rydgard
6cb107d6fc ARM64: Fix LDP disassembly 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
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
2566972a4d ARM64: Further disasm work 2015-04-06 18:13:21 +02:00
Henrik Rydgard
120e0bba3c ARM64: Disassemble csel and multiply instructions 2015-04-06 18:13:19 +02:00
Henrik Rydgard
acd9502b44 ARM64: stp/ldp disasm improvements 2015-04-06 18:13:17 +02:00
Henrik Rydgard
5dff3f8c89 ARM64: Implement scalar FMOV. This makes the FPU2op ops work. 2015-04-06 18:13:16 +02:00
Henrik Rydgard
4233921ab7 ARM64: Some more instructions, func replacements 2015-04-06 18:13:16 +02:00
Henrik Rydgard
77501e220d ARM64: Enable a few more instructions, more emitter/disasm unittests 2015-04-06 18:13:13 +02:00
Henrik Rydgard
cc722f09f6 Improve ARM64 disassembly by merging MOVZ+MOVK. Minor stuff. 2015-04-06 18:13:07 +02:00
Henrik Rydgard
8945b2476d Add the beginnings of a rudimentary ARM64 disassembler 2015-04-06 18:13:03 +02:00
Henrik Rydgard
001eda39e0 Add really primitive save preview on "Next Slot". Improve pause screen layout a little. 2015-02-01 18:04:50 +01:00
Henrik Rydgard
28cd190e0a Temporary workaround for Debug build linking problem (ffmpeg's static release CRT clashes with static debug CRT) 2015-01-24 16:37:01 +01:00
Henrik Rydgard
4ebdf49fb6 Update ffmpeg to master, also switching to static linking of MSVCRT. Don't forget to update your submodules! 2015-01-24 13:30:37 +01:00
Henrik Rydgard
05a8e2e35d Some work towards being able to build two JITs together
This will be useful for testing/debugging, but not there yet.
2014-12-13 21:13:54 +01:00
Henrik Rydgard
8ad1ea4c84 Split JitCommon.h so that you can include it without getting the "NativeJit" definition 2014-12-13 21:13:28 +01:00
Henrik Rydgard
9f2ec39a99 Add a simple test of matrix transposes 2014-12-12 23:49:23 +01:00
Unknown W. Brackets
15d0a81122 Exclude the X64Emitter test on ARM.
Don't want to make that run on ARM...
2014-12-07 21:05:50 -08:00
Unknown W. Brackets
58ff826b73 Cleanup to link assembler on arm unittest builds. 2014-12-07 15:41:11 -08:00
Henrik Rydgard
50bb3e1e05 Minor fixes 2014-12-08 00:18:13 +01:00
Henrik Rydgard
8c128508a5 disarm: Fix a couple of bugs, and disable a broken test to get to the good stuff in ArmEmitter unittest... 2014-12-07 23:24:39 +01:00
Henrik Rydgard
7740caeade Buildfix the arm emitter test in the unittest.
Also do some preparation for being able to have two JITs compiled at the same time
which may be useful in testing parts of the ARM jit on Windows.
2014-12-07 14:12:13 +01:00
Henrik Rydgard
34054b4f41 Add a simple way to test the X64 emitter. Update native. 2014-12-06 11:35:01 +01:00
Henrik Rydgard
466cdb8ddf x86 Jit: Basic implementation of SIMD vmmul. Can be improved. 2014-11-30 19:27:43 +01:00
Unknown W. Brackets
bb26e4f7d0 x86jit: Implement vmmov using SIMD.
4x -> 87x in microbenchmarking.
2014-11-29 18:46:38 -08:00
Henrik Rydgard
8f016d3e48 Merge some matrix utils and stuff from the NEON branch 2014-11-29 11:37:45 +01:00
Kingcom
f6cedcbff5 Replace assembler with a submodule 2014-11-23 21:09:40 +01:00
Unknown W. Brackets
370fb86379 Add VFPU instructions to the mips asm tables. 2014-11-09 15:14:07 -08:00
Henrik Rydgard
5bcdecc26b unittest: Have the JIT harness print disassembly, to make it easy to inspect results. 2014-11-09 12:03:04 +01:00
Unknown W. Brackets
bed0d0b059 x86jit: Improve cvt.w.s when fd is loaded or fs.
We have no need to store it.
2014-11-08 16:40:54 -08:00
Unknown W. Brackets
1917d946ea x86jit: Micro optimize cvt.s.w a bit.
This implementation is about 5x faster for micro benchmarks.  Little
impact to overall perf in games I tested, though.
2014-11-08 13:30:38 -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
7d54622e2c Fix Windows build without dxsdk (#7070.) 2014-11-08 12:10:50 -08:00
Unknown W. Brackets
836328d731 Cut down on test overhead a good bit. 2014-11-07 22:51:01 -08:00
Unknown W. Brackets
2efecc5c38 Add some jit benchmarking code. 2014-11-07 22:40:28 -08:00
Henrik Rydgard
f84ebf6bff sprintf->snprintf, fix some too short buffers 2014-09-14 00:14:11 +02:00
Unknown W. Brackets
afe2a17ef5 Compile projects using GLEW_STATIC.
To avoid compilation warnings about dllimport.
2014-08-23 21:53:33 -07:00
Henrik Rydgard
39cde7fc48 Hide "immersive mode" on pre-kitkat Android. 2014-07-20 12:11:50 +02:00
Henrik Rydgard
e6f55bfef0 Fix silly mistake in vfpu_sincos. Add unittest. 2014-06-15 11:51:30 +02:00
Henrik Rydgard
f1a225728c Update native with framebuffer_blit_nv fix for tegra.
This appears to fix some but not all issues with blit on Tegra.

May affect #2135 and fix issues broken by #6115.

(also throw in a link in a comment)
2014-06-05 21:30:45 +02:00
Unknown W. Brackets
48fa22b7cf B/BL were swapped in the arm emitter.
Oops...
2014-03-14 19:15:41 -07:00
Unknown W. Brackets
b00c98a87d Correct disasm for BFI/BFC/UBFX/SBFX. 2014-03-14 19:15:40 -07:00
Henrik Rydgard
ab9cd99d0f Major ARM disassembler improvements, will make debugging the JIT easier 2014-03-12 18:09:28 +01:00
Unknown W. Brackets
cd4cd77938 Clean up defines in MSVC project files.
This way they're all basically the same.  A lot of cases where
debug/release/etc. where inconsistent...

Also, define USING_WIN_UI.
2014-02-08 16:38:44 -08:00
Unknown W. Brackets
2c204e8028 Update project to MSVC 2013 tools.
Retaining XP support, using SDK 7.1a (v120_xp.)  Disables SSE2 flag on x64
since it's implied and causes compile warnings.
2014-02-08 13:41:28 -08:00
Unknown W. Brackets
1dfcbd0ea1 Reference g_Config in unittest to resolve cycle.
Dag blasted cross dependent linking.
2014-01-10 21:32:08 -08:00
Henrik Rydgård
8ac6ba17d7 Make the unittest build using CMake 2014-01-09 12:09:07 +01:00
Henrik Rydgard
569a3cd733 Update README.md and submodules 2013-12-03 12:58:03 +01:00
Henrik Rydgard
7edfa284d9 approx math research: found even better arcsin approximations 2013-12-01 14:13:20 +01:00
Henrik Rydgard
f7bd435375 Try another sine approx. not very good. 2013-12-01 14:13:20 +01:00
Henrik Rydgard
2a5c4ca420 Some math approximation research. Found a good approximate arcsin (to implement vasin in the future). 2013-11-30 12:46:23 +01:00
Henrik Rydgard
c83a7e0029 Parse mac addresses in one place. 2013-11-28 12:38:45 +01:00
Henrik Rydgard
c53b32d154 Show a dismissable notification if PPSSPP is behind the latest official release 2013-11-26 14:04:29 +01:00
Henrik Rydgard
ad620e463a Detect language on first boot on Windows (Vista+) and Android 2013-09-04 12:08:22 +02:00
Henrik Rydgard
55aa3d13c7 Win32: Switch to a UNICODE build. This took quite a bit of fixing. 2013-08-26 19:00:16 +02:00
Henrik Rydgard
65f8430c32 Quick hacked-up ARM VFP disassembler. Buggy. 2013-07-30 21:39:37 +02:00
Henrik Rydgard
2afbc94734 Turn off RTTI, simulate it where needed. 2013-06-09 13:02:16 +02:00
Henrik Rydgard
a3dd3b53c3 Implement a couple basic Psmf functions, unify some project settings, update native. 2013-06-05 21:24:14 +02:00
Henrik Rydgard
b3f3305068 vcproj update: enable multithread build 2013-06-02 23:45:44 +02:00
Henrik Rydgard
660d5700e7 Unify some VS project settings 2013-04-27 19:34:41 +02:00
Unknown W. Brackets
db8002f0e5 Add Winsock2 to Unittest (links in a report call.) 2013-04-19 08:42:41 -07:00
Henrik Rydgard
32f344d6bd Very basic internationalization. Does not work on Android yet due to location of ini files. 2013-04-18 12:06:26 +02:00
Henrik Rydgard
1c17c9138e Update native with my_isnan fix 2013-04-13 23:05:15 +02:00
Henrik Rydgard
46b2e15945 Set _CRT_SECURE_NO_WARNINGS 2013-03-16 09:17:39 +01:00
Henrik Rydgard
7b13477fda Add UnitTest project (only set up win build for now, lazy me)
This is for local testing of stuff that doesn't need to be tested
in context in the emulator.
Enable building ArmEmitter under any platform, just for testing.
2013-01-19 10:07:14 +01:00