LunaMoo
429bf5d8b3
Use $(DefaultPlatformToolset)_xp for easier VS builds with different toolsets.
2017-03-13 21:40:08 +01:00
Henrik Rydgard
b9b3a022fb
Switch another enum to enum class
2017-03-02 12:36:54 +01:00
Henrik Rydgard
a1ec735f6c
ARM64Emitter: Implement instructions to move data to/from SP
2017-01-26 14:23:42 +01:00
Florent Castelli
6852c602b9
glew: Move to ext
2016-12-18 21:13:45 +01:00
Unknown W. Brackets
419b960403
x86jit: Fix params in Replace_fabsf.
2016-05-31 10:40:14 -07:00
Unknown W. Brackets
afdd01571c
Uncouple savestates from NativeApp some.
...
Still have osm.
2016-05-27 20:41:37 -07:00
Unknown W. Brackets
2353cf6e85
Delete no longer needed linkage hacks.
2016-05-27 20:25:10 -07:00
Unknown W. Brackets
95d912c378
Get rid of the input_state global linkage.
2016-05-27 20:24:01 -07:00
Henrik Rydgard
ce8aae5ed1
Make the IRJit core selectable in developer tools
2016-05-08 01:43:27 +02:00
Henrik Rydgard
ffe4c266ef
Add CodeBlockCommon base class to remove further arch-specificity in JitBlockCache
...
Remove unused ArmThunk.
2016-05-01 11:40:00 +02:00
Henrik Rydgard
8b450c8034
Merge NativeJit.cpp/h with JitCommon.cpp/h
2016-05-01 11:39:59 +02:00
Henrik Rydgard
a5be0976bd
Remove preprocessor hacks to choose JIT implementation.
...
Opens up for having multiple JIT implementations available at runtime,
which could be use for experimenting with new JIT compiler types or for
unit testing one JIT on another architecture.
Very few of the newly virtual calls are on any sort of critical path so
hopefully there will not be a performance loss.
2016-05-01 11:39:53 +02:00
Henrik Rydgard
b7b0b59e9a
Update Vulkan headers to 1.0.5. Remove references to vulkan-1.lib as we load dynamically.
2016-03-20 19:31:02 +01:00
Henrik Rydgard
cfbecf5071
More progress
2016-03-20 19:26:41 +01:00
Henrik Rydgard
4ddca8607f
Further vulkan stuff
2016-03-20 19:26:12 +01:00
Henrik Rydgard
2a449f78bb
More vulkan fixing
2016-03-20 19:25:30 +01:00
Henrik Rydgard
c64064024d
Initial vulkan code.
...
This was squashed from nine commits but using old versions of Vulkan.
2016-03-20 19:18:35 +01:00
Henrik Rydgard
35b6c7341b
Fix a bunch of memory leaks, after enabling file+line-number memory leak tracking for the MS Debug CRT.
...
Few of these were serious, most were on-exit, but good to have a cleaner memory report after running.
2016-02-10 15:36:10 +01:00
Unknown W. Brackets
055aa0c881
Fix non-Windows unittest linking issue.
...
Fixes #8375 .
2016-01-03 12:31:14 -08:00
Henrik Rydgard
3398288bd0
Some cleanup around input_state
2016-01-01 14:40:18 +01:00
Henrik Rydgard
15de6e6b98
GraphicsContext: Abstract away things like swapbuffers etc before adding even more backends.
...
Needed to prevent clutter all over the codebase.
Does not go all the way yet, goal would be a common render loop between platforms but not there yet.
2016-01-01 14:40:16 +01:00
Henrik Rydgard
732b1239e7
Add some permission infrastructure, add an ugly button that asks you to grant STORAGE permission if necessary.
2015-12-17 22:41:50 +01:00
latot
afeb012d04
Add missing include files to unittest
2015-10-24 13:24:05 -03:00
LunaMoo
b909997a86
Typo correction
2015-09-24 01:15:20 +02:00
Henrik Rydgard
0f4df6c67b
Add some missing _ARCH_32 and _ARCH_64 definitions to MSVC project files.
...
Fixes obscure crash in Moppi PSP Flower homebrew.
2015-09-23 19:30:14 +02:00
Henrik Rydgard
3232e46c36
Make debug build nearly warning free in MSVC 2015
2015-09-17 22:02:15 +02:00
Henrik Rydgård
1e109a3b27
Add unittest for ParseLBN. Seems we already parse correctly.
...
See #7960
2015-09-12 11:21:54 +02:00
LunaMoo
1468432804
Update UnitTests.vcxproj
2015-09-07 10:02:39 +02:00
Unknown W. Brackets
85533dad6e
Native merge part 2: update build files.
...
And a couple minor stragglers.
2015-09-06 13:06:57 -07:00
Henrik Rydgard
fdea85138c
Update project files, fix minor issues for VS 2015
2015-09-06 19:32:15 +02:00
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